基于IEEE 802.1的TSN交换机队列调度技术研究

2022-11-09 07:12杨明亮吴春明沈丛麒邱于兵
电子学报 2022年9期
关键词:报文队列以太网

杨明亮,吴春明,沈丛麒,邱于兵

(1.浙江大学,浙江杭州 310013;2.之江实验室,浙江杭州 311100;3.南昌大学,江西南昌 330031)

1 引言

随着工业化与信息化的深度融合,智能制造业加速了新一代网络信息技术与制造业的深度融合,推进了工业互联网的部署建设[1].

工业互联网总体架构如图1所示,工业车间级网络处于工业互联网总体架构的核心位置,需要实现类型多样、规模庞大的工业设备的融合接入,同时需要与上层IT(Information Technology)网络对接,实现控制信息等实时数据与数据信息等非实时数据在同一网络中传输,满足工业生产过程实时监控、自动控制、业务管理等需求.另外,为保证IT/OT(Operation Technology)双网一体化融合,需要提供多维可视、安全可靠、智能运维的网络服务,建立从现场设备层、工业控制层、企业管理层直到工业云端的深度融合网络.当前,工业场景网络的架构大多通过两种层次、三类级别进行划分:在技术架构上,工业互联网包括工厂信息化网络以及工厂工业化制造网络,两种层次的网络核心技术架构完全不同;在管理上,工业互联网呈现三类界别,由低到高分别包括现场设备级、车间控制级、工厂企业管理级,每级别之间的网络配置和管理策略相互独立.

图1 TSN工业互联网总体架构

建设工业互联网的难点技术在于构建一个具备普适性与可靠性的网络,从而用于多种生产场景.兼备适应性与可靠性的网络的一个重要指标是网络延时可预测、可确定.当前工业网络中,EtherCAT、PROFINET等传统工业以太网协议通常是针对特定的任务或领域而开发的,存在带宽不足、欠缺互操作性且成本昂贵、网络链路上延时测量不准确等,无法满足当今工业4.0时代的数据通信传输的稳定可靠要求.因此,在工业互联网中研究大量设备共享网络同时保证原有工业业务实时稳定的问题具有重要的现实意义.

依据网络自底向上的结构,工业互联网的实时稳定问题可分解为三个层次的问题.首先,在帧的层次,需要解决帧抢占问题;其次,在队列层次,需要解决队列调度问题;最后,在业务层次,需要解决业务流量调度问题.

针对这些问题,目前学术界开展了相应的研究,已经取得了一定的理论成果[2~4].随着新型网络技术的发展,时间敏感网络(Time Sensitive Network,TSN)[5]为上述问题提供了一种解决思路.TSN可保障工业互联网高带宽、低时延、网络可靠性高[6~9].理论研究结果表明,TSN通过基于802.1Qci的流量监控管理技术保证了数据传输的安全可靠性.基于IEEE 802.1Qci的时间感知调度将以太网网络上的流量通过过滤策略形成不同的流、重复的时间周期,配置不同的时间片,并分配给不同的门控切片,从而在有限的时间内为那些需要传输保证且不能中断的业务流类别授予以太网传输介质的独占使用权.在队列层面,通过队列调度技术保障流量能够按照预设的优先级进行传输,其中一种典型的技术如基于802.1Qbv的队列调度机制.此外,还有学者提出了基于时间感知的队列整形机制等.Farzaneh等[10]设计了实验验证了时间感知整形对关键流量传输性能的改善,可看做初步对TSN部分功能的测试.在帧层面,利用帧抢占技术,避免因帧长度变化而导致的传输窗口空白,从而影响后续流量的时延特性.文献[11]梳理了这些机制的核心技术思想.

但是目前这些技术仍然存在于理论研究阶段,尚无技术层面的评估.因此,本文将实施基于802.1Qbv的队列调度技术以及帧抢占技术等,并针对基于802.1Qbv策略以及帧抢占的队列调度机制开展技术评估,研究其性能并验证该技术能够保障工业互联网的实时可靠.

2 基于IEEE 802.1Qbv及帧抢占的队列调度机制

2.1 基于IEEE 802.1Qbv队列优先级的流量调度策略

为了保证工业环境中上层指令有序到达且到达时间可控,我们基于IEEE 802.1Qbv标准提出队列和时间门映射从而灵活调度流量.IEEE 802.1Qbv(见图2)时间感知调度程序与以太网八个优先级进行映射,将以太网网络上的通信分离为长度固定的循环时间周期.在这些周期中,可以配置不同的时间片,可以将其分配给八个以太网优先级中的一个或多个,从而在有限的时间内为那些需要传输保证且不能中断的业务类别授予以太网传输介质的独占使用权.其实质是一个时分多址方案,通过建立特定时间段的虚拟通信信道,将时间关键通信业务与非关键的背景业务分离开来.

图2 IEEE 802.1Qbv流程图

