此recommendation的全名为 PTP telecom profile for phase/time synchronization with full timing support from the network
"full time support"的定义在[ITU-T G.8275]中。
[ITU-T G.8265.1]定义了只用于frequency synchronization的profile。
这里所提出的要求,以及在annex A中提出的1588相关的要求,必须被满足。
与telecom profile相关的细节将会在之后的小节中介绍,但此profile本身的内容在Annex A中。
此telecom profile定义了1588中使用的一些参数的值,以完成设备之间的正常互通,这里提及的参数的值以及机制都应该被支持。 但这里并不能保证设备的性能,性能相关的信息需要参考其他协议。
PTP domain
在此PTP telecom profile中,默认PTP domain number为24,可用的domain number范围为24~43.
(此范围属于user-defined PTP domain number range。虽然对于telecom profile来说,不同的profile使用不同的domain number是规定好的,不会冲突。但是不敢保证其他industry使用与此相同的domain number。因此网络维护者应该注意,保证这种情况不会发生)
PTP messages used in the profile
此profile使用这些message:Sync, Follow_Up, Announce, Delay_Req, Delay_Resp.
Signalling和Management message的使用有待进一步研究。
不使用Pdelat_Req, Pdelay_Resp, Pdelay_Resp_Follow_Up message
Types of PTP clocks supported
使用ordinary clock (OC), boundary clock (BC) 和 transparent clock (TC)。
有2种OC:
- 只能作为grandmaster的OC
- 只能作为slave的OC
有2种BC:
- 只能作为grandmaster的BC
- 能作为grandmaster也能作为slave的BC
transparent clock是end-to-end transparent clock。 peer-to-peer TC在此profile中不支持。
此profile中的phase/time clocks和PTP clock type之间的对应关系如下图:
从这张表可以看出,ordinary clock要么是master-only,要么是slave-only。
one-step versus two-step mode
两种模式都支持。
slave port必须拥有接收和处理来自one-step clock和two-step clock的message的能力。
Ethernet multicast addressing
当使用1588 Annex F中的PTP mapping规则时,“Ethernet multicast addressing”被用于承载了PTP消息的以太网帧。
本profile同时支持不可转发组播地址01-80-C2-00-00-0E和可转发组播地址01-1B-19-00-00-00。 所有clock的所有端口都应该有处理这2个address的能力。
对于T-GM, T-BC和T-TSC clock,使用哪种multicast address取决于per-port的configuration。所有在此port上发送的message都必须用此address。
默认使用哪种address取决于实际操作。详见Appendix III
对于T-TC来说,它收到的message用的是什么address,它转发的时候就按照此address来。
在T-GM, T-BC, T-TSC中,如果遇到带了VLAN tag的frame,一律丢弃。
Message rates
- Sync messages (若有Follow_Up,则用相同rate),名义上的速率:16 packets-per-second.
- Delay_Req/Delay_Resp,名义上的速率:16 packets-per-second
- Announce messages,名义上的Sylvia:8 packets-per-second
对于Sync和Announce msg来说,[1588]的 7.7.2.1节的内容也需要被遵守。两条Sync msg之间的间隔不得超过2*meanSyncInterval,两条Announce msg之间的间隔不得超过2*meanAnnounceInterval。
Delay_Req msg的发送参考[1588] 9.5.11.2。
除了9.5.11.2中的第1、2两点,在本协议中还需要满足以下选项其中之一:
(*) 针对9.5.11.2的第3点,在本协议中,PTP node必须有90%的把握,保证Delay_Req之间的间隔在2^logMinDelayReqInterval的30%内。
(*) 9.5.11.2的第4点。
除此之外,还应该保证Delay_Req msg之间的间隔不超过 2*2^logMinDelayReqInterval。
[1588] 9.5.11.2中还有一些有关Delay_Req msg发送的背景信息,放在Appendix II中。
Alternate BMCA
可见链接。
此recommendation中指定的PTP profile使用alternate BMCA,见IEEE 1588 9.3.1。 Alternate BMCA与default BMCA的区别在于:
- Alternate BMCA会考虑
masterOnly
值。
若此值为true,则port永不会为SLAVE state,总会为MASTER state。
此值由portDS.masterOnly决定。 -
的计算总体上按照IEEE 1588 9.3.2.3中的描述,但是当port的masterOnly为true时,此port的必须被置为空。
也就是说,当port的masterOnly为true时,任何外来Announce message中的信息都不会用于计算 。 - Alternate BMCA允许有多个active GMs同时存在(clockClass小于128的clock不能为slave)。在这种情况下,每个非GM的clock只与domain内的一个GM进行同步。
- Clock上的每个port都有各自的localPriority值,用于计算和。当data set comparison开始前,每个在port上由外部接收的Announce msg得到的data set,都要附上一个该port的localPriority。
此值的作用是,当data set comparison无法得出哪个data set 更优时,作为最后的tie-breaker。
此值源于portDS.localPriority,默认值是128,范围为{1, 255}。 - Clock自己也有localPriority值。 用于当本地data set要与外来Announce msg携带的data set进行比较时。
此值源于defaultDS.localPriority。
Other clock attributes
描述了clockAccuracy、offsetScaledLogVariance的取值。详见G8275.1 6.3.5。
clockClass
先介绍一个术语:
holdover:一个之前synchronized/syntonized到另一个时钟(通常是primary reference或master clock),但现在根据自己的内部时钟进行free-running的时钟。 这样的时钟,我们称其处于holdover mode。
还有一个限定条件,就是这个时钟在之前的synchronized/syntonized时已经调整好了自己的frequency,并且它在free-running期间,自身时钟的精度都符合要求。
当T-GM第一次进入handover状态,它会将自己的clockClass值降为7.
接着它计算自己输出的时间的time error是否还在handover specification要求之内。
若超出,则它会将自己的clockClass值降为140,150,160,取哪个值取决于信号来源的质量(来自内部振荡器,还是外部接口传来的物理层信号)。
当T-BC第一次进入handover状态,它会将clockClass值降为135。
当它发现自己的time error超出handover specification要求时,它会将clockClass降为165。