Answers:
广播地址总是相对于给定的网络,本身就没有广播。当您有网络时,可以通过将所有主机位替换为1来计算其广播地址;简而言之,广播地址是网络上可以编号的最高地址,而网络地址是最低的地址(所有主机位均设置为0);这就是为什么您不能将它们中的任何一个用作实际主机地址的原因:它们是为此用途保留的。
如果您的网络为192.168.1.0/24,则您的网络地址将为192.168.1.0,广播地址将为192.168.1.255。
如果您的网络为192.168.0.0/16,则您的网络地址将为192.168.0.0,广播地址将为192.168.255.255。
等等...
255.255.255.255是一个特殊的广播地址,表示“此网络”:它使您可以将广播数据包发送到所连接的网络,而无需关心其地址;在此类似于127.0.0.1,这是一个虚拟地址,表示“本地主机”。
原则上,255.255.255.255是“全局”广播地址,这意味着IP堆栈应该将数据包发送到所有网络接口,而配置为转发广播的路由器应该继续发送。
实际上,几乎没有路由器转发广播,许多堆栈只是将数据包的一个副本发送到默认路由所指向的接口。
子网广播地址用于选择特定的接口。在这两种情况下,这些都应映射到网络层广播地址(对于以太网,将为FF:FF:FF:FF:FF:FF)。
通常,使用255.255.255.255是个坏主意,因为在许多设置中,具有默认路由的接口是错误的选择。显式选择接口比较好,但是需要仔细进行。
我的其他建议是使用多播,如果这对您的应用程序有意义。与广播流量相同的警告仍然适用,但这允许不感兴趣的主机快速识别您的数据包,并且允许网络管理员为您的协议设置特定的转发规则。