3.1.2三个基本问题(1)封装成帧(2)透明传输(3)差错控制11
3.1.2 三个基本问题 (1) 封装成帧 (2) 透明传输 (3) 差错控制 11
1.封装成帧封装成帧(framing)就是在一段数据的前后分别添加首部和尾部然后就构成了一个顿。确定顿的界限。首部和尾部的一个重要作用就是进行帧定界IP数据报开始顿结束开始顿尾部顿首部的数据部分发送≤MTU数据链路层的顿长12
1. 封装成帧 ◼ 封装成帧(framing)就是在一段数据的前后分别添加首部和尾部, 然后就构成了一个帧。确定帧的界限。 ◼ 首部和尾部的一个重要作用就是进行帧定界。 帧结束 帧首部 IP 数据报 帧的数据部分 帧尾部 MTU 数据链路层的帧长 开始 发送 帧开始 12
用控制字符进行顿定界的方法举例顿开始符帧结束符SOH装在帧中的数据部分EOT顿发送在前13
用控制字符进行帧定界的方法举例 SOH 装在帧中的数据部分 帧 帧开始符 帧结束符 发送在前 EOT 13
2.透明传输出现了“EOT”完整的顿发送数据部分在前EOTSOHEOT被接收端被接收端当作无效顿而丢弃误认为是一个顿14
2. 透明传输 SOH EOT 出现了“EOT” 被接收端 被接收端当作无效帧而丢弃 误认为是一个帧 数据部分 EOT 完整的帧 发送 在前 14
解决透明传输问题发送端的数据链路层在数据中出现控制字符“SOH"或“EOT"的前面插入一个转义字符“ESC(其十六进制编码是1B)。字节填充(bytestuffing)或字符填充(characterstuffing)一一接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。15
解决透明传输问题 ◼ 发送端的数据链路层在数据中出现控制字符 “SOH”或“EOT”的前面插入一个转义字符 “ESC”(其十六进制编码是 1B)。 ◼ 字节填充(byte stuffing)或字符填充(character stuffing)——接收端的数据链路层在将数据送往网 络层之前删除插入的转义字符。 ◼ 如果转义字符也出现数据当中,那么应在转义字 符前面插入一个转义字符。当接收端收到连续的 两个转义字符时,就删除其中前面的一个。 15