0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

虹科智能自动化 2023-02-21 14:37 次阅读

前文回顾

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

在上一篇文章中,我们介绍了TSN技术不断发展的背景,及其技术层面和实际应用层面的挑战,并介绍了IEEE 802.1ASrev和IEEE 802.1Qbv这两个基本标准。下面,我们将沿着这一方向探讨如何在Linux终端设备中实现TSN时间敏感网络协议。

Part 3

TSN实施的背景

TSN实施已在不同部门和应用中被广泛提出和分析。一些研究指出,确定性延迟是通过时间同步和全局调度的应用实现的,分别对应于 IEEE 802.1AS 和 802.1Qbv TSN 标准。因此,原则上可以使用这两个标准更确定地安排关键流量。但如果延迟和抖动的要求非常低,IEEE 802.1Qbv调度必须与时钟同步机制相结合,而将IEEE 802.1ASrev时钟同步于IEEE 802.1Qbv标准包括在内非常具有挑战性,比如在包含许多流的网络中决定如何调度它们是一件复杂的事情。

另一个重大挑战是将最初不支持TSN的设备集成到TSN网络中。例如,大多数分析的实现都是基于Linux操作系统的,而Linux也有实时性能的不确定性来源,例如抢占或中断,但它包括许多机制来实现更好的可靠性。

Part 4

TSN实施的方案

正如前文所述,同步带来了许多挑战。而当我们寻求使用Slot并调整线路中的流量时,这些挑战就会增加。为了,我们推出了应对这些挑战的解决方案。该方案基于一款可用于TSN协议的PCIe网卡——RELY-TSN-PCIe。该网卡基于现场可编程门阵列 (FPGA) 和英特尔i210 芯片,其中英特尔i210芯片支持TSN,而FPGA提供多路径(嵌入式以太网交换机)和实时功能。这种组合允许在PC中使用标准驱动程序,这在操作系统缺乏TSN支持时至关重要。同时,它还允许Intel芯片不支持的高级调度。RELY-TSN-PCIe卡是第一个已知的TSN解决方案,它允许部署从用户终端设备及其将要使用的应用中抽象出来的确定性以太网网络。换句话说,它可以用于不同的终端设备(监控和数据采集(SCADA)、物联网网关),从而在设备中引入TSN技术并将其集成到确定性网络中。

从操作系统的角度来看,插入是透明的,因为它只检测标准以太网卡。如果OS想要使用高级调度,这个方案就变得不那么透明了,但是TSN网络操作不需要这样的改变。该解决方案是在 Ubuntu 20.04 LTS 中开发的。

1

IEEE 802.1ASrev实施

为实现时间敏感应用的802.1ASrev 定时和同步标准,首先确定必须参与该标准的网络时钟。图3显示了已识别的时钟和同步链路。从图中可以看出,可以区分为六个不同的时钟。

3213a7f8-b19c-11ed-ad0d-dac502259ad0.png

图3 需要同步的网络时钟

有必要区分同步所有时钟的方式。同步有两种:

  • 网络同步
  • 设备-网络同步

网络同步是基于同步I210和PCIe的四个PTP硬件时钟(PHC);为此,将使用linuxptp包中包含的ptp4l命令。linuxptp是Linux的PTP实现。ptp4l实现边界时钟(BC)和普通时钟(OC)。另一方面,作为软件的系统时钟使用NTP或GPS从Internet获取时间以实现设备网络同步。尽管如此,在这种情况下,系统时钟将通过linuxptp包中包含的phc2sys命令从TSN网络获取时间,而不是直接使用硬件时间戳的gPTP。

2

IEEE 802.1Qbv实施

有两种选择可以构建一个端到端实现Qbv的网络。第一种是仅在充当talker的Linux端点的输出上激活Qbv。这样,数据包将有序地离开Linux内核,理论上在整个网络中无序传播,直到到达侦听器。但是,这不是最好的方法。从内核输出到线路,有几层注入抖动。这种抖动可能导致不符合分配的时隙。

第二种选择是在两点激活Qbv:在Linuxtalker的内核中,和在连接到talker的以太网卡的输出端口中,如图4所示。第二种方法是一直使用的方法。在两点配置相同的Qbv。以这种方式,数据包跟随线路上分配的时隙。当所有网络元素也都具有TSN感知能力时,这些时隙将一直保留到接收方。

