TSN -促进IT/OT 融合的网络技术

news2024/11/18 4:43:17

         

                时间敏感网络(tsn)技术是IT/OT 融合的一项关键的基础网络技术,它实现了在一个异构网络中,实现OT的实时数据和IT系统的交互数据的带宽共享。

      TSN允许将经典的高确定性现场总线系统和IT应用(如大数据传输)的功能组合在一个网络中。如今,IT和OT的独立网络被用于许多应用中,导致更高的设备和安装成本,专有技术。

 OT领域的实时数据网络传输

     OT 领域需要实时数据传输和网络同步,比如运动控制,自动生产线的节拍控制,以及同步数据采集已经安全事件的实时告警等等。

   实时网络主要实现两个目标:

  •    实时传输

   数据的传输时延是在一个可控的时间内完成的,比如小于100us 能够传输。

  •   时钟同步

   比如,在一个系统中具有一个统一的时钟源,称为主时钟,通常这个时钟源的基准来自于GPS 或者电信网络。系统中的其它设备通过网络协议与主时钟源保持同步。技术指标是时钟抖动,例如不超过1us。

  原生的Ethernet 网络是基于冲突检测技术实现总线共享的包传输网络技术,它采取的尽力而为的传输策略,既无法保证实时传输,也无法实现网络时钟同步。

        为了满足 对实时网络和时钟同步的要求,人们对Ethernet 技术进行改造,使其能够满足实时数据的要求。OT领域就为现场总线发明了许多基于Ethernet的实时网络技术,其中比较著名的是倍福公司的EtherCAT和贝加莱的PowerLink。

   OT 行业的实时网络技术基本是引入了时分多路复用(Time Devition Multiplexer)在一个固定的周期内分成多个时隙,将时隙分配给终端设备。在某一些时隙传输非实时数据。

        EtherCAT 的传输机制并不是原生的以太网技术,它实际上是采取了菊花瓣级联方法实现的分时和定时方式。终端设备采取了专用电路或者FPGA 实现,确保时钟准确性,并且卸载了终端设备中处理器的负荷。某些GPIO 信号是通过ASIC 电路直接读取,不需要程序干预。ASIC 电路也不需要软件控制和配置。实现非常简单,所以受到广泛欢迎。主设备可以使用标准的Ethernet 接口实现。网络传输速率限制在100M。相比之下,PowerLink 同样采取时分复用技术实现,但是它是基于原生以太网,纯软件实现的。

   在分组网中实现时钟同步的基本思路是主设备不断地实现时间标签,从设备收到主设备的时间标签后,对本地时钟对比,调整和锁相。为此,在互联网中提出了NTP协议。这种基于包传输的时间同步的性能取决于时间标签包的发送周期,以及主设备和分设备时钟参考时钟源的稳定性。在互联网上采取NTP 协议通常时钟的漂移是比较大的。

    在语音传输领域,同样需要实现精确时钟同步。使用NTP无法满足时钟同步的要求,为此人们提出了IEEE1588 精准时钟同步协议。IEEE1588 需要Ethernet 控制器或者Pyh 芯片支持。并且使用PTP 协议。TSN 技术基本上是在语音传输技术的基础上发展起来的。

        OT 领域的以太网实时、同步传输技术具有一些局限性。首先,它是在基于以太网络的,跨网段实现同步与实时通信带来困难,其次,难以实现IT 的交互信息和OT 实时数据分享网络资源,尽管EtherCAT 也能够传输一些IP 数据。但是还是具有很大的局限性。

