2024年6月,中国科学出版社出版了《新一代IPv6过渡技术——IPv6单栈和IPv4即服务 》一书。作为一名参与过配置3ffe地址的“老”网络工程师,笔者读完此书掩卷长思,草就如下文字。(注:3ffe::/16是IANA早期分配给6bone的地址块,后来被收回了。)
从1969年ARPANET诞生,到1995年互联网商业化,再到今天的谷歌、脸书、推特(X)、阿里、腾讯、抖音,从分组交换连接到应用层面的联接,互联网给我们生产生活方式带来的变化,已经深入到社会生产生活的每个角落。
互联网的成功,来自于当初富有远见的设计,以及其后持续有效的优化。简单和分布式带来了可靠性,一切设计都服从互连(Interconnection)这个目标,让网络提供尽可能精简的功能。作为细腰的IP层,给了其上和其下的协议栈充分发展的空间。无连接的分组交换模式下,IP层只管尽力而为,以及做编址和路由,把其他的复杂工作都交给其上下的协议层。
事物总是一分为二的。网络工作者们或多或少地都承认,处在枢纽位置的IP层很难做大型变革。换而言之,IPv4协议的成功,一定程度上束缚了IPv6的实施和演进。从IPv4到IPv6的演进是一个漫长的过程,技术和政策路线也一再变更,远远超出了科学家和工程师的设想。
从1995年IETF选择IPv6作为IPng协议标准算起,历经近三十年的演进过渡和变革,到现在产业界和各国政府终于基本达成共识,即互联网从IPv4将过渡到IPv6单栈,并承认早期的双栈过渡机制并没有在IPv4地址耗尽前实现目标。作为老网络工程师,笔者早期就曾参与IPv6试验床,并其后为骨干网路由设备码过代码,深知在这个复杂的全球性过渡中,有无数技术、政策、法规、商务等方面的挑战,也因此在读《新一代IPv6过渡技术——IPv6单栈和IPv4即服务》过程中有特别强烈的共鸣。这本书记录了作者作为中国互联网先驱者之一,在这个领域几十年的实践经验总结和思考结晶,是从理念到技术,从想法到代码,从实践到观点的典范。
互联网的一个设计原则是不考虑后向兼容。历史上也因如此,才有分组交换取代电路交换这样的重大变革得以出现。同样,IPv6设计之初并没有考虑兼容IPv4,在地址空间、协议语法、时序、分片等方面都不兼容。因此,过渡技术要解决的问题包括不对等地址空间的映射关系和其他关系、运行过程中的协议兼容性、部署IPv6的可管理可控制可维护性、支持IPv4应用和IPv6应用、考虑当前设备和网络在多样化条件下如何演进等等。
网络演进是大规模工程问题,而且是复杂的动态系统问题,没法在最优解上过多纠结,是松散的创新、工程实践、各方妥协和持续迭代的共同结果。过去几十年的IPv6过渡过程中,云和端的发展,强化了法国CYCLADES最初提出的互联网原则之一——“主机,而不是网络,应该负责可靠数据的传送”。而与此同时,演进问题另一端的IPv4也在不停地“自救”。无类域间路由(CIDR)的出现,减缓了IP地址消耗速度和路由表膨胀速度;NAT的出现,虽然在一定程度上破坏了“端到端”原则,但是从应用体验的角度来说,只要不影响发展用户、留存用户和产生盈利,没有“端到端”似乎并非原则问题。对很多互联网使用者来说,更吸引眼球的,看起来是日活、月活、用户留存和客单价这样的词汇,以及去纳斯达克敲钟的辉煌。
不过,网络工程师们总是有一些对设计理念的执着追求。叠床架屋固然能满足“用起来”的需求,但是回头看五十多年来让互联网成功的设计原则,网络科学家和工程师们希望从上帝的视角来让IPv6的演进继续贯彻当年的这些原则。笔者一直认为,人类社会之所以持续前进,是因为有一些人在“道”的层面持续考虑设计原则,有一些人在“术”的层面持续实践优化,相生相逐。本书作者就是从互联网体系结构的高度,系统性地讨论协议过渡的问题;从互联网设计原理出发,严谨地介绍了协议翻译和地址映射的技术细节,以及适用于不同场景的IPv6过渡技术实现方案。
IPv4到IPv6的演进过程和技术思路是不断进步的,我们经历了早期、中期和当下,还会有未来的演进策略。传统的思路是IPv6过渡技术以双栈为技术基础,如同精通双语的人在旅游中可以自由切换一样。时至今日,无论是Cisco、Juniper和华为路由器,还是终端的Windows PC、Mac以及安卓与iPhone手机,双栈都成为了标配。以双栈为基础,处理异种协议的隧道和封装技术机制也层出不穷。但是二十多年的时间过去,双栈机制还是没有让IPv6在IPv4地址池耗尽之前完成过渡。
No such thing as a free lunch.(天下没有免费的午餐。)本书作者在多年实践之后明确提出,新一代IPv6过渡技术的核心是翻译技术,让不兼容的IPv4和IPv6互联互通;这其中,无状态翻译技术又是核心。无状态符合互联网最本质的特性,对生存性和灵活性的支持度最好,并且对于复杂场景的大规模工程实现最友好。本书的观点和结论,是大量实践之后的共识。设计是一种原则、一种方法论、一种理念。而工程实现,特别是可扩展性(scalability)层面的大规模实现,则是验证和完善设计的最好手段。“纸上得来终觉浅,绝知此事要躬行”,这种治学精神在网络演进和过渡中体现得淋漓尽致,魅力非凡。
笔者毫不怀疑,IPv6技术将为现在和未来的数字经济做出巨大贡献。许多经得起验证的设计理念,在IPv6-native环境下将为其上的数字经济构筑更坚实的基础。就在笔者读此书的过程中,2024年7月2日,我国工业和信息化部办公厅和中央网信办秘书局联合发出《两部门关于开展“网络去NAT”专项工作 进一步深化IPv6部署应用的通知》,明确提出了淘汰IPv4到IPv4网络地址转换(NAT44)的目标和安排,拓宽IPv6通路。“端到端”再次在架构层面被提起。从国家陆续出台的各个政策和IPv6部署实施的进展来看,我们已经到了临门一脚的时候。
《新一代IPv6过渡技术——IPv6单栈和IPv4即服务》这本书体现的精神,同互联网诞生以来这个社区所坚持的一致——把代码跑起来验证想法,持续迭代,追求简单可靠和公开化,等等。这本书不仅讲述IPv6过渡,其带给技术领域的思考则更多。我们正面临很多意义深远的机遇,比如未来网络的协议,比如人工智能历经几个寒冬之后这一波以大模型为代表的兴起等。作为科技工作者来说,我们应该坚持“理论、实践、提升”,迎接下一个技术创新,迎接新一代科学家和工程师的年代。
作者:伍海桑(北京志翔科技高级副总裁)
责编:陈茜