计算机网络——数据链路层(三个基本问题)

计算机网络数据链路层的三个基本问题
(1) 封装成帧
(2) 透明传输
(3) 差错控制

一、封装成帧

封装成帧 (framing) 就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。
首部和尾部的一个重要作用就是进行帧定界
计算机网络——数据链路层(三个基本问题)_第1张图片
是数据链路层的数据传送单元,一个帧的帧长等于帧的数据部分长度加上帧首部和帧尾部的长度。

为了提高帧的传输效率,应该使帧的数据部分长度尽可能地大于首部和尾部的长度。

二、透明传输

如果数据中的某个字节的二进制代码恰好和 SOHEOT 一样,数据链路层就会错误地“找到帧的边界”。
计算机网络——数据链路层(三个基本问题)_第2张图片
解决方法:字节填充 (byte stuffing)字符填充 (character stuffing)

发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC” (其十六进制编码是 1B)。
接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符 ESC。当接收端收到连续的两个转义字符时,就删除其中前面的一个。

计算机网络——数据链路层(三个基本问题)_第3张图片

三、差错检测

1、在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。
2、在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。
3、误码率与信噪比有很大的关系。
4、为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。

具体方法,请查看另一篇博文《计算机网络——数据链路层(循环冗余检验)》

你可能感兴趣的:(计算机网络,计算机网络)