gptp报文完成时间同步原理

news2024/12/26 23:05:39

gptp(generalized Precision Time Protocol,广义精确时间同步协议),能够完成微秒级的时间信息同步

gptp定义了两种类型的设备

每一种设备都有自己的本地时钟,设备中用来发布同步时间报文的网络端口被称为主端口,用来接收时间同步报文的被称为从端口
• Time-aware-end station
○ 既可以作为主时钟,也可以作为从时钟
• Time-aware bridge
○ 既可以作为主时钟,也可以作为桥接设备,功能类似于交换机。桥接类设备在收到gptp报文之后,会请报文洗个澡再走,报文在内部洗澡的时间也被称为驻留时间,gptp要求桥设备具有计算驻留时间的能力。

主时钟动态分配机制(BMCA)

系统上电唤醒之后,所有的设备都会去发送一条报文来参与主时钟竞选,报文中含有各自设备的时钟信息。所有的参与竞选设备都会区比较自身的设备时钟与其他设备时钟,并判断是否具有优势,最后选出综合能力最强的作为主时钟。

同步过程

gptp定义了两类报文,事件类型的报文(包括sync,pdelay_req, pdelay_resp)和一般类型报文(包括follow_up, pdelay_resp_follow_up)。Gptp定义设备工作在MAC层。
当设备mac层接受或者发送事件类型的报文时,会触发硬件计数器进行采样,从而获得时钟振荡周期计数值,结合基准时间获取时间戳。一般类型的报文仅用来携带信息,不会触发内部硬件计数器的采样操作。![在这里插入图片描述](https://img-blog.csdnimg.cn/eed1a39282ba4df7a4d30fb7e8511aff.png)
• 测量时钟偏差
	○ 在gptp定义的五条报文中,sync和follow_up同为一组报文,周期性发送,用来测量时钟偏差,sync动作由主端口发送,报文离开主端口mac层时,触发主端口记录时间错t1。从端口MAC层收到sync报文之后,记录此时的时间戳t2.随后,主端口将t1时刻放在follow_up报文中发送到从端口,从端口计算时间偏差(t1-t2)加上基准时间完成时间同步。

在这里插入图片描述
• 传输延迟测量
gptp采用p2p的方法去测量传输延迟。在p2p方法中,报文只能在相邻设备进行传输,这就要求gptp网络中的所有设备都需要支持gptp功能。同时再定义一组独立的报文负责传输延迟测量,分别为周期发送的pdelay_req,pdelay_resp和pdelay_resp_follow_up。
在这里插入图片描述
○ 从端口回先去发送pdalay_req报文,标志着传输延迟测量的开始,在报文离开从端口mac层时
触发从端口记录此时的时间戳t3。主端口MAC层收到Pdelay_Req报文后会记录此时的时间戳t4,随后,主端口通过Pdelay_Resp报文将值t4发送给从端口,同时在Pdelay_Resp报文离开主端口的MAC层时,触发主端口记录此时的时间戳t5,从端口MAC层收到Pdelay_Resp报文后记录此时的时间戳t6。随后,相同的套路,主端口通过Pdelay_Resp_Follow_Up报文将值t5发送给从端口。至此一次传输延迟测量过程已经结束。

gptp频率同步

之前描述的传输延迟测量是基于从端口与主端口时钟振荡频率一致的前提之下得出的。
假设从端口的时钟振荡频率是25MHz,主端口的时钟振荡频率是100MHz,这个时候参考时钟本身的频率比=4,但主从端口的rate ratio还是为1。这意味着从端口在收到一次振荡的时候,原有时间会加40ns,而主端口则加10ns。 如果这个时候从端口由于温度、老化等原因,振荡频率变为26MHz,从端口收到一次振荡的时候再加40ns,显然是不准确的。
而频率同步就是要解决主从端口晶振精度不准带来的误差,通过测量报文可以发现此时rate ratio不为1,则从端口可以基于这个值调整自己的时基了
在这里插入图片描述
频率同步复用传输延迟测量过程中的pdelay_resp和pdelay_resp_follow_up报文。通过采用两组答复,最终得到了t5,t6,t9,t10的值。
在这里插入图片描述
若频率比大于1,则说明主端口走的比较快,如果小于1,说明主端口走的慢。

gptp与ptp之间的差异

gptp仅仅支持p2p的传输延时测量方式,ptp除了支持p2p的方式还支持e2e的方式,所谓的e2e方法就是测量的是网络中任意两个支持ptp设备之间的传输延迟,在这些设备之间允许存在普通的交换机,用来透传ptp报文的设备。

测量精度:
P2P方法中,报文在bridge设备中驻留时间可以被测量,且会和传输延时时间一起发送给链路上的设备,e2e的方法中,负责透传的交换机中驻留的时间是不可控的,导致测量精度的波动范围大

结构灵活性:
在p2p方法中,测量报文不会跨设备传输,主时钟变化或者新增从时钟,仅仅影响相邻设备,有利于网络的扩展;e2e方法中,无论主时钟还是从时钟变化,都需要重新计算整个网络的时间传输延迟,扩展性能较差

时间戳采样方式

gPTP只能工作在MAC子层,PTP除了可以工作在MAC子层,还可以工作在传输层。工作在传输层时,报文要经历协议栈缓存、操作系统调度等过程,这两个过程都会带来传输延时的增加且大小不可控。而工作在MAC子层时,离物理层只有一步之遥,既能减缓协议栈缓存带来延时的不确定性,又能缩短报文传输延时。
工作在MAC子层时,报文要么直接发给物理层要么从物理层收到,因此时间戳可以选择由物理层硬件打或由软件打。通过硬件的方式打,可以消除操作系统调度带来的延时不确定性。PTP工作在MAC子层时,既支持硬件打时间戳,也支持软件打时间戳。而gPTP从延时可控,延时减少的角度考虑,只允许打硬件时间戳。

时钟类型

PTP时钟支持两种时钟类型,One-Step Clock和Two-Step Clock。在One-Step Clock中,事件报文发送时,同时将本身记录的时间戳发送给从端口,如下图左半部分所示。在Two-Step Clock中,事件报文不携带时间戳信息,需要一条专门的一般类型报文来给从端口发送时间戳,如下图右半部分所示。
One-Step Clock虽然可以比Two-Step Clock节省一条报文,但对硬件要求很高,且硬件成本高,不利于网络扩展和应用普及。在两者精度没有区别的前提下,Two-Step Clock类型显然是gPTP的更优选择,这也是gPTP协议里规定的类型。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/32070.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Flutter】mixin简单使用

序言 之前有个技改任务,把司机学堂代码由原生转到Flutter。过程中遇到一个问题,学堂资料有pdf、视频、和图片,三种学习都会有几个共同的方法,比如学习进度更新、弹窗提示、完成接口调用等。在iOS中是用协议方法来实现&#xff0c…

Paper写作如何正确掌握模板内容?

要写好Paper绝不仅仅是掌握模版或者结构就够了,也不要指望几个小时内搞定一篇(只有经验超级丰富的人才有可能)。你们要做的是: To write a paper well is not only to master the template or structure,but also not to expect to finish one article i…

现代密码学导论-6-完美保密性的局限性

目录 2.3 Limitations of Perfect Secrecy 完美保密性的局限性 THEOREM 2.11 完美保密对密钥空间的要求 THEOREM 2.11 的证明 2.3 Limitations of Perfect Secrecy 完美保密性的局限性 在前一节的最后,我们指出了一次性密码本方案的缺点。事实上,这些…

vue-cli + APIcloud

1.安装node.js 2.全局安装cli3 npm install -g vue/cli 备注:vue cli3官网 https://cli.vuejs.org/zh/ 3.进入工作目录里运行 vue ui,此时会打开vue的UI面板 4.在面板中创建新项目,输入项目名之后点击下一步,选择预设-默认后直接创…

【手把手】教你玩转SpringCloud Alibaba之Seata

1、事务的概念 分布式事务理论 事务的四大特性:A(Atomic):原子性,构成事务的所有操作,要么都执行完成,要么全部不执行,不可能出现部分成功部分失 败的情况;C&#xff0…

Vue3路由的使用

文章目录1. 路由的集成和使用2. 声明式导航3. 编程式导航4. 获取页面路由参数数据4.1 动态路由传参和query传参4.2 编程式导航传参5. router-view和keepAlive、transition结合1. 路由的集成和使用 安装: yarn add vue-router4创建 router 目录,并在其下…

传奇单机架设教程,五分钟完成单机架设

准备工具:DBC2000 版本 补丁 传奇架设步骤 1.解压补丁到传奇客户端 2.解压版本到D盘盘符 3.安装配置DBC2000 4.打开引擎控制器启动 5.打开登陆器选择单机127.0.0.1 确保自己的热血传奇客户端是16年以后的 最好是最新版的. 不要使用已经淘汰的10周年客户端 …

Windows技巧之注册表

介绍 注册表是Windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序的运行,从而在整个系统中起着核心作用。这些作用包括了软、硬件的相关配置和状态信息&#xff0c…

这便是智能

🍿*★,*:.☆欢迎您/$:*.★* 🍿

复制集群架构设计技巧

Redis Sentinel设计技巧 Redis Sentinel基本架构 Monitoring Sentinel可以监控Redis节点的状态 Notification Sentinel可以通过API进行集群状态通知 Automatic failover Sentinel实现故障自动切换 Configuration provider Sentinel为client提供发现master节点的发现功能…

WebDAV之葫芦儿·派盘+i简记

i简记 支持webdav方式连接葫芦儿派盘。 每天都去记录生活中所消费的琐碎开支,不仅浪费时间,还有很多广告和理财推销。那有没有纯粹的手机在线记账工具?可以轻松把微信、支付宝账单导入,支持外账入内,还有汇率转换等?答案是肯定的,i简记就是非常实用的在线记账工具。 i…

SwiftUI——如何使用新的NavigationStack和NavigationSplitView(如何页面跳转2.0以及如何制作侧栏)

从 iOS 16 开始,苹果开始弃用原先的NavigationView,以后会逐渐完全淘汰掉。现在开始使用NavigationStack和NavigationSplitView。NavigationStack的效果和原本的NavigationView一样,而NavigationSplitView则和现在 iPadOS 上的NavigationView…

Elastic Search(一)

1. elasticsearch 概述 1.1 简介 官网: https://www.elastic.co/ Elasticsearch (简称ES)是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 查询和分析 可以自定义搜索方式: 通过 Elasticsearch,您能够执行及合并多种…

TAPD项目管理:工作流自动化最佳实践

TAPD全称为腾讯敏捷产品研发平台,凝聚了腾讯内部各个产品体系多年敏捷开发的实践精髓。TAPD的【自动化助手】模块通过【触发条件】【执行条件】的规则设定,可以轻松实现自定义子需求、父需求、缺陷管理之间的流转和自动化。 产品/研发的日常工作中&…

mybatis-plus通过inSql实现子查询以及运算符

mybatis-plus通过inSql实现子查询以及运算符一、Controller二、Service1、子查询Service2、运算符Service三、结果一、Controller GetMapping("/queryProductByTypes")public List<ProductDTO> queryProductByTypes(RequestParam("types") List<S…

C数据结构-堆的实现思路和堆排序的实现

堆和堆排堆的定义为什么使用数组&#xff1f;堆接口函数的实现堆的初始化堆的销毁堆的打印堆的插入&#xff01;&#xff01;堆的删除&#xff01;&#xff01;堆的判空返回堆顶的元素堆的大小堆排序的实现&#xff01;&#xff01;实现堆排序的两种方式时间复杂度的分析Last前…

【STC8A8K64D4开发板】——STC8A8K64D4开发板介绍

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请附上原文出处链接。 文章目录前言一、STC8A8K64D4系列单片机介绍二、STC8A8K64D4开发板概述三、STC8A8K64D4开发板硬件框图四、STC8芯片命名规则五、STC8A8K64D4核心板-2款对比六、STC8A8K64D4开发板-功能描述七、STC…

肠道微生物群与过敏性鼻炎

过敏性鼻炎是个全球性健康问题&#xff0c;易反复发作&#xff0c;困扰着全世界大约着4亿人。自20世纪60年代以来&#xff0c;过敏性鼻炎的患病率持续上升。近几年&#xff0c;我国主要大中城市过敏性鼻炎的平均患病率从11.1%升高到17.6%。 过敏性鼻炎主要临床表现包括发痒、打…

相比Superset和Metabase,DataEase开源工具为什么更易用?

企业业务环境或应用环境中产生的数据大多存储在数据库中&#xff0c;但是这些数据无法直接、形象地加以展示。数据可视化的意义就在于将原始数据通过不同类型的图形进行展示&#xff0c;为数据分析提供更加具象化的手段&#xff0c;这是数据可视化分析工具诞生的使命和意义。 …

[足式机器人]Part3机构运动微分几何学分析与综合Ch02-1 平面机构离散运动鞍点综合——【读书笔记】

本文仅供学习使用 本文参考&#xff1a; 《机构运动微分几何学分析与综合》-王德伦、汪伟 《微分几何》吴大任 Ch02-1 平面机构离散运动鞍点综合2 平面运动微分几何学2.1 平面离散运动的矩阵表示2.2 鞍点规划2 平面运动微分几何学 平面连杆机构由连架杆、机架和连杆组成&#…