Кіріспе
Интернет протоколы жиынтығында IPv6 протоколымен қолданылатын протокол. Нейбор Дискавери протоколы (NDP) немесе жай ғана Нейбор Дискавери (ND) – Интернет протоколының 6-шы нұсқасымен (IPv6) қолданылатын Интернет протоколы жиынтығының протоколы. Ол Интернет моделінің желілік қабатында жұмыс істейді және желілік байланыс үшін қажетті әртүрлі ақпаратты жинау үшін жауапты, соның ішінде жергілікті қосылымдарды конфигурациялау, домендік атау серверлері мен шлюздерді анықтау. Протокол IPv6 үшін IP-адресті шешу протоколына (ARP) және IPv4 үшін ICMP Router Discovery және Router Redirect протоколдарына ұқсас функцияларды орындау үшін бес ICMPv6 пакет түрін анықтайды. Ол IPv4 аналогтарымен салыстырғанда көптеген жақсартуларды ұсынады (RFC 4861, 3.1 бөлім). Мысалы, ол Көршіге қолжетімсіздікті анықтау (NUD) мүмкіндігін қамтиды, бұл маршрутизаторлардың, сілтемелердің немесе мобильді құрылғылардың жұмысын тоқтату жағдайында пакеттерді жеткізудің сенімділігін арттырады. Инверс Нейбор Дискавери (IND) протоколының кеңейтілген нұсқасы (RFC 3122) түйіндерге берілген сілтеме қабатының адресіне сәйкес келетін IPv6 адресін анықтауға және жариялауға мүмкіндік береді, бұл IPv4 үшін кері ARP-ге ұқсас. Secure Neighbor Discovery Protocol (SEND) – NDP-нің қауіпсіздік кеңейтімі, ол Криптографиялық түрде жасалған адрестерді (CGA) және Ресурстық ашық кілт инфрақұрылымын (RPKI) IPsec-тен тәуелсіз криптографиялық әдіспен NDP-ні қамтамасыз етудің баламалы механизмін ұсыну үшін пайдаланады. Neighbor Discovery Proxy (ND Proxy) (RFC 4389) IPv4 Proxy ARP-ге ұқсас қызмет көрсетеді және желілік сегменттерді бір субжелілік префиксте біріктіруге мүмкіндік береді, егер бұл біріктіру сілтемелік қабатта орындала алмаса.
The Neighbor Discovery Protocol (NDP), or simply Neighbor Discovery (ND), is a protocol of the Internet protocol suite used with Internet Protocol Version 6 (IPv6). It operates at the internet layer of the Internet model, and is responsible for gathering various information required for network communication, including the configuration of local connections and the domain name servers and gateways. The protocol defines five ICMPv6 packet types to perform functions for IPv6 similar to the Address Resolution Protocol (ARP) and Internet Control Message Protocol (ICMP) Router Discovery and Router Redirect protocols for IPv4. It provides many improvements over its IPv4 counterparts (RFC 4861, section 3.1). For example, it includes Neighbor Unreachability Detection (NUD), thus improving robustness of packet delivery in the presence of failing routers or links, or mobile nodes. The Inverse Neighbor Discovery (IND) protocol extension (RFC 3122) allows nodes to determine and advertise an IPv6 address corresponding to a given link layer address, similar to Reverse ARP for IPv4. The Secure Neighbor Discovery Protocol (SEND), a security extension of NDP, uses Cryptographically Generated Addresses (CGA) and the Resource Public Key Infrastructure (RPKI) to provide an alternative mechanism for securing NDP with a cryptographic method that is independent of IPsec. Neighbor Discovery Proxy (ND Proxy) (RFC 4389) provides a service similar to IPv4 Proxy ARP and allows bridging multiple network segments within a single subnet prefix when bridging cannot be done at the link layer.
Мысал
Кеңседегі екі компьютер (Компьютер 1 және Компьютер 2) жергілікті желіде Ethernet кабельдері мен желілік коммутаторлар арқылы бір-біріне қосылған, арада шлюздер немесе маршрутизаторлар жоқ. Компьютер 1-де Компьютер 2-ге жіберуге арналған пакет бар. DNS арқылы ол Компьютер 2-нің IP-адресіне ие екенін анықтайды. Хабарды жіберу үшін оған Компьютер 2-нің MAC-адресі де қажет. Бірінші, Компьютер 1 Компьютер 2-нің MAC-адресінің кез келген жазбаларын іздеу үшін кэштелген NDP кестесін пайдаланады. Егер MAC-адрес табылса, ол IP-пакеті бар Ethernet фреймін мақсаттық адресімен байланысқа жібереді. Егер кэш нәтиже бермесе, Компьютер 1 Компьютер 2-нің адресінің ең кіші 24 битін алып, оларды префикстің алдына қосып, сұралған түйіннің көп тарату MAC-адресін құруы керек, ол , және Компьютер 2-нің сұралған түйіннің көп тарату адресінің ең кіші 24 битін алып, оларды 33:33:FF:xx:xx:xx префиксіне қосып, сұралған түйіннің көп тарату MAC-адресін құруы керек, ол , және (мақсаттық IP-адрес және мақсаттық MAC-адрес) үшін жауап сұрап, көршіге сұрау хабарын жібереді, ол жергілікті желіде өзінің сұралған түйіннің көп тарату адресін тыңдап отырған Компьютер 2-мен қабылданады. Компьютер 2 өзінің MAC және IP-адрестерін қамтитын көршіге хабарламамен жауап береді. Сұрауды өңдеу барысында Компьютер 2 болашақта пайдалану үшін Компьютер 1 туралы жазбаны өзінің NDP кестесіне қосуы мүмкін. Компьютер 1 жауап ақпаратын NDP кестесіне қабылдап, кэштейді және енді пакетті жібере алады.
To send the message, it also requires Computer 2's MAC address. First, Computer 1 uses a cached NDP table to look up for any existing records of Computer 2's MAC address If the MAC address is found, it sends an Ethernet frame containing the IP packet onto the link with the destination address If the cache did not produce a result for , Computer 1 has to create a solicited node multicast address by taking the least significant 24 bits of Computer 2's address and appending them to the prefix , which is , and create a solicited node multicast MAC address by taking the least significant 24 bits of Computer 2's solicited node multicast address and appending them to the prefix 33:33:FF:xx:xx:xx, which is , and send a neighbor solicitation message requesting an answer for (destination IP address and destination MAC address), which is accepted by Computer 2 which is listening on its own solicited node multicast address on the local network. Computer 2 responds with a neighbor advertisement message containing its MAC and IP addresses. As part of fielding the request, Computer 2 may insert an entry for Computer 1 into its NDP table for future use. Computer 1 receives and caches the response information in its NDP table and can now send the packet.