是否可以通过路由器将UDP广播数据包发送到不同的子网?我正在编写一个应用程序来发现网络上的某些设备,而PC可能与它正在寻找的设备位于不同的子网上.
是的,不.
它实际上是可行的,只要中间路由器没有no ip directed-broadcasts
配置或类似配置.然而现在这是默认值,因为允许普通广播遍历路由器是一个DoS问题.
如果您真的想要跨子网广播,那么您应该使用IP多播.这仍然需要适当配置中间路由器,但这是"正确"的方式.
简答: 不.
答案很长: 也许吧.DHCP以这种方式工作,但路由器配置为允许UDP通过DHCP端口广播.如果您完全控制网络硬件,则可以打开任何/所有UDP端口以允许跨子网广播.如果不控制路由器的配置,请参阅简短的回答.