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

文章目录

封装成帧

封装成帧是指数据链路层给上层交付下来的协议数据单元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。

练习题:


相关推荐
鼹鼠SDN2 小时前
没有公网 IP,如何在外面访问家里的打印机、摄像头和整个局域网?
网络·网络协议·tcp/ip
小诗懂技术4 小时前
【网络通信UDP】基础 进程间不同主机的通信
运维·服务器·网络
DM今天肝到几点?6 小时前
AI 安全进入「攻防同频」:Gemini 3.8 Flash Cyber 上线、Astra 触及关键级、HiddenLayer 融资 1 亿美元
网络·人工智能·深度学习·安全·语言模型·开源·知识图谱
幼儿园蛋小黑7 小时前
TCP 并发:从原理到高并发实践
网络·网络协议·tcp/ip
我爱cope8 小时前
【计算机网络 | 网络层11:ICMP 协议:Ping 和 Traceroute 的底层原理】
网络·学习·计算机网络
Latticy9 小时前
vulnhub系列靶机-Photographer
网络·网络安全·内网渗透·内网
爱浦路 IPLOOK9 小时前
矿山无人化作业5G专网方案:企业专网核心网络选型分析
网络·分布式·科技·5g·信息与通信
制冷技术咨询与服务9 小时前
某纯电牵引车的CAN网络3
网络·某纯电牵引车的can网络2
驭渊的小故事10 小时前
网络原理04(http协议详细解析3)(2000详细解析HTTPS的工作原理)
网络·网络协议·http
额额额对了11 小时前
Linux 进程间通信(IPC)核心机制:消息队列、共享内存与信号量详解
linux·网络·网络协议