一种报文接收异常的检测方法、系统及其装置的制作方法

文档序号:7653449阅读:166来源:国知局
专利名称:一种报文接收异常的检测方法、系统及其装置的制作方法
技术领域
本发明涉及网络通信技术领域,特别是涉及一种报文接收异常的检测方法、系统及其装置。
背景技术
OAM(Operations Administration Maintenance,操作管理与维护)最初是由网络运营商开发的,旨在提高网络的可靠性和维护性,OAM机制在降低网络维护成本上取得了巨大成功。OAM功能可确保网络运营商履行QoS保证承诺、在异常事件激化前将它们检测出来、隔离并绕过网络缺陷,从而使运营商能够按承诺提供服务水平协议。因此OAM功能对于公众网络易于运营、检验网络性能和降低运营成本非常重要,特别是对于要求提供可测量网络性能和可用性目标的网络就显得更为关键。
但是上述OAM机制的故障检测类型都很有限的,无法对报文顺序进行检测,然而对于报文顺序的检测是有实际意义的,因为对于有些业务要求报文按顺序到达,并且快速检测出报文乱序的缺陷也可以快速的发现问题。同时,及时检测到乱序信息还以协助其他路由协议诊断出网络的一些故障。例如,在一条没有负载分担或者备份链路的情况下,一旦检测出了报文乱序,则说明设备本身出了问题;再者如果链路上设有隧道备份链路,设备本身保证报文顺序,然而最终目的地检测出报文乱序,就可以判断出主链路在频繁的倒换,链路处于不稳定状态。
现有技术的缺点是没有针对乱序缺陷的检测机制,不能对链路进行实时的报文乱序及报文丢包的缺陷检测,因此无法及时诊断出网络中的一些故障。

发明内容
本发明实施例的发明目的是提供一种报文接收异常的检测方法、系统及其装置,能够解决现有技术中无法对链路进行实时的报文接收异常检测的问题。
为达到上述目的,本发明实施例的技术方案提出一种报文接收异常的检测方法,包括以下步骤接收源端发送的第一接收故障检测报文和第二接收故障检测报文,其中所述第二接收故障检测报文为紧邻所述第一接收故障检测报文之后接收到的接收故障检测报文,所述第一接收故障检测报文携带有第一序列号,所述第二接收故障检测报文携带有第二序列号;分别从接收到的所述第一接收故障检测报文和所述第二接收故障检测报文中获取所述第一序列号和所述第二序列号;根据所述第一和第二序列号的大小来判断是否出现报文接收异常。
本发明实施例的技术方案还提出一种报文接收异常的检测系统,包括至少一个源端和至少一个宿端,所述源端,用于向所述宿端顺序地发送接收故障检测报文,并在所述接收故障检测报文中添加序列号,所述序列号的顺序与所述接收故障检测报文的发送顺序相同;所述宿端,用于接收源端发送的第一接收故障检测报文和第二接收故障检测报文,其中所述第二接收故障检测报文为紧邻所述第一接收故障检测报文之后接收到的接收故障检测报文,并从接收到的所述第一接收故障检测报文和所述第二接收故障检测报文中获取所述第一序列号和所述第二序列号,根据所述第一和第二序列号的大小来判断是否出现报文接收异常。
本发明实施例的技术方案还提出一种源端,包括报文生成模块、序列号分配模块和报文发送模块,所述报文生成模块,用于生成携带序列号的所述接收故障检测报文;所述序列号分配模块,用于按照所述接收故障检测报文的发送顺序分配序列号;所述报文发送模块,用于将向所述宿端顺序发送携带序列号的接收故障检测报文。
本发明实施例的技术方案还提出一种宿端,用于与上述源端配合进行报文接收异常的检测,包括报文接收模块、序列号获取模块和接收异常检测模块,所述报文接收模块,用于接收所述源端发送的第一接收故障检测报文和第二接收故障检测报文,其中所述第二接收故障检测报文为紧邻所述第一接收故障检测报文之后接收到的接收故障检测报文,所述第一接收故障检测报文携带有第一序列号,所述第二接收故障检测报文携带有第二序列号;所述序列号获取模块,用于从所述报文接收模块接收到的第一接收故障检测报文和第二接收故障检测报文中获取所述第一序列号和所述第二序列号;所述接收异常检测模块,用于根据所述第一和第二序列号的大小来判断是否出现报文接收异常。
通过本发明实施例采用源端在接收故障检测报文中添加序列号,并且宿端通过检测该接收故障检测报文中序列号的顺序以判断是否出现报文乱序及报文丢包的缺陷,克服了现有技术中无法检测报文乱序缺陷的问题,进而达到了对链路进行实时的乱序缺陷检测的技术效果。通过本发明实施例源端在发送的接收故障检测报文中添加的序列号,接收到该接收故障检测报文的宿端就可以根据该源端发送接收故障检测报文中的序列号判断是否出现乱序缺陷,达到对报文乱序实时检测的目的。


