确定性网络技术白皮书
Copyright © 2024 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。
目录
4.1.1 在SRv6 TE Policy网络中应用DetNet技术
4.1.2 在SRv6 TE网络中应用DetNetOAM技术
4.1.3 在SRv6 TE Policy网络中应用多发选收技术
传统以太网采用尽力而为的方式传输数据,只能将端到端的时延控制在几十毫秒以内,且传统的IP网络以及SRv6网络存在如下制约和缺陷:
· 时延不确定性:无法提供确定性的时延保障。
· 时延抖动:数据包的传输时延可能会受到网络拥塞、路由器缓冲区溢出等因素的影响,导致时延抖动较大。
· 丢包率不可控:数据包的丢失可能会发生在路由器缓冲区溢出、链路故障等情况下,且丢包率无法得到有效控制。
· 带宽保障困难:对于不同应用的带宽需求很难进行有效保障。在网络拥塞情况下,带宽的分配可能无法满足各应用的需求,导致带宽资源的浪费或无法满足高带宽需求的应用。
· 缺乏差异化服务:无法对不同应用提供差异化的服务质量保障。不同应用对时延、抖动、丢包率等服务质量指标的要求不同,但传统网络无法根据应用的需求提供相应的差异化服务。
然而,但许多的新兴业务例如智能驾驶、车联网、智慧交通、工业控制、智慧农业、远程手术、无人驾驶、VR游戏、智能服务等,需要将端到端时延控制在微秒到几毫秒级,将时延抖动控制在微秒级,将可靠性控制在99.9999%以上。
因此,迫切需要建立一种可提供“准时、准确”数据传输服务质量的新一代网络。确定性网络的产生,旨在克服传统网络在满足新兴业务对端到端时延、时延抖动和可靠性的高要求方面存在的限制或不足。确定性网络(Deterministic Networking)技术通过提供确定性时延、抖动、丢包率、带宽和可靠性等服务质量保障,为新兴业务提供了“准时、准确”的数据传输服务质量。
确定性网络技术以建设大规模的、可提供确定性服务质量的网络为目标,为各行业产业升级提供实时、高质量、高可靠的数据传输服务,全面赋能农业、工业、服务业向高质量发展转型升级。
目前,确定性网络的技术关键在于实现确定性时延、抖动、丢包率、带宽和可靠性等。
确定性网络技术主要包括:
· 灵活以太网(Flexible Ethernet,FlexE):提供确定性带宽保障。
· 时间敏感网(Time-sensitive Networking,TSN):解决链路层的确定性保障问题。
· 确定网(Deterministic Networking,DetNet):通过DetNet技术和DetNetOAM报文主动探测技术,解决网络层的确定性保障问题。
· 确定性IP(Deterministic IP,DIP):为IP网络提供端到端的确定性保障。
· 确定性WiFi(Deterministic WiFi,DetWiFi):实现无线局域网中的确定性传输。
· 5G确定性网络(5G Deterministic Networking,5GDN):为5G网络提供确定性和差异化服务。
本文重点介绍确定性网络技术中的DetNet和DetNetOAM技术。
随着互联网进入产业互联网下半场,以及5G垂直行业(包括互联网、制造业、交通运输、能源电力、医疗、教育等)的快速部署和升级,在未来,会有大量的智能机器接入网络,“面向机器的通信”将产生许多新型网络功能需求。网络服务对象和服务模式的转变使得“大带宽等于高质量”的假设不再普遍适用,信息在网络中传输的准时性和网络层的确定性成为了未来网络关键需求之一。
现有的IP网络,因其尽力而为转发逻辑以及存在微突发和拥塞的情况,无法在海量连接的同时提供端到端报文转发的确定性,主要表现在以下几个方面:
· 面向无连接的统计时分复用网络时延不确定:IP网络是面向无连接的统计时分复用网络,来自于不同入接口的报文,在出接口上将根据报文抵达出接口队列的时机决定发送的顺序。结合统计时分复用的特征,每个报文在出接口上得到队列调度的机会均等,虽然可以充分利用网络带宽,但是报文使用的带宽不确定,这就增加了报文转发时延的不确定性。
· 业务报文突发情况加剧:IP网络中需要承载的业务种类繁多,且实际应用中大部分业务报文发送时间并不规律,这就导致多个业务报文在出接口上同时发送会产生冲突。这种业务报文发送冲突情况越严重,报文转发时延就会越大。而且,随着转发节点的增加,报文转发路径上的时延累积问题就会凸显。
· 无法满足工业互联网中不同业务的差异化时延要求:工业互联网中,不同的业务场景所需的时延要求不同。在一些远程控制场景中,要求网络提供超低端到端时延及高精度的抖动控制能力。例如,伺服马达以250us为周期发送控制指令,当网络抖动大于250us时将出现主动机械臂和从动机械臂不同步的现象。
· 无法满足5G网络的时延确定性要求:随着5G的快速发展,各个行业的数字化进程也会快速推进。不同行业存在不同的业务场景,不同业务场景对转发时延的确定性要求不同。有些业务场景对承载网络的转发时延确定性有较高的要求,比如电力行业对设备间数据通信的时延要求小于5ms,抖动小于200us。
为了在现有的IP网络基础之上,提供确定性承载能力,满足工业互联网、5G垂直行业的确定性承载需求,业界探讨并提出了DetNet网络的概念。
IETF在2015年10月成立DetNet工作小组,该工作组专注于在IP层实现确定性传输路径,这些路径可以为三层数据提供确定性的延迟、抖动、零丢包以及高可靠的保障。DetNet可以满足专业的音频/视频、车载多媒体系统、工业控制系统、智慧建筑自动化系统、电力电信系统等应用领域的需求。
DetNet端到端网络架构如图1所示,关键角色包括终端系统、SDN控制器和DetNet节点。按照不同的网络位置,在转发层面上,可将DetNet节点分为三类:入口边缘节点(首节点)、传输节点(中间节点)和出口边缘节点(尾节点)。
图1 DetNet端到端网络架构图
· SDN控制器:作为整个系统的大脑,收集DetNet网络的拓扑信息和时延等信息,计算满足业务端到端时延需求的路径,并建立确定性业务流与转发周期的映射关系。
· 入口边缘节点:基于报文特征决定终端系统的端到端业务流是否被允许进入DetNet网络进行确定性转发,并将到达时间不规律的报文按时间划分到不同的转发周期中。进入DetNet网络的业务流称为确定性业务流,它可以由IP报文的五元组(源IP地址、目的IP地址、源端口、目的端口、协议类型)和DSCP等来定义。
· 传输节点和出口边缘节点:将上游节点在某一个周期内发送出来的报文,从本节点的一个指定接口上、在一个指定的周期内排队发送出去。
DetNet是一种新型的IP层确定性网络技术架构,能够为高实时性IP业务流提供高确定性的网络传输服务,确保了极低的丢包率和确定的端到端传输时延、抖动。
Comware以IETF DetNet标准为基础,提出了基于RCQF(Resilient Cycle Queuing and Forwarding,弹性周期排队转发)技术的端到端确定性数据传输方案。该方案结合DetNetOAM报文主动探测技术,可以为网络层提供确定的数据传输服务。
RCQF是对CQF(Cycle Queuing and Forwarding,周期排队转发)技术的扩展,重点解决了端到端确定性传输过程中的“低抖动”需求,同时增加了弹性能力使其适用于广域网。RCQF的弹性能力包括弹性适应传输时延、传输抖动、大带宽、大包长、接口速率,以及只要求频率同步等。
DetNet网络通过以下机制,为三层网络提供确定性的延迟、抖动、零丢包以及高可靠的保障:
· 拥塞保护
拥塞丢失是尽力而为网络中丢包的主要原因。DetNet通过划分转发时隙、资源预留(包括链路带宽预留、节点缓存预留等)和包抢占实现超低延迟和零拥塞损失。DetNet不仅能够限制端到端时延的上界,还能够控制时延的下界,实现了更低的时延抖动。
· 可靠交付
丢包的另外一个重要原因是设备或链路故障。DetNet通过包复制和冗余消除技术,保证确定性业务流的可靠交付。DetNet在入口边缘节点上通过数据包复制和编码技术,将确定性业务流的多个副本在多个路径发送出去,每个被复制的数据包都被转发到或接近其目的地,并由网络边缘节点通过冗余消除、包排序、数据解码技术进行冗余副本的消除和原始数据包的还原。因此,单个随机事件或单个设备故障不会导致丢失任何一个数据包。
· 显式路径
为了消除协议收敛时间的影响,保持转发路径的稳定,DetNet通过特定的协议或者集中控制单元计算出确定性业务流的最佳路径,并能够依靠冗余路径保证个别链路发生故障时业务不中断。
· 弹性调度
DetNet在确定性业务流和非确定性业务流之间强制区分带宽资源。为了保持较高的带宽利用率,DetNet允许在每个调度周期内,将确定性流的空闲资源调度给非确定性流使用。DetNet的弹性调度机制实现了确定性资源与非确定性资源之间的无缝平滑调节。
以上机制可以独立或组合应用,如果组合使用,则会给低时延业务的可靠性带来最大程度的QoS保障。
DetNet网络中,确定性业务流的整体转发过程概览如图2所示。
确定性业务流的整体转发流程如下:
(1) DetNet网络内的所有网络设备采用PTP(Precision Time Protocol,精确时间协议)、SyncE(同步以太网)等技术,实现纳秒级的频率同步。
(2) 各节点通过DetNetOAM等技术精准测量出单个节点内、以及上下游间的时延和抖动。
(3) SDN控制器根据配置的策略计算出满足确定性时延的SRv6显式路径和队列映射信息,然后下发给入口边缘节点。对于暂未支持SDN控制器的网络,可以通过手工方式在入口边缘节点上配置DetNet业务流、DetNet路径信息。
(4) 入口边缘节点基于流特征对进入指定接口的报文进行识别与过滤,然后对允许进入确定性转发路径的报文进行SRv6封装,封装在SRH报文头内的SID列表附加了各转发节点的周期属性。当确定性业务流超出了接口的预留带宽时,入口边缘节点将对超过带宽的报文丢弃,不对其提供确定性传输保障。
(5) 封装后的数据报文在入口边缘节点上进行整形,按照周期排队进入相应的队列,并在指定的周期内进行转发。
(6) 当数据报文抵达下游的转发节点时,转发节点依据报文头中携带的周期属性将报文送入相应的队列,然后等待周期性的调度转发。
RCQF(Resilient Cycle Queuing and Forwarding,弹性周期排队转发)是一种实现端到端确定性数据传输的技术,其对CQF(Cycle Queuing and Forwarding,周期排队转发)技术进行了扩展,重点解决了端到端确定性传输过程中的“低抖动”需求,同时增加了弹性能力使其适用于广域网。RCQF的弹性能力包括弹性适应传输时延、传输抖动、大带宽、大包长、接口速率,以及只要求频率同步等。
RCQF的关键技术如下:
高精度的频率同步是支撑确定性转发路径测量与标定的基础。确定性转发路径需要所有转发网元基于同一个时间标识,各个转发网元基于全局统一的时间基准选择报文转发时机,进而达到确定时延与抖动的效果。
DetNet网络内,指定满足要求的时钟源后,所有网络设备采用PTP(Precision Time Protocol,精确时间协议)、SyncE(同步以太网)等技术,实现纳秒级的频率同步。关于PTP和SyncE的详细介绍,请参见PTP技术白皮书和同步以太网(SyncE)技术白皮书。
DetNet网络中,确定性路径上的各节点使用DetNetOAM等技术精准测量出每个节点内、以及上下游间的时延、抖动,并将测量结果上报给SDN控制器,SDN控制器精确计算得出各节点之间的周期映射关系,并向入口边缘节点下发该周期映射信息。
入口边缘节点基于下发的周期映射信息,将不同的确定性业务流映射到不同的接口队列中,并将该路径的队列映射信息标识到报文头中指导后续节点进行确定性转发。
每条确定性流在正式发送数据报文之前,DetNet系统都需要为其规划确定的传输路径、预留沿途的所有资源,这个过程需要SDN控制器与DetNet节点之间协作完成。确定性协同的过程包含以下几个关键步骤:
(1) 信息收集:SDN控制器收集DetNet网络中的全局拓扑和设备的能力集(支持确定性转发的接口、接口带宽、接口队列),并实时掌握业务对应的路径、接口、带宽、队列等信息。
(2) 业务部署:在SDN控制器上为指定的业务流部署确定性转发策略,明确业务流的网络入口、网络出口、确定性QoS要求等。
(3) 显式路径规划:SDN控制器结合收集到的路径状态信息和测量信息,动态计算网络中是否存在满足条件的路径,包括路径的端到端时延和抖动要求,各设备接口剩余带宽是否充足。如果存在满足条件的路径,SDN控制器将规划出业务流对应的SRv6显式路径信息。关于SRv6的相关介绍,请参见SRv6技术白皮书和SRv6 TE Policy技术白皮书。
(4) 确定性配置下发:SDN控制器将计算得到的业务流的识别信息、周期映射信息以及SRv6显式路径信息下发给入口边缘节点。业务流进入网络后,将从入口边缘节点出发,沿着指定的路径进行转发。
周期映射的核心思想为,保证一条流的多个数据报文在各节点发送时,都可以进入某一个确定的发送周期。
(1) 等长周期划分:为了避免基于统计时分复用的转发造成的微突发,需要控制每个报文在每一跳的转发行为。将每个报文进、出网络设备的时间控制到一个精确的时刻是很困难的,但将其控制到一个时间段内相对容易。因此,每个转发节点需要将各自的时间以T为单位划分为等长的周期,并为每个数据报文合理安排进入和离开本节点的周期。
(2) 边缘整形:入口边缘节点按照事先下发的流识别信息、周期映射信息,将不同的确定性业务流的报文映射到不同的接口转发队列中,并将路径的周期映射信息嵌入到SRv6报文头的SID列表中。
(3) 队列映射:中间转发节点基于报文中携带的周期映射关系,将某周期内从上游节点收到的所有确定性业务流的报文,统一调度到本节点指定的一个周期内进行转发。如此,每一跳都做类似的周期映射处理,直到报文从出口边缘节点发出。
DetNet节点上划分微秒级的等长周期,对确定性业务流进行严格的循环周期性调度,使得每个数据报文可以按照周期排队进入相应的队列,并在指定的周期内进行转发。
在一个周期内,只有对应的队列才会打开,存储于该队列中的数据报文才得以发送,其余队列处于关闭状态,只能接收数据报文。
如图3所示,为了保障端到端传输时的确定性时延和抖动,RCQF采用了周期性排队转发机制,其基本思想为:为每个确定性业务流分配一个特定的发送时间周期,通过控制每个流的行为来避免冲突,减小节点内的排队时延,最终实现确定性时延。
端到端确定性传输排队转发流程如下:
(1) 预先规划好每条确定性业务流的报文转发路径和转发时机,使它们各行其道、各按其时。比如,对于上图Flow 1的报文流,为其规划的转发路径上依次包含节点A->B->C->D。
(2) 报文转发路径上的所有转发节点需要达到精准的频率同步,然后在此基础上将各自的时间划分为等周期的时间片(时长为T)。
(3) 每对相邻节点建立稳定的周期映射关系,然后由DetNet网络的控制平面对确定性业务流进行统一周期调度,使其只在确定的时间片内进行转发。比如上图A节点的0号周期报文,将固定在B节点的2号周期发送出去。因此,每对相邻节点上,对于每条确定性业务流的报文,发送周期编号差值保持固定,但具体报文在周期内被发送的确切时间可以不固定。
(4) 沿路所有节点,均会基于已经建立的周期映射关系,沿着提前规划好的转发路径对确定性业务流的报文进行缓存、封装和周期性转发。
这样,特定的业务流报文,在转发路径的每个节点上的发送时间都被限制在一个特定的时间片内,报文在该节点的时延抖动是有界的。无论增加多少个节点,前一节点的抖动并不会增加后面一个节点的抖动时延,但报文总的延时会增加。每个节点及时吸收相应抖动,抖动不会累加、扩散,保证端到端的时延抖动在两个周期(Y-X=2T)以内。
· 最小传输时延(X)产生在最好的情况下,即首节点将报文从发送周期的最末尾发出,尾节点在发送周期的一开始就将报文发送出去了。
· 最大传输时延(Y)产生在最怀的情况下,即首节点将报文从发送周期的最开始就发出,尾节点在发送周期的最末尾将该报文发送出去。
RCQF实现端到端确定性传输的原理如下:每个转发节点使用确定性队列转发报文时,按时隙轮询队列,一个队列对应一个时隙。所有转发节点对确定性的业务流进行统一周期调度,使其在确定的时间片内进行转发。从而实现业务流在网中确定性传输。
下面我们将通过一个示例来理解端对端确定性传输的设计思想。如图4所示,假设根据时延和带宽要求,SRv6选择PE1->P1->P2->PE2作为业务流的传输路径,路径选定后,则SRv6路径上节点和节点之间的时延必然是确定的且符合业务流的要求。
(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个时隙内。
多发选收,顾名思义就是当DetNet网络存在多条传输链路时,首节点会将确定性业务流的报文复制多份,并在多条链路上同时发送,然后在尾节点上进行冗余副本的消除和重新排序,达到多路备份的目的。如果其中某条链路故障,确定性业务流的报文仍能从其他链路转发到接收端,确保了单个随机事件或单个设备故障不会导致丢包,大大提升了确定性网络的可靠性。
如图5所示,网络有一定的故障率,在未应用多发选收技术时,若报文按路径PE1->P1->P2->PE2转发,假设每一跳的可靠性为0.99999,则该条路径整体的可靠性为0.99999*0.99999*0.99999≈0.99997。
如图6所示,当应用多发选收技术时,报文按路径PE1->P1->P2->PE2和路径PE1->P3->P4->PE2同时转发,两条路径只要任意一条正常,则报文可以正常转发到接收端,因此多发选收的可靠性为1-(1-0.99997)* (1-0.99997) ≈0.999999999。可以看出,多发选收技术可以极大的提升确定性网络的可靠性。
在支持DetNet多发选收功能的网络中,需要在DetNet网络路径的首节点上通过DetNet路径组将互为备份的两条DetNet网络路径进行绑定。配置了DetNet路径组的首节点上,由同一个源接口进入DetNet网络的确定性业务流将自动由属于同一个DetNet路径组的两条DetNet网络路径进行复制后转发。同时,为了保证尾节点可以区分哪些报文属于同一条确定性业务流,首节点上还需要指定被复制转发的报文中要携带的流ID和设备ID。
同一个DetNet路径组内不同路径的时延可能不同,为了保证尾节点上发出报文的时间可控,需要在首节点上为重新组织后的报文指定它们在尾节点上发送的统一延迟时间。当尾节点收到来自不同路径的同一条确定性业务流的报文后,首先基于报文中携带的标识(时间戳、FlowID、序列号、统一延迟时间等)对其去重以及重新排序,然后在这个指定的统一延迟时间到达后将其转发出去。
如图7所示,在DetNet网络中,确定性路径上的各节点使用DetNetOAM技术精准测量出每个节点内、以及上下游间的时延、抖动,并将测量结果上报给SDN控制器,SDN控制器根据时延和抖动信息,向确定性网络节点下发周期映射信息,指导节点进行确定性转发。有关DetNetOAM的详细介绍,请参见“DetNetOAM技术”章节。
为了方便用户在现网环境中观察网络情况,设备支持时延可视化功能。时延可视化功能是指,当SDN控制器收集到确定性网络中各节点的时延数据后,通过可视化方式将时延数据呈现出来。用户可以在SDN控制器端监测确定性报文的转发状态,及时查看确定性网络的时延数据。
图7 DetNet网络示意图
DetNetOAM(Operations, Administration and Maintenance for Deterministic Networking,确定性网络的操作、管理和维护)是一种实现目标报文在SRv6网中确定性传输的主动探测技术。它模拟业务流量构造探测报文,探测并计算探测报文经过SRv6网络指定路径中相邻两个转发节点之间的时隙偏差,然后再基于时隙偏差将业务报文映射到接口转发出队列,并与时钟同步、DetNet等技术配合,最终实现业务报文在SRv6网络中的确定性传输。
有界时延是指某报文从源端发出到目的端收到该报文之间的时间差有上界,即时延的范围在一个确定的范围内0~T(T的取值由业务要求决定)。
由于IP网络存在不稳定性,同一条业务流的报文从源端到目的端的时延是变化的,即存在时延抖动。有界抖动是指将时延抖动控制在一个可接受的范围内,例如0~Δt,则时延抖动就可以控制在范围[T-Δt/2, T+Δt/2]内。
图9 有界抖动示意图
确定性探测报文是设备生成的、用于DetNetOAM测量的报文。设备模拟对端到端传输时延和时延抖动有上界要求的业务流,用源IP、源端口、目的IP、目的端口、DSCP来定义探测报文。
设备将转发芯片上的一片内存划分为16个队列。其中:
· 1~15号队列用于转发具有确定性传输需求的报文。
· 0号队列用于转发不要求确定性传输的报文。
每个队列按时间片(即时隙)轮询转发报文,每个队列对应一个时间片。如下图10所示,队列1对应时隙T1,队列2对应时隙T2,以此类推,队列15对应时隙T15。转发芯片依次发送队列1到队列15的报文,每个队列发送报文的时长为T。
如果某个队列中的报文发送完毕,但是该队列对应的时隙还没用完,则时隙中的剩余时间用于发送队列0中的非确定性报文。待时隙时间到达后,开始发送下一个队列的确定性报文。
时隙偏差是指相邻节点之间报文发送时隙的偏差值,由于时隙编号与队列编号一一对应,且每个设备时钟完全同步,时隙偏差的计算方法如图11所示:
· 对于SRv6的源节点,DetNetOAM时隙偏差=DetNetOAM探测报文模拟出本设备时出队列的队列编号-DetNetOAM探测报文进入本设备时入队列的队列编号。
· 对于SRv6的Endpoint节点,DetNetOAM时隙偏差=DetNetOAM探测报文出本设备时出队列的队列编号-DetNetOAM探测报文出上游设备时出队列的队列编号。
图11 DetNetOAM时隙偏差
确定性网络技术使用最大时隙偏差指导转发,最终实现时延抖动的确定性。DetNetOAM用于探测源节点和相邻节点间的最大时隙偏差。
如图12所示,DetNetOAM探测的流程为:
(1) SRv6路径的入节点按周期(探测周期可通过命令行配置)模拟业务流量生成DetNetOAM探测报文,每周期内进行10次探测,探测报文沿着SegmentList转发。
(2) SegmentList上的入节点探测本设备探测报文在出接口队列和入接口队列之间的时隙偏差Δt1、所有节点计算本节点和上游节点出队列探测报文的时隙偏差(Δt1,Δt2,Δt3和Δt4),并将周期内多次探测结果中时隙偏差的最大值、最小值、平均值上送给控制器。
(3) 控制器取探测周期内时隙偏差的最大值,生成时隙偏差列表(Δt1, Δt2, Δt3, Δt4),并将时隙偏差列表发送给入节点。
(4) 入节点将时隙偏差列表封装在SRv6报文头中,指导报文转发。
图12 DetNetOAM原理示意图
如图13所示,DetNetOAM的处理流程如下:
(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次时隙偏差探测。
每次探测,所有节点均按照正常转发流程,根据DetNetOAM探测报文真实到达时间进入入队列、出队列,获得每次探测的时隙偏差Δtn。每个节点统计周期内10次探测的结果,得到本节点一个周期内时隙偏差Δtn的最小值、最大值、平均值,并通过Telemetry报文将周期编号、本设备在SRv6路径上的位置以及时隙偏差Δtn的最小值、最大值、平均值上报给控制器。
后续,控制器会将收到的探测数据,按照SegmentList中节点的顺序,生成各节点的时隙偏差列表(Δt1, Δt2, Δt3, Δt4),并将时隙偏差列表发送给入节点。入节点根据控制器下发的时隙偏差列表计算业务报文在各节点上的出队列,指导报文转发。
图13 DetNetOAM探测结果指导SRv6报文转发流程示意图
如图14所示,假设DetNetOAM探测到入节点的最大时隙偏差为2T、P1到PE1的最大时隙偏差为2T、P2到P1的最大时隙偏差为3T、PE2到P2的最大时隙偏差为3T,则控制器会给入节点下发时隙偏差列表(2T, 2T, 3T, 3T)。确定性网络发送业务报文的流程如下:
(1) 管理员完成SRv6、SRv6 TE policy、DetNet IP、DetNetOAM等配置。
(2) SRv6 TE policy选择一条最优路径,作为业务报文的转发路径。
(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所示,通过在IGP网络中部署SRv6 TE Policy,并开启DetNet功能,实现根据用户需求制定合理的转发路径,如要求流量分别经过Device A、Device B、Device C、Device D进行转发。
图15 在SRv6 TE Policy网络中配置DetNet功能组网图
如图16所示,通过在IGP网络中部署SRv6 TE Policy,并开启DetNet和DetNetOAM功能,实现根据用户需求制定合理的转发路径,如要求流量分别经过Device A、Device B、Device C进行转发。使用DetNetOAM探测Device A~Device D相邻两设备之间的时隙偏差,并将时隙偏差通过gRPC上送给控制器,为Device A~Device D路径上的报文提供确定性传输服务。
图16 在SRv6 TE Policy网络中应用DetNetOAM组网图
如图17所示,IGP网络中部署了SRv6 TE Policy,在该场景中配置DetNet多发选收功能,可以根据用户需求实现确定的转发路径。即业务流量依次经过Device A、Device B、Device C和Device A、Device D、Device C。当用户流量到达Device C时,流量将被DetNet多发选收功能选收成一份。
图17 在SRv6 TE Policy网络中配置DetNet多发选收功能组网图
· RFC 8557:Deterministic Networking Problem Statement
· RFC 8578:Deterministic Networking Use Cases
· RFC 8655:Deterministic Networking Architecture
· RFC 8938:Deterministic Networking (DetNet) Data Plane Framework
· RFC 8939:Deterministic Networking (DetNet) Data Plane: IP
· RFC 8964:Deterministic Networking (DetNet) Data Plane: MPLS
· RFC 9016:Flow and Service Information Model for Deterministic Networking (DetNet)
· RFC 9023:Deterministic Networking (DetNet) Data Plane: IP over IEEE 802.1 Time-Sensitive Networking (TSN)
· RFC 9024:Deterministic Networking (DetNet) Data Plane: IEEE 802.1 Time-Sensitive Networking over MPLS
· RFC 9025:Deterministic Networking (DetNet) Data Plane: MPLS over UDP/IP
· RFC 9037:Deterministic Networking (DetNet) Data Plane: MPLS over IEEE 802.1 Time-Sensitive Networking (TSN)
· RFC 9055:Deterministic Networking (DetNet) Security Considerations
· RFC 9056:Deterministic Networking (DetNet) Data Plane: IP over MPLS