Реализация NDP (icmpV6): дублирующиеся пакеты отправляются ядром

Я попытался разработать и внедрить NDP (Neighbor Discovery Protocol) на ПК на базе Linux, ссылаясь на RFC 4861.

Я создал сокет socket (AF_INET6, SOCK_RAW, IPPROTO_IPV6). Пакет NS / NA (заголовок ipv6 + заголовок icmpv6 + параметры) заполняется и отправляется самим разработчиком.

В Wireshark я отслеживал отправку заполненного мной NS-пакета + Ядро отправляет собственные NS-пакеты и принимает NA-пакеты.

Так что я запутался и застрял в своей работе. Может ли кто-нибудь помочь и объяснить

  1. Почему эти дублирующиеся пакеты генерируются собственным ядром?
  2. Если ядро ​​обрабатывает пакеты ICMPv6, в каком сценарии следует разработать и внедрить NDP?

person newbie_aqs    schedule 05.12.2012    source источник


Ответы (1)


Ядро уже реализует NDP, поэтому разработчику не нужно этого делать, точно так же, как вы не реализуете ARP для IPv4.

Если вы все еще хотите реализовать ND (например, потому что это назначенный школьный проект), вам нужно будет найти способ отключить его в ядре (может быть, удалить код и перекомпилировать).

person Sander Steffann    schedule 05.12.2012