图1为本发明实施例报文接收异常的检测系统的结构图;图2为本发明实施例一的报文接收异常的检测方法的流程图;图3为本发明实施例二的报文接收异常的检测方法的流程图;图4为本发明实施例三的报文接收异常的检测方法的流程图。
具体实施例方式
下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述如图1所示,为本发明实施例报文接收异常的检测系统的结构图。该报文接收异常的检测系统包括至少一个源端1和至少一个宿端2,源端1用于向宿端2顺序地发送接收故障检测报文,并在所述接收故障检测报文中添加序列号,所述序列号的顺序与所述接收故障检测报文的发送顺序相同;宿端2用于接收源端发送的第一接收故障检测报文和第二接收故障检测报文,并从接收到的第一接收故障检测报文和第二接收故障检测报文中获取第一序列号和第二序列号,并根据第一和第二序列号的大小来判断是否出现报文接收异常。
本发明实施例所提到的第一接收故障检测报文和第二接收故障检测报文只是为了便于说明本发明实施例通过比较相邻的两个接收故障检测报文所携带的序列号而判断是否出现接收故障,因此不能认为本发明实施例仅仅限于通过第一接收故障检测报文和第二接收故障检测报文进行接收故障检测。
其中,源端1包括报文生成模块11、序列号分配模块12和报文发送模块13,报文生成模块11用于生成携带序列号的所述接收故障检测报文;序列号分配模块12用于按照接收故障检测报文的发送顺序分配序列号;报文发送模块13用于将向宿端2顺序发送携带序列号的接收故障检测报文。
本发明实施例通过报文生成模块11的任意一个子模块均可生成携带序列号的接收故障检测报文。本发明实施例以下提供的三个用于生成携带序列号的接收故障检测报文的子模块,是本发明实施例基于OAM机制故障检测报文较优的实施方式,然而并不能因此认为本发明实施例只能通过基于OAM机制故障检测报文生成携带序列号的接收故障检测报文。
其中,报文生成模块11包括扩展定义子模块111,用于将OAM机制故障检测报文的原有字段重新划分出一部分作为序列号域来携带序列号。例如利用CV报文(Connectivity Verification,连接验证报文)承载序列号的结构,将OAM机制故障检测报文的18octets的原有字段填充部分重新划分出一部分8octets作为序列号域来携带序列号,这样通过原有CV报文承载序列号可以保持报文长度不变,因此不增加网络的负担。

其中,报文生成模块11包括报文加长子模块112,用于将OAM机制故障检测报文加长,在OAM机制故障检测报文的加长部分增加序列号域来携带序列号。例如对于OAM机制利用加长的CV报文承载序列号的结构,在保留原有OAM功能的基础上,将OAM机制故障检测报文加长,在OAM机制故障检测报文的加长部分增加序列号域来携带序列号,例如在原有OAM机制故障检测报文的报文尾部增加10octets的序列号域来携带序列号,包括8octes的序列号和2octets BIP16序列号校验部分。其中,序列号校验部分携带有与序列号部分相同的内容,在接收到该报文后对序列号部分进行校验,以防止在报文传输过程中序列号部分被改变,从而防止本来顺序正确的报文却因为序列号部分被改变而上报乱序故障。

其中,报文生成模块11包括报文新建子模块113,用于根据OAM机制故障检测报文的结构新建携带有序列号的接收故障检测报文。例如将接收故障检测报文的功能类型设为02Hex。

