封装成帧、透明传输和差错检测
(1)封装成帧
- 帧:数据前后添加首部、尾部
- 数据部分:网络层的IP数据报
- 长度受最大传送单元MTU的限制
- 数据链路层的数据传送单元
- 帧长:数据部分长度加上帧首部和帧尾部的长度
- 进行差错检验
- 数据部分:网络层的IP数据报
- 首部、尾部
- 帧定界:接收端在收到物理层上交的比特流,根据首部和尾部的标记,识别帧的开始和结束
- 发送帧:帧首部开始
每一种链路层协议都规定了所能传送的帧的数据部分长度上限一最大传送单元MTU (Maximum Transfer Unit)
(2)透明传输
表示无论什么样的比特组合的数据,都能够按照原样没有差错地通过这个数据链路层
- 解决方法:字节填充、字符填充
(3)差错检测
数据链路层检错技术:循环冗余检验CRC (Cyclic Redundancy Check)
-
帧检验序列FCS (Frame Check Sequence):为了进行检错而添加的冗余码
n位冗余码:数据M(K位)后面添加n个0,得到的二进制数除以除数P(n+1位)(模2运算),得到余数是R(n位)
余数R作为冗余码,拼接在数据M后
除数:除数(n+1)位,数据后填加n位0,余数R(n位)
-
CRC检验:在接收端,把每一个帧都除以同样的除数P (模2运算),然后检查得到的余数R。
- 为0:传输过程中无差错
- 能够实现无比特差错传输,但不是可靠传输
可靠传输:数据链路层的发送端发送什么,在接收端就收到什么。
-
传输差错:
- 其中一种是比特差错
- 无比特差错,但却出现了帧丢失、帧重复或帧失序