APP下载

面向TSN的同步网络模型及应用

2021-04-22杨翔瑞孙志刚严锦立姜旭艳

计算机工程与设计 2021年4期
关键词:确定性测试仪原型

全 巍,杨翔瑞,孙志刚,严锦立,姜旭艳

(国防科技大学 计算机学院,湖南 长沙 410073)

0 引 言

在工业控制和装备制造等领域,以太网代替传统的控制总线已经成为一个重要的发展趋势。特别是随着802.1 TSN标准的逐渐完善,如何有效利用TSN网络为应用提供确定性和高可靠的数据交换也逐渐成为学术界研究的新热点。目前国际上仅有少量基于SoC和FPGA的TSN产品,而国内TSN研究则相对落后,缺乏自主化的TSN解决方案。为了快速实现TSN的自主化解决方案,ASIC和SoC的解决方法存在周期长、投入高、风险大等缺陷。相比而言,FPGA的实现方案则可以避免这一缺陷,但单纯的FPGA由于资源有限,难以构建完整的TSN解决方案。因此CPU+FPGA的软硬件协同实现方式则为TSN整体解决方案提供了有效的途径。为了建立一套基于CPU+FPGA架构的完善自主化TSN方案,加速TSN的自主化研制进程,本文提出了面向TSN的同步网络模型--SyncNet。SyncNet模型以全网高精度时钟同步为基础,结合网络设备的确定性转发机制以及全局流量调度规划软硬件协同保障TSN的确定性传输。基于SyncNet模型,本文在可编程网络设备上构建了一套TSN原型系统。该原型系统包含了SyncNet模型中所必备的TSN端系统、TSN交换机、TSN_CNC(centralized network configuration)、TSN_CUC(centralized user configuration),其端系统和交换机上实现了PTP时间同步和CQF流量整形功能来提供确定性传输保障,同时实现了基于Beacon的带内遥测机制方便TSN网络的管理和控制。

本文的主要贡献包括:①提出了SyncNet同步网络模型,为CPU+FPGA架构下TSN实现提供了理论支撑;②基于SyncNet模型构建了一套支持PTP和CQF机制的TSN原型系统;③为基于SyncNet模型的TSN原型系统构建了测试环境,验证了该系统的确定性传输能力。

1 相关研究

在许多具有硬实时需求的分布式系统中,其所采用的基于总线的网络技术已经难以应对逐步增长的通信带宽需求。以汽车系统为例,常用通信协议CAN[1]、FlexRay[2]仅能提供10 Mbps以内的带宽能力,而新兴汽车应用如自动驾驶、车载娱乐系统等则需要至少100 Mbps甚至更高的带宽需求。为了满足急剧增长的带宽需求,在汽车、列车、航空航天、5G和工业控制等众多领域,工业界考虑采用具有高带宽、低成本优势的交换式以太网取代总线技术[3]。然而现有的交换式以太网技术采用尽力转发服务来保障网络带宽利用和网络平均延迟,但这种尽力转发服务在保障上述领域所需的确定性端到端时延、零丢包率和最小延迟抖动(可靠性)方面则受到严重限制。为突破这一局限,类似时间触发以太网TTEthernet[4,5]、EtherCAT[6]等半公开的技术得到发展,但这类技术的核心部分仍旧掌握在提出这些技术的公司中,并不对外开放,因而限制了其互操作性和互联性[7]。国际上目前成熟的TSN方案,例如博通BCM53570[8]和恩智浦LS1028A[9]的片上系统方案(SoC)以及Intel和TTtech推出的FPGA方案[10]。国内针对TSN方面的研究则相对落后,缺少成熟的自主化TSN解决方案,华为、摩莎等企业虽然推出了相关TSN交换机产品,但是否采用自主设计芯片以及交换机内部架构尚不明确。

在TSN标准方面,为了推进以太网技术在上述具有确定性传输需求的应用领域的发展,IEEE 802.1 TSN 工作组(由音频/视频桥接工作组演变而来)正在致力于时间敏感网络(time sensitive networking,TSN)的标准化[11]。TSN旨在为以太网在网络第二层提供兼容当前以太网标准的确定性、高可靠服务[12]。TSN标准涵盖广泛,其中IEEE 802.1ASrev[13]时钟同步协议、IEEE802.1Qbu[14]帧抢占机制以及IEEE 802.1Qbv[15]流量调度功能等标准为分布式网络中的通信提供了确定性保障[16]。在通信可靠性方面,IEEE 802.1Qca[17]定义的路径控制和保留机制以及IEEE 802.1CB[18]的帧复制和消除机制可以实现流量的多路径备份从而提高通信可靠性[19]。目前,IEEE关于TSN的多数草案仍在快速迭代更新中。当前TSN工作组主页已经发布的标准共有13个,而仍有17个标准仍在讨论与设计中[16],涉及到本地注册管理、QoS配置、服务提供商网络的TSN配置说明等方面。

