随机早期检测功能的测试方法与系统转让专利

申请号 : CN200810240284.6

文献号 : CN101442453B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李廷红

申请人 : 北京星网锐捷网络技术有限公司

摘要 :

本发明公开了一种随机早期检测功能的测试方法与系统,其中,测试方法包括:通过多台计算机向被测设备发送数据包,模拟传输控制协议TCP全局同步现象;在TCP全局同步现象下,监测并输出预设时段内被测设备入口带宽使用情况与出口带宽使用情况;使能被测设备上的随机早期检测RED模块,监测并输出预设时段内被测设备入口带宽使用情况与出口带宽使用情况。本发明实施例可以对通信设备进行RED功能测试,从而保证RED功能在网络上的应用,提高线路的带宽利用率,减少TCP数据流的拥塞。

权利要求 :

1.一种随机早期检测功能的测试方法,其特征在于,包括:

通过多台计算机向被测设备发送数据包,模拟传输控制协议TCP全局同步现象;

在TCP全局同步现象下,监测并输出预设时段内被测设备入口带宽使用情况与出口带宽使用情况;

使能被测设备上的随机早期检测RED模块,监测并输出预设时段内被测设备入口带宽使用情况与出口带宽使用情况;

比较TCP全局同步现象下与使能被测设备上的RED模块后,预设时段内监测到的出口带宽使用情况,确定被测设备是否具有RED功能。

2.根据权利要求1所述的方法,其特征在于,所述多台计算机包括A台用于建立连接的远端计算机与B台用于发起连接建立的控制端计算机;A台远端计算机与B台控制端计算机分别与交换设备连接,被测设备与另一通信设备通过同步接口连接,被测设备与另一通信设备分别通过以太网接口与交换设备连接;B台控制端计算机中的其中一台计算机上设置有用于监测入口与出口带宽使用情况的监测模块;

所述通过多台计算机向被测设备发送数据包,模拟传输控制协议TCP全局同步现象包括:

A台远端计算机根据B台控制端计算机的发起连接建立指示,分别在预先设置的带宽为X1、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.一种随机早期检测功能的测试系统,包括设置有随机早期检测RED模块的被测设备,其特征在于,还包括:多台计算机,用于向被测设备发送数据包,模拟传输控制协议TCP全局同步现象;

监测模块,用于在TCP全局同步现象下以及使能RED模块后,分别监测预设时段内被测设备入口带宽使用情况与出口带宽使用情况;

比较模块,用于根据所述监测模块的监测结果,比较TCP全局同步现象下与使能被测设备上的RED模块后,预设时段内监测到的出口带宽使用情况,确定被测设备是否具有RED功能;

输出模块,用于生成并输出所述监测模块监测到的预设时段内被测设备入口带宽使用情况与出口带宽使用情况,还用于输出所述比较模块关于被测设备是否具有RED功能的比较结果。

6.根据权利要求5所述的系统,其特征在于,所述多台计算机包括设置有远端模块的A台远端计算机和设置有用于发起连接建立的控制端模块的B台控制端计算机;所述监测模块与所述输出模块设置在其中一台控制端计算机上;所述系统还包括交换设备与另一通信设备;A台远端计算机与B台控制端计算机分别与交换设备连接,被测设备与另一通信设备通过同步接口连接,被测设备与另一通信设备分别通过以太网接口与交换设备连接。

7.根据权利要求6所述的系统,其特征在于,A台远端计算机依次通过交换设备、被测设备、另一通信设备与交换设备对B台控制端计算机传输TCP数据流的线路带宽X1、X2、......、XA、以及被测设备依次通过另一通信设备与交换设备向设置有监测模块的控制端计算机发送用于采集被测设备上入口与出口流量信息的简单网络管理SNMP探询报文的线路带宽Y之和小于所述同步接口的物理带宽;

A台远端计算机中的其中一台远端计算机通过其中的嗅探器产生并依次通过被测设备、另一通信设备与交换设备向B台控制端计算机传输的多个突发数据包的预设长度C大于同步接口的最大传输单元MTU值;

