软件定义时间敏感网络系统是在软件定义网络框架下融入了时间敏感网络技术的综合性网络系统。该系统既具备软件定义网络的组网灵活性、协议无关转发的高适应性、转发控制分(fēn)离的高效性与可(kě)控性,同时又(yòu)有(yǒu)低延时、低抖动的时间敏感特性。该系统通过软件流表与队列映射的灵活定义,极大放宽了全网流规划调度的难度,增强了TSN网络的适用(yòng)范围和行业兼容能(néng)力。
时间敏感是业務(wù)的属性,故在业務(wù)流交互过程中分(fēn)组所经历的所有(yǒu)处理(lǐ)环节都要满足时间敏感特性才能(néng)够真正保证业務(wù)的时间要求。TSN一定是一个完整的时间敏感网络系统。
湖(hú)南新(xīn)实是OpenTSN项目的忠实支持者、贡献者与推动者,OpenTSN 1.0开源版本(github与gitee均有(yǒu)下载)受到广大TSN研究者的热捧。在该版本基础上,湖(hú)南新(xīn)实网络与沈阳自动化所结合应用(yòng)行业特性要求做了大量的修改与改进,共同研发了一套较為(wèi)完整的软件定义时间敏感网络系统。
软件定义时间敏感网络系统主要包括:端节点、交换机和控制器。其中端节点可(kě)分(fēn)為(wèi)实时端节点和普通节点。时间敏感流路径上所有(yǒu)交换机都支持TSN规范要求。控制器使用(yòng)SDN控制器Floodlight,部署在普通電(diàn)脑上。端节点和交换机都使用(yòng)OpenBox-S4设备,该设备核心芯片是Zynq-7020,由双核CPU+FGPA异构组成,采用(yòng)FAST架构搭建网络IO系统。通过软件灵活配置可(kě)运行為(wèi)端节点或交换机。
基于FAST架构的OpenBox-S4平台
该系统的TSN功能(néng)全部由FPGA逻辑实现,包括时钟同步和Qbv调度。其中PTP分(fēn)组同步数据根据硬件流表控制转发,确保同步分(fēn)组双向路径对称。所有(yǒu)分(fēn)组数据均可(kě)在不同节点根据硬件流表映射不同优先级队列和输出端口,既可(kě)有(yǒu)效降低规划冲突,又(yòu)能(néng)方便路径规划。所有(yǒu)分(fēn)组数据均根据硬件相应流表转发,既可(kě)由软件动态配置,也可(kě)从本地存储空间加载规划配置好的所有(yǒu)流表。全FPGA实现功能(néng)与静态流表加载非常适合在車(chē)载等相对固定的环境使用(yòng),搭建CPU后则适合大规模网络环境和动态变化的网络环境下使用(yòng)。不仅适应BE流的动态变化,TSN流也可(kě)以通过流表方式动态规划和配置。
1.端节点
实时节点:实时节点CPU运行硬实时操作系统,包含PL侧的实时驱动、实时网络协议栈和实时应用(yòng),如rtping和rtudp等。FPGA加载支持TSN功能(néng)的硬件逻辑,支持与网络中时间主节点同步,支持流表映射和规划调度设置。
普通节点:普通节点运行普通操作系统,包含PL侧普通驱动,使用(yòng)系统标准协议栈功能(néng),支持标准的SOCKET应用(yòng),如ping和iperf等。FPGA逻辑加载FAST标准5级流水線(xiàn)功能(néng)逻辑。
2.交换机
交换机运行普通操作系统,包含PL侧普通驱动,使用(yòng)系统标准协议栈功能(néng),支持标准的SOCKET应用(yòng)。安装运行OVS虚拟交换机,移植开发OVS流表硬件卸载功能(néng)、南向OpenFlow协议扩展支持功能(néng),主要包括对TSN相关参数的配置,如硬件流表配置、门控列表等。
3.控制器
安装运行于普通電(diàn)脑上,需要移植开发对TSN相关属性配置的北向APP、北向REST API、控制器支撑模块、OpenFlow协议扩展模块等。如TSN同步使能(néng)、调度使能(néng)、TSN门控列表配置、协议无关流表配置等。
4.系统演示环境
演示系统包含1个时钟主节点(交换)、8个时钟从节点(交换)、2个时钟从节点(实时端)、1个数据采集监控节点和2个BE流普通节点。交换网络连接為(wèi)田字格,端节点数据流可(kě)通过软件定义流表的方式做不同的路径切换。
软件定义时间敏感网络演示系统
1.SDN控制器拓扑
2.SDN流表(端口输出与TSN队列映射)
3.接口状态与计数
4.实时门控与BUFF统计
5.实时同步状态
6.拓扑重组网
8.Qbv门控调度配置(灵活)
9.实时端系统实时ping
10.修改调度门控
11.新(xīn)门控实时ping对比
12.路径重规划后实时ping对比(红色A路径,黄色B路径)
13.实时UDP通信测试
实时UDP服務(wù)端(接收并返回)
实时UDP发送、接收统计客户端
14.协议无关转发(OT节点不移植协议)
自由构包
配置流表
接收抓包
软件定义时间敏感网络系统是一个综合性网络系统,业務(wù)数据流经的每个层级和环节(应用(yòng)、协议栈、驱动、系统调度、网卡、交换机等)都要求具备实时性,缺一不可(kě)。在不同的应用(yòng)场景下或流特性要求不同的情况下,系统的解决方案不完全相同。比如端系统不一定要采用(yòng)带系统的环境,可(kě)以裸CPU运行,也可(kě)以使用(yòng)PLC或纯FPGA逻辑等方式。具體(tǐ)要看业務(wù)的运行环境和时间敏感需求,完全可(kě)以根据用(yòng)户要求实现各类定制需求。
上述验证场景只是提供一了整套可(kě)能(néng)的使用(yòng)方法,中间许多(duō)细节也并不完善,时间精度的控制及全网规划调度也还需要进一步改进和优化。
欢迎大家多(duō)多(duō)交流沟通,多(duō)提宝贵意见,共同促进TSN网络技术的普及发展。
关注FAST开源社區(qū)
FAST一一开源、开放、高速、高效、可(kě)编程、可(kě)定义!软硬件协同并行处理(lǐ)。