TSN -IT/OT融合的网络技术

       TSN 时间敏感网络技术主要目的是实现异构网络上OT实时数据和IT交互数据(非实时)共享网络带宽。IIoT正在超越单一功能网络,以实现融合网络基础的优势,在同一物理网络上共存不同的流量类型。出于操作完整性、实时性能、安全或安保原因,关键和非关键流量以前是分开的,但TSN提供了实现其融合的工具。这允许交换实时控制、遥测和一般 IT 信息,所有这些都由 IT 和 OT 安全管理。这将降低基础设施成本以及管理和维护网络所需的资源。打破关键和非关键系统之间的通信障碍是TSN为工业以太网的未来实现的基本概念。

  1.   OT和IT 采用统一的基础网络架构。通俗地讲,OT和IT 采取一张网。
  2.   基于IP 层,而不是以太网帧。
  3.  跨网段,与5G结合可以跨地域,有无线相结合。

      只有当你的应用有这样的需求时,才会考虑使用TSN。例如在一条网线上实现OT 控制信息和IT架构大数据采集的需求。因此,我们将TSN 称为IT/OT融合的网络技术。典型的应用还包括汽车控制网络

实现TSN 网络的基本条件

1 设备的硬件支持TSN

系统中的电脑的网卡要支持TSN,设备的主芯片的以太网口支持TSN。

Intel 公司具有支持tsn 的网络控制器芯片:

  • Intel® i210 Ethernet Controller
  • Intel® i225 Ethernet Controller

       嵌入式处理器方面,大多数处理器芯片不支持TSN,目前NXP支持TSN的芯片更多一点。另一方面,可以使用FPGA 的IP实现TSN。

  • NXP RT1170,RT1180 处理器
  • NXP Layerscape   LS1028A 
  • TI 公司 Sitara™ AM6x
  • 国产semiDrive 公司D9 

2 支持TSN 的交换机

目前已经有许多网络设备供应商推出支持TSN 的交换机产品:

  1. 菲尼克斯    2300系列TSN管理型交换机
  2. moxa ,研华也有相应的TSN 交换机产品,但是TSN需要厂家额外支持。

    moxa TSN-G5008

  1. cisco IE4000 交换机
  2. 华为参与了许多tsn的测试,但是在产品目录中没有找到TSN交换机产品的商品信息
  3. 深圳光路 FR-TSN3208

  4. H3C IE4320 Comware V7 TSN工业以太网交换机

     具体哪一种TSN 更成熟,没有找到第三方测试报告。

3 操作系统的TSN支持

在Linux 上实现TSN 的关键包括:

TSN 硬件的驱动

IEEE1588/PTP协议的支持

VLAN 的配置

TSN 的网络配置

TSN 的配置的方式通过 NETCONF/YANG协议完成。

NETCONF/YANG是一种替代SNMP协议的网管协议。Netconf 是协议,YANG是网络配置的数据模型语言。

在RFC6020的文档中,将YANG的定义  :

        YANG,A Data Modeling Language for the Network Configuration Protocol。是Yet Another Next Generation (Yang) Data Modeling Language的缩写。它是一种建模语言,用于描述网络概念的。

当软件实现之后,应用程序将会不需要了解tsn 的技术细节就能够使用tsn。

测试OPCUA pub/sub Over TSN 的Open62541 测试床:

 网络的调度(Network Scheduling)

        网络调度可以使用NETCONF 协议实现,应用程序通过网络配置协议来调度网络带宽。也有人提到使用OPCUA 的pub/sub 机制与网络调度软件交互。

静态调度

使用Linux Traffic Control 程序

动态调度

通过OPCUA pub/sub,或者其它协议实现动态调度。OPC UA PubSub与TSN完全集成的预期解决方案,允许发布者和订阅者应用程序通过代理架构自动配置TSN网络,尚未完成标准化。

      著名的实时网络技术公司TTTech Industrial 提出了OPC UA over TSN产品,使客户能够快速开发组件并轻松设置网络。

 结论

        TSN 最大的特点是实现IT/OT网络融合。并不是所有的应用场合都需要将IT/OT 数据融合在一个网络中传输,在许多场合,OT 会感觉不安全,而IT 感觉太麻烦。另一方面TSN 增加了网络配置,维护的复杂性。因此,在工业领域,TSN 并没有想象的那么快地大规模推广。有人将TSN 比喻成一堆香料,需要厨师去选配。可以在某些领域使用TSN技术,比如,使用支持TSN硬件实现高精度网络同步(IEEE1588 、PTP)。例如应用与实时数据采集,运动控制,节拍控制。

      随着制造业领域导入更多的IT新技术,例如数据采集与分析,AI视觉等。非实时交互数据的增加,TSN技术将会收到欢迎。

      与任何一项新技术类似,TSN距离大规模应用还有很长的道路要走。如果过早地期望这项新技术产生利润,也许是要失望的。但是如果不做早期的布局,未来就没有机会。这就是产业界的矛盾。

     无论如何,不要轻易地以为“未来已来”。技术难,商业化更难。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/789060.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第1章 获取数据库中的数据

