计算机处理器从32位移至64位。为什么IP从32位迁移到128位(跳过64位)?
编辑:
我无意进行直接比较。只是好奇为什么IP跳过了64位。
8
我不知道为什么他们会联系在一起,除了那是一个巨大的巧合。
—
伊格纳西奥·巴斯克斯
最初设计IPv4时,我们都认为它足够大。几乎没有人预料到20年后会发生什么。吸取了教训后,不要再次犯同样的错误似乎是审慎的做法。使用IPv6可以为地球上的每个人分配自己的IPv4大小(32位)网络,并剩余空间。
—
dbasnett 2010年
每个说他们无关的人-您确定吗?一个大量的软件和硬件的对待IPv4地址为32位无符号整数。向您的应用程序添加IPv6支持并不像“ s / uint32_t / uint128_t /”那么简单。
—
Gerald Combs 2010年
@杰拉德; 是的,我们确定。IPv4之所以选择32位,是因为它是当时所有常见处理器中最大的寄存器。这是一个随意的选择,在当时看来已经足够了。如今,我们比根据CPU寄存器选择任意数字更聪明。之所以选择128位,是因为它提供了足够的IP,我们可以将它们浪费在IPv4兼容性机制,便利性等方面;并确保我们不需要像NAT这样的废话,可以恢复Internet的端到端路由。
—
克里斯·S
@ChrisS然而,对于某些IPv4兼容机制而言,甚至128位还不够。看一下6to4和Teredo。Teredo解决的6to4的缺点是通过NAT44运行的。但是,为什么Teredo必须消除6to4具有的功能之一?使用6to4,您可以运行整个网络,而使用Teredo,则只能运行单个主机。不能同时拥有两者的原因是IPv6地址只有128位,而两者都需要192位。第6个是过渡机制的另一个示例,该过渡机制可能会受益于IPv6地址中的更多位。
—
kasperd 2014年