warning: 这篇文章距离上次修改已过52天,其中的内容可能已经有所变动。
无聊水群中,群友推来一条链接,一份新的Internet Draft(互联网草案),点开一看,他的标题起得非常大胆:Internet Protocol Version 8 (IPv8)。
一开始还以为是今年的愚人节RFC,结果看看日期,不对劲,是昨天才发布的。略微翻阅了一下这份草案,心里其实五味杂陈:这真的是我们被许诺的未来吗?
图源IETF1. 前言
本文很难说算不算是网络小故逝系列,因为是匆匆写就的,而且太短了,单纯作为个人感情的抒发。不过,如果算的话,下面的是系列文章链接:
- 几个网络小故逝(第一集):谁给ISP接网线,什么叫T1/E1
- 几个网络小故逝(第二集):黑宽带/民营ISP还在神州大地上行走的时候
- 几个网络小故逝(第三集):IPv6与BGP的乌托邦
- 几个网络小故逝(大结局):Cloudflare 的那些事
- KCP 与 SD-WAN:跨网比赛,今年起,正式开赛:字面意思
- 我靠,OpenVPN 你咋回事啊:又爱又恨的OpenVPN
- 代理 IP:『成为一分钟 IP 主人』的那些事:顾名思义即可
IPv4地址短缺,已经成为长期以来的共识。为了解决这个问题,人们提出了很多方案,最著名的两个当然就是NAT与IPv6。NAT原理网上很多,这里略过,关于IPv6的事情,笔者已经在第三集里面介绍过,这里也不再赘述。所以当看到这个IPv8的时候,老实说,没有一点惊讶,那是不太可能的,尤其是看到里面宣传的一点,『IPv4 是 IPv8 的一个真子集』,就感觉升级的痛苦会少很多。
不过,心里五味杂陈,主要原因是因为,真的有五味。
开始讲之前必须先说一句,这是一份Individual Draft,也就是说,这仅仅只是草案,表达了个人或者团体想要推广某概念,没有进入任何IETF工作组讨论,也不是正式文件,不能作为设计依据,有效期只有六个月。至于这份草案,是否会被采纳、修改或忽略,只能交给时间验证。
而且,剧透一下,笔者对这份草案的态度,其实比较悲观。
2. 他想解决什么
这份草案内容太长了,无法全文摘录,只能挑核心的来讲。
IPv6通过引入巨大地址空间的方式解决了IPv4的地址短缺问题,然而也正是因为如此,v6与v4不再兼容,除了同样属于IP协议外,可以说两者完全风马牛不相及,这就给v6的普及推广与使用带来了很大的麻烦。很显然的例子是,直到现在,v6的概念提出30多年了,普及率依然不高不低,还有数不清的设备只支持v4,依靠NAT吊着一口气,却也真真切切地可以让大多数互联网应用继续运行。对一般用户来说,因为NAT的存在,v6这玩意就是在解决一个不存在的问题,而且也不会带来太大好处,自然没有动力去升级。
IPv8的思路就不一致,它在IPv4地址前引入ASN(自治域编号)的方式,试图扩大可用地址空间。其机器表现形式为r.r.r.r.n.n.n.n,后四位就是IPv4地址,前四位则是ASN号。草案还提出了一个人类可读形式,把前面的部分换成十进制ASN,变成xxxxx.n.n.n.n.n,例如12345.203.0.113.1。很显然,他把原来用于整个互联网的IPv4范围,缩小到了供某个AS内使用(只要r = 0.0.0.0,就是传统v4地址),跨AS互联时带上前面的ASN号,就能路由到对应的目的地,附带的好处还有简化BGP表规模,等等。
当然,相应的新概念也是有的,比如ARP8,DNS8,BGP8,等等。为此,作者还提出了一个Zone Server的概念,也就是将这些各种零散的服务集中在一处,只需要通过一个简单的DHCP8请求,就能拿到所有的信息。
3. 不可见的未来
重点内容介绍完了,接下来是感情时间。我很赞赏IPv8的大胆,但从客观来说,我对他的未来表示悲观。
IPv8想要解决v6的一堆弊端,比如说和v4不兼容,比如说地址难写,比如说路由很麻烦,等等。但问题是,现在是2026,不是1996,如果是1996提出的方案,v8显然比v6更有希望,甚至可能取代现有的v6的地位。但到了今天,船大难掉头,v4的基础基本不可能动摇,v6也已经花了30多年的时间去改进推广,人们已经习惯了v6这个『怪胎』的存在,已经投入了大量的资源,开发了大量的软件,也被各种兼容性配置折腾得够累了,互联网的基础设施,差不多已经失去了快速迭代能力。IPv8试图保持与v4的部分兼容,但又不完全兼容,意味着这不是无缝升级,链路上的所有路由器/防火墙都要支持v8协议,仍然需要再更新各种什么BGP8还是什么xx8协议。内核要打补丁,设备要更新,还有各种数不胜数万年老设备,无异于再来一次给互联网大换血。恕我直言,像这样再开发新的配套协议,结果单纯只是为了维持某部分的向下兼容,笔者看不出来这和升级v6(以及新建各种v4v6转换措施)有什么区别。
而且,很老实说一句,我们现在已经在用『IPv8』了,只不过不是ASN号,而是端口号。由于NAT设备的存在,IPv4的地址空间已经得到了事实上的扩展。这不仅是IPv6的拦路虎,更是IPv8的拦路虎。有人会反驳说,这样扩展出来的空间不能跑纯三层协议,不能点对点啊,云云。是,我也清楚,毕竟谁不想直接敲个IP就能实现互联呢?但现实情况是,对于一般用户来说,近十几年设计的新协议已经假定了你运行在TCP/UDP之上,已经很少有直接在裸IP层上开发的了,毕竟吃力不讨好,也没有显著优势。
如果硬要说是矮子里拔高个的话,IPv6属于是相对较高的那个了。你说推广普及慢不慢,慢,当然慢,笔者之前也讨论过。但即使慢都好,这么多年过去了,各种工作都已经上路了,部署的成果已经有成效,而不是完全没有声响,至少你大概率就是用v6在看本站内容。v8呢?昨天才提出来的新草案,目前整个世界的设备对此都是一片空白。假设阿哈在上,乐子神在上,乐观一些,现在立刻马上开始部署IPv8,然后和v6一样用30年时间去推广普及,到那时候都已经是2056年了,差不多就是业界预估的IPv6完全成为主导的年份,你觉得IPv8真的会活得很滋润么?
更要命的在于,这份草案更多的只是一份设想,建议或者愿景,目前没有任何大公司为他背书或者有实质上的应用,本质上也就是一个鸡蛋问题。关于有实质应用,这方面的一个例子是Python 3.15里面的Lazy import,是有人做出了事实上的实现,真的在生产环境里面跑了很久,然后才提交到PEP,甚至提交过程都不是一帆风顺,最开始是默认惰性导入,后来才改成现在的显式声明。相比之下,IPv8更像是无根之树,甚至找不到一个平滑升级的切入点,笔者确实不太看好他的未来。
4. 写在最后
非要给IPv8一个总结的话,笔者可能会选择『我们曾被许诺,但从未到来的未来』这句用来形容Frutiger Aero的话。他同样有着美好的远景,非常大胆的设想,甚至完全可以说是想要重建互联网。但因为客观事实的种种因素,在可预见的未来不会(也几乎不可能)落地,最后可能只会演变成又一个默默无闻的气泡,消失在历史的长河中。
最后再提一嘴:IETF里面的草案其实非常多,但有很多都没有了下文,比如这个将E类地址段改为私有地址的草案,但因为客观因素(长期标记为保留地址,很多路由器会直接丢弃240.0.0.0/4的包,Windows甚至无法发出这个地址段为目标IP的包),他的命运同样是默默无闻地过期了,没有进入下一阶段,最后被人们所遗忘。
当然,笔者也希望自己被打脸,因为多一种选择,总归不是坏处。
(完)
























