Назад | Перейти на главную страницу

Отчет о многоадресном прослушивателе, версия 2

Я использую протокол ICMPv6 и сделал захват с помощью wirehark. В кадре у меня есть отчетное сообщение о многоадресном прослушивателе v2. Некоторые из них имеют исходный ip, локальный адрес ссылки ipv6, но некоторые из них имеют :: в качестве исходного адреса? Скажите, пожалуйста, почему отправляются сообщения отчета Multicast Listener v2 с адресом :: source?

Спасибо!

RFC 3810 раздел 5.2.13 объясняет это:

Отчет MLDv2 ДОЛЖЕН быть отправлен с действительным локальным адресом источника IPv6 или неуказанным адресом (: :), если отправляющий интерфейс еще не получил действительный локальный адрес канала. Отправка отчетов с неуказанным адресом разрешена для поддержки использования многоадресной IP-рассылки в протоколе обнаружения соседей [RFC2461]. Для автоконфигурации без сохранения состояния, как определено в [RFC2462], узел должен присоединиться к нескольким группам многоадресной рассылки IPv6, чтобы выполнить обнаружение повторяющегося адреса (DAD). До DAD единственный адрес отправляющего интерфейса, который имеет узел отчетности, был предварительным, и его нельзя было использовать для связи. Таким образом, необходимо использовать неуказанный адрес.

Это отличается от поведения MLDv1. RFC 3590 раздел 3 объясняет причины изменения более подробно.

В [RFC 2710], Раздел 3 требует, чтобы все сообщения MLD отправлялись с действительным локальным адресом источника IPv6. Однако узел, выполняющий обнаружение повторяющегося адреса для своего локального адреса канала (LL), не будет иметь доступного адреса для использования в качестве адреса источника. По этой причине этот документ позволяет использовать неуказанный адрес в качестве адреса источника для сообщений MLD, используемых во время обнаружения дублирующихся адресов.

Несоответствия в правилах, определенных в [RFC 2710] и [RFC 2462], привели к проблемам с реализацией. Некоторые реализации IPv6 пропускают отправку сообщений MLD Report во время обнаружения дублирующихся адресов, поскольку у них нет действительного локального адреса канала. Это приводит к эксплуатационным проблемам, когда узел подключен к коммутаторам, которые выполняют отслеживание MLD. В этом сценарии обнаружение дублирующихся адресов (DAD) завершится успешно, и после ввода адреса в действие могут возникнуть коллизии, поскольку коммутаторы могли не перенаправить сообщения DAD на все узлы в канале, как требуется. Этот документ устраняет эту проблему, указывая, что отчеты MLD должны отправляться с использованием неопределенного адреса источника до запуска DAD, чтобы гарантировать, что сообщения, отправленные на адреса многоадресной рассылки LL (например, включая MLD), пересылаются на все соответствующие узлы по мере необходимости.