一种突发背景流环境下单端可用带宽的测量方法
【专利摘要】本发明公开了一种突发背景流环境下单端可用带宽的测量方法,该方法通过构造带有负载包、定位包和测量包的探测包列,结合TTL值的设置和QueryPerformanceFrequency()的应用,获得测量包在瓶颈链路前后微秒级的时间分布,并周期性地跟踪瓶颈链路位置的变化。在测量过程中过滤探测包在非同一路径上的时间分布,同时加入丢包率等误差因子,提高测量精度。本发明可应用于多跳网络环境下的端到端的可用带宽的测量,与现有的可用带宽测量方法相比,本发明采用新颖的探测包列实现单端可用带宽测量,在分析了突发背景流的基础上有效地解决了在测量可用带宽过程中精度不高,负载过大和测量时间较长的问题。
【专利说明】一种突发背景流环境下单端可用带宽的测量方法
【技术领域】
[0001] 本发明公开了一种突发背景流环境下单端可用带宽的测量方法,具体涉及一种用 于解决可用带宽测量过程中精确度不高、对网络影响较大、测量时间较长的单端可用带宽 测量方法,属于网络测量【技术领域】。
【背景技术】
[0002] 近年来,随着光纤传输和高速以太网交换机的广泛应用,网络主干带宽和接入带 宽成倍增加,但是网络性能没有随之成倍提升,高时延、低利用率仍然存在,因此通过网络 测量来实时检测网络性能尤为重要。而网络可用带宽是网络最基本和最重要的性能指标 之一,它不仅反应了端到端网络路径的实际传输能力,还对拥塞控制、路由选择及服务质量 (QoS)等具有重要意义,受到越来越多的关注。
[0003] 端到端路径的可用带宽是指存在背景流量的前提下,一段时间间隔内端到端的路 径能提供的最大服务速率。根据探测方式的不同,把可用带宽测量模型分为探测速率模型 (PRM,probe rate model)和探测间隔模型(PGM,probe gap model)。PRM 基于自诱导拥塞 思想,如果发送端探测流的发送速率小于路径可用带宽,那么探测流到达接收端的速率将 与源端的发送速率相匹配。反之,探测流会造成网络拥塞,所以,通过寻找发送速率和接收 速率开始相等的转折点来测量可用带宽。PGM是利用探测包在发送端和接收端的探测分组 之间的时间间隔来估测可用带宽。
[0004] 这两种模型都假设端到端网络路径上的背景流是包长无限小且流量保持稳定的 液体流,但由于网络不断增长分布化、不协作异质的特点,使得实际网络环境下背景流具有 突发性,这种基于瓶颈分隔原理的液体流模型中的假设条件在实际测量时难以满足,不能 准确地反映实际网络,因此有必要提高在多跳网络环境下测量可用带宽精确度。
【发明内容】
[0005] 本发明所要解决的技术问题是:针对现有技术的缺陷,提供一种突发背景流环境 下单端可用带宽的测量机制,用于解决多跳网络中由于突发背景流的影响可用带宽测量精 度不高的问题。通过本发明,可以有效提高可用带宽的测量精度,降低网络负载,提高测量 效率。
[0006] 本发明为解决上述技术问题采用以下技术方案:
[0007] -种突发背景流环境下单端可用带宽的测量机制,主要包括探测包列的构造和可 用带宽测量方法的改进。
[0008] 探测包列的构造:探测包列如图2所示,主要由负载包、测量包、定位包组成,每一 个探测包列有2个探测单元,每个探测单元包括2个负载包,2个测量包和Η个定位包。
[0009] 负载包用于获得测量包在瓶颈链路前后的时间间隔。相关设置如下:负载包为大 小1500Β的ICMP包,位于第一个和第二个探测单元中负载包的TTL值分别设为瓶颈链路前 一跳和瓶颈链路后一跳,使得负载包在瓶颈链路前后被丢弃,从而获得测量包在瓶颈链路 前后的时间间隔。
[0010] 定位包用于跟踪瓶颈链路的位置变化。相关设置如下:定位包为大小40B的ICMP 包,个数由端到端路径跳数决定,定位包的TTL值依次向内递增排列,使得每经过一个路由 器就被丢弃,当探测包列到达目的节点时,源节点获得一个时间序列,时间序列中的转折点 即为瓶颈链路的位置。
[0011] 测量包用于确定丢包率。相关设置如下:测量包为大小40B,TTL值默认的ICMP 包。在传输的过程中,如果在传输过程中某节点缓冲区已满或者出现网络拥塞等情况,会发 生丢包,此时目的节点不会向源节点发送应答报文,因此我们可以通过源节点收到的应答 报文的个数来计算丢包率。
[0012] 可用带宽测量方法的主要步骤如下:
[0013] 步骤一、确定端到端路径的跳数Η :利用traceroute工具获得所测路径中Η的个 数,确定探测包列中所需的定位包的个数。
[0014] 步骤二、初始化瓶颈链路的位置0及容量C :利用Pathneck工具得到瓶颈链路的 位置〇及容量C。
[0015] 步骤三、设置探测包列中负载包和定位包的TTL值:在构造探测包列结构时将第 一个和第二个探测单元中负载包的TTL值分别设为瓶颈链路前一跳(0-1)和瓶颈链路后一 跳(0),定位包的TTL值依次向内递排列。
[0016] 步骤四、源节点以速率Ru向目的节点发送探测包列,获得测量包在瓶颈链路前后 的时间间隔并对其过滤;
[0017] 当负载包到达瓶颈链路前后时被丢弃,中间节点向源节点返回ICMP超时报文,源 节点每收到一个ICMP超时报文记录当前的CPU频率,通过QueryPerformanceFrequency () 函数获得两个包在瓶颈链路前后的微秒级的时间间隔,分别记为测量包在瓶颈链路前后的 时间间隔gH、gi。本方法假设在一个探测周期内,探测包列经过的端到端的路径不发生变 化,因此本方法过滤数据包失序的时间间隔,即过滤非正数的时间间隔。
[0018] 步骤五:利用定位包得到时间序列,跟踪瓶颈位置的变化情况:当探测包列每经 过一个中间节点,一个定位包被丢弃,中间节点向源节点返回ICMP超时报文,源节点每 收到一个ICMP超时报文记录当前的CPU频率,通过QueryPerformanceFrequency ()函 数将两个包的时间间隔转换为微秒级的时间,当探测包列抵达目的节点时得到一个时间 序列 RTT(rttA1, rttB1.....rttAm, rttBm),满足条件 Max (rttBi-rttAi) - ie [l,m],me [l,n],其中rttAm、rttBm*别为第m个探测包列中第一个、第二个探测单元 中测量包在所测路径上的往返时延,i处为瓶颈链路的位置,与步骤二中得到的0相比,如 果变化,则转向步骤二,重新测得〇和C。否则进行步骤六。
[0019] 步骤六:确定测量包的丢包率,估算可用带宽:当探测包列到达目的节点后,如果 存在缓冲区已满或者网络拥塞等情况,测量包会向源节点返回ICMP应答报文,源节点通过 IP报文中标识统计实际收到应答报文的个数,与测量包的个数相比得到丢包率。
[0020] 结合步骤四,用公式计算得 出可用带宽;
【权利要求】
1. 一种突发背景流环境下单端可用带宽的测量方法,其特征在于,包括如下步骤: 步骤一:确定端到端路径的跳数H,进而确定探测包列中定位包的个数; 步骤二:初始化瓶颈链路的位置0及容量C ; 步骤三:设置探测包列中负载包和定位包的TTL值; 步骤四:源节点以速率Ru向目的节点发送探测包列,获得探测包列中测量包在瓶颈链 路前、后的时间间隔并对其进行过滤; 步骤五:利用探测包列中的定位包得到时间序列,跟踪判断瓶颈链路位置是否变化,具 体步骤如下: 当探测包列每经过一个中间节点时,一个定位包被丢弃,中间节点向源节点 返回ICMP超时报文,源节点每收到一个ICMP超时报文记录当前的CPU频率,通过 QueryPerformanceFrequency()函数将两个包的时间间隔转换为微秒级的时间,当探测包 列抵达目的节点时得到一个时间序列RTT(rttA1, rttB1.....rtt- rttBm),所述时间序列满 足条件: Max(rttBi-rttAi)-(rttB(i_1)-rtt A(i_1)), i e [l,m]; 其中,i处为瓶颈链路的位置,将其与步骤二中得到的位置0相比较,当位置发生变化 时,转向步骤二,重新测得0和C ; 当位置未发生变化时,进入步骤六; 步骤六:分别计算探测过程中的丢包率和可用带宽; 步骤七:更新探测包列的时间间隔,准备下一次测量。
2. 如权利要求1所述的一种突发背景流环境下单端可用带宽的测量方法,其特征在 于,所述探测包列包括:第一和第二两个探测单元,每个探测单元包括2个负载包,2个测量 包和Η个定位包,Η的取值为自然数,定位包的个数由端到端路径跳数决定;探测单元在源 端发送前存在时间间隔g u,测量包在源端发送前存在时间间隔gm ;所述第一和第二两个探 测单元中负载包的TTL值分别设为瓶颈链路前一跳和瓶颈链路后一跳的跳数值,所述定位 包的TTL值依次由外向内递增排列; 其中,负载包用于获得测量包在瓶颈链路前后的时间间隔;定位包用于跟踪瓶颈链路 的位置变化;测量包用于确定丢包率。
3. 如权利要求2所述的一种突发背景流环境下单端可用带宽的测量方法,其特征在 于:所述步骤一中,利用traceroute工具获得所测路径中的跳数H。
4. 如权利要求3所述的一种突发背景流环境下单端可用带宽的测量方法,其特征在 于:所述步骤二中,利用Pathneck工具测得瓶颈链路的位置0及容量C。
5. 如权利要求4所述的一种突发背景流环境下单端可用带宽的测量方法,其特征在 于:所述步骤四中,探测包列的输入速率为
其中,Sp SM、SP分别为负载包、测量包和定位包的大小; 所述步骤四的具体步骤包括: (401):当探测包列到达瓶颈链路时,负载包被丢弃,中间节点向源节点发 送ICMP超时报文,源节点每收到一个ICMP超时报文就记录当前的CPU频率,通过 QueryPerformanceFrequency()函数将两个探测包列在瓶颈链路前后的时间间隔转换为微 秒级的时间,分别记录为gg、gi,此时,ICMP超时报文与测量包的间隔一致; (402):在探测过程中,当网络拥塞造成探测包列所经过的端到端的路径发生改变,进 而导致数据包失序时,返回的gg和gi为负数,过滤此时的非正的时间间隔gg和gi。
6. 如权利要求5所述的一种突发背景流环境下单端可用带宽的测量方法,其特征在 于,所述步骤六具体计算方法如下: (1) 设定背景流的速率为B,探测包列在瓶颈链路上的传输时延为gb,处理时延为gp, g。为背景流在瓶颈链路上的传输时延,在第一测量包A、第二测量包M2到达目的节点时,有 B*gi_i的背景流进入目的节点; (2) 当探测单元的输入速率小于可用带宽时,8111时间内进入目的节点的背景流在第二 测量包M2到达节点前已传输完毕,此时gi = gm ; 提高探测速率后,在gm时间内,当进入节点背景流的传输时延超过第二测量包M2到达 瓶颈前段链路的节点时刻时,扩展giH与gi :g。= gi-gb-gp; 当进入节点背景流的传输时延超过第一测量包Mi到达瓶颈前段链路的节点时刻时,缩 小 gi-i 与 gi :gc = gi-gfgp ; 综合上述⑴、⑵两种情况,有= gc*C,则
结合可用带宽的基本公式A = C-B,得出
其中,A为可用带宽,C为瓶颈带宽既容量; 当传输过程中会出现节点缓冲区已满或者出现网络拥塞情况时,在上述公式的基础上 增加丢包率, 得出可用带宽
其中,Μ是一个探测周期内,端到端路径上丢包的个数;N是一个探测周期内,端到端路 径上探测样本的个数,即测量包的总数。
7. 如权利要求6所述的一种突发背景流环境下单端可用带宽的测量方法,其特征在 于:所述步骤七中根据步骤六计算得出的可用带宽,调整发送速率,当R u < 〇. 02Α时,加快 测量速度;反之则保持初始输入速率。
8. 如权利要求2所述的一种突发背景流环境下单端可用带宽的测量方法,其特征在 于:所述负载包为大小1500B的ICMP包;所述定位包为大小40B的ICMP包;所述测量包为 大小40B、TTL值默认的ICMP包。
【文档编号】H04L12/26GK104113446SQ201410315979
【公开日】2014年10月22日 申请日期:2014年7月3日 优先权日:2014年7月3日
【发明者】陈兵, 周逸秋, 钱红燕 申请人:南京航空航天大学