IPv6 - Связь

В IPv4 хост, который хочет общаться с другим хостом в сети, должен иметь IP-адрес, полученный либо с помощью DHCP, либо вручную. Как только хост получает какой-либо действительный IP-адрес, он может разговаривать с любым хостом в подсети. Для связи на уровне 3 хост также должен знать IP-адрес другого хоста. Связь по каналу устанавливается с помощью встроенных аппаратных MAC-адресов. Чтобы узнать MAC-адрес хоста, чей IP-адрес известен, хост отправляет широковещательную передачу ARP, а в ответ предполагаемый хост отправляет обратно свой MAC-адрес.

В IPv6 нет механизмов вещания. Хосту с поддержкой IPv6 не обязательно получать IP-адрес от DHCP или настраивать вручную, но он может автоматически настраивать свой собственный IP-адрес.

ARP был заменен протоколом обнаружения соседей ICMPv6.

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

Хост в сети IPv6 может автоматически настраиваться с использованием уникального локального адреса канала. Как только хост получает IPv6-адрес, он присоединяется к нескольким группам многоадресной рассылки. Все коммуникации, относящиеся к этому сегменту, происходят только на этих многоадресных адресах. Хост в IPv6 проходит ряд состояний:

  • Neighbor Solicitation: После настройки всех IPv6 вручную, DHCP-сервером или автоконфигурацией, хост отправляет сообщение Neighbor Solicitation на FF02 :: 1/16 многоадресного адреса для всех своих IPv6-адресов, чтобы знать, что никто другой не занимает те же адреса.

  • DAD (Duplicate Address Detection): Когда хост ничего не слушает из сегмента относительно своего сообщения Neighbor Solicitation, он предполагает, что в этом сегменте нет повторяющегося адреса.

  • Neighbor Advertisement: После назначения адресов своим интерфейсам и их настройки и запуска хост снова отправляет сообщение Neighbor Advertisement, сообщающее всем остальным хостам в сегменте, что он назначил эти IPv6-адреса своим интерфейсам.

После того, как хост завершил настройку своих IPv6-адресов, он выполняет следующие действия:

  • Router Solicitation: Хост отправляет многоадресный пакет запроса маршрутизатора (FF02 :: 2/16) в своем сегменте, чтобы узнать о наличии любого маршрутизатора в этом сегменте. Это помогает хосту настроить маршрутизатор в качестве шлюза по умолчанию. Если его маршрутизатор шлюза по умолчанию выходит из строя, хост может переключиться на новый маршрутизатор и сделать его шлюзом по умолчанию.

  • Router Advertisement: Когда маршрутизатор получает сообщение запроса маршрутизатора, он отвечает хосту, объявляя о своем присутствии на этом канале.

  • Redirect: Это может быть ситуация, когда маршрутизатор получает запрос запроса маршрутизатора, но знает, что это не лучший шлюз для хоста. В этой ситуации маршрутизатор отправляет обратно сообщение перенаправления, сообщающее хосту, что доступен лучший маршрутизатор «следующего перехода». Следующий переход - это место, где хост будет отправлять свои данные, предназначенные для хоста, который не принадлежит к тому же сегменту.