AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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

  • 2010-02-13
  • 本文字数:2888 字

    阅读完需:约 9 分钟

五个区域互联网注册管理机构(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?

2010-02-13 01:042761
用户头像

发布了 151 篇内容, 共 64.8 次阅读, 收获喜欢 18 次。

关注

评论

发布
暂无评论
发现更多内容

专科培训班出生,四年换四次工作被朋友嘲笑面霸!最终拿下字节跳动Offer年薪57w

android 程序员 移动开发

Microchip发布2.3版TimeProvider® 4100主时钟授时和同步系统

不愧是阿里技术官,Android-Framework的精髓全写在这本“限量笔记

android 程序员 移动开发

纯干货分享 | 研发效能提升——敏捷需求篇

云智慧AIOps社区

开源 开发者 敏捷开发 研发效能 提升效率

下次一定会成,Android面试血泪教训(九场面试的经验与得失

android 程序员 移动开发

专科毕业,我是如何拿到字节跳动、网易双offer的,白嫖党最爱

android 程序员 移动开发

为什么-Android-要采用-Binder-作为-IPC-机制?,android输入法开发源码

android 程序员 移动开发

为什么Flutter是跨平台开发的终极之选,安卓framework开发

android 程序员 移动开发

不是吧!做了3年Android还没看过OkHttp源码?好吧,kotlin开源

android 程序员 移动开发

不知道这些你就OUT了,2019年最常见又实用的Android开发面试题

android 程序员 移动开发

专科 二本程序员的“黄金五年”该如何规划,kotlin协程和线程的区别

android 程序员 移动开发

为了KPI,对APK进行极限优化!,大厂Android研发岗面试复盘

android 程序员 移动开发

为了弄懂Flutter的状态管理,-我用10种方法改造了counter-app(1)

android 程序员 移动开发

一文读懂深克隆与浅克隆的关系

Tom弹架构

Java 架构 设计模式

与面试官的一次促膝长谈:人家也是第一次当面试官,你们答不上来我也特别尴尬

android 程序员 移动开发

专科渣校,呕心沥血在家3个月“拿下”330页PDF,终于拿下阿里OFFer

android 程序员 移动开发

中年危机并不可怕,可怕的是你没有做好自己的规划,斗鱼Android开发二面被刷

android 程序员 移动开发

为什么有些大公司的技术,实在是弱爆了?,flutter教程dart

android 程序员 移动开发

三年Android开发却只有一年工作经验,是怎么收到offer的?

android 程序员 移动开发

hadoop源码编译参考

Clarke

两年 Android 经验面经(有赞等公司),请查收

android 程序员 移动开发

三年开发经验,跳槽腾讯音乐,三面斩获Offer,Android入门教程

android 程序员 移动开发

《穷爸爸富爸爸》

石云升

投资理财 11月日更

业余时间如何开发一个App?出于好奇心QiShare带你体验一下 _ 创作者训练营第二期

android 程序员 移动开发

为什么说Android开发一定要有身处安乐之窝,却逢乱世之感的觉悟?

android 程序员 移动开发

为什么高级Android程序员永远不必担心自己的技术过时?

android 程序员 移动开发

一键登录已成大势所趋,Android端操作指南来啦!,handler机制的原理面试

android 程序员 移动开发

中年程序员崩溃大哭:混不上管理层,加不动班,flutter游戏背包

android 程序员 移动开发

天猫Java研发岗面经(技术三面):基础+算法+MySQL+Redis+秒杀架构

Java 编程 程序员 架构

为了弄懂Flutter的状态管理,-我用10种方法改造了counter-app

android 程序员 移动开发

不愧是阿里技术官,Android Framework的精髓全写在这本“限量笔记

android 程序员 移动开发

IPv4地址即将耗尽,IPv6身在何方?_架构_Alex Blewitt_InfoQ精选文章