CN101425938B - 测试网络设备的方法和装置 - Google Patents
测试网络设备的方法和装置 Download PDFInfo
- Publication number
- CN101425938B CN101425938B CN2008101861036A CN200810186103A CN101425938B CN 101425938 B CN101425938 B CN 101425938B CN 2008101861036 A CN2008101861036 A CN 2008101861036A CN 200810186103 A CN200810186103 A CN 200810186103A CN 101425938 B CN101425938 B CN 101425938B
- Authority
- CN
- China
- Prior art keywords
- network equipment
- test
- request messages
- user
- service request
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种测试网络设备的方法和装置,以解决现有技术中无法充分测试在用户数达到或超过被测网络设备的容量时被测网络设备的性能的问题。在实施例中,测试装置根据设置的一个或多个用户标识,按照网络设备提供的服务所应用的协议对应的开放系统互连参考模型OSI/RM层次,生成属于所述OSI/RM各层次的字段,并将生成的字段合并构成对应于各用户标识的服务请求报文;测试装置向网络设备发送构成的一个或多个服务请求报文,并根据预设的测试项目与网络设备进行信息交互;测试装置获取所述信息交互产生的属于预设测试项目的数据,并输出根据该数据得到的网络设备性能分析结果。
Description
技术领域
本发明涉及计算机网络技术,特别地涉及一种测试网络设备的方法和装置。
背景技术
随着计算机技术和通信技术的发展,网络设备例如交换机、路由器等实现的功能和协议也越来越多,提供的服务也越来越丰富,用户通过相关网络协议与网络设备建立并接受相应的服务。网络设备的一种功能涉及对用户数量的管理,例如管理与网络设备建立或者接受网络设备提供的服务的用户的数量,这种功能称作网络设备的多用户特性管理功能。比如,动态主机配置协议DHCP(Dynamic Host Configuration Protocol)建立的DHCP CLIENT用户等等。
网络设备的多用户特性管理功能都会涉及到网络设备关于这类用户的容量,比如某款网络设备上实现了DHCP SNOOPING,即DHCP侦听功能,DHCPCLIENT用户容量为4k(1k=1000)。在对网络设备的多用户特性管理功能进行测试时,测试人员需要模拟使用网络设备所提供的服务的用户,验证网络设备的多用户特性管理功能的正确性。
对网络设备而言,主要通过MAC地址和IP地址来标识一个用户。其中介质访问控制MAC(Media Access Control)地址是烧录在网卡NIC(NetworkInterface Card)里的地址,也叫物理地址,是识别局域网LAN(Local AreaNetwork)节点的标识。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM,它存储的是传输数据时标识发出数据的电脑和接收数据的主机的地址。也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一般是全球唯一的。网际协议IP(Internet Protocol)地址工作在网络层,在逻辑上标识网络中的一台主机。一般用点分十进制表示,比如192.168.1.1。 此外,由于网络设备一般都实现了虚拟局域网VLAN(Virtual Local AreaNetwork),网络设备用VLAN ID来标识用户所在的VLAN。因此网络设备标识一个用户,可以通过IP地址、MAC地址和VLAN ID这三个参数来唯一标识。如果网络设备没有实现VLAN技术,那么一般通过MAC地址和IP地址来唯一标识。
DHCP SNOOPING一般在连接有DHCP用户的网络设备上开启。在DHCP的网络环境中经常会出现用户私自设置IP地址的情况,这样的用户通常称作非法用户,非法用户的存在增加了网络维护的困难,并且会导致一些使用DHCP获取IP地址的合法用户因为IP地址冲突而无法正常使用网络。DHCPSNOOPING通过窥探DHCP用户和DHCP服务器之间交互的DHCP报文,把用户身份信息例如用户终端的MAC地址、用户终端所在的物理端口号等信息以及用户通过与DHCP服务器进行交互后获取的IP地址和IP地址的租约时间等信息组成一个用户记录表项,形成DHCP SNOOPING的用户数据库,通过该用户数据库的信息对用户发送的报文进行合法性检查,丢弃不合法用户的报文,来达到控制用户上网的目的。另外,由于DHCP服务器分配IP地址是使用广播的形式,从而也会存在非法DHCP服务器广播DHCP响应而影响用户正常获取IP地址的情况。应用DHCP SNOOPING就可以实现对非法DHCP服务器的过滤,确保用户从合法的DHCP SERVER上获取正确的IP地址。
目前网络设备的多用户特性管理功能测试的一般方式是:测试人员使用一台或几台终端设备例如个人计算机PC(Personal Computer)来模拟协议用户,经过被测网络设备与服务器交互,测试网络设备的多用户特性管理功能的正确性。在网络维护中一般对于用户数达到或超过被测网络设备的容量时网络的运行状况更加关心,比如系统崩溃,内存泄露,转发异常等,需要研究如何应对这些状况的发生,因此需根据模拟出网络设备的用户数容量这样的数量较大的用户,该数量往往在1000以上,由于一台PC只能模拟为一个用户,在通常的实验环境中无法模拟上千个用户,这样无法充分测试在用户数达到或超过被测网络设备的容量时被测网络设备的性能。
发明内容
测试装置从自身的第一端口向网络设备发送构成的一个或多个服务请求报文,并从自身的第二端口接收网络设备转发的所述服务请求报文;
测试装置收到网络设备转发的所述服务请求报文后,从自身的第二端口向网络设备发送相应的服务应答报文;
测试装置从自身第一端口接收网络设备收到测试装置发送的所述服务应答报文后转发的所述服务应答报文;
测试装置获取所述网络设备根据所述服务请求报文和服务应答报文执行自身功能得到的属于预设测试项目的数据,并输出根据该数据得到的网络设备性能分析结果。
一种测试网络设备的装置,包括:
报文构成模块,用于根据预设的一个或多个用户标识,按照网络设备提供的服务所应用的协议对应的开放系统互连参考模型OSI/RM层次,生成属于所述OSI/RM各层次的字段,并将生成的字段合并构成对应于各用户标识的服务请求报文;以及生成一个或多个相应于所述一个或多个服务请求报文的服务应 答报文;
交互模块,用于从自身的第一端口向网络设备发送报文构成模块构成的一个或多个服务请求报文,并从自身的第二端口接收网络设备转发的所述服务请求报文;收到网络设备转发的所述服务请求报文后,从自身的第二端口向网络设备发送相应的服务应答报文;以及从自身第一端口接收网络设备收到测试装置发送的所述服务应答报文后转发的所述服务应答报文;
获取模块,用于获取所述网络设备根据所述服务请求报文和服务应答报文执行自身功能得到的属于预设项目的数据,并输出根据该数据得到的网络设备性能分析结果。
根据本发明实施例的技术方案,根据预设的用户标识生成测试报文并根据生成的报文与被测网络设备进行信息交互,以及获取信息交互过程中产生的数据,在此过程中是由测试装置根据设置的用户标识生成测试报文,而不是根据实际的终端设备的标识生成测试报文,所以能够突破一台终端设备只能模拟一个测试用户的局限,实现在同一台终端设备上模拟多个用户,由此能够充分测试在用户数达到或超过被测网络设备的容量时被测网络设备的性能。
附图说明
图1为本发明实施例的方法流程图;
图2为OSI/RM模型的层次示意图;
图3为本发明实施例中使用的测试装置实体结构示意图;
图4A和图4B为测试装置和被测网络设备的物理连接示意图;
图5为测试装置向被测网络设备发送数据的处理流程图;
图6为测试软件的工作流程图;
图7为获取测试参数的人机界面示意图;
图8为显示测试结果的人机界面示意图;
图9为本发明实施例中的装置结构示意图。
具体实施方式
为了在网络设备的多用户特性管理功能测试中模拟较大数量的用户,在本发明实施例中,预设多个用户标识,测试装置根据这些预设的用户标识生成服务请求报文并向被测的网络设备发送,并获取网络设备响应该服务请求报文所生成的各种数据,以及根据这些数据对网络设备的多用户特性管理功能进行分析。具体步骤如图1所示。
步骤11:设置用户标识。设置用户标识是为了构造用于测试的服务请求报文,所以用户标识的类型根据报文所使用的协议的要求而定。例如服务请求报文是DHCP请求报文,那么根据DHCP协议的要求,用户标识为MAC地址。在一些网络服务中也需要验证用户的IP地址,或者既验证用户IP地址又验证MAC地址。所以设置的用户标识可以是用户IP地址和/或MAC地址。在实现了虚拟局域网VLAN(Virtual Local Area Network)的网络环境中,还可以使用虚拟网络标识VLAN ID和MAC地址的组合作为用户标识。另外也可以将IP地址与VLAN ID以及MAC地址共同作为用户标识。在测试时如果已有前次测试设置的用户标识,则可以直接从步骤12开始测试流程。如果需要考察网络设备的多用户特性管理功能在较大数目的用户数下的功能执行情况,则可以根据网络设备提供的服务的用户容量设置多个用户标识。
步骤12:测试装置生成服务请求报文。在实际网络应用系统中每个用户的服务请求报文中包含了该用户的标识,所以在测试中也采取相同的做法,在每个用于测试的服务请求报文中包含有生成的用户标识,并且该服务请求是按照网络设备提供的服务所应用的协议生成,例如DHCP协议和IEEE802.1x协议。可以是对应于如图2所示的开放系统互连参考模型OSI/RM(Open System Interconnection Reference Model)的各个层次,生成属于OSI/RM各层次的字段,并将生成的字段合并构成服务请求报文。在步骤11中如果生成了一个或多个用户标识,那么在本步骤中相应地可以生成一个或多个服务请求报文。
步骤13:测试装置将生成的服务请求报文向网络设备发送。
步骤14:网络设备根据收到的报文与测试装置进行信息交互。网络设备根据用户发送的服务请求报文与用户进行信息交互的具体内容根据网络设备提供的服务类型而定,例如针对网络设备提供的DHCP服务器功能,用户需要利用该功能获得IP地址,则用户向该网络设备发送的服务请求报文就是DHCP请求,相应地网络设备返回DHCP响应,于是该用户获得IP地址。信息交互还可以包括进一步的交互,而不仅限于一个回合的交互,例如上例中,用户获得IP地址之后,可以进一步使用获取的IP地址,例如发送ARP(Address Resolution Protocol)请求报文,或者向网络设备请求其他服务,该其他服务需要验证用户的IP地址和MAC地址。并且,在测试环境下,网络设备也可以是向测试装置转发信息,例如测试网络设备的DHCP SNOOPING功能,则测试装置模拟用户端和服务器端,在模拟的用户端与服务器端之间互相发送信息,而这些信息都通过网络设备转发,以此来测试网络设备的DHCP SNOOPING功能。
需要说明的是,对于步骤13和14,也可以是并列地进行,就是说,在步骤13中测试装置向网络设备发送服务请求报文的同时,可以进行步骤14,即网络设备根据已收到的服务请求报文与测试装置进行信息交互。
在网络设备生成多用户特性管理信息之后,即进行步骤15。
步骤15:测试装置根据预设的测试项目,获取步骤14中产生的属于预设测试项目的数据。因为在步骤14的信息交互中通常会产生多种数据,除了有关于多用户管理信息的数据例如DHCP SNOOPING用户数据库,还包括一些事件数据例如异常事件报告,其中有些数据是测试人员所关心的,所以可以预先设置一些测试项目,例如在步骤14中进行了请求IP地址的DHCP协议交互,在本步骤中就可以测试IP地址的请求成功或失败的次数,或者测试该请求过程中是否能够正确产生服务响应信息例如DHCP服务器向用户分配的IP地址和租约时间等;又如在步骤14中用户获取了IP地址之后,在本步骤中可以进 一步考察用户根据获取的IP地址是否能够在发送测试报文例如发出ARP请求之后收到正确的测试响应信息例如ARP回应信息;又如在测试DHCPSNOOPING功能时,测试装置的两个端口互相发送服务请求报文和服务应答报文,发送过程中是通过被测网络设备进行转发,网络设备执行自身功能,即DHCP SNOOPING功能,记录测试装置的两个端口之间的相关信息,生成记录有IP地址与MAC地址的记录表项。总之,在信息交互中,测试装置根据预设的项目,获取信息交互过程产生的属于预设的测试项目的数据。本步骤可以和步骤14并列进行,即在步骤14的信息交互的过程中获取属于预设测试项目的数据。
步骤16:测试装置输出网络设备性能分析结果。因为在步骤15中已经获得了有关测试项目的数据,所以能够根据这些数据进行分析。这种分析可以是测试装置自动地进行,例如根据编写的程序来检查多个服务请求报文被发送之后收到正确的回应报文的比例,即网络设备服务响应正确率;也可以是在测试人员的操作下进行,例如根据输出的异常事件报告进行分析,又如根据DHCPSNOOPING功能中得到的记录表项,在测试装置的模拟用户端进一步发送测试报文,其中包含设置的IP地址和MAC地址,通过被测装置转发,检查该测试报文是否被允许转发或丢弃,以此验证记录表项的正确性或者DHCPSNOOPING功能完好性。在本步骤中由测试装置将上述分析的结果输出,于是完成本次测试。
下面结合具体的测试装置实体结构对本发明实施例的方法作进一步说明。本发明实施例中使用的测试装置实体结构如图3所示,包括测试软件31,用于生成测试需要的报文以及显示测试结果;操作系统32,用于提供应用软件与物理硬件的转换接口;物理硬件33,包括处理器、存储器和输入输出等硬件设备。可以使用常用的PC机来构建测试装置,该PC机包含一块或两块网卡,用于收发测试装置与被测设备之间的交互信息,在该PC机中运行常用的操作系统例如Window操作系统等。
测试装置和被测网络设备的物理连接如图4A和图4B所示。在图4A和图4B中,测试装置41上的串口连接到被测网络设备42的CONSOLE端口,二者间通过串口电缆直接连接形成线路40,用于进行网络设备配置管理,并实时监控测试过程的输入与输出信息。线路4A1、线路4B3和线路4B4用于传送服务请求报文以及测试装置41与被测网络设备42根据服务请求报文进行的信息交互。线路4A1、线路4B3和线路4B4可以采用五类双绞线构成。图4A和图4B的不同之处在于图4A的连接方式中使用了一块网卡4A0,而图4B的连接方式中使用了两块网卡4B1和4B2。下面对此作进一步解释。图4A的测试系统中,测试装置41模拟申请网络服务的用户,例如向DHCP服务器申请IP地址,则测试装置41生成DHCP请求报文,通过网卡4A0,在线路4A1上向被测网络设备42发送,被测网络设备42响应该DHCP请求报文,通过线路4A1返回DHCP服务应答报文,这样可以测试DHCP服务器关于分配IP地址的多用户特性管理功能。而在图4B的测试系统中,测试装置41同时模拟用户端和服务器端,用户端报文通过网卡4B1发送和接收,服务器端报文通过网卡4B2发送和接收。例如需要测试网络设备的DHCP SNOOPING功能,从网卡4B1发出DHCP请求报文,在线路4B3上传送至被测网络设备42,由被测网络设备42将该DHCP请求报文在线路4B4上转发至测试装置41,测试装置41通过网卡4B2接收;然后测试装置41根据预先设置的DHCP响应报文,将对应于被测网络设备42转发的DHCP请求报文的DHCP响应报文通过网卡4B2,在线路4B4上向被测网络设备42发送,被测网络设备42再将该DHCP响应报文通过线路4B3向测试装置41发送,测试装置41通过网卡4B1进行接收。所以,具体是采用图4A还是图4B所示的测试系统,应当根据被测网络设备的多用户特性管理功能的类型来决定。
应用图4A所示的测试系统,测试装置41向被测网络设备42发送数据的处理流程如图5所示。
步骤51:接收测试参数。测试参数由测试人员输入,类型包括模拟的用户 MAC地址、用户IP地址、用户数量、用户VID等,根据需要测试的多用户特性管理功能来确定具体需要的测试参数。在模拟多个用户的情况下,用户的MAC地址和IP地址可以使用初始值与模拟用户数相结合的方法来生成,例如要生成5个用户的IP地址,设置IP初始值为172.16.1.1,并且设置模拟用户数为5,则生成的5个用户的IP地址为:172.16.1.1,172.16.1.2,172.16.1.3,172.16.1.4,172.16.1.5。MAC地址的设置也可以使用类似的方法进行。
步骤52:构造测试报文。
步骤53:将构造的测试报文向被测网络设备发送。
在步骤52中,参考图2,按照网络设备提供的服务所应用的协议对应的开放系统互连参考模型OSI/RM的各层次,生成相应的字段,并将生成的字段合并构成对应于各用户标识的服务请求报文。具体可以根据如下的方式构造测试报文:
将应用层,表示层和会话层所承载的数据作为传输层的负载进行封装,作为传输层数据负载字段。
传输层采用UDP或TCP报文格式进行构造,具体报文格式根据RFC协议768版本或793版本的要求进行,以应用层传下的数据作为负载,构造TCP或UDP的报文头部,并合并应用层数据进行较验和计算,最终合并作为网络层的数据负载字段。
网络层采用IP报文格式进行构造,具体报文格式根据RFC协议791版本,根据步骤51中生成的IP地址,将该IP地址作为报文的源IP填入IP报头相应的字段中,若需填写目的IP地址,则同样根据测试协议需要不变或依次递增变化。构造成功IP报头后同传输层传下的数据字段合并,并作为数据链路层的数据字段输入。
数据链路层主要进行以太网报头的封装,根据步骤51中生成的MAC地址,将该MAC地址作为报文的源MAC填入以太网报头相应的字段中,若需填写目的MAC地址,则根据测试协议需要不变或依次递增变化。如需模拟虚拟局域 网环境,这里的MAC地址也可以用MAC地址与VLAN的组合来代替。对网络层传入的数据字段直接进行报头字段的添加,合并后传至物理层进行物理链路的传输。
物理层功能是对上层传入的报文进行格式转化,进行物理链路上的传输通信。该格式转化之后得到的报文即可在步骤53中进行发送。
应用图4B所示的测试系统,网卡4B1向被测网络设备42发送数据的处理流程与图5所示流程相同。网卡4B2需设置为混杂模式,以接收网络上的任意形式的报文。应用图4B所示的测试系统时,需预先设置服务应答报文,例如测试DHCP SNOOPING的多用户特性管理功能时,需设置DHCP响应报文,并且这些报文应当对应于从网卡4B1发送的DHCP请求报文。DHCP响应报文的生成方式与DHCP请求报文相类似。
以下结合图6,再对测试软件的工作流程作出说明。
步骤61:接收测试参数。测试人员根据被测协议,设置被测协议用户和服务器端的参数,测试软件在本步骤中接收测试人员输入的参数。这些参数的类型例如模拟的用户数、用户所在VLAN的VLAN ID、起始MAC地址、起始IP地址等,根据被测的多用户特性管理功能涉及的协议的不同,测试人员选择需要的参数并输入。在一些情况下测试人员还需输入模拟客户端和服务器端的网卡名称,以便在步骤63中根据网卡的名称指定网卡收发规定的报文。在网卡初始化阶段会进行网卡信息检索,查找系统中网卡的所注册的I D值,协议仿真交互过程中根据ID驱动网卡进行收发包模拟。
步骤62:判断参数格式是否正确。在本步骤中对步骤61中接收的参数进行格式检查,例如仿真用户数只可为数字,若输入为字母,则返回步骤61,要求重新接收参数。
步骤63:网卡初始化。根据用户输入的网卡名称,对应查找到系统中相应网卡的注册名称从而确定网卡,测试过程中根据网卡的注册名称调用网卡并使用该网卡进行收发包。
步骤64:生成报文。在本步骤中生成报文的方式与图5的流程中生成报文的方式相同。在本步骤中,对于生成的服务请求报文,还可以对其添加标识信息例如报文的序号,这样,如果在信息交互过程中出现的交互失败,可直接根据报文的标识信息调用该次交互失败的报文进行重新交互或者进行其他分析。
步骤65:协议交互仿真。根据测试的多用户管理功能的要求,调用步骤64中构造的报文,由网卡进行收发包工作。在这里需要说明的是,在实际操作系统中的应用层数据由操作系统进行按层次的封装,最后封装相应的网卡信息,这些由操作系统在后台完成。而在本发明实施例中,仅使用网卡进行数据收发,绕过操作系统的socket编程而直接驱动网卡发送数据包,并不对网卡的信息进行封装。但由于直接驱动网卡进行物理链路的收发包的存在一定的格式差异,所在在本步骤中需要相应进行报文格式的转化,将上层传入的报文结构进行简单的编码转化,根据协议调用模拟网卡进行帧校验和计算并发包,同时会在接收方的网卡开启实时监听,并设置协议报文的匹配规则在网卡进行过滤抓包,同时进行简单的协议报文解析,并按协议的要求进行处理。在本步骤中被测网络设备生成相应的多用户特性管理信息。
步骤66:协议交互结果处理。在本步骤中,根据步骤65中的协议交互产生的各种数据,对协议交互结果进行处理。因为在步骤65的协议交互中通常会产生多种数据,或者产生一些具体事件,对于其中有些数据和事件是测试人员所关心的,所以可以预先设置一些测试项目,例如测试协议交互过程中的事件次数如交互的成功或失败的次数,或者测试协议交互过程中是否能够正确产生数据例如DHCP服务器向用户分配的IP地址和租约时间等。在协议交互中,测试装置根据预设的项目,获取协议交互过程产生的属于预设项目的数据。
步骤67:判断是否需要协议交互重放。如果在步骤66中输出了协议交互失败的报文的列表,则测试人员可以预先设置是否需要重新发送这些报文或其中的一部分,以便详细地分析交互失败的原因,在本步骤中测试软件查找测试人员预先的设置,若需重新发送这些报文,则返回步骤55,否则结束本次测试。
步骤68:生成异常报告。对于步骤63、64和65中可能出现的异常情况,在本步骤中生成异常报告,例如记录和输出异常信息。例如测试过程中出现的系统不兼容,网卡信息无法初始化进行异常抛出等情况,在本步骤中输出相应的提示信息,使测试人员根据该信息进行快速的错误定位和排查。
步骤69:输出测试数据。在步骤61、65、66、68之后将执行步骤69,以实现测试过程中的数据记录。记录的数据例如:接收的测试参数、测试装置与被测网络设备之间的交互信息以及交互结果、测试过程中产生的异常报告、协议交互失败后重新发送的报文的标识信息等。输出的测试数据可用于对测试进行的分析。这种分析可以是测试装置自动地进行,例如根据编写的程序来检查多个服务请求报文被发送之后收到正确的回应报文的比例,即网络设备服务响应正确率;也可以是由测试人员来完成,例如根据输出的异常事件报告进行分析推理等。
下面再根据图4B所示的系统,以测试DHCP SNOOPING功能为例对本发明实施例的方法作进一步说明。根据图4B的结构组装测试系统,通过串口将测试装置与被测网络设备的CONSOLE端口连接。测试装置上同时模拟DHCP用户和DHCP服务器,因此测试装置中设有DHCP用户模块和DHCP服务器模块。设置测试装置上的两块网卡IP地址分别为10.0.0.1和20.0.0.1,这样避免模拟过程中出现IP地址冲突。网卡4B1和4B2的名称分别为PORT1和PORT2。设置收发用户端报文的网卡名称为PORT1,收发服务器端报文的网卡名称为PORT2。设置多用户模拟参数和服务器参数,客户端参数设置模拟的DHCP CLIENT用户数n1,模拟的起始MAC地址n3,服务器端设置DHCP服务器的IP地址,租约地址池,DNS IP地址,租约时间等参数。在本实施例中,我们选择测试模拟的用户数n1=200个,起始MAC地址n3=0000.0000.0001。那么,生成的200个用户对应的MAC地址按设置的步长依次递增,例如步长为1,则第200个用户MAC地址为0000.0000.00C8。设置DHCP SERVER的IP地址为192.168.1.1/24,提供给DHCP用户租约的IP地址范围为: 172.16.1.10~172.16.1.209,共200个IP地址,都是24位掩码。用户网关IP地址为172.16.1.1,DNS的IP地址为:172.16.1.1,租约时间为1000分钟。可以使用如图7所示的界面70作为获取测试参数的人机界面,测试开始时,会对该界面接收的参数进行合法性检测,如果存在非法输入则要求重新输入。
根据设置的参数开始进行测试,此时点击“开始测试”按钮进行测试。测试软件从设置的MAC地址中取出所有的200个MAC地址构造DHCP请求报文,并从设置的IP地址范围中取出200个IP,结合设置的MAC地址构造DHCP应答报文。构造完毕后将报文进行存储。报文构造完毕后进行信息交互,DHCP用户模块依次从存储的报文中提取出构造成功的报文,可以是以10个报文为一组进行提取,对每个用户实例,分别创建DHCP CLIENT处理线程。每个线程根据提取的DHCP请求报文,请求DHCP服务器模块分配IP地址。DHCP用户的报文由测试装置上的网卡PORT1进行收发,DHCP服务器的报文由测试装置上的网卡PORT2进行收发。DHCP用户模块根据收到的数据内容及该用户的当前状态,按照DHCP协议对用户的状态进行迁移,最终完成IP地址的获取。当获取成功后,DHCP用户模块就以VID、MAC地址和IP地址的组合作为用户标识,比如第一个用户的标识可以表达为:(2,0000.0000.0001,172.16.1.10),同时将最终获取的信息作为多用户特性管理信息并输出,如图8中的显示测试结果的人机界面80中的输出框81所示。当上述步骤完成后,再提取下一组并进行同样方式的测试,在所有报文被提取并且测试结束后,对本次测试过程中,根据DHCP请求报文发送之后信息交互的成功次数和失败次数进行统计,并记录相关统计结果,例如交互失败时对应的DHCP请求报文的标识信息。还可以对测试过程中出现的错误,进行规范的输出,通常可能会出现的错误有:无法查找到系统中的网卡注册信息,报文初始化失败和仿真系统协议交互过程中报文收发异常。
根据记录的统计结果,可以对测试作进一步分析。例如可以重新发送交互失败时对应的DHCP请求报文;也可以根据对测试过程中出现的错误的规范输 出,查找测试中出现的错误的原因并用相应的处理。又如根据DHCP SNOOPING功能中得到的记录表项,在测试装置的模拟用户端进一步发送测试报文,其中包含设置的IP地址和MAC地址,通过被测装置转发,检查该测试报文是否被允许转发或丢弃,以此验证记录表项的正确性或者DHCP SNOOPING功能完好性。
根据本发明实施例的方法,下面再对本发明实施例中的装置的结构作出说明。如图9所示,本发明实施例中的测试装置90包括报文构成模块91、交互模块92和获取模块93。报文构成模块91用于根据预设的一个或多个用户标识,按照网络设备提供的服务所应用的协议对应的开放系统互连参考模型OSI/RM层次,生成属于所述OSI/RM各层次的字段,并将生成的字段合并构成对应于各用户标识的服务请求报文。交互模块92用于将报文构成模块91生成的一个或多个服务请求报文向网络设备发送,并根据预设的测试项目与网络设备收到该报文后与网络设备进行信息交互。获取模块93用于根据预设的测试项目,获取所述信息交互产生的属于预设测试项目的数据。测试装置90还可以包括用户标识生成模块94,用于生成一个或多个用户标识。生成的用户标识供报文构成模块91使用。
报文构成模块91的一种结构是包括字段生成单元和合并单元。字段生成单元用于根据用户标识生成模块94生成的一个或多个用户标识,按照网络设备提供的服务所应用的协议对应的OSI/RM层次,生成属于所述OSI/RM各层次的字段。合并单元用于将字段生成单元生成的字段合并构成对应于各用户标识的服务请求报文。
交互模块92的一种结构是包括客户端模拟发送单元和客户端模拟接收单元。客户端模拟发送单元用于将报文构成模块构成的一个或多个服务请求报文向网络设备发送。客户端模拟接收单元用于接收网络设备发送的服务应答报文。
交互模块92的另一种结构是包括服务应答报文生成单元、客户端模拟单 元和服务器模拟单元。服务应答报文生成单元用于根据报文构成模块构成的多个服务请求报文,生成多个相应的服务应答报文。客户端模拟单元用于将报文构成模块构成的多个服务请求报文向网络设备发送。服务器模拟单元用于接收网络设备转发的所述多个服务请求报文,以及将相应的服务应答报文向网络设备发送。客户端模拟单元进一步用于接收网络设备转发的服务应答报文。
根据本发明实施例的技术方案,根据预设的用户标识生成测试报文并根据生成的报文与被测网络设备进行信息交互,以及获取信息交互过程中产生的数据,在此过程中是由测试装置根据设置的用户标识生成测试报文,而不是根据实际的终端设备的标识如网卡的MAC地址生成测试报文,所以能够突破一台终端设备只能模拟一个测试用户的局限,实现在同一台终端设备上模拟多个用户,由此能够充分测试在用户数达到或超过被测网络设备的容量时被测网络设备的性能。另外根据本发明实施例的技术方案,测试装置能够根据各种协议的要求生成测试报文,这样能够测试网络设备在各种协议下的多用户特性管理功能,例如DHCP、IEEE802.1x等协议,因此本发明实施例的技术方案有着较为广泛的使用范围。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种测试网络设备的方法,其特征在于,包括如下步骤:
测试装置根据设置的一个或多个用户标识,按照网络设备提供的服务所应用的协议对应的开放系统互连参考模型OSI/RM层次,生成属于所述OSI/RM各层次的字段,并将生成的字段合并构成对应于各用户标识的服务请求报文;以及生成一个或多个相应于所述一个或多个服务请求报文的服务应答报文;
测试装置从自身的第一端口向网络设备发送构成的一个或多个服务请求报文,并从自身的第二端口接收网络设备转发的所述服务请求报文;
测试装置收到网络设备转发的所述服务请求报文后,从自身的第二端口向网络设备发送相应的服务应答报文;
测试装置从自身第一端口接收网络设备收到测试装置发送的所述服务应答报文后转发的所述服务应答报文;
测试装置获取所述网络设备根据所述服务请求报文和服务应答报文执行自身功能得到的属于预设测试项目的数据,并输出根据该数据得到的网络设备性能分析结果。
2.根据权利要求1所述的方法,其特征在于,所述用户标识包括:
网际协议IP地址或介质访问控制MAC地址或MAC地址与虚拟网络标识VID的组合;或者
IP地址与MAC地址的组合;或者
IP地址与MAC地址以及VID的组合。
3.根据权利要求1所述的方法,其特征在于,所述用户标识的个数是根据网络设备提供的服务的用户容量设置的。
4.根据权利要求1或2所述的方法,其特征在于,所述根据预设的测试项目与测试装置进行信息交互包括:
网络设备接收测试装置发送的一个或多个服务请求报文,针对收到的各个服务请求报文生成相应的服务响应信息并向测试装置发送,或者,
网络设备接收测试装置发送的一个或多个服务请求报文,针对收到的各个服务请求报文生成相应的服务响应信息并向测试装置发送,测试装置收到服务响应信息后,根据预设的测试项目生成测试报文并向网络设备发送。
5.根据权利要求4所述的方法,其特征在于,所述属于预设测试项目的数据包括所述服务响应信息,或者包括网络设备收到所述测试报文之后向测试装置发送的测试响应信息;
所述网络设备性能分析结果包括根据服务响应信息得出的网络设备服务响应正确率,或者包括对所述测试响应信息进行分析的结果。
6.一种测试网络设备的装置,其特征在于,包括:
报文构成模块,用于根据设置的一个或多个用户标识,按照网络设备提供的服务所应用的协议对应的开放系统互连参考模型OSI/RM层次,生成属于所述OSI/RM各层次的字段,并将生成的字段合并构成对应于各用户标识的服务请求报文;以及生成一个或多个相应于所述一个或多个服务请求报文的服务应答报文;
交互模块,用于从自身的第一端口向网络设备发送报文构成模块构成的一个或多个服务请求报文,并从自身的第二端口接收网络设备转发的所述服务请求报文;收到网络设备转发的所述服务请求报文后,从自身的第二端口向网络设备发送相应的服务应答报文;以及从自身第一端口接收网络设备收到测试装置发送的所述服务应答报文后转发的所述服务应答报文;
获取模块,用于获取所述网络设备根据所述服务请求报文和服务应答报文执行自身功能得到的属于预设测试项目的数据,并输出根据该数据得到的网络设备性能分析结果。
7.根据权利要求6所述的装置,其特征在于,所述交互模块包括:
服务应答报文生成单元,用于根据报文构成模块构成的一个或多个服务请求报文,生成一个或多个相应的服务应答报文;
客户端模拟单元,用于从所述测试网络设备的装置的第一端口将报文构成模块构成的一个或多个服务请求报文向网络设备发送;
服务器模拟单元,用于从所述测试网络设备的装置的第二端口接收网络设备转发的所述一个或多个服务请求报文,以及将相应的服务应答报文从所述测试网络设备的装置的第二端口向网络设备发送;
客户端模拟单元进一步用于从所述测试网络设备的装置第一端口接收网络设备转发的服务应答报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101861036A CN101425938B (zh) | 2008-12-17 | 2008-12-17 | 测试网络设备的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101861036A CN101425938B (zh) | 2008-12-17 | 2008-12-17 | 测试网络设备的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101425938A CN101425938A (zh) | 2009-05-06 |
CN101425938B true CN101425938B (zh) | 2011-02-09 |
Family
ID=40616287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101861036A Expired - Fee Related CN101425938B (zh) | 2008-12-17 | 2008-12-17 | 测试网络设备的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101425938B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105338131B (zh) * | 2015-11-30 | 2019-05-31 | 上海斐讯数据通信技术有限公司 | 一种dhcp服务器地址池容量的测试方法及系统 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101668036B (zh) * | 2009-09-22 | 2012-07-25 | 成都市华为赛门铁克科技有限公司 | 分布式设备的模拟系统和模拟分布式设备处理业务的方法 |
CN101997719A (zh) * | 2010-11-05 | 2011-03-30 | 北京华环电子股份有限公司 | 一种设备模拟工具及其应用 |
CN102510523A (zh) * | 2011-10-13 | 2012-06-20 | 青岛海信宽带多媒体技术有限公司 | Socket通讯交互测试方法及采用该方法的网络电视测试系统 |
CN103856416B (zh) * | 2012-12-06 | 2017-04-12 | 华为技术有限公司 | 网络接入方法、设备和系统 |
CN103078765A (zh) * | 2012-12-28 | 2013-05-01 | 华为技术有限公司 | 网元设备性能测试方法和装置 |
CN103338475B (zh) * | 2013-06-09 | 2015-11-25 | 福建星网锐捷网络有限公司 | 无线接入点的测试方法及装置、测试终端 |
CN104125119B (zh) * | 2014-08-12 | 2019-09-13 | 上海斐讯数据通信技术有限公司 | 一种服务器的测试方法及测试系统 |
US9954756B2 (en) * | 2014-09-30 | 2018-04-24 | Level 3 Communications, Llc | Sampling packets to measure network performance |
US10574750B2 (en) * | 2015-04-27 | 2020-02-25 | Microsoft Technology Licensing, Llc | Aggregation and federation of distributed service entities and associations |
CN105323120A (zh) * | 2015-11-26 | 2016-02-10 | 上海斐讯数据通信技术有限公司 | Dhcp服务端的测试方法、测试装置及测试终端 |
CN107688128A (zh) * | 2017-08-22 | 2018-02-13 | 广州得元电力科技有限公司 | 地铁直流保护装置的测试方法、装置、计算机可读存储介质及计算机设备 |
CN108683558B (zh) * | 2018-05-10 | 2020-08-04 | 中国铁路总公司 | 铁路安全通信协议一致性测试方法 |
CN109089334B (zh) * | 2018-09-26 | 2021-10-22 | 东南(福建)汽车工业有限公司 | 车载网关控制器信号路由校验方法 |
CN109728973B (zh) * | 2018-12-25 | 2021-11-19 | 广东浪潮大数据研究有限公司 | 一种网卡速率检测的方法、系统及服务器 |
CN109831355A (zh) * | 2019-01-28 | 2019-05-31 | 网联清算有限公司 | 测试方法、测试装置及介质 |
CN110661679B (zh) * | 2019-09-06 | 2021-10-01 | 苏州浪潮智能科技有限公司 | 一种测试网卡的方法、装置、计算机存储介质及终端 |
CN111030999B (zh) * | 2019-11-15 | 2021-09-24 | 广州辰河质检技术有限公司 | 一种基于网络数据包提取文件的方法 |
CN111444186B (zh) * | 2020-03-30 | 2023-08-04 | 北京信而泰科技股份有限公司 | 一种信息管理方法、测试仪、设备和计算机可读存储介质 |
CN112804368B (zh) * | 2020-12-08 | 2021-12-17 | 中国电子科技集团公司第三十研究所 | 一种自动分配ip并批量测试的方法及系统 |
CN115426301B (zh) * | 2022-08-24 | 2023-11-10 | 北京华耀科技有限公司 | 基于自生报文的设备检测方法、装置、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581816A (zh) * | 2003-08-05 | 2005-02-16 | 华为技术有限公司 | 一种对vlan用户进行动态测试的装置和方法 |
CN1992653A (zh) * | 2005-12-28 | 2007-07-04 | 中兴通讯股份有限公司 | 以太网交换机接入控制系统自动化测试的测试系统和方法 |
US7340166B1 (en) * | 2004-07-15 | 2008-03-04 | Verizon Services Corp. | Methods and apparatus for automated testing and analysis of dense wavelength division multiplexing (DWDM), wavelength selective and/or optical switching devices |
-
2008
- 2008-12-17 CN CN2008101861036A patent/CN101425938B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581816A (zh) * | 2003-08-05 | 2005-02-16 | 华为技术有限公司 | 一种对vlan用户进行动态测试的装置和方法 |
US7340166B1 (en) * | 2004-07-15 | 2008-03-04 | Verizon Services Corp. | Methods and apparatus for automated testing and analysis of dense wavelength division multiplexing (DWDM), wavelength selective and/or optical switching devices |
CN1992653A (zh) * | 2005-12-28 | 2007-07-04 | 中兴通讯股份有限公司 | 以太网交换机接入控制系统自动化测试的测试系统和方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105338131B (zh) * | 2015-11-30 | 2019-05-31 | 上海斐讯数据通信技术有限公司 | 一种dhcp服务器地址池容量的测试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101425938A (zh) | 2009-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101425938B (zh) | 测试网络设备的方法和装置 | |
US7440415B2 (en) | Virtual network addresses | |
CN111600913B (zh) | 一种网络靶场攻防场景真实设备自适应接入方法与系统 | |
CN100469022C (zh) | 一种检测网络类型的方法及系统 | |
US20100014536A1 (en) | Method for building connection channel between network terminals through dynamic domain name sarver | |
JP2007335923A (ja) | ネットワークシステム及びサーバ | |
CN104969515B (zh) | 处理dns请求的方法和网关 | |
CN105871643B (zh) | 基于路由协议的网络运行仿真方法 | |
US20010025322A1 (en) | Internet protocol interfacing apparatus for controlling non IP-based network device with IP-based network device and method therefor | |
CN100568826C (zh) | 一种认证服务的性能测试方法和装置 | |
CN106130897B (zh) | 基于路由模拟的性能优化方法 | |
US20070047448A1 (en) | Network equipment testing method and system | |
CN1434382A (zh) | IEEE802.1x网络接入设备的测试方法及系统 | |
CN104918042A (zh) | 一种视频信号网络损伤模拟装置、系统及方法 | |
CN106603339A (zh) | 模拟广域网环境的测试系统及测试方法 | |
CN111447302B (zh) | 一种利用raw socket模拟多客户端测试DHCP的方法和系统 | |
CN112073553A (zh) | 网络地址转换类型的检测方法、装置、设备及存储介质 | |
CN105721274A (zh) | 一种多种即时通讯的融合方法及装置 | |
CN213817812U (zh) | 一种基于Router OS搭建的测试服务系统 | |
CN105827468B (zh) | 网络性能实时监控方法 | |
KR100607146B1 (ko) | Id 의 연속성과 세션 그룹화를 이용한 네트워크 주소 변환기와 연결되어 사용중인 컴퓨터의 수를 결정하는 방법 | |
CN112527453A (zh) | 虚拟化信息仿真系统、方法及计算机可读存储介质 | |
CN1318998C (zh) | 一种配置了代理服务器的计算机接入网络的方法 | |
US9325741B2 (en) | Method and system for evaluating access granted to dynamically provisioned virtual servers across endpoints in a network | |
CN102843439B (zh) | 设备通信方法及装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110209 Termination date: 20141217 |
|
EXPY | Termination of patent right or utility model |