差错检测¶
来源:
计算机网络 / 数据链路层/差错检测.md
差错类型¶
比特差错¶
比特在传输过程中出现差错, 0 和 1 发生变化
传输差错¶
- 帧丢失 1-3 丢失2
- 帧重复 1-2-2-3 收到2个2
- 帧失序 收到1-3-2,后发送的帧先到达
误码率BER¶
传输错误的比特数占传输比特的总数的比率
CRC校验¶
见CRC校验 FCS(帧检验序列) 都是在硬件层面完成的 ==CRC校验可以检测所有单比特错误
数据链路层“无差错接收”和“可靠传输”的区别¶
通过CRC,只能做到帧的无差错接受,凡是接受端数据链路层接受的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错。接收端丢弃的帧虽然曾收到了,但最终还是因为差错被丢弃
也就是,凡是接受端数据链路层接受的帧均无差错
但这并不意味数据链路层向网络层提供可靠传输, 可靠传输就是,数据链路层的发送端发送什么,接收端就收到什么
CRC校验只能保证无比特差错传输
过去OSI认为数据链路层必须向上提供可靠传输,但现在区别对待
通信质量良好的有线传输链路,数据链路层协议不使用确认和重传机制,而是由上层协议如TCP协议来完成
通信质量较差的无线传输链路,则使用确认和重传机制 如高级数据链路控制HDLC(也使用零比特填充)