NDP(icmpV6)实现:内核发送的重复数据包

时间:2012-12-05 05:30:53

标签: ipv6 icmp

我试图在基于Linux的PC中引用RFC 4861来开发和实现NDP(邻居发现协议)。

我创建了一个套接字socket (AF_INET6, SOCK_RAW, IPPROTO_IPV6)。 NS / NA数据包(ipv6标头+ icmpv6标头+选项)由开发人员填写并发送。

在Wireshark中,我监控了我已填充的NS数据包正在发送+内核发送自己的NS数据包并接收NA数据包。

所以我很困惑并坚持工作。任何人都可以帮助和解释

  1. 为什么这个重复的数据包由内核自己生成?
  2. 如果内核处理ICMPv6数据包,那么应该开发和实现NDP的情况呢?

1 个答案:

答案 0 :(得分:3)

内核已经实现了NDP,因此开发人员不必这样做,就像你没有为IPv4实现ARP一样。

如果你仍然想要实现ND(例如因为它是一个指定的学校项目),你必须找到一种在内核中禁用它的方法(可能是删除代码并重新编译)。