0731-84728105
15116127200
OpenBox:软件定义时间敏感网络系统全家桶
发布时间:2021-05-19
     软件定义时间敏感网络系统是在软件定义网络框架下融入了时间敏感网络技术的综合性网络系统。该系统既具备软件定义网络的组网灵活性、协议无关转发的高适应性、转发控制分离的高效性与可控性,同时又有低延时、低抖动的时间敏感特性。该系统通过软件流表与队列映射的灵活定义,极大放宽了全网流规划调度的难度,增强了TSN网络的适用范围和行业兼容能力。
     时间敏感是业务的属性,故在业务流交互过程中分组所经历的所有处理环节都要满足时间敏感特性才能够真正保证业务的时间要求。TSN一定是一个完整的时间敏感网络系统。
     湖南新实是OpenTSN项目的忠实支持者、贡献者与推动者,OpenTSN 1.0开源版本(github与gitee均有下载)受到广大TSN研究者的热捧。在该版本基础上,湖南新实网络与沈阳自动化所结合应用行业特性要求做了大量的修改与改进,共同研发了一套较为完整的软件定义时间敏感网络系统。
     软件定义时间敏感网络系统主要包括:端节点、交换机和控制器。其中端节点可分为实时端节点和普通节点。时间敏感流路径上所有交换机都支持TSN规范要求。控制器使用SDN控制器Floodlight,部署在普通电脑上。端节点和交换机都使用OpenBox-S4设备,该设备核心芯片是Zynq-7020,由双核CPU+FGPA异构组成,采用FAST架构搭建网络IO系统。通过软件灵活配置可运行为端节点或交换机。

基于FAST架构的OpenBox-S4平台
      该系统的TSN功能全部由FPGA逻辑实现,包括时钟同步和Qbv调度。其中PTP分组同步数据根据硬件流表控制转发,确保同步分组双向路径对称。所有分组数据均可在不同节点根据硬件流表映射不同优先级队列和输出端口,既可有效降低规划冲突,又能方便路径规划。所有分组数据均根据硬件相应流表转发,既可由软件动态配置,也可从本地存储空间加载规划配置好的所有流表。全FPGA实现功能与静态流表加载非常适合在车载等相对固定的环境使用,搭建CPU后则适合大规模网络环境和动态变化的网络环境下使用。不仅适应BE流的动态变化,TSN流也可以通过流表方式动态规划和配置。
      1.端节点
     实时节点:实时节点CPU运行硬实时操作系统,包含PL侧的实时驱动、实时网络协议栈和实时应用,如rtping和rtudp等。FPGA加载支持TSN功能的硬件逻辑,支持与网络中时间主节点同步,支持流表映射和规划调度设置。
     普通节点:普通节点运行普通操作系统,包含PL侧普通驱动,使用系统标准协议栈功能,支持标准的SOCKET应用,如ping和iperf等。FPGA逻辑加载FAST标准5级流水线功能逻辑。
     2.交换机
     交换机运行普通操作系统,包含PL侧普通驱动,使用系统标准协议栈功能,支持标准的SOCKET应用。安装运行OVS虚拟交换机,移植开发OVS流表硬件卸载功能、南向OpenFlow协议扩展支持功能,主要包括对TSN相关参数的配置,如硬件流表配置、门控列表等。
     3.控制器
      安装运行于普通电脑上,需要移植开发对TSN相关属性配置的北向APP、北向REST API、控制器支撑模块、OpenFlow协议扩展模块等。如TSN同步使能、调度使能、TSN门控列表配置、协议无关流表配置等。
     4.系统演示环境
     演示系统包含1个时钟主节点(交换)、8个时钟从节点(交换)、2个时钟从节点(实时端)、1个数据采集监控节点和2个BE流普通节点。交换网络连接为田字格,端节点数据流可通过软件定义流表的方式做不同的路径切换。

软件定义时间敏感网络演示系统
1.SDN控制器拓扑
2.SDN流表(端口输出与TSN队列映射)
3.接口状态与计数
4.实时门控与BUFF统计
5.实时同步状态
6.拓扑重组网
8.Qbv门控调度配置(灵活)
9.实时端系统实时ping
10.修改调度门控
11.新门控实时ping对比
12.路径重规划后实时ping对比(红色A路径,黄色B路径)
13.实时UDP通信测试

实时UDP服务端(接收并返回)

实时UDP发送、接收统计客户端
14.协议无关转发(OT节点不移植协议)

自由构包

配置流表

接收抓包
     软件定义时间敏感网络系统是一个综合性网络系统,业务数据流经的每个层级和环节(应用、协议栈、驱动、系统调度、网卡、交换机等)都要求具备实时性,缺一不可。在不同的应用场景下或流特性要求不同的情况下,系统的解决方案不完全相同。比如端系统不一定要采用带系统的环境,可以裸CPU运行,也可以使用PLC或纯FPGA逻辑等方式。具体要看业务的运行环境和时间敏感需求,完全可以根据用户要求实现各类定制需求。
      上述验证场景只是提供一了整套可能的使用方法,中间许多细节也并不完善,时间精度的控制及全网规划调度也还需要进一步改进和优化。
      欢迎大家多多交流沟通,多提宝贵意见,共同促进TSN网络技术的普及发展。

关注FAST开源社区
FAST一一开源、开放、高速、高效、可编程、可定义!软硬件协同并行处理。