企业“IPv6+”网络规划设计与演进
上QQ阅读APP看书,第一时间看更新

1.1.1 IPv6的发展及进程

20世纪90年代初期,随着互联网的蓬勃发展,网络规模急剧膨胀,IPv4地址短缺和资源分配不均问题开始浮现。因特网工程任务组(Internet Engineering Task Force,IETF)启动研究下一代IP地址,并于1991年12月发布RFC 1287,列举了下一代协议需要关注和解决的主要问题。

最重要的是解决IP地址短缺问题。其次,面向互联网需要同时支持TCP(Transmission Control Protocol,传输控制协议)/IP和OSI(Open System Interconnection,开放系统互连)协议栈的情况,构建多协议体系架构。同时,吸取IPv4增强安全能力困难的教训,下一代协议应在设计之初即充分考虑安全需求问题,构建安全体系结构。此外,新协议还应支持流控以满足语音、视频等应用程序的实时应用需求,并面向高阶应用构建能够满足未来创新性要求的协议架构。

IETF同时创建了IPng(IP Next Generation,下一代互联网协议)工作组,以保证后续工作顺利进行。IPng提出了对下一代互联网协议的多项建议,其中3个主要提案为CATNIP(Common Architecture for the Internet,互联网通用架构)、SIPP(Simple Internet Protocol Plus,简单互联网协议增强)和TUBA(TCP and UDP with Bigger Addresses,使用更大地址的TCP和UDP)。

1995年1月,RFC 1752介绍了上述3个提案的关键方案及其存在的问题,同时正式采用IANA(Internet Assigned Numbers Authority,因特网编号分配机构)分配的版本号将IPng更名为IPv6,并综合多个提案给出IPv6报文头及扩展报文头的定义。由此,IPv6初具雏形。

1995年12月,RFC 1883给出了较完整的IPv6标准。1998年12月,经过不断迭代和改进,RFC 2460最终替代RFC 1883,成为现行IPv6的主体。其中对IPv6主要特征和优化点的介绍如下。

•扩展地址能力:IPv6将IP地址大小从32 bit增加到128 bit,以支持更高级别的层次化结构、更多的地址节点和更简单的地址自动配置。组播地址中添加的Scope(作用域)字段提高了组播路由的可扩展性。新型任播地址可用于向一组节点中的任何一个发送数据包。

•简化报文头格式:通过将IPv4报文头中的部分字段删除或变为可选,降低通用情况下的转发处理成本,减少IPv6报文头的开销。

•改进对扩展选项的支持:IP报文头通过扩展选项以支撑更高效的转发,对选项长度的限制较为宽松,为将来引入新选项保留了更大的灵活性。

•流标记能力:IPv6给特定流的数据包添加标签,通过转发节点对其进行特殊处理,从而实现差异化服务。

•身份验证和隐私功能:为IPv6指定了支持身份验证、数据完整性和数据机密性(可选)的扩展。

基于以上特点,RFC 2460对IPv6进行了如下说明。

•明确IPv6为128 bit地址空间,定义IPv6基本报文头格式,改进报文头结构,以提高数据包处理效率。

•明确扩展报文头格式及其转发处理方式,并定义4种初始扩展报文头:Hop-By-Hop Optional Header(逐跳可选报文头,用于携带每个节点都需要检查处理的信息)、Routing Header(RH,路由报文头,用于实现IPv6源路由)、Fragment Header(FH,分片报文头,用于标记分片报文)、Destination Optional Header(DOH,目的选项报文头,用于承载仅需要由数据包的目的节点处理检查的可选信息)。

•改进QoS(Quality of Service,服务质量),定义带有流标签和扩展包头的QoS选项。

•建议大于MTU(Maximum Transmission Unit,最大传输单元)的数据包只在头节点进行分片,并明确分片标记。同时建议采用PMTU(Path Maximum Transmission Unit,路径最大传输单元)发现整个路径的MTU,结合上层协议减少不必要的报文分片。

如上所述,RFC 2460对IPv6进行了关键优化,奠定了IPv6的发展基础。之后,一系列重要RFC也陆续发布,以支撑IPv6能力的扩展。

RFC 2461:定义NDP(Neighbor Discovery Protocol,邻居发现协议),用于邻居链路层地址的解析、状态维护和清除。主机(Host)可以通过NDP发现其连接的路由器网关地址,并结合无状态地址自动配置,实现IPv6的即插即用功能。

