Cor*_*tle 104 networking ip-address
为什么互联网工程任务组(IETF) 选择192.168/16
成为私有 IP 地址类别而不是其他类别?
为什么特别192.168/16
和10/8
和172.16/12
而不是145.243/16
例如?
是否有理由选择这些 IP 地址作为私有 IP 地址的标准,而不是所有其他可能性?
Mic*_*ton 110
我知道谁选择了这些地址范围。不幸的是,他已经死了,所以我不能问他为什么选择他们,但我可以做出一些有根据的猜测。
在 1990 年代中期之前,网上约会并不多,那时互联网才真正开始腾飞。Internet 存在的历史主要是在定义它的RFC 中,这些定义可以追溯到1969 年,在 ARPANET 开始时。通过它们,您可以看到 Internet 从由几个原始大型机组成的初出茅庐的网络(由当时一些最聪明的人设计)发展到我们几乎无法想象没有今天的网络。
这个答案几乎完全来自那些 RFC,还有一小部分来自我在这个时代在互联网上的个人经验。
首先,IETF 没有选择这些 IP 地址范围或任何其他范围。特殊用途的地址分配是当前和一贯的的工作互联网编号分配机构。
IANA 一直是一个角色,而不是一个特定的组织,而且该角色仅易手一次。目前它由 ICANN 持有,但从1972 年到他于 1998 年去世,当时该组织被创建以取代他,IANA 基本上是一个人,Jon Postel。当然,他首先将这个角色称为套接字号的沙皇,这是他自己承担的一项必要任务,因为它需要完成。他最终成为了几乎所有可以分配的数字的沙皇:地址、协议号、端口,你能想到的,主要是因为他愿意这样做,并且当互联网向公共商业开放时他已经这样做了 20 多年。他分配了编号,然后由互联网注册管理机构(当时的 SRI-NIC,扩展为全球分布式注册管理机构集合)发布它们。
来自 SRI 的最后一份显示 Internet 地址分配列表的RFC是 1990年的RFC 1166。这是一个非常冗长的列表,因此将这些数据移至在线数据库也就不足为奇了。将它与它的前身RFC 1117进行比较,可以看出互联网的扩张速度,即使在它向公众开放之前的几年。
所以,现在我们可以更好地理解RFC 1918 中的地址范围。这实际上是RFC的第二次修订;第一个是RFC 1597,它于两年前于 1994 年 3 月发布。在其鲜为人知的反驳RFC 1627 中,提出了反对私有地址空间的当代论点。RFC 1627 也恰好提到谁分配了三个地址空间。
他们是由 IANA(即 Jon Postel)根据 RFC 1597 的作者的要求分配的,如果可以相信 RFC 1627 中的投诉,他是通过反向渠道而不是通常的开放流程这样做的。您可以看到 RFC 1597 本身直接进入了 RFC 状态,而没有通常的前面的Internet-Drafts,因此它也通过后台渠道批准,同样由 Postel 批准,当时也是 RFC 编辑。因此,可能永远不可能最终回答这个问题。
现在至于他为什么选择这三个地址范围,让我让您重新关注来自 SRI 的 RFC 1166 和 1117,它们具有当时的 IP 地址范围分配。在它们两个中,您会注意到网络 10 仍分配给已于1990 年关闭的已不复存在的ARPANET 。作为 IANA 的 Postel 知道该范围已不再使用,可以重新分配。我假设 Postel 选择了网络 10,因为他知道它可用且未使用。
同样,我希望 Postel 选择 192.168,因为在他做出选择时,它是从前 C 类空间分配的下一个可用网络,或者几乎是下一个可用网络。这可能无法以一种或另一种方式证明,但 RFC 中显示的地址分配速度强烈表明,在 1993 年至 1994 年左右进行分配时,它们会在这个大致范围内。(192.159 中的地址是在 1992 年分配的。没有可用于192.160-192.167 中的分配日期,因为这些地址在某个时候重新分配给了 RIPE。)
回答 172.16-172.31 的这个问题比较困难。我找不到任何东西表明为什么选择这个范围。据我所知,以前的 B 级空间的作业还没有变得那么高。我只能推测 IANA 朝飞镖板投掷飞镖、掷骰子或以其他方式将号码从他的下界地区拉出。
最后,关于 Jon Postel 的说明。尽管在没有社区(初始)输入的情况下,此 RFC 以明显的方式完全形成,但我并不是要暗示,也不应将其解释为,Jon Postel 以某种方式执行 IANA 角色不当或不公平。他是早期互联网上影响最大的人之一,今天每次你瞥见互联网的幕后机器时,你仍然会感受到那种影响,但他总是关心把工作做好。引用一段回忆:
做管理和运营是没有荣耀的。恰恰相反。人们在做得不好时会注意到,但在做得好的时候很少表扬。担任行政职务的人往往成为小官僚。由于这份工作的报酬很少,他们人为地将其作为权力的基础。所以它让一些听到乔恩称为互联网数字“沙皇”的人感到困惑。他们没有意识到社区授予乔恩这个称号是出于对他为基本基础设施服务带来秩序的喜爱和深切赞赏。特别是社区使用该术语时完全知道 Jon 将他的职位视为信任,而不是作为个人权力的机会。我们一直都知道他的观点来自合法的信仰,我们从不担心他会以某种方式考虑政治或个人利益。我们可能不同意他的观点,但我们总是知道首先是出于对做正确事情的担忧。
C. *_* M. 30
因为在当时有意义?:-D
请记住,在分配私有 IP 地址范围时,网络工程师必须解决几个问题:当时一些最强大的路由器的 CPU 能力和 RAM 存储量与今天的袖珍图形计算器差不多——还有一些今天的路由器仍然围绕着过去几年的路由器运行(我记得当时 CPU 速度以千赫兹为单位,RAM 存储以千字节为单位,而不是像今天这样的千兆*!)。互联网发展迅速,IPv4地址空间是有限的,看起来它会在 2000 年左右用完,等等。因此,已经分配了许多 IP 地址范围,他们不想要求公司归还 IP 地址范围,以便他们可以将它们重新分配给私有范围。他们还想尝试让公司尽可能轻松地与私有范围合作——如果他们不得不投入大量资金来使他们的网络能够应对一两打范围/IP,那么很少有公司会合作地址在这里和那里。
诚然,这部分是我的猜测,但主要基于建立网络的逻辑和经验。他们可能收集了所有未分配网络编号的列表,并寻找符合所需标准的区分模式:一个单一的类A(网络号中高位为0xxxxxxx二进制的网络号为A类)、16个B类(网络号10xxxxxx二进制)、256个C类(网络号110xxxx二进制)地址。B 类和 C 类地址也应该都是连续的。(选择 16 和 256 可能部分是武断的——在做这些事情一段时间后,你倾向于开始考虑 2 的幂——可能部分是因为它是可以找到的可供预订的东西。)
由此,他们可能从那些可用地址中选择了最终范围,这将允许路由器制造商对地址进行简单的逐位测试,以确定是否路由/转发/丢弃数据包。我还可以看到位模式的一些属性也有助于构建紧凑的 NAT 表。10.xyz 地址很明显,因为它只需要匹配一个网络号。172.16.yz 到 172.32.yz 的模式是,如果你用低四位交叉引用高四位来构建一个表,整个范围会填充表的一行,而不会分成两行-- 也就是说,第二个八位字节总是 0001xxxx(二进制)。在 192.168.yz 中,168 的二进制是 10101000——即低三位始终为 0,高 5 位交替使用 1 和 0。
虽然这些可能看起来很随意,但如果您曾经做过任何机器语言编程或微码解码,这些类型的模式允许您只测试几个位来做出私有/公共决定,而不必先解码整个 IP 地址。这将允许路由器快速处理此类地址,而无需在内存中维护大量查找表。因此,路由器可以将专用网络数据包推回专用网络,而无需先对其进行完全解码,从而节省了路由器和网络速度的宝贵时钟周期。
如果您很好奇,请查看串行数据传输(如UART) 处理数据的每个字节:它一次只能以控制时钟的速度发送/接收一个位,并且通常以附加位(例如奇偶校验和“同步”位)对数据进行帧处理。尝试一次计算整个字节的奇偶校验之类的东西太耗时了,因此,它会在每个时钟周期维护一个特殊位。该位被下一个移入/移出发送/接收寄存器的位修改。一旦发送/接收整个字节,奇偶校验位中剩余的值就已经正确,无需重新计算。这个概念或多或少是“在做其他事情的同时做工作”,在串行芯片的情况下,它在发送/接收的同时计算奇偶校验。对于路由器/交换机,
此外,根据我从事此类工作 25 年的经验,这只是我的逻辑/猜测。我不知道我们是否会知道最终选择的数字背后的确切原因,因为我不记得有任何论文/RFC/等。永远给出完整的理由。我见过的最接近的只是一些评论,这些评论表明所选择的范围应该使公司以最少的努力/投资/重新设计来使用它们相对容易和高效。
use*_*971 21
在原始 Internet 中,现在表示为 10.0.0.0/8 的网络被分配给了ARPANET。当 IETF 和 IANA 开始分配私有地址范围时,ARPANET 已不复存在,其以前的地址空间可供私有使用。
除了上述 A 类之外,另外两个范围使 B 类和 C 类网络可用于私有 IP。
Fra*_*mas 16
因为192以二进制11xxxxxx开头,表示是C类网络。它是以两个连续的 1 开头的最小数字。A 类的最高位为 0,B 类为 10。
RFC 1918定义了私有 IP 范围,在这一点上没有澄清,所以他们为什么选择 .168 作为 16 位块没有明确的答案,但我认为这是因为 RFC 直到 1996 年才发布,在已经进行了大量注册之后。因为 192 是 C 类分配中的第一个 8 位块,所以很可能许多地址已经被占用。168 可能是第一个可用的。
还要记住,其中一些选择是任意的。请注意,rfc1918 B 类范围是 172.16 - 172.31?我想不出 172 的原因,但我很确定他们选择使用 16 个 B 类,因此他们有一个包含 100 万个连续地址 (1048576) 的块。
有时协议就是这样。有人必须做出选择,而他们做出了选择。有一段时间,Linux 内核被限制为每个系统最多 1024 个 CPU,最终他们不得不在一些超级计算机出现问题后发布补丁。决定使用 1024 的人可能没有充分的理由这样做,只是他需要一个值,而 1024 又好又圆。
Dar*_*oid 16
这是Classful Networking的残余,其中 IPv4 地址范围被细分为多个类:
我们从那以后(在 1993 年)转向了无类域间路由,但是这些类在不同的地方仍然有它们的遗产(127 网络是“家庭/环回” - 127.0.0.1 任何人?,192.168.X 对于家庭来说是常见的路由器,10网在比较“企业”的网络硬件中比较常见,组播还是组播。
小智 12
RFC 解释了我们分别从“A 类、B 类和 C 类”中选择三个范围的原因:CIDR 已被指定但尚未广泛实施。那里有大量设备仍然是“有等级的”。
据我回忆,特定范围的选择如下:
10/8:阿帕网刚刚被关闭。我们中的一个人建议这样做,Jon 认为这是对这个“历史”地址块的很好的重用。我们还怀疑“net 10”可能在某些地方被硬编码,因此将它重新用于私有地址空间而不是在 AS 间路由中可能具有将这种愚蠢保持在本地的轻微优势。
172.16/12:B 类空间中最低的未分配 /12。
192.168/16:C 类区块 192/8 中最低的未分配 /16。
总而言之:IANA 分配了这个空间,就像它用于任何其他目的一样。作为 IANA,Jon 非常一致,除非有充分的理由发挥创造力。
Daniel(RFC1918 的合著者)
归档时间: |
|
查看次数: |
16753 次 |
最近记录: |