上回介绍了确定性网络的背景,并提到确定性网络不是单一的技术,而是一系列协议和机制的合集(确定性网络:打造网络中的超级高铁)。那么到底有哪些技术,怎么实现的,成熟度怎么样?这次就接着聊一聊实现广域确定性网络的三种技术路线。
一、1层动态光电交叉/1.5层硬管道切片
最简单的确定性网络莫过于全光网,比如点到点连接的裸光纤,服务质量极为稳定,但这样的方式带宽没法统计复用、不支持点到多点传输、费用高昂、光纤资源浪费大。因此,要想灵活组网又便宜,还是要引入基于分组交换的以太网。于是就有了OTN(Optical Transport Network,光传送网络),其将电域和光域统一管理,可提供巨大的传送容量、完全透明的端到端波长连接以及电信级保护;因为OTN具有强大的开销、维护管理以及组网能力,其已成为当前广域承载的主要技术。
那OTN有没有问题?它主要有两大问题。
一是难以动态地光电交叉。OTN主要采用波分复用和时分复用技术来调度资源,其要求提前建立虚电路连接,然后才能在信道上传输信号。OTN既可以在光层做交叉,也可以在电层做交叉,还可以光电一起做交叉,但开销和复杂度越往后越高。诺基亚贝尔实验室在2019年提出了确定性动态网络(DDN)的概念以及OE(Optical-Ethernet)技术,将光层时隙资源和以太队列资源联合进行调度,动态地建立释放连接,期望时分复用达到统计复用的带宽利用效果。其采用在中间节点只处理包头、只在边缘节点进行FEC差错校验、严格优先级调度等方式降低管理控制开销,并试验了将DDN用于边缘云间的确定性互联。
二是带宽颗粒不够细、不够灵活。OTN目前最小只能到2.5Gb/s的电层带宽颗粒,为此,OIF光学互联论坛提出了FlexE灵活以太网技术,一种在1.5层提供细粒度硬管道切片、业务隔离的技术。FlexE在以太网L2/L1层之间增加了FlexE Shim层,它通过时分复用分发机制,将多个client接口的数据按照时隙方式调度并分发至多个不同的子通道,使网络即具备类似于时分复用的独占时隙、隔离性好的特性,又具备以太网统计复用、网络效率高的特性。
FlexE 有3种应用模式:链路捆绑模式、子速率模式和通道化模式。链路捆绑模式是将多个物理通道捆绑起来,形成一个大的逻辑通道,实现大流量的业务传输。子速率模式是指单条客户业务速率小于一条物理通道速率时,将多条客户速率汇聚起来共享一条物理通道,提高物理通道的带宽利用率。通道化模式是客户业务分布在多条不同物理通道的多条时隙上,多个客户共享多条物理通道。
换个简单说法,FlexE是一个接口技术,把以太网接口速率和光接口速率解耦。你可以把4个100G的接口合起来当400G的接口用,也可以把100G的接口划分出来1G给专门的业务用,目前OIF更有考虑实现MB级别的小颗粒切片。
总结一下,技术路线一是利用OE、FlexE等技术,在光层/1.5层进行调度,通过硬管道切片隔离,保证带宽层面、业务层面的确定性传输。
二、网络演算+软件定义队列
保证确定性带宽后,如何保证确定性的时延和抖动呢?技术路线一只能保证业务层面的确定性,为了保证每流、每包级别的确定性,还需要网络演算和软件定义队列技术。
在QoS保障方面,很早就有智能路由、带时延约束的路由、带宽时延联合调度等保障时延的方法,但这些方法大多类似DiffServ模型,得到的结果是统计意义上的平均时延/抖动变小了,是优化的平均指标。平均指标其实跟负载有关,负载小了平均时延自然就小了。而确定性要求的是最坏时延有界,即在有流突发、聚播等情况下,流的最大端到端时延依然不超过某个值;同时满足低时延,即最坏时延接近最小时延,从而减小时延变化(抖动)。这个时候,就需要确定性网络演算理论。
先从单节点单流看,确定性网络演算理论是说已知一条流的到达速率、突发尺寸、到达时间、以及节点的服务速率,那么就能算出来流在该节点的服务时间。从单节点多流看,已知多条流的上述信息,则可以根据卷积叠加原理,算出各条流的等待时间和服务时间,从而算出各流的逐跳最坏时延。最后从多节点多流看,也就是从全局整个系统看,若全网通过SDN的方式可管可控,已知网络和流的上述信息,则可以通过控制发包速率、调整发包时间、边缘整形等方式,得到每流通过网络系统的理论端到端时延上界,从而提前为流选择满足时延上界要求的合适的路由路径和调度方法。
其实,很早就有IntServ、异步整形器等这类基于网络演算的机制,但因为要为每流提供调度器、核心节点要维护每流状态、存在可扩展性等问题,以及广域海量流量会实时动态变化,需要强大的实时测量、全局管理、精准控制能力等原因,其未能得到广泛部署。
此外,各流的等待时间跟它的优先级有关系,在无抢占的情况下,一条流要先等比它优先级高的流传完,以及同等优先级先到的流传完后,才轮到它开始传输。显然,如果队列优先级越多,那么能够调度规划流的粒度就越细。传统交换机出端口只有8个优先级队列,是以业务类为粒度进行调度,因此,当前还提出了软件定义队列的方法,其最多每端口能创建65000个队列,希望做到每流每队列的调度粒度。通过动态地创建队列、删除队列、以及修改队列调度算法,使得调度方式更加灵活、时延计算更加精细。
三、基于周期的循环队列调度
那有没有可扩展性很强的广域确定性调度机制?有,比如多队列循环排队转发、可扩展确定性转发、周期具化的循环排队转发、Paternoster等机制,它们都是基于周期的循环队列调度机制,接下来以IETF DetNet工作组提出的周期具化的循环排队转发[1][2](CSQF,Cycle Specified Queuing and Forwarding)机制为例进行介绍。
CSQF是基于多周期的多队列循环调度机制,其要求设备间频率同步、设备出端口队列循环排队转发、且需维护相邻节点的周期映射关系,最后将带有周期信息的分段路由标识符(SID,Segment Routing Identifier)列表附加到数据包。如下图所示,当发端想要将时间敏感的流发送给收端时,连接建立的工作流程为:(1)集中式网络控制器收集服务质量的请求。(2)控制器通过计算满足约束的可行路径和周期来生成SID。 (3)控制器将SID标签栈分配给发端和沿路径的网络设备。
SID指定了在每个节点(跳)上传输数据包的出端口和传输周期。例如,4076表示在4节点的7端口的6周期传输该包。因此,启用CSQF的设备可以通过消耗数据包头标签堆栈中可用的第一个SID,以精确的预留时间来转发时间敏感数据包。此外,分段路由不仅是实现显式路由的可行方法,还是一种源路由技术,不需要在中间节点和出口节点维持每流状态,因此具有很好的可扩展性,能调度大规模海量的流量。
这种技术路线和TSN时间敏感网络的同步调度机制一脉相承,都是基于时分复用的思想;希望通过约束最大队列长度,从而控制排队时延;找到合适的逐跳传输时延,则可以保证端到端最坏时延有界。此外,DetNet还在TSN的基础上提出了显性路由、抖动消减、包复制与消除等三层确定性技术,融合TSN与DetNet是广域确定性网络的主要发展方向之一。
四、总结
最后,如下图总结,笔者认为确定性网络及其类似技术的共同点是:要解决性能保证与资源共享之间的矛盾。以太网的Best-effort分组转发就胜在能充分的实现资源共享,而未来确定性网络的趋势是:基于IP以太网,通过业务隔离、资源预留,以尽可能低的成本与开销,实现性能保证与资源共享间的均衡。
[1] https://datatracker.ietf.org/doc/html/draft-chen-detnet-sr-based-bounded-latency
[2] S. Chen, J. Leguay, S. Martin and P. Medagliani, “Load Balancing for Deterministic Networks,” 2020 IFIP Networking Conference (Networking), 2020, pp. 785-790.
作者简介:黄玉栋,北京邮电大学网络与交换国家重点实验室研二在读,研究方向为未来网络体系架构,确定性网络,邮箱地址: hyduni@163.com.