一种ptp时钟单播组播混合时钟系统及时钟同步方法

文档序号:7572513阅读:484来源:国知局
专利名称:一种ptp时钟单播组播混合时钟系统及时钟同步方法
技术领域
本发明涉及通信技术领域,尤其涉及通信网络中的一种PTP(Precision Time Protocol,精准时间同步协议)时钟单播组播混合时钟系统及时钟同步方法。
背景技术
在通信领域中,时钟同步业务作为一个重要的基本业务,对语音、视频等其他业务起着支撑作用。实现时钟同步的方法主要包括链路层硬件传输和报文软件层传送等方式; IEEE 1588v2协议基于包交换方法实现时钟频率及时间同步功能,在IEEE 1588v2协议中定义了普通、边界透传、普通与透传及管理节点等几个模型,对IEEE 1588v2协议的组播模型指定了相应规范。针对电信领域中组播应用存在的局限,G. 8265. I草案中定义了一种新的单播普通时钟模型,用于解决单播组网中的IEEE 1588v2协议的拓扑组网问题,其思路是采用CS (客户端/服务器端)模式的请求应答模式,在组网中部署最优时钟GM(Grandmaster Clock) 作为主时钟(master),其他时钟作为从时钟(slave)来完成时钟传递,但此种请求应答模式下时钟只能实现一级传送,而并不能像组播一样分层传送时钟信号。G. 8265. I草案中设计的时钟模型由于不能支持单播分层传送,在组网中必然会受到限制,并且在IEEE 1588v2协议和G. 8265. I草案这两个协议中对组播与单播如何对接没有做进一步的介绍;而在现实应用中,组播与单播的对接是经常用到的应用,所以需要设计一种新的时钟模型来解决这一问题。

发明内容
本发明所要解决的技术问题在于,提供一种PTP时钟单播组播混合时钟系统及时钟同步方法,用于解决单播组播混合组网时组播与单播对接及单播边界时钟无法跨层传送的问题。为了解决上述问题,本发明提出了一种PTP时钟单播组播混合时钟模型系统,包括本地时钟模块,多个PTP端口,全局数据集模块;其中,所述多个PTP端口中包括一个单播端口和多个组播端口;所述单播端口,用于在全局数据集模块中配置了单播外部通信时钟列表时从外部通信时钟列表中获取该单播端口的最优时钟信号;或者用于在未配置单播外部通信时钟列表时,作为主时钟被动响应从外部接收的信号请求消息,向下一级时钟系统传递时钟信号;所述单播端口和多个组播端口根据最优主时钟算法或改进的最优主时钟算法计算出最优主时钟Ebest,按照算法分配各端口状态。进一步地,所述单播端口,若配置了外部时钟列表且非为底层设备的slave-only 状态,则可向每一外部通信时钟地址发送单播通告的信号请求消息建立连接,连接建立后接收外部的通告消息,从收到的外部的通告消息中获取该单播端口的最优时钟信号。
进一步地,所述单播端口,用于接收端口状态为主时钟状态的组播端口的组播通告,从外部时钟源和/或主时钟状态的组播通告的时钟源中选择一条最优源作为本单播的最优时钟源。所述组播端口,按照1588v2的规定根据端口状态处理报文。进一步地,所述单播端口,按照链路来处理报文,包括A、如果单播端口的端口状态为slave-only,则不响应通告报文的信号请求,不对外宣称本设备时钟性质;B、如果单播端口的端口状态为MASTER,则对请求满足要求的信号消息都需要响应,并建立连接向其宣告本设备父时钟性质及传递时钟;C、如果单播端口的端口状态为SLAVE,如果是非父辈链路传来通告报文的信号请求,则响应,否则不响应请求;D、如果当单播端口的端口状态为PASSIVE,对请求满足要求的信号请求消息都响应,并建立连接向其宣告本设备父时钟性质及传递时钟。本发明还提供一种PTP时钟单播组播混合时钟同步方法,包括在利用一个单播端口及多个组播端口组成边界时钟中,若在全局数据集模块中为所述单播端口配置了单播外部通信时钟列表,则该单播端口从外部通信时钟列表中获取该单播端口的最优时钟信号;或者在未配置单播外部通信时钟列表时,该单播端口作为主时钟被动响应从外部接收的信号请求消息,向下一级时钟系统传递时钟信号;所述单播端口和多个组播端口根据最优主时钟算法或改进的最优主时钟算法计算出最优主时钟Ebest,按照算法分配各端口状态。所述方法进一步包括报文处理的步骤如下所述组播端口,按照1588v2的规定根据端口状态处理报文;所述单播端口,按照链路来处理报文,包括A、如果单播端口的端口状态为slave-only,则不响应通告报文的信号请求,不对外宣称本设备时钟性质;B、如果单播端口的端口状态为MASTER,则对请求满足要求的信号消息都需要响应,并建立连接向其宣告本设备父时钟性质及传递时钟;C、如果单播端口的端口状态为SLAVE,如果是非父辈链路传来通告报文的信号请求,则响应,否则不响应请求;D、如果当单播端口的端口状态为PASSIVE,对请求满足要求的信号请求消息都响应,并建立连接向其宣告本设备父时钟性质及传递时钟。所述单播端口若配置了外部时钟列表且非为底层设备的slave-only状态,则可向每一外部通信时钟地址发送单播通告的信号请求消息建立连接,连接建立后接收外部的通告消息,从收到的外部的通告消息中获取该单播端口的最优时钟信号。所述单播端口从外部通信时钟列表中获取最优时钟时,接收端口状态为主时钟状态的组播端口的组播通告,从外部时钟源和/或主时钟状态的组播通告的时钟源中选择一条最优源作为本单播的最优时钟源。与现有技术相比较,本时钟模型解决了组播与单播在对接问题,也同时对单播的 CS模型做了改进,可以建立多级的单播层次关系;在部署中位置灵活,一方面可以分别支持原来的组播边界与单播普通时钟模型、另一方面也支持组播与单播对接,并同时解决了单播的边界时钟传递问题。











