锦州网站建设预订,龙岗区住房和建设局网站,互联网创业就是做网站吗,做瞹视频网站目录
介绍
帧定界
PPP帧
以太网帧
透明传输
字节填充#xff08;字符填充#xff09;
比特填充
比特填充习题
MTU 介绍
所谓封装成帧#xff0c;就是指数据链路层给上层交付下来的协议数据单元添加帧头和帧尾#xff0c;使之成为帧。
例如下图所示#xff1a; …目录
介绍
帧定界
PPP帧
以太网帧
透明传输
字节填充字符填充
比特填充
比特填充习题
MTU 介绍
所谓封装成帧就是指数据链路层给上层交付下来的协议数据单元添加帧头和帧尾使之成为帧。
例如下图所示 在帧头和帧尾中包含有重要的控制信息例如以太网版本2的MAC帧格式 以及点对点协议PPP的帧格式 发送方的数据链路层将上层交付下来的协议数据单元封装成帧后还要通过物理层将构成帧的各比特转换成电信号发送到传输媒体 。
帧定界 PPP帧
那么接收方的数据链路层如何从物理层交付的比特流中提取出一个个的帧呢 实际上帧头和帧尾的作用之一就是帧定界。例如这是PPP帧的格式 在其帧头和帧尾中各包含有一个长度为1字节的标志字段其作用就是帧定界 。
假设发送方发送的是PPP帧那么接收方的数据链路层就可以依据帧定界标志从物理层交付的比特流中提取出一个个的帧。 需要说明的是并不是每一种数据链路层协议的帧都包含有帧定界标志例如在以太网版本2的MAC帧格式中其帧头和帧尾中并没有包含帧定界标志。 以太网帧
那么接收方又是如何从物理层交付的比特流中提取出一个个的以太网帧呢
实际上以太网的数据链路层封装好MAC帧后将其交付给物理层物理层会在MAC帧前面添加8字节的前导码然后再将比特流转换成电信号发送。 前导码中的前7个字节为前同步码作用是使接收方的时钟同步之后的1字节为帧开始定界符表明其后面紧跟着的就是MAC帧。 另外以太网还规定了帧间间隔时间为96比特的发送时间因此MAC帧并不需要帧结束定界符。 需要说明的是帧间间隔还有其他作用在后续文章中再进行介绍 。 透明传输 字节填充字符填充
接下来介绍透明传输的问题 透明传输是指数据链路层对上层交付的传输数据并没有任何限制就好像数据链路层不存在一样。 我们来举例说明
这是发送方数据链路层收到其上层交付的协议数据单元给其添加帧头和帧尾使其成为帧为了简单起见只画出了帧头和帧尾中的帧定界标志。 帧定界标志也就是一个特定数值如果在上层交付的协议数据单元中恰好也包含了这个特定数值接收方就不能正确接收该帧了。
如下图所示接收方在收到第一个帧定界标志时认为这是帧的开始这并没有错误当接收方再次接收到帧定界标志时会误认为帧结束了如果数据链路层不采取其他措施来避免接收方对帧是否结束的误判就不能成为透明传输。 也就是说数据链路层对上层交付的协议数据单元有限制其内容不能包含帧定界符。很显然这样的数据链路层没有什么使用价值。
实际上各种数据链路层协议一定会想办法来解决这个问题。例如在发送帧之前对帧的数据部分进行扫描每出现一个帧定界符就在其前面插入一个转义字符。
具体如下
接收方数据链路层在物理层交付的比特流中提取帧遇到第一个帧定界符时认为这是帧的开始当遇到转义字符时就知道其后面的1字节内容虽然与帧定界符相同但它是数据而不是定界符。 请大家再来思考一下这种情况在上层交付给数据链路层的协议数据单元中既包含了帧定界符又包含了转义字符应该怎么处理呢
方法仍然是在发送帧之前对帧的数据部分进行扫描每出现一个帧定界符或转义字符就在其前面插入一个转义字符。 需要说明的是转义字符是一种特殊的控制字符其长度为1个字节十进制值为27而并不是E、S以及C这三个字符。 比特填充
我们刚刚介绍的是面向字节的物理链路使用字节填充或称字符填充的方法来实现透明传输。
对于面向比特的电路应该使用比特填充的方法来实现透明传输。
例如这是某个点对点协议的帧 为了简单起见在帧首部和尾部中仅给出了帧定界标志而未给出其他控制字段。
而帧的数据部分出现了两个帧定界标志但它们实际上是数据而不是帧定界 在发送前可以采用0比特填充法对数据部分进行扫描每五个连续的比特1后面就插入一个比特0。这样就确保了帧定界在整个帧中的唯一性也就可以实现透明传输 。 接触方的数据链路层从物理层交付的比特流中提取帧时将帧的数据部分中的每五个连续的比特1后面的那个比特0剔除即可。 比特填充习题
接下来我们来做一个有关0比特填充的练习题这是计算机专业考研全国统考计算机网络部分2013年的题37 题目中所给的高级数据链路控制协议HDLC采用帧头和帧尾中的标志字段作为帧定界其值为01111110HDLC为了实现透明传输采用0比特填充法。
也就是每5个连续一后面插入一个比特0因此选项A正确。 MTU
最后还要注意一点为了提高帧的传输效率应当使帧的数据部分的长度尽可能大一些。
如图所示 帧的数据部分的长度应远大于帧头和帧尾的长度这样才能提高帧的传输效率。
因为仅从数据链路层来看帧的数据部分才是真正要传输的数据帧头和帧尾是为了实现数据链路层功能而额外添加的。
当然考虑到差错控制等多种因素每一种数据链路层协议都规定了帧的数据部分的长度上限称为最大传送单元MTUMaximum Transfer Unit。 END 学习自湖科大——计算机网络微课堂