设置有监测模块的控制端计算机根据SNMP探询报文在预设时段内采集的被测设备上入口与出口流量信息,获取并统计入口带宽使用情况与出口带宽使用情况。

8.根据权利要求7所述的系统,其特征在于,A+B≥8;A+B=8时,A=5,B=3。

说明书 :

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

技术领域

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

发明内容

[0006] 本发明实施例的目的是:提供一种随机早期检测功能的测试方法与系统,对通信设备进行RED功能测试,从而保证RED功能在网络上的应用,提高线路的带宽利用率,减少TCP数据流的拥塞。
[0007] 为解决上述技术问题,本发明实施例提供的一种随机早期检测功能的测试方法,包括:
[0008] 通过多台计算机向被测设备发送数据包,模拟传输控制协议TCP全局同步现象; [0009] 在TCP全局同步现象下,监测并输出预设时段内被测设备入口带宽使 用情况与出口带宽使用情况;
[0010] 使能被测设备上的随机早期检测RED模块,监测并输出预设时段内被测设备入口带宽使用情况与出口带宽使用情况;
[0011] 比较TCP全局同步现象下与使能被测设备上的RED模块后,预设时段内监测到的出口带宽使用情况,确定被测设备是否具有RED功能。
[0012] 本发明实施例提供的一种随机早期检测功能的测试系统,包括设置有随机早期检测RED模块的被测设备,还包括:
[0013] 多台计算机,用于向被测设备发送数据包,模拟传输控制协议TCP全局同步现象; [0014] 监测模块,用于在TCP全局同步现象下以及使能RED模块后,分别监测预设时段内被测设备入口带宽使用情况与出口带宽使用情况;
[0015] 比较模块,用于根据所述监测模块的监测结果,比较TCP全局同步现象下与使能被测设备上的RED模块后,预设时段内监测到的出口带宽使用情况,确定被测设备是否具有RED功能;
[0016] 输出模块,用于生成并输出所述监测模块监测到的预设时段内被测设备入口带宽使用情况与出口带宽使用情况,还用于输出所述比较模块关于被测设备是否具有RED功能的比较结果。
[0017] 基于本发明实施例提供的随机早期检测功能的测试方法与系统,可以通过多台计算机向被测设备发送数据包,来模拟TCP全局同步现象,实现对被测设备的RED功能检测,由于通过计算机来模拟TCP全局同步现象,计算机成本较低,并且通过计算机可以对测试参数,例如:TCP流量大小、发包端与收包端数量等,进行精确控制,从而保证TCP全局现象出现,实现对被测设备的RED功能的精确检测,从而提高线路的带宽利用率,避免TCP数据流发生拥塞,保证网络的正常运行。
[0018] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。 [0019] 附图说明
[0020] 图1为TCP全局同步下带宽利用率随时间变化的示意图;
[0021] 图2为图1所示条件下使用RED算法后带宽利用率随时间变化的示意图; [0022] 图3为本发明RED功能的测试方法一个实施例的流程图;
[0023] 图4为用于实现本发明RED功能的测试方法实施例的一个网络拓扑示意图; [0024] 图5为本发明RED功能的测试方法另一个实施例的流程图;
[0025] 图6为本发明RED功能的测试系统一个实施例的结构示意图;
[0026] 图7为本发明RED功能的测试系统另一个实施例的结构示意图;
[0027] 图8为利用图7所示系统监测到的被测设备在TCP全局同步下带宽利用率随时间变化的示意图;
[0028] 图9为利用图7所示系统监测到的被测设备中RED模块使能后的带宽利用率随时间变化的示意图;
[0029] 图10为本发明RED功能的测试系统又一个实施例的结构示意图。

具体实施方式

