本文翻译自IEEE Standard for Local and metropolitan area networks—Timing and Synchronization for Time-Sensitive Applications in Bridged Local Area Networks
gPTP域(以下简称为域)由一个或多个时间感知系统和链路组成,这些系统和链路满足本标准的要求并且如IEEE 802.1AS协议所定义的那样彼此通信。 gPTP域定义了gPTP消息通信,状态,操作,数据集和时间刻度的范围。
gPTP域的域号应为0。
注意 - 在稳定状态下,gPTP域中的所有时间感知系统都可追溯到单个主时钟。
gPTP域的时间刻度,称为PTP时间刻度,由特级大师建立。 IEEE 802.1AS时标是连续的,可以追溯到TAI。 在gPTP域支持的精度范围内,第二个值是国际秒,SI。 epoch是PTP的epoch(见8.2.2)。
epoch是gPTP域的时间尺度的起源。
PTP的epoch是1970年1月1日00:00:00 TAI,即1969年12月31日23:59:51.999918 UTC。
注 - 设置PTP的epoch使得POSIX算法直接应用于PTP时标时间戳产生TAI的ISO 8601:2004 [B8]打印表示。
有关在常见时间尺度之间进行转换的信息,请参见附录C.
如果时间源可追溯到TAI且currentUtcOffset字段有效,则可以使用时间属性数据集的currentUtcOffset字段值计算UTC时间。 currentUtcOffset的值应为:currentUtcOffset = TAI-UTC,其中TAI是TAI时间,UTC是UTC时间。
注 - 截至2009年1月1日0时UTC,UTC已经落后于TAI 34秒,即TAI - UTC = +34 s。 此时,IEEE 802.1AS定义的currentUtcOffset值变为+ 34 s(参见Service de la Rotation Terrestre [B17]和U.S.Naval Observatory [B19])。
可以使用时间属性数据集的currentUtcOffset字段值和当地时区的知识以及是否以及何时观察夏令时来从gPTP域提供的时间计算本地时间。
gPTP域中的时间应测量为自PTP epoch以来经过的时间
该标准要求测量链路的两个端点时间感知系统之间的平均传播时间(也称为平均传播延迟)。测量由时间感知系统之一,initialtor时间感知系统,向另一个时间感知系统——responder发送消息来执行。然后,responder稍后将消息发送回initialtor。由initialtor发送的消息是带时间戳的,并且该系统保留时间戳值。该消息到responder也是带时间戳的;时间戳值在后续消息中传送到initialtor。responder发送响应消息的离开时刻(响应于它从initialtor接收的消息)被加时间戳,并且时间戳值在后续消息中被传送到initialtor 。此响应消息到达initialtor时到达时间戳,并且该系统保留时间戳值。平均传播时间是在接收到响应消息之后由initialtor根据它此时具有的四个时间戳值计算的。
m e a n P a t h D e l a y 是 t i r 和 t r i 的 平 均 值 meanPathDelay是t_{ir}和t_{ri}的平均值 meanPathDelay是tir和tri的平均值,即
m e a n P a t h D e l a y = ( t i r + t r i ) / 2 meanPathDelay =(t_{ir} + t_{ri})/ 2 meanPathDelay=(tir+tri)/2
d e l a y A s y m m e t r y 定 义 为 delayAsymmetry定义为 delayAsymmetry定义为
t i r = m e a n P a t h D e l a y – d e l a y A s y m m e t r y t_{ir} = meanPathDelay – delayAsymmetry tir=meanPathDelay–delayAsymmetry
t r i = m e a n P a t h D e l a y + d e l a y A s y m m e t r y t_{ri} = meanPathDelay + delayAsymmetry tri=meanPathDelay+delayAsymmetry
换言之,当responder到initiator的传播时间比initiator到responder的传播时间要长时, d e l a y A s y m m e t r y delayAsymmetry delayAsymmetry被定义为正数。
本标准未明确要求测量 d e l a y A s y m m e t r y delayAsymmetry delayAsymmetry; 但是,如果对 d e l a y A s y m m e t r y delayAsymmetry delayAsymmetry进行建模,则应按照本节中的规定对其进行建模。
注 - 时间感知系统可以在操作期间使用非本标准指定的方法更改 d e l a y A s y m m e t r y delayAsymmetry delayAsymmetry的值。
所有通信都通过PTP消息和/或媒体特定消息进行。
本标准中使用的所有消息都具有以下属性:
a) 消息class
b) 消息type
消息class属性在此子句中定义。 消息type属性在3.12中定义。 某些消息具有其他属性; 这些是在定义相应消息的子条款中定义的。
有两个消息class,即事件消息class和常规消息class。 事件消息在时间感知系统和进入时间感知系统的出口上加时间戳。 常规消息没有带时间戳。 每条消息都是事件消息或一般消息。
所有事件消息都在出口和入口上加上时间戳。 时间戳应该是相对于LocalClock实体(见10.1)的时间,在此之上时间消息时间戳点通过了参考平面并且标记时间感知系统和网络媒体之间边界。
时间戳测量平面的定义(见3.22),以及如下定义的校正,允许以这样的方式(在如此低的层)测量传输延迟,使得它们看起来固定并且对称,即使MAC客户端否则可能观察到实质上的不对称性和传输变化。例如,时间戳测量平面位于由MAC执行的任何重传和排队之下。
注1 - 如果使用非消息时间戳点实现生成事件消息时间戳,那么生成的时间戳应该通过实际检测时间和消息时间戳点通过参考平面的时间之间的时间间隔(固定或其他)适当地校正。未能进行这些更正会导致时间感知系统之间的时间偏移。
注2 - 通常,时间戳可以在时间戳测量平面从参考平面移除时生成。此外,时间戳测量平面以及该平面与参考平面的时间偏移对于入站和出站事件消息可能是不同的。为满足此要求,应针对这些偏移校正生成的时间戳。 图8-2说明了这些偏移。 基于此模型,适当的更正如下:
< e g r e s s T i m e s t a m p > = < e g r e s s M e a s u r e d T i m e s t a m p > + e g r e s s L a t e n c y <egressTimestamp> = <egressMeasuredTimestamp> + egressLatency <egressTimestamp>=<egressMeasuredTimestamp>+egressLatency
< i n g r e s s T i m e s t a m p > = < i n g r e s s M e a s u r e d T i m e s t a m p > − i n g r e s s L a t e n c y <ingressTimestamp> = <ingressMeasuredTimestamp> − ingressLatency <ingressTimestamp>=<ingressMeasuredTimestamp>−ingressLatency
其中,相对于参考平面的时间戳, < e g r e s s T i m e s t a m p > <egressTimestamp> <egressTimestamp>和 < i n g r e s s T i m e s t a m p > <ingressTimestamp> <ingressTimestamp>,分别使用它们各自的延迟,egressLatency和ingressLatency,根据时间戳相对于时间戳测量平面 < e g r e s s M e a s u r e d T i m e s t a m p > <egressMeasuredTimestamp> <egressMeasuredTimestamp>和 < i n g r e s s M e a s u r e d T i m e s t a m p > <ingressMeasuredTimestamp> <ingressMeasuredTimestamp>计算得出。 未能进行这些校正会导致从时钟和主时钟之间的时间偏移。
承载IEEE 802.1AS消息的帧的ISS优先级应为6。
注 - 携带IEEE 802.1AS消息的帧既不是VLAN标记的,也不是优先级标记的,即它们是未标记的,见11.3.3。
gPTP域中的时间感知系统通过物理端口与网络媒体接口。 gPTP定义了一个逻辑端口,使得时间感知系统之间的通信即使在连接到共享媒体的物理端口上也是点对点的。 一个逻辑端口由一个PortSync实体和一个MD实体组成。每个时间感知系统都有一个逻辑端口实例化,时间感知系统与之通信。 在共享媒体的情况下,多个逻辑端口可以与单个物理端口相关联。
除非另有限定,否则术语端口的每个实例都指逻辑端口
端口由PortIdentity类型的端口标识来标识,请参见6.3.3.7。 该值保存在端口参数数据集的portIdentity成员中,请参见14.6.2。 端口标识由以下两个属性组成:
a) portIdentity.clockIdentity
b) portIdentity.portNumber
clockIdentity是通过将分配给时间感知系统的IEEE EUI-48映射到IEEE EUI-64格式(即,到8个八位字节的阵列)而形成的8字节阵列。 EUI-48应为组织拥有的以太网MAC地址,根据本条款的条款创建clockIdentity实例。 拥有MAC地址的组织应确保MAC地址仅用于生成clockIdentity的单个实例,例如通过要求MAC地址是嵌入在由clockIdentity标识的设备中的MAC地址。 从EUI-48构建EUI-64的映射规则应由IEEE规定(见[B2])。 创建的IEEE EUI-64的8个八位字节应分配给8字节数组clockIdentity,其中IEEE EUI-64的最高有效八位字节分配给具有索引0的clockIdentity八位字节数组成员。
注1 - 当使用EUI-48时,IEEE EUI-48的前3个八位字节,即OUI部分被分配用于具有IEEE EUI-64的最高有效八位字节的clockIdentity的前3个八位字节, 即,OUI部分的最重要的八位字节,分配给具有索引0的clockIdentity八位字节数组成员。具有索引3和4的八位字节分别具有十六进制值0xFF和0xFE。 IEEE EUI-48的剩余3个八位字节被分配给clockIdentity的最后3个八位字节(参见[B2])。
注2 - OUI最重要八位位组的最小和最低有效位分别表示:地址是个人地址还是组地址,以及地址是由IEEE或本地普遍管理的。
注3 - clockIdentity被本标准用作唯一标识符,而不是网络地址。
注4 - 信息示例(参见[B2]):公司X的OUI是0xACDE48。 如果X公司希望使用EUI-48分配的号码0xACDE48234567作为clockIdentity的一部分,则得到的clockIdentity将是:0xACDE48FFFE234567,其中公司X确保3个八位位组阵列0x234567在所有公司X指定的EUI-中是唯一的 48个数字。 字节和位表示如表8-1所示,见[B2]。
由全1组成的clockIdentity值应保留用于指定gPTP域中的所有时钟。
时间感知终端站(即支持单个端口的时间感知系统)上的端口的portNumber值应为1.支持N个端口的时间感知桥上的端口的portNumber值应分别为1,2 ,…,N。
两个clockIdentity值X和Y如下进行比较。 设x是通过连接X的八位字节0到7形成的无符号整数,使得八位字节j + 1跟随x(j = 0,1,…,7)中的八位字节j(即,比八位字节j重要)。 令y是通过连接Y的八位字节0到7形成的无符号整数,使得八位字节j + 1跟随y(j = 0,1,…,7)中的八位字节j(即,比八位字节j更不重要)。 那么
a) X=Y当且仅当x=y
b) X>Y当且仅当x>y
c) X
d) A=B当且仅当a=b
e) A>B当且仅当a>b
f) A 具有成员clockIdentity和portNumber以及clockIdentity B的portIdentity A如下进行比较。 无符号整数a由如上所述的portIdentity A形成。 通过首先形成portIdentity B’来形成无符号整数b,其中clockIdentity B’的clockIdentity是B并且portNumber是0.然后如上所述从B’形成b。 然后如上面d)至f)中所述比较A和B.
gPTP域中使用两种类型的时间感知系统,如下所示:
a) 时间感知系统终端站
b) 时间感知桥
所有时间感知系统都由clockIdentity标识。
此外,时间感知系统具有以下属性:
c) priority1
d) clockClass
e) clockAccuracy
f) offsetScaledLogVariance
g) priority2
h) clockIdentity
i) timeSource
j) numberPorts
注 - 属性c)到i)可以被认为与时间感知系统的ClockMaster实体相关联。
priority1用于执行BMCA,见10.3。 priority1的值是从0到255范围内选择的整数.BMCA操作中priority1的顺序,见10.3.4和10.3.5,规定如下: 如果A的priority1的值在数值上小于B的值,则ClockMaster A应被视为优于ClockMaster B.
对于不支持超级大师的时间感知系统,priority1的值应为255。 对于具有超级大师能力的时间感知系统,priority1的值应小于255。 值0应保留供管理使用,即,priority1的值只能通过管理操作设置为0,并且不应由本标准的用户指定为默认值。 如果没有本标准用户设置的默认值,则应按表8-2中的设置设置默认值。
注1 - BMCA,见10.3,优先考虑priority1 因此可以使用priority1属性强制所需的时间感知终端站的排序以获得最佳主选择。
注2 - priority1的先前设置保证了BMCA始终优先选择具有大师级功能的时间感知系统。
注3 - 这些值的分配使得可用的固定设备被选为超级设备,而不是那些更有可能被移除或断电的设备。
clockClass属性表示ClockMaster在作为特级大师时分配的同步时间的可追溯性。
该值应选择如下:
a) 如果Default Parameter Data Set成员gmCapable为TRUE,则
1) clockClass设置为反映LocalClock和ClockSource实体组合的值;否则
2) 如果未指定或不知道反映LocalClock和ClockSource实体的值,则clockClass设置为248;
b) 如果Default Parameter Data Set成员gmCapable为FALSE(见8.6.2.1),则clockClass设置为255。
有关clockClass的更详细说明,请参见IEEE Std 1588-2008的7.6.2.4。
注 - 时间感知系统有一个LocalClock实体,它可能是符合IEEE 802.3要求的自由运行的石英晶体,但也可能更好。可以存在ClockSource实体,例如,从GPS获取的定时,在本地系统中可用,其向ClockSource实体提供定时。时间感知系统提供的时间(如果是大师级)由这两个实体的组合反映出来,clockClass应该反映IEEE Std 1588-2008的7.6.2.4中规定的这种组合。例如,当LocalClock实体使用符合IEEE Std 802.3-2008和本标准B.1要求的石英振荡器时,clockClass可以设置为248.但是,如果存在GPS接收器并同步时间感知系统,则clockClass可以设置为值6,表示对主参考时间源的可追溯性(参见IEEE Std 1588-2008的7.6.2.4)。
clockAccuracy属性表示ClockMaster的预期时间精度。
该值应选择如下:
a) clockAccuracy设置为反映LocalClock和ClockSource实体组合的值; 否则
b) 如果未指定或未知反映LocalClock和ClockSource实体的值,则clockAccuracy设置为254(FE16)。
有关clockAccuracy的更多详细说明,请参见IEEE Std 1588-2008的7.6.2.5。
offsetScaledLogVariance是缩放的,PTP方差估计的偏移表示。 PTP方差表征了ClockMaster的精度和频率稳定性。 PTP方差是PTPDEV的平方(见B.1.3.2)。
该值应选择如下:
a) offsetScaledLogVariance设置为反映LocalClock和ClockSource实体组合的值; 其他
b) 如果未指定或不知道反映这些实体的值,则offsetScaledLogVariance设置为16640(410016)。 该值对应于观察间隔的PTPDEV值等于默认的同步消息传输间隔(即观察间隔为0.125秒,见11.5.2.3和B.1.3.2)。
有关PTP方差和offsetScaledLogVariance的更详细描述,请参见IEEE Std 1588-2008的7.6.3(IEEE Std 1588-2008的7.6.3.3提供了从PTP方差计算offsetScaledLogVariance的详细描述,以及示例)。
priority2用于执行BMCA,见10.3。 priority2的值应为从0到255范围内选择的整数.BMCA操作中priority2的顺序与priority1的顺序相同,见8.6.2.1。
priority2的默认值应为248.有关priority2的更详细说明,请参见IEEE Std 1588-2008的7.6.2.3。
时间感知系统的clockIdentity值应符合8.5.2.2的规定。
timeSource是一个仅供参考的属性,表示ClockMaster使用的时间源类型。该值不用于选择特级大师。 值应符合表8-3的规定。 这些代表类别。 例如,GPS入口不仅包括美国国防部的GPS系统,还包括欧洲伽利略系统和其他现有和未来的基于卫星的定时系统。
所有未使用的值应保留。
有关timeSource的更详细说明,请参见IEEE Std 1588-2008的7.6.2.6。
初始化值选择如下:
a)如果在初始化时已知timeSource(8.6.2.7和表8-3),则该值从表中派生,否则
b)该值设置为A016(INTERNAL_OSCILLATOR)。