有关以太网V2的MAC帧与PPP帧的封装成帧原理
一、什么是封装成帧
封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧
二、帧头和帧尾
- 帧头:包含重要的控制信息
- 帧尾:用于记录冗余码
-------------->帧头和帧尾的作用之一是帧定界。
这里的控制信息与冗余码在后面会详细解说。
三、常见的帧类型:
- 以太网V2的MAC帧
- PPP帧
四、帧定界:
1. 以太网V2的MAC帧定界:
前七个字节用于时钟校验,后面一个字节为帧定界符。
2. PPP帧定界:
由之前的图中可看出PPP帧已经封装好了帧头和帧尾。
但是,事情到这里并没有结束,如果PPP帧定界只进行这样简单的帧定界并不能保证数据传输的准确性,这就涉及到了透明传输。
3. 透明传输
定义:
数据链路层对上层交付的传输数据没有任何限制,就好像链路层不存在一样,则可称为透明传输。
例如,如果发送的数据中恰好有帧头和帧尾的字段,那么在接收端获取的消息可能就会被提前截断,这并不是人们想要的。
那么如何解决这个问题:
1. 面向字节:
在传输数据里进行扫描,如果存在与帧定界符或转义符相同的字段,就在其后方添加转义符。同样,接收端按照如此规律进行解析数据。
2. 面向比特:
采用零比特填充法:
在数据内容中,每5个1后面添加一个0,从而区分数据与帧定界符。
五、帧的传输效率
为了提高帧的传输效率,应当使得帧的数据部分长度尽可能大一些。