传统以太网采用尽力而为的方式传输数据,只能将端到端的时延控制在几十毫秒以内,且传统的IP网络以及SRv6网络存在如下制约和缺陷:
·时延不确定性:无法提供确定性的时延保障。
·时延抖动:数据包的传输时延可能会受到网络拥塞、路由器缓冲区溢出等因素的影响,导致时延抖动较大。
·丢包率不可控:数据包的丢失可能会发生在路由器缓冲区溢出、链路故障等情况下,且丢包率无法得到有效控制。
·带宽保障困难:对于不同应用的带宽需求很难进行有效保障。在网络拥塞情况下,带宽的分配可能无法满足各应用的需求,导致带宽资源的浪费或无法满足高带宽需求的应用。
·缺乏差异化服务:无法对不同应用提供差异化的服务质量保障。不同应用对时延、抖动、丢包率等服务质量指标的要求不同,但传统网络无法根据应用的需求提供相应的差异化服务。
然而,但许多的新兴业务例如智能驾驶、车联网、智慧交通、工业控制、智慧农业、远程手术、无人驾驶、VR游戏、智能服务等,需要将端到端时延控制在微秒到几毫秒级,将时延抖动控制在微秒级,将可靠性控制在99.9999%以上。
因此,迫切需要建立一种可提供“准时、准确”数据传输服务质量的新一代网络。确定性网络的产生,旨在克服传统网络在满足新兴业务对端到端时延、时延抖动和可靠性的高要求方面存在的限制或不足。确定性网络(DeterministicNetworking)技术通过提供确定性时延、抖动、丢包率、带宽和可靠性等服务质量保障,为新兴业务提供了“准时、准确”的数据传输服务质量。
确定性网络技术以建设大规模的、可提供确定性服务质量的网络为目标,为各行业产业升级提供实时、高质量、高可靠的数据传输服务,全面赋能农业、工业、服务业向高质量发展转型升级。
目前,确定性网络的技术关键在于实现确定性时延、抖动、丢包率、带宽和可靠性等。
确定性网络技术主要包括:
·灵活以太网(FlexibleEthernet,FlexE):提供确定性带宽保障。
·确定网(DeterministicNetworking,DetNet):通过DetNet技术和DetNetOAM报文主动探测技术,解决网络层的确定性保障问题。
·确定性IP(DeterministicIP,DIP):为IP网络提供端到端的确定性保障。
·确定性WiFi(DeterministicWiFi,DetWiFi):实现无线局域网中的确定性传输。
·5G确定性网络(5GDeterministicNetworking,5GDN):为5G网络提供确定性和差异化服务。
本文重点介绍确定性网络技术中的DetNet和DetNetOAM技术。
随着互联网进入产业互联网下半场,以及5G垂直行业(包括互联网、制造业、交通运输、能源电力、医疗、教育等)的快速部署和升级,在未来,会有大量的智能机器接入网络,“面向机器的通信”将产生许多新型网络功能需求。网络服务对象和服务模式的转变使得“大带宽等于高质量”的假设不再普遍适用,信息在网络中传输的准时性和网络层的确定性成为了未来网络关键需求之一。
现有的IP网络,因其尽力而为转发逻辑以及存在微突发和拥塞的情况,无法在海量连接的同时提供端到端报文转发的确定性,主要表现在以下几个方面:
·面向无连接的统计时分复用网络时延不确定:IP网络是面向无连接的统计时分复用网络,来自于不同入接口的报文,在出接口上将根据报文抵达出接口队列的时机决定发送的顺序。结合统计时分复用的特征,每个报文在出接口上得到队列调度的机会均等,虽然可以充分利用网络带宽,但是报文使用的带宽不确定,这就增加了报文转发时延的不确定性。
·无法满足工业互联网中不同业务的差异化时延要求:工业互联网中,不同的业务场景所需的时延要求不同。在一些远程控制场景中,要求网络提供超低端到端时延及高精度的抖动控制能力。例如,伺服马达以250us为周期发送控制指令,当网络抖动大于250us时将出现主动机械臂和从动机械臂不同步的现象。
·无法满足5G网络的时延确定性要求:随着5G的快速发展,各个行业的数字化进程也会快速推进。不同行业存在不同的业务场景,不同业务场景对转发时延的确定性要求不同。有些业务场景对承载网络的转发时延确定性有较高的要求,比如电力行业对设备间数据通信的时延要求小于5ms,抖动小于200us。
为了在现有的IP网络基础之上,提供确定性承载能力,满足工业互联网、5G垂直行业的确定性承载需求,业界探讨并提出了DetNet网络的概念。
IETF在2015年10月成立DetNet工作小组,该工作组专注于在IP层实现确定性传输路径,这些路径可以为三层数据提供确定性的延迟、抖动、零丢包以及高可靠的保障。DetNet可以满足专业的音频/视频、车载多媒体系统、工业控制系统、智慧建筑自动化系统、电力电信系统等应用领域的需求。
图1DetNet端到端网络架构图
·SDN控制器:作为整个系统的大脑,收集DetNet网络的拓扑信息和时延等信息,计算满足业务端到端时延需求的路径,并建立确定性业务流与转发周期的映射关系。
·传输节点和出口边缘节点:将上游节点在某一个周期内发送出来的报文,从本节点的一个指定接口上、在一个指定的周期内排队发送出去。
DetNet是一种新型的IP层确定性网络技术架构,能够为高实时性IP业务流提供高确定性的网络传输服务,确保了极低的丢包率和确定的端到端传输时延、抖动。
Comware以IETFDetNet标准为基础,提出了基于RCQF(ResilientCycleQueuingandForwarding,弹性周期排队转发)技术的端到端确定性数据传输方案。该方案结合DetNetOAM报文主动探测技术,可以为网络层提供确定的数据传输服务。
RCQF是对CQF(CycleQueuingandForwarding,周期排队转发)技术的扩展,重点解决了端到端确定性传输过程中的“低抖动”需求,同时增加了弹性能力使其适用于广域网。RCQF的弹性能力包括弹性适应传输时延、传输抖动、大带宽、大包长、接口速率,以及只要求频率同步等。
DetNet网络通过以下机制,为三层网络提供确定性的延迟、抖动、零丢包以及高可靠的保障:
·拥塞保护
拥塞丢失是尽力而为网络中丢包的主要原因。DetNet通过划分转发时隙、资源预留(包括链路带宽预留、节点缓存预留等)和包抢占实现超低延迟和零拥塞损失。DetNet不仅能够限制端到端时延的上界,还能够控制时延的下界,实现了更低的时延抖动。
·可靠交付
丢包的另外一个重要原因是设备或链路故障。DetNet通过包复制和冗余消除技术,保证确定性业务流的可靠交付。DetNet在入口边缘节点上通过数据包复制和编码技术,将确定性业务流的多个副本在多个路径发送出去,每个被复制的数据包都被转发到或接近其目的地,并由网络边缘节点通过冗余消除、包排序、数据解码技术进行冗余副本的消除和原始数据包的还原。因此,单个随机事件或单个设备故障不会导致丢失任何一个数据包。
·显式路径
·弹性调度
DetNet在确定性业务流和非确定性业务流之间强制区分带宽资源。为了保持较高的带宽利用率,DetNet允许在每个调度周期内,将确定性流的空闲资源调度给非确定性流使用。DetNet的弹性调度机制实现了确定性资源与非确定性资源之间的无缝平滑调节。
以上机制可以独立或组合应用,如果组合使用,则会给低时延业务的可靠性带来最大程度的QoS保障。
图2确定性转发过程概览示意图
确定性业务流的整体转发流程如下:
(2)各节点通过DetNetOAM等技术精准测量出单个节点内、以及上下游间的时延和抖动。
(3)SDN控制器根据配置的策略计算出满足确定性时延的SRv6显式路径和队列映射信息,然后下发给入口边缘节点。对于暂未支持SDN控制器的网络,可以通过手工方式在入口边缘节点上配置DetNet业务流、DetNet路径信息。
(4)入口边缘节点基于流特征对进入指定接口的报文进行识别与过滤,然后对允许进入确定性转发路径的报文进行SRv6封装,封装在SRH报文头内的SID列表附加了各转发节点的周期属性。当确定性业务流超出了接口的预留带宽时,入口边缘节点将对超过带宽的报文丢弃,不对其提供确定性传输保障。
(5)封装后的数据报文在入口边缘节点上进行整形,按照周期排队进入相应的队列,并在指定的周期内进行转发。
(6)当数据报文抵达下游的转发节点时,转发节点依据报文头中携带的周期属性将报文送入相应的队列,然后等待周期性的调度转发。
RCQF(ResilientCycleQueuingandForwarding,弹性周期排队转发)是一种实现端到端确定性数据传输的技术,其对CQF(CycleQueuingandForwarding,周期排队转发)技术进行了扩展,重点解决了端到端确定性传输过程中的“低抖动”需求,同时增加了弹性能力使其适用于广域网。RCQF的弹性能力包括弹性适应传输时延、传输抖动、大带宽、大包长、接口速率,以及只要求频率同步等。
RCQF的关键技术如下:
DetNet网络中,确定性路径上的各节点使用DetNetOAM等技术精准测量出每个节点内、以及上下游间的时延、抖动,并将测量结果上报给SDN控制器,SDN控制器精确计算得出各节点之间的周期映射关系,并向入口边缘节点下发该周期映射信息。
入口边缘节点基于下发的周期映射信息,将不同的确定性业务流映射到不同的接口队列中,并将该路径的队列映射信息标识到报文头中指导后续节点进行确定性转发。
每条确定性流在正式发送数据报文之前,DetNet系统都需要为其规划确定的传输路径、预留沿途的所有资源,这个过程需要SDN控制器与DetNet节点之间协作完成。确定性协同的过程包含以下几个关键步骤:
(1)信息收集:SDN控制器收集DetNet网络中的全局拓扑和设备的能力集(支持确定性转发的接口、接口带宽、接口队列),并实时掌握业务对应的路径、接口、带宽、队列等信息。
(2)业务部署:在SDN控制器上为指定的业务流部署确定性转发策略,明确业务流的网络入口、网络出口、确定性QoS要求等。
(4)确定性配置下发:SDN控制器将计算得到的业务流的识别信息、周期映射信息以及SRv6显式路径信息下发给入口边缘节点。业务流进入网络后,将从入口边缘节点出发,沿着指定的路径进行转发。
周期映射的核心思想为,保证一条流的多个数据报文在各节点发送时,都可以进入某一个确定的发送周期。
(2)边缘整形:入口边缘节点按照事先下发的流识别信息、周期映射信息,将不同的确定性业务流的报文映射到不同的接口转发队列中,并将路径的周期映射信息嵌入到SRv6报文头的SID列表中。
(3)队列映射:中间转发节点基于报文中携带的周期映射关系,将某周期内从上游节点收到的所有确定性业务流的报文,统一调度到本节点指定的一个周期内进行转发。如此,每一跳都做类似的周期映射处理,直到报文从出口边缘节点发出。
DetNet节点上划分微秒级的等长周期,对确定性业务流进行严格的循环周期性调度,使得每个数据报文可以按照周期排队进入相应的队列,并在指定的周期内进行转发。
在一个周期内,只有对应的队列才会打开,存储于该队列中的数据报文才得以发送,其余队列处于关闭状态,只能接收数据报文。
图3端到端确定性传输排队转发示意图
端到端确定性传输排队转发流程如下:
(1)预先规划好每条确定性业务流的报文转发路径和转发时机,使它们各行其道、各按其时。比如,对于上图Flow1的报文流,为其规划的转发路径上依次包含节点A->B->C->D。
(4)沿路所有节点,均会基于已经建立的周期映射关系,沿着提前规划好的转发路径对确定性业务流的报文进行缓存、封装和周期性转发。
·最小传输时延(X)产生在最好的情况下,即首节点将报文从发送周期的最末尾发出,尾节点在发送周期的一开始就将报文发送出去了。
·最大传输时延(Y)产生在最怀的情况下,即首节点将报文从发送周期的最开始就发出,尾节点在发送周期的最末尾将该报文发送出去。
(1)当业务流从PE1进入SRv6网络,假设报文为PE1出接口出队列1的首包,则PE1会使用时隙T1转发该报文。随着网络拥堵情况不同,业务流可能在T1、T2、T3时隙内到达下游节点P1,(报文不会晚于T3达到P1,因为链路确定,带宽未被占满的情况下,网络节点间的传输时延范围是确定的),则业务报文从PE1到P1的时延抖动为0~3个时隙T,对应PE1到P1的时隙偏差为0~2T。
如果在P1上使用最大时隙偏差2T指导转发,即在P1上使用出队列3发送PE1上出队列1发送的报文(当报文很快从PE1到达P1,则将报文存入P1出队列3,作为P1出队列3的首包,在队列中等待发送;当报文延时到达P1,则最晚作为P1出队列3的尾包),从而实现PE1上出队列1发送的报文到P1后均在出队列3转发,报文从PE1到P1,时延抖动控制在1个T。
(2)同理,P1上出队列3发送的报文,可能在T3、T4、T5、T6达到P2,对应P1到P2的时隙偏差为0~3T。如果在P2上使用最大时隙偏差3T指导转发,即在P2上使用队列6发送P1上出队列3发送的报文,则报文从P1到P2,时延抖动也可控制在1个T。
(3)同理,P2上出队列6发送的报文,可能在T6、T7、T8、T9达到PE2,对应P2到PE2的时隙偏差为0~3T。如果在PE2上使用最大时隙偏差3T指导转发,即在PE2上使用队列9发送P2上出队列6发送的报文,则报文从P2到PE2,时延抖动也可控制在1个T。
综上所述,出节点PE2上的时延抖动为1个T,再叠加报文在入节点PE1上的时延抖动1个T(因为报文到达PE1的时机是随机的,可能在PE1出队列的首包,也可能是PE1出队列的尾包),最终,端对端确定性传输技术可将端到端的时延抖动控制在2个T。
使用最大时隙偏差指导报文转发的思想可以实现:
·不管增加多少转发节点,转发路径上上游节点的时延抖动不会影响下游节点的时延抖动。每个节点都能及时吸收时延抖动,每个节点上时延抖动会被限制在一个时隙T内,时延抖动不会累加、扩散。
·对于业务流的出节点,该业务流只在确定的时隙内发送报文。例如,P1只在确定的时隙T3内发送报文,P2只在确定的时隙T6内发送报文,PE2只在确定的时隙T9内发送报文。业务流从每台设备发送时,时延抖动都能控制在1个时隙内。累计入节点的时延抖动,最终确定性网络将端到端的时延抖动控制在2个时隙内。
图4端对端确定性传输原理示意图
多发选收,顾名思义就是当DetNet网络存在多条传输链路时,首节点会将确定性业务流的报文复制多份,并在多条链路上同时发送,然后在尾节点上进行冗余副本的消除和重新排序,达到多路备份的目的。如果其中某条链路故障,确定性业务流的报文仍能从其他链路转发到接收端,确保了单个随机事件或单个设备故障不会导致丢包,大大提升了确定性网络的可靠性。
图5未应用多发选收技术
图6应用多发选收技术
在支持DetNet多发选收功能的网络中,需要在DetNet网络路径的首节点上通过DetNet路径组将互为备份的两条DetNet网络路径进行绑定。配置了DetNet路径组的首节点上,由同一个源接口进入DetNet网络的确定性业务流将自动由属于同一个DetNet路径组的两条DetNet网络路径进行复制后转发。同时,为了保证尾节点可以区分哪些报文属于同一条确定性业务流,首节点上还需要指定被复制转发的报文中要携带的流ID和设备ID。
为了方便用户在现网环境中观察网络情况,设备支持时延可视化功能。时延可视化功能是指,当SDN控制器收集到确定性网络中各节点的时延数据后,通过可视化方式将时延数据呈现出来。用户可以在SDN控制器端监测确定性报文的转发状态,及时查看确定性网络的时延数据。
图7DetNet网络示意图
DetNetOAM(Operations,AdministrationandMaintenanceforDeterministicNetworking,确定性网络的操作、管理和维护)是一种实现目标报文在SRv6网中确定性传输的主动探测技术。它模拟业务流量构造探测报文,探测并计算探测报文经过SRv6网络指定路径中相邻两个转发节点之间的时隙偏差,然后再基于时隙偏差将业务报文映射到接口转发出队列,并与时钟同步、DetNet等技术配合,最终实现业务报文在SRv6网络中的确定性传输。
图8有界时延示意图
由于IP网络存在不稳定性,同一条业务流的报文从源端到目的端的时延是变化的,即存在时延抖动。有界抖动是指将时延抖动控制在一个可接受的范围内,例如0~Δt,则时延抖动就可以控制在范围[T-Δt/2,T+Δt/2]内。
图9有界抖动示意图
确定性探测报文是设备生成的、用于DetNetOAM测量的报文。设备模拟对端到端传输时延和时延抖动有上界要求的业务流,用源IP、源端口、目的IP、目的端口、DSCP来定义探测报文。
设备将转发芯片上的一片内存划分为16个队列。其中:
·1~15号队列用于转发具有确定性传输需求的报文。
·0号队列用于转发不要求确定性传输的报文。
图10确定性队列工作示意图
·对于SRv6的源节点,DetNetOAM时隙偏差=DetNetOAM探测报文模拟出本设备时出队列的队列编号-DetNetOAM探测报文进入本设备时入队列的队列编号。
·对于SRv6的Endpoint节点,DetNetOAM时隙偏差=DetNetOAM探测报文出本设备时出队列的队列编号-DetNetOAM探测报文出上游设备时出队列的队列编号。
图11DetNetOAM时隙偏差
确定性网络技术使用最大时隙偏差指导转发,最终实现时延抖动的确定性。DetNetOAM用于探测源节点和相邻节点间的最大时隙偏差。
(1)SRv6路径的入节点按周期(探测周期可通过命令行配置)模拟业务流量生成DetNetOAM探测报文,每周期内进行10次探测,探测报文沿着SegmentList转发。
(2)SegmentList上的入节点探测本设备探测报文在出接口队列和入接口队列之间的时隙偏差Δt1、所有节点计算本节点和上游节点出队列探测报文的时隙偏差(Δt1,Δt2,Δt3和Δt4),并将周期内多次探测结果中时隙偏差的最大值、最小值、平均值上送给控制器。
(3)控制器取探测周期内时隙偏差的最大值,生成时隙偏差列表(Δt1,Δt2,Δt3,Δt4),并将时隙偏差列表发送给入节点。
(4)入节点将时隙偏差列表封装在SRv6报文头中,指导报文转发。
图12DetNetOAM原理示意图
(1)入节点PE1上的处理
a.入节点根据业务流的特点、模拟业务流生成DetNetOAM探测报文。
b.DetNetOAM探测报文模拟从指定的入接口(入接口可通过命令行配置)进入设备,入队列为随机的,假设为Qn。
c.入节点按照指定的SRv6路径(SRv6路径可通过命令行配置)转发DetNetOAM探测报文,出队列为随机的,假设为Qn’。
d.入节点计算本节点上的时隙偏差Δt1=Qn’-Qn。
e.入节点将出接口队列编号Qn’封装入DetNetOAM探测报文,并将DetNetOAM探测报文发送给下一跳P1。
(2)P1节点上的处理
a.P1根据配置的流特征匹配DetNetOAM探测报文。
b.P1解析DetNetOAM探测报文中携带的上游节点的出队列Qn’,并按照SRv6转发流程转发DetNetOAM探测报文。出队列为随机的,假设为Qm。
c.P1计算本节点上的时隙偏差Δt2=Qm-Qn’。
d.P1将出接口队列编号Qm封装入DetNetOAM探测报文,并将DetNetOAM探测报文发送给下一跳P2。
(3)P2和PE2的处理同P1,不再赘述。
因为PE2为出节点,所以,PE2将DetNetOAM探测结果上报给控制器后,会丢弃DetNetOAM探测报文。
(4)为了尽量模拟业务报文,提供准确的探测结果,入节点会按周期进行时隙偏差探测。入节点每个周期生成10个DetNetOAM探测报文,进行10次时隙偏差探测。
后续,控制器会将收到的探测数据,按照SegmentList中节点的顺序,生成各节点的时隙偏差列表(Δt1,Δt2,Δt3,Δt4),并将时隙偏差列表发送给入节点。入节点根据控制器下发的时隙偏差列表计算业务报文在各节点上的出队列,指导报文转发。
图13DetNetOAM探测结果指导SRv6报文转发流程示意图
(1)管理员完成SRv6、SRv6TEpolicy、DetNetIP、DetNetOAM等配置。
(2)SRv6TEpolicy选择一条最优路径,作为业务报文的转发路径。
(3)入节点收到业务报文,根据目的地址查路由表,采用最优路径进行SRv6转发。
(4)如果业务报文1从入节点PE1的1号入队列Q1进入SRv6网络。
a.PE1根据时隙偏差列表(2T,2T,3T,3T)计算,得到PE1、P1、P2、PE2的出队列分别为Q3、Q5、Q8、Q11。
b.PE1生成和SegmentList对应的出队列列表(11,8,5),并将出队列列表封装在业务报文的SRv6报文头中。
c.PE1将业务报文放入3号出队列Q3发送给P1。
(5)P1获取SRv6报文头中的出队列编号,将报文放入5号出队列Q5发送给P2。
(6)P2获取SRv6报文头中的出队列编号,将报文放入8号出队列Q8发送给PE2。
(7)PE2获取SRv6报文头中的出队列编号,将报文放入11号出队列Q11发送给目的端。
如果业务报文2从入节点PE1的6号入队列Q6进入SRv6网络,根据时隙偏差列表(2T,2T,3T,3T),业务报文在PE1上的出队列为Q8,P1上的出队列为Q10,P2上的出队列为Q13,PE2上的出队列为Q1(因为确定性队列一共为15个,Q13之后的3个时隙,会重新从队列1开始发送报文)。
图14确定性网络SRv6报文封装和转发示意图
图15在SRv6TEPolicy网络中配置DetNet功能组网图
图16在SRv6TEPolicy网络中应用DetNetOAM组网图
图17在SRv6TEPolicy网络中配置DetNet多发选收功能组网图
·RFC8557:DeterministicNetworkingProblemStatement
·RFC8578:DeterministicNetworkingUseCases
·RFC8655:DeterministicNetworkingArchitecture
·RFC8938:DeterministicNetworking(DetNet)DataPlaneFramework
·RFC8939:DeterministicNetworking(DetNet)DataPlane:IP
·RFC8964:DeterministicNetworking(DetNet)DataPlane:MPLS
·RFC9016:FlowandServiceInformationModelforDeterministicNetworking(DetNet)
·RFC9023:DeterministicNetworking(DetNet)DataPlane:IPoverIEEE802.1Time-SensitiveNetworking(TSN)
·RFC9024:DeterministicNetworking(DetNet)DataPlane:IEEE802.1Time-SensitiveNetworkingoverMPLS
·RFC9025:DeterministicNetworking(DetNet)DataPlane:MPLSoverUDP/IP
·RFC9037:DeterministicNetworking(DetNet)DataPlane:MPLSoverIEEE802.1Time-SensitiveNetworking(TSN)
·RFC9055:DeterministicNetworking(DetNet)SecurityConsiderations
·RFC9056:DeterministicNetworking(DetNet)DataPlane:IPoverMPLS