虹科干货 | Linux终端设备的时间敏感网络协议实现(1)

描述

 

Part 1

背景介绍

1

实时以太网协议种类繁多,难以统一

自从以太网于1983年标准化以来,它已成为工业现场总线和航空航天、汽车和运输部门中广泛使用的链路层协议。这些关键领域的大多数应用程序都需要实时运行,即必须在紧迫的期限内接收数据。但是,以太网并不是确定性地工作的,这意味着它不能保证网络延迟时间。因此,在过去的35年中,技术专家们已经开发了各种基于传统以太网的增强功能,如工业领域的PROFINET、EtherCAT协议,航空航天领域的AFDX协议,汽车领域的TTEthernet等。它们彼此不兼容,并且与传统以太网不兼容,因为它们结合了不同的机制来保证确定性。这种差异意味着该行业的实时以太网解决方案市场目前高度分散。

2

IT与OT技术难以互操作

此外,工业4.0和数字化进程的出现旨在通过提出运营技术 (OT)与数据网络或信息技术 (IT) 的互连来获得更高的生产力和效率(见图1)。这个概念称为IIoT,包括工厂的所有元素(传感器、机械、工业计算机)与外部数据中心的互连。这种互连允许它从工厂收集许多操作数据,以使用服务来分析它们,进而实现高度自动化以优化工厂控制流程并提高生产力和效率。双方的互操作性是IIoT的重要愿望。

由于每个网络的具体特征,两个世界(OT和IT)中的技术差别很大,通常无法互操作。因此,使用当前技术来实现IT与OT的融合是重要的,否则工厂网络无法兼容传统以太网,从而无法直接访问互联网。所以,需要一种可以桥接IT和OT世界的基于以太网的标准技术,而TSN正是针对此类仅基于以太网的解决方案的方案。

Linux

图1 OT世界(工厂)和IT(数据中心)之间的边界

3

TSN自身带来的挑战

TSN方案面临着来自技术和实际应用的挑战,高成本便是其中之一,这主要是因为网络的所有交换机和元素都必须是TSN感知的。另一个挑战来自于快速变化的未完成标准,它们有时会重叠,而目前没有能力验证一致性和互操作性。网络安全和其他安全问题也是一个挑战,这主要是因为TSN强烈依赖于可作为目标的稳健同步和配置。由于缺乏标准数据模型,TSN配置也是一个问题。

因此,下文将沿着这一方向,介绍TSN的两个主要标准IEEE 802.1AS(关于时钟同步)和IEEE 802.1Qbv(关于时间计划流量 (ST))的实现,建立端到端的 TSN 网络。

主要内容包括:

(1) Linux内核的设置和配置,以将 TSN 插槽配置扩展到操作系统 (OS)。

(2) 在Linux中设置专用硬件。

(3) 使用专用软件工具轻松配置所有不同参数。

(4) 一种可视化工具,显示其插槽中的数据包以检查其正确行为。

Part 2

相关标准

TSN是由IEEE时间敏感网络任务组开发的一组标准。该任务组于2012年从现有的音频/视频桥接(AVB) 任务组成立。AVB是为通过LAN同步音频和视频数据传输而开发的标准。TSN小组的想法是将AVB计划提供的技术解决方案迁移和调整到其他部门并发送所有类型的数据。需要注意的是,TSN本身并不是一种通信协议,而是以太网的演进。所有与TSN相关的标准都是IEEE以太网标准的一部分。例如,抢占等高级TSN功能是802.3的一部分。

随着TSN的出现,确定性的数据传输可以通过传统的以太网实现。TSN强制执行带宽和时隙,从而增加隔离度。它允许关键数据通过与其余流量相同的通信链路发送,而不会造成延迟或干扰,从而无需创建彼此独立的工业网络。这些流量类别通过完全互操作工厂网络与互联网来促进生产现场和企业之间的数据交换。

