Разрешение адресов IPv6 с помощью протокола NDP и определение недоступности соседа

Базовая концепция разрешения IPv6-адресов осталась такой же, как и в IPv4. При необходимости отправки IPv6-пакета соседнему устройству в локальной сети и отсутствии информации о физическом адресе получателя устройство инициирует процесс разрешения адресов, но использует не широковещательный ARP-запрос как в IPv4, а сообщение Neighbor Solicitation (NS), отправляемое на групповой Solicited-Node-адрес. При получении сообщения Neighbor Solicitation устройство назначения отправляет в ответ устройству-отправителю сообщение Neighbor Advertisement (аналогично ARP Reply в IPv4). Поскольку адрес Solicited-Node не является уникальным, то устройство-получатель должно убедиться, что оно является тем устройством, чей адрес пытается разрешить устройство-отправитель.


Рис. 6.35. Разрешение адресов с помощью протокола NDP

На основании полученного сообщения Neighbor Advertisement, устройство добавляет в NDP-таблицу (neighbor cache) новую запись, связывающую IPv6-адрес с соответствующим МАС-адресом соседнего устройства, от которого это сообщение получено. Так же, как и в таблице ARP, в NDP-таблице могут храниться и статические и динамические записи (рис. 6.36).

Рис. 6.36. Пример NDP-таблицы на коммутаторе DES-3810-28 Динамическая запись в NDP-таблице может находиться в одном из пяти состояний:

1. Incomplеtе – состояние, когда сообщение Neighbor Solicitation отправлено на групповой адрес Solicited-Node, но ответное сообщение Neighbor Advertisement еще не получено;


2. Reachable – состояние, когда сообщение Neighbor Advertisement получено. Продолжительность этого состояния записи в NDP-таблице ограничено таймером ReachableTime (по умолчанию 30 секунд);

3. Stale – состояние, в которое переходит запись по истечении времени таймера ReachableTime с момента последнего получения сообщения Neighbor Advertisement;

4. Delay – состояние, в которое переходит запись при передаче данных соседнему устройству. При этом устанавливается таймер Delay_First_Probe_Time (по умолчанию 5 секунд). Если по истечении времени таймера запись все еще остается в состоянии Delay, статус записи меняется на Probe. Если же подтверждение достижимости было получено, состояние записи меняется на Reachable.

5. Probe – состояние записи, при котором устройство отправляет сообщение Neighbor Solicitation через промежутки времени, определяемые таймером RetransTimer (по умолчанию 10 секунд). Если в течение трех последовательных передач сообщения Neighbor Solicitation получено сообщение Neighbor Advertisement, то запись переходит в состояние Reachable, в противном случае запись удаляется из NDP-таблицы.

Сообщения Neighbor Solicitation и Neighbor Advertisement используются не только для разрешения адресов, у них есть еще одно предназначение – определение недоступности соседа (Neighbor Unreachability Detection, NUD). Функция NUD позволяет отслеживать состояние каналов связи между соседними узлами локальной сети. Операции функции NUD выполняются параллельно с отправкой пакетов соседним устройствам, и если между ними нет обмена данными, то сообщения Neighbor Solicitation и Neighbor Advertisement не отправляются.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: