写点什么

IPv4 只剩 100 天了

  • 2010-11-28
  • 本文字数:1775 字

    阅读完需:约 6 分钟

互联网是基于名为 IPv4 的网络协议的,该协议是 TCP(HTTP 及聊天应用使用)与 UDP(视频与音频应用使用)的基石。它使用了 4 字节的 IP 地址(如 192.168.54.32)来识别通道中的端点(大多数人和应用都会使用 DNS 名,它会将 www.infoq.com 转换为数字化的 IPv4 地址,如 63.246.7.184)。

然而遗憾的是,IPv4 地址空间很快就要耗尽了。根据 @ipv4countdown 所述,剩下的 IPv4 地址将在 100 天之内用尽;其余下的总数量不到 1.6 亿,也就是说剩下的地址大约为 9.137.0.0 个。我们已经用完了(或者说无法再分配)245.0.0.0 个 IPv4 地址,因此他们的使用速度将是非常迅速的。该数据显示在 Hurricane Electric 的一个倒计时盘中,Hurricane Electric 则是一个 IPv6 供应商。

目前还有一些 IPv4 地址可供使用。一些早先的网络先驱还留有大量的 IP 地址(可能还未使用);由于收购的原因,单个组织可能持有互联网的某个重要部分。然而,这仅仅会将 IPv4 地址将会耗尽这个不争的事实延期几个月而已。 xkcd 于 2006 年绘制的这个互联网地图展示了顶层的8 个地址(也就是1.0.0.0),像是Apple、DEC、贝尔实验室以及波音等公司都会获得IPv4 地址的1/256,这让人感到担心。

一些人认为可以使用NAT(搭配上UPnP)来解决问题,减少对公共IP 地址的需求量,但事实却并非如此。移动网络通常都会使用IPv4 NAT 为每个设备分配一个“私有”类型的网络,比如人们在热点通常会找到10.x.x.x 网络或是192.168.x.x 网络。这些虽然不是公共地址,但路由本身仍旧需要使用IPv4 地址以正常运作。

从长远来看,唯一的解决方案就是IPv6。它会极大地增加网络空间,过去十年所开发的大多数网络工具都支持IPv6,同时操作系统本身也对其提供了良好的支持。关键问题在于IPv6 向用户公布的时间太晚了,支持IPv6 的xDSL 调试解调器还不多(大多数只支持IPv4)。英国电信公司已经开始布局其 21 世纪网络了(将电话迁移到 IP 主干网上),20 世纪的网络协议让人觉得很可笑。

IPv6 本身使用了不同于 IPv4 地址的点符号。与 4 个点分十进制不同的是,IPv6 使用了 128 位,表示为 1234:5678:90ab:cdef:1234:5678:90ab:cdef 这样一组数字。为了保持向后兼容性,IPv4 地址可以写为 0000:0000:0000:0000:0000:0000:63.246.7.184(这也有助于说明 IPv6 相对于 IPv4 所带来的大量数字)。幸好,对于任意一个以 0 开头的数字来说,0 是可以被推测出来的,因此 0:0:0:0:0:0:63.246.7.184 也表示与上面相同的地址。0 的任意连续序列都可以使用两个冒号进行替换,这样::63.246.7.184 也表达了相同的含义。

现在有几个转换机制。首先,网站既可以有 IPv4 地址(叫做 A),也可以有 IPv6 地址(叫做 AAAA)。拥有这两个地址的站点可以通过任意一种网络进行访问;系统会尝试这两个地址并返回第一个(某些系统一开始会查询 IPv6 地址,然后才是 IPv4——然而,最新的 Mac OSX 更新切换了这两者的优先级)。

IPv6 的另一个优势在于网卡可以实现自我配置。借助于探测机制,IPv6 客户端可以通过来自于 IPv6 路由器的广播探测到 IPv6 地址。接下来,客户端会使用其 Mac 地址(或是随机数)填充地址的底部,赋予本地系统唯一的地址。虽然这种机制对于客户端来说没有问题,但服务器端通常需要使用特定的 IP 进行配置以便它能够注册到 DNS 上。

某些特殊的地址目前已经在使用了。FF01:: 用作本地节点的多路广播网络(也就是说特定的机器),而 FF02:: 与 FF05:: 则分别用于本地链接(相同的网络)和本地站点的多路广播。其他的还有::1,它代表本机地址(127.0.0.1)。本地地址(自动探测到的)以 FE80:: 开头。如果你有一台支持 IPv6 网络的计算机,那么你就已经获得了一个 FE80:: 地址,与 IPv4 不同的是,每个网卡一次可以有多个 IPv6 地址。此外,IPv4 每次只会使用一个 IP 地址作为“广播”地址,而 IPv6 通常会使用本地链接或是其他广播机制代替特定的地址来广播数据。