3237ddd0-b19c-11ed-ad0d-dac502259ad0.png

图4Qbv网络结构

已创建内核补丁以向Linux机器提供Qbv功能。在下文中,我们将解释数据包转发在Linux机器上的工作原理、为处理时隙而创建的两个补丁,以及它们在最终Linux机器上的实现。

Linux系统上的流量转发是通过内核的流量控制(TC)子系统完成的。TC子系统代码在知识产权(IP)和将数据传输到网络的网络接口驱动程序之间运行。该子系统负责不断提供要发送给驱动程序的数据包。

TC由队列规则(qdisc)组成。qdiscs表示应用于队列的调度策略。它根据该调度程序中安装的规则重新组织到达队列的数据包,并以新的顺序发送它们。默认情况下,此调度程序维护一个先进先出(FIFO)队列。因此,需要一种能够按照802.1Qbv标准,按照时间间隔重组数据包,有序发送流量的qdisc。

vanilla Linux内核没有这种排队规则,因此开发了内核补丁,引入了在Linux系统上实施802.1Qbv的必要工具。这些补丁引入了两个新的qdisc:

Earliest TxTime First Qdisc (ETF)允许应用程序控制将数据包发送到网卡驱动程序的确切时间。ETF通过缓冲数据包直到传输时间之前的可配置时间来实现这一点。

时间感知优先级整形器(TAPRIO)实现了IEEE802.1Qbv标准定义的状态机的简化版本(请参阅IEEE802.1Qbv标准),允许配置一系列网关状态,其中每个状态允许或禁止流量出口对于流量类别的子集。

这些补丁还为系统套接字引入了一个名为SO_TXTIME的新选项,以启用套接字进行基于时间的传输,从而配置其参数

Part 5

结果

我们已经创建了一个高级应用程序来以图形方式配置这两个标准。它使网络管理员能够配置和观察网络提供的插槽信息,类似于图5中所示的Wireshark的I/0图表,但是是实时的。概念证明是在一个专门设置的网络中开发的,该网络由通过单个交换机组成的TSN感知网络连接的两台PC(talker和listener)组成。

324e69ce-b19c-11ed-ad0d-dac502259ad0.png

图5 Wireshark捕获演示插槽

第一步是检查所有不同系统之间的同步。检查PCIe板的每秒脉冲输出和PTP守护程序提供的信息,以太网卡在10ns内同步,而系统在100ns范围内(参见图6)。

327d1918-b19c-11ed-ad0d-dac502259ad0.png

图6 完全同步的系统

卡的内部交换机之间、内部交换机与i210芯片之间、芯片与PC之间都建立了gPTP关系。

已创建演示以测试补丁在端点上的操作。该演示在talker中配置Qbv补丁以发送ST和尽力而为流量。Listener接收此数据并以图形方式实时显示每个数据如何到达其插槽。由此产生的流量可以在图7中看到,由开发的应用程序的实时窗口显示。这些演示展示了标准的正确操作及其与PCIe卡的集成。结果是有序和整形的流量。

32bab8ea-b19c-11ed-ad0d-dac502259ad0.png

图7创建的应用程序演示槽的实时捕获

这种实时视图允许网络设计人员跟踪网络的运行并将不同的配置调整到所需的要求。

其结果与Wireshark提供的结果相似,但在这种情况下是实时获得的。该应用程序允许对链接进行轻松管理。同时,它们有助于证明支持TSN的系统的正确操作。

使用此配置框架,设计人员可以创建具有不同配置的网络并查看其结果。图8中展示了一个更复杂的例子。在此示例中,TSN中的每种流量类型都基于虚拟局域网 (VLAN) 标签的优先级代码点(PCP) 位。在此设置中,流量分类如下:

  • ST: 制动信息(数据分发服务(DDS)流1、VLAN11、PCP2)
  • RT: 摄像机实时视频(DDS流2、VLAN12、PCP5)
  • BE: 剩余的TCP/IP流量(VLAN3,PCP6)


TSN配置分布在四个时隙中,完成 10毫秒的周期时间。每个时隙的流量分配如下:(1) Free. (2) ST. (3) Free. (4)RT+BE. 可以看出,不同的流被限制在配置的slot中。