2 SyncNet同步网络模型

采用CPU+FPGA软硬件协同实现是快速建立和验证TSN整体解决方案有效的途径。目前在网络处理领域存在例如NetFPGA[20]、FAST[21]等开放的网络处理平台,尤其是FAST所提供的高效软硬件协同机制以及灵活的软硬件可编程特性,为快速构建TSN解决方案提供了良好的基础。但是这类CPU+FPGA的可编程架构本身并不具备TSN开发验证所需的基本要素,包括时间同步、资源与状态管理抽象等方面支持。因此,本文在CPU+FPGA架构上提出了面向TSN的同步网络模型SyncNet,为TSN的软硬件协同实现提供理论基础。

SyncNet模型从下至上可以分为确定性交换、传输控制、应用表述3个层次,如图1所示。SyncNet的确定性交换层主要在网络交换节点和端节点上提供TSN相关的机制支撑,主要包括全局时钟同步、帧抢占、帧复制与消除、流量的过滤与限速、基于时钟门控的整形、队列调度等。在单个节点中,TSN相关的硬件在FAST架构下被解耦为功能独立的软硬件模块,模块之间采用标准的分组数据通信格式进行数据传输,可以方便用户定义新的TSN功能模块重组每个节点的确定性交换流水线。软硬件逻辑通过FAST提供的模块寻址机制来实现模块间的数据通信。除了TSN相关逻辑,确定性交换层还提供确定性管理控制相关的逻辑模块,包括模块管理、网络测量等功能。

图1 SyncNet同步网络模型

SyncNet传输控制层主要根据硬件提供的能力保障端到端的确定性、高可靠传输,包括网络状态监测、资源管理与调度、确定性传输路径规划、网络配置等功能。基于底层硬件提供的网络测量机制实现全网范围的轻量级带内遥测,收集网络节点的运行状态。结合当前的网络状态信息以及用户应用需求是进行全局的流量规划与调度,生成底层网络节点的优化配置信息(包括转发表、时钟门控信息等),保障用户应用的端到端传输需求。此外,传输层的网络配置功能还提供独立的接口(配置文件)配置网络能力,例如底层网络节点针对不同类型流量的最大服务带宽等,从而方便用户按需定制TSN网络。传输控制层承接用户应用与底层网络,实现应用到底层网络资源的优化映射。

SyncNet应用表述层为用户使用确定性以及通用网络服务提供编程接口抽象。TSN网络的一大特征就是能在同一网络中保障不同类型应用流量的传输需求,既可以提供标准以太网的尽力转发服务,也可以提供带宽预约以及确定性传输服务。针对不同的应用类型,应用表述层提供不同的协议栈以及编程接口。传统的尽力转发类流量可以继续采用标准以太网协议栈以及编程接口实现数据传输,带宽预约以及时间敏感流量都需要采用单独的协议栈以及编程接口,根据流量的需求特征提供不同的传输服务。带宽预约流量需要明确其流量带宽需求,时间敏感流量则需要提供流量周期、每周期数据长度、最大延迟约束等信息。

3 基于SyncNet模型的TSN原型系统设计与实现

3.1 SyncNet原型系统

基于上述SyncNet同步网络模型,本文在支持FAST架构的可编程设备OpenBox-S4上进行了原型系统设计与实现。由于TSN标准目前正在快速发展阶段,且各个领域对TSN网络需求各有不同,因此该TSN原型系统的设计秉承具备灵活定制能力的模块设计理念,并提供标准化的软硬件接口方便根据用户需求进行TSN网络定制。而FAST具有可扩展硬件流水线、FPGA/CPU协同处理以及开源开放等核心特征为这一设计提供了良好的基础,也给当前TSN网络设备实现带来新的途径。

SyncNet原型系统设计主要有如下设计目标:①基于FPGA实现支持802.1AS、802.1Qbv,802.1Qch,802.1Qci等TSN核心功能的交换机原型,支持对TSN性能的评估验证[22];②基于FPGA实现支持802.1AS、802.1Qbv等功能的TSN接口适配器(端系统使用),为时间敏感应用提供编程接口;③基于交换机和适配器原型,搭建TSN网络;④实现TSN网络CNC控制器原型,实现对TSN网络的离线规划和配置;⑤实现支持802.1AS、802.1Qci和802.1Qbv的TSN测试仪原型,支持TSN数据流、Best Effort背景流的发送、接收和性能统计;⑥实现TSN网络远程遥测功能,可微观观测TSN网络时间同步状态,交换机内部队列状态等,为TSN核心实现机制的评估提供关键数据;⑦实现TSN网络与IP网络的网关功能。