当以太网接口已经向传输介质传输帧时,必须在另一个传输之前完成该传输.这包括在帧结束时发送CRC32(Cyclic Redundancy Check 32)校验和,以确保可靠、无故障的传输.以太网网络的固有特性再次对IEEE 802.1Qbv调 度 的TDMA(Time Division Multiple Access)方法提出了挑战.如图3中Without Guard Band所示.在周期n的时间片2结束之前,开始一个新的帧传输,但是由于这个帧太大,无法适应其时间段.又由于该帧的发送不能被中断,所以帧会侵入下一个周期n+1的后续时间片1.通过部分或完全阻塞,实时帧会延迟到无法满足应用程序需求的程度.这与在非TSN以太网交换机中发生的实际缓冲效果非常类似,因此TSN必须指定一种机制来防止这种情况发生.

图3 保护带示意图

时间感知调度通过在每个时间片的前面放置一个保护带来实现这一点.在该保护带时间内,不能启动新的以太网帧传输,只有已进行的传输可完成.该保护带的持续时间只需保证最大帧被安全传输.对于一个以太网帧,根据IEEE 802.3和一个单独的IEEE 802.1Q VLAN标记且包括帧间间隔的总长度为:1518字节(帧)+4字节(VLAN标记)+12字节(帧间距)=1534字节.

发送此帧所需的总时间依赖于以太网网络的链路速度.通过快速以太网100 Mbit/s传输速率,传输持续时间如下:

在这种情况下,保护带至少为122.72 μs长.所以由于保护带的存在,在时间片内可用的总带宽/时间将会减少,如图3中With Guard Band所示,时间片1总是包含高优先级数据(例如,用于运动控制),而时间片2总是包含尽力而为传输模式下的数据.因此,每个转换点都需要放置一个保护带,以保护临界数据流的时间片.

虽然保护带设法保护了高优先级、临界流量的时间片,但它们也存在一些重大缺陷.首先,保护带会导致带宽利用率降低.因为在保护带期间以太网端口需要保持静默,不能用于传送任何数据.其次,单个时间片的配置不能小于保护带大小.尤其是低速以太网连接和不断增长的保护带的大小,这会影响最低可实现的时间片长度和周期时间.

为了部分减轻因保护带存在而导致的带宽损失,标准的IEEE 802.1Qbv包含了一个长度感知的调度机制.此机制在存储和转发切换时使用:在具有保护带的有效端口上传输的以太网帧被完全接收之后,调度器检查帧的总体长度.如果帧完全可以在保护带内,而不侵犯下一个高优先级时间片,则调度器可以发送该帧,从而减少带宽的浪费.然而,当启用直通切换(无存储转发)时,不能使用此机制,因为需要知道以太网帧的总长度.因此,当使用直通切换来最小化端到端的延迟时,仍会发生带宽的浪费.此外,这对于可实现的最小周期时间并没有帮助,因此,长度感知调度只是一个改进,并不能减轻由保护带引入的所有缺点.本文所提出的基于IEEE 802.1Qbv及帧抢占的队列调度机制描述见算法1.

算法1基于IEEE 802.1Qbv及帧抢占的队列调度机制1:2:3;4:while当前调度门控仍然开放查看门控开关状态传输if当前数据包未完成传输开启基于帧抢占的队列调度策略

2.2 基于帧抢占的队列调度策略

基于IEEE 802.1Qbv队列优先级的流量调度策略保证了业务有序发送且延时可预测,但是引入的保护带导致了带宽的损失且提高了对时间片设置要求.为减少保护带造成的负面影响,我们提出了基于优先级的帧抢占机制以最小化保护带.

图4给出了一个帧抢占工作原理的基本示例.在发送尽力而为的以太网帧的过程中,MAC(Media Access Control)在保护带开始之前中断帧传输,并存储在下一个交换机中等待帧的第二部分到达.在时间片1的高优先级流量通过后,周期切换回时间片2,中断的帧传输被恢复.只有一个以太网的片段切换到下一个以太网交换机,帧才被重新组合.每部分帧都有用于纠错的CRC32,为了与普通的以太网CRC32区分开,最后的16位被反转.此外,还改变了帧分隔符(Start Frame Delimiter,SFD)的开始.

图4 帧抢占示例

为了实现帧抢占,网络操作员必须在各个设备之间的每个链路上激活对帧抢占的支持.为了在链路上表明帧抢占的能力,以太网交换机通过LLDP(Link Layer Discovery Protocol)(链路层发现协议)宣布此功能.当设备在网络端口上接收到LLDP声明并支持帧抢占时,可以激活该功能,但它没有直接协商和激活相邻设备的能力.任何接收LLDP抢占声明的设备都假设在链接的另一端有某个设备可以理解帧格式的变化(更改CRC32和SFD).

帧抢占可大大减少保护带.保护带的长度现在取决于帧抢占机制的精度,IEEE 802.3br为这个机制指定了64字节的最佳精度,因为这是一个仍然有效的以太网帧的最小大小.在这种情况下,保护带可以减少到127字节:64字节(最小帧)+63字节(不能抢占的剩余长度)

3 实验评估

