0

RFC 4861 を参照して、Linux ベースの PC で NDP (Neighbor Discovery Protocol) を開発および実装しようとしました。

ソケットを作成しましたsocket (AF_INET6, SOCK_RAW, IPPROTO_IPV6)。NS/NA パケット (ipv6 ヘッダー + icmpv6 ヘッダー + オプション) は、開発者自身が入力して送信します。

Wireshark では、入力した NS パケットが送信されていることを監視しました + カーネルは独自の NS パケットを送信し、NA パケットを受信します。

だから私は混乱して仕事に行き詰まっています。誰でも助けて説明してもらえますか

  1. 独自のカーネルによって生成されたこの重複パケットはなぜですか?
  2. カーネルが ICMPv6 パケットを処理する場合、NDP を開発して実装する必要があるシナリオはどれですか?
4

1 に答える 1

3

カーネルはすでに NDP を実装しているため、IPv4 に ARP を実装しないのと同じように、開発者はその必要がありません。

それでも ND を実装したい場合 (たとえば、割り当てられた学校のプロジェクトであるため)、カーネルでそれを無効にする方法を見つける必要があります (コードを削除して再コンパイルする場合があります)。

于 2012-12-05T07:49:41.897 に答える