Я попытался разработать и внедрить NDP (Neighbor Discovery Protocol) на ПК на базе Linux, ссылаясь на RFC 4861.
Я создал сокет socket (AF_INET6, SOCK_RAW, IPPROTO_IPV6)
. Пакет NS / NA (заголовок ipv6 + заголовок icmpv6 + параметры) заполняется и отправляется самим разработчиком.
В Wireshark я отслеживал отправку заполненного мной NS-пакета + Ядро отправляет собственные NS-пакеты и принимает NA-пакеты.
Так что я запутался и застрял в своей работе. Может ли кто-нибудь помочь и объяснить
- Почему эти дублирующиеся пакеты генерируются собственным ядром?
- Если ядро обрабатывает пакеты ICMPv6, в каком сценарии следует разработать и внедрить NDP?