Skip to main content

第五章 数据链路层

5.1 数据链路层的功能与作用

数据链路层是网络分层模型中的第二层,主要负责在相邻节点间提供可靠的数据传输服务,其功能包括:

  • 帧的封装与解封装:将网络层的数据分组封装成帧并处理收到的帧。
  • 错误检测与纠正:通过校验机制检测并尝试纠正传输中的错误。
  • 流量控制与拥塞控制:管理数据传输速度,防止缓冲区溢出。
  • 介质访问控制(MAC):控制多个设备共享通信介质的访问权限。

5.2 帧的格式与结构

帧是数据链路层传输的基本单位,其一般结构包括以下部分:

  1. 帧头(Header):包含源地址、目的地址和控制信息。
  2. 数据(Payload):实际承载的网络层数据。
  3. 帧尾(Trailer):用于错误检测(如循环冗余校验CRC)。

示例帧结构:

字段内容作用
帧头源地址、目的地址、控制信息标识发送方、接收方及控制信息
数据网络层数据实际传输内容
帧尾CRC校验码检测传输错误

5.3 数据链路层协议

  • 特点:面向比特流的同步协议,支持全双工通信。
  • 应用:广泛用于点对点和多点链路。

5.3.2 PPP(Point-to-Point Protocol)

  • 特点:面向字符的协议,支持多种网络层协议。
  • 应用:常用于电话拨号连接和DSL网络。

5.3.3 Ethernet(以太网)

  • 特点:广泛使用的局域网技术,支持多种数据速率。
  • 应用:局域网(LAN)连接的主流协议。

5.4 错误检测与纠正

5.4.1 错误检测方法

  • 奇偶校验:通过奇数或偶数个1的位数检查错误。
  • 循环冗余校验(CRC):通过生成多项式检测错误。
  • 校验和:对数据的所有字节求和并传输总和值。

5.4.2 错误纠正方法

  • 自动重传请求(ARQ):检测到错误后重新发送帧。
  • 前向纠错(FEC):通过附加冗余信息在接收端直接纠正错误。

5.5 链路控制

5.5.1 流量控制

  • 定义:协调发送方和接收方的传输速度,避免缓冲区溢出。
  • 方法
    • 停止-等待协议(Stop-and-Wait Protocol)
    • 滑动窗口协议(Sliding Window Protocol)

5.5.2 拥塞控制

  • 定义:防止网络因过多的数据流而出现拥堵。
  • 方法
    • 网络层与数据链路层的联合优化。
    • 队列管理机制,如尾丢弃(Tail Drop)和加权公平队列(WFQ)。

5.6 MAC(介质访问控制)协议

介质访问控制(MAC)协议负责协调多个设备在共享通信媒介上的访问,其主要类型包括:

5.6.1 随机访问协议

  • 特点:设备以随机方式访问介质。
  • 示例
    • ALOHA:简单但效率较低。
    • CSMA/CD:以太网中使用的载波监听多路访问及冲突检测。

5.6.2 受控访问协议

  • 特点:通过分配权限来避免冲突。
  • 示例
    • 令牌环协议(Token Ring)
    • 轮询机制(Polling)

5.6.3 信道划分协议

  • 特点:通过分割时间、频率或代码实现介质共享。
  • 示例
    • 时分多址(TDMA)
    • 频分多 址(FDMA)
    • 码分多址(CDMA)