LCP和IPCP数据包在PPP中可以有不同的帧和字节填充?

问题描述:

我正在调制解调器和PPP网络栈之间的一些中间件上工作。我在初始配置阶段遇到问题。端点与配置请求交换LCP数据包,然后进行确认,然后其中一个以IPCP配置请求开始;不久之后,其中一人放弃了。以下是我没有得到的:LCP和IPCP数据包在PPP中可以有不同的帧和字节填充?

LCP数据包使用类似HDLC的成帧。它们以0x7E开始,地址跟在0xFF之后,当控制字节0x7D23 = 3后面跟着字节填充的有效载荷,校验和和帧字符0x7E。这些数据包看起来像这样:

7EFF7D23C0217D217D207D207D347D227D267D207D2A7D207D207D257D267D2BE5E77D257D277D227D287D2295697E 

IPCP数据包看起来完全不同!它们仍然以0x7E开始和结束,并且具有HDLC校验和,但没有地址或控制字节,并且有字节填充没有。这些数据包如下所示:

7E8021010000280206002D0F0103060000000081060000000082060000000083060000000084060000000079067E 

这是否有意义?为什么这些数据包看起来如此不同?这里有些东西搞砸了吗?还是这是典型的?

+0

你有没有机会在这些数据包捕获上运行Wireshark?有帮助吗? – sarnold 2012-04-12 01:44:02

+0

@sarnold我没有一个调试端口来将Wireshark直接挂接到它,但是我可以在调试流中看到它们时转储数据包。然后,我编写了一个python脚本将它们转换为PCAP,以便将其加载到Wireshark中。 正是在我写这个脚本的时候,我不得不对两个数据包进行不同的处理,只是让Wireshark可以读取它们;基本上脱离了目前的HDLC。不过,这可能是我不了解PCAP的情况。 – 2012-04-12 01:52:48

+0

无论如何,结果就是它几乎全部配置请求和哎呀,但似乎并不像IPCP的东西正在通过。 – 2012-04-12 01:55:23

在LCP阶段,可以协商“压缩”选项,摆脱地址和控制字段。看看this link

+0

谢谢。我从事这个项目已经有一段时间了,但这可能是发生了什么。 – 2014-04-22 19:02:24