对应上述设计目标,SyncNet原型系统主要功能节点包括:TSN交换机、TSN端系统(带TSN接口适配器)、TSN_CNC(控制器)、TSN_CUC(用户配置器)。其中TSN交换机和TSN端系统都是TSN网络节点,具备确定性转发功能;TSN_CNC是运行于端系统的TSN网络控制软件,负责对待测TSN网络进行管理控制;TSN_CUC将用户时间敏感流量传输需求发送到CNC上经过流量规划生成TSN测试仪发送时间敏感流量的时间槽。除了上述功能节点,为了方便TSN的管理控制以及调试测试,原型系统还设计了TSN流量分析器(Insight)、TSN测试仪和TSN网关。TSN流量分析器用于分析TSN网络状态,包括时间同步精度、网络各节点流量等;TSN测试仪负责根据用户配置生成TSN网络测试流量,包括时间敏感流量、带宽预约流量以及尽力转发流量,其中尽力转发流量还可配置不同优先级。TSN网关则提供接口适配功能,为TSN网络与外部网络互联提供流量类型转换。

目前,该原型系统所有源码均已开源[23],主要包含TSN相关的交换机硬件逻辑代码、控制器软件代码、流量分析器软件代码,TSN测试和管理相关可执行文件以及OpenBox-S4平台相关系统启动文件。上述各节点详细设计以及开源代码架构请参见项目开源站点[23]。

3.2 SyncNet原型系统工作场景

SyncNet原型系统所针对的网络场景如图2所示。包含9个Openbox-S4平台,4台Linux主机和1个网络摄像头组成。其中6个Openbox-S4配置成4端口TSN交换机,并组成一个环形TSN网络。另外3台Openbox-S4分别实现TSN测试仪、流量分析器和TSN网关功能。4个Linux终端分别运行TSN网络的CNC软件,Insight软件(TSN网络内部状态观测分析),TSN测试仪控制软件和摄像头视频显示软件。

图2 SyncNet原型系统工作场景

TSN测试仪参与TSN网络的时间同步,同时模拟3个TSN接口适配器,由测试仪控制器上的软件模拟产生TSN流量的应用。TSN测试仪同时接收TSN流量,对TSN流量交换的延时进行分析。每个交换机的3号口为TAP(test access point)口,会将进出的流量打上时间戳送流量分析器,经流量分析器送给TSN-Insight进行统计分析。每个TSN交换机内嵌Beacon机制,每1 ms将交换机内部的各种状态(同步、队列、计数器等)发送给Insight软件分析和显示。在全局时钟同步的Beacon机制下,交换机将自身状态信息封装在Beacon报文中,周期性地在同一时刻上报Beacon报文(基于PTP扩充)到集中控制器,例如Insight上实现网络状态监测。与常规的秒脉冲机制相比,基于Beacon机制的精度测量具有实现简单,无需专业的测试设备的优点[24,25]。

图2所示的环形TSN网络拓扑结构并非SyncNet唯一工作场景,用户可以根据其TSN网络需求组建其所需的网络拓扑,网络拓扑的调整主要涉及各端口连接设备的MAC地址配置以及转发表的配置。

4 测试实验

SyncNet原型系统中TSN交换机硬件实现了IEEE 802.1AS定义的PTP时钟同步机制、IEEE 802.1Qch的CQF整形机制来支持时间敏感数据的确定性转发。本文基于图2所示的SyncNet工作场景组建了如图3所示的测试环境、测试TSN交换机的这两项主要功能,验证基于这两项标准的TSN确定性转发能力。该测试场景包含6个TSN交换机节点的环形TSN网络,一台TSN控制器以及一台TSN测试仪。TSN交换机硬件逻辑除了具备确定性转发所需的功能,还配置了用于网络诊断与测量的Beacon机制用于收集同步时钟信息、分组数据逐跳延迟等信息;TSN控制器软件运行于Openbox-S4内嵌的ARM核来控制整个TSN网络,该设备不参与TSN网络的时钟同步,内部硬件逻辑采用标准以太网交换处理逻辑。TSN测试仪硬件逻辑配置了IEEE 802.1Qci的逐流过滤与限速功能来控制不同类型测试流量的带宽。

图3 SyncNet原型系统测试场景

