宽带网用户接入链路下行丢包率测量方法

文档序号:7863310阅读:741来源:国知局
专利名称:宽带网用户接入链路下行丢包率测量方法
技术领域
本发明涉及网络通信中的丢包率测量方法技术领域,确切地说涉及一种基于任意中间点流量分析的宽带网用户接入链路下行丢包率测量方法。
背景技术
电信等ISP运营商面向广大用户提供了互联网接入服务,接入方式包括ADSL、光纤到校区(FTTB)、光纤到户(FTTH)等,由于接入带宽较高(普遍2-30MbPs),这些接入网络一般称为宽带网,意味着用户能够享受较好的网络服务质量。然而近年来,宽带网用户对上网质量体验不佳,性能与故障投诉增多。由于测试和验证手段的匮乏,大量用户产生了 “假 宽带”的怀疑,而ISP运营商在面对用户质量投诉时,往往无法获取关于用户接入链路的性能指标,导致运维人员难以确定性能劣化程度,区分事故责任,难以识别和诊断性能故障。现有技术中,将宽带网用户的“接入链路”定义为从用户家庭上网设备到ISP局端设备之间的线缆、配线架、分光器、跳线、转接设备等一系列串联的设备和物理线路。“接入链路”是上述设备和线路的统称,将其看作用户家庭上网设备和ISP局端设备之间的一条通路。接入链路的性能指标可分为上行和下行指标,前者表示用户端到局端的上行链路质量,后者表示局端到到用户端的下行链路质量。在网络质量指标中,丢包率指标(IPLR)是一个非常重要的指标,代表单位数量的数据包在传输过程中丢失的比率。即使在一条高带宽的链路中,如果丢包率指标较高,则用户也不可能获得满意的网速,感受到高质量的网络服务。对于宽带网用户而言,由于大多数用户均以下载业务为主(如浏览网页、下载文件、观看电影等),因此接入链路的下行丢包率指标对用户而言意义重大。然而,对于ISP而言,要获得大量用户的下行丢包率非常困难。特别是在用户量巨大的情况下。目前存在几种方法对用户接入链路的下行丢包率进行测量。从技术手段上可以划分为两类
第I类为主动探测法。该方法需要在局端和用户端进行配合,在局端和用户端分别部署测量软件。由局端发送数据,用户端进行接收,然后在用户端统计接收到的数据包数量,进而计算下行丢包率为IPLR=接收数据包总数/发送数据包总数。如公开号为CN102217236A,
公开日为2011年10月12日的中国专利文献公开了一种检测链路丢包率的方法和设备。该方法包括接收对端设备通过链路发送的LMM报文,LMM报文中携带对端设备从上一次到本次向本端设备发送LMM报文的时间间隔内发送给本端设备的报文个数;根据本次与上一次接收到LMM报文的时间间隔、在时间间隔内接收到的对端设备发送的报文个数、以及LMM报文中携带的对端设备发送给本端设备的报文个数,计算链路在时间间隔内的丢包率。设备包括接收模块和计算模块。第2类是基于设备的统计法。该方法利用用户端的接入设备管理接口,远程访问用户端的接入设备(如调制解调器、ONU、机顶盒等)的网络管理接口(通常是SNMP接口),获取设备端口统计数据,如误码率、错误率、丢失率等指标,来估计用户的下行丢包率。上述两种方法均需要用户侧设备或软件的配合,测量部署难度大。而且每次只能获取一个用户的测量数据,难以并发测量多个用户的下行丢包率。更为重要的是,基于设备的统计结果往往是不准确的,不能真正反映下行链路质量。