所有交换机都必须具有TSN感知能力才能利用TSN。此要求背后的主要原因是需要高级同步。另一方面,非实时节点的布线和以太网卡将保持不变。由于它是一个开放标准,不同供应商可以实现互操作,而不会出现专有协议的问题。该技术可用于几乎所有工业应用,因为它可以灵活地满足不同的延迟、抖动或容错要求。

如前所述,TSN 不是一个单一的标准,而是一组使以太网更具确定性的标准。每个标准都以不同的速度发展,这取决于市场的发展及其需求。其中一些标准已经过全面测试和实施,而其他标准仍处于开发的早期阶段(草案版本)。其中两个基本的标准是:

 

IEEE 802.1ASrev:该标准定义了IEEE 802.1AS协议,用于时钟同步。通过这些,可以实现TSN的许多高级功能。

 

IEEE 802.1Qbv:该标准定义了IEEE 802.1Qbv协议,用于ST。它利用网络同步来划分带宽和时隙。

下面,本文将展开介绍这两种基本协议。
 

IEEE 802.1Qbv(ST增强)

使用IEEE 802.1Qbv,数据包传输被安排在一个重复周期中端到端。Qbv允许数据包确定性到达,提供延迟保证、极低的抖动和无数据包丢失。TSN中定义了三种基本类型的流量:ST、尽力而为流量 (BE)和RE。ST适用于对实时性要求严格的关键消息。BE是不需要任何QoS 的一般以太网流量。此外,预留流量 (RT)适用于需要预留特定带宽并具有软实时要求的帧。

IEEE 802.1Qbv中定义的时间感知整形器 (TAS) 是根据调度算法启用或禁用帧传输的门。TAS将以太网通信划分为固定长度、连续重复的周期。这些周期被分成时隙,在每个时隙中,分配八个优先级中的一个或多个。

每个周期中的时隙数量、它们的持续时间以及每个周期中可以传输的优先级都可以完全由应用程序配置。由于此操作,ST可以拥有专用时隙,从而确保此流量在传统以太网网络上的确定性操作。另一方面,保留和BE被容纳在每个周期的剩余时隙中。RT保证有专用带宽,而BE可以使用剩余的带宽。图2显示了802.1Qbv配置示例。

Linux

图2 时隙划分

Slot 1为ST预留;时隙期间不存在其他流量。另一方面,时隙2由保留流量和尽力而为流量使用。主要区别在于RT是保证的最小带宽。

由于TSN的运行基于在不同的时间间隔发送不同类型的流量,因此所有网络设备必须在纳秒级范围内同步。

IEEE 802.1ASrev(定时与同步)

IEEE 802.1ASrev是第一个发布的标准,也是当今实施最广泛TSN标准。借助IEEE 802.1ASrev,网络终端设备和交换机具有共同的时钟,允许以小于1μs的精度进行同步,可以在不影响数据包传播延迟的情况下实现长距离同步。

IEEE 1588中定义的精确时间协议(PTP)用于以微秒精度同步网络中设备的时钟。通用精确时间协议 (gPTP),也称为IEEE 802.1ASrev(802.1AS的后继者),是PTP的配置文件,其中包含可显着提高时钟同步准确性的功能。gPTP有一些变化使这两个协议不兼容。

gPTP中时钟域的同步和建立分四个阶段进行:

  • 确定链路上的其他设备(对端)是否能够支持 gPTP。
  • 确定对端的链路延迟和时钟频率。
  • 选择网络中最好的时钟作为主时钟(MasterClock)。
  • 网络中的所有节点同步到主时钟。

 

在下一期更新的文章中,我们将介绍TSN在实施过程中的困难和挑战,以及TSN如何在Linux设备上的实现,这将包括IEEE 802.1Qbv实施和IEEE 802.1ASrev实施。
 

虹科进入TSN技术领域多年并已有丰富的技术积累,并面向国内客户推出了TSN的IP核、网卡、交换机、流量记录仪、测试工具、配置软件等多款软硬件产品,能够帮助用户快速加入TSN流量,享受新兴技术发展带来的好处。欢迎联系虹科了解更多信息!

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分