IEEE1588协议简介
IEEE1588协议,又称PTP(precise time protocol,精确时间协议),可以达到亚微秒级别时间同步精度,于2002年发布version1,2008年发布version2。
IEEE1588协议的同步原理,所提出的Delay Request-Response Mechanism(延时响应机制)如图1所示。

图1 PTP协议延迟响应机制
图中所描述的PTP报文为以下几种:
(1)sync同步报文
(2)Follow_up跟随报文
(3)Delay_req延迟请求报文
(4)Delay_resp延迟请求响应报文
延迟响应同步机制的报文收发流程:
1.主时钟周期性的发出sync报文,并记录下sync报文离开主时钟的精确发送时间t1;
(此处sync报文是周期性发出,可以携带或者不携带发送时间信息,因为就算携带也只能是预估发送时间戳originTimeStamp)
2.主时钟将精确发送时间t1封装到Follow_up报文中,发送给从时钟;
(由于sync报文不可能携带精确的报文离开时间,所以我们在之后的Follow_up报文中,将sync报文精确的发送时间戳t1封装起来,发给从时钟)
3.从时钟记录sync报文到达从时钟的精确时到达时间t2;
4.从时钟发出delay_req报文并且记录下精确发送时间t3;
5.主时钟记录下delay_req报文到达主时钟的精确到达时间t4;
6.主时钟发出携带精确时间戳信息t4的delay_resp报文给从时钟;
这样从时钟处就得到了t1,t2,t3,t4四个精确报文收发时间。
时钟偏差&网络延时
offset:时钟间偏差(主从时钟之间存在时间偏差,偏离值就是offset,图1中主从时钟之间虚线连接时刻,就是两时钟时间一致点)
delay:网络延时(报文在网络中传输带来的延时)
从时钟可以通过t1,t2,t3,t4四个精确时间戳信息,得到主从时钟偏差offset和传输延时delay:

从时钟得到offset和delay之后就可以通过修正本地时钟进行时间同步。
PTP报文分类
IEEE1588把所涉及到的报文分为事件报文和通用报文,分类依据是:是否在收发报文时需要记录精确时间戳,根据上文中所描述的几种报文,可以进行如下分类:
事件报文<收发时候需要记录精确时间戳>:sync报文,delay_req报文
通用报文<收发时候不需要几率精确时间戳>:follow_up报文,delay_resp报文
*note: 1.因为需要高同步精度,选取的时间都是精确时间戳
2.sync同步报文是周期性从主时钟向从时钟以广播的形式发出
3.时钟偏差延时的计算在从时钟中进行,所以需要把 t1,t2,t3,t4四个时间戳信息都发往从时钟,所以需要 follow_up报文和 delay_resp报文的存在
IEEE1588协议简介的更多相关文章
- IEEE1588 ( PTP ) 协议简介
IEEE1588 协议,又称 PTP( precise time protocol,精确时间协议),可以达到亚微秒级别时间同步精度,于 2002 年发布 version 1,2008 年发布 vers ...
- Fiddler--一、HTTP协议简介
在学习Fiddler之前,最好先学习一下HTTP协议. HTTP协议简介 什么是HTTP协议 超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端 ...
- MODBUS-RTU通讯协议简介
MODBUS-RTU通讯协议简介 什么是MODBUS? MODBUS 是MODICON公司最先倡导的一种软的通讯规约,经过大多数公司 的实际应用,逐渐被认可,成为一种标准的通讯规约,只要按照这种规 ...
- JavaWeb:Web与HTTP协议简介
JavaWeb:Web与HTTP协议简介 Web的概念 什么是Web: Web是网络上使用最广泛的分布式应用架构. 旨在共享分布在网络上的各个Web服务器中的所有互相连接的信息. 三个特征: 用HTM ...
- CC2540开发板学习笔记(九)—— BLE协议简介
一.BLE协议简介 1.协议是什么? 协议是一系列的通信标准,双方需要共同按照这进行正常数据 协议是一系列的通信标准,双方需要共同按照这进行正常数据发射和 接收.协议栈是的具体实现形式,通俗点来理解就 ...
- HTTP 协议简介
HTTP 协议简介 博客分类: acl开发--HTTP协议篇 网络协议http协议 一.TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是 ...
- OAUTH协议简介
OAUTH协议简介 原文来自:http://blog.csdn.net/hereweare2009/article/details/3968582 分类: Open API2009-03-08 12: ...
- GRE 协议简介
1. 协议简介 gre(generic routing encapsulation,通用路由封装)协议是对某些网络层协议(如ip 和ipx)的数据报进行封装,使这些被封装的数据报能够在另一个网络 ...
- HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端
协议简介 协议,自然语言里面就是契约,也是双方或者多方经过协商达成的一致意见; 契约也即类似于合同,自然有甲方123...,乙方123...,哪些能做,哪些不能做; 通信协议,也即是双方通过网络通信必 ...
随机推荐
- JS初学运用
JS一点认知: JavaScrip组成:ECMAScript 核心 BOM ---Browser Object Model 游览器对象模型 DOM 文档模型 document JavaScrip ...
- ASP.NET Core 认证与授权[7]:动态授权
ASP.NET Core 中基于策略的授权旨在分离授权与应用程序逻辑,它提供了灵活的策略定义模型,在一些权限固定的系统中,使用起来非常方便.但是,当要授权的资源无法预先确定,或需要将权限控制到每一个具 ...
- TIJ学习总结(1)- Java基础语法
TIJ(Thinking in Java)作为Java学习书籍里的"圣经",之前花两个月系统的捋了一遍,很多东西有种豁然开朗的感觉,入门之后读一遍TIJ,相信会有很多意外收获哦- ...
- PL/SQL 游标 (实验七)
PL/SQL 游标 emp.dept 目标表结构及数据 要求 基于部门表建立游标dept_cursor1,使用记录变量接收游标数据,输出部门表信息: 显示格式: 部 门 号: XXX 部门名称: XX ...
- JavaEE中的MVC(五)定制Struts——Action跳转JSP
在JavaEE中的MVC(三)中,我在Servlet中引入了命令模式的使用,采用Xml配置的方式,实现了一个Servlet调用多个不同的Action类,但是还不能实现页面地跳转,这一篇博客从之前的代码 ...
- yum安装jdk
安装步骤: 1.首先查看java的版本有哪些 : yum -y list java* 2. 安装目标jdk版本(我选择的是1.7) : yum -y install java-1.7.0-op ...
- JAVA基础3——常见关键字解读(2)
synchronized Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 用法说明 synchronized 关键字,它包括两种用法: ...
- 简单了解enum
enum的性质: 1.枚举类型的实例都是常量 2.要使用enum,需要创建一个该类型的引用,并将其赋值给某个实例 3.常用的方法: * toString():某个enum实例的名字 * ...
- 一些内存模型、并发、netty知识点的记录
happens-before:描述内存可见性as-if-serial:无论怎么重排序,程序的运行结果不会改变 ReentrantLock依赖了队列同步器AQS,其实现方式是volatile变量的读写操 ...
- Oracle table names are case sensitive (normally all uppercase)
oracle_fdw error desc: postgres=# select * from test; ERROR: Oracle table "sangli"." ...