
Я пытаюсь понять, как работает команда ping в такой ситуации:
Адрес IPv6 хоста A: 2001:A::A (MAC-адрес AA-BB-CC-00-11-22)
Адрес Ipv6 хоста B: 2001:B::B (MAC-адрес 22-44-66-00-EE-DD)
Эти два хоста подключены к маршрутизатору, у которого есть по одному интерфейсу для каждого отдельного префикса, например, хост A подключен к интерфейсу маршрутизатора 2001:A::1 (MAC 77-88-99-00-DD-22), а хост B подключен к интерфейсу маршрутизатора 2001:B::1 (MAC 11-66-AA-00-33-88).
Предположим, что кэши на всех устройствах пусты, включая маршрутизатор. Каковы должны быть последствия команды ping из A в B? ping 2001:B::B
1) хост A запрашивает маршрутизатор для своего шлюза по умолчанию (A нужен MAC)
2) объявление маршрутизатора от маршрутизатора к хосту A
3) эхо-запрос icmp от A к маршрутизатору (от MAC-адреса A к MAC-адресу маршрутизатора)
4) Должен ли маршрутизатор выполнять обнаружение соседей, чтобы найти MAC-адрес B или нет?
Все остальное является следствием пункта 4.
Спасибо
решение1
Насколько я понимаю, шаги 1 и 2 не являются функцией запроса ICMP, а просто связаны с подключением к сети IPv6. Это отличается от IPv4 тем, что NIC может оставаться тихим и просто слушать сетевой трафик при определенных обстоятельствах, пока либо его хост не получит что-то для передачи, либо в ответ на широковещательную передачу канального уровня.
RA из шага 2 номинально назначает себя шлюзом по умолчанию.
Поэтому, когда хост A отправляет эхо-запрос ICMPv6 хосту, не находящемуся в локальной сети, он будет передавать его по одноадресной рассылке на IPv6-адрес маршрутизатора, в данном случае 2001:A::1. MAC-адрес интерфейса маршрутизатора уже был объявлен на этапе обнаружения соседей, поэтому никаких дополнительных ARP-запросов создавать не нужно: хост A будет иметь предварительно сопоставленный 2001:A::A (MAC-адрес AA-BB-CC-00-11-22).
Маршрутизатор получит пакет от хоста A для хоста B. Маршрутизатор знает, что хост B напрямую подключен к интерфейсу 2001:B::1, а также MAC-адрес хоста B, поэтому он будет передавать одноадресный запрос ICMPv6 на хост B.
MAC-адрес хоста B уже был бы определен независимо от запроса ICMPv6, когда хост B был впервые подключен к маршрутизатору. Это отличается от IPv4, в котором маршрутизатор должен был бы выполнить широковещательную who-has
передачу ARP на интерфейсе B при получении пакета для хоста в сети B.