Протокол обнаружения соседей

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Протокол Обнаружения Соседей»)
Перейти к: навигация, поиск

Протокол Обнаружения Соседей (англ. Neighbor Discovery Protocol, NDP ) — протокол из набора Internet Protocol Suite, используемый совместно с IPv6. Он работает на уровне слоя Интернет Модели Интернета (RFC 1122) и ответственен за автонастройку адреса конечных точек сети, обнаружения других узлов на линии, обнаружения адреса других узлов на уровне канала связи, обнаружение конфликта адресов, поиск доступных путей и DNS-серверов, обнаружения подсетей и поддержки доступности информации о путях к другим активным соседним узлам (RFC 4861).[1]

Этот протокол устанавливает пять различных типов пакета ICMPv6 для выполнения функций IPv6 сходных с ARP, ICMP, Router Discovery и 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. http://inconcepts.biz/~jsw/IPv6_NDP_Exhaustion.pdf
  5. Operational Neighbor Discovery Problems and Enhancements. draft-gashinsky-v6nd-enhance-00 (англ.)

Ссылки[править | править вики-текст]