IEEE1588的一些基本概念.docx
《IEEE1588的一些基本概念.docx》由会员分享,可在线阅读,更多相关《IEEE1588的一些基本概念.docx(21页珍藏版)》请在冰点文库上搜索。
IEEE1588的一些基本概念
IEEE1588的一些基本概念
IEEE1588的一些基本概念
1PTP系统(from6.3)4
2PTP报文类别(from6.4)5
3PTP设备类型(from6.5)6
4同步概况(from6.6)9
5PTP的epoch(from7.1)13
6通信路径非对称性(from7.4)14
™111111II
7.延迟问答木机制IDelayrequest-response
mechanism(from11.3)16
8Peer延时机制Peerdelaymechanism
(from11.4)18
9PTP报文格式(from13)20
101588纟组播地址23
IEEE1588标准的全称是网络测量和控制系统的精密时钟同步协议标准(IEEE1588PrecisionClockSynchronizationProtocol)”,简称PTP(PrecisionTimingProtocol),它的主要原理是通过一个同步信号周期性的对网络中所有节点的时钟进行校正同步,可以使基于以太网的分布式系统达到精确同步,
IEEE1588PTP时钟同步技术也可以应用于任何组播网络中。
参考标准及网上其他文章,一些总结或翻译的基本概念:
1PTP系统(from6.3)
一个PTP系统是一个分布式的网络系统,它是由PTP设备和一部分非PTP设备组成。
PTP设备包括普通时钟(ordinaryclocks),边界时钟(boundaryclocks),端对端时钟(end-to-endtransparentclocks),点对点时钟(peer-to-peertransparentclocks)和管理节点。
非PTP设备包括网桥,路桥及其他基础结构设备,也可能包括计算机,打印机和其他应用设备。
2PTP报文类别(from6.4)
PTP定义了事件和通用PTP两种报文,事件报文(eventmessage需要打上精确的时间戳
(timestamp),通用报文(generalmessage不需要精确的时间戳。
事件报文包括:
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通过应答机制(delayrequest-responsemechanism)用于产生和通信用于同步普通时钟和边界时钟的时间信息。
Pdelay_Req,Pdelay_Resp和Pdelay_Resp_Follow_Up通过peer延时机制(peerdelaymechanism)用于测量两个时钟port之间的链接延时。
链接延时被用来更正在Sync和Follow_Up报文中的时间信息。
Annouce用于建立同步层次关系。
Management用于查询和更新时钟所维护的PTP数据集。
Signaling用于其他的目的,例如在主从之间协调单播报文的发送频率。
3PTP设备类型(from6.5)
包括:
a)Ordinaryclock普通时钟
一个普通时钟通过基于一个物理端口上的两个逻辑接口在网络上通信。
事件接口用于发送和接收事件报文,通用接口用于发送和接受通用报文。
在一个PTP的域内,普通时钟只能处于唯一的一种状态,可以是主钟,也可以是从钟。
一个普通时钟维护两种类型的数据集:
时钟数据集和端口数据集。
协议引擎负责:
发送和接受PTP报文,维护数据集,执行与端口关联的状态机,根据接收到的PTP时间报文和产生的时间戳计算主机时间(如果端口处于从状态)。
b)Boundaryclock边界时钟
边界时钟通常会有多个物理端口,每个物理端口有两个逻辑接口:
时间和通用。
边界时钟的每个端口与普通时钟基本一致,除了:
边界时钟所有的端口的时钟数据集是公用的,公用一个本地时间。
每个协议引擎会有额外的功能来解析所有端口的状态,从而决定哪个端口用来提供时间信号来同步本地时钟。
c)End-to-endtransparentclock端对端透明时钟
端对端透明时钟象一个普通的桥、路由器或中继器那样转发所有的报文。
但对于PTP事件报文,residenttimebridge会测量PTP事件报文的停留时间(esideneetimes:
报文穿越透明时钟所需要的时间)。
这个时间会写入到这个PTP事件报文或者其后续followup报文(Follow_Up或者Pdelay_Resp_Follow_Up)的特定字段中
(correctionField)。
这个更正值是基于事件报文进入和离开透明时钟时的时间戳的差值。
d)Peer-to-peertransparentclock点对点透明时钟
点对点透明时钟与端对端透明时钟主要区别在于它更正和处理PTP时间报文的方式,除此以外,两者是一样的。
点对点透明时钟对于每一个端口有一个额外的模块,这个模块用来计算每个端口和与它分享这条链接的另一端(也要支持点对点透明时钟)的链路延时。
这个链路的延时计算是基于与其链路端交换Pdelay_Req,Pdelay_Resp和可选的Pdelay_Resp_Follow_Up报文过程的。
端对端透明时钟是更正所有的PTPEvent时间报文,而点对点只更正Sync和Follow_Up报文,因为延时已经确定了。
这些报文中的correctionField字段会被Sync报文的Residenee时间和链路延时时间更新。
由于链路之间的延时已经包含在correctionField中,所以点对点透明时钟中的Master时钟不用对每个slave时钟的Delay_Req作出回应。
e)Managementnode
有一条或者多条物理链接到网络上;作为一个通向PTP管理报文的人机或编程接口;
可以与任何时钟类型组合。
4同步概况(from6.6)
建立主从层次关系:
在一个域中,普通时钟和边界时钟的每个端口都有一个独立的协议状态机,每个端口检查其接受到的所有的Annouce报文,利用最佳主时钟算法(BestMasterClock,BMC),决定时钟端口的状态:
Master,Slave还是Passive
最佳主时钟算法通过比较描述两个时钟的数据来决定哪个数据描述了更好的时钟。
这个算法有两个分离的算法组成:
数据集比较算法和状态决定算法。
数据集比较算法是基于相关属性的逐队比较的,这些属性包括有:
priorityl,clockClass,clockAccurary,offsetScaledLogVarianee,priority2,clockIdentity.
状态决定算法依据数据集比较算法的结果决定该端口的下一个状态。
普通时钟和边界时钟的同步:
Figure12—同吕icsynchroniz呂tiemmessageexchange
基本的同步报文交换过程:
报文交换过程:
1.Master发送Sync报文,记下该报文的本地发送时间t1。
2.Slave接收到Sync报文,并记下其接收到该报文的本地时间t2。
3.Master有两种方式告诉Slave该Sync报文的发送时间t1O
1)将t1时间嵌入到Sync报文中,这需要某种硬件处理以获得高精度。
2)在后续的Follow_Up报文中发送
4.Slave发送Delay_Req报文往Master,并记下发送时间t3o
5.Master接收到Delay_Req,并记下该报文到达时间t4o
6.Master发送Delay_Resp报文告知Slavet4。
利用这四个时间可以算出从钟与主钟之间的offset,以及两个钟之间的平均延时,(如上图即为t-msandt-sm的平均值)计算的前提是假设主钟到从钟和从钟到主钟的时延是相同的。
Offset=t2-t1
Meanpathdelay=((t2-t1)+(t4-t3))/2
在支持peer-to-peer路径更正中测量连接延时:
Port-1Pbrl-2
hmeAre
Figure13—linkdelfl/
这里没有主从之分
Port-1:
发送一个Pdelay_Req报文,并记下该时间t1。
Port-2:
接收到Pdelay_Req报文,记下接收时间t2,然后返回一个Pdelay_Resp报文,记下该报文的发送时间t3。
(收到报文到发送报文的时间间隔要尽可能的短以减小由于两个端口之间的频率偏移引起的误差。
)
然后Port-2可以:
1.在Pdelay_Resp中返回t2和t3的差值。
2.在Pdelay_Resp_Follow_Up报文中返回t2和t3的差值。
3.在Pdelay_Resp和Pdelay_Resp_Follow_Up报文中分别返回t2和t3。
Port-1:
接收到Pdelay_Resp后,记下时间t4。
利用这四个时间可以计算平均链路延时。
Meanpathdelay=((t2-t1)+(t4-t3))/2
如果链路传输不对称会引起链路传输延时误差。
5PTP的epoch(from7.1)
epoch时间起源
PTPepochis1January197000:
00:
00TAI,也就是31December196923:
59:
51.999918UTC.
TabiflB.l—Ralationihip・batwtentimesc^li
Fn™.
r«
Fyrmul&i
VTP
FTPScwnd*
r1S;.K-XS,\m%'IKM-S-II:
oimrrlLtctMfsei
FTPSb-uniK
MP血皿&
MPScxundiL=FTPSlcjrJk-」二仙驱出用一i^tieiilLkDI'kct
GPS岭比期山-|GISS.*x7)-M6軌叫
-CiPSSM&ndshL启帅Week
iGPSnumberirai就]ncludc1024囂
rumberrollOTani
PPI'Scwnds
P1PSecortds-GI'SSOtonJS-?
5W4>1V
FT卩WciMMk
tips宅tvfflidE=PTPSM6通信路径非对称性(from7.4)
Kestercack
or
F?
esponder
—IJ-
AB
*
SI皐;aclock
or
Figure20—Propagationasymmetry
,delayAsymmetry
=(tms+tsm)/2
tms=+delayAsymmetry,tsm=—delayAsymmetry.
delayAsymmetry的测量不在这个标准范围内。
普通时钟和边界时钟的ofset计算(from11.2)对于单步的时钟,即只有sync没有followup报文,slave做如下计算
=
vsyncEventlngressTimestamp>—
—
—correctionFieldofSyncmessage.
对于两步的时钟,即sync和followup报文都有,
slave做如下计算
=
vsyncEventlngressTimestamp>—
vpreciseOriginTimestamp>—
—correctionFieldofSyncmessage—correctionFieldofFollow_Upmessage.
这里,offsetFromMaster是slave与master的时间偏移,syncEventlngressTimestamp即slave收到的时间t2,
originTimestamp是master发给slavesync扌报
文自带的时间信息源t1,
preciseOriginTimestampmaster发给slavefollowup报文自带的时间信息源t1meanPathDelay即平均路径延时,可以通过theDelayrequest-responsemechanism和thepeedelaymechanism两种机制来计算。
7延迟问答机制Delayrequest-responsemechanism(from11.3)
Tinmeslamps
Figure34^Delayrequest-r&spon^pathlengthrnoasurem^nt
oyslave
1)如果只收到sync报文,
=[(t2-t3)+
(receiveTimestampofDelay_Respmessage-originTimestampofSyncmessage)-
correctionFieldofSyncmessage-correctionFieldofDelay_Respmessage]/2.
2)如果收到sync报文及Followup报文,
=[(t2-t3)+
(receiveTimestampofDelay_Respmessage-preciseOriginTimestampofFollow_Upmessage)
-correctionFieldofSyncmessage
correctionFieldofFollow_Upmessage-correctionFieldofDelay_Respmessage]/2.
8Peer延时机制Peerdelaymechanism
(fromll.4)
——=—=护—--
Nwle-AI4cde-B
DelayRequesterDeI紬ResROn-der
Figure35—eerd&laylinkmeasurement
3)如果只有Pdelay_Resp报文
=[(t4-t1)-correctionField
ofPdelay_Resp]/2
4)女口果有Pdelay_Resp和
Pdelay_Resp_Follow_Up
=[(t4-t1)-
(responseOriginTimestamp-
requestReceiptTimestamp)-correctionFieldofPdelay_Resp-correctionFieldof
Pdelay_Resp_Follow_Up]/2
9PTP报文格式(from13)
Table18—ommonmessageheader
ati
(kiet^
Offset
7
6
5
4
3
T
■
l
*1
uaiiiiponSpctifii;
mChid^cTypc
I
u
reser^ed
versiunPTP
]
I
tnesia^eLcrtgLh
7
亠
dotnainNumbcr
I
4
reserved
I
5
flagFidd
r
6
eorrcciiocilie]J
s
g
reser
cd
4
t6
sourcePurLldenLitv
10
20
setiuenceld
2
JO
amtrolField
1
32
JogMevagelnterval
1
33
图一通用报文头
1,transprotSpecific(半个字节)
0.4tran&portSpecIficfieldvaluer
Thetnr^pjr;印EUfield(see1332.1beirtcrpirtcdasjfKiiicdinTibkD二
Tab也0.>-tfaiisvurlSpticilitfieldvalues
B
0
hrndwa*^亡bnpaLb:
叱
SewVsskm]irajilBfMfiiAlJOQSofkfcMnhSfftasddfiticmMlEfii严号dragli细LengthcfE脸imQin叫|juidcdtbritwqiujiLmgtheliraefiimpissulh«[btrethal_D(Ppiyloui*f[heFTP亡0口」16科*列[gklk^i.C4(M:
.c:
biznllmglENikIgiL>.ng汕-】luil^di1^iIlZI
aab40«quAt»*PiaMAm&un•就AndFTr*c%£ninioHjaituaniudframEhcrw4#
Th空欣七齐弋rdi'2Ji.y?
T?
Aejeukmvcgbl『鲜弓甜痒fttlitMi□鋼闵Lu"1亠古hallmeadJuL'DP严,x-cd上illMTgMALtHil匕ilkrL-.-Lii%iJi^nc-ih.丸tintthr
LDPpi^lottllufllhequAh124Mek.Theptdd^fMenatallhimtilInThs
puddnKiJiillbe*dLlail^A3umiinliliillFT?
gciinks^isHiitoaiviiHruck.約zcomedunlKmtqu«l帕the讥Xcfp€nI>£MrKi«fi£dlgcipiTi*iDuttMmdimacAcLuiPITArwwwearcmaj坤理帝Amthatmadevi-cfcIm0翼)iu:
tcT「
IM曲上|呂»t£llbe血d«din昶陛ii!
疋cl14^±erFIT铢exi亡撚匚缚出ar?
工Itxd11"匚甫訂inuL^^l^rdULI4L匚.Vlld.
[Rhetmurutufidmcmakingareya*farpadd宙鸟th上binihalbel^ttdiwittduam.Except■ravuiffiihrbttwniCMvaUbiivwtdieegwskm1urtfuan.tula血皿:
di^qgg.t'dUiC酒也凸书Xtffi.
SeeMFt
.-5
raiG刨
Tlk!
bn*jJIk凸垃乜iihtl电:
i」ndty山芒r^chtr.
f—tihspecMao讪«r冋11理九xiei[M住h:
requtr?
ike弹Jdn;世郃i吋piJcia:
eseni:
鳩ii芮,
2,messageTYPE
Me&sagelype
Messagecla&s
V^lue(hei;
E^^nt
0
Dt呦曲
J
Fdd^Ret|
触mt
PddayReip
Eterii
?
Rejieneii
—
FoliumLP0
Gsjiml
8
DelayReip
?
rde:
i\kespFd:
:
4}'#:
Cl训bn:
A
AnriDanc:
^
Gfidieriil
U
Signaling
Generali
c
Management
General
□
R留eneif
—
E-F
3,versionPTP(Ulnteger4)
PTP版本号
4,messageLength
报文长度
5,domainnuamer域
6,flag
LU.2.b(nctil|2\
Thtvu.iicoftiebitsofihcthgFic.demyshiillbeasdefinedinTable20.Forircssa^ctjpeswherethebitisnotdefinedinTabic20flhe\'iiluesanal'tieFALSE.
Table20—VdlutsoffagFidd
Octa
Itil
0PM
(1
0
AnrK>nn«hS>nc,Foitow,urDela\R^ip
Jiemaw.Masx:
^lag
FALSEifthepctnare$j>e<:
ileJin]_,J讹l-.4.
0
]
Pdtlax-R.&ip
rva勺ep卜lag
hofaM.-Mtepcl^ckj.tFisvaluealiwcStepKagstkdtbeFALSE.
Forahvo-slepclock,die*』Lis?
oftucStepFlagduillbeTRUE.
0
■1
ALL
uakusiFLg
TRCEj.ifirtiiii|pon1槌憎phxocolaedr^tso
MbhLhAilrmuagewo湖isaLinkasoscktresi.FALS匚ifilictrsjispiTinItvcrprotocfJidd「口隔^hich"命rve^^pg?
y.n-s耳fftZn:
rr»ihin订曲h"&讥
0
5
ALL
PTTprofieSpectic1
AsieftiejIaaniC^matePTPpro(He:
L:
±er^:
s;FALSL
0
6
ALL
FTPproticSpe-L^ik1
AsJeiIliadbyitriFITprolLlt:
cLlisnt