IPv4 地址即将耗尽,IPv6 身在何方?

  • Alex Blewitt
  • 王丽娟

2010 年 2 月 13 日

话题:架构DevOps语言 & 开发

五个区域互联网注册管理机构(Regional Internet Registries,RIR)的官方代表、负责 IP 地址分配的号码资源组织(NRO)近日宣布,可核发的 IPv4 地址已不足 10%。尽管对所有使用互联网的人来说,解决这个问题人人有责,但是数据总是被遮掩,每个人都认为解决该问题是其他人的责任。如果这个问题短期内得不到解决,势必会造成巨大的影响。

什么是 IPv4 地址?

首先介绍些背景知识。每台能接入互联网的计算机或移动设备都需要一个全球唯一的地址。这使得设备能向远程主机(例如 www.infoq.com)发送网络数据,并获得正确的响应。为了简化人们的使用,域名服务(Domain Name Service,DNS)将常见的名称转换成了 IPv4 地址。比如说,当你浏览 InfoQ 网站的时候,DNS 将 www.infoq.com 转换为全球唯一的 63.246.7.184;你的浏览器每次发送请求时,也都会保留一个类似于 216.239.59.99 的“返回”地址。

这四个数字即被称为IPv4地址,或干脆叫作IP地址。假定每个数字都可以在 0 到 255 之间取值,那大约有 43 亿个可用的 IP 地址。相对地球上的 67 亿人口总数来说,设备数量显然是有上限的。即使在理想分布的情况下,也意味着平均每两个人就拥有一个 IP 地址;但在西方,连网的设备非常多(更不用提手机的数量了,手机数量估计已经超过 40 亿了)。

而且,并非所有的 IP 地址都能用来全球路由。10.0.0.0 到 10.255.255.255 之间的 IP 地址被定义为不公开的可路由子集,172.16.0.0 到 172.31.255.255 之间、192.168.0.0 到 192.168.255.255 之间的 IP 地址也是一样。在本地网络使用自动分配地址的人可能会很熟悉后面的两个范围。此外,还有一些 IP 地址被定义用来进行多播,224.x.x.x、232.0.0.x 和 233.0.0.x 都被定义为多播地址空间。

所有这一切导致的后果就是可分配的 IPv4 地址不足 40 亿。NRO 负责将这些地址分配给地区的 RIR,RIR 转而将这些 IP 地址分配给互联网服务提供商(ISP),ISP 再确保让你连接到互联网上。

这个消息实质上就是说全球未分配的地址空间已不足 10%,或者说只剩大约 4 亿个地址。这看起来似乎仍很多,但 IP 地址是不可再生资源,一旦分配出去就没有了。好吧,也许我们能回收一批,但为此的投入(法律和实际)将会非常巨大,而且这一不可避免的状况也只能推迟数个月发生而已。有些计时器估计了最终耗尽的日期,预计耗尽之日在 2012-2013 年之间。中心注册表用完之后,地区注册表也许还能继续维持一年(这取决于需求),当然这是假设在一切正常、不会出现疯狂抢购最后剩余 IPv4 地址的情况下。

IPv4 地址耗尽会发生什么?

简单的回答是:不会有太大影响。互联网将一如既往地运转,你仍然可以浏览新网站。但出现的问题是网络上将不会出现新业务,至少不会再为现有 IP 地址提供多主机支持。简言之,过去十年激增的互联网经济可能会放缓发展速度。

有些人断言 NAT(网络地址转换)会解决 IP 地址在客户端的短缺问题(客户端在单一的全球可路由 IP 地址后隐藏了一套不可路由的地址),但这其实是很有限的。设想一下,每台计算机正同时连接到大约 25 个输出端口(打开几个网页、邮件客户端和社交网络应用很容易能达到这个值),再加上大部分 NAT 级路由器一次最多只能映射五万个端口的事实(这意味着一个全局可路由的 IPv4 地址充其量只能处理五万个条目)。

此外,NAT 还不能用于服务器或其它需要被连接的网站,它们只能应用于客户端连接。无论这是否解决了客户端不断增加的问题,一旦 IPv4 地址耗尽,就不会有新的服务器了。

引入 IPv6

