导读:全球IPv4地址的枯竭,所有运营商无法再申请到公网的IPv4地址池。各国都将IPv6作为下一代互联网的方向,我国也已经明确加快以IPv6为主的下一代互联网建设的策略。
图片来自“特定授权”
在国家政策的推动下,国内IPv6产业链加快成熟,终端和业务平台等方面的发展也加快了IPv6网络建设的步伐。承载网作为运营商基础网络,也面临向IPv6演进的诉求。
VPN支持IPv6
随着基站和核心网连接承载的接口IPv4/IPv6双栈化,承载网需支持6vPE提供双栈VPN,满足客户侧IPv6的演进需求。6vPE是在IPv4 MPLS网络上叠加IPv6 VPN,运营商仅需在业务的入口PE和出口PE设备上升级支持IPv4和IPv6双栈就可以支撑业务的IPv6需求,中间节点可以仍然是IPv4 MPLS网络。6vPE控制面协议还是MPBGP,通过新增地址族在BGP邻居之间发布IPv6路由,能够构建支持IPv6的L3VPN。
双栈VPN可以同时支持存量的4G基站和新建的5G基站承载。用户侧基于现有模式提供双栈接入,对于存量4G基站,只分配IPv4地址,通过VLAN子接口接入VPN;对于支持IPv6的5G基站,分配IPv4和IPv6地址,并支持两种接入方式,既可以在同一VLAN子接口上同时配置IPv4/IPv6地址,也可以在不同VLAN子接口上分别配置IPv4/IPv6地址。建议采用第一种方式来简化VLAN配置。同样,核心网也需要支持IPv4和IPv6双栈。
在VPN内,5G基站使用IPv4地址与存量4G基站通信,使用IPv6地址与核心网通信,而4G基站仍然使用IPv4地址与核心网通信。双栈VPN实现简单,在满足业务要求的同时可以避免IPv4和IPv6之间的复杂转换(见图1)。
公网支持IPv6
双栈VPN可以为客户提供IPv6服务,但承载网自组网可以是IPv4。
随着运营商网络全面向IPv6演进,承载网设备和协议也需要全面支持IPv6。控制面IPv6承载网控制面主要包含了DCN、业务控制面和南向接口通道等。在传统IPv4网络中,由于管理地址空间不足或外部DCN网络的一些限制,分配给承载网的管理IP非常有限,需要支持网关网元功能。整个承载网只需对网关网元分配IP地址即可,非网关网元可以使用私有IP或者ID与网管通信。同时,由网关网元进行地址转换,转换带来的复杂性使得网关网元的能力受限。DCN演进到IPv6之后,不会再有IPv4管理地址不足的问题,因此也就无需支持网关网元和地址转换的功能,所有网元都可以直接与网管通信,实现了简化。此外,DCN自通需要设备生成默认IP地址,在传统IPv4网络中,各厂家的默认地址都是以私有方式生成,而IPv6的默认地址可以采用标准的IEEE EUI-64(64bit前缀+EUI-64)或RFC 3041(64bit前缀+64bit随机地址)两种方案,相比于IPv4更有利于统一各厂家DCN实现方案,便于实现DCN互通。DCN一般采用OSPF协议,相应的IPv6 DCN需支持OSPFv3协议。
业务控制面的部署与IPv4类似。对于IP地址的规划与分配,要与网络拓扑层次结构相对应,既要有效利用地址空间,又要体现出网络的可扩展性、灵活性和层次性,同时能满足路由协议的要求,以便于在网络中实现路由聚合,减少路由表的条目,减少对CPU、内存的消耗,提高路由算法效率。具体来说,各地市使用一个/48用于环回地址,每个环回地址使用/128的地址。每个地市使用一个或者多个/48用于接口互联地址,其中为每个连接预留一个/64,地址段使用/127。此处与IPv4的主要区别在于需部署支持IPv6的协议,除了ISISv6等路由协议外,相应的SR扩展、BGP-LS、PCEP等协议都需支持IPv6。
网络演进并非一蹴而就,从IPv4控制面到IPv6是一个逐步升级演进的过程,两者需要在一段较长的时间内共存。为了支持平滑演进,控制面也需要支持IPv4/IPv6双栈。双栈的部署可以分为下面几个阶段:
-逐步升级设备具有IPv6的能力;
-在维持原来IPv4的DCN和业务控制面配置不变的情况下,新增网元和接口的IPv6地址,并部署ISISv6或者OSPFv3的进程,与原来的IPv4控制面完全独立;
-过渡期内,如果设备同时部署了IPv4和IPv6地址,优先使用IPv6进行通信;
-待全网设备都完成IPv6部署后,再逐步删除原来的IPv4控制面,只保留IPv6即可。
转发面IPv6
在现有的承载网中,转发面采用的都是MPLS技术,MPLS优雅简洁的数据面很少遭遇挑战,但复杂的控制面使得网络部署较为复杂。SR技术简化并且统一了MPLS控制面,已经受到越来越多运营商的青睐。SR技术支持MPLS和IPv6两种数据面,即SR-MPLS和SRv6。当网络演进到IPv6之后,数据面是继续保留MPLS还是也采用IPv6?
与SR-MPLS使用20bit的标签来表示SID不同,SRv6使用的128bit SID更具扩展性。SRv6 SID可以分为locator、function和parameter等三部分,其中locator用来表达到达该节点的路由信息,function和parameter则分别表示在该节点执行的具体功能和所需的参数。
此外SRv6具有很好的端到端特性,在接入网、城域网、骨干网和数据中心都统一到IPv6-only的网络之后,可以很容易为用户提供端到端服务。SRv6的问题是与现有MPLS转发面不兼容,无法平滑演进,现网设备需要硬件升级才能支持SRv6,且由于SRv6 SID开销过大,导致支持的栈深也很受限。
为了解决SRv6栈深的问题,也有一些其他的可选方案:
-采用层叠模型,overlay的业务层使用SRv6,但承载网依旧采用SR-MPLS,将客户的SRv6业务当成普通IPv6报文来承载;
-在边界节点执行SRv6和SR-MPLS的转换,承载网内使用SR-MPLS建立业务路径,并以SRv6 Binding SID的方式通告给其他网络,其他网络将BSID压入SRv6标签栈中,SRv6报文到达承载网边界节点后,边界节点执行End.BM的操作将SRv6 BSID映射为SR-MPLS标签栈,在承载网内以MPLS的标签转发,以节省开销;
-采用SRoUDP构建端到端SR,SRoUDP是一种在native IP网络上支持SR的技术,依旧通过MPLS标签栈来表示SR的segment list,但MPLS标签栈并未直接封装在以太网中,而是封装在UDP报文中,不支持SRoUDP的节点可以直接以native IP的方式转发。SRoUDP兼具SR-MPLS开销小和SRv6支持native IP转发面的优势,但其封装方式相对复杂。
除了以上方式外,还有CRH、Binding SID、PCEP FS以及IGP灵活算法等技术都可以有助于优化SRv6的栈深。当前各种技术处于百花齐放的阶段,需关注相关的标准进展和业界动态,以确定未来的主流发展趋势。
结合基站和核心网IPv6的部署进度以及演进策略,承载网可以分步骤演进支持IPv6。第一阶段先部署6vPE,满足基站和核心网IPv6的承载需求;第二阶段将控制面演进到IPv6,解决DCN地址转换等问题。当前节点转发面可以仍然维持简洁高效且成熟的MPLS机制,SRv6技术的网络可编程能力更强,但技术还不成熟,如何提升SRv6指令的封装效率是行业关注的重点问题,待SRv6技术成熟后再考虑全面支持转发面IPv6。