您能拥有子网掩码为 255.255.0.0 的 C 类 IP 地址吗?

您能拥有子网掩码为 255.255.0.0 的 C 类 IP 地址吗?

您能拥有子网掩码为 255.255.0.0 的 C 类 IP 地址吗?

当您有这样的设置时会发生什么?

答案1

IP 类 A、B 和 C 很久以前(1993 年)就被 CIDR 淘汰了。D 类仍在用于多播。现在,只要您拥有受影响的 IP 地址范围,您就可以自由使用任何您想要的掩码。但是,由于您不太可能拥有 256 个连续的“C 类”块,如果您在内部使用这样的掩码但想要与互联网互连,您将面临严重的路由问题。

答案2

如今,子网掩码为 255.255.0.0 的 C 类地址相当于 B 类地址。这是因为子网是旧类别系统的唯一残余,而这一概念如今仅存在于路由表中,用于量化 IP 地址段中的 IP 地址数量。

如果一个追溯历史RFC 7911981 年,子网掩码与问题无关。类别由地址的前几位决定,正是这些位决定了子网。因此,A 类的前几位为 0,B 类的前几位为 10,C 类的前几位为 110,D 类的前几位为 1110(多播),E 类(保留)的前几位为 1111。

这种方案非常浪费 IP 地址,并且没有提供足够的 B 类地址。因此,Classful 网络被替换为无类别域间路由(CIDR),始于 1993 年,其规范为RFC 1518RFC 1519,尝试解决这个问题。

CIDR 表示法是一种指定 IP 地址及其相关路由前缀的语法。它在地址后附加一个斜杠字符和路由前缀的前导非零位的十进制数,例如 IPv4 为 192.168.0.0/16,IPv6 为 2001:db8::/32。(记住子网掩码

为了实现路由目的,CIDR 提供了路由前缀聚合,也称为超级网络或路由汇总。例如,如果网络地址的前 20 位匹配,则可以将 16 个连续的 /24 网络聚合并作为单个 /20 路由通告给更大的网络。然后可以将两个对齐的连续 /20 聚合为 /19,依此类推。这可以显著减少必须通告的路由数量。

有趣的是,在这里,类别再次出现,作为段中可能存在的节点数的度量。请参阅上述文章,了解“1/64 C”和“16 B”等类别的定义。

因为我们有两个称为 Class 的概念,即历史概念和现代概念,所以确实会发生混淆,因为这两个概念都与子网掩码相关(现代概念可能更为相关)。

答案3

我还没有找到任何 RFC 宣称使用“Class”一词后跟 AE 字母已过时。RFC 4632 的说法是:

The solution that the community created was to deprecate the Class A/B/C 
network address assignment system in favor of using "classless",
hierarchical blocks of IP addresses (referred to as prefixes).

仔细阅读那段话并不是要禁止提及阶级,而是为了指出真正的问题,即分配。

我确实同意 RFC 4632 中明确说明了首选命名法:

...the change from Class A/B/C network numbers to
classless prefixes is to make explicit which bits in a 32-bit IPv4
address are interpreted as the network number (or prefix)...

在网络领域工作了一段时间后,我发现有人在谈论“A / B / C / D / E 类”时并没有什么问题,而且我知道有不少 CCIE 不小心说出了“A 类 / B / C / D / E 类”的亵渎言论...幸运的是,没有人需要纠正任何人,因为我们都知道 /8 = A 类,/16 = B 类,而 /24 = C 类。


所以对原帖作者的正确答案是:

是的。192.xxx 至 223.xxx 之间的 IP 地址可以有 /16 前缀 (255.255.0.0)。只有当您提供有关 IP 地址及其使用环境的详细信息时,才能提供进一步的评论和/或最佳实践。

答案4

不可以,因为这会侵犯广播寻址。

相关内容