报文发送方法及通信设备的制作方法

文档序号:7921585阅读:166来源:国知局

专利名称::报文发送方法及通信设备的制作方法
技术领域
:本发明涉及通信
技术领域
,特别涉及一种报文发送方法及通信设备。
背景技术
:现在网络中,通过使用PTP(PrecisionTimeProtocol,精确时间协议)传输以太网中的1588报文,以达到网络设备间的时钟同步。其中,传送1588报文的设备可以称为1588设备,具体的,产生并发送带有时间戳的1588报文过程包括1588设备中的1588协议处理模块按照1588协议产生1588净荷,此时该1588净荷中的时间戳为任意值,1588设备中的下行组包模块对该1588净荷进行封装得到1588下行报文,下行报文发送模块发送1588下行报文,发送的同时用该1588下行报文的出端口时间戳替换该1588下行报文中原有的时间戳。在对现有技术的研究和实践过程中,发明人发现现有技术存在以下问题现有技术中1588协议处理模块产生的1588净荷中的时间戳为任意值,在报文发送时才替换上真正的时间戳,造成1588设备需要两次管理时间戳,使时间戳的管理工作繁琐,并且其内部传递1588报文的带宽增加并且处理复杂。
发明内容本发明实施例提供一种报文发送方法及通信设备,简化对1588报文中时间戳的处理。本发明实施例提供—种报文发送方法,包括产生净荷,所述净荷不包括时间戳域;对所述净荷进行封装,得到下行报文;获取表示开始发送下行报文的时间戳值;在所述下行报文中添加所述时间戳值,发送添加了时间戳值的下行报文。—种通信设备,包括协议处理模块、下行组包模块、下行报文发送模块和实时时钟模块,所述协议处理模块,用于产生净荷,所述净荷不包括时间戳域;所述下行组包模块,用于对所述净荷进行封装,得到下行报文;所述下行报文发送模块,用于指示实时时钟模块产生表示开始发送下行报文的时间戳值,获得所述实时时钟模块产生的所述时间戳值,在所述下行报文中添加时间戳值,发送添加了时间戳值的下行报文;所述实时时钟模块,用于在所述下行报文发送模块的指示下产生所述表示开始发送下行报文的时间戳值。本发明实施例在开始产生的净荷中不包括时间戳域,因此对净荷封装得到的下行报文中不包括时间戳值,即在下行内部处理时不处理时间戳域,而是在开始发送报文的时4候获取时间戳值,并添加到下行报文中,避免了现有技术中,在下行报文内部处理时先产生为任意值的时间戳,再替换正确的时间戳,从而使时间戳的处理变得简单。图1是本发明实施例一提供的报文发送方法流程图;图2是本发明实施例二提供的报文发送方法流程图;图3是本发明实施例二提供的下行报文发送模块处理下行报文的方法流程图;图4是本发明实施例三提供的报文发送方法流程图;图5是本发明实施例三提供的下行报文发送模块处理下行报文的方法流程图;图6是本发明实施例四提供的通信设备结构图;图7是本发明实施例五提供的通信设备结构图;图8是本发明实施例六提供的通信设备结构图。具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供的技术方案在于1588设备在下行内部处理时不处理时间戳域,在报文开始发送时添加时间戳值。实施例一本发明实施例一提供一种报文发送方法,包括Al、产生净荷,所述净荷不包括时间戳域;A2、对所述净荷进行封装,得到下行报文;A3、获取表示开始发送下行报文的时间戳值;在所述下行报文中添加所述时间戳值,发送添加了时间戳值的下行报文。其中,该步骤Al、A2和A3可以是1588设备执行的;其中,步骤A1中产生净荷可以是1588设备自己产生的,也可以是在接收到1588上行报文后产生的,不影响本发明的实现。可见,本发明实施例一提供的报文发送方法中在开始产生的净荷不包括时间戳域,因此对净荷封装得到的下行报文中不包括时间戳域,即1588设备在下行内部处理时不处理时间戳域,而是在开始发送报文的时候获取时间戳值,并添加到下行报文中,避免了现有技术中,在下行报文内部处理时先产生为任意值的时间戳,再替换正确的时间戳,从而使时间戳的处理变得简单。实施例二参阅图2,本发明实施例二提供一种报文发送方法,包括步骤Bl、产生简化的1588净荷,该简化的1588净荷包括1588协议头信息,且不包括时间戳域。其简化的1588净荷格式如表1所示。其中,该步骤可以是1588设备中的协议处理模块实现的。1588头信息(34个字节)表1其中,1588头信息可以是34个字节,也可以是别的字节数,不影响本发明的实现。步骤B2、对1588净荷封装MAC(MediaAccesscontrol,媒体接入控制)信息域,即对净荷进行两层封装,将该1588净荷封装成两层报文,以得到1588下行报文。其中,该步骤可以是1588设备中的下行组包模块实现的。其中,封装MAC信息域可以是封装EthernetIIMAC信息域;其得到的1588下行报文的格式如表2所示EthernetIIMAC信息域1588头信息表2步骤B3、在1588下行报文中添加前导码和起始符,并发送到通信网络,在发送的同时产生表示开始发送1588下行报文的时间戳值,在1588下行报文中添加时间戳值和添加CRC(CyclicRedundancyCheck/Code,循环冗余校验)校验码。其中,该步骤可以是1588设备中的下行报文发送模块实现的。其中,所发送的1588下行报文的格式如表3所示前导码和起EthernetII1588头信息时间戳值CRC始符MAC信息域表3其中,若1588下行报文不足64byte,则下行报文发送模块需要在该1588下行报文尾部添加填充字节(pad)后再发送到通信网络。其中,参阅图3,该步骤B3具体包括如下步骤Cl、保存来自下行组包模块的1588下行报文。该步骤可以是1588设备中的下行报文发送模块中的存储模块进行保存的。C2、对该报文添加前导码和起始符,并产生出端口标识,同时开始发送存储模块中保存的1588下行报文。该步骤可以是下行报文发送模块中的报文发送接口模块执行的。C3、根据出端口标识确定表示开始发送该1588下行报文的时间戳值。该步骤可以是1588设备中的实时时钟模块执行的,即实时时钟模块根据报文发送接口模块产生的出端口标识,确定表示开始发送该1588下行报文的时间戳值。具体的,报文发送接口模块产生的出端口标识可以是一个脉冲或者是一个电平,当出端口标识是正脉冲,实时时钟模块采集该正脉冲上升沿时间作为表示开始发送该1588下行报文的时间戳值;当出端口标识是负脉冲,实时时钟模块采集该负脉冲下降沿时间作为表示开始发送该1588下行报文的时间戳值。C4、将时间戳值添加到存储模块中保存的1588下行报文中。该步骤可以是添加时间戳模块执行的,即添加时间戳模块将实时时钟模块产生的时间戳值添加到存储模块中保存的1588下行报文。该步骤对表2所示结构的1588下行报文添加时间戳值后的格式如表4所示<table>tableseeoriginaldocumentpage7</column></row><table>表4C5、对存储模块中保存的1588下行报文进行CRC校验,在其中添加CRC校验码。该步骤可以是1588设备中的CRC(CyclicRedundancyCheck/Code,循环冗余校验)模块实现的。需要说明的是在步骤C2发送1588下行报文的同时执行步骤C3-C5,即在添加前导码和起始符后开始发送1588下行报文,后续会按1588下行报文的格式顺序发送报文的字节,且在添加前导码和起始符后产生出端口标识,根据出端口标识确定开始发送该1588下行报文的时间戳值,并在发送报文的同时对1588下行报文进行步骤C3-C5的处理。可见,本发明实施例二中所产生的净荷不包括时间戳域,因此对净荷封装MAC信息域所得到的1588下行报文中不包括时间戳域,即1588设备在下行内部处理时不处理时间戳域,而是在发送下行报文的时候获取表示开始发送1588下行报文的时间戳值,并添加到1588下行报文中,使时间戳的处理变得简单。实施例三参阅图4,本发明实施例三提供一种报文发送方法,包括步骤Dl、产生简化的1588净荷,该简化的1588净荷包括1588协议头信息,且不包括时间戳域。其简化的1588净荷格式如表1所示。其中,该步骤可以是协议处理模块执行的。步骤D2、对1588净荷封装MAC信息域、IP信息域、UDP(UserDatagramProtocol,用户数据包协议)信息域,即对净荷进行两层、三层和四层的封装,将该1588净荷封装成四层报文,以得到1588下行报文。其中,UDP信息域中包括UDP校验结果。其中,该步骤可以是下行组包模块执行的。其中,封装MAC信息域可以是封装EthernetIIMAC信息域;封装IP信息域可以是封装IPV4信息域,其得到的1588下行报文的格式如表5所示<table>tableseeoriginaldocumentpage7</column></row><table>表5步骤D3、在1588下行报文中添加前导码和起始符,并发送到通信网络,在发送的同时产生时间戳值,在该1588下行报文中添加时间戳值、修改UDP校验码和添加CRC校验码。其中,所发送的1588下行报文的格式如表6所示<table>tableseeoriginaldocumentpage7</column></row><table>表6其中,参阅图5,该步骤D3具体包括如下步骤El、保存来自下行组包模块的1588下行报文。该步骤可以是下行报文发送模块中的存储模块进行保存的。E2、对该1588下行报文添加前导码和起始符,并产生出端口标识,同时开始发送存储模块中保存的1588下行报文。该步骤可以是报文发送接口模块执行的。E3、根据出端口标识确定表示开始发送该1588下行报文的时间戳值。该步骤可以是实时时钟模块执行的,即实时时钟模块根据报文发送接口模块产生的出端口标识,确定表示开始发送该1588下行报文的时间戳值。具体的,所产生的出端口标识可以是一个脉冲或者一个电平,当出端口标识是正脉冲,实时时钟模块采集该正脉冲上升沿时间作为表示开始发送该1588下行报文的时间戳值;当出端口标识是负脉冲,实时时钟模块采集该负脉冲下降沿时间作为表示开始发送该1588下行报文的时间戳值。E4、将时间戳值添加到存储模块中保存的1588下行报文中。该步骤可以是添加时间戳模块执行的,即添加时间戳模块将实时时钟模块所产生的时间戳值添加到存储模块中保存的1588下行报文中。E5、对存储模块中保存的1588下行报文重新进行UDP校验,并替换该1588下行报文中UDP信息域中的UDP校验结果。该步骤可以是UDP校验模块执行的。E6、对存储模块中保存的1588下行报文(此时存储模块中保存的1588下行报文是添加时间戳值、且替换UDP校验结果后的1588下行报文)进行CRC校验,在其中添加CRC校验码。该步骤可以是CRC校验模块执行的。需要说明的是在步骤E2发送1588下行报文的同时执行步骤E3-E6,即在添加前导码和起始符后开始发送1588下行报文,后续会按1588下行报文的格式顺序发送报文的字节,且在添加前导码和起始符后产生出端口标识,并根据出端口标识确定开始发送该1588下行报文的时间戳值,并在发送报文的同时对1588下行报文进行步骤E3-E6的处理。其中,在步骤D2封装的UDP信息域中也可以不包括UDP校验结果,而在步骤E5中对1588下行报文重新进行UDP校验后,将校验结果添加到UDP信息域中,不影响本发明的实现。可见,本发明实施例三所产生的净荷不包括时间戳域,因此对净荷封装MAC信息域、IP信息域和UDP信息域所得到的1588下行报文中不包括时间戳域,即1588设备在下行内部处理时不处理时间戳域,而是在发送1588下行报文的时候获取表示开始发送1588下行报文的时间戳值,并添加到1588下行报文中,使时间戳的处理变得简单。其中,上述各实施例中CRC校验模块对存储模块中保存的1588下行报文进行CRC校验,并在存储模块中保存的1588下行报文中添加CRC校验码,也可以有其他的实现方式。比如,下行组包模块存储到存储模块中的1588下行报文中就包含有CRC校验结果,CRC校验模块对存储模块中的1588下行报文进行CRC校验,此时进行校验的1588下行报文可以是实施例二中所描述的添加了时间戳值的下行报文,或者是实施例三中所描述的添加了时间戳值,且添加或者替换了UDP校验码的下行报文,将CRC校验结果替换存储模块中保存的1588下行报文中原来的CRC校验码,不影响本发明的实现。上述本发明实施例一和实施例二中分别由协议处理模块产生简化的1588净荷,8下行组包模块对1588净荷封装得到1588下行报文,也可以由协议处理模块产生简化的1588净荷并对1588净荷封装得到1588下行报文,发送1588下行报文到下行报文发送模块。实施例四参阅图6,本发明实施例四提供一种通信设备,包括协议处理模块601、下行组包模块602、下行报文发送模块603和实时时钟模块604,协议处理模块601,用于产生净荷,所述净荷不包括时间戳域;下行组包模块602,用于对所述净荷进行封装,得到下行报文;所述下行报文发送模块603,用于指示实时时钟模块604产生表示开始发送下行报文的时间戳值,获得实时时钟模块604产生的所述时间戳值,在所述下行报文中添加时间戳值,发送添加了时间戳值的下行报文;所述实时时钟模块604,用于在所述下行报文发送模块的指示下产生所述时间戳值。在一种实现下,下行报文发送模块603包括报文发送接口模块6031、添加时间戳模块6032和存储模块6033,其中,存储模块6033,用于存储来自所述下行组包模块的下行报文;报文发送接口模块6031,用于产生报文出端口标识并输出到所述实时时钟模块,并发送所述存储模块6033中的下行报文;添加时间戳模块6032,用于获得所述实时时钟模块6033产生的时间戳值,将所获得的时间戳值添加到所述存储模块6033中的下行报文中;其中,所述时间戳值是所述实时时钟模块604根据所述报文出端口标识所产生的。具体的,所述下行组包模块602为第一下行组包模块,用于对所述净荷封装MAC信息域,得到下行报文并存储到所述存储模块,或者,所述下行组包模块602为第二下行组包模块,用于对所述净荷封装MAC信息域、IP信息域和UDP信息域,得到下行报文并存储到所述存储模块。优选的,所述下行报文发送模块603还包括UDP校验模块6034,用于对所述存储模块中的添加了时间戳值的下行报文进行UDP校验,在所述下行报文的UDP信息域中包括UDP校验结果时,用对添加了时间戳值的下行报文的UDP校验结果替换所述UDP信息域中的UDP校验结果;在所述UDP信息域中不包括UDP校验结果时,在所述UDP信息域中加入所述对添加了时间戳值的下行报文的UDP校验结果。优选的,所述下行报文发送模块还包括循环冗余校验CRC校验模块6035,用于对所述存储模块中添加了时间戳值的下行报文进行CRC校验,并在添加了时间戳值的下行报文中添加CRC校验结果或者替换所述添加了时间戳值的下行报文中原有的CRC校验结果。其中,如果上述UDP校验模块6034对添加了时间戳值的下行报文进行了UDP校验,则此时循环冗余校验CRC校验模块6035是对在UDP信息域中加入或者替换UDP校验结果后的下行报文进行CRC校验。本发明实施例四提供的通信设备中的协议理模块所产生的净荷不包括时间戳域,因此下行组包模块对净荷封装得到下行报文中不携带时间戳域,即通信设备的下行内部处理不处理时间戳域。下行报文发送模块获取表示开始发送下行报文的时间戳值,并添加到下行报文中,即在接口处添加时间戳值,避免了现有技术中,在下行报文内部处理时先产生为任意值的时间戳,再替换正确的时间戳;从而使得协议处理模块和下行组包模块处理更简单,协议处理模块和下行组包模块的带宽利用率更高,同时下行组包模块和下行报文发送模块之间的带宽利用率也更高。进一步的,由于处理更简单,利用了更少的资源,从而降低了设备成本。实施例五参阅图7,本发明实施例五提供一种通信设备,包括协议处理模块701、下行组包模块702、下行报文发送模块703和实时时钟模块704,其中,协议处理模块701、下行组包模块702、下行报文发送模块703和实时时钟模块704与实施例四所描述的相应模块的功能和连接关系相同,在此不再赘述。该通信设备还包括上行报文接收模块705和上行解析模块706,其中,上行报文接收模块705,用于接收上行报文,指示实时时钟模块704产生表示开始接收上行报文的时间戳值,获得实时时钟模块704产生的所述时间戳值,在所述上行报文中添加时间戳值;实时时钟模块704具体还用于在所述上行报文接收模块的指示下产生所述时间戳值;上行解析模块706,用于解析所述上行报文,以确定所述上行报文为1588上行报文,并得到1588上行报文中的净荷和上述时间戳值。其中,上下行报文可以是没有任何关联的报文,也可以是下行报文是上行报文的响应报文,不影响本发明的实现。实施例六参阅图8,本发明实施例提供一种通信设备,该通信设备包括协议处理模块801、下行报文发送模块802、实时时钟模块803、上行报文接收模块804和上行解析模块805;该实施例与实施例五不同之处在于协议处理模块801,用于产生净荷,所述净荷不包括时间戳域;对所述净荷进行封装,得到下行报文,即将上述实施例五中的协议处理模块701和下行组包模块702的功能集成在协议处理模块801中实现。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,廳)等。以上对本发明实施例所提供的报文发送方法及通信设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。权利要求一种报文发送方法,其特征在于,包括产生净荷,所述净荷不包括时间戳域;对所述净荷进行封装,得到下行报文;获取表示开始发送下行报文的时间戳值;在所述下行报文中添加所述时间戳值,发送添加了时间戳值的下行报文。2.根据权利要求l所述的方法,其特征在于,所述获取表示开始发送下行报文的时间戳值包括获取报文出端口标识;根据所述报文出端口标识产生时间戳值。3.根据权利要求l所述的方法,其特征在于,所述对净荷进行封装包括对所述净荷封装媒质接入控制MAC信息域;或者,对所述净荷封装MAC信息域、IP信息域和用户数据包协议UDP信息域。4.根据权利要求3所述的方法,其特征在于,在所述下行报文中添加时间戳值之后,该方法还包括对添加了时间戳值的下行报文进行UDP校验,当所述下行报文中的UDP信息域中包括UDP校验结果时,用对添加了时间戳值的下行报文的UDP校验结果替换所述UDP信息域中的UDP校验结果;当所述UDP信息域中不包括UDP校验结果时,在所述UDP信息域中加入所述对添加了时间戳值的下行报文的UDP校验结果。5.根据权利要求3或4所述的方法,其特征在于,还包括在所述下行报文中添加时间戳值之后,该方法还包括对添加了时间戳值后的下行报文进行CRC校验,并添加CRC校验结果或者替换所述添加了时间戳值的下行报文中原有的CRC校验结果。6.—种通信设备,其特征在于,包括协议处理模块、下行组包模块、下行报文发送模块和实时时钟模块,所述协议处理模块,用于产生净荷,所述净荷不包括时间戳域;所述下行组包模块,用于对所述净荷进行封装,得到下行报文;所述下行报文发送模块,用于指示实时时钟模块产生表示开始发送下行报文的时间戳值,获得所述实时时钟模块产生的所述时间戳值,在所述下行报文中添加时间戳值,发送添加了时间戳值的下行报文;所述实时时钟模块,用于在所述下行报文发送模块的指示下产生所述表示开始发送下行报文的时间戳值。7.根据权利要求6所述的装置,其特征在于,所述下行报文发送模块包括报文发送接口模块、添加时间戳模块和存储模块,所述存储模块,用于存储来自所述下行组包模块的下行报文;所述报文发送接口模块,用于产生报文出端口标识并输出到所述实时时钟模块,并发送所述存储模块中的下行报文;添加时间戳模块,用于获得所述实时时钟模块产生的时间戳值,将所获得的时间戳值添加到所述存储模块中的下行报文中;其中,所述时间戳值是所述实时时钟模块根据所述报文出端口标识所产生的。8.根据权利要求6所述的装置,其特征在于,所述下行组包模块为第一下行组包模块,用于对所述净荷封装媒质接入控制MAC信息域,得到下行报文并存储到所述存储模块;或者,所述下行组包模块为第二下行组包模块,用于对所述净荷封装MAC信息域、IP信息域和用户数据包协议UDP信息域,得到下行报文并存储到所述存储模块。9.根据权利要求8所述的装置,其特征在于,所述下行报文发送模块还包括UDP校验模块,用于对所述存储模块中的添加了时间戳值的下行报文进行UDP校验,在所述下行报文的UDP信息域中包括UDP校验结果时,用对添加了时间戳值的下行报文的UDP校验结果替换所述UDP信息域中的UDP校验结果;在所述UDP信息域中不包括UDP校验结果时,在所述UDP信息域中加入所述对添加了时间戳值的下行报文的UDP校验结果。10.根据权利要求8或9所述的装置,其特征在于,所述下行报文发送模块还包括循环冗余校验CRC校验模块,用于对所述存储模块中添加了时间戳值的下行报文进行CRC校验,并在添加了时间戳值的下行报文中添加CRC校验结果或者替换所述添加了时间戳值的下行报文中原有的CRC校验结果。全文摘要本发明实施例提供一种报文发送方法及通信设备,其中,通信设备包括产生净荷,所述净荷不包括时间戳域;对所述净荷进行封装,得到下行报文;获取表示开始发送下行报文的时间戳值;在所述下行报文中添加所述时间戳值,发送添加了时间戳值的下行报文。使用本发明实施例提供的技术方案,能够简化对所发送报文中的时间戳的处理。文档编号H04L12/56GK101741757SQ20081017708公开日2010年6月16日申请日期2008年11月21日优先权日2008年11月21日发明者孙文华,徐文广,李丙博,王晓波,王继辉,邓友好,郑玉林,阳生丙申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1