据我所知,在 IP 网络中,广播地址可以根据网络和子网掩码自动计算。
即使在 Linux 以太网配置文件中,我们也可以手动设置广播地址,如下所示:
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
**broadcast 192.168.1.255**
那么为什么广播地址需要手动配置,其原因是什么以及在什么情况下自动计算的地址不适用?
答案1
那么为什么广播地址需要手动配置,其原因是什么以及在什么情况下自动计算的地址不适用?
广播地址可手动配置大多因为这是一种很好的做法,可以让用户对他们想要配置的内容拥有更多的灵活性和自由度。
除此之外,我能想到有两个原因需要手动配置广播地址。
IP 定向广播:
这些是指向外部(远程)网络的广播数据包。您可以将广播数据包发送到该网络的广播地址,作为网络网关的路由器会将其转换为第 2 层广播帧并将其转发到网络中的所有主机。但是,这些定向广播通常默认被禁用,因为它们可能被恶意使用,例如,smurf 攻击、DoS 攻击等等。UDP广播数据包转发:
默认情况下,路由器会破坏广播域。但是,由于 DHCP 等服务使用广播数据包工作,因此可以配置路由器将广播数据包转发到特定地址。这可能是 DHCP 服务器的地址、网络上的另一台主机,甚至可能是IP 直接广播地址。
这两种情况都需要手动配置广播地址。第二种情况适用于路由器,但尽管如此,它仍适用于普通主机,具体取决于其配置。
这并不适用于所有路由器,以下示例适用于思科路由器。
您可以阅读更多关于IP 定向广播和UDP广播数据包转发在思科的广播包处理指南(第 3-11 页)。