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网络参数优化配置研究》作者是黄斌,由于文章是笔记类型的但是目前编辑的时候没有这个类型,暂时设置为原创,如有侵权,请及时联系。

TSN 3. Ethernet AVB 协议栈分析相关推荐

  1. TSN 1. Ethernet AVB/TSN 综述

    以太网音视频桥接技术(Ethernet AVB)通过在传统以太网的基础上新增一系列协议标准,能提供高质量的音视频传输服务,以支持各种多媒体应用的通信需求.Ethernet AVB 主要用于音视频信息和 ...

  2. linux下iptables和netfilter详解(4):洞悉实现流程及协议栈分析

    (一)洞悉linux下的Netfilter&iptables:什么是Netfilter? 很多人在接触iptables之后就会这么一种感觉:我通过iptables命令配下去的每一条规则,到底是 ...

  3. AR9344中ethernet处理方式分析

    http://bbs.chinaunix.net/thread-1960516-1-1.html 9344 ethernet数据接收代码分析 在板的ethernet只有一个网卡,在系统处理话的时候有如 ...

  4. ip协议分析实验报告_入门工业通讯之EtherNet/IP协议分析

    写在前面 前面我们系统得说了工业控制系统的通讯,大家肯定会想到PROFINET.ETHERNET/IP.ETHERCAT等工业以太网: 技术解读PROFINET.Ethernet/IP等7种主流工业以 ...

  5. Asterisk 1.8 sip 协议栈分析

    引用自:http://blog.csdn.net/z1623866465/archive/2011/01/02/6113057.aspx 看了一下 asterisk 1.8 ,chan_sip 更新了 ...

  6. 几种开源的TCP/IP协议栈分析

    1.BSD TCP/IP协议栈 BSD栈历史上是其他商业栈的起点,大多数专业TCP/IP栈(VxWorks内嵌的TCP/IP栈)是BSD栈派生的.这是因为BSD栈在BSD许可协 议下提供了这些专业栈的 ...

  7. AUTOSAR从入门到精通100讲(四十八)-Lin通信协议栈分析两步走-LinTrcvLIN Driver

    LinTrcv 0.Lin通信协议栈简介: LIN通信服务是一组用于与LIN通信系统进行车辆网络通信的模块.提供统一的LIN网络接口.对应用层程序隐藏协议信息和消息属性的特性. Lin通信服务包括: ...

  8. AUTOSAR从入门到精通100讲(三十五)-Lin通信协议栈分析三部曲LinTrcv配置及代码分析

    LinTrcv 0.Lin通信协议栈简介: LIN通信服务是一组用于与LIN通信系统进行车辆网络通信的模块.提供统一的LIN网络接口.对应用层程序隐藏协议信息和消息属性的特性. Lin通信服务包括: ...

  9. Linux内核协议栈分析之tcp/ip初始化——tcp/ip通信并不神秘(2)

    写在代码前: 我:Jack,出来吧.今天晚上咱们分析Linux1.2.4内核的协议栈. Jack:上次不是分析Linux1.0的内核协议栈吗?怎么突然之间要分析1.2.4了? 我:上次分析完Linux ...

最新文章

  1. 堪称神级的 Java 技术栈手册火了!
  2. 《软件过程改进》练习题
  3. linux系统下springboot jar方式启动后允许后台运行
  4. 初步探讨WPF的ListView控件(涉及模板、查找子控件)
  5. 为什么所有的React应用开头都有一行meta charset=utf-8语句?
  6. 二叉树:HDU1754
  7. Spring 中的 LocalSessionFactoryBean和LocalContainerEntityManagerFactoryBean
  8. Spring深入理解之ComponentScan___@ComponentScan 详解
  9. Spring源码窥探之:@Value
  10. 云服务器CentOS7上安装Mysql,并使用Navicat连接的最简便快速方法
  11. 计算机办公应用教案,计算机应用基础与办公自动化教案
  12. 算法入门:股票最大收益
  13. linux服务器修改ftp默认21端口方法
  14. 子平真诠释疑笔记(五)
  15. 腾讯离职元老的内部邮件:马化腾的趣事
  16. 【观点】区块链手机说到底还是伪命题
  17. 023. 热点网站统计[100 分]
  18. java 音频倍速播放_Android MediaPlayer 音频倍速播放,调整播放速度
  19. take care of my eyes --感人小故事
  20. 以太网未建立连接解决办法(网络可以使用)

热门文章

  1. Chrome高版本浏览器img通过src获取图片失败
  2. 贝叶斯系列——贝叶斯定理、贝叶斯决策、朴素贝叶斯、贝叶斯网络、贝叶斯滤波器
  3. AxMath的常用操作
  4. FPGA之组合逻辑与时序逻辑、同步逻辑与异步逻辑的概念
  5. 武汉有哪些值得推荐的互联网科技公司?
  6. 新垣结衣自拍照_仅使用代码创建自拍照
  7. 破解安卓图案锁屏密码
  8. 服装店收银系统具有哪些功能
  9. 一大波震撼的资源向你袭来,优秀的Spring Boot开源项目,你值得拥有!
  10. mysql中组合索引创建的原则是什么意思_面试前必须要掌握的MySQL索引最左前缀匹配原则...