【计网】为什么 PPP 协议异步时使用字节填充,同步时使用比特填充?

字节填充:操作字节,如果出现 ESC、SOH、EOH 字符,就在前面加上一个转义字符 ESC。
比特填充:操作比特,如果出现五个连续的 1,就在后面加上一个 0。

PPP 协议用在 SONET/SDH 链路时,使用同步传输(一连串的比特连续传送)而不是异步传输(逐个字符地传送)。在这种情况下,PPP协议采用零比特填充方法来实现透明传输。

—— 《计算机网络 谢希仁 第八版》 P81

可见,同步传输是一连串的比特连续传送,当然选用面向比特的比特填充更好;异步传输是逐个字符地传送,一个字符就是一个字节,选用面向字节的字节填充。

此外,PPP 协议在设计的时候是考虑用软件来实现的1,软件直接操作比特比操作直接字节要困难。
(例如 C 语言中可以直接读写内存里的单个字节,用字符指针即可。但是没法直接修改比特,必须先读入整个字节,进行位运算,再将结果写回原字节。)


  1. Why is byte stuffing preferred to use with PPP? ↩︎

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