其中,宿端2包括报文接收模块21、序列号获取模块22和接收异常检测模块23,报文接收模块21用于接收源端1发送的第一接收故障检测报文和第二接收故障检测报文,其中第二接收故障检测报文为紧邻第一接收故障检测报文之后接收到的接收故障检测报文,第一接收故障检测报文携带有第一序列号,第二接收故障检测报文携带有第二序列号;序列号获取模块22用于从报文接收模块21接收到的第一接收故障检测报文和第二接收故障检测报文中获取第一序列号和第二序列号;接收异常检测模块23用于根据第一和第二序列号的大小来判断是否出现报文接收异常。
其中,接收异常检测模块23包括报文乱序判断子模块231,用于在第一序列号大于第二序列号时判断出现报文乱序,确定为疏松乱序缺陷,其中疏松模式只要求相邻两个接收故障检测报文中第二接收故障检测报文所携带的序列号大于第一接收故障检测报文所携带的序列号,无论其大多少,这样就可以判断其是否乱序,这样经过该疏松模式检测到的缺陷就称为疏松乱序缺陷。当然也可以规定源端发送接收故障检测报文中添加序列号的顺序为从大到小,则宿端在接收时就可通过第一接收故障检测报文所携带的序列号是否大于第二接收故障检测报文所携带的序列号来判断是否出现乱序。
其中,接收异常检测模块23包括报文丢包判断子模块232,用于判断接收到的第一和第二序列号的差值是否大于最小序列号间隔,如果大于最小序列号间隔则说明出现报文丢包;如果既出现报文乱序又出现报文丢包,则确定为出现严格乱序缺陷,所述最小序列号间隔为所述源端为发送的相邻两个接收故障检测报文配置的序列号之间的差值。无论第一序列号大于第二序列号或是第二序列号大于第一序列号,只要两个序列号的差值大于最小序列号间隔,就说明出现了丢包现象。本发明实施例还提出一种在报文乱序判断子模块231判断是否出现报文乱序后由报文丢包判断子模块232判断是否出现报文丢包,如果既出现报文乱序又出现报文丢包,则确定为出现严格乱序缺陷。因此从上述描述可知,报文丢包判断子模块232不仅可以独立于报文乱序判断子模块231来判断是否出现报文丢包现象,也可以与报文乱序判断子模块231同时作用,先由报文乱序判断子模块231判断是否出现报文乱序,再由报文丢包判断子模块232判断是否出现报文丢包。
其中,宿端2还包括告警信息传送模块24,用于在接收异常检测模块23检测到报文接收异常之后,将报文接收异常通过告警信息传送协议报文上报。例如通过接收异常检测模块23检测到报文乱序或报文丢包时,即检测到疏松乱序或严格乱序,将疏松乱序或严格乱序缺陷通过告警信息传送协议报文上报。
其中,如果告警信息传送模块24同时即检测到疏松乱序或严格乱序缺陷,则需要通过优先级判断子模块241,根据设定的疏松乱序缺陷和严格乱序缺陷的优先级,将优先级较高的缺陷通过告警信息传送协议报文上报。例如将疏松乱序缺陷的优先级设为最低,将严格乱序缺陷的优先级设为次最低,则同时检测到疏松乱序缺陷和严格乱序缺陷,根据优先级的判断应将严格乱序缺陷通过告警信息传送协议报文上报。当然也可将严格乱序缺陷的优先级设为最低,将疏松乱序缺陷的优先级设为次最低。本发明实施例还提出一种基于OAM机制的优先级设置方式,基于OAM机制原有的六种缺陷可将严格乱序缺陷的优先级设为最低,将疏松乱序缺陷的优先级设为次最低,这样由于OAM机制故障上报机制只将优先级最高的缺陷上报,因此新设定的疏松乱序缺陷和严格乱序缺陷不会影响原有OAM机制的缺陷,从而避免缺陷检测的冲突。
通过本发明实施例的报文接收异常的检测系统实现了对报文接收异常的实时检测和监控。并且通过严格乱序模式的检测还可以判断是否同时存在报文乱序和报文丢包的现象。特别是通过对疏松乱序缺陷和严格乱序缺陷设置优先级,使得新增的乱序及丢包缺陷检测不会对原有OAM机制的缺陷产生影响。
如图2所示,为本发明实施例一的报文接收异常的检测方法的流程图,在本发明实施例中只检测报文接收是否出现报文乱序现象,包括以下步骤步骤S201,宿端接收源端发送的第一接收故障检测报文和第二接收故障检测报文,其中第二接收故障检测报文为紧邻第一接收故障检测报文之后接收到的接收故障检测报文,第一接收故障检测报文携带有第一序列号,第二接收故障检测报文携带有第二序列号。其中,本发明实施例所提到的第一接收故障检测报文和第二接收故障检测报文只是为了便于说明本发明实施例通过比较相邻的两个接收故障检测报文所携带的序列号而判断是否出现接收故障,因此不能认为本发明实施例仅仅限于通过第一接收故障检测报文和第二接收故障检测报文进行接收故障检测。接收故障检测报文可由原OAM机制故障检测报文扩展定义、修改或者按照原OAM机制故障检测报文的结构新建一个只携带序列号的接收故障检测报文。
步骤S202,分别从接收到的第一接收故障检测报文和第二接收故障检测报文中获取第一序列号和第二序列号。从接收故障检测报文获取序列号的方式与源端在接收故障检测报文中添加序列号的方式相对应。
步骤S203,根据第一和第二序列号的大小来判断是否出现报文乱序。如果第一序列号小于第二序列号时,则说明获取到的序列号排序正常,是按照源端发送的顺序接收的,因此应判断为未出现报文乱序。如果第一序列号大于第二序列号时,则说明出现报文乱序,应确定为出现疏松乱序缺陷,因为源端设定的第二接收故障检测报文比第一接收故障检测报文的序列号小,说明第二接收故障检测报文发送在前,而在宿端却是第二接收故障检测报文在第一接收故障检测报文之后被接收到,因此可以说明出现报文乱序,应确定为出现疏松乱序缺陷。其中疏松模式只要求相邻两个接收故障检测报文中第二接收故障检测报文所携带的序列号大于第一接收故障检测报文所携带的序列号,无论其大多少,这样就可以判断其是否乱序,这样经过该疏松模式检测到的缺陷就称为疏松乱序缺陷。当然也可以规定源端发送接收故障检测报文中添加序列号的顺序为从大到小,则宿端在接收时就可通过第一接收故障检测报文所携带的序列号是否大于第二接收故障检测报文所携带的序列号来判断是否出现乱序。
本发明实施例以上所述源端对发送的接收故障检测报文中序列号的顺序从小到大排列是较优的实施方式,然而本发明实施例不应局限于此,从大到小的序列号排列以及其它序列号的排列方式均能够实现本发明的目的,因此各种序列号的排列方法均应为本发明实施例所涵盖。
步骤S204,宿端将检测到的乱序缺陷通过告警信息传送协议报文上报。缺陷上报利用原有的OAM机制告警信息传送协议报文,将检测到的乱序缺陷上报。
通过上述实施例的报文接收异常的检测方法实现了对报文乱序的实时检测和监控,能够及时发现在链路出现报文乱序缺陷。
如图3所示,为本发明实施例二的报文接收异常的检测方法的流程图,在本发明实施例中只检测报文接收是否出现报文丢包现象,包括以下步骤步骤S301,宿端接收源端发送的第一接收故障检测报文和第二接收故障检测报文,其中第二接收故障检测报文为紧邻第一接收故障检测报文之后接收到的接收故障检测报文,第一接收故障检测报文携带有第一序列号,第二接收故障检测报文携带有第二序列号。其中,本发明实施例所提到的第一接收故障检测报文和第二接收故障检测报文只是为了便于说明本发明实施例通过比较相邻的两个接收故障检测报文所携带的序列号而判断是否出现接收故障,因此不能认为本发明实施例仅仅限于通过第一接收故障检测报文和第二接收故障检测报文进行接收故障检测。接收故障检测报文可由原OAM机制故障检测报文扩展定义、修改或者按照原OAM机制故障检测报文的结构新建一个只携带序列号的接收故障检测报文。
步骤S302,分别从接收到的第一接收故障检测报文和第二接收故障检测报文中获取第一序列号和第二序列号。从接收故障检测报文获取序列号的方式与源端在接收故障检测报文中添加序列号的方式相对应。
步骤S303,根据第一和第二序列号的大小来判断是否出现报文丢包。本发明实施例还提出了一种判断报文是否丢包的方法,在第一和第二序列号的差值大于最小序列号间隔时判断出现报文丢包,其中最小序列号间隔为所述源端为发送的相邻两个接收故障检测报文配置的序列号之间的差值。无论第一序列号大于第二序列号或是第二序列号大于第一序列号,只要两个序列号的差值大于最小序列号间隔,就说明出现了报文丢包现象。例如源端按整数递增的顺序将序列号插入接收故障检测报文,则该最小序列号间隔就为1,如果第一和第二序列号的差值大于1,就说明出现报文丢包现象。
本发明实施例以上所述源端对发送的接收故障检测报文中序列号的顺序从小到大排列是较优的实施方式,然而本发明实施例不应局限于此,从大到小的序列号排列以及其它序列号的排列方式均能够实现本发明的目的,因此各种序列号的排列方法均应为本发明实施例所涵盖。
步骤S304,宿端将检测到的丢包缺陷通过告警信息传送协议报文上报。
缺陷上报利用原有的OAM机制告警信息传送协议报文,将检测到的丢包缺陷上报。
通过上述实施例的报文接收异常的检测方法实现了对报文丢包的实时检测和监控,能够及时发现在链路出现报文丢包缺陷。
如图4所示,为本发明实施例三的报文接收异常的检测方法的流程图,在本发明实施例中既检测报文乱序又检测报文丢包,如果既出现报文乱序又出现报文丢包,则说明出现严格乱序缺陷,该实施例包括以下步骤
步骤S401,宿端接收源端发送的第一接收故障检测报文和第二接收故障检测报文,其中第二接收故障检测报文为紧邻第一接收故障检测报文之后接收到的接收故障检测报文,第一接收故障检测报文携带有第一序列号,第二接收故障检测报文携带有第二序列号。其中,本发明实施例所提到的第一接收故障检测报文和第二接收故障检测报文只是为了便于说明本发明实施例通过比较相邻的两个接收故障检测报文所携带的序列号而判断是否出现接收故障,因此不能认为本发明实施例仅仅限于通过第一接收故障检测报文和第二接收故障检测报文进行接收故障检测。接收故障检测报文可由原OAM机制故障检测报文扩展定义、修改或者按照原OAM机制故障检测报文的结构新建一个只携带序列号的接收故障检测报文。
步骤S402,分别从接收到的第一接收故障检测报文和第二接收故障检测报文中获取第一序列号和第二序列号。从接收故障检测报文获取序列号的方式与源端在接收故障检测报文中添加序列号的方式相对应。
步骤S403,根据第一和第二序列号的大小来判断是否出现报文乱序。如果第一序列号小于第二序列号时,则说明获取到的序列号排序正常,是按照源端发送的顺序接收的,因此应判断为未出现报文乱序。如果第一序列号大于第二序列号时,则说明出现报文乱序,应确定为出现疏松乱序缺陷,因为在源端第二接收故障检测报文比第一接收故障检测报文的序列号小,则说明第二接收故障检测报文发送在前,而在宿端却是第二接收故障检测报文在第一接收故障检测报文之后被接收到,因此说明出现报文乱序,应确定为出现疏松乱序缺陷。其中疏松模式只要求相邻两个接收故障检测报文中第二接收故障检测报文所携带的序列号大于第一接收故障检测报文所携带的序列号,无论其大多少,这样就可以判断其是否乱序,这样经过该疏松模式检测到的缺陷就称为疏松乱序缺陷。当然也可以规定源端发送接收故障检测报文中添加序列号的顺序为从大到小,则宿端在接收时就可通过第一接收故障检测报文所携带的序列号是否大于第二接收故障检测报文所携带的序列号来判断是否出现乱序。
步骤S404,在检测是否出现报文乱序之后,检测是否有报文丢包现象。
严格乱序缺陷不仅要检测是否出现报文乱序还要检测是否出现报文丢包,如果既出现报文乱序又出现报文丢包则说明存在严格乱序缺陷。根据第一和第二序列号的大小来判断是否出现报文丢包。本发明实施例还提出了一种判断报文是否丢包的方法,在第一和第二序列号的差值大于最小序列号间隔时判断出现报文丢包,其中最小序列号间隔为所述源端为发送的相邻两个接收故障检测报文配置的序列号之间的差值。无论第一序列号大于第二序列号或是第二序列号大于第一序列号,只要两个序列号的差值大于最小序列号间隔,就说明出现了报文丢包现象。例如源端按整数递增的顺序将序列号插入接收故障检测报文,则该最小序列号间隔就为1,如果第一序列号和第二序列号的差值大于1,就说明出现报文丢包现象。
如果在步骤S403的检测中未发现报文乱序,在步骤S404中也未发现报文丢包,则说明该链路既不存在乱序问题也不存在丢包问题;如果在步骤S403的检测中未发现报文乱序,而在步骤S404中发现报文丢包,则说明链路不存在乱序但存在丢包的问题;如果在步骤S403的检测中发现报文乱序,而在步骤S404中未发现报文丢包,则说明链路存在乱序但不丢包的问题;如果在步骤S403的检测中发现报文乱序,在步骤S404中又发现报文丢包,则说明链路既存在报文乱序又存在报文丢包的问题,即出现严格乱序缺陷。
本发明实施例以上所述源端对发送的接收故障检测报文中序列号的顺序从小到大排列是较优的实施方式,然而本发明实施例不应局限于此,从大到小的序列号排列以及其它序列号的排列方式均能够实现本发明的目的,因此各种序列号的排列方法均应为本发明实施例所涵盖。
步骤S405,如果既出现疏松乱序缺陷又出现严格乱序缺陷,则根据设定的疏松乱序缺陷和严格乱序缺陷的优先级,将优先级较高的缺陷通过告警信息传送协议报文上报。因为基于OAM机制每次只将优先级最高的缺陷上报,所以为了避免缺陷检测的冲突,为上述两种新建的缺陷类型设置优先级,例如将疏松乱序缺陷优先级设为最低,将严格乱序缺陷优先级设为次最低,如果同时检测到一个OAM机制原有缺陷和疏松乱序缺陷,则因为疏松乱序缺陷的优先级最低,就会将该OAM机制的原有缺陷上报;如果同时检测到严格乱序缺陷和疏松乱序缺陷,则会将严格乱序缺陷上报。这样新增加的乱序缺陷就不会对原有OAM机制的缺陷产生影响。也可将严格乱序缺陷优先级设为最低,将疏松乱序缺陷优先级设为次最低,该优先级根据用户需要自由设定。当然也可设置严格乱序缺陷的优先级高于疏松乱序缺陷的优先级,例如将疏松乱序缺陷的优先级设置为最低,严格乱序缺陷设置为次最低。
通过上述实施例的报文接收异常的检测方法实现了对报文乱序以及报文丢包的实时检测和监控,能够及时发现在链路出现报文乱序缺陷。本发明实施例还通过设置缺陷优先级的方法,将检测出的乱序缺陷中优先级较高的缺陷上报,从而避免了缺陷检测的冲突。
本发明实施例针对上述实施例一、实施例二和实施例三的报文接收异常的检测方法中,在源端发送的接收故障检测报文中添加序列号提出了以下三种方法。
本发明实施例利用原有的OAM机制故障检测报文携带序列号,对于OAM机制有两种OAM机制故障检测报文,即CV(Connectivity Verification,连接验证报文)和FFD(Fast Failure Detection,快速故障探测)报文,其中两个报文内容相同,CV报文每一秒钟发送一个,FFD报文50毫秒发送一个。每个CV报文或FFD报文携带一个TTSI(Trail Termination Source Identifier,路径源端标识符),该TTSI标识符由源LSR(Label Switch Router,标签转换路由器)标识符和LSP(Layered Service Provider,分层服务提供程序)标识符组成。本发明实施例提供了一种在保留原有OAM功能的基础上利用CV报文或FFD报文承载序列号的方法。在保留原有OAM功能的基础上,将OAM机制故障检测报文的原有字段重新划分出一部分作为序列号域来携带序列号。
其中原有CV报文或FFD报文的结构如下CV报文的结构