RFC 2462:定义SLAAC(Stateless Address Auto-Configuration,无状态地址自动配置)能力,指定了主机在IPv6场景下自动配置接口的步骤,包含生成链路本地地址、通过SLAAC生成站点本地和全局地址以及DAD(Duplicate Address Detection,重复地址检测)过程。当前RFC 2462已被RFC 4862所代替。

RFC 2463:定义ICMPv6(Internet Control Message Protocol version 6,第6版互联网控制报文协议),通过差错报文和消息报文向源节点传递诊断、通知和管理信息。当前RFC 2463已被RFC 4443所代替。

RFC 4291、RFC 4193:定义IPv6新地址架构,包含链路本地地址、全球唯一地址、组播地址、任播地址等多种类型的IPv6地址。

RFC 3041:定义临时地址,用于SLAAC场景随机生成,以保护隐私并防止主机暴露。当前RFC 3041已被RFC 8981所代替。

RFC 4301:定义IPsec(Internet Protocol Security,互联网络层安全协议),以提高IP的安全增强能力,使所有应用程序更便于支持类似VPN(Virtual Private Network,虚拟专用网络)的安全加密和隔离。

RFC 6146、RFC 6147:定义有状态NAT64(Network Address Translation IPv6-to-IPv4,IPv6到IPv4的网络地址转换)协议及其与DNS64(Domain Name System IPv6-to-IPv4,IPv6到IPv4的域名系统)的协同方式,解决IPv6与IPv4的兼容性问题。

RFC 7381:给出企业IPv6部署指南(Enterprise IPv6 Deployment Guidelines),指明企业在IPv6演进各阶段内需要考虑的关键问题和改造点。

RFC 8200:2017年,RFC 2460被RFC 8200代替,RFC 8200在已有基础上做了一些参数修正。

RFC 8402、RFC 8754:正式发布SRv6(Segment Routing over IPv6,基于IPv6的段路由)框架,标志着“IPv6+”时代来临。“IPv6+”利用IPv6的扩展能力,实现了更多灵活增强能力(如源路由实现路径调度),提供了更高品质的网络体验,真正实现了IPv6的价值。

随着IPv6 RFC的不断完善,IPv6也在加速发展,历经多个关键节点,如今IPv6已经得到了广泛部署和应用。

1992年底,IETF提出关于IP演进的系统建议并形成白皮书,并于次年9月建立下一代IP领域(IPng Area),启动下一代IP研究。

1996年,伴随一系列RFC先后发布,IPv6的协议体系基本建立。同年3月,IETF启动6bone实验网络建设,并于2003年对外发布,将6bone网络作为IPv6的测试平台。6bone网络最初通过Overlay方式运行在IPv4网络之上,后来逐渐建立IPv6单栈网络,连接了50多个国家的1000多个站点。

2011年,IANA的最后一个IPv4地址块被申请,标志着全球IPv4地址块全部分配完毕。此时,用于个人计算机和服务器系统上的操作系统基本上都已支持IPv6配置,包括Windows、Mac OS X、Linux和Solaris等。

2012年6月6日,国际互联网协会举行世界IPv6启动纪念日,多家知名网站如谷歌、Facebook(2022年更名为Meta)和雅虎等开始永久性支持IPv6访问。

2016年,IAB(Internet Architecture Board,因特网体系委员会)发表声明,表示不再要求新标准或扩展标准兼容IPv4,同时需审校已有标准,要求其必须支持IPv6。

2018年起,SRv6、网络切片、IFIT(In-situ Flow Information Telemetry,随流检测)、APN6(Application-aware IPv6 Networking,应用感知的IPv6网络)等标准先后发布,预示着“IPv6+”时代的来临。“IPv6+”充分发挥了IPv6的灵活性和可扩展性优势,创造了全新的IPv6的协议体系,为网络带来全新体验和价值,可应对业务新需求。

2019年10月30日,中央网信办成立“IPv6+”创新推进组,通过“IPv6+”产学研用等产业链力量,持续完善“IPv6+”技术标准体系。同年11月25日15时35分,RIPE NCC宣布欧洲地区最后一个IPv4地址块分配完成,标志着各区域IPv4地址完全耗尽,IPv6时代全面来临。