ARP消息用零填充..有时候

时间:2014-12-14 18:38:43

标签: padding ethernet arp

所以,我正在尝试在软件中实现TCP / IP堆栈作为学习体验。我注意到使用数据包嗅探器,ARP消息用零填充......通常。

谷歌快速搜索说这些零是必需的(大概是46字节的以太网有效载荷)..另一个说这个填充是“可变的”并暗示它是可选的。

我错过了什么?为什么这些零首先出现在那里,我怎么知道在下一个数据包进入之前我是否应该跳过额外的18个字节。

编辑:经过进一步研究,根据以太网规范,似乎没有填充的少数数据包实际上是错误的。不幸的是,这对我没有帮助,因为我仍然需要处理格式错误的数据包。

1 个答案:

答案 0 :(得分:0)

好吧,我终于解决了这个问题:我从来没有想过在以太网电缆本身和以太网MAC地址头之间有一层。

当然,我不使用以太网电缆,但我 使用数据包嗅探器,在每个数据包之后打印换行符。

处理完每个数据包后,一个简单的incomingdata.split("\n").slice(1).join("\n")足以解决所有案例中的错误!