前言

往期的时间同步——802.1AS协议介绍一文向大家介绍了802.1AS协议的基本内容,基于时间同步协议就能实现主节点与各从节点的时间同步,但是如何评价时间同步的优劣呢?这就需要我们通过一些时间同步的参数进行分析。

本文将借助TSN Systems公司的专业TSN网络分析及测量工具TSN Box以及TSN Tools,(其中TSN Box是网络的硬件接口,作为TAP(Test Access Point)时,能够监测单条链路的报文;TSN Tools是对TSN网络通讯数据进行分析和可视化的软件工具。),从时间同步分析的角度,介绍常用的时间同步参数以及在TSN Tools软件中对应的分析器工具。

时间同步机制

在介绍具体的时间同步参数之前,先来回顾一下802.1AS中保证时间同步的两个机制:Sync 以及Pdelay机制。前者使得从节点接收到全局主节点时钟,后者使得每个节点能计算出相邻链路的延迟,二者结合起来实现时间同步。

1. Sync

全局主节点周期性地发Sync报文,并且在随后的Follow Up报文中附带上之前Sync报文发送的精确时间戳;所有从节点记录下接收到Sync报文的精确时间戳(基于本地时钟),再结合之后的Follow-Up报文中包含的精确时间戳(基于全局主节点时钟),结合下面介绍的路径延时,就能计算出本地时钟相对于全局主节点时钟的偏移。

2. Pdelay

Pdelay机制分为发起端和接收端,任意一个节点都可以是发起端或接收端,也就是说,全局主节点可以是接收端,从节点也可以是发起端。

Pdelay发起端发送Pdelay_Req报文,发起端同时记录下发送的精确时间戳t1;而Pdelay接收端收到Pdelay_Req报文后,记录下接收的精确时间戳t2;然后Pdelay接收端发送Pdelay_Resp报文,其中包含t2这一信息,同时记录下发送的精确时间戳t3;随随后Pdelay接收端再发送包含t3时间信息的Pdelay_Resp_Follow_Up报文,这样发起端获得t1、t2、t3和t4四个时间戳信息,就能计算出发起端至接收端的平均链路延时。

TSN Box与TSN Tools时间同步分析器

TSN Box是网络硬件接口,作为TAP设备时串联进单一链路中,监测双向的通信。需要说明的是配置为TAP的TSN Box向上位机的TSN Tools提供测量数据时,会引入大约1.5μs ±10 ns的延时,详见罗德与施瓦茨公司和TSN Systems公司为车载以太网提供纳秒级精度测量一文。TAP的基本拓扑如下图所示:

TSN Tools是网络分析、可视化的软件,可以将TSN Box捕捉到的报文经过筛选、分析,输出直观的图表,比如将全局主节点周期发送的报文绘制在同一时间线里:

而TSN Tools强大的分析功能来源于分析器模块,比如其内置的802.1AS分析器 ,下面就逐一介绍这些分析器的功能:

1. Sync-Follow_Up Delay

图 Sync-Follow_Up

Sync-Follow_Up Delay表示,在一次Sync报文授时过程中,TSN Box接收到的Sync、Follow_Up报文的时间差,即t4-t2 ,此参数用来反映实际Sync-Follow_Up时间间隔的稳定性。

下图是TSN Tools使用Sync-Follow_Up Delay分析器的效果:

可以看到Sync-Follow_Up Delay基本稳定在10ms,少量波动在-250μs~+750μs范围。

2. Inter-Sync Arrival Delay

Inter-Sync Arrival Delay表示TSN Box接收到相邻两个Sync报文的时间间隔,即t6-t2 ,此参数反映Sync发送周期的稳定性。

下图是TSN Tools使用Inter-Sync Arrival Delay分析器的效果:

可以看到Inter-Sync Arrival Delay在131ms±333μs范围波动,个别波动点在130ms左右。

3. Slave Clock Wander

Slave Clock Wander表示Slave时基相对于Master时基的偏移。

