tsn协议之冗余协议——ieee 802.1 cb-九游会j9官方网站

tsn协议之冗余协议——ieee 802.1 cb
技术干货 2021.05.18

在车载通信领域,我们时常面临一个困惑,要是通信线路异常断开了怎么办?这里的异常断开不仅指物理上的断开,也可能是受电磁干扰等导致线路通信功能的异常等。解决此类问题,一个显而易见的九游会j9备用网址的解决方案就是增加冗余路径,即把数据传输2~n份以进行备份,这样就不用担心数据的丢失了。


原理很简单,但受限于成本因素及协议原理等,实现起来并不容易。常见的车载通信协议——can/lin/flexray/most/ethernet,只有flexray和ethernet能实现上述的冗余通信。flexray可使用双通道通信,两个通道可用来发送相同的信息,以牺牲通信速率的代价来换取冗余传输。但flexray通信速率有限,单通道最高通信速率为10mbps,该速率对传输车内线控信号足够,但用于传输无人驾驶相关的传感器信号,就捉襟见肘了。以太网可实现通信速率(百兆、千兆等)与冗余传输的兼顾,是一个优异的九游会j9备用网址的解决方案,但受限于汽车电气拓扑、芯片等的发展水平,现阶段该技术暂未推广,但不可否认该技术的强大。今天小怿就带领大家认识认识以太网实现冗余的方案,即tsn协议族中的ieee 802.1 cb协议。


ieee 802.1 cb协议定义了车载以太网中实现冗余传输的方案,协议全称frame replication and elimination for reliability,简称frer。下面将依次介绍该协议的应用场景、协议原理、实现方式等。


应用场景

理论上讲,整车各类数据流可进行以下区分,如表1所示:


tsn协议之冗余协议——ieee 802.1 cb 2021-05-18(图1)


上表中,关键性列为“高”的数据流,理应进行冗余传输,以实现更高级别的功能安全。一般来讲,是否使用冗余协议,由功能决定,如果某功能对数据的丢包无法容忍,那么,需考虑使用冗余协议frer以实现可靠传输。


使用frer实现冗余时,前提条件是网络中数据的传输有冗余路径—备选路径,这就对网络拓扑的形式提出了要求:网络中必须能够形成环路,以使talker端的数据能沿不同路径到达listener端。以下两图可直观理解frer对网络拓扑形式的需求。图1域控制器架构中,各域节点通过以太网连接在一起,域内各节点通过can/ethernet等互联,域节点之间未形成环形拓扑,因此,无法使用frer进行冗余设计。图2 zonal架构中,主干网上以太网节点数量增多,节点的处理能力及可靠性要求更高,网络中也形成了闭环,此时,可使用frer使数据沿不同路径传输,以实现高可靠性。


tsn协议之冗余协议——ieee 802.1 cb 2021-05-18(图2)

图 1 典型域控制器架构(来源于网络)



tsn协议之冗余协议——ieee 802.1 cb 2021-05-18(图3)

图 2 zonal架构(来源于网络)



总之,frer应用于对数据传输有高可靠性需求,且网络可提供数据传输冗余路径的以太网拓扑中。


协议原理

frer原理简单:talker端发送数据时,frer功能将数据包复制,沿不同路径传输;listener端接收数据时,frer功能删除复制的数据包,只保留一个数据包。当然,不强制要求作为终端节点的talker或listener支持frer功能,frer功能可通过网桥来实现,此时,网桥称为talker的代理或listener的代理。


下图中,end system a是数据流的talker端,end system g是数据流的listener端,两者之间有多个交换机relay system。终端a不具备frer功能,需由交换机b进行代理,此时,b称为talker(终端a)的frer代理;g具备frer功能,其不需要代理。虚线表示数据流及其流动方向,红色圆框表示节点具备的frer功能(主要功能,非全部功能)。


tsn协议之冗余协议——ieee 802.1 cb 2021-05-18(图4)

图 3 frer原理示意图


要想实现数据流沿不同路径(甚至是所有可能路径)的传输,需要由多个节点配合实现,各节点需具备不同的frer功能,以共同实现数据的冗余传输。frer功能组件如表2所示:


tsn协议之冗余协议——ieee 802.1 cb 2021-05-18(图5)

表 2 frer功能组件


上表中,sequencing function有3个子功能,见表3:


tsn协议之冗余协议——ieee 802.1 cb 2021-05-18(图6)

表 3 sequencing function子功能


frer所有的功能组件均与两个参数相关,即stream_handle子参数及sequence_number子参数。


stream_handle子参数与流识别功能相关,节点根据数据帧的mac、vlan、priority、ip等信息,判断数据帧是否需经过frer功能组件处理,如需进行处理,给其分配一个stream_handle子参数,该stream_handle子参数决定了数据帧会经过哪些frer组件的处理,所有具备frer功能的节点,其必须具备stream identification功能。


