Я разработчик программного обеспечения и только что получил бесплатную книгу о IPv6 на Techdays, которую я читаю для удовольствия. Они отдали его, потому что это немного старая книга (W2008), так что, может быть, все обстоит иначе для других / более новых ОС, но я не понимаю, почему Neighbor Discovery должен получить MAC-адрес.
Согласно книге, каждый узел автоматически получает локальный IP-адрес канала, который создается из MAC-адреса путем вставки FF-FE
между 3-м и 4-м байтами и переключения бита U / L, так что локальный IP-адрес канала для узел с MAC-адресом 00-AA-00-3F-2A-1C
становится FE80::2AA:FF:FE:3F:2A1C
.
Чтобы определить MAC-адрес канального уровня, на локальный IP-адрес отправляется сообщение с запросом соседа, которое отвечает сообщением, содержащим его MAC-адрес ... Но отправитель уже знает это, поскольку MAC закодирован в канальном канале. локальный IP-адрес. Так что это похоже на отправку открытки кому-то с просьбой указать его адрес.
Итак, вы либо неправильно поняли, либо были дезинформированы о нескольких вещах.
Используя SLAAC, хост может создать свою собственную IPv6-адресацию, используя свой MAC-адрес, но многие думали, что это опасно, отдавая слишком много информации и позволяя отслеживать конкретный хост. Исходя из этого, были разработаны расширения конфиденциальности и произвольная адресация, и они используются операционными системами для обеспечения конфиденциальности / безопасности. Это означает, что хост может создавать свою собственную адресацию, не основываясь на своем MAC-адресе.
Когда хост должен обнаружить MAC-адрес соседа в IPv4, он использует ARP. ARP транслирует запрос, но IPv6 не имеет трансляции. Вместо этого каждый хост должен присоединиться к многоадресной группе запрашиваемого узла. Эта группа основана на последних 24 битах своего адреса IPv6. Поскольку интерфейсы IPv6 могут иметь любое количество адресов IPv6, хост может присоединиться к нескольким группам многоадресной рассылки запрашиваемого узла. Узел IPv6, ищущий MAC-адрес другого узла, отправит многоадресный запрос в группу многоадресной рассылки запрашиваемого узла целевого адреса IPv6.
Это обеспечивает преимущество перед ARP IPv4. Поскольку ARP использует широковещательную рассылку для запросов, она прерывает каждый хост в широковещательном домене уровня 2. Поскольку многоадресная группа запрашиваемого узла использует последние 24 бита целевого IPv6-адреса, запрос многоадресной рассылки ND, вероятно, прервет только целевой хост или, возможно, один или два других хоста в широковещательном домене уровня 2.
источник