这需要TSN Box和Slave节点均与Master同步;Slave节点发送Reverse-Sync,并且记录发送时间戳t1’,在TSN Box接收到Reverse-Sync记录接收时间戳t2’,由于Tap Delay足够小,且TSN Box已经与Master节点同步,所以t2‘可以认为是Master时基的时间戳’;随后Slave节点发出Reverse-Follow_Up,其中会包含t1’信息,然后Slave节点再次发送一对Reverse-Sync、Follow_Up,此时在TSN Box就有t1’、t2’、t5’、t6’四个时间戳,其中t1’、t5’是Slave时基下的时间戳,t2’、t6’是Master时基下的时间戳,两种时基下的时间差与Master时基之比就表示Slave时基相对于Master时钟的偏差,由于这个偏差通常比较小,所以在TSN Tools中以每秒偏差多少纳秒的形式显示:

可以看到Slave Clock Wander在±100ns范围波动。

4. Sync Delay

Sync Delay表示TSN Box接收到Sync报文的时间戳与Follow Up报文中包含的Sync发送时间戳之差,这里假定Master与TSN Box之间的物理连接线束长度很小,此时引入的链路延时大约是纳秒级,则Sync Delay能够反映Master节点记录发送时间戳的能力。
可以看到Sync Delay大约在840±40ns范围:

5.Propagation Delay

图 Pdelay

Propagation Delay即Pdelay也就是单一链路延迟,仅考虑单向时为从发起端到接收端的时延,考虑双向时为双向时延的平均值。

可以看到Propagation Delay大约在2825ns±25ns范围。

6. Peer Delay Round Trip

Peer Delay Round Trip表示计算从PdelayRequest发出到接收到PdelayResponseFollowUp的时间差,即t6-t1 :

7. Forwarding Delay

Forwarding Delay指的是报文经过单个或多级交换设备转发产生的时延,需要从TSN Box的一端接收从Master发出的报文,另一端接收经过转发的报文,TSN Box比对两端相同报文的接收时间戳,从而计算出转发的时间。

结语

本文通过介绍TSN Tools中各个802.1AS分析器的功能及使用方法,展示了TSN Box结合TSN Tools所提供的强大的时间同步分析能力。TSN Box结合TSN Tools是应对复杂的、具有时间敏感特性的车载以太网的有效解决方案。

北汇信息作为TSN Systems公司在中国的独家合作伙伴,借助TSN Systems公司专业的TSN网络设备及分析软件,能够为下一代E/E架构中时间敏感网络提供系统级测试解决方案,包括系统设计测试、系统性能测试以及系统鲁棒性测试等。此外还提供TSN技术Workshop,其中对TSN协议族内各个子协议的解读、行业现状及趋势分析、根据应用场景提出TSN网络架构解决方案等内容,将有效地帮助客户迎接下一代E/E架构中时间敏感网络带来的挑战。

图源自TSN Box手册及TSN Tools软件。

