-
1588V2
协议
基本的时间同步机制
1588V2
提供了一套时间同步的方案
PTP
,可以提供亚微秒级的时间同步精度。
1588V2
时间同步过程分为偏移测量阶段和延迟测量
< br>
2
个阶段。偏移测量阶段用来修正主、从属时
钟的时间差。如图
1
所示
,
在该偏移修正过程中
,
主时钟周期性发出一个确定的同步信息
(Sync
信
息
)
(
缺省为
1
次
/1
s
)
,
它包含了一个时间戳
,
含有数据包发出的预计时间
a,
即它是真实发出时间
T1
的估计值。
由于信息包含的是预
计的发出时间而不是真实的发出时间
,
故主时钟在
Sync
信息发
出后发出
一个
Follow
Up
信息
,
该信息也加了一个时间戳
,
准确地记载了
Sync
信息的真实发出时
间
T
。这样做的目的是使报文传输和时间测量分开进行
,
相互不影响。从属时钟使用
Follow
Up
信息中的真实发出时间
T1
和接收方的真实接收时间
T2 ,
可以计算出从属时钟与主
时钟之间的偏移
Offset
Offset=T2
-
T1
-
Delay
。
延迟测量
DelayMeasurement
阶段用来测量网络传输造成的延迟时间。为了测量网络传输延时
,
IEEE
1588
定义了一个延迟请求信息
Delay Request
Packet (Delay Req )
。
从属时钟在收到
Sync
信
息后在
T3
时刻发延迟请求信息包
Delay
Req,
主时钟收到
Delay
Req
后在延迟响应信息包
Delay
Request
Packe
(
Delay
Resp
)
加时间戳
,
反映出准确的接收时
T4
,
并发送给从属时钟
,
故从属时钟
就可以非常准确地计算出网络延时。与偏移测量阶段不同是
,
延迟测量阶段的延迟请求信息包是随
p>
机发的
,
并没有时间限制。由于
T2
-
T1 = Delay +
Offset
T4
-
T3 = Delay
-
Offset
故可得
Delay= [
T2
-
T1 +
T4
-
T3 ] /2
Offset= [ T2
-
T1
p>
-
T4
+
T3 ]
/2
最后根据
Offset
来修正从
时钟。需要提出的是这里假设的是:
Delay
是双向一致的,
且不同信息报
文的延时也是一样的。
本文中的所有信息归中兴通讯股份有限公司所有
第
1 / 24
页
图
1
1588
时间同步过程。
消息分类
PTP
协议定义了
2
种消息:事件消息
和通用消息。
事件消息需要在发送和接收的时候打上精确的时
间戳。而通用消息不需要。
事件消息包括:
?
Sync
?
Delay_Req
?
Pdelay_Req
?
Pdelay_Resp
通用消息包括
?
Announce
?
Follow_Up
?
Delay_Resp
?
Pdelay_Resp_Follow_Up
?
Management
?
Signaling
Sync,
Delay_Req, Follow_Up, Delay_Resp.
消息是用来产
生和交互时间信息的,
这些信息
用来同步时间的。
Pdelay_Req, Pdelay_Resp, Pdelay_R
esp_Follow_Up
用来测量
link
延时。
Announce
消
息用来建立同步层次。
Management
消息用来查询和设置
PTP
时钟的时钟数据。
Signaling
消息是用来
PTP
时钟之间进行交互(如协商消息的周期等)
所有消息均使用
TLV
格式以利于扩展
。
本文中的所有信息归中兴通讯股份有限公司所有
第
2 / 24
页
PTP
实体类型
有
5
种
PTP
实体:
?
普通时钟(
Ordinary
clock
)
,
?
边界时钟(
Boundary
clock
)
,
?
E2E
透传时钟(
End-to-
end
transparent
clock
)
,
?
P2P
透传时钟(
Peer-to-
peer transparent
clock
)
,
?
管理节点。
普通时钟
普通时钟只有一个
PTP
物理通信端口和网络相连,
一个物理端口
包括
2
个逻辑接口,
事件接口
(
event
interface
)和通用接口(
general interface
)
。事件接口接收和发送需要打时间标签的事件消息。通用
接口接收和发送其他消息。
一个普通时钟只有一个
PTP
协议处理器。
在网络中,
普通时钟可以作为<
/p>
祖父时钟(
grandmaster
clock
)或从时钟(
slave clock
)
。当作为祖父时钟是,其
PTP
< br>端口处于主状
态(
master
)
,作为从时钟时其
PTP
端口处于从
状态(
slave
)
,普通时钟的框图
如下:
框图中的协议引擎主要完成:
?
发送和接收协议消息。
?
维护时钟和端口数据
?
执行
PT
P
状态机的处理功能。
?
如果普通时钟是作为从时钟,则根
据
PTP
协议计算父时钟的时间。
一个普通时钟维护两套数据:时钟相关的数据和端口相关的数据
时钟相关的数据有:
?
Default
< br>数据:用于描述普通时钟的属性。
本文中的所有信息归中兴通讯股份有限公司所有
第
3 / 24
页
?
Cur
rent
数据:用于描述同步相关的属性。
?
父时钟和祖父时钟数据:用于描述父时钟和祖父时钟的属性。
?
时间特性:用于描述时标的属性。
端口相关的数据包括端口的属性以及
PTP
状态的数据。
当普通时钟的端
口是从状态时,
时钟控制环路用来控制本地时钟和父时钟同步。
当普通时钟作为祖
父时钟时,本地时钟要么自由振荡要么同步于外部的时钟源(如
GPS
等)
。
边界时钟
边界时钟有多个
PTP
物理通信端口和网络相连,
每个物理端口包括
2
个逻辑接口,
< br>事件接口和通用
接口。边界时钟的每个
PTP
端口和普通时钟的
PTP
端口一样,除了以下几点
:
?
边界时钟的所有端口共同使用一套时钟数据。
?
边界时钟的所有端口共同使用一个本地时钟。
?
每个端口的协议引擎增加一个功能
:从所有端口中选择一个端口作为本地时钟的同步输入。
<
/p>
协议引擎将总结和同步相关(包括建立时钟同步层次)的消息和信令。但可以转发管理消息
。
边界时钟的框图如下:
本文中的所有信息归中兴通讯股份有限公司所有
第
4 / 24
页
E2E
透传时钟
E2E
透传时钟像路由器或交换机一样转发所有的
PTP<
/p>
消息,
但对于事件消息,
有一个停留时间
桥计
算该消息报文在本点停留的时间(消息报文穿过本点所花的时间)
< br>,停留时间将累加到消息报文中
的“修正”
(
correction field
)字段中。修正过程如下图:
本文中的所有信息归中兴通讯股份有限公司所有
第
5 / 24
页
E2E
透传时钟的框图如下:
用于计算停留时间的时间戳是由本
地时钟产生的,
所以本地时钟和时间源的时钟之间的频率差会造
成误差。
最好是本地时钟去锁定时钟源时钟。
如果本地时钟锁定
的不是时间源时钟则要求其精度能
到达一定标准
,
以本地时钟是三级钟为例,
1ms
的停留时间大约造
成
5ns
的误差。
E2E
透传时钟可以和普通时钟合在
一起作为一个网络单元,其框图如下:
本文中的所有信息归中兴通讯股份有限公司所有
第
6 / 24
页
在上图中,如果普通时钟是从时钟
,停留时间桥将接收到的时间消息,宣称消息,由输入的时钟同
步消息产生的时间戳以及
内部的停留时间传送给协议引擎,
协议信息根据这些信息计算出正确的时
间并以此控制本地时钟。如果普通时钟是主时钟,协议引擎将产生
Sync
p>
和
Followup
消息,消息中
发送时间戳由本地时钟基于内部停留时间和输出时间戳产生
(
it would originate Sync and Follow_Up
messages with the sending timestamps
referenced to the local clock of the ordinary
clock and based on
internal timing
corrections and the egress timestamp.
)<
/p>
在实现中,
透传时钟和普通时钟使用同一个本地
< br>时钟。
P2P
透传时钟
P2P
透传时钟和
E2E
透传时钟
只是对
PTP
时间消息的修正和处理方法不同,在其他方面是完
全一
样的。
P2P
透传时钟可以和
p>
E2E
透传时钟一样与普通时钟合在一起作为一个网络单元。
P2P
透传时钟的框图如下:
本文中的所有信息归中兴通讯股份有限公司所有
第
7 / 24
页
P2P
透传时钟对每个端口有一个模块用来测量该端口和对端端口的
l
ink
延时,
对端端口也必须支持
P2
P
模式。
link
的延时通过交换
p>
Pdelay_Req,
Pdelay_Resp
以及可能的
Pdelay_Resp_Follow_Up
消息
测量出。<
/p>
P2P
透传时钟仅仅修正和转发
Sync
和
Followup
消息。本地的停留
时间和收到消息的端口
的
link
延时
均记入修正。修正过程如下图:
本文中的所有信息归中兴通讯股份有限公司所有
第
8 / 24
页
因为
P2
P
的修正包括了
link
延时和停留时
间,其修正域反映了整个路径的延时,从时钟可以根据
Sync
消息计算出正确的时间,而不需要再发
Delay
测量消息。再
发生时钟路径倒换的时候,
P2P
方
式
基本不受影响,而
E2E
方式则需要在进行过新的延时测量之后
,才能计算出正确的时间。
管理节点
管理节点向人或程序提供
PTP
管理消
息的接口,管理节点可以和任意时钟合在一起。
建立时钟同步层次
在每个时钟域,普
通时钟和边界时钟的每个端口都运行一个
PTP
协议状态机,该
状态
机根据设置和宣称(
Announce
)消息决定本端口的状态。
Slave-only
时钟
和
Non-Slave-only
时钟
一个普通时钟可以通过管理平面设置为
Slave-only
时钟
或
Non-Slave-only
时钟,如果设置成
Slave-only
时钟,则该时钟不能进入主用模式。边界时钟只能是
Non-Slave-
only
时钟。
端口的状态
普通时钟和边界时钟的每
个端口正常工作时可以处于以下
3
个状态中的一个:
?
Master
p>
:表明本端口是一条时钟路径的源。
?
Slave
:表明本端口同步与一个
Master
时钟。
?
Passive
:表明本端口即不是
Master
,也不是<
/p>
Slave
。该状态主要用于防止时钟成环。处于该状
态的端口除了
Pdelay_Req, Pdelay_Resp, Pd
elay_Resp_Follow_Up
消息和信令以及必须响应的管
理消息外不发送任何
PTP
消息。
本文中的所有信息归中兴通讯股份有限公司所有
第
9 / 24
页
其他状态还包括:
?
初始化(
INITIALIZING
)
:表示该端口正在初始化数据,硬
件或通讯口。一个时钟如果一个端
口处于初始化状态,
其他所有
端口都应处于初始化状态。
在初始化状态端口不发送和接收任何
PTP
消息。
?
故障(
F
AULTY
)
:表示端口有故障。处于故障状态的端口除了必须
响应的管理信息不发送和
接收任何
PTP
消息。
故障端口的动作不应影响其他端口。
如果故障不能限制
在故障端口内,
则
该时钟的所有端口应均为故障状态。
?
不可用(
DISABLED
)
:表示端口不可使用(例
如网管禁止)
。处于不可用状态的端口不能发送
任何
PTP
消息,除了必须管理信息也接收任何
PTP
消息。不可用端口的动作不应影响其他端
口。
< br>
?
侦听(
< br>LISTENING
)
:表示端口正在等待接收
Announce
消息。该状态用于将时钟加入到时钟
< br>域时。处于侦听状态的端口除了
Pdelay_Req,
Pdelay_Resp, Pdelay_Resp_Follow_Up
消息和其他
必须响应的管理消息和信令外不发送其他
PTP
消息。
?
预主用
(
PRE_MASTER
)
:
处于这个状态的端口的行为和主用端口一样,
但是它除了
Pdelay_Req,
Pdelay_Resp, Pdelay_Resp_Follow_Up
消息和管理消息和信令外不发送其他
PTP
消息。
?
未校准
(
UNCALIBRATED
)
:表明
域内发现一个和多个
Master
端口,本地时钟已经从中选择
一个并准备跟踪。该状态是一个过渡状态,用于进行跟踪前的预处理。
< br>
状态转移图
Non-slave-
only
时钟的端口的状态转移图如下:
本文中的所有信息归中兴通讯股份有限公司所有
第
10 / 24
页
本文中的所有信息归中兴通讯股份有限公司所有
第
11 / 24
页
Slave-
only
时钟的端口的状态转移图如下:
状态转
移图中的
STATE_DECISION_EVENT
一种根据
Announce
消息和本地时钟配置决定哪个是最
好的主用时钟
(
Best Master Clo
ck
(
BMC
)
)
并决定端口的状态。
每个时钟应实现产生该事件的机制,<
/p>
如当接收到新的
Announce
消息或
新的时钟配置或检测到故障等,应产生该事件,当该事件发生时,
将会调用
BMC
算法,逻辑框图如下:
本文中的所有信息归中兴通讯股份有限公司所有
第
12 / 24
页
-
-
-
-
-
-
-
-
-
上一篇:大学英语词根词缀记忆全套整合【顺序】
下一篇:星期一知心朋友早安问候语