作者:黄玉栋,北京邮电大学网络与交换国家重点实验室研一在读,研究方向为未来网络体系架构,确定性网络
什么是时延敏感网络
时延敏感网络(tsn, time sensitive network)是指能保证时延敏感流的服务质量,实现低时延、低抖动和零丢包率的网络。
时延敏感流可分为周期时延敏感流(pts, periodic time sensitive),比如工厂里的循环控制指令、同步信息,和非周期/零星时延敏感流(sts,sporadic time sensitive),比如事件告警信息。
对于周期时延敏感流,一般采用同步的调度整形机制,即要求全网设备进行精准的纳秒级时钟同步,其最早的思想来自时间触发以太网(tte, time-triggered ethernet),当前研究的机制包括时间感知整形(tas)、循环排队转发(cqf)、基于信用整形(cbs)。
对于零星时延敏感流,一般采用异步的调度整形机制,即不需要全网时钟同步,当前的研究机制包括基于紧急度的调度(urgency-based scheduler,ubs)、帕特诺斯特机制(paternoster)和帧抢占(frame preemption)。
看到这么多机制和新名词,它们各自有什么作用,又有什么关联和区别,大脑已经反应不过来了对不对?没关系,忘掉以上名词,接下来小编将带领大家化繁为简、抽丝剥茧、拨云见日,直击时延敏感网络调度整形机制的本质。
什么是调度整形机制
调度整形机制是交换机中的两种服务质量保障机制,调度是指队列调度,一般实现在交换机的出端口,包含进入队列、根据调度算法选择发送队列、出队传输三个部分;整形是指流量整形,通过限制端口的转发速率从而防止交换机内部或下一跳出现拥塞。
由于异步调度整形机制无法保证包的最坏时延满足一定阈值,只能保证包的平均时延和同步方法相当,且时延抖动比较大,在网络拥塞的情况下时延敏感流很容易产生丢包,当前的异步机制并不成熟,为更好的阐明时延敏感网络的本质,后文主要先讨论使用同步机制传输周期时延敏感流(pts)的场景。
如何实现低时延、低抖动和零丢包率
那么时延敏感网络如何才能实现低时延呢?首先,网络的每跳时延可分为链路传播时延、交换机处理时延、出端口排队时延三部分,而端到端时延为逐跳时延求和。链路时延和处理时延基本为固定值,所以减少时延必须要减少排队时延,即时延敏感网络的本质就是不排队:先通过优先级队列将时延敏感流和尽力而为流隔开,再从时间上(划分时隙)或空间上(规划路由)将同样的时延敏感流隔开。
实现低时延后,包在交换机里的停留时间很短,包的累积不会超过队列缓冲区大小,从而实现零丢包率;同时,抖动是指时延的变化差值,低时延降低了最坏时延,让时延上界靠近时延下界,减小了时延的变化区间,从而也实现了低抖动。
pts的头号问题:配置时隙
传统的以太网采用“尽力而为”的转发,无法保证包的端到端最坏时延,时延敏感网络采用类似时分复用的方式,为每一个包配置时隙,保证其有足够的时间进行转发。以下总结三种基于时间的调度整形机制和一个时隙配置模型。
时间触发以太网(tte):把时间戳打在包上,通过时间表控制包的发送,让每个包自己知道自己的发送时间,在发包侧就将各个包的发送时间隔开,严格保证时延抖动满足要求。
时间感知整形(tas):利用优先级门控队列,即在优先级队列后加上门控开关,通过门控时间表控制门控开关的打开闭合来保证时延抖动要求。其可以阻断尽力而为流的持续转发,让高优先级的包得到稳定的间隔转发时间,同时pts流之间依然要将发包时间隔开,时延抖动保证效果才最好。比如每跳时延为t,共有n跳,则可保证端到端时延最大为nt。和tte相比,让优先级队列决定包何时被转发,降低了对发端的要求,同时时延抖动保证粒度也会弱一些。
循环排队转发(cqf):把tas里只用一个最高优先级队列来接收时延敏感流,变为用奇偶两个队列循环接收,即所谓的乒乓队列。其可以用于解决流聚合问题,如果两个pts流同时到达了,必有一个pts要等待转发,循环排队转发可以保证等待的流只等待前一个pts流转发,即一个周期t,自己再转发一个周期t,假设共有n跳,则端到端时延可保证最大为2nt。
时隙配置模型:时隙的配置问题等同于二进制背包问题,是一个np-hard问题,时延敏感网络的流量调度和时隙配置架构流程如下图所示,首先需要确定合适的转发平面调度整形机制,然后中心化用户配置(cuc)采集各个发端的发包周期、包大小、流大小、对时延抖动的要求等信息,以及网络的拓扑信息,并将这些信息作为输入,放入时隙配置模型中;模型包含一系列的多项式约束条件,可采用整数线性规划(ilp)或可满足性模理论(smt)等方式进行建模,然后用解析器工具或者蚁群算法、模拟退火算法、遗传算法、禁忌搜索算法等启发式算法进行求解,最后输出为满足这些约束条件的一个时隙配置方案,并可采用离线静态或者在线增量式的方法进行配置下发。
pts的衍生问题:流聚合、流增量、流突发
流聚合:当拓扑复杂、拓扑不对称、存在多个分支节点时,得到毫无排队的时隙配置会非常困难,下游聚合节点会产生流聚合现象,导致pts流排队。cqf是一种解决流聚合的机制。
流增量:一般的配置方案是离线的静态配置方案,每次计算出方案可能需要花费数个小时,然后进行部署,当有新的设备加入网络时,需要考虑逐个的规划时延敏感流的时隙配置,同时保证已下发的配置不受影响。目前结合sdn进行时延敏感网络增量调度是一个比较火的方向,叫tssdn(time-sensitive software-defined network )。
流突发:当网络中有零星时延敏感流时,很有可能与周期时延敏感流的转发产生冲突,扰乱已有的时隙配置。混合时延敏感流调度是当前还没有解决的一个问题。
pts的共流问题:考虑混合流的qos和网络利用率
共流问题也叫做混合流问题,时延敏感网络的流量可以分为三类:时延敏感流(ts),速率限制流(rt)和尽力而为流(be)。其中时延敏感流已在第一节介绍;速率限制流是指专业音视频等有一定时延抖动要求,同时占用带宽大,需要进行速率限制的流量;尽力而为流是普通的可以随意转发的以太网流量。
优先级等级上,ts > rt > be,一般是转发完ts流后,剩余的时隙用来转发rt和be流,并设立保护带宽隔离三种流量。保证了pts流的服务质量后,从网络整体性能出发,还需要考虑保证rt和be流的服务质量,降低其丢包率,并尽量提高整个网络的带宽资源利用率。
pts的隐藏问题:时钟漂移、广域时钟同步、复杂度和扩展性
pts调度整形机制的实现都有一个大前提,那就是严格的全网时钟同步,但由于温度等原因,时钟会产生漂移,一次时隙没有对齐,就会导致包无法在预计的时刻被发送完,导致整个调度出现严重问题,只能重启设备。
同时,当前的时钟同步机制只能保证7跳以内大小的局域网内的时钟同步,如何实现广域的时钟同步,在更大的范围内实现时延抖动的保障,同时还要考虑实现的复杂度和实现成本,这些问题都有待讨论。
Vishay新的 BiSy两线超低电容ESD保护二极管为高速数据线提供安全保障
高压超结MOSFET轻松解决LED电源浪涌
M12连接器8芯的更换步骤和注意事项
消防给水系统流量开关如何安装
芯片荒真的结束了吗?电子元器件采购还会遇到其他难题吗
如何才能实现低时延敏感网络
航天科技集团各单位圆满完成天舟五号发射任务
Xilinx Kintex UltraScale 一半尺寸的 PCI Express 平台 (HTG
康拓红外H1财报公布,市场份额稳中有升
打破核心技术受制于人局面 集成电路等重大专项提速
谷歌Pixel 4 XL真机曝光并不支持20倍的混合变焦
涡轮空冷燃料电池输出功率提高2.5倍,满足航空运输需求
日产全新轻量化技术获突破,减重75%
2021年1-5月国内共发生电动汽车起火事故34起
3D打印技术再创新高,“人工骨”将切入医疗细分市场
基于嵌入式WiFi SOC芯片设计的WiFi-RS485双向转换模块
内外结合预防保障生物识别信息安全
Littelfuse推出经AEC-Q101认证的瞬态抑制二极管
贸易战的恶果?最好的解决方案是“全面战争”?
超高写入速度的QspiNAND:汽车OTA升级新选择