具体实施例方式为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明作进一步地详细说明。现有的G. 8265协议规定了实现单播时钟的模型,在1588V2协议中规定了用于组播的边界模型。本发明针对单播组播混合组网时组播与单播对接及单播边界时钟无法跨层传送的问题,提出了一种混合组网的时钟模型。如图I所示,在本发明实施例中,提出将单播时钟模型作为多个PTP时钟端口中的一个端口,即作为单播端口,采用该抽象出来的单播端口与其他组播端口共同组成一个边界时钟。在该包含单播端口的时钟模型中,应用 BMCA\改进BMCA算法来确定端口状态。所有PTP端口共有所需的缺省时钟数据集、当前时钟数据集、父辈时钟数据集等参数集。在将基于设备的单播普通时钟模型抽象成一个单独的PTP端口后,放开单播模型中只有SLAVE才能发送signaling消息建立连接的限制,只要该单播端口的端口状态不为 fault及初始化状态,该端口就都有权利发送signaling消息请求建立连接;对于其它PTP 端口,则保留组播模型中对边界时钟端口模型的设计。如图2所示,给出了该种PTP时钟单播组播混合时钟模型系统的示意图,该时钟模型系统包括本地时钟模块,多个PTP端口,全局数据集模块,其中所述多个PTP端口中包括一个单播端口和多个组播端口;所述单播端口,用于在全局数据集模块中配置了单播外部通信时钟列表时从外部通信时钟列表中获取该单播端口的最优时钟信号;或者用于在未配置单播外部通信时钟列表时,作为主时钟被动响应从外部接收的信号请求消息,向下一级时钟系统传递时钟信号;所述单播端口和多个组播端口根据最优主时钟算法或改进的最优主时钟算法计算出最优主时钟Ebest,按照算法分配各端口状态。其中,单播端口如果为slave-only端口,则不能变为MASTER状态。其中,所述组播端口,按照1588v2的规定根据端口状态处理报文;所述单播端口,按照链路来处理报文,可分为如下4种情况A、如果单播端口的端口状态为slave-only,贝U不响应announce报文的signaling 请求,不对外宣称本设备时钟性质;B、如果单播端口的端口状态为MASTER,则对请求满足要求的Signaling消息都需要响应,并建立连接向其宣告本设备父时钟性质及传递时钟;C、如果单播端口的端口状态为SLAVE,如果是非父辈链路传来announce报文的 signaling请求,则响应,否则不响应请求D、如果当单播端口的端口状态为PASSIVE,其处理与MASTER状态相同,对请求满足要求的Signaling消息都响应,并建立连接向其宣告本设备父时钟性质及传递时钟。所述单播端口,若配置了外部时钟列表且非slave-only状态,则可向每一外部通信时钟地址发送单播通告的信号请求消息建立连接,连接建立后接收外部的通告消息,还用于接收端口状态为主时钟状态的组播端口的组播通告,从外部时钟源和/或组播通告的时钟源中选择一条最优源作为本单播的最优时钟源。针对1588协议而言,所述外部通信列表是指对应的一组1588单播端口的通信地址(IP地址列表或者MAC地址列表)。进一步地,该混合时钟模型系统,因其在网络中的位置不同,而可进行不同的配置。图3给出了该混合时钟模型位于顶层设备上时的示意图;图4给出了位于中间层设备上时的示意图;图5给出了位于底层设备上时的示意图。在图3-5中,PTP时钟单播组播混合时钟模型系统,包括本地时钟模块,多个PTP端口,全局数据集模块,其中,所述多个PTP端口中包括一个单播PTP端口和多个组播PTP端口。例如,将单播PTP端口的端口号固定为1,组播端口不能占用‘I’这个端口号,只能占用其他端口号。在图3所示,此时由于该设备位于顶层而该时钟系统各种单播端口作为主时钟, 设备对单播端口没有配置单播外部通信时钟列表,则此单播端口只被动响应外来信号 (signaling)请求,相当于一个主时钟(master);在图4和图5中,在中间层及底层,设备对单播端口配置了单播外部通信时钟列表,则向外部通信时钟列表内的每个地址发送单播通告(announce)的信号(signaling)请求消息建立连接。同时,在图3和图4所示的时钟系统,配置端口号为I的单播PTP端口接收所有发给本单播端口地址的单播消息(该消息为1588v2消息)并处理;当通过信号(signaling) 请求消息建立连接后,中间层的所述单播端口接收外部通告(announce)消息,对于没有在外部通信时钟列表中的时钟源发给本设备的报文,则一律丢弃不处理。特别地,如图4所示,对于中间层,与上一层相连的为slave端口,与底部相连的为 master端口。本地时钟是指本设备的硬件时钟,在GM设备上是由其他的外来时钟获得的 (例如GPS注入),而对下游设备是锁定的slave端口传来的EBEST。在图3-5中,单播端口选择一条最优源(如果存在)作为单播端口的Erbest。未知设备发给本设备的报文可能是正常组网设备发来的报文,也可能是其他攻击报文等;此处本发明实施例中为单播端口增加时钟列表(ip/mac)过滤功能可以利于维护网络的稳定性;通过人工配置去控制组网拓扑的形成以及负载分担等分配,还有,现在1588报文还没有有效的密钥协商机制,在防攻击方面还不成熟,所以此方法还能初步过滤掉一些攻击,这些都是是有利于网络稳定的,但新设备加入网络时,需要增加额外的人工配置来建立时钟网络拓扑。该单播端口,向端口状态为master的组播端口的发送组播通告(announce)报文, 并且从组播端口接收组播announce报文,根据接收的组播announce报文,从端口状态为 master的组播端口中选择一个最优源(如果存在)作为本单播的最优时钟源(Erbest);选择一个最优源,在草案中根据软件等级传递(通过分析announce报文传递的等级信息)与报文实际性能(通过丢包率、报文的均匀度等环境信息)分析结合一起来共同选择的,准则是在保证实际性能的基础上,选择等级最闻的那条线路。可定时运行BMCA\扩展BMCA算法,确定各个端口的端口状态、更新父辈时钟信息; 并通过announce报文向外界通告本设备变化。所述BMCA\扩展BMCA算法是基于设备层设计的,通过比较各个端口的最优时钟源(Erbest),来找到一个最佳主时钟Ebest,然后再把这个最佳主时钟Ebest与本设备的时钟性质相比较,得到本设备在网络中的位置(是否为 GM设备),若是GM设备则向下游通告时钟,若非GM设备则通过Ebest来同步时钟(Ebest 所在的PTP端口就置为slave端口),并通过其他端口(置为master端口 )把时钟传递下去;整个算法在1588v2协议中已经很详尽的描述了 ;人为设定端口状态是在预知网络拓扑结构的情况下通过手工配置来处理设备的端口状态,但做为slave端口还是需要通过算法比较来选择出最好的外边时钟来同步的。所述IEEE 1588v2端口状态确定的方法包括以下步骤第一步开启时钟模型为新的模式第二步设置域性质参考1588v2约定、域内announce发包间隔要一致第三步分别添加设置单播、组播端口时钟发包间隔等性质;单播端口增加配置外部通信时钟(IP地址)列表;第四步分别计算各个端口的Erbest ;根据最优主时钟算法(Best Master Clock Algorithm,简称BMCA算法)计算出最优主时钟Ebest ;按照算法分配端口状态;单播端口如果为slave-only端口,则不能变为MASTER状态;第五步组播端口,按照1588v2来根据端口状态处理报文第六步单播端口,按照链路来处理报文,这里分为4种情况如果单播端口的端口状态为slave-only端口,则不响应announce报文的 signaling请求不对外宣称本设备时钟性质;当单播端口的端口状态为MASTER,对请求满足要求的Signaling消息都需要响应,并建立连接向其宣告本设备父时钟性质及传递时钟;当单播端口的端口状态为SLAVE时,如果非父辈链路传来announce报文的 signaling请求,则响应,否则不响应请求当单播端口的端口状态为PASSIVE时,与MASTER状态相同,对请求满足要求的 Signaling消息都响应,并建立连接向其宣告本设备父时钟性质及传递时钟。 应用实例I :单播组播混合时钟在单播分层组网的应用如图6所示,处于时钟系统的第一层(即顶层)的主时钟(GM)时钟群(包括 MASTER1和MASTER2),不需要配置外部通信时钟列表,只能响应外部的时钟请求而使其同步于本设备的时钟;
处于时钟系统中间层的设备(即具有单播组播混合时钟),配置第一层时钟源为自己的外部时钟列表,通过向外部时钟列表中的时钟源发送时钟请求来从上一层获取时钟信号;同时,还可接收下一层设备的单播请求,将时钟信号向下一层设备传递。下一层的设备仅为SLAVE状态,通过向中间层的设备发送时钟请求获得时钟信号。单播组播混合时钟模型在单播分层组网时的交互示意图,如图7所示,具备单播组合混合时钟A的中间层设备,配置有外部通信时钟列表(列表中包括MASTER1和 MASTER2),其向顶层的Masterl与Master2发送通告信令请求,MasterI与Master2分别向 A通告announce消息,A通过比较announce消息得到最佳外部时钟源EBest ;进一步再通过将Ebest与本地时钟比较从而选择确定Masterl做为自己的主时钟,并利用来自masterl 的时钟同步本地时钟,此过程中,其相对于顶层设备而言即为SLAVE时钟,对应于图7中的 S指向;另一方面,具备单播组合混合时钟A的中间层设备还响应下一层的slave-only时钟的请求,此时作为主时钟(Master)向下一层设备通告时钟,完成图7中的Master指向的时钟传递功能。而对于处于下一层(即底层)的时钟节点,配置上一层时钟源为自己的外部时钟列表,并开启PTP端口为slave-only属性,仅作为从时钟而不响应外部的同步请求。应用实例2 :单组播混合时钟在单播组播混合组网的应用如图8所示的组网,给出的是从单播GM向组播传递拓扑,而反过来也可以适用应用实例。处于时钟系统的第一层(即顶层)的主时钟(GM)时钟群(包括MASTER1和 MASTER2),不需要配置外部通信时钟列表,只能响应外部的时钟请求而使其同步于本设备的时钟;其可将时钟透过中间层网络传递时钟给接口设备,接口设备选择单播端口为 slave,同步本地时钟、然后通过组播端口向下游传递;处于中间层的设备的时钟系统(即具有单播组播混合时钟),配置第一层时钟源为自己的外部时钟列表,通过向时钟列表中的时钟源发送时钟请求来从第一层获取时钟信号;混合模型Al向Masterl与Master2发送通告信令请求;Masterl与Master2分别向混合模型Al通告announce消息;混合模型Al同时通过组播端口来接收混合模型BI及下挂的边界时钟A2传来的announce报文;混合模型Al通过比较announce消息得到最佳外部源EBest (来自单播端口),通过将EBest与本地时钟的等级比较,选择了 Masterl做为自己的Master时钟,并从masterl 来同步本地时钟;完成图9上的slave向功能;另一方面,混合模型Al通过比较发现与其相连的混合模型B’及边界时钟A2都没有本身的时钟质量好,通过组播端口向这两个设备传递时钟,完成了图9上的master功能。 而处于组播环中的其他设备,根本就不能感知到单播消息的存在,按照边界时钟模型来处理。本发明基于组播的普通时钟模型,将组播和单播的普通时钟模型统一起来,改变通信方式与控制算法,将单播时钟模型作为组播时钟模型中的一个PTP端口。利用BMCA算法模式完成对单播端口的管理,完成单组混合的设计,使得单播与组播网络桥联起来,并用组播BMCA算法思路去管理单播。以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、 等同替换、改进等,均应包含在本发明的权利要求范围之内。
权利要求
1.一种PTP时钟单播组播混合时钟模型系统,包括本地时钟模块,多个PTP端口,全局数据集模块;其中,所述多个PTP端口中包括一个单播端口和多个组播端口 ;所述单播端口,用于在全局数据集模块中配置了单播外部通信时钟列表时从外部通信时钟列表中获取该单播端口的最优时钟信号;或者用于在未配置单播外部通信时钟列表时,作为主时钟被动响应从外部接收的信号请求消息,向下一级时钟系统传递时钟信号;所述单播端口和多个组播端口根据最优主时钟算法或改进的最优主时钟算法计算出最优主时钟Ebest,按照算法分配各端口状态。
2.如权利要求I所述的系统,其特征在于,所述单播端口,若配置了外部时钟列表且非为底层设备的slave-only状态,则可向每一外部通信时钟地址发送单播通告的信号请求消息建立连接,连接建立后接收外部的通告消息,从收到的外部的通告消息中获取该单播端口的最优时钟信号。
3.如权利要求I或2所述的系统,其特征在于,所述单播端口,用于接收端口状态为主时钟状态的组播端口的组播通告,从外部时钟源和/或主时钟状态的组播通告的时钟源中选择一条最优源作为本单播的最优时钟源。
4.如权利要求I所述的系统,其特征在于,所述组播端口,按照1588v2的规定根据端口状态处理报文。
5.如权利要求I所述的系统,其特征在于,所述单播端口,按照链路来处理报文,包括A、如果单播端口的端口状态为slave-only,则不响应通告报文的信号请求,不对外宣称本设备时钟性质;B、如果单播端口的端口状态为MASTER,则对请求满足要求的信号消息都需要响应,并建立连接向其宣告本设备父时钟性质及传递时钟;C、如果单播端口的端口状态为SLAVE,如果是非父辈链路传来通告报文的信号请求,则响应,否则不响应请求;D、如果当单播端口的端口状态为PASSIVE,对请求满足要求的信号请求消息都响应,并建立连接向其宣告本设备父时钟性质及传递时钟。
6.一种PTP时钟单播组播混合时钟同步方法,包括在利用一个单播端口及多个组播端口组成边界时钟中,若在全局数据集模块中为所述单播端口配置了单播外部通信时钟列表,则该单播端口从外部通信时钟列表中获取该单播端口的最优时钟信号;或者在未配置单播外部通信时钟列表时,该单播端口作为主时钟被动响应从外部接收的信号请求消息,向下一级时钟系统传递时钟信号;所述单播端口和多个组播端口根据最优主时钟算法或改进的最优主时钟算法计算出最优主时钟Ebest,按照算法分配各端口状态。
7.如权利要求6所述的同步方法,其特征在于,所述方法进一步包括报文处理的步骤如下所述组播端口,按照1588v2的规定根据端口状态处理报文;所述单播端口,按照链路来处理报文,包括A、如果单播端口的端口状态为slave-only,则不响应通告报文的信号请求,不对外宣称本设备时钟性质;B、如果单播端口的端口状态为MASTER,则对请求满足要求的信号消息都需要响应,并建立连接向其宣告本设备父时钟性质及传递时钟;C、如果单播端口的端口状态为SLAVE,如果是非父辈链路传来通告报文的信号请求,则响应,否则不响应请求;D、如果当单播端口的端口状态为PASSIVE,对请求满足要求的信号请求消息都响应,并建立连接向其宣告本设备父时钟性质及传递时钟。
8.如权利要求6所述的同步方法,其特征在于,所述单播端口若配置了外部时钟列表且非为底层设备的slave-only状态,则可向每一外部通信时钟地址发送单播通告的信号请求消息建立连接,连接建立后接收外部的通告消息,从收到的外部的通告消息中获取该单播端口的最优时钟信号。
9.如权利要求6或8所述的同步方法,其特征在于,所述单播端口从外部通信时钟列表中获取最优时钟时,接收端口状态为主时钟状态的组播端口的组播通告,从外部时钟源和/或主时钟状态的组播通告的时钟源中选择一条最优源作为本单播的最优时钟源。
全文摘要
本发明公开了一种PTP时钟单播组播混合时钟系统及时钟同步方法。该混合时钟系统包括本地时钟模块,多个PTP端口,全局数据集模块。所述多个PTP端口中包括一个单播端口和多个组播端口;单播端口及多个组播端口组成边界时钟,若全局数据集模块中为所述单播端口配置了单播外部通信时钟列表,单播端口从外部通信时钟列表中获取该单播端口的最优时钟信号;或者在未配置单播外部通信时钟列表时,单播端口作为主时钟被动响应从外部接收的信号请求消息,向下一级时钟系统传递时钟信号;单播端口和多个组播端口根据最优主时钟算法计算出最优主时钟,按照算法分配各端口状态。本发明支持组播与单播对接,同时解决了单播的边界时钟传递问题。
文档编号H04L7/00GK102611546SQ20111002697
公开日2012年7月25日 申请日期2011年1月25日 优先权日2011年1月25日
发明者赵洪广 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1