到目前为止,我看到的标准是对本地网络上的设备使用 192.168.*.* IP 地址。
为什么是这个组合?如果是我,我会选择更简单的,比如 1.0.*.*。历史原因是什么?
到目前为止,我看到的标准是对本地网络上的设备使用 192.168.*.* IP 地址。
为什么是这个组合?如果是我,我会选择更简单的,比如 1.0.*.*。历史原因是什么?
注意:除非我们能得到RFC 1918 / RFC 1597的原始作者之一或当时(1994-1996)来自 InterNIC/RIPE NCC 的人的评论,否则我们可能只能猜测,这个问题的答案是主要基于意见。*
根据RFC 1918,以下三个范围保留用于专用网络:
10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
这就是为什么您会看到它们用于本地网络上的设备的原因。
这三个“私有”地址范围中的至少一部分背后的推理相当简单,但同样在逻辑之外,这些都是基于我多年来阅读的猜测。
Class A
0. 0. 0. 0 = 00000000.00000000.00000000.00000000
127.255.255.255 = 01111111.11111111.11111111.11111111
0nnnnnnn.HHHHHHHH.HHHHHHHH.HHHHHHHH
Class B
128. 0. 0. 0 = 10000000.00000000.00000000.00000000
191.255.255.255 = 10111111.11111111.11111111.11111111
10nnnnnn.nnnnnnnn.HHHHHHHH.HHHHHHHH
Class C
192. 0. 0. 0 = 11000000.00000000.00000000.00000000
223.255.255.255 = 11011111.11111111.11111111.11111111
110nnnnn.nnnnnnnn.nnnnnnnn.HHHHHHHH
Class D
224. 0. 0. 0 = 11100000.00000000.00000000.00000000
239.255.255.255 = 11101111.11111111.11111111.11111111
1110XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX
Class E
240. 0. 0. 0 = 11110000.00000000.00000000.00000000
255.255.255.255 = 11111111.11111111.11111111.11111111
1111XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX
如您所见,三个 RFC1918 范围中的每一个都从旧的“有类”网络范围之一中切出一个私有块。(在这种情况下,A 类、B 类和 C 类。)
引用邓布利多的话, “从这一点开始,我们将离开坚实的事实基础,一起穿越记忆的阴暗沼泽,进入最疯狂的猜测丛林。”
在RFC 1918(1996 年 2 月)开始之前,IANA已经分配地址多年。(实际上,私有范围于 1994年3 月在RFC 1597中首次提出。)例如,如果您进行查找,您可以看到级别 3 在 1992-12-01 分配了此块。whois 8.0.0.0
因此可以假设 RFC1918 的作者必须与 IANA/ Jon Postel 合作才能找到可用范围,从而为我们提供了上面列出的私有范围。
但同样,除非有人直接参与该过程*,否则这可能仍然是猜测。
*或者只是拥有比我更好的 Google-foo 的人。我无法找到此信息的良好主要来源。
正如其他人指出的那样,RFC1918定义了 3 个私有 IP 范围。1996 年,周围仍然存在不支持CIDR 的遗留设备,因此为每个类别创建了一个范围。B类地址从128.0.0.0开始,C类地址从192.0.0.0开始;选择 168 只是因为它未分配。
但这又引发了另一个问题——为什么需要 C 级范围?既然类 A、B 和 C 之间的唯一区别是网络大小,为什么不直接使用 10.0.0.0/8?根据 RFC1918:
如果能够设计出合适的子网划分方案并得到相关设备的支持,则建议使用私有地址空间的24位块(A类网络),并制定具有良好增长路径的寻址计划。如果子网划分有问题,可以使用私有地址空间的 16 位块(C 类网络)或 20 位块(B 类网络)。
我不确定作者在考虑子网划分时究竟会出现什么样的“问题”。也许由于内存限制,某些 CIDR 之前的硬件不支持 A 类网络(尽管您会认为重要的是主机数量,而不是潜在主机的数量)。
此外,C 类网络是 /24s,即使 192.168.xx 是 /16 — 所以在有类网络中 192.168.xx 实际上包含 256 个子网。这对于想要在 CIDR 之前的硬件上运行私有子网的大型组织可能很有用。
请使用 10.0.0.0 - 10.255.255.255,根据RFC 6890,第 6 页。
我曾经认为回答历史问题是个好主意,但由于糟糕的吸血鬼经历,我想避免定期这样做。在这种情况下似乎没有必要。10.0.0.0/8 已经足够简单了。