当 IPv4 地址空间耗尽之际,各个国家将会讨论他们国内的供应,这可能要持续 6 到 12 个月。一旦完成,将不会再有新的 IP 地址可供分配,任何新的连接都只能隐藏在 NAT 之后或是迁移到 IPv6。

幸好,网络供应商与 ISP 早就注意到了这一点,他们已经在 IPv6 上投入了很多,但却没有大张旗鼓地宣传。然而,明后年提供 IPv6 连接是个当务之急;问题在于:是不是有些晚了?

查看英文原文: 100 days of IPv4 left

2010-11-28 07:553110
用户头像

发布了 88 篇内容, 共 268.8 次阅读, 收获喜欢 8 次。

关注

评论

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

GitHub上火了的MySQL性能调优手册,全篇无废话不愧是清华神人

Java~~~

Java MySQL 数据库 架构 面试

白瞟党福音!Alibaba内部最新Java开发手册(嵩山版)灵魂17问

Java 编程 架构 面试 架构师

微信后台基于时间序的海量数据冷热分级架构设计实践

OpenIM

你们想知道的一切,都在这里了。

ApacheDoris

Apache 开源社区

内核模式(Kernel Mode)vs 用户模式(User Mode)

Fox666

webrtc NACK与RTX

webrtc developer

WebRTC NACK

Redis 6.0 多线程重磅发布!来了解一下吧

Linux服务器开发

数据库 redis 网络编程 Linux服务器开发 单线程

消息系统的演进:从MOM、ESB到下一代云原生的分布式消息系统

金蝶天燕云

分布式消息

大厂炸锅了!这份全程无尿点的Java彩版面试开挂攻略在GitHub火了

Java~~~

Java MySQL 架构 面试 JVM

Flink 1.14 新特性预览

Apache Flink

大数据 flink

私有化部署竟是企业对低代码选型的重要要素

低代码小观

企业 开发工具 云服务器 低代码平台 私有化部署

Grafana Labs 携手阿里云,将提供国内首款 Grafana 托管服务

阿里巴巴云原生

云计算 阿里云 云原生 可视化 Grafana

5 款阿里常用代码检测工具,免费用!

阿里巴巴云原生

阿里云 云原生 云效

关系型数据库,NoSQL数据库,NewSQL数据库权威整理

hanaper

计算机工业的生态链(一)

姬翔

9月日更

老板:把系统从单体架构升级到集群架构!

程序员 架构 分布式 后端 计算机

伴鱼:借助 Flink 完成机器学习特征系统的升级

Apache Flink

大数据 flink

数据结构是存储的基石

卢卡多多

数据结构 9月日更

一文搞定Matplotlib各个示例

华为云开发者联盟

Python 深度学习 Numpy matplotlib 绘图库

白嫖!一口总结了金九银十(P5-P7级)1000多道Java面试题,20+大厂必考点及Java面试框架知识点!

Java 程序员 架构 面试 计算机

我们是如何在研发过程中控制质量的?产品质量正变得越来越重要

爱数技术范儿

大数据 软件工程

熬了3天2夜,啃完阿里(珠峰版)Java面试笔记,直接斩获12家大厂offer,

Java架构师迁哥

PhxSQL设计与实现(详细版)

OpenIM

恰逢金九银十!阿里P8连夜赶稿一份基于实例驱动的设计模式笔记

Java 编程 架构 面试 阿里

Apache Flink 在京东的实践与优化

Apache Flink

大数据 flink

阿里最新21版Java面试系列手册已出炉,竟堪称GitHub面试杀手锏

Java~~~

Java 架构 面试 JVM 面经

多租户是一种技术

金蝶天燕云

多租户

Flink 在顺丰的应用实践

Apache Flink

大数据 flink

搞懂 ArrayBuffer、TypedArray、DataView 的对比和使用

每天进步亿点点

9月日更

百度混部实践系列 | 如何提高 K8S 集群资源利用率?

百度开发者中心

最佳实践 方法论 k8s

腾讯质量效能提升最佳实践:智能自动化测试探索和建设

WeTest

IPv4只剩100天了_Java_Alex Blewitt_InfoQ精选文章