《一种基于精确时间协议的时间同步收敛的方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种基于精确时间协议的时间同步收敛的方法和装置.pdf(11页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102843205 A (43)申请公布日 2012.12.26 C N 1 0 2 8 4 3 2 0 5 A *CN102843205A* (21)申请号 201210322079.0 (22)申请日 2012.09.03 H04J 3/06(2006.01) (71)申请人杭州华三通信技术有限公司 地址 310053 浙江省杭州市高新技术产业开 发区之江科技工业园六和路310号华 为杭州生产基地 (72)发明人徐鹏飞 (74)专利代理机构北京德琦知识产权代理有限 公司 11018 代理人谢安昆 宋志强 (54) 发明名称 一种基于精确时间协议的时间同步收敛的方 。
2、法和装置 (57) 摘要 本发明公开了一种基于精确时间协议的时间 同步收敛的方法和装置,该方法包括:从时钟节 点在各被动端口与主时钟节点交互同步报文并进 行时间同步计算,根据时间同步计算结果建立并 维护该被动端口对应的备选时间信息;从时钟节 点检测到从端口或任一被动端口的上游时钟同步 网络发生拓扑变化时,触发BMC计算,根据BMC计 算结果确定具有最优的时钟优先级信息的端口, 如果具有最优的时钟优先级信息的端口为被动端 口,则将该被动端口切换为从端口,并根据该被动 端口对应的备选时间信息对本地时钟进行时间同 步处理。本发明能够在网络拓扑变化时减少从时 钟节点的失步时间。 (51)Int.Cl.。
3、 权利要求书2页 说明书6页 附图2页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 6 页 附图 2 页 1/2页 2 1.一种基于精确时间协议PTP的时间同步收敛的方法,应用于一从时钟节点,该从时 钟接口包括有一个从端口和至少一个被动端口,其特征在于,包括: 从时钟节点在各被动端口与主时钟节点交互同步报文并进行时间同步计算,根据时间 同步计算结果建立并维护各被动端口对应的备选时间信息; 从时钟节点检测到从端口或任一被动端口的上游时钟同步网络发生拓扑变化时,触发 BMC计算,根据BMC计算结果确定具有最优的时钟优先级信息的端口,如果具有最优的时钟 优。
4、先级信息的端口为被动端口,则将该被动端口切换为从端口,并根据该被动端口对应的 备选时间信息对本地时钟进行时间同步处理。 2.根据权利要求1所述的基于PTP的时间同步收敛的方法,其特征在于, 从时钟节点检测从端口或任一被动端口的上游时钟同步网络是否发生网络拓扑变化 的方法为: 检测到该从端口或被动端口的直联连路发生故障时,或者,在该从端口或被动端口接 收到PTP BMC通告报文且PTP BMC通告报文中携带的时钟优先级信息发生变化时,确定该 从端口或被动端口的上游时钟同步网络发生网络拓扑变化。 3.根据权利要求1所述的基于PTP的时间同步收敛的方法,其特征在于,该方法进一步 包括: 根据BMC计。
5、算结果确定需要将任一被动端口切换为主端口时,切换该被动端口为主端 口,并停止在该被动端口与主时钟交互同步报文。 4.根据权利要求3所述的基于PTP的时间同步收敛的方法,其特征在于, 所述切换该被动端口为主端口时,进一步清除该被动端口对应的备选时间信息。 5.根据权利要求1所述的基于PTP的时间同步收敛的方法,其特征在于, 从时钟节点在各被动端口采用单步模式的请求应答机制或双步模式的请求应答机制 与主时钟节点交互同步报文。 6.一种从时钟节点,其特征在于,该从时钟节点包括:同步单元、检测单元、计算单元、 切换单元; 所述同步单元,用于在所述从时钟节点的各被动端口与主时钟节点交互同步报文并进 行时。
6、间同步计算,根据时间同步计算结果建立并维护各被动端口对应的备选时间信息; 所述检测单元,用于检测所述从时钟节点的从端口以及各被动端口的上游时钟同步网 络是否发生拓扑变化; 所述计算单元,用于检测单元检测到所述从时钟节点的从端口或任一被动端口的上游 时钟同步网络发生拓扑变化时,触发BMC计算; 所述切换单元,用于根据BMC计算结果确定具有最优的时钟优先级信息的端口,如果 该具有最优的时钟优先级信息的端口为所述从时钟节点的被动端口,则将该被动端口切换 为从端口,并根据该被动端口对应的备选时间信息对本地时钟进行时间同步处理。 7.根据权利要求6所述的从时钟节点,其特征在于, 该从时钟节点还包括接收单。
7、元,用于在所述从时钟节点的从端口以及各被动端口接收 PTP BMC通告报文; 所述检测单元在检测所述从时钟节点的从端口以及各被动端口的上游时钟同步网络 是否发生拓扑变化时,用于:检测到该从端口或被动端口的直联链路发生故障时,或者,接 权 利 要 求 书CN 102843205 A 2/2页 3 收单元在该从端口或被动端口接收到PTP BMC通告报文且PTPBMC通告报文中携带的时钟 优先级信息发生变化时,确定该从端口或被动端口的上游时钟同步网络发生网络拓扑变 化。 8.根据权利要求6所述的从时钟节点,其特征在于, 所述切换单元,进一步用于:根据BMC计算结果确定需要将所述从时钟节点的任一被 动。
8、端口切换为主端口时,切换该被动端口为主端口,并通知同步单元停止在该被动端口与 主时钟节点交互同步报文。 9.根据权利要求8所述的从时钟节点,其特征在于, 所述切换单元在切换该被动端口为主端口时,进一步清除该被动端口对应的备选时间 信息。 10.根据权利要求6所述的从时钟节点,其特征在于, 所述同步单元,用于在所述从时钟节点的各被动端口采用单步模式的请求应答机制或 双步模式的请求应答机制与主时钟节点交互同步报文。 权 利 要 求 书CN 102843205 A 1/6页 4 一种基于精确时间协议的时间同步收敛的方法和装置 技术领域 0001 本申请涉及精确时间同步技术领域,特别涉及一种基于精确时。
9、间协议(Precision Time Protocol,PTP)的时间同步收敛的方法和装置。 背景技术 0002 精确时间协议(Precision Time Protocol,PTP)是一种规定系统中设备如何相 互同步实时时间的分布式时间同步协议,具有亚微秒(us)级的时间同步性能。应用了PTP 协议的网络称为PTP域,域中的节点称为时钟节点,时钟节点上运行了PTP协议的端口则 称为PTP端口,PTP端口包括三种角色,其中,发布同步时间的PTP端口称为主端口、接收 同步时间的端口称为从端口,既不发布同步时间也不接收同步时间的PTP端口称为被动 (passive)端口。 0003 PTP域中所有。
10、的时钟节点都按主从层级结构组织在一起,最高层次的时钟节点是 主时钟(Grand master Clock,GM)所在时钟节点,其它时钟节点为从时钟所在时钟节点,主 时钟决定了整个系统的参考时间。从时钟节点通过与主时钟节点交互同步报文并记录同步 报文(也称为PTP协议报文,包括Sync报文、Delay-Req报文、Delay-Resp报文等)的收发 时间,使用交互同步报文过程中得到的时间信息调整自身的时钟和层级中的主时钟一致。 0004 参见图1,图1是现有技术采用请求应答机制的时钟同步过程示意图,时钟同步过 程为双步模式,包括以下步骤: 0005 (1)主时钟节点向从时钟节点发送Sync报文,。
11、并记录发送时间t1;从时钟接收到 该报文后,记录接收时间t2;(如时钟同步过程为单步模式则Sync报文中携带t1); 0006 (2)主时钟节点发送Sync报文后,紧接着发送携带t1的Follow-Up报文,从时钟 节点接收到该报文后,记录t1;(如时钟同步过程为单步模式则不执行本步骤); 0007 (3)从时钟节点接收到Sync报文后,返回Delay-Req报文给主时钟节点,并记录发 送时间t3;主时钟节点接收该报文后,记录接收时间t4; 0008 (4)主时钟节点接收到从时钟节点的Delay-Req报文后,向从时钟节点发送携带 t4的Delay-Resp报文。 0009 根据记录的上述t1。
12、、t2、t3、t4,从时钟节点可以计算得到自身时钟相对于主时钟 的时间偏差为Offset=(t2-t1)-(t4-t3)/2。然后根据该时间偏差调整本地时间,从而实 现与主时钟节点的时间同步。 0010 现有实现中,主时钟节点可以通过手工配置静态指定,也可以通过最佳主时钟 (Best Master Clock,BMC)协议动态选举,动态选举的过程如下:各时钟节点之间通过交互 的PTP BMC通告报文中所携带的时钟优先级、时间等级、时间精度等信息,最终选出一个时 钟节点作为PTP域的主时钟节点,主时钟节点的时钟成为主时钟。在动态选举过程中,各时 钟节点之间的主从关系以及各时钟节点上的主端口、从端。
13、口、被动端口也确定了下来,整个 PTP域中最终建立起了一棵无环路、全连通,并以主时钟节点为根的生成树;此后,主时钟 节点会定期发送PTP BMC通告报文给从时钟节点,如果一段时间内从时钟节点未接收到主 说 明 书CN 102843205 A 2/6页 5 时钟节点发送的PTP BMC通告报文,便认为主时钟节点失效,重新进行主时钟节点选择。 0011 在现有实现中,网络拓扑发生变化会造成时钟在一定时间内处于失步状态,下面 以图2为例进行说明。 0012 图2是现有技术PTP域的组网示意图,包括C0-C7共8个时钟节点,其中,C0为主 时钟节点,C1-C7均为从时钟节点,其中,在各时钟节点均正常工。
14、作的情况下,C0上的端口 01、C1上的端口11和12、C2上的端口22、C3上的端口32、C4上的端口42、C6上的端口62 和63为主端口;C2上的端口21、C3上的端口31、C4上的端口43、C5上的端口51、C6上的 端口61为从端口;C3上的端口33、C4上的端口41为被动端口。各个从时钟节点通过自身 的从端口和主时钟节点进行同步报文交互,保持与主时钟节点的时间同步。 0013 如图2所示,拓扑稳定的情况下,时钟节点C3通过端口31与主时钟节点C0进行 PTP事件消息交互,保持与C0的时间同步;时钟节点C4通过端口43与主时钟节点C0进行 PTP事件消息交互,保持与C0的时间同步。假。
15、设C6时钟故障,则C4上的端口43失效,需要 根据BMC算法重新计算出一条可达C0的路径,并等待主时钟节点C0的新一轮同步,在等待 C0的新一轮同步的过程中,C4一直处于失步状态。 发明内容 0014 有鉴于此,本发明的目的在于提供一种基于精确时间协议的时间同步收敛的方 法,该方法能够在网络拓扑变化时减少从时钟节点的失步时间。 0015 为了达到上述目的,本发明提供了一种基于精确时间协议的时间同步收敛的方 法,应用于一从时钟节点,该从时钟接口包括有一个从端口和至少一个被动端口,该方法包 括: 0016 从时钟节点在各被动端口与主时钟节点交互同步报文并进行时间同步计算,并根 据时间同步计算结果建。
16、立并维护该被动端口对应的备选时间信息; 0017 从时钟节点检测到从端口或任一被动端口的上游时钟同步网络发生拓扑变化时, 触发BMC计算,根据BMC计算结果确定具有最优的时钟优先级信息的端口,如果具有最优的 时钟优先级信息的端口为被动端口,则将该被动端口切换为从端口,并根据该被动端口对 应的备选时间信息对本地时钟进行时间同步处理。 0018 本发明还提供了一种从时钟节点,该从时钟接口包括一个从端口和至少一个被动 端口,该从时钟节点还包括:同步单元、检测单元、计算单元、切换单元; 0019 所述同步单元,用于在所述从时钟节点的各被动端口与主时钟节点交互同步报文 并进行时间同步计算,并根据时间同步。
17、计算结果建立并维护该被动端口对应的备选时间信 息; 0020 所述检测单元,用于检测所述从时钟节点的从端口以及各被动端口的上游时钟同 步网络是否发生拓扑变化; 0021 所述计算单元,用于检测单元检测到所述从时钟节点的从端口或任一被动端口的 上游时钟同步网络发生拓扑变化时,触发BMC计算; 0022 所述切换单元,用于根据BMC计算结果确定具有最优的时钟优先级信息的端口, 如果该具有最优的时钟优先级信息的端口为所述从时钟节点的被动端口,则将该被动端口 切换为从端口,并根据该被动端口对应的备选时间信息对本地时钟进行时间同步处理。 说 明 书CN 102843205 A 3/6页 6 0023 由。
18、上面的技术方案可知,本发明中,从时钟节点在从端口和被动端口均进行时间 同步计算,将在被动端口的时间同步计算结果保存为备选时间信息;当在从时钟节点的从 端口或任一被动端口检测到上游时钟发生拓扑变化导致需要将某一被动端口切换为从端 口时,将在该最优被动端口保存的备选时间信息下发到时钟芯片,而不必等待主时钟节点 的新一轮的同步,因而可以减少从时钟节点的失步时间。 附图说明 0024 图1是现有技术采用请求应答机制的时钟同步过程示意图; 0025 图2是现有技术PTP域的组网示意图; 0026 图3是本发明实施例基于PTP的时间同步收敛的方法流程图; 0027 图4是本发明实施例提供的从时钟节点的结构。
19、示意图。 具体实施方式 0028 为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例, 对本发明的技术方案进行详细说明。 0029 参见图3,图3是本发明实施例基于PTP的时间同步收敛的方法流程图,该方法应 用于一从时钟节点,该从时钟接口包括有一个从端口和至少一个被动端口,该方法包括以 下步骤: 0030 步骤301、从时钟节点在各被动端口与主时钟节点交互同步报文并进行时间同步 计算,并根据时间同步计算结果建立并维护该被动端口对应的备选时间信息。 0031 这里,从时钟节点在各被动端口采用和从端口相同的与主时钟节点的同步报文交 互过程,并周期性地进行时间同步计算,不同之处在。
20、于:在被动端口计算得到的时间同步计 算结果不会下发到时钟芯片,而是保存为该被动端口对应的备选时间信息,在下一次计算 得到新的时间同步计算结果时,更新该被动端口对应的备选时间信息;而在从端口计算得 到的时间同步计算结果会立刻被下发到时钟芯片,以实现与主时钟节点的时间同步。时间 同步计算结果可以是自身与主时钟间的偏移时间,也可以是根据与主时钟间的偏移时间调 整后的从时钟节点的时间。 0032 本步骤中,可以采用单步模式的请求应答机制实现从时钟节点在各被动端口与主 时钟节点交互同步报文,也可以采用双步模式的请求应答机制实现从时钟节点在各被动端 口与主时钟节点交互同步报文。 0033 具体地, 003。
21、4 当采用单步模式的请求应答机制实现从时钟节点在各被动端口与主时钟节点交 互同步报文时,所述从时钟节点在各被动端口与主时钟节点交互同步报文并进行时间同 步计算包括:从时钟节点在该被动端口接收主时钟节点发来的Sync报文,获取Sync报 文中携带的Sync报文发送时间t1,并记录Sync报文的接收时间t2;向主时钟节点发送 Delay-Req报文,并记录Delay-Req报文的发送时间t3;从时钟节点接收主时钟节点在接收 到Delay-Resp报文后返回的Delay-Resp报文,获取Delay-Resp报文中携带的主时钟节点 接收Delay-Req报文的时间t4;从时钟节点根据所述t1、t2、。
22、t3、t4进行同步时间计算。 0035 当采用双步模式的请求应答机制实现从时钟节点在各被动端口与主时钟节点交 说 明 书CN 102843205 A 4/6页 7 互同步报文时,所述从时钟节点在各被动端口与主时钟节点交互同步报文并进行时间同步 计算包括:从时钟节点在该被动端口接收主时钟节点发来的Sync报文和Follow-UP报文, 获取Follow_UP报文中携带的Sync报文发送时间t1,并记录Sync报文的接收时间t2;向 主时钟节点发送Delay-Req报文,并记录Delay-Req报文的发送时间t3;接收主时钟节点 在接收到Delay-Resp报文后返回的Delay-Resp报文,获。
23、取Delay-Resp报文中携带的主时 钟节点接收Delay-Req报文的时间t4;从时钟节点根据所述t1、t2、t3、t4进行同步时间计 算。 0036 步骤302、从时钟节点检测到从端口或任一被动端口的上游时钟同步网络发生拓 扑变化时,触发BMC计算,根据BMC计算结果确定具有最优的时钟优先级信息的端口,如果 具有最优的时钟优先级信息的端口是被动端口,则将该被动端口切换为从端口,并下发该 被动端口对应的备选时间信息到时钟芯片。 0037 这里,时钟优先级信息包括最优时钟节点信息和到达最优时钟节点的跳数或成本 (cost),另外,时钟优先级信息还包括:发送端口(发送携带该时钟优先级信息的PT。
24、P BMC 通告报文的端口)、接收端口(接收携带该时钟优先级信息的PTP BMC通告报文的端口)等信 息。从某一端口到达最优时钟节点的跳数或cost越低,则该端口的最优时钟信息越优。上 述步骤中可以按照现有技术中的BMC计算方式,确定具有最优的时钟优先级信息的端口。 如果根据BMC计算结果确定具有最优的时钟优先级信息的端口仍然是原从端口,则继续将 原从端口的时间同步计算结果下发到时钟芯片,据此调整本地时间;如果确定具有最优的 时钟优先级信息的端口为某个被动端口,此时原从端口的角色将发生变化,即将原从端口 将切换为被动端口或主端口,而该被动端口将被切换为新的从端口,并直接根据该被动端 口对应的备。
25、选时间信息对本地时钟进行时间同步处理:通过下发该被动端口对应的备选时 间信息到时钟芯片,从而可以直接根据该备选时间信息调整本地时间,实现与主时钟节点 的时间同步,而不必等待主时钟节点的新一轮的同步,因而可以减少从时钟节点的失步时 间。 0038 从时钟节点的某一端口(从端口或被动端口)的上游时钟同步网络发生拓扑变化 包括两种情形: 0039 (1)该端口的直联链路发生故障,例如,该端口故障、该端口的直联链路的对端端 口故障、直联链路中断等。当该端口的直联链路发生故障时,从时钟节点可以根据该端口的 状态确定该端口的直联链路故障,进而确定该端口的上游时钟同步网络发生拓扑变化。 0040 (2)该端。
26、口的直联链路正常,仍然能接收到上游时钟节点发来的PTP BMC通告报 文,但是接收到的PTP BMC通告报文中携带的时钟优先级信息发生了变化,与接收端口的时 钟优先级信息不同,则也可以确定该端口的上游时钟同步网络拓扑发生变化。 0041 当从时钟节点检测到自身的某一端口(从端口或被动端口)的上游时钟同步网络 发生拓扑变化时,为了继续能够与主时钟节点保持进行正常的时间同步,时钟节点需要出 触发BMC计算,重新确定各个端口的角色,确定新的从端口并利用新的从端口与主时钟节 点进行时钟同步。 0042 根据BMC算法,具有最优的时钟优先级信息的端口将会被选择并切换为新的从端 口。如果在从端口检测到上述。
27、第一种网络拓扑变化,从端口将不能正常接收到主时钟发送 的同步报文(Sync报文),也就无法执行后续的同步报文交互,不能再作为从端口继续与主 说 明 书CN 102843205 A 5/6页 8 时钟进行时间同步,根据BMC计算确定的新的从端口不再是原有从端口。如果在从端口上 检测到上述第二种网络拓扑变化,根据BMC计算确定的新的从端口仍有可能是原有从端 口。 0043 由于从时钟节点的各被动端口和从端口一样,执行与主时钟节点间的同步报文交 互和时间同步计算,并保存了备选时间信息,因此当根据BMC计算确定的最优时钟信息对 应的端口且判定该最优时钟信息对应的端口是原有被动端口时,可以将该被动端口被。
28、切换 为从端口,并可以立刻将该被动端口对应的备选时间信息下发到时钟芯片来调整本地时 间,而不需要等待主时钟节点发起新一轮的同步报文交互后再执行时间同步计算和本地时 间调整的操作,因而能够在网络拓扑发生变化的情况下减少从时钟节点的失步时间。 0044 图3所示本发明实施例中,当网络拓扑发生变化后,新的网络拓扑下,原有的主端 口可能会变成被动端口,原有的被动端口也可能会变成主端口,端口的角色变化由BMC计 算结果确定。当根据BMC计算结果确定需要将某个被动端口切换为主端口时,可以切换该 被动端口为主端口,并停止在该被动端口(新的主端口)与主时钟节点交互同步报文,另外, 在切换被动端口为主端口时,还。
29、可以进一步清除该被动端口对应的备选时间信息,以避免 一段时间后网络拓扑再次发生变化导致端口角色变换时,错误的将此前保存的该被动端口 对应的备选时间信息下发到时钟芯片。 0045 以上对本发明实施例基于PTP的时间同步收敛的方法进行了详细说明,本发明还 提供了一种时钟节点。 0046 参见图4,图4是本发明实施例提供的从时钟节点的结构示意图,该从时钟节点包 括:同步单元401、检测单元402、计算单元403、切换单元404;其中, 0047 同步单元401,用于在所述从时钟节点的各被动端口与主时钟节点交互同步报文 并进行时间同步计算,并根据时间同步计算结果建立并维护该被动端口对应的备选时间信 息。
30、; 0048 检测单元402,用于检测所述从时钟节点的从端口以及各被动端口的上游时钟同 步网络是否发生拓扑变化; 0049 计算单元403,用于检测单元402检测到所述从时钟节点的从端口或任一被动端 口的上游时钟同步网络发生拓扑变化时,触发BMC计算; 0050 切换单元404,用于根据BMC计算结果确定具有最优的时钟优先级信息的端口,如 果该具有最优的时钟优先级信息的端口为所述从时钟节点的被动端口,则将该被动端口切 换为从端口,并根据该被动端口对应的备选时间信息对本地时钟进行时间同步处理;所述 时钟优先级信息包括:最优时钟节点信息和到达最优时钟节点的跳数或cost。 0051 该从时钟节点还。
31、包括接收单元405,用于在所述从时钟节点的从端口以及各被动 端口接收PTP BMC通告报文; 0052 所述检测单元402在检测所述从时钟节点的从端口以及各被动端口的上游时钟 同步网络是否发生拓扑变化时,用于:检测到该从端口或被动端口的直联链路发生故障时, 或者,接收单元405在该从端口或被动端口接收到PTP BMC通告报文且PTP BMC通告报文 中携带的时钟优先级信息发生变化时,确定该从端口或被动端口的上游时钟同步网络发生 网络拓扑变化。 0053 上述从时钟节点中,所述切换单元404,进一步用于:根据BMC计算结果确定需要 说 明 书CN 102843205 A 6/6页 9 将所述从时。
32、钟节点的任一被动端口切换为主端口时,切换该被动端口为主端口,并通知同 步单元401停止在该被动端口与主时钟节点交互同步报文。 0054 所述切换单元404在切换该被动端口为主端口时,进一步清除该被动端口对应的 备选时间信息。 0055 所述同步单元401,用于在所述从时钟节点的各被动端口采用单步模式的请求应 答机制或双步模式的请求应答机制与主时钟节点交互同步报文。 0056 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。 说 明 书CN 102843205 A 1/2页 10 图1 图2 说 明 书 附 图CN 102843205 A 10 2/2页 11 图3 图4 说 明 书 附 图CN 102843205 A 11 。