网络层是计算机网络体系结构中的核心层次之一,负责将数据包从源主机跨越多跳网络设备传送到目的主机。本章主要探讨网络层的核心功能、关键协议以及相关技术。
一、网络层的核心功能
网络层主要实现以下三个核心功能:
- 转发:当一个数据包到达路由器的输入链路时,路由器必须将其移动到适当的输出链路。这是一个数据平面(Data Plane)的功能,通常在硬件中高速实现。
- 路由:确定数据包从源到目的地所采用的端到端路径。这是控制平面(Control Plane)的功能,通过路由算法计算并维护路由表。
- 连接建立:某些网络层架构(如ATM、MPLS)在数据传输前需要在源和目的地之间建立连接(虚电路),这是一种面向连接的服务。而互联网采用的IP协议则是无连接的。
二、网络层服务模型
网络层为传输层提供的服务模型主要有两种:
- 虚电路网络:模仿电路交换网络,在数据传输前建立一条逻辑连接(虚电路)。数据包沿此固定路径传送,并按序到达。
- 数据报网络:每个数据包(数据报)独立路由,携带完整的目的地址。网络不保证传送顺序和可靠性,由上层(如传输层)负责处理。互联网是典型的数据报网络。
三、路由器工作原理
路由器是实现网络层功能的关键设备,其核心组件包括:
- 输入端口:执行物理层和链路层功能,进行数据包查找与转发。
- 交换结构:连接输入与输出端口,常见类型有经内存交换、经总线交换和经互连网络交换。
- 输出端口:从交换结构接收数据包,执行链路层和物理层功能,并将其发送到链路上。
- 路由处理器:执行路由协议,维护路由表和转发表(FIB)。
四、网际协议(IP)
IP协议是互联网网络层的核心,其核心要素包括:
- IPv4数据报格式:由首部和数据部分组成。首部包含版本、首部长度、服务类型、总长度、标识、标志、片偏移、生存时间(TTL)、协议、首部校验和、源IP地址和目的IP地址等关键字段。
- IPv4编址:采用点分十进制表示法,分为网络前缀和主机号。分类编址(A、B、C类)已基本被无类别域间路由(CIDR)所取代。CIDR采用
a.b.c.d/x的格式表示地址块,实现了更高效的地址分配和路由聚合。 - 动态主机配置协议(DHCP):为主机动态分配IP地址、子网掩码、默认网关和DNS服务器地址。
- 网络地址转换(NAT):允许一个局域网使用一个公共IP地址接入互联网,通过NAT转换表将内部私有地址映射为公共地址和端口号。
- 网际控制报文协议(ICMP):用于主机和路由器之间沟通网络层信息,如错误报告(目的不可达、超时)和网络探测(ping, traceroute)。
五、路由算法
路由算法的目标是找到从源到目的地的最小成本路径。主要分为两大类:
- 链路状态路由算法(LS):如Dijkstra算法。每个路由器掌握完整的网络拓扑和链路成本信息,独立计算到所有目的地的最短路径树。
- 距离向量路由算法(DV):如Bellman-Ford算法。每个路由器维护到所有目的地的距离向量表,并与邻居周期性地交换信息,迭代更新自己的路由表。
六、因特网中的路由
互联网采用层次化路由,将庞大的网络划分为自治系统(AS):
- 自治系统内部路由:在同一个AS内运行内部网关协议(IGP),如:
- 路由信息协议(RIP):基于距离向量算法,使用跳数作为度量。
- 开放最短路径优先(OSPF):基于链路状态算法,广泛应用于大型企业网络和ISP。
- 自治系统间路由:在不同AS之间运行外部网关协议,主要是边界网关协议(BGP)。BGP是一种路径向量协议,允许AS管理员制定复杂的路由策略(如商业考量),是“互联网的粘合剂”。
七、IPv6
为应对IPv4地址耗尽等问题,IPv6被设计出来,其主要特点包括:
- 128位地址空间,地址数量极其庞大。
- 简化的固定长度(40字节)首部,提高处理效率。
- 内置对服务质量、安全性和自动配置的支持。
八、软件定义网络(SDN)简介
SDN是一种新兴的网络架构范式,其核心思想是将网络的控制平面(逻辑上集中式的控制器)与数据平面(简单的转发设备)分离。控制器通过南向接口(如OpenFlow)对交换机进行编程,从而实现灵活、可编程的网络管理。
****:网络层是实现主机到主机通信的基石。它通过IP协议提供寻址和转发服务,通过路由协议和算法构建通往全球互联网的路径。理解网络层的工作原理,是深入掌握计算机网络的关键。