FFD报文的结构

从上报文的结构看出,CV报文和FFD报文的结构报文长度相同,结构类似,所不同的是在FFD报文中增加了频率部分。因此以下仅均以CV报文为例来说明本发明实施承载序列号的方法。本发明实施例以下提出了以下三种生成携带序列号的接收故障检测报文的方法,通过以下三种方法中的任一种均可实现在接收故障检测报文中添加序列号。以下三种方法是本发明实施例基于OAM机制故障检测报文较优的实施方式,然而并不能因此认为本发明实施例只能通过基于OAM机制故障检测报文生成携带序列号的接收故障检测报文。
生成携带序列号的接收故障检测报文的方法一、将OAM机制故障检测报文的原有字段重新划分出一部分作为序列号域来携带序列号。例如利用CV报文承载序列号的结构,将OAM机制故障检测报文的18octets的原有字段填充部分重新划分出一部分8octets作为序列号域来携带序列号,这样通过原有CV报文承载序列号可以保持报文长度不变,因此不增加网络的负担。

通过该方法一在原有的OAM机制故障检测报文承载序列号,可以保持报文长度不变,因此不会增加网络的负担。
生成携带序列号的接收故障检测报文的方法二、将原有OAM机制故障检测报文加长,在OAM机制故障检测报文的加长部分增加序列号域来携带序列号。例如对于OAM机制利用加长的CV报文承载序列号的结构,在保留原有OAM功能的基础上,将OAM机制故障检测报文加长,在OAM机制故障检测报文的加长部分增加序列号域来携带序列号,例如在原有OAM机制故障检测报文的报文尾部增加10octets的序列号域来携带序列号,包括8octes的序列号和2octets BIP16序列号校验部分。其中,序列号校验部分携带有与序列号部分相同的内容,在接收到该报文后对序列号部分进行校验,以防止在报文传输过程中序列号部分被改变,从而防止本来顺序正确的报文却因为序列号部分被改变而上报乱序故障。

