2.透明传输 ·如果数据中的某个字节的二进制代码恰好和SOH或 EOT一样,数据链路层就会错误地“找到帧的边 界” 出现了“EOT” 完整的帧 发送 数据部分 在前 SOH EOT EOT 被接收端 被接收端当作无效帧而丢弃 误认为是一个帧 数据部分恰好出现与EOT一样的代码 3.数据链路 17
解决透明传输问题 ·解决方法:字节填充(byte stuffing)或字符填充 (character stuffing) ·发送端的数据链路层在数据中出现控制字符“SOH” 或“EOT”的前面插入一个转义字符“ESC”(其十六进 制编码是1B)。 ·接收端的数据链路层在将数据送往网络层之前删除 插入的转义字符。 。1 如果转义字符也出现在数据当中,那么应在转义字 符前面插入一个转义字符ESC。当接收端收到连续的 两个转义字符时,就删除其中前面的一个。 3.数据链路 18
用字节填充法解决透明传输的问题 帧开始符 帧结束符 原始数据 SOH EOT SOH ESC SOH EOT 字节填充 字节填充 字节填充 字节填充 SOH ESC EOT ESC SOH ESC ESC ESC SOH EOT 经过字节填充后发送的数据 发送 在前 用字节填充法解决透明传输的问题 3.数据链路 19
3.差错检测 ·在传输过程中可能会产生比特差错:1可能会变 成0而0也可能变成1。 ·在一段时间内,传输错误的比特占所传输比特总 数的比率称为误码率BER(Bit Error Rate). ·误码率与信噪比有很大的关系。 ·为了保证数据传输的可靠性,在计算机网络传输 数据时,必须采用各种差错检测措施。 3.数据链路 20
循环冗余检验的原理 ·在数据链路层传送的帧中,广泛使用了循环冗余 检验CRC的检错技术 。 ·在发送端,先把数据划分为组。假定每组k个比 特。 ·假设待传送的一组数据M=101001(现在k= 6)。我们在M的后面再添加供差错检测用的n 位冗余码一起发送。 3.数据链路 21