CoreShop源程序是以数据库优先进行定义的,所以其本身不包含代码优先的定义,但本从更习惯于代码优先,所以为其定义了代码优先的定义。 1 CoreCms.Net.Model.Entities.SysRole using SqlSugar; using System.ComponentModel.DataAnnotations…

力扣 56. 合并区间

题目来源&#xff1a;https://leetcode.cn/problems/merge-intervals/description/ C题解&#xff1a;根据左区间排序&#xff0c;更新每一段的右区间最大值&#xff0c;直到间断。 class Solution { public:static bool cmp(vector<int> & a, vector<int> &a…

小学期笔记——天天酷跑5

效果&#xff1a; -------------------------- 效果&#xff1a; ------------------ 让人物跑起来 效果&#xff1a;&#xff08;此时的人物是运动的&#xff09; ---------------------- 通过键盘控制角色 效果&#xff1a; 人物可以上左右动&#xff0c;自由落体

K8S初级入门系列之二-集群搭建

一、前言 为了更好学习K8S&#xff0c;建议自行搭建一套K8S的环境&#xff0c;目前比较流行的有两种搭建工具&#xff0c;一种是单机版的minkube&#xff0c;一种是集群版的kubeadm。minkube更多是用于实验环境&#xff0c;且单机版隐藏了很多细节&#xff0c;而kubeadm更贴近实…

Vue 3.3 + Vite 4.3 + TypeScript 5+ Element-Plus:从零到一构建企业级后台管理系统(前后端开源)

vue3-element-admin 是基于 vue-element-admin 升级的 Vue3 Element Plus 版本的后台管理前端解决方案&#xff0c;技术栈为 Vue3 Vite4 TypeScript Element Plus Pinia Vue Router 等当前主流框架。 相较于其他管理前端框架&#xff0c;vue3-element-admin 的优势在于一…

红队打靶:Nullbyte打靶思路详解(vulnhub)

目录 写在开头 第一步&#xff1a;主机发现与端口扫描 第二步&#xff1a;Web渗透 第三步&#xff1a;hydra密码爆破 第四步&#xff1a;SQL注入大赏 方法一&#xff1a;手工SQL注入之联合查询 方法二&#xff1a;SQL注入写入一句话木马 方法三&#xff1a;SQL注入写入…

快速了解新一轮Moonbeam Grants申请提案

随着Moonbeam Grant第二期计划的发布&#xff0c;超过12个项目同时提交了生态Grant申请的提案。任何大于25万枚GLMR Grant的申请都将会要求项目在Moonbeam社区治理论坛上发布Grant提案&#xff0c;内容包含项目概览、申请金额、Grant使用方案以及背后的原因等等。 Grant的发放…

【VUE】vue-i18n: Uncaught SyntaxError: Not available in legacy mode

环境 vue ^3.3.4vue-i18n ^9.2.2vite ^4.4.7 问题 在vite脚手架项目当中&#xff0c;使用vue-i18n插件进行国际化多语言时&#xff0c; 报错&#xff1a;Uncaught SyntaxError: Not available in legacy mode 对于这个报错信息&#xff0c;网上大部分的处理方案是&#xff1a…

五,Eureka 第五章

5.3.2 修改pom添加依赖 <dependencies><!--公共部门--><dependency><groupId>cn.bdqn</groupId><artifactId>springcloud-api-commons</artifactId><version>${project.version}</version></dependency><!--e…

