IEEE1588-PTP简介
1. PTP简介
⽹络测控系统精确时钟同步协议PTP(Precision Time Protocol)是⼀种对标准以太⽹终端设备进⾏时间和频率同步的协议,也称为IEEE 1588,简称为1588。
1588分为1588v1和1588v2两个版本,1588v1只能达到亚毫秒级的时间同步精度,⽽1588v2可以达到亚微秒级同步精度。1588v2被定义为时间同步的协议,本来只是⽤于设备之间的⾼精度时间同步,随着技术的发展,1588v2也具备频率同步的功能。现在1588v1基本已被1588v2取代,以下⾮特殊说明,PTP即表⽰1588v2。
2. 原理描述
2.1 基本原理
同步的概念
在现代通信⽹络中,⼤多数电信业务的正常运⾏要求全⽹设备之间的频率或时间差异保持在合理的误差⽔平内,即⽹络时钟同步。
⽹络时钟同步包括相位同步和频率同步两个概念。
- 相位同步 -
相位同步(Pha synchronization),也称为时间同步,是指信号之间的频率和相位都保持⼀致,即信号之间相位差恒定为零。
- 频率同步 -
频率同步(Frequency synchronization),是指信号之间的频率或相位上保持某种严格的特定关系,信号在其相对应的有效瞬间以同⼀速率出现,以维持通信⽹络中所有的设备以相同的速率运⾏,即信号之间保持恒定相位差。
为防⽌概念混淆,下⽂中时间同步统⼀表⽰相位同步,时钟同步表⽰同时进⾏相位同步和频率同步。
图1 时间同步与频率同步⽰意图
时钟同步原理
应⽤⽹络时钟同步的⽹络,称为时钟同步⽹。时钟同步⽹的结构如图2所⽰。时钟同步⽹分为两级,其中⼀级节点采⽤1级时钟同步设备,⼆级节点采⽤2级时钟同步设备,⼆级节点以下是客户端设备,即为包括基站在内的需要时钟同步的设备。
客户端时间同步链路是时钟同步⽹节点⾄客户端的时钟同步链路,因为这段链路需进⾏包括以太时钟同步、NTP在内的多种同步⽅式,它包括NTP传送⽅式在内的各种传输链路。节点时钟同步链路是时钟同步⽹节点之间的时钟同步链路,它包括除NTP传送⽅式以外的各种传输链路,主要采⽤DCLS(DC Level Shifter,是IRIG-B码的另⼀种传输码形,⽤直流电位来携带码元信息,⽐较适⽤于双绞线局内传输)传送⽅式的专线链路。
整个PTP⽹络中,所有时钟都会按照主从(Master-Slave)层次关系组织在⼀起,各节点向系统的最优时钟Grandmaster上逐级同步时钟。整个同步的过程是通过交换PTP报⽂来完成的。从时钟通过PTP报⽂中携带的时间戳信息计算与主时钟之间的偏移和延时,据此调整本地时钟达到与主时钟的同步。
图2 分级时钟同步⽹
PTP基本概念
PTP域
应⽤了PTP协议的⽹络称为PTP域。⽹络中可能含有多个PTP域,PTP域是独⽴PTP时钟同步系统,⼀个PTP域内有且只有⼀个时钟源,域内的所有设备都与该时钟源保持同步。
时钟节点
PTP域中的节点称为时钟节点,PTP协议定义了以下三种类型的基本时钟节点:
普通时钟OC(Ordinary Clock):同⼀个PTP域内,只存在单个物理端⼝参与PTP时间同步。设备通过该端⼝从上游节点同步时间,或者向下游节点发布时间。
边界时钟BC(Boundary Clock):同⼀个PTP域内,可以存在两个或两个以上物理端⼝参与PTP时间同步。其中⼀个端⼝从上游设备同步时间,其余多个端⼝向下游设备发布时间。此外,当时钟节点作为时钟源,同时通过多个PTP端⼝向下游时钟节点发布时间,也称其为BC。
透明时钟TC(Transparent Clock):TC与BC、OC最⼤的不同是BC和OC都要保持本设备与其他设备的时间同步,但TC则不与其他设备保持时间同步。TC有多个PTP端⼝,它只是在这些PTP端⼝之间转发PTP报⽂,对其进⾏转发时延校正,并不从任何⼀个端⼝同步时间。
PTP端⼝
设备上运⾏了PTP协议的端⼝称为PTP端⼝,PTP端⼝的按⾓⾊可分为以下三种。
sxn什么意思
主端⼝(Master Port):发布同步时间的端⼝,可存在于BC或OC上。
从端⼝(Slave Port):接收同步时间的端⼝,可存在于BC或OC上。
被动端⼝(Passive Port):不接收同步时间,也不对外发布同步时间,闲置备⽤的端⼝,只存在于BC上。
主从关系
PTP域的节点设备按照⼀定的主从关系(Master-Slave)进⾏时钟同步。主从关系是相对⽽⾔的,同步时钟的节点设备称为从节点,发布时钟的节点设备称为主节点,⼀台设备可能同时从上层节点设备同步时钟,然后向下层节点设备发布时钟。
对于相互同步的⼀对时钟节点来说,存在如下主从关系:
发布同步时间的节点称为主节点,⽽接收同步时间的节点则称为从节点。
四级听力在线练习 主节点上的时钟称为主时钟,⽽从节点上的时钟则称为从时钟。
神经病的英文发布同步时间的端⼝称为主端⼝,⽽接收同步时间的端⼝则称为从端⼝。
最优时钟
PTP域中所有的时钟节点都按⼀定层次组织在⼀起,整个域的参考时钟就是最优时钟GMC(Grandmaster Clock),即最⾼层次的时钟。通过各时钟节点间PTP报⽂的交互,最优时钟的时间最终将被同步到整个PTP域中,因此也称其为时钟源。最优时钟可以通过⼿⼯配置静态指定,也可以通过最佳主时钟BMC(Best Master Clock)算法动态选举。
PTP报⽂
PTP通过主从节点间交互报⽂,实现主从关系的建⽴、时间和频率同步。根据报⽂是否携带时间戳,可以将PTP报⽂分为两类,事件报⽂和通⽤报⽂。
事件报⽂:时间概念报⽂,进出设备端⼝时打上精确的时间戳,PTP根据事件报⽂携带的时间戳,计算链路延迟。事件报⽂包含以下4种:Sync、Delay_Req、Pdelay_Req和Pdelay_Resp。
通⽤报⽂:⾮时间概念报⽂,进出设备不会产⽣时间戳,⽤于主从关系的建⽴、时间信息的请求和通告。通⽤报⽂包含以下6种:Announce、Follow_Up、Delay_Resp、Pdelay_Resp_Follow_Up、Management和Signaling,⽬前设备不⽀持Management、Signaling报⽂。
时钟同步步骤
时钟同步的实现主要包括3个步骤:clear vision
1. 建⽴主从关系,选取最优时钟、协商端⼝主从状态等。
2. 频率同步,实现从节点频率与主节点同步。
3. 时间同步,实现从节点时间与主节点同步。
2.2 建⽴主从关系
建⽴主从关系阶段,PTP主要完成最优时钟选取、端⼝主从关系确定。
主从关系建⽴步骤
PTP是通过端⼝接收到和发送Announce报⽂,实现端⼝数据集和端⼝状态机信息的交互。BMC(Best Master Clock)算法通过⽐较端⼝数据集和端⼝状态机,实现时钟主从跟踪关系。⼀般按照下⾯⼏个步骤来建⽴:
stalling
1. 接收和处理来⾃对端设备端⼝的Announce报⽂。
2. 利⽤BMC算法决策出最优时钟和端⼝的推荐状态,包括Master、Slave或者Passive状态。
3. 根据端⼝推荐状态,更新端⼝数据集合。
4. 按照推荐状态和状态决策事件,根据端⼝状态机决定端⼝的实际状态,实现时钟同步⽹络的建⽴。状态决策事件包括Announce报⽂
的接收事件和接收Announce报⽂的超时时间结束事件,当接⼝接收Announce报⽂的时间间隔⼤于超时时间间隔时,将此PTP接⼝状态置为Master。
BMC算法
在PTP域中,最优时钟的选取,端⼝主从关系的确⽴,都是依靠最优时钟BMC算法来完成的。BMC算法⽐较各时钟节点之间通过交互的Announce报⽂中所携带的数据集,来选取最优时钟,并且决定各PTP端⼝状态。
BMC算法⽤来选取最优时钟和决定PTP端⼝状态的数据集包括以下信息:
Priority1:时钟优先级1,⽀持⽤户配置,取值范围是0~255,取值越⼩优先级越⾼。
ClockClass:时钟级别,定义时钟的时间或频率的国际原⼦时-TAI(International Atomic Time)跟踪能⼒。
ClockAccuracy:时钟精度,取值越低精确度越⾼。
OfftScaledLogVariance:时钟稳定性。
Priority2:时钟优先级2,⽀持⽤户配置,取值范围是0~255,取值越⼩优先级越⾼。
PTP设备在执⾏动态BMC选源算法时,优先级选择的排序是priority1>clock-class>clock-
accuracy>OfftScaledLogVariance>priority2,即先⽐较参选时间源的priority1,若priority1相同再⽐较clock-class,以此类推,优先级⾼、级别⾼、精度好的时钟成为最优时钟。
通过改变时钟的优先级、级别等属性,⽤户影响PTP系统主时钟的选取,从⽽选中⾃⼰希望同步的时钟信号。BMC算法可以实现PTP 时钟同步分配和保护。
2.3 PTP频率同步
在主从关系建⽴后,即可以进⾏频率同步和时间同步。PTP本来只是⽤户设备之间的⾼精度时间同步,但也可以被⽤来进⾏设备之间的频率同步。
PTP通过记录主从设备之间事件报⽂交换时产⽣的时间戳,计算出主从设备之间的路径延迟和时间偏移,实现主从设备之间的时间和频率同步,设备⽀持两种携带时间戳的模式,分别为:
单步时钟模式(One step),指事件报⽂Sync和Pdelay_Resp带有本报⽂发送时刻的时间戳,报⽂发送和接收的同时也完成了时间信息的通告。
两步时钟模式(Two step),指事件报⽂Sync和Pdelay_Resp不带有本报⽂发送时刻的时间戳,⽽分别由后续的通⽤报⽂Follow_Up和Pdelay_Resp_Follow_Up带上该Sync和PDelay_Resp报⽂的发送时间信息。两步时钟模式中,时间信息的产⽣和通告分两步完成,这样可以兼容⼀些不⽀持给事件报⽂打时间戳的设备。
频率同步原理
PTP的主节点定时向从节点发送同步Sync报⽂,报⽂中有主节点发送Sync报⽂的时间戳。从节点每接收到⼀个Sync报⽂,都会产⽣⼀个接收时间戳。显然,如果从节点接收到两个Sync报⽂,可以通过⽐较两个接收时间戳的间隔与报⽂中记录的主节点发送时间戳的间隔的⼤⼩,调整从节点的频率。
假设时钟节点A要同步到时钟节点B。不考虑路径延时和驻留时间的变化,如果A和B的时钟频率相等,则在相同的时间间隔内,A和B 的时间累积的偏差应该是⼀样的,也就是说t2N-t20 = t1N-t10。如果t2N-t20⼤于t1N-t10,说明A的时钟频率⽐B快,要调慢A的时钟频率;如果t2N-t20⼩于t1N-t10,说明A的时钟频率⽐B慢,则要调快A的时钟频率。(t1n为B点的第n个Sync报⽂发送的时间,t2n为A点接收第n个Sync报⽂的时间点。)
图3 频率同步原理
上述是通过PTP报⽂来实现频率同步的基本原理。对于⼀个实际的PTP同步系统,通常还需要考虑路径延时和驻留时间的变化。图中Follow_Up报⽂为两步时钟模式发送的通⽤报⽂,携带Sync报⽂的发送时间戳。
2.4 PTP时间同步
PTP时间同步有两种不同的同步⽅式:Delay⽅式和Pdelay⽅式,如此划分主要是由于PTP计算路径延时有两种机制。excite co jp
延时请求-请求响应机制E2E(End to End):根据主从时钟之间的整体路径延时时间计算时间差。
对端延时机制P2P(Peer to Peer):根据主从时钟之间的每⼀条链路延时时间计算时间差。
延时请求-响应机制E2E(End to End)
图4是PTP采⽤E2E机制计算主、从设备之间平均路径延时和时间偏移的过程和原理。
图4 延时请求-响应机制
1. 主设备在时刻t1发送Sync报⽂。如果主设备为one-step模式,t1随Sync报⽂传送到从设备;如果主
多姿多彩什么意思设备为two-step模式,则t1在随longs
后的Follow_Up报⽂中传送到从设备;
归结2. 从设备在时刻t2接收到Sync报⽂,并从Sync报⽂(one-step)或者Follow_Up报⽂(two-step)中获取t1。
3. 从设备在时刻t3发送延时请求报⽂Delay_Req给主设备。
4. 主设备在时刻t4接收到Delay_Req报⽂。
5. 主设备随后通过延时回答报⽂Delay_Resp将t4发送给从设备。tennis是什么意思
上述报⽂离开和到达时打戳的时钟都是基于本设备内部的系统时钟的,PTP协议规定时间戳的长度为80bit。通过上述报⽂传递过程,从设备获取t1、t2、t3、t4 4个时间,并利⽤这4个时间计算出主从设备之间的平均路径延时,进⽽计算出时间偏移;然后利⽤这个时间偏移修正本地时间,使主从设备之间的时间实现同步。计算平均路径延时和时间偏移的公式如下所⽰:
平均路径延时:Delay=[(t4 – t1) – (t3 – t2)]/2
则t2= t1 + Delay + Offt=t1 + [(t4 – t1) – (t3 – t2)]/2 + Offt,那么:
时间偏移:Offt =[(t2 – t1) + (t3 – t4)]/2
如图5所⽰,通过PTP协议计算出本地时钟和主时钟源的时间偏移,再修正本地时钟。
图5 时间校正
对端延时机制P2P(Peer to Peer)
P2P机制是利⽤延时请求Pdelay_Req报⽂、延时回答Pdelay_Resp报⽂和可能的Pdelay_Resp_Follow_Up报⽂,计算两个⽀持P2P 机制的通信端⼝之间测量端⼝到端⼝的传播时间,也就是路径延时。与延时请求-响应机制相⽐,路径延时测量原理并⽆不同,只是路径延时测量在每段链路之间进⾏,主从节点间每段链路的链路延时累计在Pdelay_Resp或Pdelay_Resp_Follow_Up报⽂中,向下游传递,同时传递信息还包括同步报⽂在透明时钟TC上的驻留时间。从节点每段链路的链路延时和在透明时钟TC上的驻留时间,计算主从节点的平均路径延时。
在对端延时机制中,延时测量和端⼝的主从属性⽆关,在⽀持Pdelay机制的两个相连端⼝之间进⾏。