是的,考虑这一点的简单方法是,子网掩码一开始始终为1。如果在二进制表示的开始处,子网大小指示符没有1,那么我会说,使用现代标准,子网大小指示符不是正确的“子网掩码”。
RFC 1219指出,较早的RFC 950允许不连续的位。实际上,RFC 950第15页(第3节)中显然有一个“说明非连续子网位”的示例。但是,无法将此类子网转换为CIDR表示法。CIDR样式表示法是IPv6使用的(至少自RFC 1884第7页(第2.4节的第一句话)以来,所以IPv6网络从未广泛支持非连续位。RFC 1219的方法指定“从最高有效位开始分配子网位(掩码= 1)走向最小”。(Sami的答案提到的RFC 4632第3.1节指向讨论CIDR表示法的正式标准。)
RFC 1878第2页显示了除以外的所有IPv4子网的标准“子网掩码”符号/0
。
但是,我将详细解释萨米人的答案,并探讨“为什么”(举一个具体的例子,正如问题所要求的那样)...
某些专业级的思科设备支持一种称为“通配符掩码”的功能,该功能会将位反转。因此,普通子网可以用表示00000000.00000000.00000000.11111111
。
使用思科的通配符掩码,没有规则规定所有零都必须先走。这样就可以使用了00000000.00000000.00000000.11111110
。
最终将创建一个包含所有偶数IP地址的组。
知道这一点实际上很重要,因为思科的培训涵盖了这一点,因此思科专业认证的考试过程可能会问到这一点。
但是,我认为这几乎没有用。不用通过使用偶数地址或奇数地址将网络划分为一半,而是可以通过将普通子网的大小减半来使用低数地址和高数地址将网络划分为两半。
具有非连续位的通配符掩码并不是非常有用,并且使用起来可能更具挑战性。子网掩码位设置为1的意思是,该位有助于识别设备所在的子网。没有令人信服的理由将这些位散布到整个地址中,而不仅仅是在地址的开头将它们很好地分组。结果是,支持这些类型的面罩会增加复杂性,而没有太多实质性的好处。
我猜想思科最终同意这种非传统的子网掩码是没有意义的,因为它们最终放弃了对“通配符掩码”的支持,较旧的Pix防火墙支持“通配符掩码”,但是较新的ASA单元使用标准的“子网掩码”代替。 。
我什至不会尝试在掩码中使用不连续的“子网位”构建网络,因为许多软件会遵循更新的趋势/标准,并拒绝这种网络设计。即使使用的是较旧的软件,我也可能希望能够轻松修改我的网络,以能够使用较新的软件,而无需重新设计网络。因此,连续的“子网位”是唯一的方法。
如果您在测试中被问到问题,我会很自信地说所有1都必须在地址的开头。这就是任何理智的测试人员都希望大多数学生在这个时代学习的东西。