Протокол обнаружения соседей IPv6
Одно из отличий IPv6 от IPv4 состоит в отсутствии протокола разрешения адресов ARP (Address Resolution Protocol). Функции ARP в IPv6 выполняет протокол обнаружения соседей NDP (Neighbor Discovery Protocol).
NDP использует ICMP и групповые адреса запрашиваемых узлов для обнаружения MAC-адресов оконечных узлов IPv6 в этой же подсети. Вся процедура проводится с помощью двух сообщений:
- Запрос о соседстве.
- Объявление о соседстве.
Запрос о соседстве в первую очередь используется для поиска MAC-адресов других IPv6 адресов в одной подсети. Также запрос о соседстве используется для определения дублирующих адресов DAD (Duplicated Address Detection). В пакете с данным сообщением исходный адрес будет соответствовать адресу хоста, который отправляет запрос соседу. Адресом назначения будет групповой адрес запрошенного узла. Данное сообщение также включает в себя MAC-адрес отправителя.
Использование групповых адресов запрашиваемых узлов (solicited-node multicast addresses) в качестве адресов назначения гораздо эффективнее, чем широковещательные запросы в IPv4.
Каждое IPv6 устройство вычисляет групповой адрес запрашиваемых узлов: оно берёт групповой адрес FF02::1:FF/104 и дополняет его шестью последними шестнадцатеричными цифрами из своего IPv6 адреса. Затем устройство присоединяется к этому групповому адресу и “прослушивает” его.
Когда устройству нужно узнать MAC-адрес другого устройства в сети, оно отправляет запрос о соседстве на групповой адрес запрашиваемых узлов этого устройства. Хост может вычислить групповой адрес запроса узла другого хоста, поскольку он знает групповой multicast-адрес и знает адрес IPv6, до которого он хочет добраться.
В результате только нужный удалённый хост получает запрос о соседстве.
Сообщение запроса о соседстве используется также для проверки доступности узла. В этом случае, адрес назначения будет одноадресатным с адресом удалённого хоста.
Когда удалённый хост получает запрос о соседстве, он отвечает объявлением о соседстве. В сообщении — адрес источника это IPv6 данного хоста, а адрес назначения это IPv6 адрес удалённого хоста, который отправил запрос о соседстве. Самая важная часть этого сообщения это MAC-адрес хоста. Когда хост получит объявление о соседстве, два IPv6 хоста могут начать коммуницировать друг с другом.
Объявление о соседстве также используется при изменении MAC-адреса хоста. При отправке этого сообщения адресом назначения будет многоадресатный адрес всех узлов.
Создайте следующую схему:
На обоих маршрутизаторах включите режим поддержки IPv6 и перезагрузитесь.
end
enable
configure
#Включение работы с IPv6 и перезагрузка
ipv6 forwarding enable
write
end
reload
Настройте R1:
enable
configure
hostname R1
#Настройка интерфейса и порта
interface 2ge0
ipv6 address 2001:DB8:12::1/64
exit
port ge0
service-instance 4ge0
encapsulation untagged
connect ip interface 2ge0
Настройте R2:
enable
configure
hostname R2
#Настройка интерфейса и порта
interface 2ge0
ipv6 address 2001:DB8:12::2/64
exit
port ge0
service-instance 4ge0
encapsulation untagged
connect ip interface 2ge0
На R1 проверьте соседство
R1#show ipv6 neighbors
Total neighbors: 4
Interface IPv6 Address MAC Address Type
------------------------------------------------------------------
2ge0 fe80::1e87:76ff:fe40:201 1c87.7640.0201
2ge0 2001:db8:12::1 1c87.7640.0101 SELF
2ge0 2001:db8:12::2 1c87.7640.0201
2ge0 fe80::1e87:76ff:fe40:101 1c87.7640.0101 SELF LINK_LOCAL
Вы можете видеть результат работы протокола обнаружения соседей NDP. Для установления соседства были автоматически присвоены link-local адреса и произошёл обмен присвоенными IPv6 адресами.
Дополнительно вы можете проверить связь между маршрутизаторами командой ping ipv6 2001:DB8:12::2
c R1 и ping ipv6 2001:DB8:12::1
с R2.