Краткий ответ: вы используете многоадресные пакеты в python . Я полагаю, что есть также привязки python для avahi , который реализует "ZeroConf", также известный как mDNS / DNS-SD, который реализован поверх многоадресной рассылки и избавит вас от необходимости изобретать велосипед, а также будет более стандартным .
Multicast находится где-то между одноадресной передачей (пакеты идут на один хост) и широковещательной передачей (пакеты идут на все хосты), так что он позволяет хосту (через приложения, работающие на них обычно) регистрировать интерес к определенным группам многоадресной передачи. Многоадресный трафик может проходить как через маршрутизаторы, так и через коммутаторы, с соответствующей поддержкой, и идея состоит в том, что создается минимальное связующее дерево для отправки пакетов всем подписанным хостам. В IPv4 многоадресная передача использует подсеть 224/4. Для IPv6 это ff00 :: / 8. В Ethernet многоадресные адреса отображаются на MAC-адреса (т. Е. Бит многоадресной рассылки установлен на 1 в MAC-адресе), что делает возможной эффективную фильтрацию многоадресных потоков.
Маршрутизаторы, на которых работает RIPv2, например, используют многоадресную рассылку для обнаружения других соседних маршрутизаторов и совместного использования их маршрутов, не беспокоя хостов, которые не заинтересованы в RIP.
mDNS / Bonjour / Rendevouz - это подход к автоматическому обнаружению служб, использующий одну многоадресную группу для обмена сообщениями в стиле DNS со списком доступных служб в локальной сети.