《IPv6 — 网际协议第 6 版》
《IPv6 — 地址格式与寻址模式》
《IPv6 — 协议头》
《IPv6 — 基于邻居发现协议的通信方式》
《IPv6 — 子网划分》
《IPv6 — 路由方式》
《IPv6 — 移动性》
《IPv6 — 实践》
从 2G 时代的核心网引入软交换开始,移动通信网络的 IP 化伴随着代际升级同时进行,最终在 4G 时代随着 IMS (IP Multimedia Subsystem IP 多媒体子系统)大规模部署,VoLTE 功能上线,实现了核心网、承载网、接入网全业务层面的 IP 化。
IP 化的网络具有非常显著的优势:提升网络性能、减低网络成本、增强网络扩展灵活性、降低网络管理复杂度;减少了网络层次、降低网络处理复杂度;支持基于 IP 的应用,易于扩展移动网络新业务、新场景;面向未来,便于网络发展演进。
互联网的核心技术是互联网的体系结构,它是研究互联网各部分的组成和相互关系的组合,目前 TCP/IP 体系结构获得了最广泛的应用。它可以抽象成一个沙漏模型,核心是 L3 网络层。网络层承上启下,向下兼容包括 5G 在内的各种通信系统,向上支撑各种新的应用层出不穷,例如车联网、VR、远程医疗等,使互联网成为推动整个社会进步的重要支撑力量。
网络层包含三个要素,传输格式、传输方式、路由控制。要实现世界范围内所有网络的互联互通,就必须有标准的传输格式,上个世纪 90 年代初期,互联网研究者就已经发现 IPv4 在地址数量和互联网传输方面存在很多问题,因此开展了新传输格式 IPv6 的研究。到 2012 年,IPv4 地址基本分配完毕,IPv6 开始正式大规模启用。
IPv6 解决 IPv4 地址匮乏问题的同时,在许多方面对网络提出了改进措施:报头简化,易于功能扩展,自动化提升,基于流的差异化服务,支持海量、泛在连接,加强安全、隐私保护,移动性支持等,近几年全球 IPv6 发展非常迅猛。
2019 年 3 月《关于 2018 年国民经济和社会发展计划执行情况与 2019 年国民经济和社会发展计划草案的报告》正式发布,报告列举了 2019 年中国要推进的 70 个大型工程项目,其中将 5G 和 IPv6 列为第十大工程:“加快 5G 商用步伐和 IPv6 规模部署,加强人工智能、工业互联网、物联网等新型基础设施建设和融合应用”。
2019 年,IPv6 进入了第二阶段,预期到 2020 年末,IPv6 流量必须要占据 50%,新增网络不再使用 IPv4,排名靠前的互联网应用、企事业单位、运营商的固定和移动网络全部要支持 IPv6 商用。IPv6 协议不是对 IPv4 协议的简单扩展,也不能做拿来主义直接去用,IPv6 也要面对一些新问题的出现,所以 IPv6 自己也要不断做创新。
根据 5G 的关键能力,ITU 为 5G 规划了三大典型应用场景,分别是增强移动带宽、海量机器类通信,超高可靠低时延,目前的商业网络应用还集中在增强移动带宽阶段,后两种应用场景是未来的发展方向。IPv6 在后两种场景中促进 5G 网络更好。
IPv6 可以为海量机器类通信提供足够的 IP 地址,使得联网终端的永久在线成为可能。
ITU 为 5G 网络规划的第三类应用场景为超高可靠低时延通信,主要面向工业控制、远程医疗、远程控制等垂直行业的特殊应用需求,这类应用对时延和可靠性具有极高的指标要求。
ITU 对 5G 提出了毫秒级的端到端时延要求,理想情况下端到端时延为 1 ms,典型端到端时延为 5 – 10 ms 左右。目前使用的 4G 网络,端到端理想时延是 10 ms 左右,典型时延是 50-100 ms,这意味着 5G 将端到端时延缩短为 4G 的十分之一。端到端时延指的是,数据包从离开源节点的应用层时开始计算一直到抵达并被目的节点的应用层成功接收一共经历的时间长度。因此,端到端时延包括接入网时延、核心网时延以及 Internet 时延。
降低网络时延需要从多个角度共同努力,首先是新的 5G 系统空口 NR 的技术规范,目前仍在完善过程中,其次为了能进一步降低延迟,运营商尝试将数据与计算下沉到网络边缘,MEC(Mobile Edge Computing)被部署和应用,并通过网络切片功能,形成虚拟专网,提供差异化服务,最后,由于协议设计的进步,使用 IPv6 替代 IPv4 也可成为是优化手段之一。
2018 年 12 月 30 日,APNIC(亚太互联网络信息中心)发布的文章《中国 IPv6 突然加速!》指出,除三个 AS 网络的 IP 连接可能使用了一些更长的外部路径来访问中国国内的服务器,在其他大多数情况下,IPv6 提供了更好的 RTT 性能。
RTT 性能测量是比较 IPv4 和 IPv6 不同地址下的连接往返时延,如果用户有一个双栈连接的设备,那么测量脚本将让用户先使用 IPv4 地址访问 Web 对象,并再次使用 IPv6 地址访问同一物理服务器上的对象。通过查看这两个协议中的 TCP 握手过程,可以在相同的两个端点之间分别使用 IPv4 地址和 IPv6 地址进行两次往返时延测量。
IPv6 协议不是对 IPv4 协议的简单扩展,配合网络的发展,IPv6 也在不断创新。
Multi-homing 技术,是一种重要的网络服务方式,具有提高网络可靠性、实现均衡复杂、增加网络带宽、保证传输层存活性等优点。
MEC 通过在网络边缘向开发者或者第三方的内容服务商提供数据计算与存储的能力,将原本完全由中心节点处理的大型服务加以分解,分散到边缘节点去处理,加快资料的处理与传送速度,减少延迟。边缘节点的应用需要网络引入分流技术,IPv6 Multi-homing 方案是三个主流的 5G 网络分流技术之一。
IPv6 Multi-homing(多宿主)根据源地址分流,终端对不同的链接使用不同前缀,可以同时访问本地网络和远程网络,这为边缘计算等场景提供了技术基础。
IPv6 Multi-homing 分流得以实现的前提是 IPv6 地址多到不可能重复,每个 UE 都可以拥有多个完全不同的 IPv6 地址。
一个常见的 Multi-homing 需求如下:一个提供 Internet 接入和网站访问的服务商不仅需要保证链路和网站内所有的 WEB 服务器、应用服务器和数据库服务器的高可用性,还必须保证链路和站点本身的高可用性。保证 Internet 接入的稳定性对于 Internet 服务商来说是非常重要的。现在绝大多数的服务商采用一条 Internet 接入,也就是说使用一个 ISP 的链路。显然,一个 ISP 无法保证它提供的 Internet 链路的持续可用性,从而可能导致 Internet 访问和网站 WAN 接入的中断,而 Internet 接入的中断则意味着高额的损失。此时,企业可以采用 Multi-Homing 的解决方案来避免 Internet 接入中断所造成的损失。Multi-Homing 通常指同时使用不同 ISP 提供的多条 Internet 接入链路。如下所示,本地网络有两条 Internet 接入,一条通过 ISP1,另一条通过 ISP2:
由于多链路解决方案能够提供更好的可用性和性能,它正在被越来越多的 Internet 服务商和企业所采用。可用性的提高来自于多条链路的使用,而性能提高则是因为同时使用多条链路增加了带宽。
可见,Multi-homing 并不是 IPv6 的新概念,IPv4 网络中就存在了,Multi-Homing 方案能够提高企业网站的可用性和性能,但这种方案也面临着特殊的问题和挑战。
首先就是 IP 地址管理的问题,在上图所示的网络中,可能会采用两种 IP 地址管理方式:
以上的两种方式都会面临一定的挑战:
Multi-Homing 解决方案面临的不仅仅是地址管理问题。如果采用 BGP 协议来处理该问题,则只能处理流入的流量,同时无法动态处理,并且管理维护费用高昂。
在多宿主环境中部署 IPv6,同样会遇到不少新问题。例如:IPv6 的本地链路地址自动配置功能采用的 ICMPv6 路由器公告(RA)会引发设备安装默认路由记录,当链路中不止一个路由器发送这样的数据包时,问题就会出现。虽然两个路由器发送这种这样的数据包的可能性微乎其微,可是在测试网络中,RA 就很容易跑到生产环境上,或者是跑到不同的测试网络上,从而造成不确定性配置冲突的破坏。
简而言之,IPv6 Multi-homing 问题会导致流量似乎丢失或从来没有被发送,它时而行,时而不行,似乎是间歇性的。这归因于计时器或生命周期的不同,让设备有一个 “恢复” 期间,它在这段期间似乎会正常运行。
好在基于 IPv6 的 Multi-homing 也出现了各种应对策略。例如:在 IPv6 中,可以通过路由策略、主机中心策略和网关策略来解决 Multi-homing 问题。路由策略使用 BGP 的 IPv6 Multi-homing 或者 “隧道” 机制的 IPv6 Multi-homing 和 ISP 之间协商的多宿主实现。主机中心策略是通过主机来实现链路容错性和均衡复杂能力的,由主机对源地址和目的地址进行选择,选择不同的源地址相当于选择了不同的 ISP。网关策略在多宿主站点和上游 ISP 网络之间使用一个网关,对源地址的转换达到多宿主的目的。
Segment Routing(SR,分段路由)技术是由 Cisco 提出的源路由机制,旨在 IP 和 MPLS 网络引入可控的标签分配,为网络提供高级流量引导能力,简化网络。SR 有两种方法,一种是基于 MPLS 的 Segment Routing(SR-MPLS),另一种是基于 IPv6 的 Segment Routing(SRv6)。
SRv6 是 IPv6 与 Segment Routing (分段路由,简称 SR)技术的结合,依靠 IPv6 地址的灵活性,通过 IPv6 报文头扩展支持隧道功能,从而取消了 MPLS 转发承载技术,将普通的 IP 转发和隧道转发统一,能够大幅减少网络协议,简化运维,有效降低 OPEX。
SRv6 使用嵌入在 IPv6 数据包中的 SRH(Segment Routing Header),支持 SRH 节点读取报头、更新指针、交换目标地址并转发,这是一种基于 IPv6 网络的 SR 技术。
基于 IPv6 协议的灵活扩展性以及 SDN 的全局网络管控能力,SRv6 可以实现灵活的编程功能,便于快速地部署新业务,SRv6 促进 5G 承载网简单、灵活。
SRv6 从 2017 年开始启动标准化进程,短短一年半,已有超 50 个的草案,覆盖组网的各个方面,可见大家对 SRv6 技术的热情程度。不过,SRv6 对 ASIC 提出了一些特殊要求,SRv6 节点必须沿 SR 路径执行多个操作,包括读取 SRH,将 IPv6 目标字段重写到路径中的下一个节点,更新指针以及执行特定于节点的操作。
SRv6 实质上是 SR 在 IPv6 中的落地,鉴于 IPv6 本身协议应用还没有 IPv4 普及,所以当前 SR-MPLS 更实际一些,而且 SR-MPLS 不需要任何特殊 ASIC 要求,仅需要特定的 SR-MPLS 控制平面软件,不影响 ASIC 转发数据包能力,已有实际应用落地。
2019 年 01 月 23 日中国电信广州研究院与华为共同宣布联合完成国内首个 SRv6 商用验证。通过本次联合创新测试,验证了 SRv6 已具备商用能力。
确定性服务最早在 IETF DetNet 工作组被提出来,旨在为数据流提供确定性低时延及低抖动的 IP 层转发,并孵化出 DIP(Deterministic IP)技术。
DIP(Deterministic IP,确定性 IP 网络)技术,在 IPv6 包头中唯一新增的 Flow Label 字段,为基于流差异化服务提供了更方便的网络层识别方式,使得路由器对流的识别不再依赖传统的五元组,可以在不解析 TCP/UDP 四层传输层包头的条件下,实现对流的精准识别,并匹配相应的流转发策略。
IP 协议最初的 “尽力而为(Best Effort)” 已满足不了新应用场景中差异化服务的需求,DIP 能够通过确定性的报文调度和核心无状态的网络架构,同时实现三层大网端到端时延确定性和大规模可扩展性,使得在 IP 网络可以为高优先级别的流提供确定性的转发服务。所谓确定性服务指的是服务选择中 QoS 信息往往具有不确定性,通过一些技术处理达到相对的确定,以便更好地进行流量调度。
DIP 技术不仅在流量调度上可以大显身手,在 IP 溯源技术上也有建树。DIP 利用确定包标记溯源法,记录边界路由器 IP 包,可获得相应入口地址和攻击源所在子网,这种溯源方法简单高效。