发明内容
为解决上述现有技术所存在的问题,本发明提出了一种基于流量分析的宽带网用户接入链路下行丢包率测量方法,该方法能够在用户上网过程中,在局端任意中间节点采集用户与互联网之间的通信流量,通过对流量的分析,来计算用户接入链路的下行丢包率指标,为宽带网的运营、质量保障、故障诊断提供支撑手段。本方法是通过采用下述技术方案实现的
一种宽带网用户接入链路下行丢包率测量方法,其特征在于包括如下步骤
A、选取服务器端与客户端的任意中间节点为测量点;
B、对测量点接收到的所述服务器端发给所述客户端的TCP报文进行分析,统计TCP报文首部信息,根据TCP报文携带的序列号和有效载荷长度信息,预测出测量点下一个即将接收到的TCP报文序号;
C、待TCP报文所属TCP会话的下一TCP报文到来时,将到来的TCP报文序号与预测出的TCP报文序号相比较,判断出是否丢包以及丢包发生的链路是服务器方还是客户端接入链路,再最终得出用户的下行丢包率指标。所述步骤B和C的具体步骤如下
1)在测量点捕获网络流量,对其中的TCP数据包进行分析,将TCP数据包划分为不同网络流;
2)对每个网络流内收到的TCP数据包进行跟踪分析,判断是否丢包;
3)计算用户接入链路的下行丢包率plr。所述步骤I)具体是具有相同源地址、目的地址、源端口号和目的端口号的流量为同一网络流,对每一个接收到的TCP数据包分别提取报文首部的源IP地址、目的IP地址、源端口号和目的端口号,将TCP数据包以网络流为单位进行分类统计。所述步骤2)具体是判断网络流Ni的丢包情况的具体步骤为
<1>对每个接收到的TCP数据包进行分析,比较TCP数据包所携带的〈源IP地址、目的IP地址、源端口号、目的端口号 > 四元组与哪个网络流相一致,该TCP数据包便属于相应网络流;其中,对于网络流Ni来说,COUNTi为网络流Ni中所有发给用户的单向TCP数据包的总数(初始状态为O);若当前TCP数据包属于网络流Ni,则COUNTi的值加1,然后转向步骤<2> ;
<2>记录当前接收到TCP数据包的首部序列号P和该TCP数据包的有效载荷长度LEN,令MAXi为网络流Ni中当前最大的TCP序列号,如果P>MAXi JlJMAXi = P;(MAXi用于记录当前收到的最大的P)根据TCP序列号预测方法,将当前TCP数据包的最大TCP序列号MAXi加上其有效载荷长度LEN,得到下一个TCP数据包的预测序号Q,即Q= MAXi +LEN,此时若Q彡65535,跳转到第〈3步〉,否则预测序号Q出现溢出,此时Q = Q - 65535,MAXi重置为O,并设溢出信号FLAG = I (初始值为O),跳转到第〈4>步;
<3>继续检查网络流Ni中发给用户的TCP数据包,检查TCP数据包头部的序列号Ps和负载长度LENs,将序列号Ps与预测值Q进行比较
a、若Ps> Q :那么服务器方出现了丢包,此时更改服务器丢包计数COUNTER_SERVER(初始状态为O)的值,COUNTER_SERVER = COUNTER_SERVER + (Ps -Q)/ LENs,同时将COUNTi的值加1,并按步骤〈2>的方法更新MAXi和预测序号Q ;
b、若Ps< Q:如果(Ps+ 65536 -Q)彡(Q - Ps),说明当前序号溢出,服务器端丢包,此时将 COUNTER_SERVER = COUNTER_SERVER + (Ps + 65536 -Q)/LEN,同时将 COUNTi 的值加1,并按〈2>的方法更新MAXi和预测序号Q ;反之当前序号未溢出,则说明测量点已经收到过该序号或大于的TCP数据包,但在客户端对该TCP数据包进行了请求重传;导致该重传原因可能是服务器端的丢包,也可能是客户端接入链路的丢包,无论何种原因,此时都更新重传计数器COUNTER_RETRANS (初始值为O)的值,C0UNTER_ RETRANS += I;同时将COUNTi的值加1,并按〈2>的方法更新MAXi和预测序号Q ;
C、若Ps = Q :则序号TCP数据包并未发生丢包,此时将COUNTi的值加I,并按〈2>的方法更新MAXi和预测序号Q ;
处理完毕后,重复步骤〈I〉;
<4>继续检查网络流Ni中发给用户的TCP包,检查TCP数据包头部的序列号Ps和其负载长度LENs ;将序列号Ps与预测值Q进行比较
d、若Ps > Q :判断(65536 - Ps + Q)与(Ps - Q)的大小,如果(65536 - Ps + Q)
<(Ps - Q)则按〈3>中b的(Ps + 65536 -Q) > (Q - Ps)的情况进行处理,反之按〈3>中的a进行处理;
e、若Ps< Q :按〈3>中b的(Ps + 65536 -Q) > (Q - Ps)的情况进行处理;
f、若Ps= Q :按〈3>中的c进行处理;
处理完毕后,重复步骤〈1>。所述步骤3)具体是指如果是服务器端丢包,则C0UNTER_ RETRANS的值会一直等于COUNTER_SERVER,因为每丢一个包都会重传一个包。如果C0UNTER_ RETRANS的值大于COUNTER_SERVER,说明有些重传包是客户端丢包引起的。这时网络流Ni的相应用户接入链路的下行丢包率Plr可由以下公式计算
权利要求
1.一种宽带网用户接入链路下行丢包率测量方法,其特征在于包括如下步骤 A、选取服务器端与客户端的任意中间节点为测量点; B、对测量点接收到的所述服务器端发给所述客户端的TCP报文进行分析,统计TCP报文首部信息,根据TCP报文携带的序列号和有效载荷长度信息,预测出测量点下一个即将接收到的TCP报文序号; C、待TCP报文所属TCP会话的下一TCP报文到来时,将到来的TCP报文序号与预测出的TCP报文序号相比较,判断出是否丢包以及丢包发生的链路是服务器方还是客户端接入链路,再最终得出用户的下行丢包率指标。
2.根据权利要求I所述的一种宽带网用户接入链路下行丢包率测量方法,其特征在于所述步骤B和C的具体步骤如下 1)在测量点捕获网络流量,对其中的TCP数据包进行分析,将TCP数据包划分为不同网络流; 2)对每个网络流内收到的TCP数据包进行跟踪分析,判断是否丢包; 3)计算用户接入链路的下行丢包率plr。
3.根据权利要求2所述的一种宽带网用户接入链路下行丢包率测量方法,其特征在于所述步骤I)具体是具有相同源地址、目的地址、源端口号和目的端口号的流量为同一网络流,对每一个接收到的TCP数据包分别提取报文首部的源IP地址、目的IP地址、源端口号和目的端口号,将TCP数据包以网络流为单位进行分类统计。
4.根据权利要求2所述的一种宽带网用户接入链路下行丢包率测量方法,其特征在于所述步骤2)具体是判断网络流Ni的丢包情况的具体步骤为 <1>对每个接收到的TCP数据包进行分析,比较TCP数据包所携带的〈源IP地址、目的IP地址、源端口号、目的端口号 > 四元组与哪个网络流相一致,该TCP数据包便属于相应网络流;其中,对于网络流Ni来说,COUNTi为网络流Ni中所有发给用户的单向TCP数据包的总数;若当前TCP数据包属于网络流Ni,则COUNTi的值加I,然后转向步骤〈2> ; <2>记录当前接收到TCP数据包的首部序列号P和该TCP数据包的有效载荷长度LEN,令MAXi为网络流Ni中当前最大的TCP序列号,如果P>MAXi,则MAXi = P;将当前TCP数据包的最大TCP序列号MAXi加上其有效载荷长度LEN,得到下一个TCP数据包的预测序号Q, BP Q= MAXi +LEN,此时若Q ( 65535,跳转到第〈3步〉,否则预测序号Q出现溢出,此时Q = Q- 65535,MAXi重置为0,并设溢出信号FLAG = I (初始值为O),跳转到第〈4>步; <3>继续检查网络流Ni中发给用户的TCP数据包,检查TCP数据包头部的序列号Ps和负载长度LENs,将序列号Ps与预测值Q进行比较 a、若Ps> Q:那么服务器方出现了丢包,此时更改服务器丢包计数COUNTER_SERVER的值,COUNTER_SERVER = COUNTER_SERVER + (Ps -Q)/ LENs,同时将 COUNTi 的值加 1,并按步骤〈2>的方法更新MAXi和预测序号Q ; b、若Ps< Q:如果(Ps+ 65536 -Q)彡(Q - Ps),说明当前序号溢出,服务器端丢包,此时将 COUNTER_SERVER = COUNTER_SERVER + (Ps + 65536 -Q)/LEN,同时将 COUNTi 的值加1,并按〈2>的方法更新MAXi和预测序号Q ;反之当前序号未溢出,则说明测量点已经收到过该序号或大于的TCP数据包,但在客户端对该TCP数据包进行了请求重传,此时更新重传计数器 COUNTER_RETRANS 的值,C0UNTER_ RETRANS += I ;同时将 COUNTi 的值加 1,并按〈2>的方法更新MAXi和预测序号Q ; C、若Ps = Q :则序号TCP数据包并未发生丢包,此时将COUNTi的值加I,并按〈2>的方法更新MAXi和预测序号Q ; 处理完毕后,重复步骤〈I〉; <4>继续检查网络流Ni中发给用户的TCP包,检查TCP数据包头部的序列号Ps和其负载长度LENs ;将序列号Ps与预测值Q进行比较 d、若Ps > Q :判断(65536 - Ps + Q)与(Ps - Q)的大小,如果(65536 - Ps + Q)< (Ps - Q)则按〈3>中b的(Ps + 65536 -Q) > (Q - Ps)的情况进行处理,反之按〈3>中的a进行处理; e、若Ps< Q :按〈3>中b的(Ps + 65536 -Q) > (Q - Ps)的情况进行处理; f、若Ps= Q :按〈3>中的c进行处理; 处理完毕后,重复步骤〈1>。
5.根据权利要求2或3或4所述的一种宽带网用户接入链路下行丢包率测量方法,其特征在于所述步骤3)具体是指如果是服务器端丢包,则C0UNTER_ RETRANS的值会一直等于 COUNTER_SERVER,如果 C0UNTER_ RETRANS 的值大于 COUNTER_SERVER,这时网络流 Ni的相应用户接入链路的下行丢包率Plr可由以下公式计算
全文摘要
本发明公开了一种宽带网用户接入链路下行丢包率测量方法,包括A、选取服务器端与客户端的任意中间节点为测量点;B、对测量点接收到的服务器端发给客户端的TCP报文进行分析,统计TCP报文首部信息,根据TCP报文携带的序列号和有效载荷长度信息,预测出测量点下一个即将接收到的TCP报文序号;C、待下一TCP报文到来时,将到来的TCP报文序号与预测出的TCP报文序号相比较,判断出是否丢包以及丢包发生的链路是服务器方还是客户端接入链路,再最终得出用户的下行丢包率指标。该方法能在局端任意中间节点采集用户与互联网之间的通信流量,通过对流量的分析计算用户接入链路的下行丢包率指标,为宽带网的运营、质量保障、故障诊断提供支撑手段。
文档编号H04L12/26GK102868576SQ201210364348
公开日2013年1月9日 申请日期2012年9月26日 优先权日2012年9月26日
发明者汪文勇, 屈茜, 黄鹂声 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1