随机早期检测功能的测试方法与系统的制作方法

文档序号:7929057阅读:323来源:国知局
专利名称:随机早期检测功能的测试方法与系统的制作方法
技术领域
本发明涉及通信技术,尤其是一种随机早期检测功能的测试方法与系统。
背景技术
传统的路由器允许在拥塞发生时期将输出流量存放在緩冲区中。决定到 达路由器输出端口的数据包是否接收到緩冲区的算法是单纯的先入先出
(First-in First-out,以下简称FIFO )队列法。FIFO队列法根据数据包到达 顺序将其接收到队列中,再根据到达的顺序从队列中送出。如果队列达到一 定的长度,它后面到达的数据包就被丢弃。由于内存资源的有限,当队列的 长度达到规定的最大长度时,所有到来的报文都被丟弃。在拥塞发生期间, 队列尾部的数据包将被丢弃,直到拥塞解决。对于传输控制协议(Transport Control Protocol,以下简称TCP)报文,由于大量的报文被丟弃,将造成 TCP超时,从而引发TCP的慢启动和拥塞避免机制,使TCP减少报文的发 送。当队列同时丢弃多个TCP连接的报文时,将造成多个TCP连接同时进入 慢启动和拥塞避免,称之为TCP全局同步。此时,线路的通信量降到很低, 这些连接的通信量又逐渐增加。多个TCP连接发向队列的报文将同时减少, 使得发向队列的报文流量超过线路发送的速度,减少了线路带宽的利用,造 成带宽的浪费。并且,发向队列的报文的流量总是忽大忽小,使线路上的流 量总在极少和饱满之间波动,TCP数据流发生拥塞。如图l所示,为TCP全 局同步下带宽利用率随时间变化的示意图。其中,101、 102与103分别表示 三个TCP连接的报文流。
现有技术中,为了避免拥塞,在网络没有发生拥塞以前根据队列状态进行有选择的丢包。当某个TCP连接的报文被丟弃,开始减速发送的时候,其 它的TCP连接仍然有较高的发送速度。这样,无论什么时候,总有TCP连接 在进行较快的发送,提高了线路带宽的利用率。在各种用于早期避免拥塞的 方法中,随机早期检测(Random Early Detection,以下简称RED)算法是 目前应用最为广泛的一个拥塞避免算法。
RED算法基于平均队列长度预测可能到来的网络拥塞,并采用随机选择 的策略对分组进行标记,或者为了与早期TCP协议中拥塞控制机制相兼容, 丢弃该分组,在拥塞尚未出现时提示发送端系统降低其发送速率,以达到避 免拥塞的目的。同时,由于RED算法随机标记到达的数据分组,使不同TCP 流的拥塞相应异步化,因而解决了 TCP全局同步问题。RED算法被广泛应用 于路由器、交换机等通信设备中,尤其是网络比较核心的位置,例如网络 出口位置,核心交换位置等,来预测和避免公共网络上瓶颈处的拥塞现象发 生。在图1所示的条件下,使用RED算法后带宽利用率随时间变化的示意图 如图2所示。使用RED算法,由于提前对数据包进行了丢弃,避免了 TCP 的慢启动,实现了拥塞避免,即使在TCP流量非大的情况下,带宽利用率也 变得非常平滑,避免了 TCP数据流发生拥塞。
为了保证网络具有早期拥塞避免功能,就需要对通信设备进行RED功能 测试。然而,现有技术中尚不具有对通信设备进行RED功能测试的方法,若 不能保证通信设备的RED功能,则通信设备可能对拥塞的队列进行尾部丢 弃,而不是随机丟弃,这样就会造成带宽的浪费,TCP数据流发生拥塞,影 响网络的正常运行。

