写点什么

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

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

关注

评论

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

[万字总结] 一文吃透 Webpack 核心原理

范文杰

大前端 webpack 6月日更

NQI质量基础设施“一站式”服务平台开发解决方案

源中瑞-龙先生

开发 解决方案 NQI 质量基础设施“一站式”

云网络开山之作,揭秘云上高速公路的十年技术成果!

博文视点Broadview

书单 | 5月畅销新书情报,你最Pick哪一本?

博文视点Broadview

C 语言面向对象的封装方式

实力程序员

图表示学习+图神经网络:破解AI黑盒,揭示万物奥秘的钥匙!

博文视点Broadview

六一限定,致每一个追光者

脑极体

Dubbo 服务在线测试

青年IT男

dubbo

云原生中定时弹性伸缩之CronHPA实战

雪雷

6月日更

【Flutter 专题】115 图解自定义 View 之 Canvas (四) drawParagraph

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

架构抉择之分合矩阵

凌晞

架构

项目又延期了

escray

学习 极客时间 朱赟的技术管理课 6月日更

《面试官:谈谈你对索引的认知》系列之B+树

架构精进之路

MySQL 索引结构 6月日更

【Vue2.x源码学习】第一篇-源码环境搭建

Brave

源码 vue2 6月日更

Spring Cloud Alibaba 实战

Damon

微服务 SpringCloud Alibaba 6月日更

chia奇亚挖矿系统开发案例介绍丨chia奇亚挖矿源码功能

系统开发咨询1357O98O718

Flink+Alink,当大数据遇见机器学习!

博文视点Broadview

Java 中 HashSet 的 removeAll 性能分析

落日楼台H

Java 性能 HashSet removeAll 集合删除

Grpc-go源码刨析

王博

基于MySQL Binlog 实现可配置的异构数据同步

王博

拉仇恨!webhook + 企业微信给同事做了个代码提交监听工具

程序员小富

Java GitHub 编程 程序员 代码

react源码解析3.react源码架构

全栈潇晨

React React Hooks react源码

基于开源Tars的动态负载均衡实践

vivo互联网技术

负载均衡 TARS

为什么说混合云是新基建的流行架构?

博文视点Broadview

springboot+mongo多数据源简单配置

Mars

mongo 多数据源配置

记录下PVE 装openwrt 后 pve 本身不能上网问题

三爻

网络攻防学习笔记 Day32

穿过生命散发芬芳

网络攻防 6月日更

40 图|硬核解析用 Mac M1 玩转 SpringCloud

悟空聊架构

Spring Cloud Mac SpringCloud Alibaba m1 6月日更

算法设计与分析——递归详解

若尘

算法 递归 6月日更

Rust从0到1-泛型-trait

rust 泛型 Trait generic

火爆全网的迁移学习简明手册全面更新,重磅出版上市!

博文视点Broadview

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