为什么不能将网络地址也用作广播地址?

网络工程 ipv4 ip 子网 IP地址 播送
2021-07-20 03:25:03

我正在复习网络知识,我发现:

  • 网络地址是0子网掩码后全为s的 IP 地址
  • 广播地址是1子网掩码后全为s的 IP 地址

当一个 IP 地址足够时,在子网中保留两个 IP 地址有什么意义?

3个回答

当一个 IP 地址足够时,在子网中保留两个 IP 地址有什么意义?

[...] 如果理论上可行,为什么要避免?

我们与历史共存。网络地址广播地址之间的区别不像现在那么清晰。有些软件将全 0 视为广播,有些软件允许它作为主机,有些则不允许。

与其确切地找出当前和未来网络中的所有内容都需要什么,您可以“浪费”地址以避免任何潜在的不兼容。对于许多组织而言,互操作性是 IP 最重要的特征。

RFC“ Internet 主机的要求——通信层”(在 RFC 791 的相应部分之后)是这样写的:

     1.2.2  Robustness Principle

     At every layer of the protocols, there is a general rule whose
     application can lead to enormous benefits in robustness and
     interoperability:

            "Be liberal in what you accept, and
             conservative in what you send"

您必须记住,当时,其中许多事情都是实验性的,并且在您拥有数百万个主机之后,做某事的最佳方式可能不会变得显而易见。此外,IP 的设计正在与许多其他专有和商业网络协议竞争;它成为主导的原因之一正是因为这种多供应商、多时代的兼容性。

因此,作为我们可以实际使用的实际网络的价格的一部分,我们忍受着这个小皱纹以及许多其他问题,而不是理论上的网络,后者在小方面可能会更好。

当一个 IP 地址足够时,在子网中保留两个 IP 地址有什么意义?

网络地址和广播地址是不同的东西。网络地址用于将子网作为一个整体来引用,例如在路由表中。广播地址用于将数据报寻址到子网内的所有主机

有时也可以对主机使用全零地址。但这并没有得到很好的支持,应该避免。

也RFC 3021见https://www.rfc-editor.org/rfc/rfc3021 ......有时主机使用的网络地址和广播地址的IS支持。

回到过去,当 CPU 资源稀缺时,使用此类地址是完全可以理解的,因为您可以使用带有XORAND的简单逻辑计算来决定是否应该路由数据包。