js中的数据结构之栈

js中的数据结构之栈 一、定义 栈是一种限定仅在表尾进行插入和删除操作的线性表&#xff0c;遵循后入先出的原则。 二、描述 栈是和列表类似的一种数据结构&#xff0c;也可以说栈就是一种特殊的列表。 栈里面的元素只能通过列表的一端访问&#xff0c;这一端称为栈顶。相…

Electron 学习_BrowserWindow

BrowserWindow创建并控制浏览器窗口(主进程) 条件&#xff1a;在 app 模块 emitted ready 事件之前&#xff0c;您不能使用此模块。 1.在加载页面时&#xff0c;渲染进程第一次完成绘制时&#xff0c;如果窗口还没有被显示&#xff0c;渲染进程会发出 ready-to-show 事件 。 在…

UML/SysML建模工具更新(2023.7)(1-5)有国产工具

DDD领域驱动设计批评文集 欢迎加入“软件方法建模师”群 《软件方法》各章合集 最近一段时间更新的工具有&#xff1a; 工具最新版本&#xff1a;Visual Paradigm 17.1 更新时间&#xff1a;2023年7月11日 工具简介 很用心的建模工具。支持编写用例规约。支持文本分析和C…

微服务入门---SpringCloud(二)

微服务入门---SpringCloud&#xff08;二&#xff09; 1.Nacos配置管理1.1.统一配置管理1.1.1.在nacos中添加配置文件1.1.2.从微服务拉取配置 1.2.配置热更新1.2.1.方式一1.2.2.方式二 1.3.配置共享1&#xff09;添加一个环境共享配置2&#xff09;在user-service中读取共享配置…

k8s deployment(k8s经典版)|PetaExpress

Deployment是什么&#xff1f; Deployment是指在软件开发中将应用程序或系统部署到目标环境中的过程。它包括将代码编译、配置、打包并安装到目标服务器或设备上的步骤。k8s deployment是&#xff08;k8s经典版&#xff09;中用来管理发布的控制器&#xff0c;在开发的过程中使…

实训笔记7.25

实训笔记7.25 7.25笔记一、MapReduce的特殊使用场景1.1 通过MapReduce程序实现多文件Join操作1.1.1 通过在Reduce端实现join操作1.1.2 通过在Map端实现join操作 1.2 MapReduce中的计数器的使用1.2.1 计数器使用两种方式 1.3 MapReduce实现数据清洗 二、MapReduce的OutputFormat…

算法与数据结构(三)--栈

一.栈的基本概念 栈是一种特殊的表&#xff0c;这种表只在表首进行插入和删除操作。 因此&#xff0c;表首对于栈来说具有特殊的意义&#xff0c;称为栈顶。相应的&#xff0c;表尾称为栈底。不含任何元素的栈称为空栈。 栈的修改遵循后进先出的原则&#xff0c;Last In First…

异常报错:The last packet sent successfully to the server was 0 milliseconds ago

本地运行项目&#xff0c;突然报错&#xff0c;日志为&#xff1a; The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.在网上找了一圈&#xff0c;没有找到合适的解决方案。最后猜测问题有…

基于Java+SpringBoot+vue前后端分离在线商城系统设计实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

华为战略方法论:BLM模型之关键任务与依赖关系

内容简介 在 BLM 模型中&#xff0c;执行部分包括四个模块&#xff0c;分别是&#xff1a; 关键任务与依赖关系&#xff1b;组织与绩效&#xff1b;人才&#xff1b;氛围与文化。 详细内容&#xff0c;大家可以参看下面这张图。 这四个模块其实是可以进一步划分成两个关键点…

【LeetCode】300.最长递增子序列

首先分析这个问题&#xff0c;以示例1为例。 已经求得最大递增子序列长度为4&#xff0c;而且该子序列中最后一个数为101&#xff0c; 那么一定存在一个数ai&#xff0c;使得ai以及ai之前的所有数组成的序列中&#xff0c; 最大递增子序列长度为3&#xff0c;而且该子序列中…