写点什么

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:042924
用户头像

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

关注

评论

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

大数据ELK(十九):使用FileBeat采集Kafka日志到Elasticsearch

Lansonli

Filebeat 10月月更

【一Go到底】第九天---进制

指剑

Go golang 10月月更

【iOS逆向】某运营商签名算法分析

小陈

逆向思维 逆向 iOS逆向 逆向分析

Vue网站自动提交百度链接

源字节1号

软件开发 后端开发 Vue网站

独家巨献!阿里技术专家兼Github贡献者,整理的Spring Security入门到成神

Geek_0c76c3

Java 数据库 开源 程序员 开发

干货|仅需3步完成酷炫数据可视化大屏制作!

云智慧AIOps社区

大前端 低代码 数据可视化 智慧大屏可视化 可视化大屏

软件测试 | 测试开发 | Google 测试总监聊如何经营成功的测试职业生涯

测吧(北京)科技有限公司

测试

C语言中的内存模型

C++后台开发

内存模型 C语言 C/C++ linux开发 C++开发

SQL抽象语法树及改写场景应用

京东科技开发者

sql SQL优化 场景应用 SQL语言 抽象语法树

软件测试 | 测试开发 | Java or Python?测试开发工程师如何选择合适的编程语言?

测吧(北京)科技有限公司

测试

网络安全漏洞分析之远程代码执行

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

如何从InfluxDB/OpenTSDB无缝连接到TDengine

TDengine

数据库 tdengine 开源 时序数据库

GitLab + Jenkins + Harbor 工具链快速落地指南

胡说云原生

DevOps gitlab cicd Harbor jenkins

Google 发布:DevOps 2022现状报告

SEAL安全

DevOps 研发效能 软件交付 软件供应链

32天高效突击:狂刷《Java权威面试指南(阿里版)》,offer拿到手软!

Geek_0c76c3

Java 数据库 开源 程序员 开发

旺链科技入选2022“科创中国”创新成果名单

旺链科技

区块链 金融科技 产业区块链

《编程的原则》读书笔记(二): 编程理论的三个思想和六个实现原则

Chares

软件工程 软件开发 编程原理 软件开发原则

DAG 任务调度与 go-streams 结合的应用实践

KaiwuDB

【荣耀帐号服务FAQ】AuthorizationCode有效期是多久?

荣耀开发者服务平台

手机 服务 安卓 荣耀 honor

企业社会责任先行,公益课程推动环保科普教育

科技之家

知道了web的攻击方式,还不快防起来?

CoderBin

前端 安全 10月月更

创新公司iLabService 释普科技启示录

B Impact

易操作、可观测、可扩展,EMQX如何简化物联网应用开发

EMQ映云科技

运维 物联网 IoT emqx 10月月更

10分钟开发Kubernetes Operator

俞凡

架构 Kubernetes 云原生

你好,广州!openGauss广州用户组招募计划正式开启

如何优雅地编写一个高逼格的JS插件?

茶无味的一天

JavaScript 前端 js JS插件

Zebec即将推出公链并开放节点申请,潜力几何?

西柚子

Flowable 中 ReceiveTask 怎么玩?

江南一点雨

Java springboot workflow flowable JavaEE

智能合约系统开发Web3.0实现核心

薇電13242772558

智能合约

两将军问题和TCP三次握手

有态度的马甲

TCP协议 两将军问题

如何快速打造BI大屏进行数据赋能

力软低代码开发平台

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