大家好,上期我们介绍了tsn是什么,能够给我们带来什么好处以及tsn的用途。在文章的后面也给我们的协议介绍起了个头,讲解了tsn中用到的时钟同步系统ieee 802.1as-rev。如果有小伙伴漏掉了上期的内容,可以点此链接查看:快速了解时间敏感网络(tsn)_part1
今天我们就开始介绍tsn协议族中的其他成员包括:延迟(tas和帧抢占)、流量监控(802.1qci)和冗余(802.1cb)
ieee 802.1qbv time aware shaper
时间感知整形(tas)可以说是tsn里的一个核心协议,正是它的应用为车内时间敏感数据提供了超低的延时及抖动的保证。我们知道,以太网的数据是在总线上串行传输的,如图5,当有多个数据在交换机出口等待被转出时(不同的数据会根据vlan tag中的优先级在不同的队列中排队等待),谁先出谁后出就决定了数据的延迟大小。
图5 以太网出口队列示意图
tas通过开关门的机制,来控制数据的发送。如图6,通过右侧的gate control list来控制每个队列在某一时刻的开关门状态,以右侧黑框圈出的t05举例,该时刻 队列7到队列0的开关门状态分别是coccoccc(c表示关门,o表示开门)。数据只有在开门的时候才可以进行发送,也就是说该时刻只有队列6和队列3可以发送数据。
图6 tas 开关门控制 (图片部分引自ieee 802.1q)
一般来讲 gate control list是周期循环的,在关键数据(图7中tc1数据)发送前和发送中,我们会关闭其他数据的发送,以保证tc1数据不会受到影响。从而为tc1提供超低的延时保证。同时周期性开关门的特性也说明tas更适合为周期性数据提供延时的保障。
图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帧的等待时间。
图8 帧抢占举例
除了帧抢占自己单独使用可降低延时之外。还可以与上面提到的tas结合使用以减小grandband的大小(如图9),从而在频繁开关门的情况下提高网络利用率。
图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攻击),以及通过其中的门控机制确保被筛选出的数据在特定的时机进行发送等。
图10:psfp举例
ieee 802.1cb frame replication and elimination for reliability (frer)
802.1cb 协议主要负责数据的冗余备份传输,利用冗余机制解决环路网络拓扑中,可能由crc、线路开路,连接器断开等导致的信息错误或丢失。如果应用了自动驾驶,并且有一个较高的功能安全等级,那么frer几乎成为了一个必然的选择。
图11. r-tag 及序列号
在发送时,其会为特定数据打上标签和序列码(如图11),并且在不同通路上复制传输。在链路汇聚点处,复制信息会被识别并消除,以防止接收节点的上层应用处理多个重复数据。其应用大致分为两种形式:终端节点承担frer工作(如图12)或 switch节点成端frer工作(如图13)。后者相比于前者,实现起来难度较低,设计变更和复杂程度也会相对较小。
图12. 终端节点承担frer功能
图13. switch承担frer功能
以上就是我们快速了解时间敏感网络(tsn)的全部内容了。之后小编还会为大家带来更多tsn的进阶介绍,期待与大家的下次相遇~ 再见!