sequence_number子参数与数据帧的复制及删除相关,在talker端,对数据包按序进行编号,并将sequence_number编码至数据帧中;在数据接收方,根据sequence_number子参数判定数据帧是否是之前接收包的复制品,如果是,即删除。


以图3的系统为例,节点b、c、f及g具备frer功能的节点,以节点b及f为例,其内部详情如下。


节点b(交换机,talker端frer代理)


tsn协议之冗余协议——ieee 802.1 cb 2021-05-18(图7)

图 4 节点b内部frer协议栈示意图


节点b中,对于从a节点处来的数据流,其处理流程如下:

(1)stream identification组件使用ip地址等对数据流进行识别,如果需要进行frer处理,则传往高层由frer组件进行处理;如不需要,则通过nstf传输,不经过frer功能组件;

(2)sequence generation function组件对数据包进行编号,从0~65535循环;

(3)sequence encode function将(2)中的编号编码进数据帧中,以使数据帧携带编号信息;

(4)active destination mac and vlan stream identification组件改变数据包的mac、vlan等信息,进而使数据包沿不同的路径传输;其取代了流分离的功能。


节点f(交换机,两条路径在此交汇)


tsn协议之冗余协议——ieee 802.1 cb 2021-05-18(图8)

图 5 节点f内部frer协议栈示意图


节点f中,两条不同路径上的数据流在此处汇聚,节点f的处理流程如下:

(1)stream identification组件对数据流进行识别,对需经过frer功能组件处理的数据帧传往高层处理;

(2)sequence decode function组件去除数据帧中编码的sequence_number子参数等内容,以使数据帧能被stream transfer function识别;

(3)sequence recovery function根据数据包的sequence_number子参数,判断数据包是否是之前接收的数据包的复制包,如果不是,则保留该包,如果是,则删除。

(4)sequence encode function组件往数据帧中编码sequence_number子参数,以使报文携带编号信息,方便后续节点进行帧删除操作。

(5)stream identification组件视需改变数据帧的mac或vlan。


以上是frer协议的基本原理,其实,每一个frer功能组件的背后,都需进行复杂的参数配置,可能涉及复杂的算法,篇幅原因,本文不进行具体讲述。frer协议原理简单,但深入理解并使用不是一件容易的事。


实现方式

在第1章节提到过,frer应用于网络中能形成回环的网络,数据流的传输路径,需提前静态配置。


一般来讲,frer功能组件的布置很灵活。在静态配置好的数据传输路径上,节点或交换机根据其自身所在位置,选用合适的frer功能组件,各节点配合实现系统中数据流的冗余传输。各节点选用的frer组件,一般遵循以下原则:

(1)talker端(或talker的frer代理端)需支持流识别功能、序号生成功能、序号编码功能、流分离功能(可由流识别功能实现)

(2)listener端(或listener的frer代理端)需支持流识别功能、序号恢复功能及潜在错误检测功能、序号解码功能

(3)如果路径上某交换机是2~n条路径的交汇节点,该节点需支持流识别功能、序号恢复功能及潜在错误检测功能、序号编码/解码功能

(4)如果路径上某交换机处分离出2~n条路径,该节点需支持流识别功能、序号编码/解码功能、流分离功能(可由流识别功能实现)

(5)任何具备frer功能组件的节点,均需支持流识别功能


ieee 802.1 cb协议是tsn协议族的一个子协议,其用于实现车载ethernet网络中数据的冗余传输,适用于对数据传输有高可靠性传输需求的应用。随着智能驾驶汽车的发展,越来越多的传感器数据直接被用于车控,这类数据流与功能安全强相关,需考虑数据传输的可靠性需求。使用以太网传输传感器数据流,配合tsn协议实现数据传输的可靠性需求、通信qos及安全等,能较好地满足智能驾驶汽车对数据传输的需求。


tsn由一组协议组成,网络设计者可根据需求选取不同的协议,以实现不同的需求。tsn各协议按其功能,可分为以下几类:传输协议、时钟同步协议、qos服务质量协议、冗余及安全协议、资源管理协议等。ieee 802.1 cb协议是冗余协议,与其它协议关联性不强,可单独使用或配合其它协议使用,是车载以太网通信中需重点关注的一个协议。


tsn协议目前在车内的应用暂处于预研阶段,但随着智能驾驶的发展、域控制器及中央计算单元架构的演化及车规级芯片的量产,其必将在车载网络中发挥越来越重要的作用。





关注怿星科技公众号,获取更多资讯


tsn协议之冗余协议——ieee 802.1 cb 2021-05-18(图9)

网站地图