3.2 常见的组帧的方法
3.2.1 封装成帧(P74 3.1.2)
封装成帧(Framing) 就是在一段数据的前后分别加上首部和尾部,其作用是进行帧定界,即标记帧(Frame) 的开始和结束,并附带必要的控制信息。
相关词条:
-
最大传输单元 MTU(Maximum Transfer Unit)
即每一种链路层协议都有规定的,其所能传送的帧的数据部分长度上限。
3.2.2 透明传输(P75 3.1.2)
透明传输(Transparent Transmission) 是指数据在传输过程中,信号的内容、格式和结构保持不变,不受传输截止或传输设备的影响。
也就是说从对方网络层产生的 IP 数据报,交给对方的数据链路层封装成帧,传输到我方的数据链路层后再从中提取出 IP 数据包,上交给我方网络层,对于双方的网络层来讲,数据传输的内容没有发生任何改变,看起来就像数据链路层不曾存在,是对方网络层直接将数据交给我方网络层一样。
帧开始和结束的标记使用专门指明的控制字符:
- 控制字符 (Start Of Header) 放在一帧的最前面,其编码为 。
- 控制字符 (End Of Header) 放在一帧的最后面,其编码为 。
由于数据帧携带的数据里可能包含这两个字符,因此为了防止错误识别为帧的开始和结束,数据链路层在封装成帧的时候,若数据部分包含这两个字符,则在该字符前面加上转义字符 (Escape),其编码为 ,若数据部分包含转义字符,则在该字符前再加上转义字符。
其他组帧方式:
-
PPP 帧
(P80 3.2.2)PPP 帧使用字符 (即二进制 )标记帧的开始和结束。
PPP 帧使用两种填充方式实现透明传输:
-
字节填充(P81 3.2.2)
当 PPP 使用异步传输时,使用字符 作为转义字符,(RFC 1662 4.2)填充方法如下:
-
把信息部分中每个 字节转变为 2 字节序列 。
-
若信息部分中出现一个 ,则转变为 2 字节序列 。
-
若信息部分中出现了 ASCII 码的控制字符,则将其转换为 2 字节序列 。
例如:若出现 (代表“传输结束”的字符 ETX),则转变为 2 字节序列 。
-
-
零比特填充(P81 3.2.2)
当 PPP 使用同步传输时,若数据部分中出现连续的 5 个 1,则立即填入一个 0。
-