我的问题是针对 C 语言的 Linux。
假设子网 /16 上的主机 A 正在发送广播 UDP 数据包。(即通过广播到 xxx.xxx.255.255)
子网掩码 /24 的子网中的主机 B 有没有办法接收该广播?
我在主机 B 上的测试程序在正确的端口上等待,但如果 A 发送到 xxx.xxx.255.255,则不会收到任何内容。但是在使用 xxx.xxx.xxx.255 时会这样。
此外,我有以下限制:1.我无法更改网络配置,2.在主机 A 上运行的旧程序也无法更改。
谢谢!
不,听起来您的网络配置不正确。
您不能有重叠的网络。要么你有一个 /16 网络,并且/16 内的每个主机都255.255.0.0
用作网络掩码;或者您已将其分解为较小的网络,在这种情况下,每个较小的网络都有自己的网络掩码和广播地址。
尝试广播到计算机所在的子网。xx?.255
例如
ip is 24.234.123.?
broadcast to 24.234.123.255
由于计算机被锁定到子网 /24,它只会被锁定到其范围内的 ip。
并且它的广播在它的范围内。