CN102404069B - 一种数据封装链路丢包和乱序统计的方法及系统 - Google Patents

一种数据封装链路丢包和乱序统计的方法及系统 Download PDF

Info

Publication number
CN102404069B
CN102404069B CN201010274615.5A CN201010274615A CN102404069B CN 102404069 B CN102404069 B CN 102404069B CN 201010274615 A CN201010274615 A CN 201010274615A CN 102404069 B CN102404069 B CN 102404069B
Authority
CN
China
Prior art keywords
sequence number
data encapsulation
packet
current
encapsulation packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010274615.5A
Other languages
English (en)
Other versions
CN102404069A (zh
Inventor
王跃
喻磊
唐灵灵
佟志新
魏铮
王志敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changshu Intellectual Property Operation Center Co ltd
Guangdong Gaohang Intellectual Property Operation Co ltd
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201010274615.5A priority Critical patent/CN102404069B/zh
Publication of CN102404069A publication Critical patent/CN102404069A/zh
Application granted granted Critical
Publication of CN102404069B publication Critical patent/CN102404069B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种数据封装链路丢包和乱序统计的方法及装置,该方法包括以下步骤:动态设置第一参考序号;在数据封装链路的接收端,截取接收到的当前数据封装包的序号;将所述截取到的当前数据封装包的序号与所述第一参考序号进行比较,根据比较结果确定当前丢包量,当前乱序量;本发明通过在接收端实时的对接收到的当前数据封装包的序号进行截取并将其与第一参考序号进行比较,从而得到精确的当前丢包量以及当前乱序量,为网络的可靠性和网络拓扑合理性的评估提供可靠的依据。

Description

一种数据封装链路丢包和乱序统计的方法及系统
技术领域
本发明涉及无线通信系统中的封装技术,特别涉及一种数据封装包丢包和乱序的统计方法及其系统。
背景技术
数据链路上出现的丢包和乱序情况使本领域的技术人员不能准确的分析网络的可靠性以及网络拓扑合理性,严重影响网络系统的性能;例如,通用路由封装(GenericRoutingEncapsulation,GRE)是网络中通过隧道将通信从一个专用网络传输到另一个专用网络常用到的一个协议。例如在CDMA20001xEV-DO系统中,分组数据服务节点(PDSN)与分组数据功能(PCF)间的A10链路就采用GRE技术,以承载上层点到点协议(PPP)报文。由于DO系统A10的GRE链路上常常出现丢包与乱序的现象,导致GRE报文分段在链路中丢失或者乱序到达,从而导致点到点协议(PPP)重组失败,对DO系统的性能产生很大的影响。
现有技术中,在DO系统中的链路上利用发送端将通用路由封装填写到报文中的序号来识别报文的先后顺序,当收到一个报文时,将其序号与保存的前一个包的报文序号进行比较。如果当前接收到的包的序号等于前一个包的序号加1,则判断为顺序,顺序量加1;如果当前接收到的包的序号小于前一个包的序号,则判断为乱序,乱序量加1;如果当前包的序号大于前一个包的序号加1,则判断为丢包,丢包量加1。按上面的方法统计出的量是不准确,例如,当链路上某一时刻丢失的一个或数包在后面的时刻又发送到了接收端,即仅存在乱序而没有丢包的情况下,统计的丢包量也不为0。但由于没有丢包现象的发生,丢包量应该为0,因此,现有技术中的方法对于链路状态的描述是不准确的。
《在多协议标签交换网络中监测丢包率的方法》(申请号为CN200510058846.1)中公开了一种在多协议标签交换(MPLS)网络中监测丢包率的方法:该方法在多协议标签交换连接的源节点定时发送给宿节点的连通性校验帧或快速故障检测帧中,携带该源节点已发送的报文数;在所述多协议标签交换连接的宿节点捕获并解析所述连通性校验帧或快速故障检验帧,记录源节点已发送的报文数和本节点当前时刻已接收的报文数,并根据连续两个时刻已发送的报文数和接收的报文数计算出丢包率。该方法局限于链路实现多协议标签交换协议,连通性校验帧或快速故障检测帧的传输会占用一定带宽,且必须在连通性校验或者故障校验时才能进行检测,从而计算出丢包率,不具有实时性;而且该方法也不能计算出传输过程的乱序率。
《无连接报文交换网络中报文乱序及重复的检测方法》(申请号为CN200510135299)提出了一种无连接报文交换网络中报文乱序及重复的检测方法。该方法的发送端在用于检测的无连接报文交换网络报文中设置报文的序列号信息;然后,接收端根据接收到的报文中的序列号信息来判断进行无连接报文交换网络中是否有报文乱序及重复现象的发生。该检测方法受限于窗口的宽度,且检测不出链路的丢包的情况。
因此,需要一种实时检测链路丢包和乱序,并能精确统计出丢包量和乱序量的方法,为分析网络的可靠性、网络拓扑合理性,提供可靠的评估依据。
发明内容
本发明要解决的主要技术问题是,提供一种数据封装链路丢包和乱序的统计方法及系统,能实时、精确的统计出链路中的当前丢包量和当前乱序量,为网络的可靠性和网络拓扑合理性的评估提供可靠的依据。
为解决上述技术问题,本发明提供了一种封装链路丢包和乱序统计的方法及装置,所述方法包括以下步骤:
动态设置第一参考序号;
在数据封装链路的接收端,截取接收到的当前数据封装包的序号;
将截取到的当前数据封装包的序号与第一参考序号进行比较,根据比较结果确定当前丢包量和当前乱序量。
根据比较结果确定当前丢包量和当前乱序量按如下方式进行:
判断接收端截取到的当前数据封装包的序号是否为接收到的第一个数据封装包的序号,若是,则按规则1进行比较,若不是,则按规则2进行比较。
在本发明的一种实施例中,判断截取到的当前数据封装包的序号是否为接收到的第一个数据封装包的序号按如下方式进行:接收到当前数据封装包的序号后,判断所述第一参考序号是否为无效值,若是,则接收到的前数据封装包的序号为接收到的第一个数据封装包的序号。
在本发明的一种实施例中,规则1为:将第一参考序号设置为将要发送的数据封装包中最小的序号,将接收到的第一个数据封装包的序号与所述第一参考序号比较,若大于所述第一参考序号,则判断为伪丢包,当前丢包量增加的值为所述接收到的第一数据封装包的序号减所述第一参考序号,将第一参考序号更新为接收到的第一个数据封装包的序号,若等于所述第一参考序号的值,继续接收下面的数据封装包的序号。
在本发明的一种实施例中规则2为:
如果当前数据封装包的序号等于第一参考序号加1,则判断为顺序,第一参考序号更新为当前数据封装包的序号;
如果当前数据封装包的序号大于第一参考序号加1,则判断为伪丢包,当前丢包量增加的值为当前数据封装包的序号减第一参考序号再减1,第一参考序号更新为当前数据封装包的序号;
如果当前数据封装包的序号小于第一参考序号,则判断为乱序,当前乱序量加1,当前丢包量减1。
在判断截取到的当前数据封装包的序号是否为接收到的第一个数据封装包的序号步骤的前一个步骤或后一个步骤为:判链路上数据包的发送是否结束。
在本发明的一种实施例中,判链路上数据封装包的发送是否结束按如下方式进行:判断当前数据封装包的序号是否为将要发送的所有数据封装包中的最大序号,若是,则链路上数据包的发送结束,判断为回环,初始化第一参考序号,进入下一轮新的数据封装包的发送。
在本发明的一种实施例中,还包括第二参考序号,设置第二参考序号,将所述截取到的当前数据封装包的序号与所述第一参考序号和第二参考序号进行比较,根据比较结果确定当前丢包量和当前乱序量。
在本发明的一种实施例中,根据比较结果确定当前丢包量和当前乱序量按如下方式进行:判断接收端截取到的当前数据封装包的序号是否为接收到的第一个数据封装包的序号,若是,则将第一序号和第二序号更新为当前数据封装包的序号;若不是,则按规则3进行比较。
在本发明的一种实施例中,判断接收端截取到的当前数据封装包的序号是否为接收到的第一个数据封装包的序号按如下方式进行:如果所述第一参考序号和第二参考序号至少有一个为无效值,则所述当前数据封装包的序号为接收到的第一个数据封装包的序号。
在本发明的一种实施例中,所述规则3具体如下:
如果当前数据封装包的序号小于第一参考序号,则将其丢弃;
如果当前数据封装包的序号大于第一参考序号且等于第二参考序号加1,则判断为顺序,第二参考序号更新为当前数据封装包的序号;
如果当前数据封装包的序号大于第一参考序号且大于第二参考序号加1,则判断为伪丢包,当前丢包量增加的个数为当前数据封装包的序号减第二参考序号再减1,第二参考序号更新为当前数据封装包的序号;
如果当前数据封装包的序号大于第一参考序号且小于第二参考序号,则判断为乱序,当前乱序量加1,当前丢包量减1。
根据当前丢包量和当前乱序量,得到当前丢包率和当前乱序率,当所述的当前丢包率或当前乱序率达到告警门限时,发出丢包告警或者乱序告警。
本发明还提供了一种封装链路丢包和乱序统计的系统,包括探测装置,判决装置和统计装置,所述探测装置截取接收到的当前数据封装包的序号,并将其传送给所述判决装置,所述判决装置将接收到的所述当前数据封装包的序号与第一参考序号进行比较判决,并将判决的结果传送给所述统计装置,所述统计装置根据接收到的判决结果确定当前接收量、当前丢包量和当前乱序量。
本发明的有益效果是:本发明通过在接收端实时的对接收到的当前数据封装包的序号进行截取并将其与动态设置的第一参考序号进行比较,从而能够精确的得到当前丢包量以及当前乱序量,为网络的可靠性和网络拓扑合理性的评估提供可靠的依据。
另外,由于本发明仅在接收端一侧进行乱序和丢包的统计,算法简洁高效,更易于在芯片中实现。
附图说明
图1为本发明一种实施例的系统框图;
图2为本发明一种实施例的判决装置的工作流程图;
图3为本发明一种实施例的统计装置的工作流程图;
图4为本发明另一种实施例的系统框图;
图5为本发明另一种实施例的判决装置的工作流程图;
图6为本发明另一种实施例的统计装置的工作流程图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
具体实施例1:
本发明所述方法的一种实施例包括以下步骤:
动态设置第一参考序号;
在数据封装链路的接收端,截取接收到的当前数据封装包的序号;
将截取到的当前通用路由封装包的序号与第一参考序号进行比较,根据比较结果确定当前丢包量和当前乱序量。
其中,第一参考序号初始设置时可设置为无效值,即除了数据封装包的序号之外的任意值,也可以是最大的数据封装包的序号,用于判断接受到的当前数据封装包是否为接收到的第一个数据封装包。
当前通用路由封装包的序号与第一参考序号进行比较具体可如下:
判断接收端截取到的当前数据封装包的序号是否为接收到的第一个数据封装包的序号:接收到当前数据封装包的序号后,判断所述第一参考序号是否为无效值,若是,则接收到的前数据封装包的序号为接收到的第一个数据封装包的,按规则1进行比较,否则,按规则2进行比较。
本实施例中,规则1为:将第一参考序号设置为将要发送的数据封装包中最小的序号,将接收到的第一个数据封装包的序号与所述第一参考序号比较,若大于所述第一参考序号,则判断为伪丢包,当前丢包量增加的值为所述接收到的第一数据封装包的序号减所述第一参考序号,将第一参考序号更新为接收到的第一个数据封装包的序号;若等于所述第一参考序号的值,继续接收下面的数据封装包的序号。
本实施例中规则2为:
如果当前数据封装包的序号等于第一参考序号加1,则判断为顺序,第一参考序号更新为当前数据封装包的序号;
如果当前数据封装包的序号大于第一参考序号加1,则判断为伪丢包,当前丢包量增加的值为当前数据封装包的序号减第一参考序号再减1,第一参考序号更新为当前数据封装包的序号;
如果当前数据封装包的序号小于第一参考序号,则判断为乱序,当前乱序量加1,当前丢包量减1。
本实施例中,在判断截取到的当前数据封装包的序号是否为接收到的第一个数据封装包的序号步骤的前一个步骤或后一个步骤为:判断数据链路上数据包的发送是否结束,其判断方式可如下:
判断当前数据封装包的序号是否为所有数据封装包中的最大序号,若是,则链路上数据包的发送结束,判断为回环,初始化第一参考序号,进入下一轮新的封装数据包的发送。
本实施例中将丢包和乱序量化的原理如下:在传输结束时,将接收端在数据封装链路上先后收到各数据封装包的序号看作一个数学上的序列。在理想链路上,上述序列是严格的递增序列。但在实际的链路上,接收到的序列常常是参差不齐的数列。本实施例中称接收端接收到的这一个参差不齐的序列为原始序列,将上述原始序列进行拆分,提出三个子序列即顺序序列、乱序序列、和丢包序列,具体定义分别如下:
原始序列:接收端收到的各个数据封装包的序号组成的序列;
顺序序列:原始序列中各个数据封装包的序号组成的递增子序列;
乱序序列:原始序列中上述递增子序列的补集;
丢包序列:按严格递增顺序将原始序列重新排序后,缺失的序号组成的序列。
根据以上序列的概念,本实施例中提出以下各个量的量化值:
接收量:原始序列中数据封装包的序号的个数;
乱序量:乱序序列中数据封装包的序号的个数;
丢包量;丢失序列中数据封装包的序号的个数。
进一步的,由上述定义可知,本实施例中发送端发送的数据封装包的个数等于接收量与丢包量之和,由此可得出丢包率及乱序率的量化公式如下:
但在实际的系统中,链路丢包与乱序的统计并不是在传输结束时,才把接收端的接收到的各个数据封装包的序号组成上述各个序列保存下来,再应用上面的量化原理分别得到其量化值,而是需要在接收端一侧进行实时的统计,因此实时统计必然面临一个问题,当接收端按递增顺序接收数据封装包时,可能会缺失一个或数个数据封装包,但上述缺失的一个或数个数据封装包可能会随后到达,也可能是在链路中丢弃了,不会再到达;则上述缺失的数据封装包要参考后续时间的信息才能精确统计,而在当前时刻是无法精确统计的。本实发明的施例中采用假设验证的方法,即先假设上述缺失的数据封装包为丢包,并将其统计到上述丢包序列,并更新相应的丢包量;在后续的时间里,如果缺失的封装包没有到达,则假设正确;如果缺失的封装包随后到达了,则假设错误,并纠正前面的统计。下面结合本实施例做进一步具体的说明。
本实施例设定第一参考序号和当前数据封装包的序号分别用v,Vnow表示,其中v在判断接收的Vnow是否为接收到的第一个数据封转包的序号的步骤中,v可设定为无效值,即其初始值可为无效值;本实例中取无效值可为数据封装包的序号之外的任何一个特殊字符或者取最大的数据封装包的序号,而发送端在确定了将要发送的所有数据封装包的序号后,将其中最大的序号和最小序号发送给接收端,接收端根据接收到的最大序号和最小序号进行相应的设置。
在其他步骤中v可随着接收到的Vnow更新,且更新为接收到的最大的Vnow,将接收到的Vnow与v进行比较即可得到当前丢包量、当前乱序量,具体如下:
设定v;
在数据封装链路的接收端,截取接收到的Vnow;
判断接收到的Vnow是否为接收到的第一个Vnow,即判断v是否为无效值,若是,则接收到的Vnow为接收到的第一个Vnow,按规则1,将v设置为数据封装包中最小的序号值,即第一封装包的序号值,且最小值根据实际境况可做相适应的调整,在将Vnow与v进行比较,如果Vnow>v,则判断为伪丢包,当前丢包量增加Vnow-v,当前接收量增加1,将v更新为Vnow,若Vnow=v,则判断为顺序,当前接收量增加1,继续进行下一个数据封装包的判断;若接收到的Vnow判断为不是接收到的第一个Vnow,则将Vnow与v按规则2进行如下比较判断:
如果Vnow=v+1,则判断为顺序,当前接收量增加1,继续接收下面数据封装包的序号,v更新为Vnow;
如果Vnow>v+1,则判断为伪丢包,当前接收量增加1,当前丢包量增加的值为Vnow-v-1,v更新为Vnow;
如果Vnow<v,则判断为乱序,当前接收量增加1,当前乱序量加1,当前丢包量减1。
进一步的,根据得到的当前丢包量和当前乱序量可以计算出当前丢包率和当前乱序率。其计算公式如下:
当得到的当前丢包率或当前乱序率达到告警门限时,发出丢包告警或者乱序告警。
在上述规则1中,在特殊情况下,数据包中的最小序号值根据每次发送的数据封装包的不同而不能确定时,可做如下处理:
判断接收到的Vnow是否为接收到的第一个Vnow,即判断v是否为无效值,若是,则接收到的Vnow为接收到的第一个Vnow,将v更新为Vnow,继续进行下一个数据封装包的判断;若接收到的Vnow判断为不是接收到的第一个Vnow,则将Vnow与v按规则2进行如下比较判断:
当链路循环的发送数据封装包时,可在本实施例的判断接收到的Vnow是否为接收到的第一个Vnow步骤之前或者之后设置判断Vnow是否为将要发送的数据封装包中最大序号,如果接收到的Vnow等于数据封装包的最大序号,则此次数据封装包发送结束,判断为回环,进入下一轮新的判断;其中将要发送的数据封装包中最大序号的设置如下:发送端在确定了将要发送的所有数据封装包的序号后,将其中最大的序号发送给接收端,接收端根据接收到的最大序号进行相应的设置。
本发明所述系统的一种实施例包括探测装置,判决装置和统计装置;其中,
探测装置用于截取接收到的Vnow,并将其传送给判决装置;
判决装置将接收到的Vnow与v进行比较判决,并将判决的结果传送给统计装置;
统计装置根据接收到的判决结果确定当前丢包量和当前乱序量进行,并计算出当前丢包率和当前乱序率。
下面从一个具体示例说明本发明所述装置:
如图1,本实施例中,接口1负责发送数据封装包,接口2接收并输出数据封装包,探测装置可设置在数据封装链路的接收端,负责实时探测、截取封装链路上的当前数据封装包的序号Vnow,并将截取到的Vnow通过接口3传送给判决装置。判决装置根据接收到的Vnow与v进行比较判决,并根据判决结果通过接口4、接口5、接口6或接口8发送给统计装置,其中接口4用于传输顺序量的判决结果,接口5用于传送当前乱序量的判决结果,接口6用于传送当前丢包量的判决结果,接口8用于传输接收到的第一个数据封装包发生丢包的判决结果。统计装置根据接收到的判决结果确定数据封装链路的当前接收量,当前丢包量,当前乱序量,从而计算出当前丢包率,当前乱序率,并根据告警门限,判断是否调用窗口7发出丢包告警或者乱序告警。
如图2,本实施例中的判决装置的具体处理步骤如下:
接收到探测装置传送的Vnow,判断Vnow是否为最大的数据封装包的序号,如果是,则判断为回环,初始化v的值,进入下一轮新的数据封装包的发送;
判断接收到的当前数据封装包Vnow是否为接收到的第一个数据封装包:判断v是否为无效值,若是,判断Vnow为接收到的第一个数据封装包,按规则1,将v设置为将要发送的数据封装包中最小的序号v1,比较Vnow与v,如果Vnow>v,则判断为伪丢包,调用接口8;否则Vnow=v,判断为顺序,调用借口4,继续接收第二个数据封装包的序号;
如果判断Vnow不是接收到的第一个数据封装包,则按规则2进行如下比较:
如果Vnow=v+1,则判断为顺序,调用接口4,继续接收下面数据封装包的序号,v更新为Vnow;
如果Vnow>v+1,则判断为伪丢包,v更新为Vnow,并通过接口6将判决结果传送给统计装置;
如果Vnow<v,则判断为乱序,则通过接口5将判决结果传送给统计装置。
如图3,本实施例中的统计装置的具体处理如下:
如果接收的判决结果为接收到的第一个数据封装包的序号判断为伪丢包时,则调用接口8,当前丢包量增加Vnow-v,当前接收量增加1,更新并判断当前乱序率,如果当前乱序率大于告警门限,则调用接口7发出告警;
如果接收的判决结果为乱序,则调用接口5,当前乱序量增加1,当前接收量增加1,当前丢包量减1,更新并判断当前乱序率,如果当前乱序率大于告警门限,则调用接口7发出告警;
如果接收的判决结果为伪丢包,则调用接口6,当前丢包量增加Vnowow-v-1,当前接收量增加1,更新并判断当前丢包率,如果当前丢包率大于告警门限,则调用接口7发出告警。
本实施例中的数据封装链路为通用路由封装链路。
具体实施例2:
本实施例中,还包括第二参考序号,在初始设置时,可将第一参考序号或第二参考序号设为无效值,且可将第二参考序号实时更新为接收到的数据封装包中的最大序号,将所述截取到的当前数据封装包的序号与所述第一参考序号和第二参考序号进行比较,根据比较结果确定当前丢包量和当前乱序量。
本实施例中,根据比较结果确定当前丢包量和当前乱序量按如下方式进行:判断接收端截取到的当前数据封装包的序号是否为接收到的第一个数据封装包的序号,若是,则将第一序号和第二序号更新为当前数据封装包的序号,当前接收量增加1;若不是,则按规则3进行比较。
本实施例中,判断接收端截取到的当前数据封装包的序号是否为接收到的第一个数据封装包的序号按如下方式进行:如果所述第一参考序号和第二参考序号至少有一个为无效值,则所述当前数据封装包的序号为接收到的第一个数据封装包的序号。
本实施例中,所述规则3具体如下:
如果当前数据封装包的序号小于第一参考序号,则将其丢弃;
如果当前数据封装包的序号大于第一参考序号且等于第二参考序号加1,则判断为顺序,当前接收量加1,第二参考序号更新为当前数据封装包的序号;
如果当前数据封装包的序号大于第一参考序号且大于第二参考序号加1,则判断为伪丢包,当前丢包量增加的个数为当前数据封装包的序号减第二参考序号再减1,当前接收量加1,第二参考序号更新为当前数据封装包的序号;
如果当前数据封装包的序号大于第一参考序号且小于第二参考序号,则判断为乱序,当前乱序量加1,当前接收量也加1,当前丢包量减1。
根据当前丢包量和当前乱序量,得到当前丢包率和当前乱序率,当所述的当前丢包率或当前乱序率达到告警门限时,发出丢包告警或者乱序告警。
本实施例设定第一参考序号,第二参考序号和当前数据封装包的序号分别用Vstart,Vlast,Vnow表示。其中Vstart为统计的起点,小于Vstart的序号不统计,Vlast为已接收的数据封装包中最大的序号,将Vnow与Vstart、和Vlast比较,从而得到当前接收量、当前乱序量,以及当前丢包量,并进一步可得出当前丢包率和当前乱序率。具体如下:
初始化Vstart和Vlast;其中初始化的Vstart和Vlast中至少有一个为无效值,本实例中取无效值可为数据封装包的序号之外的任何一个特殊字符或者取最大的数据封装包的序号。
在封装链路的接收端,截取接收到的Vnow。
将截取到的Vnow与Vstart和Vlast进行比较,具体步骤如下:
判断Vnow是否为最大序号Seq,若是,判断为回环;否则,继续下面的比较;
判断截取的Vnow是否为接收到的第一个数据封装包的序号:如果Vstart和Vlast的值至少有一个为无效值,则上述Vnow为接收到的第一个数据封装包的序号,并将Vstart和Vlast的值更新为Vnow,接收量增加1;否则,按规则3进行如下的比较判断:
如果Vnow<Vstart,则将其丢弃;
如果Vnow>Vstart且Vnow=Vlast+1,则判断为顺序,接收量加1,Vlast更新为Vnow;
如果Vnow>Vstart且Vnow>Vlast+1,则判断为伪丢包,当前丢包量增加的个数Vnow-Vlast-1,接收量加1,Vlast更新为Vnow;
如果Vnow>Vstart且Vnow<Vlast,则判断为乱序,当前乱序量加1,当前接收量也加1,当前丢包量减1。
进一步的,根据得到的当前接收量,当前丢包量和当前乱序量的值由如下计算公式
可得到当前乱序率和当前丢包率,当得到的当前丢包率或当前乱序率达到告警门限时,发出丢包告警或者乱序告警。
本发明所述系统的一种实施例包括探测装置,判决装置和统计装置;其中,
探测装置用于截取接收到的Vnow,并将其传送给判决装置;
判决装置将接收到的Vnow与Vstart和Vlast进行比较判决,并将判决的结果传送给统计装置;
统计装置根据接收到的判决结果确定当前丢包量和当前乱序量,并计算出当前丢包率和当前乱序率。
下面从一个具体示例说明本发明所述装置:
如图4,本实施例中,接口1负责发送数据封装包,接口2接收并输出数据封装包,探测装置可设置在接收端,负责实时探测、截取封装链路上的数据封装包序号,并将截取到的当前通用路由封装序号Vnow通过接口3传送给判决装置。判决装置根据接收到的Vnow与Vstart和Vlast进行比较判决,并根据判决结果通过接口4、接口5或接口6发送给统计装置,其中接口4用于传送顺序判决结果,接口5用于传送乱序判决结果,接口6用于传送丢包判决结果。统计装置根据接收到的判决结果实时更新链路的当前接收量,当前丢包量,当前乱序量以及当前丢包率,当前乱序率,并根据告警门限,判断是否调用窗口7发出丢包告警或者乱序告警。
如图5,本实施例中的判决装置的具体处理步骤如下:
初始化Vstart和Vlast,其中Vstart或Vlast为无效值;
接收到探测装置传送的Vnow,判断Vnow是否为最大的数据封装包的序号,如果是,判断为回环,否则继续比较;
判断Vstart或Vlast是否为无效值,若是,则判断Vnow为接收到的第一个数据封装包的序号,判断为顺序,调用接口4;否则按规则3进行如下比较判断:
如果Vnow<Vstart,则将其丢弃;
如果Vnow>Vstart且Vnow=Vlast+1,则判断为顺序,将Vlast更新为Vnow,并通过接口4将判决结果传送给统计装置;
如果Vnow>Vstart且Vnow>Vlast+1,则判断为伪丢包,将Vlast更新为Vnow,并通过接口6将判决结果传送给统计装置;
如果Vnow>Vstart且Vnow<Vlast,则判断为乱序,则通过接口5将判决结果传送给统计装置。
如图6,本实施例中的统计装置的具体处理如下:
如果接收的判决结果为顺序,则调用接口4,当前接收量增加1;
如果接收的判决结果为乱序,则调用接口5,当前接收量增加1,当前乱序量增加1,当前丢包量减1,更新并判断当前乱序率,如果当前乱序率大于告警门限,则调用接口7发出告警;
如果接收的判决结果为伪丢包,则调用接口6,当前接收量增加1,当前丢包量增加Vnow-Vlast-1,更新并判断当前丢包率,如果当前丢包率大于告警门限,则调用接口7发出告警。
本实施例通过在接收端实时的对接收到的当前数据封装包的序号进行截取,并将其与动态设置的第一参考序号进行比较,从而得到当前的乱序量和丢包量,且在比较中,当在数据封装包传送过程中,某一时刻缺失的一个或数个数据封装包随后到达后,能对当前乱序量和当前统计量做出相应的校正,从而避免了数据封装链路上因上述情况而引起的当前丢包量和当前乱序量的统计误差,从而能够精确的得到当前丢包量以及当前乱序量,为网络的可靠性和网络拓扑合理性的评估提供可靠的依据;另外,本实施例中还设置了告警门限,当根据当前乱序量和当前丢包量得到的当前乱序率或当前丢包率达到告警门限时,接收端能及时发出告警。
另外,由于本实施例仅在接收端一侧进行乱序和丢包的统计,算法简洁高效,更易于在芯片中实现。
本发明适用于以序号标识报文顺序,对丢包和乱序敏感且无重复报文的链路。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种数据封装链路丢包和乱序统计的方法,其特征在于,包括:
设置第一参考序号;
在数据封装链路的接收端,截取接收到的当前数据封装包的序号;
将所述截取到的当前数据封装包的序号与所述第一参考序号进行比较,判断接收端截取到的当前数据封装包的序号是否为接收到的第一个数据封装包的序号,若是,则按规则1进行比较,若不是,则按规则2进行比较;
所述规则1为:将第一参考序号设置为将要发送的数据封装包中最小的序号,将接收到的第一个数据封装包的序号与所述第一参考序号比较,若大于所述第一参考序号,则判断为伪丢包,当前丢包量增加的值为所述接收到的第一数据封装包的序号减所述第一参考序号,将第一参考序号更新为接收到的第一个数据封装包的序号;若等于所述第一参考序号的值,继续接收下面的数据封装包的序号;
所述规则2为:如果当前数据封装包的序号等于第一参考序号加1,则判断为顺序,第一参考序号更新为当前数据封装包的序号;如果当前数据封装包的序号大于第一参考序号加1,则判断为伪丢包,当前丢包量增加的值为当前数据封装包的序号减第一参考序号再减1,第一参考序号更新为当前数据封装包的序号;如果当前数据封装包的序号小于第一参考序号,则判断为乱序,当前乱序量加1,当前丢包量减1。
2.如权利要求1所述的方法,其特征在于,判断截取到的当前数据封装包的序号是否为接收到的第一个数据封装包的序号按如下方式进行:接收到当前数据封装包的序号后,判断所述第一参考序号是否为无效值,若是,则接收到的当前数据封装包的序号为接收到的第一个数据封装包的序号。
3.如权利要求2所述的方法,其特征在于,在判断截取到的当前数据封装包的序号是否为接收到的第一个数据封装包的序号步骤的前一个步骤或后一个步骤为:判断数据链路上数据包的发送是否结束。
4.如权利要求3所述的方法,其特征在于,判断链路上数据封装包的发送是否结束按如下方式进行:判断当前数据封装包的序号是否为将要发送的数据封装包中的最大序号,若是,则链路上数据包的发送结束,判断为回环,初始化第一参考序号,进入下一轮新的数据封装包的发送。
5.如权利要求1所述的方法,其特征在于,还包括第二参考序号,设置第二参考序号,将所述截取到的当前数据封装包的序号与所述第一参考序号和第二参考序号进行比较,根据比较结果确定当前丢包量和当前乱序量。
6.如权利要求5所述的方法,其特征在于,所述根据比较结果确定当前丢包量和当前乱序量按如下方式进行:判断接收端截取到的当前数据封装包的序号是否为接收到的第一个数据封装包的序号,若是,则将第一参考序号和第二参考序号更新为当前数据封装包的序号;若不是,则按规则3进行比较;
所述规则3为:如果当前数据封装包的序号小于第一参考序号,则将其丢弃;如果当前数据封装包的序号大于第一参考序号且等于第二参考序号加1,则判断为顺序,第二参考序号更新为当前数据封装包的序号;如果当前数据封装包的序号大于第一参考序号且大于第二参考序号加1,则判断为伪丢包,当前丢包量增加的个数为当前数据封装包的序号减第二参考序号再减1,第二参考序号更新为当前数据封装包的序号;如果当前数据封装包的序号大于第一参考序号且小于第二参考序号,则判断为乱序,当前乱序量加1,当前丢包量减1。
7.如权利要求6所述的方法,其特征在于,判断接收端截取到的当前数据封装包的序号是否为接收到的第一个数据封装包的序号按如下方式进行:如果所述第一参考序号和第二参考序号至少有一个为无效值,则所述当前数据封装包的序号为接收到的第一个数据封装包的序号。
8.如权利要求1至7任一项所述的方法,其特征在于,根据所述的当前丢包量和当前乱序量,得到当前丢包率和当前乱序率,当所述的当前丢包率或当前乱序率达到告警门限时,发出丢包告警或者乱序告警。
9.如权利要求1至7任一项所述的方法,其特征在于,所述数据封装链路为通用路由封装链路。
10.一种数据封装链路丢包和乱序统计的系统,其特征在于,包括探测装置,判决装置和统计装置,所述探测装置截取接收到的当前数据封装包的序号,并将其传送给所述判决装置,所述判决装置将接收到的所述当前数据封装包的序号与设置的第一参考序号进行比较判决,并将判决的结果传送给所述统计装置,所述统计装置判断接收端截取到的当前数据封装包的序号是否为接收到的第一个数据封装包的序号,若是,则按规则1进行比较,若不是,则按规则2进行比较;所述规则1为:将第一参考序号设置为将要发送的数据封装包中最小的序号,将接收到的第一个数据封装包的序号与所述第一参考序号比较,若大于所述第一参考序号,则判断为伪丢包,当前丢包量增加的值为所述接收到的第一数据封装包的序号减所述第一参考序号,将第一参考序号更新为接收到的第一个数据封装包的序号;若等于所述第一参考序号的值,继续接收下面的数据封装包的序号;所述规则2为:如果当前数据封装包的序号等于第一参考序号加1,则判断为顺序,第一参考序号更新为当前数据封装包的序号;如果当前数据封装包的序号大于第一参考序号加1,则判断为伪丢包,当前丢包量增加的值为当前数据封装包的序号减第一参考序号再减1,第一参考序号更新为当前数据封装包的序号;如果当前数据封装包的序号小于第一参考序号,则判断为乱序,当前乱序量加1,当前丢包量减1。
CN201010274615.5A 2010-09-07 2010-09-07 一种数据封装链路丢包和乱序统计的方法及系统 Active CN102404069B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010274615.5A CN102404069B (zh) 2010-09-07 2010-09-07 一种数据封装链路丢包和乱序统计的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010274615.5A CN102404069B (zh) 2010-09-07 2010-09-07 一种数据封装链路丢包和乱序统计的方法及系统

Publications (2)

Publication Number Publication Date
CN102404069A CN102404069A (zh) 2012-04-04
CN102404069B true CN102404069B (zh) 2016-03-30

Family

ID=45885903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010274615.5A Active CN102404069B (zh) 2010-09-07 2010-09-07 一种数据封装链路丢包和乱序统计的方法及系统

Country Status (1)

Country Link
CN (1) CN102404069B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3849160A4 (en) * 2018-09-25 2021-11-03 Huawei Technologies Co., Ltd. METHOD, DEVICE AND SYSTEM FOR DATA TRANSFER

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330579B (zh) * 2015-06-15 2020-04-28 中兴通讯股份有限公司 一种用于ptn设备的丢包统计方法及装置
CN109120545B (zh) * 2017-06-23 2021-05-04 华为技术有限公司 数据包传输方法及装置
CN109302345B (zh) * 2017-07-25 2022-01-25 迈普通信技术股份有限公司 Fib路由表下发时间测试系统、方法和装置
CN109428802B (zh) * 2017-08-28 2021-05-14 中国电信股份有限公司 隧道报文封装、解封方法和隧道平台
CN108173807B (zh) * 2017-11-28 2021-12-03 贵阳语玩科技有限公司 统一消息发送、处理方法及装置
CN109981470A (zh) * 2017-12-27 2019-07-05 华为技术有限公司 报文传输控制方法及装置
CN110289932B (zh) * 2018-03-19 2022-07-05 中兴通讯股份有限公司 一种乱序深度值更新方法和装置
CN110855570A (zh) * 2019-10-28 2020-02-28 普联技术有限公司 Sdn网络丢包判断方法、装置、系统和多网络控制系统
CN114598628A (zh) * 2020-12-04 2022-06-07 中兴通讯股份有限公司 一种网络检测丢包方法、电子设备及计算机可读存储介质
CN115002005B (zh) * 2022-05-18 2023-12-12 百果园技术(新加坡)有限公司 一种丢包率计算方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101001130A (zh) * 2007-01-23 2007-07-18 华为技术有限公司 Iub接口丢包率监测方法和装置
KR100782919B1 (ko) * 2006-12-06 2007-12-07 (주)액텔라 왠 최적화를 위한 패킷 손실 탐지 방법
CN101783715A (zh) * 2009-11-19 2010-07-21 北京邮电大学 监测网络丢包率的方法及系统
CN101800671A (zh) * 2010-02-08 2010-08-11 同济大学 一种h.264视频文件的丢包检测方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100583784C (zh) * 2005-03-30 2010-01-20 华为技术有限公司 在多协议标签交换网络中监测丢包率的方法
CN1992652B (zh) * 2005-12-29 2010-05-12 华为技术有限公司 无连接报文交换网络中报文乱序及重复的检测方法
US8051190B2 (en) * 2007-01-11 2011-11-01 Via Telecom Co., Ltd. Nak message transmission with quicknak indication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100782919B1 (ko) * 2006-12-06 2007-12-07 (주)액텔라 왠 최적화를 위한 패킷 손실 탐지 방법
CN101001130A (zh) * 2007-01-23 2007-07-18 华为技术有限公司 Iub接口丢包率监测方法和装置
CN101783715A (zh) * 2009-11-19 2010-07-21 北京邮电大学 监测网络丢包率的方法及系统
CN101800671A (zh) * 2010-02-08 2010-08-11 同济大学 一种h.264视频文件的丢包检测方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3849160A4 (en) * 2018-09-25 2021-11-03 Huawei Technologies Co., Ltd. METHOD, DEVICE AND SYSTEM FOR DATA TRANSFER

Also Published As

Publication number Publication date
CN102404069A (zh) 2012-04-04

Similar Documents

Publication Publication Date Title
CN102404069B (zh) 一种数据封装链路丢包和乱序统计的方法及系统
CN101300803B (zh) 在egprs移动电子通信设备中接收和管理下行链路无线电链路控制数据块的方法
EP2063573A1 (en) Transmission method, system and apparatus of overhead information
US8665745B2 (en) Method and device for determining a jitter buffer level
US9992117B2 (en) Network apparatus, communication system, abnormal traffic detection method, and program
US11082317B2 (en) Detection block sending and receiving method, and network device and system
US8169917B2 (en) Tandem connection monitoring method in MPLS network
US9876727B2 (en) Physical-layer signaling of flow control updates
CN108462970B (zh) 一种丢包判决方法及装置
EP2692080B1 (en) Error handling in a passive optical network
JP4872415B2 (ja) 信号劣化検出方法、信号復旧検出方法及びそれらの装置並びにトラフィック伝送システム
CN105527564A (zh) Fpga内部功能自诊断方法与系统
CN101257456A (zh) 提高压缩报文转发性能的方法及装置
WO2008040378A1 (en) Signal quality indicator
CN103152278A (zh) 拥塞确定方法、装置和网络设备
US7561524B2 (en) Method for measuring performance of MPLS LSP
CN107241359B (zh) 一种面向软件定义网络的轻量级网络流量异常检测方法
CN101237392A (zh) 一种异步传输模式网络故障测试方法
Buchholcz et al. TCP-ELN: on the protocol aspects and performance of explicit loss notification for TCP over wireless networks
EP1309125B1 (en) Method and system for determining availability in communication networks via transmission of monitoring packets
US20050286432A1 (en) Packet discard point probing method and device
CN116137723B (zh) 断链触发判断方法、装置、设备及存储介质
CN104038434A (zh) 一种流量监管的方法及装置
WO2023284578A1 (zh) 数据传输方法和装置、网络设备及存储介质
CN106912072A (zh) 一种基于虚拟传输协议的无线Ad Hoc网络拥塞控制机制

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20201012

Address after: 215500 No.13, Caotang Road, Changshu, Suzhou, Jiangsu Province

Patentee after: Changshu intellectual property operation center Co.,Ltd.

Address before: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20201012

Address after: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518057 Zhongxing building, science and technology south road, Nanshan District Science Park, Guangdong, Shenzhen

Patentee before: ZTE Corp.

TR01 Transfer of patent right
CP02 Change in the address of a patent holder

Address after: 215500 5th floor, building 4, 68 Lianfeng Road, Changfu street, Changshu City, Suzhou City, Jiangsu Province

Patentee after: Changshu intellectual property operation center Co.,Ltd.

Address before: No.13 caodang Road, Changshu City, Suzhou City, Jiangsu Province

Patentee before: Changshu intellectual property operation center Co.,Ltd.

CP02 Change in the address of a patent holder