#sockets #networking #multicast #broadcast
#сокеты #сеть #многоадресная рассылка #широковещательная передача
Вопрос:
Я работаю с устройством, которое отправляет UDP-пакеты по адресу многоадресной рассылки, однако я вижу некоторые пакеты, адресованные IP-адресу группы многоадресной рассылки с MAC-адресом FFFF.FFFF.FFFF. Из того, что я прочитал, я предполагаю, что это попытка широковещательной передачи по всей сети из группы многоадресной рассылки.
Вот что я знаю:
Многоадресная рассылка отправляет пакеты только на устройства, которые «подписаны» на группу многоадресной рассылки. Каждая группа многоадресной рассылки обычно имеет свой собственный MAC-адрес на основе IP-адреса группы многоадресной рассылки. Следовательно, пакет многоадресной рассылки можно определить, посмотрев на адрес многоадресной рассылки.
Широковещательная передача отправляется на каждое устройство в сети. Для отправки широковещательной рассылки MAC-адрес назначения должен быть установлен в FFFF.FFFF.FFFF. Я также слышал, что широковещательные рассылки можно рассматривать как особый случай многоадресной рассылки. Поэтому мой вопрос заключается в том, является ли установка MAC-адреса назначения в FFFF.FFFF.FFFF единственным изменением, необходимым для изменения фрейма многоадресной рассылки на широковещательный фрейм? Если нет, что еще нужно изменить?
Ответ №1:
Многоадресная рассылка отправляет пакеты только на устройства, которые «подписаны» на группу многоадресной рассылки.
Не совсем. Он отправляет в подсети, которые содержат членов группы.
Каждая группа многоадресной рассылки обычно имеет свой собственный MAC-адрес на основе IP-адреса группы многоадресной рассылки.
Нет.
Следовательно, пакет многоадресной рассылки можно определить, посмотрев на адрес многоадресной рассылки.
Я подозреваю, что вы хотели сказать «MAC-адрес» здесь, и в вашем названии тоже, что неверно, но то, что вы на самом деле сказали, более или менее правильно. Вы можете определить пакет многоадресной рассылки, посмотрев на IP-адрес назначения, чтобы увидеть, является ли это адресом многоадресной рассылки.
Широковещательная передача отправляется на каждое устройство в сети.
Правильно.
Для отправки широковещательной рассылки MAC-адрес назначения должен быть установлен в FFFF.FFFF.FFFF.
IP-адрес назначения должен быть установлен на широковещательный адрес подсети.
Я также слышал, что широковещательные рассылки можно рассматривать как особый случай многоадресной рассылки.
Нет. Механизмы совершенно разные.
Поэтому мой вопрос заключается в том, является ли установка MAC-адреса назначения в FFFF.FFFF.FFFF единственным изменением, необходимым для изменения фрейма многоадресной рассылки на широковещательный фрейм?
Нет, см. Выше.
Комментарии:
1. Привет, EJP, спасибо за ответ. Пара вопросов… Если у групп многоадресной рассылки нет своего MAC-адреса на основе их IP-адреса, то что определяет их уникальный MAC-адрес? Насколько я понимаю, он был связан с IP-адресом группы многоадресной рассылки, но, похоже, это не так. Я работаю с устройством, которое, как указано в документации, использует многоадресные пакеты UDP, отправляемые на многоадресный IP. То, что я вижу с помощью wireshark, — это UDP-пакет, отправленный на IP-адрес многоадресной рассылки, однако для MAC-адреса назначения установлено значение FFFF.FFFF.FFFF. Поэтому я пытаюсь определить, действительно ли это широковещательная или многоадресная рассылка?
2. У них вообще нет уникального MAC, как показывает ваш пример. И это не имеет значения. Дейтаграмма является многоадресной, если она отправляется на адрес многоадресной рассылки.