IP 寻址 - 为什么保留子网 id 位中的全零 (0) 和全一 (1)?

网络工程 ip IPv4 子网 IP地址
2022-02-22 06:46:57

我正在研究类少域间路由。

我知道0主机 id 位中的全零 () 指的是子网地址,1主机 ID 位中的全一 () 指的是广播地址。所以,这些是保留的。e 但是为什么保留子网 id 位中的全零或全一?

主机 id中的 all 0s 或 all s可能是类似的原因吗?1

例子:

假设域地址是:200.241.112.0/21
子网掩码是:11111111 11111111 11111111 11000000
二进制域地址(粗体位是子网位):11001000 11110001 01110 000 00 000000
我的阅读材料说,2^5 - 2 = 30 个子网是可能的。两个保留的子网 ID 减去 2。

1个回答

您所指的材料完全是错误的和过时的。RFC 1878,IPv4 的可变长度子网表(1995 年 12 月)对此进行了解释:

子网和网络

可用网络和主机地址的数量来自用于子网掩码的位数。下表描述了子网划分位数以及生成的网络、广播地址和主机地址。请注意,根据当前使用所有可定义子网的基于标准的实践,表 1-1 和表 1-2 中包含全零和全一子网[ 4 ]。

您的(不正确的)阅读材料确实将 CIDR(无类域间路由)与有类寻址的旧做法混为一谈。在有类寻址下,子网是一个掩码长于自然类掩码的网络,并且一个有类网络的所有子网必须具有相同的大小。

在 CIDR(1993 年的 RFC 1517、1518 和 1519)下,没有更多的网络类,每个网络都是0.0.0.0/0. 较大网络的子网可以是可变大小的,并且不可能确定可变子网化网络的全零和全一子网是什么,因为全零和全一子网可以进一步划分子网。

保留全零和全一子网的做法随着网络类而消失。


子网这个术语实际上并不意味着它曾经的意思。它曾经表示具有比该类的自然掩码更长的掩码的网络。在 CIDR 和 VLSM 下,subnet 通常是动词,意思是将任意大小的网络划分为较大的网络(较小的主机),或者通常用于指代从较小的网络(较大的主机)派生的网络。今天,任何规模的网络实际上只是一个网络,因为所有网络都是网络的子网0.0.0.0/0