计算机网络 第三章: 封装成桢和透明传输

文章目录

封装成帧

封装成帧是指数据链路层给上层交付下来的协议数据单元PDU添加一个首部和一个尾部,使之成为帧。

  • 帧的首部和尾部中包含有一些 重要的控制信息。
  • 帧首部和尾部的作用之一就是帧定界。


接收方的数据链路层如何从物理层交付上来的比特流中提取出一个个的帧???

???


为了提高数据链路层传输帧的效率,应当使帧的数据载荷的长度尽可能地大于首部和尾部的长度。

考虑到对缓存空间的需求以及差错控制等诸多因素,每一种数据链路层协议都规定了帧的数据载荷的长度上限,即最大传送单元(Maximum Transfer Unit,MTU)。例如,以太网的MTU为1500个字节。

透明传输

透明传输是指数据链路层对上层交付下来的协议数据单元PDU没有任何限制,就好像数据链路层不存在一样。

反例 下图就演示了接收方不能正常收到桢信息的案例. 不满足透明传输.

措施:

发送方在把桢交给物理层之前, 对桢的数据载荷进行扫描, 每出现一个桢定界符, 就在其前面插入一个转义字符. 接收方的数据链路层在物理层交付的比特流中提取帧时, 遇到转义字符就知道了其后面是数据而不是帧定界符.

上面的措施似乎不错呢, 解决了透明传输的问题. 那么此时如果数据载荷本身中既包含帧定界符又包含转义字符, 阁下又该如何应对呢?

  • 面向字节的物理链路使用字节填充的方法实现透明传输。

  • 面向比特的物理链路使用比特填充的方法实现透明传输。

注意上面的两种方法并不是所有的协议采用的方法, 还有其他的 这里就不介绍了.

发送方的数据链路层将数据发送给物理层前先对数据载荷进行扫描, 发现连续5个比特1, 就在其后填充一个比特0. 经过如此一番填充操作就可以保证其数据载荷不会包含帧定界符了.

接收方的数据链路层在把数据载荷向上交付给网络层前, 对数据载荷进行扫描, 当发现5个连续的比特1时, 就把其后面的一个比特0删除掉, 就还原出原始数据的数据载荷.


习题

【2013年 题37】HDLC协议对0111110001111110组帧后对应的比特串为( )。

A. 011111000011111010

B. 011111000111110101111110

C. 01111100011111010

D. 011111000111111001111101

【练习】在某个数据链路层协议中使用下列字符编码:

A:01000111

B:11100011

ESC:11100000

FLAG:01111110

其中,FLAG作为帧定界符,ESC作为转义字符。

假设帧的数据载荷为4个字符A、B、ESC以及FLAG,请分别使用字符填充法和零比特填充法将其封装成帧。


解析

【2013年 题37】

高级数据链路控制协议HDLC采用帧首部和帧尾部中的标志字段作为帧定界符,其值为01111110。

HDLC为了实现"透明传输",采用"零比特填充法",即每五个连续比特1后面插入一个比特0。

练习题:


相关推荐
皮皮学姐分享-ppx7 小时前
政府绿色采购数据库(2015-2024.3)
大数据·网络·数据库·人工智能·制造
W_chuanqi8 小时前
联想M7615DNA网络打印方法
网络·联想·打印机网络连接
HavenlonLabs11 小时前
硬件 + SaaS 产品的工程化路径:从系统架构、PCB 设计到工程样机
网络·安全·架构·系统架构·安全架构
yychen_java14 小时前
当算法成为武器:AI泛滥时代的多维危机透视与治理路径
网络·人工智能·ai
漫途科技15 小时前
精准盯防危房隐患,智守人居安全|MTB46-4-2A 4G数据采集终端专项应用方案
网络·安全
Misnearch15 小时前
抓包Packet Capture
网络·抓包
zhangfeng113316 小时前
ps aux讲解,结合国家超算中心 hpc apptainer
linux·服务器·网络
代码中介商16 小时前
TLS握手全解析:从1.2到1.3的加密演进
网络·网络协议·http
xlq2232216 小时前
66.ip
网络·网络协议·tcp/ip
tudoSearcher17 小时前
手机、平板、电脑同时控制Claude Code / Codex ?:Paseo实战指南
网络·开源·开源软件·个人开发·ai编程