数据链路层
概述
- 数据链路层的三个主要问题
(1)封装成帧
(2)差错检测
(3)可靠传输
封装成帧
- 将上层交付的协议数据单元添加帧头和帧尾(包含控制信息和用于帧定界)
- 透明传输:数据链路层应该对上层交付的数据没有限制,如数据中出现了帧定界的字段,应当在数据后添加转义字符用于区分。(有字节填充和比特填充)
差错检测
- 奇偶校验
- 循环冗余校验 CRC
(1)收发双方约定好一个生成多项式(必须包含最低次项)
(2)发送方基于待发送的数据和生成多项式计算出差错检测码
构造被除数:待发送信息后面添加生成多项式最高次数个 0
构造除数:生成多项式各项系数构成的比特串
做“除法”
检查余数:余数的位数应该与生成多项式最高次数相同,如果不够就在前面补 0 ,然后拼接到待发送数据的末尾
差错检测:接收方用接收到的消息与除数做“除法”,如果余数不为 0 ,则出现误码
可靠传输
以下对于可靠传输实现机制的的基本原理并不局限于数据链路层,可应用到各层协议中
- 停止等待协议SW(常称为 ARQ自动请求重传)
(1)确认与否定
(2&#x