[0030] 本发明实施例通过多台计算机模拟传输控制协议TCP全局同步现象,实现对被测设备RED功能的测试,成本较低,并且可以对测试参数进行精确控制,从而保证TCP全局现象出现,实现对被测设备的RED功能的精确检测,从而提高线路的带宽利用率,避免TCP数据流发生拥塞,保证网络的正常运行。
[0031] 如图3所示,为本发明RED功能的测试方法一个实施例的流程图,其包括以下步骤:
[0032] 步骤201,通过多台计算机向被测设备发送数据包,模拟传输控制协议TCP全局同步现象。
[0033] 步骤202,在TCP全局同步现象下,监测并输出预设时段内被测设备 入口带宽使用情况与出口带宽使用情况。具体地,该带宽使用情况可以是带宽占用量或带宽利用率。 [0034] 步骤203,使能被测设备上的RED模块,监测并输出预设时段内被测设备入口带宽使用情况与出口带宽使用情况。
[0035] 上述实施例中的多台计算机包括A台用于建立连接的远端计算机与B台用于发起连接建立的控制端计算机。A台远端计算机与B台控制端计算机分别与交换设备连接。该交换设备具体可以是路由器、交换机等。被测设备与另一通信设备通过同步接口连接,被测设备与另一通信设备分别通过以太网接口与交换设备连接。B台控制端计算机中的其中一台计算机上设置有用于监测入口与出口带宽使用情况的监测模块。现有的应用层性能测试软件IxChariot由两部分组成:控制端(Console)软件和远端(Endpoint)软件,两者都可安装在普通计算机或者服务器上,通常情况下,控制端安装在Windows操作系统上,远端则可以支持各种主流的操作系统。本发明实施例中的远端计算机可以通过在计算机上安装远端软件实现,控制端计算机可以通过在计算机上安装控制端软件实现。其中的监测模块可以通过SolarWinds软件实现。具体地,A+B≥8。在A+B=8时,A=5,B=3。如图4所示,为用于实现本发明RED功能的测试方法实施例的一个网络拓扑示意图。其中的箭头示出了数据包的传输方向。
[0036] 如图5所示,为本发明RED功能的测试方法另一个实施例的流程图,该实施例可基于图4所示的网络拓扑实现,其包括以下步骤:
[0037] 步骤301,A台远端计算机根据B台控制端计算机的发起连接建立指示,分别在预先设置的带宽为X1、X2、……、XA的线路上,依次通过交换设备、被测设备、另一通信设备与交换设备向B台控制端计算机传输TCP数据流;同时,被测设备在带宽为Y的线路上,依次通过另一通信设备与交换设备向设置有监测模块的控制端计算机发送用于采集被测设备上入口与出口流量信息的简单网络管理协议(Simple Network Management Protocol,以下简称:SNMP)探询报文,其中,X1+X2+……+XA+Y小于同步接口的物理带宽。 [0038] 因为设置带宽小于接口的物理带宽,比较容易产生拥塞。具体应用中,在同步接口的实际物理带宽为2Mkbit时,设置被测设备上的同步接口带宽为1Mkbit。可以设置X1、X2、……、XA的线路带宽分别为160kbit,160kbit,160kbit,160kbit,320Kbit,总共为960kbit,设置SNMP探询报文的占用带宽Y为26Kkbit,上述带宽之和接近1Mbit的流量,接近拥塞的程度。
[0039] 步骤302,A台远端计算机中的其中一台远端计算机产生多个预设长度为C的突发数据包,并依次通过被测设备、另一通信设备与交换设备向B台控制端计算机传输,其中C大于同步接口的最大传输单元MTU值。
[0040] 具体地,可以通过该台远端计算机中设置的嗅探器(Sniffer)产生1500个1460字节(Bytes)的突发数据包,此突发数据包使被测设备出口队列产生拥塞,队列为FIFO队列,最大出口队列为40字节。由于突发数据包长为1460字节,所以设置同步接口的MTU值为600字节,使发送队列更容易产生拥塞。
[0041] 步骤303,在TCP全局同步现象下,设置有监测模块的控制端计算机根据SNMP探询报文在预设时段内采集的被测设备上入口与出口流量信息,获取并统计入口带宽使用情况与出口带宽使用情况并输出。具体地,该带宽使用情况可以是带宽占用量或带宽利用率。 [0042] 步骤304,使能被测设备上的RED模块,设置有监测模块的控制端计算机根据SNMP探询报文在预设时段内采集的被测设备上入口与出口流量信息,获取并统计入口带宽使用情况与出口带宽使用情况并输出。
[0043] 进一步地,通过步骤202与203获得被测设备入口带宽使用情况与出口带宽使用情况后,或者通过步骤303与304获得被测设备入口带宽使用情况与出口带宽使用情况后,还可以进一步比较TCP全局同步现象下与使 能被测设备上的RED模块后,预设时段内监测到的出口带宽使用情况,确定被测设备是否具有RED功能并输出被测设备是否具有RED功能的比较结果。
[0044] 如图6所示,为本发明RED功能的测试系统一个实施例的结构示意图。该实施例的测试系统可用于实现如图3所示实施例的流程,其包括设置有RED模块401的被测设备1、多台计算机2、监测模块3与输出模块4。其中,多台计算机2用于向被测设备1发送数据包,模拟传输控制协议TCP全局同步现象。监测模块3用于在TCP全局同步现象下以及使能RED模块后,分别监测预设时段内被测设备入口带宽使用情况与出口带宽使用情况,具体可以通过SolarWinds软件实现。输出模块4用于生成并输出监测模块3在TCP全局同步现象下以及使能RED模块后,分别监测到的预设时段内被测设备入口带宽使用情况与出口带宽使用情况。
[0045] 如图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连接。
[0046] 在图7所示的测试系统中,A台远端计算机21依次通过交换设备5、被测设备1、另一通信设备6与交换设备5对B台控制端计算机22传输 TCP数据流的线路带宽X1、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上入口与出口流量信息,获取并统计入口带宽使用情况与出口带宽使用情况。
[0047] 如图8所示,为利用图7所示系统监测到的被测设备在TCP全局同步下带宽利用率随时间变化的示意图。其中,501表示被测设备1上的入口实时带宽利用率,502表示被测设备1上的出口实时带宽利用率。从图8可以看到,入口处的突发数据过后,容易导致出口实时带宽利用率急剧下降,这就是由于TCP连接一齐进入超时等待引起TCP全局同步。如图9所示,为利用图7所示系统监测到的被测设备中RED模块使能后的带宽利用率随时间变化的示意图。从图9可以看到,出口实时带宽利用率变得平缓,未显现明显的带宽利用率变化,由此可知RED功能正常生效。
[0048] 进一步地,在本发明各实施例的RED功能的测试系统中,还可以包括比较模块7,用于根据监测模块3的监测结果,比较TCP全局同步现象下与使能被测设备1上的RED模块后,预设时段内监测到的出口带宽使用情况,确定被测设备1是否具有RED功能。具体地,该比较模块7可以与监测模块3、输出模块4设置在同一台控制端计算机22上。相应的,输出模块4输出在TCP全局同步现象下以及使能RED模块后,分别监测到的预设时段内被测设备1入口带宽使用情况与出口带宽使用情况时,还可以输出比较模块7关于被测设备1是否具有RED功能的比较结果。如 图10所示,为本发明RED功能的测试系统又一个实施例的结构示意图。
[0049] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0050] 本发明实施例可以通过多台计算机向被测设备发送数据包,来模拟TCP全局同步现象,实现对被测设备的RED功能检测,由于通过计算机来模拟TCP全局同步现象,计算机成本较低,并且通过计算机可以对测试参数进行精确控制,从而保证TCP全局现象出现,实现对被测设备的RED功能的精确检测,从而提高线路的带宽利用率,避免TCP数据流发生拥塞,保证网络的正常运行。
[0051] 最后所应说明的是:以上实施例仅用以说明本发明的技术方案,而非对本发明作限制性理解。尽管参照上述较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这种修改或者等同替换并不脱离本发明技术方案的精神和范围。