07-PTP配置
本章节下载: 07-PTP配置 (587.17 KB)
目 录
1.3.1 PTP(IEEE 1588 version 2)配置任务简介
1.3.2 PTP(ITU-T G.8275.1)配置任务简介
1.12.1 配置Announce报文的发送周期和接收超时倍数
1.16.4 忽略对synchronizationUncertain标记位的检测
1.18.1 配置IEEE 1588 version 2的时钟优先级参数
1.18.2 配置ITU-T G.8275.1时钟优先级参数
1.22.1 PTP配置举例(ITU-T G.8275.1,IEEE 802.3/Ethernet封装格式+组播通信方式)
PTP(Precision Time Protocol,精确时间协议)是一种时间同步的协议,可用于设备之间的高精度时间同步和频率同步。PTP的时间同步精度为亚微秒级。
PTP协议标准即PTP profile。不同类型的PTP协议标准可实现不同的PTP功能。PTP协议标准包括以下类型:
· IEEE 1588 version 2:简称1588v2。IEEE 1588规范了网络中用于高精度时钟同步的原理和报文交互处理规范,最初是应用于工业自动化,现主要用于桥接局域网。IEEE 1588对网络环境没有做出强制要求,适用性比较广,可以根据不同的应用环境对该协议标准进行定制,增强或者裁剪特定的功能。最新版本为V2版本,即1588v2。
· ITU-T G.8275.1:简称G.8275.1。G.8275.1是基于IEEE 1588产生的一个协议集。从网络获得全时间支持的相位/时间同步的精确时间协议。
应用了PTP协议的网络称为PTP域。PTP域内有且只有一个时钟源,域内的所有设备都与该时钟保持同步。
PTP域内的节点称为时钟节点,而时钟节点上运行了PTP协议的接口则称为PTP接口。IEEE 1588 version 2协议标准定义了以下类型的基本时钟节点:
· OC(Ordinary Clock,普通时钟):该时钟节点在同一个PTP域内只有一个PTP接口参与时间同步,并通过该接口从上游时钟节点同步时间。此外,当时钟节点作为时钟源时,可以只通过一个PTP接口向下游时钟节点发布时间。
· BC(Boundary Clock,边界时钟):该时钟节点在同一个PTP域内拥有多个PTP接口参与时间同步,它通过其中一个接口从上游时钟节点同步时间,并通过其余接口向下游时钟节点发布时间。此外,当时钟节点作为时钟源时,可以通过多个PTP接口向下游时钟节点发布时间,如图1-1中的BC 1。
· TC(Transparent Clock,透明时钟):TC有多个PTP接口,但它只在这些接口间转发PTP协议报文并对其进行转发延时校正,而不会通过任何一个接口同步时间。与BC/OC相比,BC/OC需要与其他时钟节点保持时间同步,而TC则不与其他时钟节点保持时间同步。TC包括以下两种类型:
¡ E2ETC(End-to-End Transparent Clock,端到端透明时钟):直接转发网络中非P2P(Peer-to-Peer,对等)类型的PTP协议报文,参与计算整条链路的延时。
¡ P2PTC(Peer-to-Peer Transparent Clock,对等透明时钟):只直接转发Sync报文、Follow_Up报文和Announce报文,而终结其他PTP协议报文,参与计算整条链路上每一段链路的延时。
如图1-1所示,是上述基本时钟节点在PTP域内的位置。
图1-1 时钟节点和PTP接口示意图(IEEE 1588 version 2协议标准)
除了上述基本时钟节点以外,还有混合时钟节点,譬如融合了TC和OC各自特点的TC+OC:它在同一个PTP域内拥有多个PTP接口,其中一个接口为OC类型,其他接口则为TC类型。一方面,它通过TC类型的接口转发PTP协议报文并对其进行转发延时校正;另一方面,它通过OC类型的接口进行时间的同步。与TC的分类类似,TC+OC也包括两种类型:E2ETC+OC和P2PTC+OC。
PTP域内的节点称为时钟节点,而时钟节点上运行了PTP协议的接口则称为PTP接口。ITU-T G.8275.1协议标准定义了以下类型的基本时钟节点:
· T-BC(Telecom Boundary Clock,电信边界时钟):该时钟节点在同一个PTP域内拥有多个PTP接口参与时间同步,它通过其中一个接口从上游时钟节点同步时间,并通过其余接口向下游时钟节点发布时间。此外,当时钟节点作为时钟源时,可以通过多个PTP接口向下游时钟节点发布时间。
· T-TC(Telecom Transparent Clock,电信透明时钟):直接转发网络中非P2P(Peer-to-Peer,对等)类型的PTP协议报文,参与计算整条链路的延时。
· T-TSC(Telecom Time Slave Clock,电信时间从时钟):该时钟节点只能作为从时钟不能作为主时钟的OC时钟。
如图1-2所示,是上述基本时钟节点在PTP域内的位置。
图1-2 时钟节点和PTP接口示意图(ITU-T G.8275.1协议标准)
协议标准定义了时间精度、时间等级、时间属性和时钟偏差度量等参数来描述PTP时钟源信号的优劣。用户根据自己的网络情况对协议标准进行了个性化定制和补充,形成了各自的技术标准。当前存在以下技术标准,分别是缺省技术标准、OAM技术标准、Unicom技术标准。不同技术标准对这些参数的缺省值要求不同。使用不同的技术标准在同一个网络中可能选举出不同的时钟源,不同的技术标准对于PTP报文的处理方式也不同。
OAM技术标准和Unicom技术标准仅ITU-T G.8275.1协议标准支持配置。OAM技术标准和Unicom技术标准的时钟源相关参数accuracy、class、time-source、offsetscaled-logvariance缺省值不同。
主从关系(Master-Slave)是相对而言的,对于相互同步的一对时钟节点来说,存在如下主从关系:
· 主/从节点:发布同步时间的时钟节点称为主节点(Master Node),而接收同步时间的时钟节点则称为从节点(Slave Node)。
· 主/从时钟:主节点上的时钟称为主时钟(Master Clock),而从节点上的时钟则称为从时钟(Slave Clock)。
· 主/从/被动接口:时钟节点上发布同步时间的PTP接口称为主接口(Master Port),而接收同步时间的PTP接口则称为从接口(Slave Port),主接口和从接口均可存在于BC或OC上。既不发布也不接收同步时间的PTP接口,称为被动接口(Passive Port)。
PTP网络中,所有的时钟节点类型(TC除外)通过主从关系联系到一起。各时钟节点之间的主从关系可通过BMC算法自动产生,也可手工指定。
时钟节点支持以下两种时钟源:
· 本地时钟源:由时钟监控模块内部晶体震荡器产生的38.88 MHz时钟信号。
· 外接时钟源(ToD时钟源):由外接时钟设备产生,通过主控板上的专用接口(即1PPS/ToD接口)收发,所以也称ToD时钟源。
如图1-1所示,PTP域内所有的时钟节点都按一定层次组织在一起,整个域的参考时间就是最优时钟(Grandmaster Clock,GM),即最高层次的时钟。各时钟节点间通过交互PTP协议报文,并根据PTP协议报文中携带的时钟优先级、时间等级、时钟精度等信息,选举出整个PTP域的最优时钟。最优时钟的时间最终将被同步到整个PTP域内,因此也称其为PTP域的时钟源。
最优时钟可以通过手工指定,也可以通过BMC算法动态选举,下面介绍动态选举的具体过程。
(1) 各时钟节点之间通过交互Announce报文,根据报文中所携带的最优时钟优先级、时间等级、时间精度等信息,最终选出一个节点作为PTP域的最优时钟,与此同时,各节点之间的主从关系以及各节点上的主从接口也确定了下来。通过这个过程,整个PTP域内建立起了一棵无环路、全连通,并以最优时钟为根的生成树。
(2) 此后,主节点会定期发送Announce报文给从节点,如果在一段时间内,从节点没有收到主节点发来的Announce报文,便认为该主节点失效,于是重新进行最优时钟的选择。
PTP域内的各时钟节点在通过BMC协议动态选举最优时钟时,会依据Announce报文中所携带的时钟的第一优先级、时间等级、时间精度和第二优先级的次序依次进行比较,获胜者将成为最优时钟。比较规则如下:
(1) 第一优先级高者获胜;
(2) 如果第一优先级相同,则时间等级高者获胜;
(3) 如果时间等级也相同,则时间精度高者获胜;
(4) 如果时间精度还相同,则第二优先级高者获胜;
(5) 如果第二优先级依然相同,则接口标识(由时钟编号和接口号共同构成)小者获胜。
选出最优时钟并确认主从关系之后,PTP域内的节点将会进行时钟同步。
(1) 各时钟节点之间通过交互Announce报文,根据时钟优先级以及报文中所携带的时间等级、时间精度等信息,选出一个或多个节点作为PTP域的最优时钟,与此同时,各节点之间的主从关系以及各节点上的主从接口也确定了下来。通过这个过程,整个PTP域内建立起了一棵或多棵无环路以最优时钟为根的生成树。
(2) 此后,主节点会定期发送Announce报文给从节点,如果在一段时间内,从节点没有收到主节点发来的Announce报文,便认为该主节点失效,于是重新进行最优时钟的选择。
PTP域内的各时钟节点在通过BMC协议动态选举最优时钟时,会按照时间等级、时间精度、第二优先级和本地优先级的次序形成的数据集进行比较,获胜者将成为最优时钟。
其中数据集中的时间等级、时间精度和第二优先级的值是从接口接收到的Announce报文中获取的。而本地优先级对于对端节点来说,是获取本端设备PTP接口的优先级,可以由ptp local-priority命令配置;对于本端节点来说,是获取设备的本地优先级,可以由ptp priority clock-source命令的local-priority参数配置。
最优时钟选举的比较规则如下:
(1) 时间等级高者获胜;
(2) 如果时间等级相同,则时间精度高者获胜;
(3) 如果时间精度也相同,则第二优先级高者获胜;
(4) 如果第二优先级还相同,则本地优先级高者获胜;
(5) 如果本地优先级依然相同,则判断时间等级是否小于等于127;
a. 如果时间等级小于等于127,在没有更优时钟节点的情况下,该PTP域内选举出两个或多个最优时钟,从节点就近选择一个最优时钟作为主节点,并形成两棵生成树,两棵生成树之间不交互PTP报文。
b. 如果时间等级大于127,则接口标识(由时钟编号和接口号共同构成)小者获胜。
选出最优时钟并确认主从关系之后,PTP域内的节点将会进行时钟同步。
PTP同步的基本原理如下:确认了时钟之间的主从关系之后,主、从时钟之间交互PTP协议报文并记录报文的收发时间,通过计算PTP协议报文往返的时间差来计算主、从时钟之间的往返总延时。如果两个方向的传输延时相同,则往返总延时的一半就是单向延时。从时钟根据这个单向延时、主时钟上Sync报文的发送时间和从时钟上接收Sync报文的时间差计算时间偏差,从时钟按照该时间偏差来调整本地时间,就可以实现从时钟与主时钟的同步。
PTP协议定义了两种传输延时测量机制:请求应答(Request_Response)机制和端延时(Peer Delay)机制,且这两种机制都以网络对称为前提。
请求应答机制下主时钟和从时钟根据收发的PTP协议报文计算主、从时钟之间的平均路径延时。如果主时钟和从时钟中间有TC,TC不计算平均路径延时,只传递收到的PTP协议报文,并将Sync报文在本TC上的驻留时间传递给从时钟。
根据是否需要发送Follow_Up报文,请求应答机制又分为双步模式和单步模式两种:
· 在双步模式下,如图1-3所示,Sync报文的发送时间戳t1由Follow_Up报文携带。
· 在单步模式下,Sync报文的发送时间戳t1由Sync报文携带,不发送Follow_Up报文。
图1-3以双步模式为例来说明请求应答机制的实现过程:
(1) 主时钟向从时钟发送Sync报文,并记录发送时间t1;从时钟收到该报文后,记录接收时间t2。
(2) 主时钟发送Sync报文之后,紧接着发送一个携带有t1的Follow_Up报文。
(3) 从时钟向主时钟发送Delay_Req报文,用于发起对反向传输的延时的计算,并记录发送时间t3;主时钟收到该报文后,记录接收时间t4。
(4) 主时钟收到Delay_Req报文之后,回复一个携带有t4的Delay_Resp报文。
此时,从时钟便拥有了t1~t4这四个时间戳,由此可计算出:
· 主、从时钟间的往返总延时 = (t2 – t1) + (t4 – t3)
· 主、从时钟间的单向延时 = [(t2 – t1) + (t4 – t3)] / 2
· 从时钟相对于主时钟的时钟偏差Offset = (t2 – t1) – [(t2 – t1) + (t4 – t3)] / 2 = [(t2 – t1) – (t4 – t3) ] / 2
与PTP相关的协议规范有:
· IEEE Std 1588-2008:IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems, 2008.
· ITU-T G.8275.1:Precision time protocol telecom profile for phase/time synchronization with full timing support from the network.
不同的协议标准适用的环境不同,支持的命令也不同。请规划好采用的PTP的协议标准、PTP域的范围以及域内各设备的时钟节点角色,然后对这些设备进行相应的配置。
PTP(IEEE 1588 version 2)配置任务如下:
(1) 配置通过PTP同步系统时间
(2) 配置PTP协议标准
配置PTP协议标准为IEEE 1588 version 2。
(3) 配置时钟节点
¡ 配置时钟节点类型
¡ (可选)配置OC的工作模式为Slave-only
(4) (可选)配置PTP域
(5) (可选)开启PTP时钟状态功能
(6) 开启接口的PTP功能
(7) (可选)配置PTP接口
(8) (可选)调整PTP同步报文的发送和接收
(9) (可选)配置PTP报文参数
(10) (可选)配置PTP时间同步设备的最大跳数
(11) (可选)开启SyncUncertain功能
(12) (可选)调整及校正时钟同步
¡ 忽略对synchronizationUncertain标记位的检测
(13) (可选)配置时钟源的相关参数
(14) (可选)配置IEEE 1588 version 2的时钟优先级参数
(15) (可选)配置PTP日志功能
(16) (可选)开启PTP的告警功能
PTP(ITU-T G.8275.1)配置任务如下:
(1) 配置通过PTP同步系统时间
(2) 配置PTP协议标准
配置PTP协议标准为ITU-T G.8275.1。
(3) 配置时钟节点类型
(4) (可选)配置PTP域
(5) (可选)配置PTP技术标准
(6) (可选)开启PTP时钟状态功能
(7) 开启接口的PTP功能
(8) 配置PTP接口
¡ (可选)配置PTP接口角色
(9) (可选)调整PTP同步报文的发送和接收
(10) (可选)配置PTP报文参数
(11) (可选)配置PTP时间同步设备的最大跳数
(12) (可选)开启SyncUncertain功能
(13) (可选)调整及校正时钟同步
¡ 忽略对synchronizationUncertain标记位的检测
(14) (可选)配置时钟源的相关参数
(15) (可选)配置ITU-T G.8275.1时钟优先级参数
(16) (可选)配置PTP日志功能
(17) (可选)开启PTP的告警功能
system-view
(2) 配置通过PTP协议获取系统时间。
clock protocol ptp
缺省情况下,通过NTP协议获取系统时间。
有关clock protocol命令的详细介绍,请参见“基础配置命令参考”中的“设备管理”。
配置PTP功能时必须首先配置设备遵循的协议类型,否则其他PTP配置不允许进行。
改变设备遵循的PTP协议标准,将会清空用户在之前PTP协议标准下的所有PTP配置。
(1) 进入系统视图。
system-view
(2) 配置设备采用的PTP协议标准。
ptp profile { 1588v2 | g8275.1 }
缺省情况下,未配置设备采用的PTP协议标准,PTP协议不运行。
· 每台设备只能配置为BC、OC、T-BC和T-TSC这四种时钟节点类型中的一种。
· 必须先配置PTP协议标准后,才允许配置时钟节点类型。
· 当PTP协议标准为IEEE 1588 version 2时,不允许配置为T-BC和T-TSC类型。
· 当协议标准为ITU-T G.8275.1时,时钟节点类型只能设置为T-BC和T-TSC。
· 切换或删除时钟节点类型时,PTP除节点类型外的所有配置将恢复为当前协议标准的缺省配置。
(1) 进入系统视图。
system-view
(2) 配置设备的时钟节点类型。
对于IEEE 1588v2协议:
ptp mode { bc | oc }
对于ITU-T G.8275.1协议:
ptp mode { t-bc | t-tsc }
缺省情况下,未配置时钟节点类型。
通常,OC既可作为主时钟发布同步时间,也可作为从时钟接收同步时间。但当OC的工作模式为Slave-only时,OC将只能作为从时钟接收同步时间。
当OC的工作模式为Slave-only时,可以使用ptp force-state命令强制修改PTP接口角色为Master或Passive。
只有当设备的时钟节点类型为OC时才允许进行本配置。
(1) 进入系统视图。
system-view
(2) 配置OC的工作模式为Slave-only。
ptp slave-only
缺省情况下,OC的工作模式不是Slave-only。
配置设备所属的PTP域。在同一个PTP域内,各设备之间遵循着共同的准则,保证设备之间通信稳定地进行。不同的域内的设备不能直接进行PTP交互。
(1) 进入系统视图。
system-view
(2) 配置设备所属的PTP域。
ptp domain value
当PTP协议标准为IEEE 1588 version 2时,PTP设备缺省属于域0。
当PTP协议标准为ITU-T G.8275.1时,PTP设备缺省属于域24。
只有PTP协议标准为ITU-T G.8275.1时,才支持配置本功能。
ptp clock-state enable命令和ptp technical-standard命令互斥,配置了一个则不允许配置另一个。
(1) 进入系统视图。
system-view
(2) 配置PTP技术标准
ptp technical-standard { oam | unicom }
缺省情况下,使用缺省PTP技术标准。
开启PTP时钟状态功能后,PTP模块会将时钟运行过程划分为四种状态:自由运行状态、捕获状态、锁定状态、保持状态。使用这个状态机制,能增加PTP域时钟的稳定性。
· 自由运行状态:该状态下PTP时钟未与任何时间源同步。
· 捕获状态:该状态下PTP时钟处于与时间源同步的过程之中。
· 锁定状态:该状态下PTP时钟与某个时间源同步,并且误差在设备可接受的精度范围内。
· 保持状态:PTP时钟曾经和某个时间源同步,当前不再与任一时间源同步,但它仍然使用之前同步时获取到的时钟信息。
当PTP协议标准为IEEE 1588 version 2或ITU-T G.8275.1时,才允许配置本功能。
ptp clock-state enable命令和ptp technical-standard命令互斥,配置了一个则不允许配置另一个。
(1) 进入系统视图。
system-view
(2) 开启PTP时钟状态功能
ptp clock-state enable
缺省情况下,时钟状态功能处于关闭状态。
在接口上开启了PTP功能之后,该接口就成为了PTP接口。
当设备时钟节点类型为OC或T-TSC时,只允许在一个接口上开启PTP功能。
(1) 进入系统视图。
system-view
(2) 进入三层以太网接口视图/FlexE物理接口视图。
interface interface-type interface-number
(3) 开启接口的PTP功能。
ptp enable
缺省情况下,接口的PTP功能处于关闭状态。
PTP接口分为:Master、Passive和Slave三种角色。
当OC的工作模式为Slave-only时,可以使用本功能强制修改PTP接口角色为Master或Passive。
建议使用BMC协议自动协商PTP接口角色。如果使用命令强制修改PTP接口的角色,则整个PTP域内的所有PTP接口均需手工使用ptp force-state命令配置角色,否则,会导致PTP域内未配置角色的接口PTP功能不生效,域内时钟不能同步。
一台设备上最多只允许配置一个从接口。
PTP接口角色修改之后需要激活才能生效。
当设备时钟节点类型为T-TSC时,不允许进行本配置。
(1) 进入系统视图。
system-view
(2) 进入三层以太网接口视图。
interface interface-type interface-number
(3) 修改PTP接口角色。
ptp force-state { master | passive | slave }
缺省情况下,PTP接口的角色由BMC协议自动生成。
(4) 退回系统视图。
quit
(5) 激活PTP接口角色修改。
ptp active force-state
缺省情况下,未配置强制状态生效。
时间戳的携带模式分为以下两种:
· 单步模式:即请求应答机制下的Sync报文携带本报文被发送时刻的时间戳。
· 双步模式:即请求应答机制不携带本报文被发送时刻的时间戳,而是由后续的其他报文来携带。
FlexE物理接口视图下,不支持单步模式。
(1) 进入系统视图。
system-view
(2) 进入三层以太网接口视图/FlexE物理接口视图。
interface interface-type interface-number
(3) 配置时间戳的携带模式。
ptp clock-step { one-step | two-step }
缺省情况下,时间戳的携带模式为双步模式。
· 延时测量机制分为请求应答机制和端延时机制两种,处于同一链路上的接口必须具备相同的延时测量机制,否则无法互通。
· 当PTP协议标准为IEEE 1588 version 2,且时钟节点类型为BC或OC时,才允许配置本功能。
· 当PTP协议标准为ITU-T G.8275.1时,只支持请求应答机制,不允许配置本功能。
(1) 进入系统视图。
system-view
(2) 进入三层以太网接口视图/FlexE物理接口视图。
interface interface-type interface-number
(3) 配置PTP的延时测量机制。
ptp delay-mechanism { e2e | p2p }
缺省情况下,延时测量机制为请求应答机制。
PTP接口的NotSlave属性是指时钟节点的接口自动选举自身所在节点为主节点的属性。
该属性仅ITU-T G.8275.1协议标准支持。当接口的NotSlave属性为开启状态时,该接口自动选举自身所在节点为主节点,并向外发送PTP时钟同步消息。在同一个PTP域内,则需要关闭所有接口的NotSlave属性才能进行PTP域的主从节点自动选举。灵活运用该属性可以在PTP域内灵活控制主从节点的改变。
ITU-T G.8275.1协议标准的T-BC时钟节点支持本功能。
其它时钟节点不支持本功能。
(1) 进入系统视图。
system-view
(2) 进入三层以太网接口视图/FlexE物理接口视图。
interface interface-type interface-number
(3) 配置PTP接口的NotSlave属性为关闭状态。
ptp notslave disable
主节点会周期性地发送Announce报文给从节点,如果从节点在报文的接收超时时间内未收到主节点发来的Announce报文,便认为该主节点失效。接收超时时间=接收超时倍数×主节点上配置的Announce报文的发送周期。
(1) 进入系统视图。
system-view
(2) 进入三层以太网接口视图/FlexE物理接口视图。
interface interface-type interface-number
(3) 配置Announce报文的发送周期。
ptp announce-interval interval
不同协议标准的缺省情况不同:
当PTP协议标准为IEEE 1588 version 2时,interval的值为1,Announce报文的发送周期为21秒。
当PTP协议标准为ITU-T G.8275.1时,interval的值为-3,Announce报文的发送周期为1/8(即2-3)秒。
(4) 配置Announce报文的接收超时倍数。
ptp announce-timeout multiple-value
缺省情况下,Announce报文的接收超时倍数为3。
主节点会周期性地发送Sync报文给从节点,发送周期请在主节点上使用本功能配置。
(1) 进入系统视图。
system-view
(2) 进入三层以太网接口视图/FlexE物理接口视图。
interface interface-type interface-number
(3) 配置Sync报文的发送周期。
ptp syn-interval interval
不同协议标准的缺省情况不同:
当PTP协议标准为IEEE 1588 version 2时,interval的值为0,Sync报文的发送周期为20秒。
当PTP协议标准为ITU-T G.8275.1时,interval的值为-4,Sync报文的发送周期为1/16(即2-4)秒。
使用本功能可以调整PTP接口上Delay_Req报文的最小发送周期。当收到Sync报文或者Follow_Up报文来触发Delay_Req报文时,发送端需要经过该发送间隔才能发送Delay_Req报文。
对于时钟节点间采用组播通信方式的网络,请在主时钟上配置本功能,在从时钟上配置的不生效。主时钟通过PTP报文将该参数的值传递给从时钟,从而控制从时钟发送Delay_Req报文的周期。在从时钟上使用display ptp interface命令可以查看本命令的实际生效值。
对于时钟节点间采用单播通信方式的网络,本功能在从时钟本地配置生效,主时钟无法干预。
(1) 进入系统视图。
system-view
(2) 进入三层以太网接口视图/FlexE物理接口视图。
interface interface-type interface-number
(3) 配置Delay_Req报文的最小发送周期。
ptp min-delayreq-interval interval
不同PTP协议标准的缺省情况不同:
当PTP协议标准为IEEE 1588 version 2时,interval的值缺省为0。
当PTP协议标准为ITU-T G.8275.1时,interval的值缺省为-4。
IEEE 802.3/Ethernet封装格式可以使用组播和单播形式发送报文。
当PTP报文封装格式为IEEE 802.3/Ethernet,设备使用目的MAC地址和其他节点交互PTP报文。
· 时钟节点间缺省采用组播通信方式交互PTP报文:
¡ 对于组播的非Pdelay报文(包括delay报文delay_Req、delay_Resp、delay_Resp_Follow_Up以及Annonce,Sync,FollowUp报文等),可选择配置报文的目的MAC地址为0180-C200-000E或011B-1900-0000。
¡ 对于组播的Pdelay报文(包括Pdelay_Req、Pdelay_Resp、Pdelay_Resp_Follow_Up),目的MAC地址只能为0180-C200-000E,不可修改。
· 如果时钟节点间采用单播通信方式,即实现点到点的传输时,需要配置PTP报文的目的MAC地址为一个任意单播MAC地址,不受延时测量机制的影响。
· 必须先配置PTP协议标准和时钟节点后,才允许配置该功能。
· 本功能在PTP报文选择IEEE 802.3/Ethernet封装时才会生效。
(1) 进入系统视图。
system-view
(2) 进入三层以太网接口视图/FlexE物理接口视图。
interface interface-type interface-number
(3) 配置PTP报文的目的MAC地址。
ptp destination-mac mac-address
缺省情况下,非Pdelay报文的目的MAC地址为011B-1900-0000;Pdelay报文的目的MAC地址为0180-C200-000E。
路径追踪功能用来获取时钟信号从最优时钟到本设备所经过的时钟节点的信息。只有路径上所有时钟节点均开启路径追踪功能,才能获取到完整的路径追踪信息。如果路径上有设备不支持路径追踪功能,请关闭该功能,以免引起PTP报文互通问题。
(1) 进入系统视图。
system-view
(2) 关闭PTP路径追踪功能。
ptp path-trace disable
缺省情况下,PTP路径追踪功能处于开启状态。
在一个PTP域内,PTP同步时钟路径的步长如果太大,由于路径的延迟,会影响时间同步的精确度。配置PTP时间同步设备的最大跳数后,从主节点到边界时钟节点路径上的时钟节点个数不能超过配置的值,超出的时钟节点将无法同步时钟,自动形成另一棵的生成树。通过这种限制PTP域范围的方式降低了时钟同步的误差。
(1) 进入系统视图。
system-view
(2) 配置时间同步设备的最大跳数。
ptp max-steps-removed step-removed-value
缺省情况下,时间同步设备的最大跳数为255。
当设备需要将自己的非锁定状态通知下游设备时,请开启SyncUncertain功能。
缺省情况下,设备只会将上游节点的锁定和非锁定状态传递给下游节点,不会将自己的锁定、非锁定状态传递给下游节点。
开启本功能后,设备会通过Announce报文中的synchronizationUncertain位,将自己的锁定和非锁定状态通告给下游节点。当下游节点收到非锁定的同步信息时,不与设备进行时间同步;当下游节点收到锁定的同步信息时,才与设备进行时间同步。
当PTP协议标准为IEEE 1588 version 2或ITU-T G.8275.1时,才允许配置本功能。
(1) 进入系统视图。
system-view
(2) 开启SyncUncertain功能。
ptp sync-uncertain enable
缺省情况下,SyncUncertain功能处于关闭状态。
PTP协议进行时间同步计算时认为网络延时是对称的,即报文的发送和接收延迟相同,并以此来进行时间同步计算。但实际中的网络延时可能是不对称的,因此,如果知道了报文发送和接收的延迟之差,就可以通过本配置进行非对称延迟的校正,从而更精确地进行时间同步。
(1) 进入系统视图。
system-view
(2) 进入三层以太网接口视图/FlexE物理接口视图。
interface interface-type interface-number
(3) 配置非对称延迟校正时间。
ptp asymmetry-correction { minus | plus } value
缺省情况下,接口的非对称延迟校正时间为0纳秒,即不进行校正。
UTC(Coordinated Universal Time,国际协调时间)为格林威治天文台标准太阳时间,精确到毫秒。TAI(International Atomic Time)为国际原子时间,精确到纳秒,二者之间会产生一定的偏差。国际时间组织(国际计量局,BIPM)会定期公布该偏差值,并通告具体在某天(一般会在每年的6月30日、12月31日)最后一秒钟“加一秒”或“减一秒”来调整UTC时间(称为闰秒),使得UTC时间和TAI时间的偏差控制在一秒以内。
互联网设备通常使用UTC时间,PTP时间同步能提供更精准的时间,会用到TAI时间。当本设备作为从时钟的时候,使用时钟源的UTC时间和TAI时间,无需在本设备上调整TAI时间。当本设备作为时钟源时,设备会使用本地UTC时间,计算出TAI时间,并将UTC和TAI时间同步给下挂的从时钟。为了给下挂的从时钟提供准确的TAI时间,请务必通过本功能,校正UTC和TAI之间的偏差。
当设备作为时钟源,设备提供的TAI=设备当前UTC+累计偏差+微调偏差。累计偏差通过ptp utc offset命令配置,配置后立即生效;微调偏差通过ptp utc { leap59-date | leap61-date }命令配置,用于在将来的某个时间点自动对TAI时间进行微调(调整幅度为加或减1秒)。请先在设备上配置准确的UTC,再根据BIPM公布的偏差值配置累计偏差和微调偏差。例如,BIPM公布到2015年6月30号的最后一分钟,TAI-UTC=36秒,配置ptp utc offset 36,设备会用UTC+36得到当前的TAI时间。过了一段时间,BIPM公布到2016年12月31号最后一分钟,TAI和UTC的累计误差达到了37秒钟(TAI-UTC=37秒),即相对上次公布的累计偏差值增加了1秒,需要进行闰秒操作,请在设备上加上配置ptp utc leap61-date 2016/12/31,设备就会在2016年12月31日23时59分60秒将UTC时间自动加1秒(累计加37秒),得到再次调整后的TAI时间。
只有在主时钟节点上配置本功能,且主时钟节点的本地时钟为最优时钟时,本功能才生效。
为确保主从时钟节点发生变化时,新的主时钟能够提供准确的TAI时间,请在主从时钟节点上均配置本功能。
(1) 进入系统视图。
system-view
(2) 配置UTC相对于TAI的累计偏移量。
ptp utc offset utc-offset
缺省情况下,UTC相对于TAI的累计偏移量为0秒。
(3) 配置UTC的校正日期。
ptp utc { leap59-date | leap61-date } date
缺省情况下,未配置UTC的校正日期。
设备可通过外接ToD时钟源的时钟信号,获取到高精度的时间信息。同时,设备也可以输出ToD时钟信号,作为其它设备的外接ToD时钟源。
ToD时钟源与ToD时钟信号接收口之间存在链路延迟,可以通过本配置校正收发时延,从而更精确地进行时间同步。
(1) 进入系统视图。
system-view
(2) 配置ToD时钟信号的方向和收发时延校正时间。
ptp tod0 { input [ delay input-delay-time ] | output [ delay output-delay-time ] }
缺省情况下,未配置ToD时钟信号的方向和收发时延校正时间,收发时延校正时间为0纳秒。
缺省情况下,Announce报文中会携带synchronizationUncertain位来表示当前时钟信号是否处于锁定状态:
· synchronizationUncertain位取值为1表示非锁定。
· synchronizationUncertain位取值为0表示锁定。
当检测到上游节点发送的同步信息处于非锁定状态时,本设备不会使用该同步信息进行时间同步;当上游节点发送同步信息处于锁定状态时,本设备才会使用该同步信息进行时间同步。
通常情况下,无需配置本功能。如果上游设备的时钟信号十分可靠,可以忽略对synchronizationUncertain标记位的检测,可配置本功能。配置本功能后,设备不检测同步信息是否处于锁定状态,直接进行同步。
仅IEEE 1588 version 2或ITU-T G.8275.1协议标准支持本功能。
(1) 进入系统视图。
system-view
(2) 忽略对synchronizationUncertain标记位的检测
ptp ignore sync-uncertain
缺省情况下,设备对synchronizationUncertain标记位的检测功能处于开启状态。
当使用设备作为组网中的GM时钟,且网络中部署了依赖PTP时钟同步的业务(例如iFIT测量和确定性网络技术等)时,如果PTP时间跳变,会影响业务的运行。配置本命令可以减少PTP时间跳变,进一步可减少PTP时间跳变对业务的影响。
设备本地存在两个时钟源,一个是UTC时间(是设备主控上本地晶振产生的时间),一个是TAI时间(也称PTP时间,是时钟扣板/PTP芯片产生的时间)。当使用设备作为组网中的GM时钟时,缺省情况下,设备会进行以下处理:
(1) 设备选用UTC时间作为整个组网的参考时钟源。
(2) 网络管理员在接口视图下开启PTP功能后,设备将UTC时间同步给时钟扣板/PTP芯片。
(3) 时钟扣板/PTP芯片同步本设备UTC时间后,使用时钟扣板/PTP芯片的计时频率进行计时,并使用TAI时间对下游设备进行PTP时间同步。
(4) 设备每隔6小时自动将UTC时间同步给开启了PTP功能的时钟扣板/PTP芯片。
(5) 如果网络管理员修改了UTC时间(例如配置了clock data-time、ptp utc offset、ptp utc { leap59-date | leap61-date }命令),设备会立即自动将修改后的UTC时间同步给时钟扣板和PTP芯片。
最终,让组网中的设备和本设备的UTC时间一致。
因为TAI时间和UTC时间同步后,按照各自的频率分开计时,所以,可能会导致TAI时间和UTC时间存在及其细微的偏差。每6小时UTC时间去同步TAI时间,则可能导致TAI时间跳变,从而引起整网时间跳变,进一步影响依赖PTP时钟同步的业务运行。
为避免以上情况的发生,可去配置本命令。去配置本命令后,设备每隔6小时自动将TAI时间同步给UTC时间,从而可避免时间跳变波及整网。
需要配置clock protocol ptp命令后,该功能才生效。
(1) 进入系统视图。
system-view
(2) 配置当设备作为GM时钟时,设备周期(6小时)使用UTC时间去同步TAI时间,使TAI时间和UTC时间保持一致。
ptp refclock-master sync-utc
缺省情况下,当设备作为GM时钟时,设备周期使用UTC时间去同步TAI时间,使TAI时间和UTC时间保持一致。
时钟的时间等级是设备的固有属性,对于本地时钟源,建议保持时钟的缺省时间等级,不要修改class class-value参数的值。
(1) 进入系统视图。
system-view
(2) 配置时钟源的相关参数。请至少选择其中一项进行配置。
¡ ptp clock-source local { accuracy acc-value | class class-value | time-source ts-value }
¡ ptp clock-source tod0 { accuracy acc-value | class class-value | time-source ts-value | grandmaster-clockid clock-id | offsetscaled-logvariance value }
不同协议标准、不同技术标准情况下,本命令的缺省情况不同:
· GM时钟的ClockID为无效值000000-0000-000000,需要手动配置。
· PTP协议标准为ITU-T G.8275.1且时钟节点类型为T-TSC时:
¡ 本地时钟源的时间精度值为254,时间等级值为255,时钟偏差度量值为65535,时钟属性值为160。这几个值为固定不可配置。
¡ 外接ToD时钟源的时间精度值为254,时间等级值为255,时钟偏差度量为65535,时钟属性值为32。
· PTP协议标准为ITU-T G.8275.1且时钟节点类型为T-BC:
¡ 使用缺省PTP技术标准时:
- 本地时钟源的时间精度值为254,时间等级值为248,时钟偏差度量值为65535,时钟属性值为160。
- 外接ToD时钟源的时间精度值为32,时间等级值为6,时钟偏差度量为65535,时钟属性值为32。
¡ 配置PTP OAM技术标准时:
- 本地时钟源的时间精度值为254,时间等级值为165,时钟偏差度量值为65535,时钟属性值为160。其中时钟偏差度量值为固定不可配置。
- 外接ToD时钟源的时间精度值为254,时间等级值为165,时钟偏差度量值为65535,时钟属性值为160。
¡ 配置PTP Unicom技术标准时:
- 本地时钟源的时间精度值为254,时间等级值为248,时钟偏差度量值为65535,时钟属性值为160。其中时钟偏差度量值为固定不可配置。
- 外接ToD时钟源的时间精度值为33,时间等级值为6,时钟偏差度量值为20061,时钟属性值为32。
· PTP协议标准为IEEE 1588 version 2时:
¡ 本地时钟源的时间精度值为254,时间等级值为255,时钟偏差度量值为65535,时钟属性值为160。其中时钟偏差度量值为固定不可配置。
¡ 外接ToD时钟源的时间精度值为32,时间等级值为6,时钟偏差度量为65535,时钟属性值为32。
时钟优先级用于最优时钟的选举,数值越小优先级越高。
(1) 进入系统视图。
system-view
(2) 配置时钟参与BMC算法的优先级参数。
ptp priority clock-source { local | tod0 } { priority1 priority1 | priority2 priority2 }
当协议标准为IEEE 1588 version 2时,时钟第一、二优先级的缺省值均为128。
在ITU-T G.8275.1协议标准下,节点的时钟优先级参数是影响最优时钟选举的参数。数值越小优先级越高。其中本端节点的时钟优先级参数将影响本端节点能否当选为最优时钟,对端节点的时钟优先级参数将影响对端节点能否当选为最优时钟。有关最优时钟的具体选举过程请参见1.1.2 最优时钟选举及主从关系确定。
只有PTP协议标准为ITU-T G.8275.1时才允许进行本配置。
(1) 进入系统视图。
system-view
(2) 配置本端节点的时钟优先级参数。
ptp priority clock-source { local | tod0 } { priority2 priority2 | local-priority local-priority }
T-BC类型节点时钟第二优先级的缺省值为128,T-TSC类型节点时钟第二优先级的缺省值为255,时钟本地优先级的缺省值为128。
(1) 进入系统视图。
system-view
(2) 进入三层以太网接口视图/FlexE物理接口视图。
interface interface-type interface-number
(3) 配置对端节点的时钟优先级参数。
ptp local-priority local-priority
缺省情况下,对端节点的时钟优先级参数值为128。
配置本功能后,设备会监测以下参数和状态,当这些参数值和状态的变化达到条件时会触发生成相应日志,方便设备管理员监控PTP时钟:
· 时钟源等级:PTP时钟源存在时钟等级属性,而ToD外接时钟源的时钟等级由ptp clock-source命令的class参数配置,class参数的数值越高时钟等级越低,表示时钟精度越低。若当前选用PTP时钟源的时钟等级数值大于等于或恢复到时钟源劣化日志输出参数值,则输出时钟源劣化日志信息提示。
· 源绝对时间差:若设备通过外部BITS时钟源直接获取时钟信号,设备将定期计算外部时钟与PTP时钟的绝对时间差,当差值大于等于PTP源绝对时间差日志输出参数值时,则输出PTP源绝对时间差日志信息提示。
· 源时间偏差累加和峰峰值:每隔一段时间,PTP会计算一次源时间偏差累加和的峰峰值,并将该值与对应的告警阈值进行比较,大于等于该阈值则触发日志。
· 时间非锁定和锁定状态:当PTP时钟源的时间偏移大于PTP时间失锁阈值时,PTP时间为失锁状态,触发时钟失锁日志。当PTP时钟源的时间偏移由大于PTP时间锁定阈值恢复到小于等于锁定阈值时,PTP时间恢复为锁定状态,触发时钟锁定日志。
仅IEEE 1588 version 2和ITU-T G.8275.1协议标准支持配置本功能。
(1) 进入系统视图。
system-view
(2) 配置时间源劣化日志输出参数。
ptp alarm-threshold clock-source-class class-value
缺省情况下,时钟源劣化日志输出参数为6。
(3) 配置PTP源绝对时间差日志输出参数。
ptp alarm-threshold time-offset time-offset-value
缺省情况下,PTP源绝对时间差日志输出参数为500ns。
(4) 配置PTP源时间偏差累加和的峰峰值日志输出参数。
ptp alarm-threshold time-offset-sum pk-pk threshold-value
缺省情况下,PTP源时间偏差累加和的峰峰值日志输出参数为500ns。
(5) 配置PTP时间锁定阈值和失锁阈值。
ptp alarm-threshold { time-lock lock-value | time-unlock unlock-value } *
缺省情况下,PTP时间锁定阈值为10,PTP时间失锁阈值为3000,单位为ns。
开启PTP的告警功能后,PTP模块会生成告警信息,用于报告该模块的重要事件。生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。
有关SNMP的配置和告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 开启PTP模块的告警功能。
snmp-agent trap enable ptp
缺省情况下,PTP模块的告警功能处于开启状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后PTP的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除PTP的统计信息。
表1-1 PTP显示和维护
操作 |
命令 |
显示设备的PTP时钟信息 |
display ptp clock |
显示从接口时间校正的历史信息 |
display ptp corrections |
显示外部主节点的信息 |
display ptp foreign-masters-record [ interface interface-type interface-number ] |
显示接口的PTP运行信息 |
display ptp interface [ interface-type interface-number | brief ] |
显示当前PTP设备主节点信息 |
display ptp parent |
显示PTP时钟的路径追踪信息 |
display ptp path-trace |
显示PTP接口角色变化的历史信息 |
display ptp port-history [ interface interface-type interface-number ] |
显示PTP统计信息 |
display ptp statistics [ interface interface-type interface-number ] |
显示PTP时钟节点时间特性 |
display ptp time-property |
清除PTP的统计信息 |
reset ptp statistics [ interface interface-type interface-number ] |
· Device A和Device B采用ITU-TG.8275.1协议标准。
· 在由Device A和Device B组成的PTP域中,Device A的时钟节点类型为T-BC,Device B的时钟节点类型为T-TSC。所有时钟节点都按照各自默认的最优时钟属性通过BMC协议动态选举最优时钟。
· Device A和Device B的延时测量机制都采用缺省的请求应答机制。
图1-4 PTP配置举例组网图(ITU-T G.8275.1,IEEE 802.3/Ethernet格式+组播通信方式)
ITU-T G.8275.1协议支持IEEE 802.3/Ethernet封装格式,不支持IPv4 UDP封装格式;支持组播通信方式,不支持单播通信方式。
(1) 配置Device A
# 配置SSM级别参与控制时钟源选举。
<DeviceA> system-view
[DeviceA] network-clock ssmcontrol on
# 配置从接口Ten-GigabitEthernet2/0/0线路时钟源接收的信号中提取SSM级别。
[DeviceA] network-clock source lpuport ten-gigabitethernet 2/0/0 forcessm off
# 配置接口Ten-GigabitEthernet2/0/0线路时钟源优先级为1。
[DeviceA] network-clock source lpuport ten-gigabitethernet 2/0/0 priority 1
# 配置接口Ten-GigabitEthernet2/0/0为同步模式,并使能ESMC功能。
[DeviceA] interface ten-gigabitethernet 2/0/0
[DeviceA-Ten-GigabitEthernet2/0/0] synchronous mode
[DeviceA-Ten-GigabitEthernet2/0/0] esmc enable
[DeviceA-Ten-GigabitEthernet2/0/0] quit
# 配置协议标准为ITU-T G.8275.1。
[DeviceA] ptp profile g8275.1
# 配置时钟节点类型为T-BC。
[DeviceA] ptp mode t-bc
# 配置设备通过PTP协议获取系统时间。
[DeviceA] clock protocol ptp
# 在接口Ten-GigabitEthernet2/0/0上开启PTP功能。
[DeviceA] interface ten-gigabitethernet 2/0/0
[DeviceA-Ten-GigabitEthernet2/0/0] ptp enable
[DeviceA-Ten-GigabitEthernet2/0/0] quit
(2) 配置Device B
# 配置SSM级别参与控制时钟源选举。
<DeviceB> system-view
[DeviceB] network-clock ssmcontrol on
# 配置从接口Ten-GigabitEthernet2/0/0线路时钟源接收的信号中提取SSM级别。
[DeviceB] network-clock source lpuport ten-gigabitethernet 2/0/0 forcessm off
# 配置接口Ten-GigabitEthernet2/0/0线路时钟源优先级为1。
[DeviceB] network-clock source lpuport ten-gigabitethernet 2/0/0 priority 1
# 配置接口Ten-GigabitEthernet2/0/0为同步模式,并使能ESMC功能。
[DeviceB] interface ten-gigabitethernet 2/0/0
[DeviceB-Ten-GigabitEthernet2/0/0] synchronous mode
[DeviceB-Ten-GigabitEthernet2/0/0] esmc enable
[DeviceB-Ten-GigabitEthernet2/0/0] quit
# 配置协议标准为ITU-T G.8275.1。
[DeviceB] ptp profile g8275.1
# 配置时钟节点类型为T-TSC。
[DeviceB] ptp mode t-tsc
# 配置设备通过PTP协议获取系统时间。
[DeviceA] clock protocol ptp
# 在接口Ten-GigabitEthernet2/0/0上开启PTP功能。
[DeviceB] interface ten-gigabitethernet 2/0/0
[DeviceB-Ten-GigabitEthernet2/0/0] ptp enable
[DeviceB-Ten-GigabitEthernet2/0/0]quit
当网络拓扑稳定后,通过使用display ptp clock命令可以查看设备上PTP时钟信息,display ptp interface brief命令显示简要运行信息。例如:
# 在Device A上显示设备的PTP时钟信息。
[DeviceA] display ptp clock
PTP profile : ITU-T G.8275.1
PTP mode : T-BC
Slave only : No
Sync uncertain : Disabled
Clock state : Disabled
Lock status : Unlocked
Clock ID : 24881D-FFFE-F20100
Clock type : Local
Clock domain : 24
Number of PTP ports : 1
Priority1 : 128
Priority2 : 128
Local priority : 128
Clock quality :
Class : 248
Accuracy : 254
Offset (log variance) : 65535
Offset from master : 0 (ns)
Mean path delay : 0 (ns)
Steps removed : 0
Local clock time : Fri Dec 7 00:59:44 2018
Clock source info:
Clock Pri1 Pri2 Accuracy Class TimeSrc Direction In-Status Offset(log variance)
-------------------------------------------------------------------
Local 128 128 254 248 160 N/A N/A 65535
ToD0 128 128 32 6 32 In Inactive 65535
# 在Device A上显示PTP的简要运行信息。
[DeviceA] display ptp interface brief
Name State Delay mechanism Clock step Asymmetry correction
XGE2/0/0 Master E2E Two 0
# 在Device B上显示设备的PTP时钟信息。
[DeviceB] display ptp clock
PTP profile : ITU-T G.8275.1
PTP mode : T-TSC
Slave only : No
Sync uncertain : Disabled
Clock state : Disabled
Lock status : Unlocked
Clock ID : 2461E3-FFFE-A20200
Clock type : Local
Clock domain : 24
Number of PTP ports : 1
Priority1 : 128
Priority2 : 255
Local priority : 128
Clock quality :
Class : 255
Accuracy : 254
Offset (log variance) : 65535
Offset from master : 50 (ns)
Mean path delay : 5000 (ns)
Steps removed : 1
Local clock time : Fri Dec 7 14:52:54 2018
Clock source info:
Clock Pri1 Pri2 Accuracy Class TimeSrc Direction In-Status Offset(log variance)
-------------------------------------------------------------------
Local 128 128 254 248 160 N/A N/A 65535
ToD0 128 128 32 6 32 In Inactive 65535
# 在Device B上显示PTP的简要运行信息。
[DeviceB] display ptp interface brief
Name State Delay mechanism Clock step Asymmetry correction
XGE2/0/0 Slave E2E Two 0
通过显示信息可以看出,Device A被选为最优时钟,其接口Ten-GigabitEthernet2/0/0为主接口,对外发布同步时间。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!