0731-84728105
15116127200
OpenTSN解决方案

一、 引言

    在工业自动化系统控制中,不同的厂商在各自的细分领域中有自己的通信标 准和协议,有些虽然是基于传统以太网实现,但其为了支持自动化应用对延时的 严格要求在传统以太网的基础上附加了一些其他技术和机制,从而导致各厂家的 协议互不兼容。因此面对不同厂家的产品在运行、错误诊断、维护和存储时都会 存在诸多不便。
    随着工业物联网(IIoT)的兴起和工业 4.0 的提出,目前越来越多的厂家开 始关注 TSN(Time Sensitive Networking,时间敏感网络)。TSN 为以太网提供 确定性性能,并可以满足不同的数据流在同一网络统一传输,从而可以满足工业 自动化严格的延时需求,并最终可以使的工业通信创建一个统一的基础成为可能。
    SDN 架构的控制平面与数据平面分离机制便于集中管控工业网络的资源,可 以灵活、合理的为不同 QoS 需求的业务分配不同的网络资源集,提高网络利用 率。SDN 和 TSN 技术的结合可以提高网络利用率的同时保证时间敏感流的实现 实时需求,并且可以实现集中式的网络控制、网络动态规划与调度,因此 SDN 和 TSN 相结合的方式可能会是未来工业网络的发展方向。

二、 TSN 解决方案

    TSN 协议包含了如 IEEE 802.1AS 时间步同协议、802.1Qbv 计划流量增强协 议、802.1Qci 流预留过滤协议以及 802.1Qcc 管理控制协议等。虽然成套的 TSN 协议还在继续扩展,功能不断改进,但现有标准提供了丰富的功能选择。OpenTSN 解决方案支持 802.1AS 协议、802.1Qbv 的 CQF 调度算法、802.1Qci 的流队列映 射其具体实现结构如图 1 所示。
图 1 TSN 整体实现结构图
图 1 TSN 整体实现结构图
    OpenTSN支持如下功能:
  • 其可以通过配置设置为交换设备/端设备,也可以通过配置选择是时钟同步的主或从;
  • 支持 802.1AS 1588 的时间同步;
  • 支持 CQF 的调度、基于令牌桶的资源预留的流量控制;
  • 支持设备端口时钟与主时钟的同步;
  • 支持分组报文透明时间的计算;
OpenTSN 解决方案为 FPGA 实现,其中模块可以根据用户的需求进行添加 或删除即可以实现用户需求的迅速定制。

2.1 OpenTSN 时间同步解决方案

    如图 2 所示,OpenTSN 的时间同步解决方案是 FPGA 硬件实现的基于1588 的端到端的方式实现时间同步,同步精度可以达到 100ns 以内,其中:
  • DMAX 模块用于判断接收的报文是否为 PTP 报文;
  • Manage_Ctrl 模块配置该时钟作为主时钟或从时钟;
  • PTP_Ctrl 模块接收控制信息,并按照控制信息进行相应的处理;
  • Rx_proc 模块对接收的 PTP 报文进行解析,提取关键字;
  • Tx_proc 模块按照要求构造并发送 PTP 报文;
  • Cyc_sync 模块维持时钟计数器,存储 T1、T2、T3、T4 时间值,并且完成时间偏移量的计算;
  • MAX模块用于汇聚 PTP 的报文和 DMAX输出的报文进行控制转发;
图 1 TSN 时间同步实现方案
图 2 时间同步实现方案

2.2 OpenTSN透明传输时间计算解决方案

    OpenTSN 的透明传输时间(驻留时间)是通过在 PTP 报文输入时标记 时间戳,并在输出时根据输入时标记的时间戳与当前时间进行对比计算,从 而计算出 PTP 报文分组从端口输入到端口输出的驻留时间,如图 3 所示。
图 3 透明传输时间计算解决方案
图 3 透明传输时间计算解决方案

2.3 OpenTSN 流映射及调度解决方案

    流的映射是根据分组的 Vlan 头的 PCP 域进行队列映射,在 OpenTSN 的实现中,根据其分组 PCP 值的不同将其映射为 3 个不同的等级,即 7、6 优先级最高为 TSN 的时间敏感流,5-3 为预约带宽流、2-0 为尽力转发流, 如图 4 所示。
    在流分组的处理时,首先是将分组数据缓存到数据缓存内,将流分组的 描述信息封装到 Metadata 内进行队列映射转发。在映射时 TSN 流是基于 CQF 的乒乓队列的形式进行输入控制,即在偶时间存入偶队列 Q2,奇时间 存入奇队列 Q3。在输出调度时偶时间调度奇队列的数据输出,奇时间调度 偶队列数据输出,根据输入时间以及调度时间的控制从而保证了数据分组的 转发延时。资源预留分组的输出是基于令牌桶算法实现,从而保证了资源预 留流的带宽要求。另外 3 类数据流均以严格优先级的方式进行输出调度,即 TSN 时间敏感流优先级最高,预约带宽流次之,尽力转发流最低。
图 4 流映射及调度解决方案
图 4 流映射及调度解决方案

2.4 SDN 与 TSN相结合的实现方案思考

    SDN 和 TSN 相结合的实现中,在原有 UM 中通过插入报文解析和流 表查找模块实现,控制平面通过 OpenFlow 协议向数据平台下发流表配置。 硬件数据平面首先对输入的报文进行解析操作,并针对解析的结果提取查找 Key,流表查找模块则根据提取的Key值以及控制平面下面的规则进行匹配, 并输出匹配的查找结果。根据流表的配置规则目前支持的 Action 包括:端 口转发、丢弃、转发给 CPU、添加 Vlan 头等操作,实现结构图如图 5 所示。 输出控制中的端口调度实现基于 2.3 方案实现。
图 5 TSN 和 SDN 结合实现结构图
图 5 TSN 和 SDN 结合实现结构图
    Vlan 头的添加分两种情况:
  1. 作为端系统,此方案为端系统时通过流的区分以及 OpenFlow 对流表规则的配置确定流的优先级,从而实现根据不同优先级的流调度。
  2. 作为交换,输入的时间敏感流的报文应已经携带 Vlan 头(在端添加, 通过规划可以提前了解其优先级以及转发路径),此功能只对资源预 留和尽力转发的流添加 Vlan 头,并进行转发处理。即对未进行 Vlan 头添加流报文添加 Vlan 头,已经添加则不进行处理。
下载该文档