Протокол виявлення сусідів

Протокол виявлення сусідів (англ. 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] :

  1. Запит на доступність маршрутизаторів
  2. Відповідь маршрутизатора
  3. Запит доступних сусідів
  4. Відповідь сусіда
  5. Перенаправлення

Ці повідомлення використовуються для забезпечення наступної функціональності:

  • Виявлення маршрутизатора: вузол може розмістити маршрутизатор, що знаходиться на підключеній лінії.
  • Виявлення підмережі: вузли можуть виявляти працюючі підмережі для підключених ліній.
  • Виявлення параметрів: вузли можуть запитувати параметри лінії (наприклад, розмір MTU).
  • Автоматична настройка адреси: конфігурація адрес мережевих інтерфейсів.
  • Дозвіл адреси: робота між IP-адресою і адресами рівня каналу зв'язку.
  • Виявлення наступного переходу: вузли можуть знаходити наступний на шляху пакета маршрутизатор.
  • Виявлення недоступності сусіда (NUD): визначення того, що сусід більш недоступний на лінії.
  • Виявлення конфлікту адрес (DAD): вузли самі можуть визначати, чи зайнятий адрес.
  • Перенаправлення: маршрутизатор може інформувати вузол про інших найкращих маршрутизаторів для початку шляху пакета.
  • Рекурсивний DNS-сервер (RDNSS) і список пошуку DNS (DNSSL) призначається через параметри відгуку маршрутизатора (RA). [3] Це нова функція, і підтримується не всім програмним забезпеченням.

Уразливості[ред. | ред. код]

Деякі маршрутизатори уразливі при роботі з протоколом NDP [4] . Найчастіше, маршрутизатори мають менше доступних адрес для NDP, ніж є в підмережі IPv6 (зазвичай 2 ^ 64 або більше, для підтримки SLAAC). Рішення доступне (неактуально) [5] .

Примітки[ред. | ред. код]

  1. RFC 4861, Протокол обнаружения соседей для протокола IP версии 6 (IPv6), T. Narten et al. (сентябрь 2007)
  2. RFC 2461, Протокол обнаружения соседей для протокола IP версии 6 (IPv6), T. Narten, декабрь 1998
  3. RFC 6106, IPv6 Параметры ответа маршрутизатора для настройки DNS , J. Jeong (Ed.), S. Park, L. Beloeil, S. Madanapalli (ноябрь 2010)
  4. Архівована копія (PDF). Архів оригіналу (PDF) за 2 травня 2021. Процитовано 9 червня 2019.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  5. Operational Neighbor Discovery Problems and Enhancements. draft-gashinsky-v6nd-enhance-00 [Архівовано 8 червня 2019 у Wayback Machine.](англ.)