设计 IPv6 是为了解决 IPv4 耗尽的问题,并增加大量额外的功能。IPv4 地址由 32 位组成,而 IPv6 地址则由 128 位组成;为了正确看待 IPv6 地址,来看一组对比数据——地球表面每平方毫米上会有超过一万亿个 IPv6 地址。此外,这意味着我们能往地址空间中添加路由信息,而又不会影响终端设备可用的 IPv6 地址数量;而且它允许本地网络利用设备的 MAC 地址从子网自动分配地址。

过渡并非易事。IPv6 设备能互相通讯,IPv4 设备也能互相通讯。幸运的是,主流的操作系统和硬件近期都开始支持 IPv6 了,而且它们在加入允许 IPv6 的网路时能自动启用 IPv6。因此最简单的过渡就是提供双主机,允许计算机与 IPv4 和 IPv6 两者同时进行通信,从而到达目的地。

不过有些服务可能仅在 IPv4 下可用。比如说,Google 的www.google.com只在 IPv4 网络下可用;Google 有另外一个网址ipv6.google.com,只在 IPv6 网络下可用(如果你能浏览 IPv6 的那个地址,就说明你的计算机已经接入 IPv6 网络)。

为了方便切换,出现了可以将 IPv4 地址空间映射到 IPv6 地址空间子集。对于能同时连接 IPv4 和 IPv6 网络的主机,6to4执行自动映射,还能让一组 IPv6 机制在 IPv4 地址上通讯。(这类似于 NAT 的运行方式,只不过桥接的另一端是 IPv6 地址,而不是 IPv4 不能全球路由的地址。)这是 Apple 公司采用的方法,如果 ISP 支持该方法,Apple 面向互联网的路由器(实际上是操作系统)将自动检测到合适的 6to4 网关。Google 在 2008 年为 RIPE 做的演讲中显示,Mac OS X 引入、采用了 IPv6(主要是因为为了使其生效,不能安装客户端)。Apple 的 Airport Extreme 也能自动配置 IPv6 地址,然后在本地网络分配一个子网,这意味着大多数用户甚至不知道他们已经拥有了一个 IPv6 地址。

Windows 系统通常喜欢用Teredo tunneling技术,如果该技术可用,Vista 就会自动启用 IPv6,这表示我们在向 IPv6 过渡时有继续前进的办法。

请注意,6to4 和 Teredo 都用于过渡;也就是说,它们的使用不会超过十年(之后,无论如何我们都要使用 IPv6)。尽管逐渐淘汰 IPv4 可能还需要一段时间,但到那时候,IPv4 互联网就可以隐退了。

现状

你可能认为随着 IPv4 空间的即将耗尽,负责互联网连接的人会处理这件事情。但大多数 ISP 都不了解 IPv6,大部分大型网站和关键基础设施服务(比如www.direct.gov.uk)也是一样。没有 6to4 客户端执行转换,这些机构 / 公司就很难进入 IPv6 的世界,它们也没有紧迫感。甚至连大型电信公司(像BT's 21st Century Network)也仍停留在二十世纪,因为他们正在推出一个给英国电子计算机进行 IPv4 升级的方案。

ISP 将是第一个受到打击的对象;理想情况下,他们应该在 IPv6 推行的最前线。然而目前全球的 IPv6 用户尚不足 1%,即便法国等国家仰仗中心 IPv6 管道提供商而占了更大的比例。

2008 年,中国借奥运会的承办展示了 IPv6 的可利用性,随着中国用户的不断增加,IPv6 也在有条不紊地推行着。有一个按国家列出的IPv6 部署清单,较早行动的大部分国家都是为了要在 IPv6 网络中处于领先位置。

总结

IPv4 地址是几乎耗尽的有限资源。无论是否采用取回“隐藏”的 IP 空间、回收未使用的 IP 地址等临时的解决方案,都只是让这一不可避免的状况推迟数个月而已。IPv6 已在大规模部署环境中得到了证实,而且支持所有的操作系统,所以能否完成 IPv6 的推进就掌握在 ISP 的手中,如果推进成功,他们将能获得巨大的收益;当然了,一旦失败,也将面临着灭顶之灾。但是报告仍表明 IPv6 主机只占 1%,这就意味着 IPv6 的推进任重而道远。

查看英文原文:IPv4 Addresses Running Out; Where is IPv6?

架构DevOps语言 & 开发