TSN 3. Ethernet AVB 协议栈分析
1. IEEE 802.1AS 精准时钟同步协议
IEEE 802.1AS 是一种用于网桥网络的精准时钟同步协议标准,它在 IEEE 1588 精准时间同步协议的基础上进行修改,得到广义的精准时间同步协议(gPTP, generalized Precision Time Protocol)。通过最佳主时钟算法(BMCA,Best Master Clock Algorithm)来选择网络中唯一的主时钟(Grandmaster)节点,并以它作为时 钟同步生成树的根节点。其他节点拥有一个或多个主端口(Master Port)用于发送 时钟同步信息,同时具有一个从端口(Slave Port)用于接收时钟同步信息。
BMCA 的基本流程如下所示:
(1)将网络中各节点的时钟源进行统计汇集,该信息是由节点通过标准以太 网通知报文
的形式发布;
(2)从汇集的节点时钟源中选取最优的主时钟;
(3)根据主时钟的选择结果来决定 gPTP 端口的同步工作状态,包括 Master、 Slave、
Passive 和 Disable4 种状态,以主时钟为根节点的生成树如图 2.7 所示。
IEEE 802.1AS 通过以下两个机制:传输时钟同步信息机制和传播延迟测量机制,可确保两个通信节点间的同步误差在 1 ms 内。其中传输时钟同步信息机制利 用节点主端口连续周期性地发送实时的时钟同步消息(Sync Message),而其他节 点的从端口则接收该消息,传输过程如图 2.8 所示:
节点 i -1 以固定的时钟周期将同步消息发送至节点 i ,后者在收到该消息时会记录一个时间戳tRi,此后的 tSi时刻,节点 i 以同样的周期发送同步消息至下一个节 点 i +1 ,如此循环下去,直到所有的网络节点都接收到同步消息。在同步消息中主 要包含了三个信息:
1)精准的起源时间戳 O (Precise Origin Timestamp),是指由 主时钟节点发送同步消息的起始时间戳;
2)速率比 ri (Rate Ratio),是指主时钟 节点与本地节点时钟的频率之比,其计算式如(2.1)所示,式中 r(i-1) 是节点 i -1 发送 的同步消息中的速率比,nri是相邻速率比(Neighbor Rate Ratio),表示节点 i -1 与 节点 i 时钟的频率之比;
3)校正场 Ci (Correction Field),表示同步消息从主时钟 节点到达节点 i 的时间,其中包括线路传播时间和停留时间,其计算式如(2.2)所示, 式中 Ci-1 是节点 i -1 发送的同步消息中的校正场,Di-1 是从节点 i 的从端口测量的线 路传播延时。
节点在接收到同步消息后,可通过式(2.3)计算本地时钟与主时钟之间的差异, 从而实现网络中精准的时钟同步功能,式中表明了节点 i 的时刻 tR i在经过计算后, 转换为主时钟时刻 GM(tR i) 。
(1) t= t1时刻,节点 i 发送延时请求消息 Pdelay_Req,同时记录此时间点;
(2) t= t2 时刻,节点 i -1 接收消息 Pdelay_Req;
(3) t= t3 时刻,节点 i -1 发送包含 t2 和 t3 的延时响应消息 Pdelay_Resp;
(4) t=t4 时刻,节点 i 接收消息 Pdelay_Resp,同时记录此时间点。 经过上述消息交互过程可得到四个时间戳,由此可得到节点 i 的主端口线路传 播延时 Di 的计算式如(2.4)所示,式中消息发送与接收的时间间隔 t3-t2 放大了 nri 倍,目的是转换为节点 i 的本地时间以获得更精准的时钟同步计算结果。
2 IEEE 802.1Qat 流预留协议
在 IEEE 802.1Qat 中主要阐述了流预留协议(Stream Reservation Protocol),它 在 IEEE 802.1Q 协议的基础上进行了修改,主要包括三个部分:多 MAC 注册协议 (MMRP,Multiple MAC Registration Protocol)、多 VLAN 注册协议(MVRP, Multiple VLAN Registration Protocol)以及多流注册协议(MSRP,Multiple Stream Registration Protocol)。该协议通过传输音视频数据流的管理机制,可将 Ethernet AVB 网络分为三个部分:数据流服务提供者(Talker)、数据流服务接收者(Listener) 和交换机(Switch)。音视频数据传输过程如图 2.10 所示:
流预留协议为确保音视频数据流端到端的服务质量,需要对传输链路的带宽 进行配置,而配置过程主要包括:注册(Registration)和预留(Reservation)。Talker 节点通过 MMRP 将需要发送的音视频数据流属性信息以及接收端 Listener 地址信 息在网络中进行注册。而且 MMRP 提供一种机制,即允许动态地注册(或注销) 组成员(Group Membership)或独立的 MAC 地址信息,并只在支持扩展过滤服务 (Extended Filtering Services)的网桥中传播该信息,使转发数据流仅发生在已接 收此类成员注册的端口上。MVRP 用于声明当前虚拟局域网内的组成员,使不具 备该局域网 ID 的节点无法传播与之相关的数据流。网桥通过 MSRP 对传输路径带 宽资源进行预留,以保障 Talker 到 Listener 的数据流传输服务,同时还可构建通信 网络域边界(Domain Boundaries),使得拥有相同的 SR 类优先级设备间进行数据 交互。流预留协议中规定了音视频数据流的最大预留带宽为整个网络带宽的 75%, 而其余 25%的带宽用于传输普通以太网数据,网络带宽配置过程如图 2.11 所示:
Ethernet AVB 网络周期性地更新和收集局域网中所有设备的属性声明信息, Talker 和 Listener 节点可根据 MMRP 随时注册或注销服务,相应的网络拓扑结构 随之发生变化,但是不会影响网络的整体功能,这正体现了 Ethernet AVB 网络的 强拓展性。音视频数据采用 SR 类消息进行传输,标准中规定最多 8 个(优先级 0-7 逐渐递增)类别,本文仅采用 A 类和 B 类,优先级分别为 3 和 2。流预留协议 规定了最大 7 跳(Hops)的局域网内,A 类消息发送周期为 125 ms ,最大延时不 超过 2ms;B 类消息发送周期为 250 ms ,最大延时不超过 50ms。传输音视频数据 流所需的带宽( StreamID )计算式如(2.5)所示:
式中 MFS 表示最大数据帧有效负载长度, OH 表示帧头,大小为 42 字节,MIF 表示在一定的测量时间间隔 InT 内发送的最大帧数。
3 IEEE 802.1Qav 队列及转发协议
IEEE 802.1Qav 中阐述了队列及转发协议(Queuing and Forwarding Protocol), 它主要用于传输网络中时间敏感(Time-Sensitive)的音视频数据流,能够确保传 输延时控制在一定的范围之内,以提供高实时性的数据传输服务。该协议采用令 牌整形算法(CBSA,Credit-Based Shaper Algorithm)对网络的音视频数据流进行 调度,该算法是基于交换机实现的,并可依据消息的实时性要求划分相应的优先 级,从而实现各类消息在交换机中的有序传输。
在 Ethernet AVB 网络交换机中,SR 类和普通以太网(BE)类消息的外部队列 采用严格优先级排队(SPQ,Strict Priority Queuing)的调度方式,使得音视频数 据流优先传输,而在同类消息内部队列则按先进先出(FIFO,First In First Out)的 调度方式,即同类消息具有相等的优先级,协议中的调度机制如图 2.12 所示。
令牌整形算法有如下规定:A 和 B 类消息只有在其对应的令牌 >=0 时,才允许 传输;当有同类消息正在等待传输或没有消息等待传输,但令牌为负数时,令牌 线性增加,其斜率值为参数空闲斜率(idleSlope),分别以 A+ 和 B+ 表示;如果令 牌为正数且没有消息等待传输,则立即重置为 0;当消息传输时,相应的令牌线性 减少,其斜率值为参数发送斜率(sendSlope),分别以 A- 和 B- 表示。以图 2.13 所 示的实例对 CBSA 进行说明,在 t =0 时刻,消息 m2 开始传输,B 类令牌减少;在 t =t1 时刻,消息 m1 在 A 类队列中等待传输,因此其令牌开始增加;在 t =t3时刻, 消息 m2 传输结束,此时 A 类令牌为正数,因此 m1 开始传输;在 t= t2 时刻,B 类消 息 m3 正在等待传输,所以其令牌增加;在 t =t 4时刻, m1 传输结束, m3 开始传输, 因此 B 类令牌减少;在 t=t5 时刻,没有 A 类消息等待传输,因此令牌立即重置 0。
4 IEEE 1722 音视频传输协议
在 IEEE 1722 中描述了 Ethernet AVB 使用的音视频传输协议(AVBTP,AVB Transport Protocol),它定义了实时传输音视频数据流的二层数据包格式,同时给出 了开启、关闭和控制传输音视频数据流的相关机制,而且能够在物理层分隔的音 视频解码器之间建立一条虚拟链路以提供低延时的数据传输服务。AVBTP 在数据 链路层采用与 IEEE 1394 协议相同的流媒体数据传输技术,该技术能使传输延时控 制在微秒级别,同时采用国际标准 IEC 61883 格式对数据封装进行规范,即 IEEE 1722 数据帧的有效负载段采用 IEC61883 的帧格式,其中包括 IEC 61883 帧头(IEC Head)和音视频包(Audio Video Packet),如图 2.14 所示。
利用 AVBTP 传输音视频数据流的过程如图 2.15 所示,首先 Talker 节点将采 集的原始数据进行压缩后按照 AVBTP 帧格式进行封装,其过程包含:填充由 SRP 保存的流 ID、记录由 gPTP 产生的时间戳和传输的数据类型等相关信息。然后通 过 Ethernet AVB 数据帧在物理层组播,经过交换机转发后,传输至已注册此音视 频数据流的 Listener 节点,最后在完成解包和解码工作后输出至相关设备中显示。
Ethernet AVB 网络还可采用 IEEE 1733 实时传输协议(RTP,Real-time Transport Protocol)传输音视频数据流,它是一种目前广泛应用的实时流媒体传输协议,与 IEEE 1722 不同的是,RTP 是一种基于三层 UDP/IP 网络的协议。为了使 RTP 满足 网络通信需求,IEEE 对其进行了扩展,通过加入帧封装格式,建立、控制以及关 闭数据流等,在 Ethernet AVB 网络内提供时间同步、保障延时和预留带宽的质量 服务,以支持音视频数据流的实时性。
NOTE:
文章是摘录自硕士论文《智能汽车Ethernet+AVB网络参数优化配置研究》作者是黄斌,由于文章是笔记类型的但是目前编辑的时候没有这个类型,暂时设置为原创,如有侵权,请及时联系。
上一篇: codeforces 1426E(贪心)
下一篇: vue实现鼠标移入移出显示或者隐藏div