报文丢失检测方法、装置、及系统的制作方法

文档序号:7977790阅读:261来源:国知局
专利名称:报文丢失检测方法、装置、及系统的制作方法
技术领域
本发明涉及网络系统,特别地,涉及一种报文丢失检测方法、装置、及系统。
背景技术
报文是网络传输中的最小处理单元。网络传输的过程中可能会发生丢包现象,即指发送端发送出报文、而接收端没有收到对应报文或收到报错信息的现象。丢包现象包括系统主动丢包和故障丢包。系统主动丢包主要由网络拥塞引起,系统对主动丢包进行相关记录。故障丢包主要由物理线路故障、设备故障、病毒攻击、路由信息错误等故障引起,这类丢包系统无法记录、甚至无法察觉。目前在相关技术中,检测由链路故障引起丢包现象的技术包括丢包统计和 keep-alive检测机制。1、丢包统计机制。丢包统计机制的原理是,器件(或模块)对接收到的报文进行统计,判断该报文是否符合丢弃条件,如果符合,设备会主动丢弃该报文并计数;如设备检测到报文有CRC错误,也会主动丢弃并计数;用户通过查询丢包统计记录就可以知道是否有报文被丢弃。但是,在实际的设备调试中和一些故障分析中发现,报文的传输路径可能会经过多个器件及复杂的处理,很有可能报文没有到达统计报文的器件节点、就因某种故障而被动丢失了,这种情况下、丢包统计是无法统计出是否有丢包现象的。2、keep-alive检测机制。Ke印_alive检测机制对报文传输的链路路径的连通状态进行检测。Keep-alive检测机制是在通信的两端、周期性的循环互发探测报文 (keep-alive报文),若接收端接收到ke印-alive报文会响应该报文,若发送端接收到来自接收端的keep-alive响应报文表示此链路连通,没有收到则表示该链路断开。Keep-alive检测机制发送探测报文的周期最小是1秒,如果在周期之间发生由链路故障引起的丢包或仅发生极少量的丢包现象,keep-alive检测机制是无法检测到的。例如在两次成功地完成keep-alive检测的中间发生一个报文丢失,系统无法检测到丢失了这个报文;又例如,在一段很长的时间内仅发生瞬间的链路故障导致少量报文丢失的情况下,keep-alive报文能够正常传输,但是也检测不到这一瞬间的链路中断。可见,在相关技术中,对链路故障引起的丢包现象检测存在检测盲点、检测效果不佳的问题。

发明内容
有鉴于此,本发明实施例提供了一种报文丢失检测方法,用以解决相关技术中对链路故障引起的丢包现象检测存在检测盲点、检测效果不佳的问题。相应的,本发明实施例还提供了一种报文丢失检测装置和系统。本发明实施例的技术方案如下一种报文丢失检测方法,包括调整接收端的周期同步对应到发送端的周期;根据调整后的同步对应周期,读取发送端累计发送报文的总数目,读取接收端累计接收报文的总数目、接收端在相邻的两个周期内分别接收到的报文的数目;若接收端在相邻的两个周期内分别接收到的报文的数目均小于预定阈值,且发送端累计发送报文的总数目不等于接收端累计接收报文的总数目,确定发送端和接收端之间存在报文丢失。一种报文丢失检测装置,包括同步调整模块,用于调整接收端的周期同步对应到发送端的周期;发送端读取模块,用于根据同步调整模块调整的同步对应周期,读取发送端累计发送报文的总数目;接收端读取模块,用于根据同步调整模块调整的同步对应周期,读取接收端累计接收报文的总数目、接收端在相邻的两个周期内分别接收到的报文的数目; 第一判断模块,用于判断接收端读取模块读取到的接收端在相邻的两个周期内分别接收到的报文的数目是否小于预定阈值;第二判断模块,用于在第一判断模块判断接收端在相邻的两个周期内分别接收到的报文的数目均小于预定阈值的情况下,判断若发送端读取模块读取的发送端累计发送报文的总数目不等于接收端读取模块读取的接收端累计接收报文的总数目,确定发送端和接收端之间存在报文丢失。一种报文丢失检测系统,包括发送端设备、接收端设备、报文丢失检测装置;发送端设备,用于向接收端设备发送报文;接收端设备,用于接收来自发送端设备的报文;报文丢失检测装置,用于调整接收端设备的周期同步对应到发送端设备的周期;根据调整后的同步对应周期,读取发送端设备累计发送报文的总数目,读取接收端设备累计接收报文的总数目、接收端设备在相邻的两个周期内分别接收到的报文的数目;若接收端设备在相邻的两个周期内分别接收到的报文的数目均小于预定阈值,且发送端设备累计发送报文的总数目不等于接收端设备累计接收报文的总数目,确定发送端设备和接收端设备之间存在报文丢失。本发明实施例的方案通过在调整后的同步对应周期内,读取接收端和发送端之间传输的报文的相关计数,判断接收端在相邻的两个周期内分别接收到的报文数量均小于预定阈值、且接收端累计接收到的报文总数不等于发送端累计发送的报文的总数的情况下, 能够确定接收端和发送端之间存在由链路故障引起的报文丢失,从而能够有效地判断接收端和发送端之间发生的链路故障及故障位置,提高系统对丢包故障的监控能力。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。


