计算机网络——数据链路层-封装成帧

封装成帧

封装成帧就是数据链路层 给上层交付的协议数据单元添加帧头和帧尾使之成为帧

  • 帧头和帧尾 包含有重要的控制信息
  • 帧头和帧尾的作用之一就是帧定界
    计算机网络——数据链路层-封装成帧_第1张图片
    并不是每一种数据链路层协议的帧都包含帧定界标志

如下
计算机网络——数据链路层-封装成帧_第2张图片
透明传输是指数据链路层对上层交付的数据传输数据没有任何限制,就好像数据链路层不存在一样。

什么意思?先来看看什么叫做不透明传输。也就是说 上层交付的一些数据到了数据链路层这里要做改变。

而什么时候需要改变呢?我们容易想到,如果数据包含了链路层的帧头帧尾标界符的话,那么数据是会受影响的。

而既然叫做透明传输,就是数据没有限制。
那么就需要对数据中的开始与结束标志有所区分,所以就是用 转义字符.

面向字节的透明传输
计算机网络——数据链路层-封装成帧_第3张图片
如果数据中包含了帧定界符,就在数据的帧定界符中添加一个ESC转义字符。

如果数据中还有一个ESC转义字符的话,那就在ESC的前面再加一个ESC转义字符。

我的理解是:

ESC的作用在于:让机器将ESC后面的数据认为是数据。

就好像在ESC前面加一个ESC,就表示把ESC后面那个ESC当成数据来看。

在flag前面加一个ESC,就表示把ESC后面的flag当成数据来看。

面向比特的透明传输

零比特填充法:

每五个比特1的后面的添加一个比特0

而在提取的时候

每五个比特1的后面就剔除一个比特0

要提高效率:
帧的数据部分 要远大于帧头和帧尾的长度

你可能感兴趣的:(计算机网络,网络)