为什么IPv4只有4个数字

时间:2020-01-28 09:10:59

标签: ipv4

是的,这听起来很愚蠢,但直到现在我都无法弄清。
由于Ip耗尽,人们发现有多种方法可以更有效地使用Ips。
但是为什么没有人试图在前面的4之后加上第5个数字呢?
我的意思是127.0.0.1-> 127.0.0.1.0
为什么我们在必要时不向Ip添加更多的数字,以便可以解决耗尽问题?

-编辑-
我的意思不仅是将格式从32位扩展到128位,而且为什么我们不能动态地做到这一点?为什么我们不只是说我们保留4个字节为标准字节,但是我们可以将其扩大为更多字节以防万一?

3 个答案:

答案 0 :(得分:2)

IPv4使用 32位地址,其大小在Internet层中是标准固定的,以供不同的客户端识别。但是,随着ipv4耗尽,我们提出了一个新标准IPv6,该标准使用了更大的 128位地址以及许多其他改进

您在IPv4地址中看到的数字实际上只是转换为易于读取的字节的32位。

更新

为什么不动态扩展它?

让我们接收一个数据包:这只是一个比特流,该比特流旨在(大多数时候)由PC读取,但也需要您的网络设备读取,它们需要对这些数据包进行操作,并且它们需要做到这一点并尽可能减少延迟。

那么路由器将如何在1秒钟内处理约1Gb的数据,而无需进行任何复杂的计算(这只是路由器,它没有实际的功率)?我们有一个模型(OSI Model)指定具有标准的层,这些标准对于简单的网络设备来说真的很容易解析。 IPv4是一种适用于Network layer的标准。它的地址大小固定,因此路由器基本上希望读取4个字节(32位)作为地址,然后再读取其他内容。

如果我们需要使它们具有可扩展性,那么我们就必须对路由器进行重新编程以读取ex的字节数。然后读取该字节数。听起来容易吗?这些不良的路由器具有必须读取的预定义字节数(这在我们在IPv4中所做的,在IPv6中有所增加),要更快/更便宜,并且我们必须对路由器进行重新编程以接受该新标准(IPv6 )旧路由器根本无法识别IPv6(我们确实有一些备用机制来简化交易)。

答案 1 :(得分:2)

让我回答实际的问题,其他人似乎都不这样做:

我的意思不仅是将格式从32位扩展到128位,还为什么不能 我们是动态的吗?

因为这不是广泛发布的标准的工作原理。您需要在这里了解两件事:

  • IP必须在超低端硬件或专用的高吞吐量硬件上工作,您是否想使事情易于处理。
  • 这是已发布的标准。除非每个人都可以更新其处理过程,否则更改将导致严重的问题。

IPv6早就发布了,到目前为止它的普及率很低。您提出的建议将遇到相同的问题-除非参与数据包交换的每个人都可以处理它,否则它将是有问题的。因此,这是有问题的,并且需要很长时间。

是的,我们可能添加了动态添加的第5个字节而不是128位数字,但是他们决定一次进行一次更新-而且由于人们不升级自己的产品,很多人陷入了许多困境。代码没有理由。如您所建议的,任何较小的更新都将面临相同的问题。除非每个人都进行更新,否则您将无法使用新修改的协议。

也:

那么路由器将如何在1秒钟内处理约1Gb的数据,而无需执行任何操作 复杂的计算(它只是一个路由器,它没有包装实际的功率

严重的是,路由器确实具有强大的功能,包括用于处理高端场景的专用芯片。交换机通常是低功率硬件,并且针对低端产品进行了价格优化,但是真正的路由器-您似乎认为1gb很大。如今,路由器可以处理多个10gb流,并可以通过GBP更新千兆字节的大型路由表。高端路由器涉及强大的功能。我知道100g路由器/交换机组合实际上是通过ASIC在硬件中进行IP路由的。每个端口100克。以防万一。这些是第2层交换机,实际上,它们可以进行完整的路由,只是-专门的硬件。

https://www.mellanox.com/related-docs/prod_eth_switches/BR_SN3000_Series.pdf

在下端:

https://mikrotik.com/product/CCR1072-1G-8Splus

这是中低端路由器。最多可处理5x10g。包含72核心处理器。而且这是低端产品,并且由于在路由表处理方面没有足够的功能来支持GBP而屡屡被口臭。一旦甚至在Mikrotik上就需要更高的吞吐量,您就可以选择Xeon。

而且,没有人真正在乎那里的数据量-都是关于PPC-每秒的数据包-不管包装上有多少有效负载(处理只是转发)。因为有很多应用程序都依赖频繁的小数据包来最大程度地减少延迟。

答案 2 :(得分:-1)

有很多方法可以解决IPv4号码耗尽的问题。私人地址,网络地址翻译等。

例如,您提出的建议已经存在,并且实际上是IPv6(0.0.0.0.0.0.0.0)。但是它与IPv4向后不兼容。您不能只添加一个额外的数字,并希望它能在较旧的系统上运行,因为它不会。