热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何了解时间敏感网络TSN

如何了解时间敏感网络TSN,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希

如何了解时间敏感网络TSN,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

今天我们就开始介绍TSN协议族中的其他成员包括:延迟(TAS和帧抢占)、流量监控(802.1Qci)和冗余(802.1CB)

IEEE 802.1Qbv Time Aware Shaper

        时间感知整形(TAS)可以说是TSN里的一个核心协议,正是它的应用为车内时间敏感数据提供了超低的延时及抖动的保证。我们知道,以太网的数据是在总线上串行传输的,如图5,当有多个数据在交换机出口等待被转出时(不同的数据会根据VLAN Tag中的优先级在不同的队列中排队等待),谁先出谁后出就决定了数据的延迟大小。

如何了解时间敏感网络TSN

图5 以太网出口队列示意图

        TAS通过开关门的机制,来控制数据的发送。如图6,通过右侧的Gate Control list来控制每个队列在某一时刻的开关门状态,以右侧黑框圈出的T05举例,该时刻 队列7到队列0的开关门状态分别是CoCCoCCC(C表示关门,o表示开门)。数据只有在开门的时候才可以进行发送,也就是说该时刻只有队列6和队列3可以发送数据。

如何了解时间敏感网络TSN

图6 TAS 开关门控制 (图片部分引自IEEE 802.1Q)

        一般来讲 Gate Control List是周期循环的,在关键数据(图7中TC1数据)发送前和发送中,我们会关闭其他数据的发送,以保证TC1数据不会受到影响。从而为TC1提供超低的延时保证。同时周期性开关门的特性也说明TAS更适合为周期性数据提供延时的保障。

如何了解时间敏感网络TSN

图7 TAS举例

IEEE 802.1 Qbr & IEEE 802.3bu 帧抢占

        帧抢占是TSN协议族中另一个提供延迟保障机制的协议,该协议通过修改前导码将正常的以太网帧分为两类:Express MAC (EMAC 高优先级帧) 和 Preamble MAC(PMAC 低优先级帧)。通过高优先级帧可以打断正在发送的低优先级帧这一特性,减小高优先级的等待时间。以图8中的数据为例,正常情况下,第一行蓝色的PMAC帧先发送后,即使后面再来的EMAC帧也必须等待当前正在发送的PMAC帧发送完成后才能发送。但是应用了帧抢占后,EMAC帧可以打断PMAC帧进行发送,当EMAC帧发送完成后,剩余的PMAC帧再进行发送。这样一来就可以节约下了EMAC帧的等待时间。

如何了解时间敏感网络TSN

图8 帧抢占举例

        除了帧抢占自己单独使用可降低延时之外。还可以与上面提到的TAS结合使用以减小Grandband的大小(如图9),从而在频繁开关门的情况下提高网络利用率。

如何了解时间敏感网络TSN

图9 帧抢占结合TAS减小Grandband

        最后在应用帧抢占的时候有三点注意:

•  数据 “被且仅被” 分成两类:PMAC帧和EMAC帧

•  需要依赖底层支持,将原有的MAC层分为EMAC 和 PMAC

•  PMAC可被打断的最小帧长度为124Bytes 小于该长度不能被打断

IEEE 802.1Qci Per-Stream Filtering and Policing

        TSN协议族中的PSFP协议类似防火墙的机制,它可以对转发前的数据进行筛选和过滤,对特定标识的数据帧加以控制。以图10为例,正常情况下ECU1和ECU2各自发送20Mbps数据,但是由于ECU1受到网络攻击或者自身发生错误,导致发送90Mbps的数据。此时由于switch出口处仅支持100M带宽,那么ECU2最多只能发送10Mbps的数据,因此无法正常工作。

        如果该系统中应用了PSFP,那么此机制可以提前根据数据流的特征(VLAN,MAC地址,IP地址等)识别出ECU1所允许发送的数据流仅能为20Mbps,因此就会对其进行错误处理,方式分为两种:

•  PSFP限制:限制数据流发送,降低到预设值

•  PSFP阻断:完全阻断错误数据流

        此外PSFP还可以防止网络攻击(例如ARP攻击),以及通过其中的门控机制确保被筛选出的数据在特定的时机进行发送等。

如何了解时间敏感网络TSN

图10:PSFP举例

IEEE 802.1CB Frame Replication and Elimination for Reliability (FRER)

        802.1CB 协议主要负责数据的冗余备份传输,利用冗余机制解决环路网络拓扑中,可能由CRC、线路开路,连接器断开等导致的信息错误或丢失。如果应用了自动驾驶,并且有一个较高的功能安全等级,那么FRER几乎成为了一个必然的选择。

如何了解时间敏感网络TSN

图11. R-tag 及序列号

        在发送时,其会为特定数据打上标签和序列码(如图11),并且在不同通路上复制传输。在链路汇聚点处,复制信息会被识别并消除,以防止接收节点的上层应用处理多个重复数据。其应用大致分为两种形式:终端节点承担FRER工作(如图12)或 Switch节点成端FRER工作(如图13)。后者相比于前者,实现起来难度较低,设计变更和复杂程度也会相对较小。

如何了解时间敏感网络TSN

图12. 终端节点承担FRER功能

如何了解时间敏感网络TSN

图13. Switch承担FRER功能

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程笔记行业资讯频道,感谢您对编程笔记的支持。


推荐阅读
  • 花瓣|目标值_Compose 动画边学边做夏日彩虹
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Compose动画边学边做-夏日彩虹相关的知识,希望对你有一定的参考价值。引言Comp ... [详细]
  • 热点追踪深度探讨实地探访商务合作当一个哲学家遇到大数据分析会发生什么?如果告诉你,这个组合曾帮助美国“猎杀拉登”,你是否会惊讶到瞪眼睛。在 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 李逍遥寻找仙药的迷阵之旅
    本文讲述了少年李逍遥为了救治婶婶的病情,前往仙灵岛寻找仙药的故事。他需要穿越一个由M×N个方格组成的迷阵,有些方格内有怪物,有些方格是安全的。李逍遥需要避开有怪物的方格,并经过最少的方格,找到仙药。在寻找的过程中,他还会遇到神秘人物。本文提供了一个迷阵样例及李逍遥找到仙药的路线。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • express工程中的json调用方法
    本文介绍了在express工程中如何调用json数据,包括建立app.js文件、创建数据接口以及获取全部数据和typeid为1的数据的方法。 ... [详细]
  • 5G新空口关键技术之信道编码
    信道编码概念  信道编码过程包括添加循环冗余校验码(CRC,CyclicRedundancyCheck)、码块分割(Code ... [详细]
  • 小白的Python 学习笔记(八)推导式详解
    大家好,今天我总结一下Python的推导式,首先让我们来看定义推导式(comprehensions)是Python的一种独有特性,是可以从一个数据序列构建另一个新的数据序列的结构体 ... [详细]
author-avatar
谢绝沟通
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有