基于TSN 802.1AS协议的时间同步分析(7种延时,1次厘清)的更多相关文章

  1. 高可靠性——TSN 802.1Qci协议介绍

    TSN协议族根据实现功能可以分为:定时与同步.延时.可靠性和资源管理四个类别,往期的时间同步--TSN协议802.1AS介绍一文向大家介绍了定时与同步功能的核心--802.1AS协议,而在基于TSN工 ...

  2. 时间同步——TSN协议802.1AS介绍

    前言之前的主题TSN的发展历史和协议族现状介绍了TSN技术的缘起,最近一期的主题TSN协议导读从定时与同步.延时.可靠性.资源管理四个方面,帮助大家了解TSN协议族包含哪些子协议,以及这些子协议的作用 ...

  3. 基于byte[]的HTTP协议头分析代码

    smark 专注于高并发网络和大型网站架规划设计,提供.NET平台下高吞吐的网络通讯应用技术咨询和支持 基于byte[]的HTTP协议头分析代码 最近需要为组件实现一个HTTP的扩展包,所以简单地实现 ...

  4. UNIX网络编程——分析一帧基于UDP的TFTP协议帧

    下图是UDP的段格式: 相比TCP段格式,UDP要简单得多,也没啥好说的,需要注意的是UDP数据长度指payload加上首部的长度. 下面分析一帧基于UDP的TFTP协议帧: 以太网首部 0000: ...

  5. 分析一帧基于UDP的TFTP协议帧

    下图是UDP的段格式: 相比TCP段格式,UDP要简单得多,也没啥好说的,需要注意的是UDP数据长度指payload加上首部的长度. 下面分析一帧基于UDP的TFTP协议帧: 以太网首部 0000: ...

  6. (原创)巩固理解基于DS18B20的1-wire协议(MCU,经验)

    1.Abstract     如前篇随笔所写,将以前遇到最难懂的两个部分重拾一下.前一篇写的是I2C协议(http://www.cnblogs.com/hechengfei/p/4117840.htm ...

  7. 802.1x协议&eap类型

    EAP: 0,扩展认证协议 1,一个灵活的传输协议,用来承载任意的认证信息(不包括认证方式) 2,直接运行在数据链路层,如ppp或以太网 3,支持多种类型认证 注:EAP 客户端---服务器之间一个协 ...

  8. 802.11协议帧格式、Wi-Fi连接交互过程、无线破解入门研究

    相关学习资料 Linux黑客大曝光: 第8章 无线网络 无线网络安全攻防实战进阶 无线网络安全 黑客大曝光 第2版 http://zh.wikipedia.org/wiki/IEEE_802.11 h ...

  9. WIFI:802.11协议帧格式

    802协议桢格式 802.11和Wi-Fi技术并不是同一个东西.Wi-Fi标准是802.11标准的一个子集,并且是Wi-Fi联盟负责管理 802协议桢格式: 协议 发布年份/日期 Op.标准频宽 实际 ...

随机推荐

  1. Python 循环控制

    for循环        Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串        for 变量 in 列表.字典.字符串.函数:            执行语句     ...

  2. 学不懂Netty?看不懂源码?不存在的,这篇文章手把手带你阅读Netty源码!

    阅读这篇文章之前,建议先阅读和这篇文章关联的内容. 1. 详细剖析分布式微服务架构下网络通信的底层实现原理(图解) 2. (年薪60W的技巧)工作了5年,你真的理解Netty以及为什么要用吗?(深度干 ...

  3. [luogu6838]网络站点

    先分析答案,即$x$和$y$的关系有以下两种: 1.$y$在$x$子树中,那么答案即为包含$y$的$x$的儿子 2.$y$不在$x$子树中,那么答案即为$x$的父亲 那么第一个问题就是判断$y$是否在 ...

  4. Chrome 插件特性及实战场景案例分析

    一.前言 提起Chrome扩展插件(Chrome Extension),每个人的浏览器中或多或少都安装了几个插件,像一键翻译.广告屏蔽.录屏等等,通过使用这些插件,可以有效的提高我们的工作效率:但有时 ...

  5. oracle 创建空间索引

    1. 首先进行查询,判断数据是否已经建立相应的空间元数据 select * from user_sdo_geom_metadata t where t.table_name like '%表名%'; ...

  6. 访问ajax请求后的结果

    let getJPM = (function() { let result; let url ="xxx"; $.ajax({ type: "post", ur ...

  7. springbootjpa的dao层也会出现找不到javabean的操作

    使用jpa的过程中,有一次使用dao写了一个 SysCompany findByName(String name);但实体类中没有name这个属性就会报错.bean注入异常

  8. ServerBootstrap的handler()和childHandler()区别

    无论服务端还是客户端都进行了handler的设置,通过添加hanlder,我们可以监听Channel的各种动作以及状态的改变,包括连接,绑定,接收消息等. 区别: 1. handler在初始化时就会执 ...

  9. CF1036F

    考虑这种一堆数字\(gcd = k\) 有经典做法. 考虑设\(f(x)\)为\(gcd\)是\(x\)的倍数的方案数. \(g(x)\)为\(gcd\)刚好为\(x\)的方案数. 则有 \(f(x) ...

  10. Python中关于join函数的陷阱?

    目录 说明 数据说明 正确示例 错误示例 解决办法 说明 最近在用Python的join函数连接多个列表时,出现了如下两个错误,即合并类型不一致.折腾了很久才找到原因,真是基础不牢,地动山摇. Typ ...