通过该方法二利用加长的OAM机制故障检测报文承载序列号可以不更改原OAM机制故障检测报文的长度,在宿端获取序列号之后可将该OAM机制故障检测报文加长的序列号部分切除,因此切除后上送给上层软件来检测OAM机制的其它缺陷。
生成携带序列号的接收故障检测报文的方法三、根据OAM机制故障检测报文的结构新建携带有序列号的接收故障检测报文。例如将的接收故障检测报文的功能类型设为02Hex。

通过方法三生成的接收故障检测报文只用于报文乱序及报文丢包的检测,不能实现原有OAM机制的其它缺陷检测,因此不影响原有的报文和协议,而且相对于方法二所示序列号添加方法来说没有增加报文的长度,因此相对于方法二的实施例来说也不会增加带宽。
上述三个在接收故障检测报文中添加序列号的方法只是在OAM机制下较优的方法,当然本发明的重点不在于利用原有OAM机制的故障检测报文,因此任何通过携带序列号达到检测报文乱序及报文丢包缺陷的方法均应包含在本发明实施例的保护范围内。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种报文接收异常的检测方法,其特征在于,包括以下步骤接收源端发送的第一接收故障检测报文和第二接收故障检测报文,其中所述第二接收故障检测报文为紧邻所述第一接收故障检测报文之后接收到的接收故障检测报文,所述第一接收故障检测报文携带有第一序列号,所述第二接收故障检测报文携带有第二序列号;分别从接收到的所述第一接收故障检测报文和所述第二接收故障检测报文中获取所述第一序列号和所述第二序列号;根据所述第一和第二序列号的大小来判断是否出现报文接收异常。
2.如权利要求1所述报文接收异常的检测方法,其特征在于,所述报文接收异常包括报文乱序,所述根据第一和第二序列号的大小来判断是否出现报文接收异常的步骤包括当所述第一序列号小于所述第二序列号时,则判断为未出现报文乱序。
3.如权利要求1所述报文接收异常的检测方法,其特征在于,所述报文接收异常包括报文乱序,所述根据第一和第二序列号的大小来判断是否出现报文接收异常的步骤包括当所述第一序列号大于所述第二序列号时,则判断出现报文乱序,确定为出现疏松乱序缺陷。
4.如权利要求1或2所述报文接收异常的检测方法,其特征在于,所述根据第一和第二序列号的大小来判断是否出现报文接收异常的步骤还包括判断所述第一和第二序列号的差值是否为最小序列号间隔,其中所述最小序列号间隔为所述源端为发送的相邻两个接收故障检测报文配置的序列号之间的差值;当所述第一和第二序列号的差值为最小序列号间隔时,则判断未出现报文丢包;当所述第一和第二序列号的差值大于所述最小序列号间隔时,则判断出现报文丢包。
5.如权利要求3所述报文接收异常的检测方法,其特征在于,在所述判断出现报文乱序的步骤还包括判断所述第一和第二序列号的差值是否为最小序列号间隔,其中所述最小序列号间隔为所述源端为发送的相邻两个接收故障检测报文配置的序列号之间的差值;当所述第一和第二序列号的差值大于所述最小序列号间隔时,则判断出现报文丢包,确定为出现严格乱序缺陷。
6.如权利要求3所述报文接收异常的检测方法,其特征在于,在判断出现报文乱序,确定为出现疏松乱序缺陷的步骤之后,还包括以下步骤将所述报文接收异常通过告警信息传送协议报文上报。
7.如权利要求5所述报文接收异常的检测方法,其特征在于,在所述确定为出现严格乱序缺陷的步骤之后还包括,根据设定的所述疏松乱序缺陷和所述严格乱序缺陷的优先级,将所述优先级较高的缺陷通过告警信息传送协议报文上报。
8.如权利要求1所述报文接收异常的检测方法,其特征在于,所述接收故障检测报文携带有序列号具体包括将OAM机制故障检测报文的原有字段重新划分出一部分作为序列号域来携带所述序列号。
9.如权利要求1所述报文接收异常的检测方法,其特征在于,所述接收故障检测报文携带有序列号具体包括将OAM机制故障检测报文加长,在所述OAM机制故障检测报文的加长部分增加序列号域来携带所述序列号。
10.如权利要求1所述报文接收异常的检测方法,其特征在于,所述接收故障检测报文携带有序列号具体包括根据OAM机制故障检测报文的结构新建携带有所述序列号的接收故障检测报文。
11.一种报文接收异常的检测系统,包括至少一个源端和至少一个宿端,其特征在于,所述源端,用于向所述宿端顺序地发送接收故障检测报文,并在所述接收故障检测报文中添加序列号,所述序列号的顺序与所述接收故障检测报文的发送顺序相同;所述宿端,用于接收源端发送的第一接收故障检测报文和第二接收故障检测报文,其中所述第二接收故障检测报文为紧邻所述第一接收故障检测报文之后接收到的接收故障检测报文,并从接收到的所述第一接收故障检测报文和所述第二接收故障检测报文中获取所述第一序列号和所述第二序列号,根据所述第一和第二序列号的大小来判断是否出现报文接收异常。
12.如权利要求11所述报文接收异常的检测系统,其特征在于,所述源端包括报文生成模块、序列号分配模块和报文发送模块,所述报文生成模块,用于生成携带序列号的所述接收故障检测报文;所述序列号分配模块,用于按照所述接收故障检测报文的发送顺序分配序列号;所述报文发送模块,用于向所述宿端顺序发送携带序列号的接收故障检测报文。
13.如权利要求12所述报文接收异常的检测系统,其特征在于,所述报文生成模块包括扩展定义子模块,用于将OAM机制故障检测报文的原有字段重新划分出一部分作为序列号域来携带序列号。
14.如权利要求12所述报文接收异常的检测系统,其特征在于,所述报文生成模块包括报文加长子模块,用于将OAM机制故障检测报文加长,在所述OAM机制故障检测报文的加长部分增加序列号域来携带序列号。
15.如权利要求12所述报文接收异常的检测系统,其特征在于,所述报文生成模块包括报文新建子模块,用于根据OAM机制故障检测报文的结构新建携带有序列号的接收故障检测报文。
16.如权利要求11所述报文接收异常的检测系统,其特征在于,所述宿端包括报文接收模块、序列号获取模块和接收异常检测模块,所述报文接收模块,用于接收所述源端发送的第一接收故障检测报文和第二接收故障检测报文;所述序列号获取模块,用于从所述报文接收模块接收到的第一接收故障检测报文和第二接收故障检测报文中获取所述第一序列号和所述第二序列号;所述接收异常检测模块,用于根据所述第一和第二序列号的大小来判断是否出现报文接收异常。
17.如权利要求16所述报文接收异常的检测系统,其特征在于,所述接收异常检测模块包括报文乱序判断子模块,用于在所述第一序列号大于所述第二序列号时判断出现报文乱序,确定为疏松乱序缺陷。
18.如权利要求16或17所述报文接收异常的检测系统,其特征在于,所述接收异常检测模块包括报文丢包判断子模块,用于判断所述第一和第二序列号的差值是否大于最小序列号间隔,如果大于则出现报文丢包;如果既出现报文乱序又出现报文丢包,则确定为出现严格乱序缺陷,所述最小序列号间隔为所述源端为发送的相邻两个接收故障检测报文配置的序列号之间的差值。
19.如权利要求11所述报文接收异常的检测系统,其特征在于,所述宿端还包括告警信息传送模块,用于在所述接收异常检测模块检测到报文接收异常之后,将所述报文接收异常通过告警信息传送协议报文上报。
20.如权利要求19所述报文接收异常的检测系统,其特征在于,所述告警信息传送模块包括优先级判断子模块,用于根据设定的所述疏松乱序缺陷和所述严格乱序缺陷的优先级,将所述优先级较高的缺陷通过告警信息传送协议报文上报。
21.一种源端,其特征在于,包括报文生成模块、序列号分配模块和报文发送模块,所述报文生成模块,用于生成携带序列号的所述接收故障检测报文;所述序列号分配模块,用于按照所述接收故障检测报文的发送顺序分配序列号;所述报文发送模块,用于向所述宿端顺序发送携带序列号的接收故障检测报文。
22.如权利要求21所述源端,其特征在于,所述报文生成模块包括扩展定义子模块,用于将OAM机制故障检测报文的原有字段重新划分出一部分作为序列号域来携带序列号。
23.如权利要求21所述源端,其特征在于,所述报文生成模块包括报文加长子模块,用于将OAM机制故障检测报文加长,在所述OAM机制故障检测报文的加长部分增加序列号域来携带序列号。
24.如权利要求21所述源端,其特征在于,所述报文生成模块包括报文新建子模块,用于根据OAM机制故障检测报文的结构新建携带有序列号的接收故障检测报文。
25.一种宿端,用于与权利要求21所述源端配合进行报文接收异常的检测,其特征在于,包括报文接收模块、序列号获取模块和接收异常检测模块,所述报文接收模块,用于接收所述源端发送的第一接收故障检测报文和第二接收故障检测报文,其中所述第二接收故障检测报文为紧邻所述第一接收故障检测报文之后接收到的接收故障检测报文,所述第一接收故障检测报文携带有第一序列号,所述第二接收故障检测报文携带有第二序列号;所述序列号获取模块,用于从所述报文接收模块接收到的第一接收故障检测报文和第二接收故障检测报文中获取所述第一序列号和所述第二序列号;所述接收异常检测模块,用于根据所述第一和第二序列号的大小来判断是否出现报文接收异常。
26.如权利要求25所述宿端,其特征在于,所述接收异常检测模块包括报文乱序判断子模块,用于在所述第一序列号大于所述第二序列号时判断出现报文乱序,确定为疏松乱序缺陷。
27.如权利要求25或26所述宿端,其特征在于,所述接收异常检测模块包括报文丢包判断子模块,用于判断所述第一和第二序列号的差值是否大于最小序列号间隔,如果大于则出现报文丢包;如果既出现报文乱序又出现报文丢包,则确定为出现严格乱序缺陷,所述最小序列号间隔为所述源端为发送的相邻两个接收故障检测报文配置的序列号之间的差值。
28.如权利要求25所述宿端,其特征在于,还包括告警信息传送模块,用于在所述接收异常检测模块检测到报文接收异常之后,将所述报文接收异常通过告警信息传送协议报文上报。
29.如权利要求28所述宿端,其特征在于,所述告警信息传送模块包括优先级判断子模块,用于根据设定的所述疏松乱序缺陷和所述严格乱序缺陷的优先级,将所述优先级较高的缺陷通过告警信息传送协议报文上报。
全文摘要
本发明实施例公开了一种报文接收异常的检测方法,包括以下步骤接收源端发送的第一和第二接收故障检测报文;分别从接收到的所述第一和所述第二接收故障检测报文中获取第一和第二序列号;根据第一和第二序列号的大小来判断是否出现报文接收异常。本发明实施例还公开了一种报文接收异常的检测系统,包括至少一个源端和至少一个宿端,所述源端用于向所述宿端顺序地发送携带序列号的接收故障检测报文;所述宿端用于根据接收到的第一接收故障检测报文和第二接收故障检测报文所携带的列号的大小来判断是否出现报文接收异常。通过本发明实施例实现了对报文乱序的实时检测和监控,克服了现有技术中无法检测乱序缺陷的问题。
文档编号H04L12/56GK101068170SQ20071010599
公开日2007年11月7日 申请日期2007年6月5日 优先权日2007年6月5日
发明者王雷 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1