Протокол виявлення сусідів
Протокол виявлення сусідів (англ. Neighbor Discovery Protocol, NDP) - протокол з набору протоколів TCP / IP, який використовується спільно з IPv6 . Він працює на мережевому рівні Моделі Інтернету ( RFC 1122 ) і відповідальний за автонастройку адреси кінцевих і проміжних точок мережі, виявлення інших вузлів на лінії, визначення адреси інших вузлів канального рівня, виявлення конфлікту адрес, пошук доступних маршрутизаторів і DNS-серверів, визначення префікса адреси і підтримки доступності інформації про шляхи до інших активних сусідніх вузлів ( RFC 4861 ). [1]
Цей протокол встановлює п'ять різних типів пакета ICMPv6 для виконання функцій IPv6, схожих з ARP, ICMP, IRDP і Router Redirect протоколів для IPv4 . Проте, він надає багато поліпшень щодо IPv4 аналогів ( RFC 4861, секція 3.1). Наприклад, він включає NUD, який підвищує надійність доставки пакетів в присутності проблемних маршрутизаторів або підключень, або мобільних пристроїв.
Технічні деталі
NDP встановлює наступні п'ять типів пакета ICMPv6 [2] :
- Запит на доступність маршрутизаторів
- Відповідь маршрутизатора
- Запит доступних сусідів
- Відповідь сусіда
- Перенаправлення
Ці повідомлення використовуються для забезпечення наступної функціональності:
- Виявлення маршрутизатора: вузол може розмістити маршрутизатор, що знаходиться на підключеній лінії.
- Виявлення підмережі: вузли можуть виявляти працюючі підмережі для підключених ліній.
- Виявлення параметрів: вузли можуть запитувати параметри лінії (наприклад, розмір MTU).
- Автоматична настройка адреси: конфігурація адрес мережевих інтерфейсів.
- Дозвіл адреси: робота між IP-адресою і адресами рівня каналу зв'язку.
- Виявлення наступного переходу: вузли можуть знаходити наступний на шляху пакета маршрутизатор.
- Виявлення недоступності сусіда (NUD): визначення того, що сусід більш недоступний на лінії.
- Виявлення конфлікту адрес (DAD): вузли самі можуть визначати, чи зайнятий адрес.
- Перенаправлення: маршрутизатор може інформувати вузол про інших найкращих маршрутизаторів для початку шляху пакета.
- Рекурсивний DNS-сервер (RDNSS) і список пошуку DNS (DNSSL) призначається через параметри відгуку маршрутизатора (RA). [3] Це нова функція, і підтримується не всім програмним забезпеченням.
Уразливості
Деякі маршрутизатори уразливі при роботі з протоколом NDP [4] . Найчастіше, маршрутизатори мають менше доступних адрес для NDP, ніж є в підмережі IPv6 (зазвичай 2 ^ 64 або більше, для підтримки SLAAC). Рішення доступне (неактуально) [5] .
Примітки
- RFC 4861, Протокол обнаружения соседей для протокола IP версии 6 (IPv6), T. Narten et al. (сентябрь 2007)
- RFC 2461, Протокол обнаружения соседей для протокола IP версии 6 (IPv6), T. Narten, декабрь 1998
- RFC 6106, IPv6 Параметры ответа маршрутизатора для настройки DNS , J. Jeong (Ed.), S. Park, L. Beloeil, S. Madanapalli (ноябрь 2010)
- http://inconcepts.biz/~jsw/IPv6_NDP_Exhaustion.pdf
- Operational Neighbor Discovery Problems and Enhancements. draft-gashinsky-v6nd-enhance-00(англ.)