2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 数据链路层:封装成帧 透明传输 差错检测

数据链路层:封装成帧 透明传输 差错检测

时间:2022-09-22 02:01:17

相关推荐

数据链路层:封装成帧 透明传输 差错检测

从整个互联网来看,局域网仍属于数据链路层的范围。

链路 VS 数据链路

链路:从一个结点到相邻结点的一段物理链路。

数据链路:物理线路+实现通信协议的硬件和软件。(早期通信协议也称通信规程)

另一种分类:

把链路分为物理链路和逻辑链路。

此处的物理链路即上一种分类中的链路,此处的逻辑链路即上一种分类中的数据链路

:数据链路层的协议传输单元

步骤:(包含三个关键点:封装成帧、透明传输、差错检测)

结点A把网络层接收到的IP数据报添加首部尾部构成帧

封装成帧:在一段数据前添加首部(SOH)和尾部(EOT)信息

SOH:start of head,十六进制编码为0x01,不是指s、o、h三个字符

EOT:end of transmission,十六进制编码为0x04

帧长:数据部分长度+首部长度+尾部长度

MTU:指数据部分的长度上限,不包括首部尾部

结点A把封装好的帧发送给结点B的数据链路层

透明传输:指数据链路层对这些数据来说是透明的,即无论什么样的比特组合,都能按照原样没有差错的通过这个数据链路层

字节填充或字符填充:为了使数据中出现的SOH,EOT不被解释为控制字符,在其前面使用转义字符ESC,十六进制编码为0x1B

结点B对接收到的帧进行差错检测,若没有问题就交付给上层网络层,否则丢弃。

误码率:BER(bit error rate)

循环冗余校验:例如要传送的数据M=101001,这个数字有K=6个比特。通信双方约定一个数字P,假设P为1101,P有4位,令n=4-1=3位。接下来用101001000(即M后面增加三个零)除以约定的P,得到商为110101(没有什么用)和余数001(需要用)。

冗余码:刚才算出来的余数

帧检验序列(FCS):为了进行检错而添加冗余码

发送的数据是101001001,即原数据并在后面添加帧检验序列。

CRC是一种检错方法,而FCS是后面添加的冗余码。两者并不一样。

发送端帧检测序列FCS的生成和接收端的CRC检验都是通过硬件完成的,处理很迅速,因此不会延误数据的传输。

注意:这并不代表数据链路层实现了可靠传输

如图所示,对于每一个分段来说,检测CRC检验结果都为0,接受之后,仍可能出现失序、丢失、重复等问题。

所以无比特差错和无传输差错并不是相同的概念

另外:CRC循环冗余校验只能判定帧有无错误,而不知道哪一位或哪几位有错,也不提供纠错功能。

现在互联网采用了区别对待的方法:

对于通信质量良好的有线传输链路:数据链路层协议不使用确认和重传机制,即不向上层提供可靠传输服务。

对于通信质量较差的无线传输链路:数据链路层协议使用确认和重传机制,即向上层提供可靠的传输服务。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。