计算机网络知识点整理(4):网络层之数据平面

Last updated on May 18, 2025 pm

这是SJTU-CS3611《计算机网络》课程的知识点整理系列。本文整理部分为“第4章:网络层之数据平面”。

4.1 网络层概述

  • 核心功能
    • 转发:路由器根据转发表将分组转移到适当的输出链路
      • 路由器本地操作,时间尺度短,通常用硬件实现,数据平面执行
    • 路由:确定分组从源到目的地所采取的端到端路径
      • 网络范围,时间尺度长,通常用软件实现,控制平面执行
  • 控制平面的实现方法
    • 路由选择算法决定了路由器转发表的内容
    • 传统方法:路由选择算法运行在每台路由器中
    • SDN 方法:远程控制器计算并分发转发表给路由器
  • 网络服务模型:因特网仅提供尽力而为服务(无到达、时延、顺序、带宽保证)

4.2 路由器

4.2.1 路由器结构

  1. 输入端口
    • 物理层 / 链路层处理
    • 转发表查询(查找输出端口)
  2. 交换结构:将输入端口连接到输出端口
  3. 输出端口
    • 存储从交换结构接收的分组
    • 链路层 / 物理层处理
  4. 路由处理器:执行控制平面功能
    • 传统路由器中:执行路由选择协议,为该路由器计算转发表
    • SDN 路由器中:与远程控制器通信,接收和安装转发表项

4.2.2 输入端口处理

  • 转发类型
    • 基于目的地的转发:仅基于目的地 IP 地址进行转发
    • 广义转发:根据任何一组报头字段的值进行转发
  • 转发表查找
    • IP 地址匹配规则:最长前缀匹配
    • 硬件加速:三态内容寻址存储器(TCAM)

4.2.3 交换

  • 交换速率NN 个输入时希望的交换速率为 NN 倍的线路速率
  • 交换结构
    • 经内存交换:CPU 直接控制,受内存带宽限制
    • 经总线交换:共享总线,受总线带宽限制
    • 经互连网络交换:纵横式交换机,并行非阻塞

4.2.4 排队

  • 输入端口排队:数据报到达速度超过交换结构的转发速率
    • 输出端口争用:交换结构一次只能传送一个分组到某指定端口
    • HOL 阻塞:队首分组阻塞后续分组
  • 输出端口排队:数据报从交换机结构到达的速度超过链路传输速率
    • 丢包:分组可能因缓冲区溢出而丢失
    • 缓冲区管理
      • 丢弃策略:缓冲区已满时丢弃哪个数据包(尾部丢弃、优先级丢弃)
      • 标记:使用明确拥塞通告比特的方法标记分组
    • 调度规则:在排队的数据包中选择以进行传输
  • 缓冲区大小
    • 传统B=RTTCB = RTT \cdot CCC 为链路容量)
    • 改进B=RTTC/NB = RTT \cdot C / \sqrt{N}NN 为并发流数)
    • 更大的缓冲区会增大排队时延

4.2.5 分组调度

  • 先来先服务(FCFS):即先进先出(FIFO)
  • 优先级调度
    • 到达的流量按优先级进行分类并排队
    • 从已缓存数据包的最高优先级队列发送数据包
  • 循环调度:循环扫描各类队列,依次发送每个类的一个数据包
  • 加权公平队列调度(WFQ):每个类有最低带宽保证

4.3 IP 协议

4.3.1 IPv4 数据报格式

IPv4 数据报格式

  • 首部长度:以 4B 为单位,一般为 20B
  • 数据报长度:16 比特,以字节为单位,包含首部
  • 标志、标识、片偏移:与 IP 分片有关
    • 链路层的最大传输单元(MTU)限制了 IP 数据报长度
    • 大的 IP 数据报被分片,到目的地后重新组装
    • 片偏移以 8B 为单位
  • 寿命(TTL):剩余的最大跳数,在每个路由器处递减,防止环路
  • 首部检验和:只检验数据报的首部

4.3.2 IP编址与子网划分

  • IP地址:长度 32 比特,与接口相关联,常以点分十进制表示
    • 接口:指主机与物理链路之间的边界
    • IP 广播地址:255.255.255.255
  • 子网:一个网络中的一组主机,共享相同的 IP 地址前缀
  • 子网掩码:表明 IP 地址中的子网部分(全1)和主机部分(全0)
    • 子网地址 = IP 地址 \land 子网掩码
  • IP 编址
    • 分类编址:具有 8、16 和 24 比特子网地址的子网分别被称为 A、B 和 C 类网络
    • 无类别域间路由选择(CIDR):
      • 地址格式a.b.c.d/x,x 表示子网地址部分的位数(即前缀长度)
      • 优势:提高 IP 地址利用率、缩短转发表长度
  • 路由聚合:使用单个网络前缀通告多个网络,需要匹配最长前缀
  • DHCP(动态主机配置协议)
    • 作用:给主机动态地分配 IP 地址(即插即用)
    • 应用层协议:基于 UDP
    • 配置流程
      1. 发现:客户端广播 DHCP 发现报文
        • 源地址:0.0.0.0,目的地址:255.255.255.255
      2. 提供:DHCP 服务器广播 DHCP 提供报文
        • 报文包含推荐的 IP 地址、网络掩码、IP 地址租用期等
      3. 请求:客户端发送 DHCP 请求报文
      4. 确认:DHCP 服务器发送 DHCP ACK 报文

4.3.3 NAT(网络地址转换)

  • 效果:对外部世界而言,本地网络中的所有设备共享一个 IP 地址
  • 工作原理
    1. 本地网络中的所有设备使用私有 IP 地址(10/8、172.16/12、192.168/16)
    2. 路由器维护 NAT 转换表(源 IP 地址:端口号 \leftrightarrow NAT IP 地址:新端口号)
    3. 路由器对传出和传入的数据报做地址转换
  • 优势:地址复用、管理灵活、安全性增强
  • 争议:违反端到端原则(网络层操纵端口号)、NAT 穿透难题

4.3.4 IPv6

  • 数据报格式变化
    • 扩大地址容量:128 位 IP 地址
    • 简化首部:固定 40B,移除校验和、分片、选项字段
    • 增加优先级和流标签
  • 过渡技术
    • 隧道技术:IPv6 数据报作为 IPv4 数据报的有效载荷在 IPv4 路由器之间传输

4.4 广义转发与中间盒

4.4.1 广义转发

  • 核心思想:匹配 + 动作
    • 匹配:基于多层次(传输层、网络层、链路层)的首部字段进行模式匹配
    • 动作:转发、丢弃、修改字段等
  • 流表:匹配加动作转发表
    • 来源:由远程控制器计算和分发
    • 表项结构:首部字段的匹配模式值 + 优先级 + 计数器 + 操作
  • 特点:具有可编程性,抽象化统一了不同类型的设备(负载均衡器、防火墙等)

4.4.2 中间盒(Middlebox)

  • 定义:在源主机和目的主机之间数据路径上执行除 IP 路由器的正常标准功能之外的功能的任何中间盒
  • 常见类型:防火墙、负载均衡器、NAT 网关等
  • 主要服务:NAT 转换、安全服务、性能增强
  • 网络功能虚拟化(NFV):通用硬件 + 可编程服务

计算机网络知识点整理(4):网络层之数据平面
https://cny123222.github.io/2025/04/25/计算机网络知识点整理-4-:网络层之数据平面/
Author
Nuoyan Chen
Posted on
April 25, 2025
Licensed under