写点什么

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

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

关注

评论

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

华为云虚拟专用网络VPN,专为解决现代企业云链路痛点而生

科技怪授

网络 网络VPN

ript刷LeetCode拿offer-树的遍历

js2030code

JavaScript LeetCode

华为云对象存储OBS,为不同企业提供云存储方案,助力企业更好经营

科技之光

JavaScript刷LeetCode模板技巧篇(二)

Geek_07a724

JavaScript LeetCode

Spring Boot「15」统一异常处理

Samson

Java spring 学习笔记 spring-boot 10月月更

JavaScript刷LeetCode-字符串类解题技巧

Geek_07a724

JavaScript LeetCode

精细化边缘安全防护:如何防止CDN域名被恶意刷量?

阿里云CloudImagine

CDN 边缘安全

这几款音乐人必备的软件,你了解吗?

懒得勤快

华为云对象存储OBS,安全可靠的云存储服务,让企业轻松上云

科技之光

JavaScript刷LeetCode拿offer-栈相关题目

js2030code

JavaScript LeetCode

2022云原生峰会开启报名 | 一年一度云原生技术风向标就看这里!

阿里巴巴云原生

阿里云 云原生峰会

03 详细架构设计

神奇的叶叔叔

全嘉宾阵容官宣 | 2022 云原生峰会即将启动,实战派企业向你发出邀请

阿里巴巴云原生

阿里云 云原生 峰会

华为云CDN加速服务,如何让你的网速“飞”起来!

秃头也爱科技

聊一聊作为高并发系统基石之一的缓存

Java全栈架构师

Java 缓存 后端 高并发 架构师

华为云虚拟专用网络VPN,为现代企业打造优质的混合云计算环境

科技怪授

网络VPN

超高性价比的云服务器-华为云耀云服务器

科技之光

10-6-华为云OBS大数据存算分离方案,助力企业顺利实现数字化转型!

科技之光

Spring Boot「16」自定义错误页面

Samson

Java spring 学习笔记 spring-boot 10月月更

微信小程序部署流程

codingyt

10月月更

华为云CDN,如何赋能企业数字化发展?

IT科技苏辞

聚焦云计算、大数据、人工智能等开源技术,这场开源开发者的盛会不容错过!

OpenAnolis小助手

人工智能 云计算 大数据 COSCon'22 开源盛会

前端监控系列4 | SDK 体积与性能优化实践

字节跳动终端技术

性能优化 前端监控 sdk 体积优化

【DS】二叉树大总结!

安苒

数据结构 二叉树

华为云弹性公网IP,如何解决现代企业的网络IP烦恼

科技怪授

弹性公网IP

【融云出海白皮书免费看】出海洞察之沙特的「土豪行为」盘点

融云 RongCloud

白皮书 出海

NFTScan 与 Cobo 达成合作,双方将共同推动 NFT 资管安全市场的发展

NFT Research

区块链 NFT 数据基础设施

华为云虚拟专用网络VPN,助力现代企业云上业务创新发展

科技怪授

网络 网络VPN

Wallys/DR7915-wifi6-MT7915-MT7975-2T2R-support-OpenWRT-802.11AX-supporting-MiniPCIe-Module//QCA9882/QCA9880

wallys-wifi6

QCA9882 MT7915

“程”风破浪的开发者|总结巧用CSS实现各种效果的「百计千谋」

叶一一

CSS 学习方法 前端 “程”风破浪的开发者

华为云CDN,是怎样满足各行业全场景加速需求

IT科技苏辞

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