Широковещательные пакеты UDP по подсетям

Можно ли отправить широковещательный пакет UDP в другую подсеть через маршрутизатор? Я пишу приложение для обнаружения определенных устройств в сети, и компьютер может находиться в другой подсети, чем устройства, которые он ищет.


person Jon B    schedule 18.12.2008    source источник


Ответы (3)


И да и нет.

Это действительно выполнимо, если на промежуточных маршрутизаторах не настроено no ip directed-broadcasts или подобное. Однако в наши дни это значение по умолчанию, потому что разрешение обычных широковещательных сообщений проходить через маршрутизаторы является проблемой DoS.

Если вы действительно хотите осуществлять широковещательную передачу по подсетям, вам следует вместо этого использовать IP Multicast. Это по-прежнему требует, чтобы промежуточные маршрутизаторы были настроены соответствующим образом, но это «правильный» способ сделать это.

person Alnitak    schedule 18.12.2008
comment
Как бы вы могли транслировать, каким тогда был бы широковещательный IP-адрес для охвата всех подсетей? - person Gobliins; 16.10.2012

Краткий ответ: Нет.

Длинный ответ: Возможно. DHCP работает таким образом, но маршрутизаторы настроены так, чтобы пропускать широковещательную передачу UDP через порт DHCP. Если бы у вас был полный контроль над сетевым оборудованием, вы могли бы открыть любой / все UDP-порты, чтобы разрешить широковещательную рассылку по подсетям. Не контролируя настройку роутеров, смотрите краткий ответ.

person grieve    schedule 18.12.2008

Привет, Джон,

Маршрутизаторы Cisco обычно содержат режим адреса UDP IP Helper, который можно использовать для пересечения подсети.

person Community    schedule 18.12.2008