logo
导航

数据链路层基础概念

数据链路层概述

数据链路层是 OSI 参考模型中的第二层,主要负责在相邻节点之间可靠地传输数据帧。

1. 数据链路层功能

组帧

将比特流划分为帧,便于管理和差错检测。组帧是数据链路层的基本功能,确保接收方能正确识别帧的边界。

差错控制

  • 检错:奇偶校验、循环冗余校验(CRC)
  • 纠错:海明码等纠错编码

流量控制

防止发送方发送过快,导致接收方缓冲区溢出。常用滑动窗口机制。

可靠传输

通过确认与重传机制,确保数据可靠传输。

介质访问控制

多站共享信道时的访问规则,解决信道争用问题。

2. 组帧方法

字节计数法

在帧首部添加字节计数字段,指明帧的长度。

字符填充法

使用特殊字符作为帧边界,对数据中的特殊字符进行转义。

比特填充法

使用特殊的比特模式作为帧边界,对数据中的相同模式进行比特填充。

违例法

使用物理层不允许的编码作为帧边界。

3. 差错控制

检错编码

奇偶校验

  • 奇校验:数据位中 1 的个数为奇数时,校验位为 0
  • 偶校验:数据位中 1 的个数为偶数时,校验位为 0

循环冗余校验(CRC)

  • 使用生成多项式对数据多项式进行模运算
  • 余数作为校验码附加到数据后
  • 接收方用相同多项式验证

纠错编码

海明码

  • 在数据位中插入校验位
  • 校验位的位置为 2 的幂次方
  • 能够检测和纠正单比特错误

练习题

练习 1

简述数据链路层的主要功能。

参考答案

数据链路层的主要功能包括:

  1. 组帧:将比特流划分为帧,便于管理和差错检测
  2. 差错控制:检错(奇偶校验、CRC)、纠错(海明码)
  3. 流量控制:防止发送方过快,常用滑动窗口
  4. 可靠传输:确认与重传机制
  5. 介质访问控制:多站共享信道时的访问规则

练习 2

CRC 检错的基本思想是什么?

参考答案

CRC 检错的基本思想:

  1. 发送方:用生成多项式对数据多项式取模,余数作为校验码附加到数据后
  2. 传输:发送数据+校验码
  3. 接收方:用相同生成多项式对接收到的数据+校验码进行模运算
  4. 判断:如果余数为 0,则认为无错误;否则认为有错误

CRC 能够检测出突发错误和随机错误,检错能力强。