在计算机网络的五层参考模型中,网络层(Network Layer)扮演着承上启下、至关重要的角色。它位于数据链路层之上,传输层之下,是主机到主机通信的关键,也是实现大规模网络互联的核心。本章将深入剖析网络层的核心功能、关键技术以及核心协议。
一、网络层的核心功能与设计思路
网络层的主要任务是将数据包(Packet)从源主机通过一系列中间节点(路由器)路由(Routing) 和转发(Forwarding) 到目的主机。这主要解决两大核心问题:
- 路由选择:即确定数据包从源到目的所经过的完整路径(或路径的一部分)。这依赖于路由算法和路由协议,是一个全局性的、相对慢速的“规划”过程。
- 分组转发:即路由器根据其转发表(Forwarding Table),将接收到的数据包从合适的端口发送出去。这是一个本地性的、快速执行的“动作”过程。
网络层的设计有两种基本思路:
- 面向连接的虚电路(Virtual Circuit)服务:通信前先建立一条逻辑连接(虚电路),所有分组沿此固定路径传送,类似电话系统。现已较少使用。
- 无连接的数据报(Datagram)服务:每个分组独立选择路由传输,网络层不保证可靠性。这是当今互联网(IP协议)所采用的方式,简单、灵活、健壮。
二、核心协议:网际协议IP
IP协议是TCP/IP协议栈的核心,也是网络层的核心协议。当前主要版本是IPv4。
- IPv4数据报格式:理解IP数据报的首部各字段含义至关重要,特别是:
- 版本、首部长度、总长度:标识协议版本和数据包大小。
- 标识、标志、片偏移:用于数据包分片与重组。
- 生存时间(TTL):防止数据包在网络中无限循环,每经过一个路由器减1,为0时丢弃。
- 协议:指示上层协议(如TCP-6,UDP-17)。
- 首部检验和:只校验首部,不校验数据部分。
- 源IP地址和目的IP地址:32位的逻辑地址,是路由转发的依据。
- IP地址与子网划分:
- 分类IP地址(A、B、C、D、E类):早期方案,浪费严重。
- 划分子网(Subnetting):在单位内部将一个大的网络号划分成更小的子网,提高了IP地址利用率。通过子网掩码(Subnet Mask) 来区分网络号和主机号。
- 构成超网(CIDR,无分类域间路由):将多个连续的网络前缀合并为一个更大的地址块,有效减少了路由表项,是当前主流方案。采用“斜线记法”(如192.168.1.0/24)。
- 地址解析协议(ARP):解决IP地址到数据链路层MAC地址的映射问题。主机通过广播ARP请求,目标主机回复其MAC地址。
三、IP层转发与路由协议
- 分组转发流程:路由器收到一个IP数据报后,执行以下步骤:
- 提取目的IP地址。
- 判断是否直接交付(与接口在同一网络)。
- 若需间接交付,则查询转发表。转发表通常由目的网络地址(而非单个主机地址)、下一跳地址和出口接口组成。
- 通过最长前缀匹配原则找到最具体的路由条目,将数据包转发给下一跳路由器。
- 路由协议:用于路由器之间交换路由信息,动态生成和维护转发表。
- 内部网关协议(IGP):在自治系统(AS)内部使用。
- RIP(路由信息协议):基于距离向量算法,以跳数作为度量,最大跳数为15。定期与邻居交换整个路由表。简单但收敛慢,适用于小型网络。
- OSPF(开放最短路径优先):基于链路状态算法。路由器向全网泛洪自己的链路状态信息,每个路由器都能构建出全网的拓扑图,并独立使用Dijkstra算法计算最短路径树。收敛快,适用于大型网络。
- 外部网关协议(EGP):在自治系统之间使用。
- BGP(边界网关协议):基于路径向量算法。考虑的是策略(如政治、经济、安全)而不仅仅是距离。用于在不同ISP之间交换路由信息,是互联网的“骨架”协议。
四、重要辅助与相关技术
- 网际控制报文协议(ICMP):用于传递网络层的控制信息和差错报告,是IP协议的重要辅助。例如,
ping命令使用ICMP回送请求/应答报文测试连通性;tracert命令利用ICMP超时和终点不可达报文来跟踪路由。
- IPv6:为解决IPv4地址耗尽问题而设计。主要特点:
- 地址空间巨大(128位)。
- 首部格式简化,固定40字节,提高处理效率。
- 支持即插即用和更好的安全性(IPSec是内置选项)。
- IP组播:实现一对多的高效数据传输。使用D类IP地址作为组播地址。需要网际组管理协议(IGMP) 和组播路由协议(如PIM)的支持。
- 移动IP:允许移动节点在不改变IP地址的前提下,在不同网络间移动并保持通信连续性。涉及家乡代理、外地代理和转交地址等概念。
- 网络地址转换(NAT):将私有IP地址转换为公有IP地址,使大量内网主机可以共享少量公网IP访问互联网,缓解了IPv4地址短缺问题。
五、本章学习要点
对于考研复习,网络层是重中之重,需重点掌握:
- 深刻理解路由器转发分组的完整过程(包括ARP查询、转发表查询等)。
- 熟练掌握IP地址、子网掩码、CIDR、网络前缀的计算与划分。
- 对比掌握RIP和OSPF协议的工作原理、特点与差异。
- 理解ICMP、NAT、IPv6等技术的原理与作用。
- 能够分析网络层的典型问题,如路由环路、地址分配等。
网络层作为数据转发的核心枢纽,其协议的复杂性与设计的精巧性,共同构筑了全球互联网的基石。深入理解这一层,是掌握计算机网络整体架构的关键。