链路层的封装成帧和透明传输基本问题
【摘要】 链路层的封装成帧和透明传输基本问题封装成帧网络层向下传递的数据再添加上首部和尾部就成为了一个完整的帧。其中的首部和尾部是用来进行帧定界的。其中的数据部分应当尽可能大一点,但是由于差错控制等许多因素,我们应当限制数据部分的长度。实现帧定界有许多方法,其中比较容易的一种方法是以太网中使用的方法——在帧与帧之间加上时间间隔。另一种常用的方法是在各帧的起始处(终点处)加上帧开始标志(帧结束标志),这...
封装成帧
网络层向下传递的数据再添加上首部和尾部就成为了一个完整的帧。其中的首部和尾部是用来进行帧定界的。其中的数据部分应当尽可能大一点,但是由于差错控制等许多因素,我们应当限制数据部分的长度。实现帧定界有许多方法,其中比较容易的一种方法是以太网中使用的方法——在帧与帧之间加上时间间隔。另一种常用的方法是在各帧的起始处(终点处)加上帧开始标志(帧结束标志),这两个标志可相同可不相同。
这样就会出现一个问题?你想一想会是什么问题呢?
为了解决这个问题,我们使用字节填充(字符填充)或比特填充的方式。
透明传输
字节填充(字符填充)
就是在数据中出现的帧开始标志和帧结束标志前加上一个转义字符。这样接收端就不会把数据中的和帧开始标志或帧结束标志相同的数据识别为帧开始标志或帧结束标志。而如果数据中有转义字符的话,就在转义字符前加上转义字符。
比特填充
PPP协议采用的就是比特填充,它的开销更小。它是在数据中出现5个连续的1时就立刻填充一个0,因为它用“01111110”来表示帧定界标志,而5个1后面加0就会避免出现6个连续的1。当接收端遇到5个连续的1就将后面的0删除,来还原原来的比特流。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)