delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

29 Dec 2010

IPv4终于快用完了

在很久很久以前就有人提出IPv4将要用完的事情,然而当时IPv4地址空间还很充裕,而且NAT还没有非常广泛地使用。于是这事说着说着就变成了一个狼来了的故事,不停地有人嚷嚷IPv4地址要用完了,而这个用完的日期则在600天、400天和300天附近的时候反复来回地拉锯了很久。

和狼来了那个故事稍微不太一样的是,喊狼来了的那些人,例如大的IPv6 ISP和运营商已经早早做好了准备,而那些把这故事当做狼来了而毫无警惕的人则只好手忙脚乱地应付了。

阿宅的一大恶趣味是喜欢仅仅因为"Because we can"而去做一些事情,我也是。我自己的网站的第一个DNS AAAA记录是2007年7月31日创建的,而FreeBSDChina.org于2007年8月4日也已经开始在IPv6上提供服务。由于当时条件所限,在当时我能够使用的唯一的测试手段是登录到一台位于北美的有双栈支持的测试服务器来进行测试。到了北美以后,因为这里的住户 IP 地址是很少发生变化的,我开始在家搭建 IPv6 路由,到后来在北美地区托管了一台服务器,基本上一直都是以双栈的方式接入Internet了。目前,我拥有两个/48的IPv6地址段和两个/64的IPv6地址段。

时间过得很快。今年年初的时候我看到了一个报道说 IPv4 地址大约还剩不到1年了,于是开始关注相关的报道。根据 Hurricane Electric 的估算,今天距离 IPv4 中央地址池的地址耗尽还有大约 47 天。中央地址池的耗尽对最终用户并不会产生立即而直接的影响(总有各种各样的办法来减少IP地址的占用,大企业或者ISP可以用NAT,双层甚至三层NAT等技术来减少实际使用的IP,等等),但是无论如何,我们之前所熟悉的那个互联网的日子已经所剩不多了。

IPv4用完会带来什么结果呢?目前,大多数互联网用户还只是在使用IPv4地址,而且非常多的终端设备根本不支持IPv6,所以没有悬念地,IPv4地址段是刚性需求,也就是说,在 IPv4 地址用完的时候,涨价是必然的。由于一般来说大家只是"租用"地址,涨价会促使那些占用很多IP地址的人想办法去腾出IPv4地址来缩减成本。

从区域NIC的情况来看,APNIC或RIPE非常有可能会拿到地址池中下一个A类地址(前不久AFRINIC和ARIN已经拿到了,公平起见,下一个应该会轮到别的地区)。不过,AFRINIC的地址占用比例很低,所以不排除在紧急情况下被要求还一部分地址给中央地址池的可能性。

目前的互联网用户使用IPv6,哪怕仅仅是双栈的用户也非常之少。许多互联网公司完全没有为 IPv6 做好准备,例如,有些公司的 DNS 居然对于 AAAA RR的请求回以 A RR的回应。IPv4的耗尽会让这些问题逐步暴露出来。

对于开发人员来说,一些现有的用C或C++书写的程序也许会需要更新,用于保存IP地址的数据库字段必须支持IPv6,等等。

采用IPv6也会让最终用户暴露出全新的隐患。例如,你的防火墙可能只配置了IPv4的规则,而你的操作系统则启用了IPv6支持。在咖啡厅上网,同一个AP的另一个支持IPv6的攻击者便可以通过Link-Local地址访问到你的系统。对于在企业内部署IPv6的管理员来说,也需要考虑这些全新的攻击方式带来的问题。

现有的网络设备有可能需要更新来适应IPv6的情况。一些旧式的Cable Modem很可能必须更换。不支持IPv6的操作系统必须安装相关的补丁或升级。

IPv4具体什么时候会用完?现在还不知道。但是随着中央地址池的耗尽,未来的IPv4地址分配将逐步下放到各个大洲的地址注册机构,即使使用各种各样的技术去缓解这种情况,IPv4在局部地区以及全球范围内彻底耗尽也在一天天地走近了。总之,早做准备要好过晚做或者不做准备,而对于运营商和设备制造厂商来说,也许这会是一次不错的机会。