1. 引言
数据链路层是计算机网络的第二层,位于物理层之上,网络层之下。它主要负责物理层提供的原始比特流转换成有意义的数据帧,以便网络层使用。这层不仅包括帧的封装,还涉及帧的正确、可靠传输,包括差错检测、纠正和帧的路由。本文将深入探讨数据链路层的核心组成,包括帧结构、差错检测与纠正、以及MAC地址和帧转发的机制。
2. 帧结构
在数据链路层,数据帧是传输信息的基本单位。一个典型的数据帧结构包括以下几个部分:
- 帧起始和结束标志:标识一个帧的开始和结束,常用特定的比特模式,例如HDLC(High-Level Data Link Control)协议中的01111110。
- 地址字段:指示帧的发送者和接收者。在点对点通信中,这个字段可以是源和目的地址。
- 控制字段:控制数据传输的方式,如确认、流量控制和帧编号等。
- 数据字段:包含上层网络传下来的数据。其长度可以固定也可以变化。
- 差错检测字段:通常使用循环冗余检查(CRC)来实现,确保数据在传输过程中的完整性。
3. 差错检测与纠正
数据链路层提供两种基本服务:差错检测和差错纠正。
-
差错检测:最常用的方法是CRC。在发送端,数据帧的数据部分和地址信息通过一个预定义的多项式进行计算,得到一个CRC值,这个值被添加到帧尾部。在接收