发明内容
本发明实施例的目的是提供一种随机早期检测功能的测试方法与系 统,对通信设备进行RED功能测试,从而保证RED功能在网络上的应用, 提高线路的带宽利用率,减少TCP数据流的拥塞。为解决上述技术问题,本发明实施例提供的 一种随机早期检测功能的
测试方法,包括
通过多台计算机向被测设备发送数据包,模拟传输控制协议TCP全局 同步现象;
在TCP全局同步现象下,监测并输出预设时段内被测设备入口带宽使 用情况与出口带宽使用情况;
使能被测设备上的随机早期检测RED模块,监测并输出预设时段内 被测设备入口带宽使用情况与出口带宽使用情况。
本发明实施例提供的一种随机早期检测功能的测试系统,包括设置有 随机早期检测RED模块的被测设备,还包括
多台计算机,用于向被测设备发送数据包,模拟传输控制协议TCP
全局同步现象;
监测模块,用于在TCP全局同步现象下以及使能RED模块后,分别 监测预设时段内被测设备入口带宽使用情况与出口带宽使用情况;
输出模块,用于生成并输出所述监测模块监测到的预设时段内被测设
备入口带宽使用情况与出口带宽使用情况。
基于本发明实施例提供的随机早期检测功能的测试方法与系统,可以 通过多台计算机向被测设备发送数据包,来模拟TCP全局同步现象,实现
对被测设备的RED功能检测,由于通过计算机来模拟TCP全局同步现象, 计算机成本较低,并且通过计算机可以对测试参数,例如TCP流量大小、 发包端与收包端数量等,进行精确控制,从而保证TCP全局现象出现,实 现对被测设备的RED功能的精确检测,从而提高线路的带宽利用率,避 免TCP数据流发生拥塞,保证网络的正常运行。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为TCP全局同步下带宽利用率随时间变化的示意图; 图2为图1所示条件下使用RED算法后带宽利用率随时间变化的示 意图3为本发明RED功能的测试方法 一 个实施例的流程图; 图4为用于实现本发明RED功能的测试方法实施例的一个网络拓朴 示意图5为本发明RED功能的测试方法另一个实施例的流程图6为本发明RED功能的测试系统一个实施例的结构示意图7为本发明RED功能的测试系统另一个实施例的结构示意图8为利用图7所示系统监测到的被测设备在TCP全局同步下带宽利
用率随时间变化的示意图9为利用图7所示系统监测到的被测设备中RED模块使能后的带宽
利用率随时间变化的示意图IO为本发明RED功能的测试系统又一个实施例的结构示意图。
具体实施例方式
本发明实施例通过多台计算机模拟传输控制协议TCP全局同步现象, 实现对被测设备RED功能的测试,成本较低,并且可以对测试参数进行 精确控制,从而保证TCP全局现象出现,实现对被测设备的RED功能的精 确检测,从而提高线路的带宽利用率,避免TCP数据流发生拥塞,保证网 络的正常运行。
如图3所示,为本发明RED功能的测试方法一个实施例的流程图,其 包括以下步骤
步骤201,通过多台计算机向被测设备发送数据包,模拟传输控制协 议TCP全局同步现象。
步骤202,在TCP全局同步现象下,监测并输出预设时段内被测设备入口带宽使用情况与出口带宽使用情况。具体地,该带宽使用情况可以是 带宽占用量或带宽利用率。
步骤203,使能被测设备上的RED模块,监测并输出预设时段内被测 设备入口带宽使用情况与出口带宽使用情况。
上述实施例中的多台计算机包括A台用于建立连接的远端计算机与B 台用于发起连接建立的控制端计算机。A台远端计算机与B台控制端计算 机分别与交换设备连接。该交换设备具体可以是路由器、交换机等。被测 设备与另 一通信设备通过同步接口连接,被测设备与另 一通信设备分别通 过以太网接口与交换设备连接。B台控制端计算机中的其中 一 台计算机上 设置有用于监测入口与出口带宽使用情况的监测模块。现有的应用层性能 测试软件IxChariot由两部分组成控制端(Console )软件和远端(Endpoint) 软件,两者都可安装在普通计算机或者服务器上,通常情况下,控制端安 装在Windows操作系统上,远端则可以支持各种主流的#:作系统。本发明 实施例中的远端计算机可以通过在计算机上安装远端软件实现,控制端计 算机可以通过在计算机上安装控制端软件实现。其中的监测模块可以通过 SolarWinds软件实现。具体地,A+B>8。在A+B-8时,A=5, B=3。如 图4所示,为用于实现本发明RED功能的测试方法实施例的一个网络拓 朴示意图。其中的箭头示出了数据包的传输方向。
如图5所示,为本发明RED功能的测试方法另一个实施例的流程图, 该实施例可基于图4所示的网络拓朴实现,其包括以下步骤
步骤301, A台远端计算机根据B台控制端计算机的发起连接建立指
示,分别在预先设置的带宽为XI、 X2........ XA的线路上,依次通过
交换设备、被测设备、另一通信设备与交换设备向B台控制端计算机传输 TCP数据流;同时,被测设备在带宽为Y的线路上,依次通过另一通信设 备与交换设备向设置有监测模块的控制端计算机发送用于采集被测设备 上入口与出口流量信息的简单网络管理协议(Simple Network ManagementProtocol,以下简称SNMP)4笨询才艮文,其中,X1+X2+……十XA+Y小于 同步接口的物理带宽。
因为设置带宽小于接口的物理带宽,比较容易产生拥塞。具体应用中, 在同步接口的实际物理带宽为2Mkbit时,设置被测设备上的同步接口带
宽为1Mkbit。可以设置X1、 X2.......、 XA的线路带宽分别为160kbit,
160kbit, 160kbit, 160kbit, 320Kbit,总共为960kbit,设置SNMP探询报 文的占用带宽Y为26Kkbit,上述带宽之和接近1Mbit的流量,接近拥塞 的程度。
步骤302, A台远端计算机中的其中一台远端计算机产生多个预设长 度为C的突发数据包,并依次通过被测设备、另一通信设备与交换设备向 B台控制端计算机传输,其中C大于同步接口的最大传输单元MTU值。
具体地,可以通过该台远端计算机中设置的嗅探器(Sniffer )产生1500 个1460字节(Bytes)的突发数据包,此突发数据包使被测设备出口队列 产生拥塞,队列为FIFO队列,最大出口队列为40字节。由于突发数据包 长为1460字节,所以设置同步接口的MTU值为600字节,使发送队列更 容易产生拥塞。
步骤303,在TCP全局同步现象下,设置有监测模块的控制端计算机 根据SNMP探询报文在预设时段内采集的被测设备上入口与出口流量信 息,获取并统计入口带宽使用情况与出口带宽使用情况并输出。具体地, 该带宽使用情况可以是带宽占用量或带宽利用率。
步骤304,使能被测设备上的RED模块,设置有监测模块的控制端计 算机根据SNMP探询报文在预设时段内采集的被测设备上入口与出口流 量信息,获取并统计入口带宽使用情况与出口带宽使用情况并输出。
进一步地,通过步骤202与203获得被测设备入口带宽使用情况与出 口带宽使用情况后,或者通过步骤303与304获得被测设备入口带宽使用 情况与出口带宽使用情况后,还可以进一步比较TCP全局同步现象下与使能被测设备上的RED模块后,预设时段内监测到的出口带宽使用情况, 确定被测设备是否具有RED功能并输出被测设备是否具有RED功能的比 较结果。
如图6所示,为本发明RED功能的测试系统一个实施例的结构示意图。 该实施例的测试系统可用于实现如图3所示实施例的流程,其包括设置有 RED模块401的被测设备1、多台计算机2、监测模块3与输出模块4。 其中,多台计算机2用于向被测设备1发送数据包,模拟传输控制协议 TCP全局同步现象。监测模块3用于在TCP全局同步现象下以及使能RED 模块后,分别监测预设时段内被测设备入口带宽使用情况与出口带宽使用 情况,具体可以通过SolarWinds软件实现。输出模块4用于生成并输出监 测模块3在TCP全局同步现象下以及使能RED模块后,分别监测到的预 设时段内被测设备入口带宽使用情况与出口带宽使用情况。
如图7所示,为本发明RED功能的测试系统另一个实施例的结构示意 图,该实施例的测试系统可用于实现如图5所示实施例的流程。该实施例 中,多台计算机2包括设置有远端模块402的A台远端计算机21和设置 有用于发起连接建立的控制端模块403的B台控制端计算机22。具体地, A+B>8。在A+B-8时,A=5, B=3。监测模块3与输出模块4设置在其 中一台控制端计算机22上。其中的远端模块402具体可以通过远端 (Endpoint)软件实现,控制端模块403具体可以通过控制端(Console) 软件实现。另外,该实施例的测试系统还包括交换设备5与另一通信设备 6。其中的交换设备5具体可以是路由器、交换机等。A台远端计算机21 与B台控制端计算机22分别与交换设备5连接,被测设备1与另一通信 设备6通过同步接口 404连接,被测设备1与另一通信设备6分别通过以 太网接口 405与交换设备5连接。
在图7所示的测试系统中,A台远端计算机21依次通过交换设备5、 被测设备1、另 一通信设备6与交换设备5对B台控制端计算机22传输TCP数据流的线路带宽XI、 X2........ XA、以及净皮测设备1依次通过另
一通信设备6与交换设备5向设置有监测模块3的控制端计算机22发送 用于采集被测设备1上入口与出口流量信息的简单网络管理协议SNMP探 询报文的线路带宽Y之和小于同步接口 404的物理带宽。A台远端计算机 21中的其中一台计算机上设置有嗅探器(Sniffer),产生并依次通过被测 设备1、另一通信设备6与交换设备5向B台控制端计算机22传输的多 个突发数据包的预设长度C大于同步接口 404的最大传输单元MTU值。 设置有监测模块3的控制端计算机22根据SNMP探询报文在预设时段内 采集的被测设备1上入口与出口流量信息,获取并统计入口带宽使用情况 与出口带宽使用情况。 -
如图8所示,为利用图7所示系统监测到的被测设备在TCP全局同 步下带宽利用率随时间变化的示意图。其中,501表示被测设备1上的入 口实时带宽利用率,502表示被测设备1上的出口实时带宽利用率。从图 8可以看到,入口处的突发数据过后,容易导致出口实时带宽利用率急剧 下降,这就是由于TCP连接一齐进入超时等待引起TCP全局同步。如图 9所示,为利用图7所示系统监测到的被测设备中RED模块使能后的带宽 利用率随时间变化的示意图。从图9可以看到,出口实时带宽利用率变得 平緩,未显现明显的带宽利用率变化,由此可知RED功能正常生效。
进一步地,在本发明各实施例的RED功能的测试系统中,还可以包 括比较模块7,用于根据监测模块3的监测结果,比较TCP全局同步现象 下与使能被测设备1上的RED模块后,预设时段内监测到的出口带宽使 用情况,确定被测设备1是否具有RED功能。具体地,该比较模块7可 以与监测模块3、输出模块4设置在同一台控制端计算机22上。相应的, 输出模块4输出在TCP全局同步现象下以及使能RED模块后,分别监测 到的预设时段内被测设备1入口带宽使用情况与出口带宽使用情况时,还 可以输出比较模块7关于被测设备1是否具有RED功能的比较结果。图IO所示,为本发明RED功能的测试系统又一个实施例的结构示意图。
本领域普通技术人员可以理解实现上述方法实施例的全部或部分步 骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机 可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤; 而前述的存储介质包括ROM、 RAM、磁碟或者光盘等各种可以存储程 序代码的介质。
本发明实施例可以通过多台计算机向被测设备发送数据包,来模拟 TCP全局同步现象,实现对被测设备的RED功能检测,由于通过计算机 来模拟TCP全局同步现象,计算机成本较低,并且通过计算机可以对测试 参数进行精确控制,从而保证TCP全局现象出现,实现对被测设备的RED 功能的精确检测,从而提高线路的带宽利用率,避免TCP数据流发生拥塞, 保证网络的正常运行。
最后所应说明的是以上实施例仅用以说明本发明的技术方案,而非对 本发明作限制性理解。尽管参照上述较佳实施例对本发明进行了详细说明, 本领域的普通技术人员应当理解其依然可以对本发明的技术方案进行修改 或者等同替换,而这种修改或者等同替换并不脱离本发明技术方案的精神和 范围。
权利要求
1、一种随机早期检测功能的测试方法,其特征在于,包括通过多台计算机向被测设备发送数据包,模拟传输控制协议TCP全局同步现象;在TCP全局同步现象下,监测并输出预设时段内被测设备入口带宽使用情况与出口带宽使用情况;使能被测设备上的随机早期检测RED模块,监测并输出预设时段内被测设备入口带宽使用情况与出口带宽使用情况。
2、 根据权利要求1所述的方法,其特征在于,所述多台计算机包括A 台用于建立连接的远端计算机与B台用于发起连接建立的控制端计算机; A台远端计算机与B台控制端计算机分别与交换设备连接,被测设备与另 一通信设备通过同步接口连接,被测设备与另 一通信设备分别通过以太网 接口与交换设备连接;B台控制端计算机中的其中一台计算机上设置有用 于监测入口与出口带宽使用情况的监测模块;所述通过多台计算机向被测设备发送数据包,模拟传输控制协议TCP 全局同步现象包括A台远端计算机根据B台控制端计算机的发起连接建立指示,分别在预先设置的带宽为XI、 X2........ XA的线路上,依次通过交换设备、被测设备、另一通信设备与交换设备向B台控制端计算机传输TCP数据 流;同时,被测设备在带宽为Y的线路上,依次通过另一通信设备与交换 设备向设置有监测模块的控制端计算机发送用于采集被测设备上入口与 出口流量信息的简单网络管理SNMP探询报文,其中,X1+X2+...... +XA+Y小于所述同步接口的物理带宽;A台远端计算机中的其中 一 台计算机产生多个预设长度为C的突发数 据包,并依次通过被测设备、另一通信设备与交换设备向B台控制端计算 机传输,其中C大于同步接口的最大传输单元MTU值;所述监测预设时段内被测设备入口带宽使用情况与出口带宽使用情况具体为设置有监测模块的控制端计算机根据SNMP探询报文在预设时 段内采集的被测设备上入口与出口流量信息,获取并统计入口带宽使用情 况与出口带宽使用情况。
3、 根据权利要求2所述的方法,其特征在于,A+B>8; A+B=8时, A=5, B=3。
4、 根据权利要求1至3任意一项所述的方法,其特征在于,带宽使 用情况为带宽占用量或带宽利用率。
5、 根据权利要求4所述的方法,其特征在于,还包括 比较TCP全局同步现象下与使能被测设备上的RED模块后,预设时段内监测到的出口带宽使用情况,确定被测设备是否具有RED功能。
6、 一种随机早期检测功能的测试系统,包括设置有随机早期检测RED 模块的被测设备,其特征在于,还包括多台计算机,用于向被测设备发送数据包,模拟传输控制协议TCP 全局同步现象;监测模块,用于在TCP全局同步现象下以及使能RED模块后,分别 监测预设时段内被测设备入口带宽使用情况与出口带宽使用情况;输出模块,用于生成并输出所述监测模块监测到的预设时段内被测设 备入口带宽使用情况与出口带宽使用情况。
7、 根据权利要求6所述的系统,其特征在于,所述多台计算机包括 设置有远端模块的A台远端计算机和设置有用于发起连接建立的控制端 模块的B台控制端计算机;所述监测模块与所述输出模块设置在其中一台 控制端计算机上;所述系统还包括交换设备与另一通信设备;A台远端计 算机与B台控制端计算机分别与交换设备连接,被测设备与另一通信设备 通过同步接口连接,被测设备与另 一通信设备分别通过以太网接口与交换 设备连接。
8、 根据权利要求7所述的系统,其特征在于,A台远端计算机依次 通过交换设备、被测设备、另一通信设备与交换设备对B台控制端计算机传输TCP数据流的线路带宽X1 、 X2........ XA 、以及被测设备依次通过另一通信设备与交换设备向设置有监测模块的控制端计算机发送用于 采集被测设备上入口与出口流量信息的简单网络管理SNMP探询报文的 线路带宽Y之和小于所述同步接口的物理带宽;A台远端计算机中的其中一台远端计算机通过其中的嗅探器产生并依 次通过被测设备、另一通信设备与交换设备向B台控制端计算机传输的多 个突发数据包的预设长度C大于同步接口的最大传输单元MTU值;设置有监测模块的控制端计算机根据SNMP探询报文在预设时段内 采集的被测设备上入口与出口流量信息,获取并统计入口带宽使用情况与 出口带宽使用情况。
9、 根据权利要求8所述的系统,其特征在于,A+B>8; A+B=8时, A=5, B=3。
10、 根据权利要求6至9任意一项所述的系统,其特征在于,还包括 比较模块,用于根据所述监测模块的监测结果,比较TCP全局同步现象下与使能被测设备上的RED模块后,预设时段内监测到的出口带宽使 用情况,确定被测设备是否具有RED功能;所述输出模块还用于输出所述比较模块关于被测设备是否具有RED 功能的比较结果。
全文摘要
本发明公开了一种随机早期检测功能的测试方法与系统,其中,测试方法包括通过多台计算机向被测设备发送数据包,模拟传输控制协议TCP全局同步现象;在TCP全局同步现象下,监测并输出预设时段内被测设备入口带宽使用情况与出口带宽使用情况;使能被测设备上的随机早期检测RED模块,监测并输出预设时段内被测设备入口带宽使用情况与出口带宽使用情况。本发明实施例可以对通信设备进行RED功能测试,从而保证RED功能在网络上的应用,提高线路的带宽利用率,减少TCP数据流的拥塞。
文档编号H04L29/06GK101442453SQ20081024028
公开日2009年5月27日 申请日期2008年12月22日 优先权日2008年12月22日
发明者李廷红 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1