图1为根据本发明实施例的系统运行环境的结构示意图;图2为根据本发明实施例报文丢失检测方法的工作流程图;图3为根据本发明实施例报文丢失检测装置的结构示意图;图4为本发明实施例具体应用的场景示意图;图5为本发明实施例具体应用的工作流程图。
具体实施例方式以下结合附图对本发明的实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。在相关技术中,网络设备的接口通常具备报文统计功能,用以对设备自身的报文传输状况进行监控。但是对于链路上传输的报文,链路自身不会对报文进行统计,尤其是当发生由链路瞬时故障引起的丢包故障时,现有技术存在检测盲点、并且检测效果不佳。此外,现有技术对链路故障的排查,不能准确定位、只能人工对链路进行逐段排查来确定故障的位置。针对上述问题,本发明实施例提供了如下的解决方案在调整接收端的周期与发送端的周期同步对应的基础上,读取并比对发送端发送的和接收端接收的相关报文计数, 判断若接收端在相邻的两个周期内分别接收到的报文的数目均小于预定阈值,且发送端累计发送的报文总数不等于接收端累计接收的报文总数情况下,确定发送端和接收端之间存在报文丢失。在上述方案的判决条件中,如果接收端在相邻的两个周期内分别接收到的报文数目均小于预定阈值(例如阈值=1),可知接收端可能没有接收到链路正常情况下的数据流量、或者发送端可能没有向接收端发送报文,在这种情况下,如果发送端累计发送的报文总数不等于接收端累计接收的报文总数,就说明发送端和接收端之间存在数据传输、但是发送端在相邻的两个周期内发送的报文均没有被接收端接收到,即发送端和接收端之间存在报文丢失,并且若上述阈值远小于链路正常时报文传输的数量时,可知这种报文丢失是由于链路故障引起的。这样,根据本发明实施例的技术方案,若发送端发送的和接收端接收到的相关报文计数满足上述判决条件,就能够确认发送端和接收端之间存在由链路故障引起的报文丢失,从而能够提高对设备间或链路上的报文丢失的检测效率,并且能够确定故障发生的链路段落、有利于故障排除。图1示出了根据本发明实施例的系统运行环境的示意图,如图1所示,本发明实施例提供的报文丢失检测系统包括发送端设备1、接收端设备2、报文丢失检测装置3。发送端设备1,用于向接收端设备2发送报文;接收端设备2用于接收来自发送端设备1的报文。报文丢失检测装置3用于调整接收端设备2的周期同步对应到发送端1的周期; 根据调整后的同步对应周期,读取发送端设备1累计发送的报文总数、接收端设备2累计接收到的报文总数、接收端设备2在相邻的两个周期内分别接收到的报文的数目;具体判断若接收端设备2在相邻的两个周期内分别接收到的报文的数目均小于预定阈值,且发送端设备1累计发送的报文总数不等于接收端设备2累计接收的报文总数情况下,确定发送端设备1和接收端设备2之间存在报文丢失。具体地,图2示出了报文丢失检测装置的工作流程,如图2所示,该工作流程包括步骤21、调整接收端的周期同步对应到发送端的周期;一种较优的方式,将接收端的第η个周期对应为发送端的第n-i个周期,其中,i为调整值,i的取值可以根据经验或具体情况来确定;步骤22、根据调整后的同步对应周期,读取发送端累计发送报文的总数目、读取接收端累计接收报文的总数目、接收端在相邻的两个周期内分别接收到的报文的数目;步骤23、若接收端在相邻的两个周期内分别接收到的报文的数目均小于预定阈值,且发送端累计发送报文的总数目不等于接收端累计接收报文的总数目,确定发送端和接收端之间存在报文丢失。为实现上述功能,本发明实施例这里的报文丢失检测方法可以通过硬件实现,也可以通过下述软件程序实现。图3是根据本发明实施例的报文丢失检测装置的结构示意图,如图3所示,该装置包括发送端读取模块31、接收端读取模块32、同步调整模块33、第一判断模块34、第二判断模块35。同步调整模块33,分别连接至发送端和接收端,用于调整接收端的周期同步对应到发送端的周期;发送端读取模块31,分别连接至同步调整模块33和发送端,用于根据同步调整模块33调整的同步周期,读取发送端累计发送报文的总数目;接收端读取模块32,分别连接至同步调整模块33和接收端,用于根据同步调整模块33调整的同步周期,读取接收端累计接收报文的总数目、接收端在相邻的两个周期内分别接收到的报文的数目;第一判断模块34,连接至接收端读取模块32,用于判断接收端读取模块32读取的接收端在相邻的两个周期内分别接收到的报文的数目是否均小于预定阈值;第二判断模块35,分别连接至发送端读取模块31、接收端读取模块32和第一判断模块34,用于在第一判断模块34判断接收端在相邻的两个周期内分别接收报文的数目均小于预定阈值的情况下,判断发送端读取模块31读取的发送端累计发送报文的总数目与接收端读取模块32读取的接收端累计接收报文的总数目是否相等,若二者不相等,确定发送端和接收端之间存在报文丢失。一种较优的方式,第一判断模块34和第二判断模块35也可以合一设置。图3所示装置的工作原理如图2所示,这里不再赘述。根据本发明实施例提供的技术方案,通过在调整接收端的周期同步对应到发送端的周期的基础上,读取、对比发送端发送的和接收端接收的相关报文计数,判断接收端在相邻的两个周期内分别接收到的报文的数目均小于阈值、且发送端累计发送的报文总数与接收端累计接收的报文总数不相等的情况下,能够确认发送端和接收端之间存在由链路故障引起的报文丢失。本发明实施例能够有效地检测出链路故障,相比于相关技术,实施效果更为有效、检测效率更高,技术方案成本低、不占用系统资源。本发明提供的技术方案能够应用于检测硬件设备、硬件器件之间的报文丢失,也可以应用于具有报文计数功能的虚拟链路或软件模块之间的报文丢失检测。下面对本发明实施例具体应用的场景进行说明。图4中示出了本发明实施例具体应用的场景示意图。如图4所示,器件A向器件 C发送报文,其间报文经过器件B;根据本发明实施例的报文丢失检测装置的计时模块36连接至发送端读取模块31、接收端读取模块32,同步调整模块33连接至器件A的发送端、器件C的接收端,发送端读取模块31连接至器件A的发送端和同步调整模块33,接收端读取模块32连接至器件C的接收端和同步调整模块33,第一判断模块34连接至接收端读取模块32,第二判断模块35连接至发送端读取模块31、接收端读取模块32和第一判断模块34, 告警输出模块37接至第二判断模块35、外部显示模块D。
图5示出了图4中所示报文检测装置的工作流程图。步骤51、计时模块36判断是否到轮询周期,如果到达轮询周期,执行步骤52,否则继续等候;优选地,轮询周期可以根据具体需要来设置,如果链路负荷较重、或者链路状况不稳定时,可实时地对链路进行检测、将轮询周期的长度设置为发送端的发送周期长度,如果链路负荷较轻、或链路状况稳定时,可按具体需要设置轮询周期的长度;步骤52、由经验统计可知,器件C的周期比器件A的周期晚2个周期,同步调整模块33将器件C的周期η对应为器件A的周期η-2 ;步骤53、基于同步调整模块33调整的同步对应周期,发送端读取模块31读取器件A累计发送的报文总数、接收端读取模块32读取器件C累计接收的报文总数、接收端在相邻两个周期内分别接收到的报文数目;具体地,器件A 累计发送的报文总数 I^otalJendCount (η),Total_SendCount (η) =SendCount (η) +Total_SendCount (η_1),SendCount (η)为器件 A 第 η 周期发送的报文数目、其值初始化设置为SendCoimt (0) = O ;器件C接收到的总报文数TotalRcvCount (η), Total_RcvCount (η) = RcvCount (η) +Total_RcvCount (η_1), RcvCount (η)为器件 C 第 η 周期接收的报文数目、其值初始化设置为RcvCoimt (0) = O ;器件C在相邻的两个周期内分别接收到的报文数目为RcvCount (n)、RcvCount (η_1);步骤Μ、第一判断模块34判断器件C在相邻的两个周期内分别接收到的报文数目是否均小于预设的阈值1,即判断RcvCount (η) < 1,且RcvCount (η_1) < 1是否成立,若成立,处理进入步骤55,否则处理返回步骤51 ;步骤55 ;第二判断模块 35 判断 I^otalkndCount (η) Φ Total_RcvCount (η)是否成立,若成立,则表示器件A和器件C之间存在报文丢失,处理进入步骤56,否则处理返回步骤51 ;步骤56,告警输出模块37将告警信息输出到外部显示模块D,告警信息包括器件 A至器件C之间发生报文丢失、有链路故障;处理返回步骤51。综上所述,根据本发明实施例提供的技术方案,通过在调整接收端的周期同步对应到发送端的周期的基础上,读取、对比发送端发送的和接收端接收的相关报文计数,判断接收端在相邻的两个周期内分别接收到的报文的数目均小于阈值、且发送端累计发送的报文总数与接收端累计接收的报文总数不相等的情况下,能够确认发送端和接收端之间存在由链路故障引起的报文丢失。对比于现有技术,本发明实施例提供的方案对链路故障的检测效率更高、并能有效地检测链路的短暂故障,能够确定故障发生的链路段落、有利于故障排除;并且,不用在接收端和发送端之间发送专门的检测报文、不占用系统资源,能够减轻设备之间由于转发检测报文而给系统带来的额外负担。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种报文丢失检测方法,其特征在于,包括调整接收端的周期同步对应到发送端的周期;根据调整后的同步对应周期,读取发送端累计发送报文的总数目,读取接收端累计接收报文的总数目、接收端在相邻的两个周期内分别接收到的报文的数目;若所述接收端在相邻的两个周期内分别接收到的报文的数目均小于预定阈值,且所述发送端累计发送报文的总数目不等于所述接收端累计接收报文的总数目,确定所述发送端和所述接收端之间存在报文丢失。
2.根据权利要求1所述的方法,其特征在于,调整接收端的周期同步对应到发送端的周期包括将所述接收端的第η个周期对应为所述发送端的第n-i个周期,其中,i为调整值。
3.一种报文丢失检测装置,其特征在于,包括同步调整模块,用于调整接收端的周期同步对应到发送端的周期;发送端读取模块,用于根据同步调整模块调整的同步对应周期,读取发送端累计发送报文的总数目;接收端读取模块,用于根据同步调整模块调整的同步对应周期,读取接收端累计接收报文的总数目、接收端在相邻的两个周期内分别接收到的报文的数目;第一判断模块,用于判断所述接收端读取模块读取到的所述接收端在相邻的两个周期内分别接收到的报文的数目是否小于预定阈值;第二判断模块,用于在所述第一判断模块判断所述接收端在相邻的两个周期内分别接收到的报文的数目均小于预定阈值的情况下,判断若所述发送端读取模块读取的所述发送端累计发送报文的总数目不等于所述接收端读取模块读取的所述接收端累计接收报文的总数目,确定所述发送端和所述接收端之间存在报文丢失。
4.根据权利要求3所述的装置,其特征在于,所述同步调整模块将所述接收端的第η个周期对应为所述发送端的第n-i个周期,其中,i为调整值。
5.一种报文丢失检测系统,其特征在于,包括发送端设备、接收端设备、报文丢失检测装置;所述发送端设备,用于向所述接收端设备发送报文;所述接收端设备,用于接收来自所述发送端设备的报文;所述报文丢失检测装置,用于调整所述接收端设备的周期同步对应到所述发送端设备的周期;根据调整后的同步对应周期,读取发送端设备累计发送报文的总数目,读取接收端设备累计接收报文的总数目、接收端设备在相邻的两个周期内分别接收到的报文的数目; 若所述接收端设备在相邻的两个周期内分别接收到的报文的数目均小于预定阈值,且所述发送端设备累计发送报文的总数目不等于所述接收端设备累计接收报文的总数目,确定所述发送端设备和所述接收端设备之间存在报文丢失。
6.根据权利要求5所述的系统,其特征在于,所述报文丢失检测装置,具体调整所述接收端设备的第η个周期同步对应到所述发送端设备的第n-i个周期,其中,i为调整值。
全文摘要
本发明公开了一种报文丢失检测方法、装置及系统,该方法包括调整接收端的周期同步对应到发送端的周期;根据调整后的同步对应周期,读取发送端累计发送报文的总数目;根据调整后的同步对应周期,读取接收端累计接收报文的总数目、接收端在相邻的两个周期内分别接收到的报文的数目;若接收端在相邻的两个周期内分别接收到的报文的数目均小于预定阈值,且发送端累计发送报文的总数目不等于接收端累计接收报文的总数目,确定发送端和接收端之间存在报文丢失。根据本发明的技术方案,能够确定接收端和发送端之间存在由链路故障引起的报文丢失,从而能够有效地判断接收端和发送端之间发生的链路故障及故障位置,提高系统对丢包故障的监控能力。
文档编号H04L12/26GK102404170SQ201110367270
公开日2012年4月4日 申请日期2011年11月18日 优先权日2011年11月18日
发明者邓锦 申请人:福建星网锐捷网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1