为了测试当前设计的TSN交换机功能以及性能,TSN交换机的CQF周期设置为250 μs,队列深度为16,PTP同步周期为1 ms。交换机相关参数可采用脚本文件通过CNC集中配置。TSN测试仪向网络中注入100 Mbps的尽力转发背景流和10 Mbps的时间敏感流量,所有数据包采用等长数据包格式,每个数据包大小为250 Byte。对于CQF设置的250 μs时间周期,每个CQF周期会有10个时间敏感数据包会从测试仪注入到TSN网络中,并通过回环网络返回到测试仪从而获得报文在TSN网络中的传输延迟。除了测试仪产生的时间敏感数据流和尽力转发流在TSN网络中传输,实验还增加了一个网络摄像头和视频采集终端,网络摄像头产生的数据流以带宽预约流的格式进入TSN网络中,经过TSN回环网络输出到视频采集终端,从而形成多种流量同时在TSN网络中传输的测试场景。实验场景外接一台运行Insight软件的端系统用于收集各交换机节点发送的Beacon报文进行实验数据分析。实验包含两个部分:PTP时钟不同精度测试以及TSN转发时延确定性测试,实验结果如下文所示。

4.1 PTP同步精度测试

SyncNet原型系统的同步精度基于上文介绍的Beacon机制进行测试,即每个交换机在固定时间(每1 ms开始时)向Insight设备发送Beacon分组,由于Beacon分组基于PTP协议格式,因此沿途交换机会记录该分组的透明时钟值。Insight设备收到Beacon分组时,通过透明时钟的修正(类似AS6802标准中的固化操作)即可推断这些Beacon源自TSN交换机之间的时间偏差。在测试仪向TSN网络中注入100 M尽力转发背景流的实验条件下,TSN交换机之间的同步结果如图4所示。图3所示的交换机1、2、3、4、5作为同步从时钟,都和交换机0的主时钟对齐,由于该测试场景中测试仪从交换机1注入数据到TSN网络,并通过交换机4回到测试仪。因此,图4展示的是有背景流干扰的交换机节点的同步时钟精度。

图4 交换机时钟同步精度

从图4中可见,所有交换机的时钟同步精度都保持在100 ns以下。而交换机1~交换机4的时钟同步精度随着与交换机0的距离越远(TSN环数据单向流动),其同步精度越差,其原因为目前基于Beacon的测量机制在进行时钟同步补偿时精度不高所造成。由于当前实现的PTP机制无法将MAC核以及PHY芯片的延迟计入透明时钟,因而需要对该部分延迟进行估算后补偿,目前基于Beacon的时钟同步计算对每一跳交换机采用固定的值作为MAC和PHY延迟,由于该估算值和实际值存在误差,因而导致随着节点跳数增加,距离主时钟越远的从时钟其同步精度就越差。

4.2 TSN转发确定性测试

本实验对TSN交换机所实现的IEEE 802.1Qch提出的CQF整形模型在典型的时间槽配置(250 μs)下对混合流量模式下的10 Mbps时间敏感流量的交换性能进行了测试。根据CQF模型,分组在经过n个交换机时,延时可确定性保证在(n-1)*D和(n+1)*D之间。由于测试中时间槽D配置为250 μs,因此分组在经过1、2、3、4跳交换机后,延时应该分别在[0,500 μs],[250 μs,750 μs],[500 μs,1000 μs]以及[750 μs,1250 μs]之间。实测结果如图5所示,符合预期。时间敏感分组数据的主要延时位于CQF队列中的延时,由于队列切换时间为250 μs,因此分组的延时主要由其进入队列时间到队列切换时间之间的差值决定,因此随着时间的变化,分组延时成锯齿形变化也是符合预期的。

图5 时间敏感流量经过各交换机延迟

经过上述两个实验测试,可为基于CPU+FPGA架构实现TSN原型系统得到如下结论:基于硬件PTP是实现的同步机制,在规模有限的网络中,可以取得优于100 ns的同步延时,经过进一步优化可以保持在50 ns以内;TSN中基于802.1Qbv/802.1Qch的整形机制可以保证转发延时的确定性。

5 结束语

针对目前国内TSN自主化进程缓慢,缺乏成熟TSN解决方案的问题,本文提出了CPU+FPGA架构下的面向TSN同步网络模型SyncNet,该模型为TSN的软硬件协同实现提供了理论支撑。基于该模型本文构建了一个支持PTP、CQF等机制的原型系统,支持对底层硬件确定性交换机制、确定性调度规划算法以及时间敏感应用的验证。最后本文针对SyncNet原型系统构建了实验测试环境,验证了目前SyncNet原型系统的功能正确性以及有效性。

猜你喜欢

确定性测试仪原型
论中国训诂学与经典阐释的确定性
论法律解释的确定性
SDL Atlas推出第二代HydroPro耐静水压测试仪
使用快速水洗色牢度测试仪检测超细纤维脱落
含混还是明证:梅洛-庞蒂论确定性
包裹的一切
便携式转辙机转换力测试仪
《哈姆雷特》的《圣经》叙事原型考证
论《西藏隐秘岁月》的原型复现
法律确定性的统合理性根据与法治实施