【计算机网络】封装成帧
定义
封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧。
控制信息
帧头和帧尾中包含有重要的控制信息。
目的地址、区分帧范围的标志、协议等
帧定界
发送发的物理层将数据链路层交付的帧转化为比特流,通过传输媒体发送到接收方,接收方的数据链路层如何从物理层交付的比特流中提取出一个个帧?(即如何在一串比特流中确定帧的范围?)
帧头和帧尾的作用之一就是帧定界
(接收方可依靠帧定界从物理层交付的比特流中提取出一个个帧)
但并不是所有的数据链路层协议的帧都包含有帧定界标志
如以太网版本2的MAV帧就不包含帧定界标志,如下图:
Q:那么这种情况的帧如何确定帧的范围呢?
A:以太网的数据链路层封装好MAC帧后会将其交付给物理层,物理层在MAC帧前面添加8字节前导码
,然后再将比特流转换成电信号发送。
前导码的前7个字节为前同步码
(使接收方的时钟同步),最后的一个字节为帧开始定界符
(表明其后面紧跟着的就是MAC帧),另外,以太网规定了帧间间隔时间为96bit的发送时间,因此,MAC帧不需要帧结束定界符。
透明传输
透明传输
是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样
- 面向字节的物理链路使用
字节填充
(或称字符填充)的方法实现透明传输。- 面向比特的物理链路使用
比特填充
的方法实现透明传输。
Q:如果在上层(网络层)交付的数据中存在和帧定界标志相同的数值,那么接收方将无法正确接受该帧
A:所以,数据链路层将在数据部分进行扫描,每出现帧定界符后,都在其前面插入一个转义字符。
- 接收方的数据链路层在物理层交付的比特流中提取帧,遇到第一个帧定界符认为这是帧的开始,遇到转义字符知道它并不是帧定界符而是同帧定界符相同的数据内容,当直接提取到帧定界符知道这是帧的结束。
Q:若在上层交付给数据链路的协议单元中既出现了同转义字符相同的数据,又出现了同帧定界符相同的数据该怎么办?
A:同样的在转义字符前面添加转义字符,每出现一个转义字符和帧定界符都在前面添加转义字符
上文说的是面向字节的填充方式
帧首部和尾部中仅给出了帧定界标志,可以看到下图中帧的数据部分出现了两个帧定界标志,在发送前,数据链路层将采用零比特填充法,每五个连续的比特1后边就插入一个比特0,这样就确保了帧定界在整个帧中的唯一性
这里说的是面向比特的填充方式
为了提高帧的传输效率,应当使帧的数据部分尽可能的大些(帧的数据部分应该远大于帧头和帧尾的长度)
考虑到差错控制等多种因素,每一种数据链路层协议都规定了帧的数据部分的长度上限,即最大传送单元MTU
链接: 湖科大教书匠:计算机网络微课堂
本文是湖科大教书匠的计算机网络笔记,感谢大家的观看,求点赞求收藏求评论
欢迎大家关注我的账号:黑城笑
更多技术分享等待大家
- 点赞
- 收藏
- 关注作者
评论(0)