32f836de-b19c-11ed-ad0d-dac502259ad0.png

图8 车载网络的真实示例

ST由刹车信息组成。RT提供实时视频,而BE由其余信息娱乐数据组成。

Part 6

结论

本文所述工作的主要成果是构建了一个支持TSN的系统,该系统可用于提供可靠且可扩展的网络。因此,可以在Linux终端设备中实施两个主要的TSN标准并验证RELY-TSN-PCIe卡的正确操作。终端设备已包含在TSN网络中。一方面,所有网络时钟都已通过在终端设备中使用开源守护程序实施IEEE 802.1ASrev标准来同步。另一方面,我们使用公共Linux内核补丁按照IEEE 802.1Qbv标准在时隙中实现了数据包的有序发送。此外,我们还创建了一个配置和可视化工具,可帮助网络设计人员设置和了解系统的操作。由于这项工作和所使用的两种开放技术,在标准设备(即非专有设备)中实施TSN方面正在取得进展。

END

本文由虹科技工程师翻译整理。文章出处:https://www.mdpi.com/2227-7080/10/3/55

本文中使用的RELY-TSN-PCIe板卡是由虹科合作伙伴RELYUM推出的一款智能NIC,它可以插入任何windows和linux电脑,且不需要在主机上安装任何特殊软件,快速引入TSN技术。它能够在TSN网络中使用典型的工业应用和软件,如SCADA、MES、OPC(UA)、MTConnect等。此外,RELY-TSN-PCIe 支持使用标准中定义的 YANG 模型进行自动配置。但是,为了便于早期试用,该板卡允许手动 TSN 配置

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

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

    关注

    87

    文章

    11216

    浏览量

    208770
  • 网络
    +关注

    关注

    14

    文章

    7492

    浏览量

    88564
收藏 人收藏

    评论

    相关推荐

    Linux网络协议栈的实现

    网络协议栈是操作系统核心的一个重要组成部分,负责管理网络通信中的数据包处理。在 Linux 操作系统中,网络
    的头像 发表于 09-10 09:51 245次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>网络</b><b class='flag-5'>协议</b>栈的<b class='flag-5'>实现</b>

    科技术前沿 TSN网络时间感知整形器的性能验证实测

    本文旨在验证时间敏感网络(TSN)中时间感知整形器(TAS)的性能,通过实施IEEE 802.1Qbv和IEEE 802.1AS-2020标准测试用例,确保其在
    的头像 发表于 07-30 11:04 325次阅读
    <b class='flag-5'>虹</b>科技术前沿  TSN<b class='flag-5'>网络</b>中<b class='flag-5'>时间</b>感知整形器的性能验证实测

    TSN网络时间感知整形器的性能验证实测

    导读本文旨在验证时间敏感网络(TSN)中时间感知整形器(TAS)的性能,通过实施IEEE802.1Qbv和IEEE802.1AS-2020标准测试用例,确保其在
    的头像 发表于 07-25 08:04 772次阅读
    TSN<b class='flag-5'>网络</b>中<b class='flag-5'>时间</b>感知整形器的性能验证实测

    通过InConnect平台实现终端设备远程访问

    1.实现终端访问的原理示意图: 2.操作步骤简介: a.使用Inhand路由器/网关系列产品,产品配置中开启设备远程管理平台; b.注册并登录InConnect平台; c.下载并
    发表于 07-24 06:06

    网络故障导致流量失控?看Qci方案如何一招制胜!

    导读在当今快速发展的智能通讯领域,时间敏感网络(TSN)已成为确保网络通信高可靠性和低延迟的关键技术。IEEE802.1Qci作为TSN的一个重要组成部分,提供了一套强大的机制来管理
    的头像 发表于 06-20 08:04 420次阅读
    <b class='flag-5'>网络</b>故障导致流量失控?看<b class='flag-5'>虹</b><b class='flag-5'>科</b>Qci方案如何一招制胜!

    北斗通信指挥终端设备

    北斗通信指挥终端设备还支持短报文收发通信,使得在没有4G/5G基站信号的区域,依然能够作为通信通道的补充,确保信息的可靠传输。这些特点使得北斗通信指挥终端设备在水利、地质灾害和海洋事务等行业中发
    的头像 发表于 06-15 13:40 332次阅读
    北斗通信指挥<b class='flag-5'>终端设备</b>

    干货 | 突破功耗限制:PCAN Router设备低功耗模式与高效唤醒

    在汽车测试和现代工业领域,功耗控制与效率优化是工程师们不断追求的目标。PCAN Router系列设备以其卓越的性能和灵活性,为CAN和CAN FD网络中的报文转换提供了高效解决方案
    的头像 发表于 06-12 13:14 283次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>干货</b> | 突破功耗限制:PCAN Router<b class='flag-5'>设备</b>低功耗模式与高效唤醒

    干货 | 多设备协同无忧:Linux环境下PCAN固定设备ID/通道分配指南

    在车辆网络系统和工业自动化等多设备环境中,确保设备识别的一致性对于维护系统稳定性至关重要。PCAN适配器提供了一种解决方案,允许用户在
    的头像 发表于 06-11 15:03 408次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>干货</b> | 多<b class='flag-5'>设备</b>协同无忧:<b class='flag-5'>Linux</b>环境下PCAN固定<b class='flag-5'>设备</b>ID/通道分配指南

    干货|HK-TE-200x系列FAQ(一):如何定义EES的VLAN?

    导读:在今天的干货系列中,我们将探讨HK-TE-200x系列交换机中的VLAN配置。VLAN(虚拟局域网)在现代网络架构中扮演着至关重要的角色,它能够帮助我们有效地隔离广播域,提高
    的头像 发表于 03-04 14:26 359次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>干货</b>|HK-TE-200x系列FAQ(一):如何定义EES的VLAN?

    手持终端定制|PDA|手持机|rfid手持终端设备开发解决方案

    手持终端定制|PDA|手持机|rfid手持终端设备开发解决方案厂家。以联发64位八核MT6771芯片为核心,搭载Android 10系统,运行速度更快、功耗更低。其2GB LPDDR
    的头像 发表于 12-27 19:12 669次阅读
    手持<b class='flag-5'>终端</b>定制|PDA|手持机|rfid手持<b class='flag-5'>终端设备</b>开发解决方案

    简单认识配网自动化终端设备

    配网自动化系统一般由下列层次组成:配电主站、配电子站(常设在变电站内,可选配)、配电远方终端(FTU、DTU、TTU等)和通信网络。配电主站位于城市调度中心,配电子站部署于110kV/35kV变电站,子站负责与所辖区域DTU/TTU/FTU等电力
    的头像 发表于 12-14 16:07 1365次阅读

    干货 | 适用于基于FPGA的网络设备的IEEE 1588透明时钟架构

    导读:在基于FPGA的网络设备中,精确的时间同步至关重要。IEEE 1588标准定义的精确时间协议(PTP)为网络中的
    的头像 发表于 11-27 10:57 1184次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>干货</b> | 适用于基于FPGA的<b class='flag-5'>网络设备</b>的IEEE 1588透明时钟架构

    案例 | 温控无忧!Comet创新产品助力va-Q-tec实现温度敏感产品运输过程质量控制温控无忧!

    温度敏感产品运输对供应链全流程的温度质量要求较高,往往需要借助特殊的温湿度监测技术产品。va-Q-tec与Comet合作,采用Com
    的头像 发表于 11-23 13:13 513次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>案例 | 温控无忧!<b class='flag-5'>虹</b><b class='flag-5'>科</b>Comet创新产品助力va-Q-tec<b class='flag-5'>实现</b>温度<b class='flag-5'>敏感</b>产品运输过程质量控制温控无忧!

    适用于基于FPGA的网络设备的IEEE 1588透明时钟架构

    在基于FPGA的网络设备中,精确的时间同步至关重要。IEEE1588标准定义的精确时间协议
    的头像 发表于 11-23 08:04 745次阅读
    适用于基于FPGA的<b class='flag-5'>网络设备</b>的IEEE 1588透明时钟架构

    干货丨TWAMP:什么是双向主动测量协议

    TWAMP(双向主动测量协议)是什么?它在网络性能测量中有什么作用?如果您对IP网络设备之间的性能问题感兴趣,或者想了解TWAMP与OWAMP之间的区别,以及TWAMP测试的好处。
    的头像 发表于 11-21 09:37 461次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>干货</b>丨TWAMP:什么是双向主动测量<b class='flag-5'>协议</b>?