本文实验分为两部分:首先,在TSN交换机某一端口上实施报文调度实验,验证交换机门控的流量通过或阻断功能,同时验证队列的调度间隔及深度.其次,将针对交换机发送多条TSN流,从网络整体的时延变化角度验证TSN交换机的实时可靠性.

3.1 评估环境

基于所提出的工业互联网流量调度及管控体系,研发TSN交换机作为实验对象,并验证所开发的TSN交换机具备延时可预测、流量按序到达等功能.实验连接结构如图5所示,其中,左边为TSN交换机,右边为产生流量的终端.

图5 实验架构图

3.2 单一端口的调度功能验证

通过分别测试流量的允许阻断功能、调度间隔、控制深度等指标验证队列调度功能.

首先,以间隔100 μs持续发送100个报文,共10个周期.在交换机对应端口开启队列7.实验结果显示,第1个周期在100 μs调度窗口有6个报文被调度,第2个周期在100 μs调度窗口有10个报文被调度(本次实验中是指上一周期缓存的9个和在调度窗口开放时候收到的1个报文),第11个周期表示缓存了4个报文,调度窗口开放时正常调度这4个报文.由此可知,TSN交换机能正常允许通过或阻断流量.

第二,测试仪端口1以1 μs间隔发送40个报文,包含5个周期,每周期8个报文.我们观察对应的交换机端口接收到的报文.实验发现当报文到达的时候,对应队列的门控正好开启,说明队列调度正常.另外,实验发现,队列调度间隔可设置为1 μs~260 μs都能保证调度正常.表1及表2分别给出了最小最大间隔下的交换机队列7每个周期内首先到达的报文序列号.由序列号可以看到报文序号变化规律,无论调度间隔为1 μs或260 μs,都不存在报文缺失的情况.这说明在交换机时钟同步的前提下,能够实现队列的正确调度.

表1 最小间隔下的交换机队列7每个周期内首先到达的报文序列号

表2 最大间隔下的交换机队列7每个周期内首先到达的报文序列号

第三,为了验证队列控制深度,假定前15个门控状态不允许队列7报文转发,第16个门控状态允许队列7报文转发:测试仪端口1在每周期的第900 μs发送5个报文.实验发现能在100 μs之内在交换机上收到队列7的报文.因此,TSN交换机的控制深度为16.

3.3 TSN交换机实时可靠性验证

针对单一队列验证TSN功能,验证设备可以按照所提出的调度策略进行调度.发送端生成10条TSN流,发送速率均为1000 pps,即每毫秒有1个报文,每条TSN周期流都是走7队列,open时长是100 μs,则每周期都随机有1条流是走队列7.所有报文按照Qbv调度策略转发.图6给出了TSN交换机在单一队列情况下发包延时性能.其中蓝色表示经过多个周期统计后平均延时,红色表示单次TSN周期内的延时.由图可知,尽管单个周期内各条流的延时浮动较大,但统计而言,各TSN流延时波动较小,能够实现延时可预测的要求.

图6 单队列环境下的TSN性能

针对多队列调度验证交换机TSN调度功能.在发送端生成8条流发给交换机,每流1000 pps,每条流调度周期是1 ms,每毫秒有8条流打入设备,每条流固定走1个队列.针对多队列的Qbv调度表如图7的端口调度表中control list所示,设定了16个开放窗口,各开放窗口长度信息如表3所示.默认100 μs是关闭状态.在转发时,每条流按control list调度表调度.

表3 16个开放窗口配置信息

图7给出了TSN交换机在多队列情形下的流量调度性能.由图7可知,流量转发的最小延时是2.65 μs,最大调度延时是450 μs左右.与图6中的最大时延和最小时延比对可知,相比于单一队列的情形,多队列下的最大时延存在一定浮动,但都小于单一队列情形下的最大时延.如在多队列的实验情况下,最大时延在450 μs左右,而单一队列情况下,最大时延近900 μs.另外,由长时间的时延统计可以看到,各个门控的时延较为近似.因此,所提出的调度策略能够有效调度多个窗口,提高发包效率,降低最大时延,减小时延抖动,按照预期调度流量.

图7 多队列延时调度性能

4 结论

本文研究了工业互联网中的灵活可靠的流量调度与管控体系.基于时间敏感网络,本文提出了一种灵活可靠的流量调度及管控体系,包括基于队列优先级的流量调度策略、基于帧抢占的流量监管策略、基于流的连续管控策略,实现流量的可靠、高效、连续传输.实验结果表明,所提出的流量调度及管控体系具有良好的性能.

猜你喜欢
报文队列以太网
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
基于Python的汽车CAN总线报文格式转换系统的设计与实现
Microchip推出首款车载以太网音视频桥接(AVB)全集成解决方案
基于报文类型的限速值动态调整
基于车车通讯的队列自动跟驰横向耦合模型
队列队形体育教案
三大因素驱动创新提速以太网快步迈入“灵活”时代
三大因素驱动创新提速 以太网快步迈入“灵活”时代
青春的头屑