CN100369423C - 网络仿真测试系统及方法 - Google Patents

网络仿真测试系统及方法 Download PDF

Info

Publication number
CN100369423C
CN100369423C CNB200510012183XA CN200510012183A CN100369423C CN 100369423 C CN100369423 C CN 100369423C CN B200510012183X A CNB200510012183X A CN B200510012183XA CN 200510012183 A CN200510012183 A CN 200510012183A CN 100369423 C CN100369423 C CN 100369423C
Authority
CN
China
Prior art keywords
network
test
unit
subelement
parameter
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
Application number
CNB200510012183XA
Other languages
English (en)
Other versions
CN1750485A (zh
Inventor
牛伟
徐亚非
郭世泽
何韶军
刘志明
陈浙一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CNB200510012183XA priority Critical patent/CN100369423C/zh
Publication of CN1750485A publication Critical patent/CN1750485A/zh
Application granted granted Critical
Publication of CN100369423C publication Critical patent/CN100369423C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种网络仿真测试系统及方法,所述系统包括系统配置管理模块、网络数据处理模块和网络接口模块,其中,所述系统配置管理模块与所述网络数据处理模块通信,所述网络数据处理模块包括各种仿真测试功能单元,接收系统配置管理模块发送的测试命令及测试参数,根据所述测试命令及测试参数完成相应的测试任务,并将测试结果返回给所述系统配置管理模块;本发明通过为所述的测试功能单元提供测试参数,由测试功能单元实现了高性能、高精度、多类型的数据流仿真、应用仿真和方便易用的符合RFC标准的测试,测试流程简单,提供了更为准确的测试结果,并且,由于将物理接口与网络数据处理模块分开,增加了可扩展性和灵活性,可以适应对各种网络的测试需求。

Description

网络仿真测试系统及方法
技术领域
本发明涉及一种网络性能测试系统及方法,尤其是一种仿真测试网络架构的合理性及网络设备性能的网络仿真测试系统及方法。
背景技术
目前,网络已经成为人们日常生活工作不可缺少的一部分,网络的性能直接关系到生活和工作质量,如何评估网络的性能成为人们最为关心的问题之一。网络性能主要受网络设备与网络拓扑结构的制约,因此,要实现对网络性能的评估就要实现对网络设备性能的测试和对网络拓扑结构合理性的验证。
网络设备性能最直观的测试方式是将该设备置于一个包含特定数据流的网络中,观察其是否成为网络运行的瓶颈。这种办法固然可以实现度量,但是网络设备制造者往往不可能有这么一个符合要求的网络来实现这种测试。即使网络设备研制者专门构建了专用的网络来测试一个特定的设备,但是这种网络在实际使用时还是避免不了大量的琐碎的配置和操作。因此,不但成本高昂,配置操作繁锁,而且,即便是完成了这些操作,结果也只能对网络设备的性能给出一个大概的估计。如果要得到准确的测试结果,发现该设备的瓶颈所在,然后加以修正则是更加困难,对每一个数据的调整都将涉及到多个网络资源的配置与管理。
由于仿真和测试的困难,设备研制者往往只能给出一个设备的理论值,或者请专门的测试机构对设备进行一次最终测试,不利于产品质量的提高,用户也很难了解到产品的真正性能。
对网络拓扑结构合理性的验证也同样存在问题。用户不可能同意在构建了一个一定拓扑结构的网络后,在不知道该网络是否合理、是否会影响工作性能的情况下就开始使用,也不会允许在使用过程中发现问题,再对网络的拓扑结构进行相关的调整。而在一个大型的网络搭建过程中难免会存在一些失误导致网络拓扑结构的异常,要发现这个异常,如果没有投入实际应用,不进行仿真往往很难发现问题所在。所以,对网络拓扑结构合理性的验证也具有重要意义,但目前的技术尚不能给出一个合理、简便、成本较低的测试方法。
在现有技术中,人们对一个网络或一台网络设备进行性能测试时,往往需要搭建一个专门的网络,需要使用多台PC机产生各种流量,才能实现相关的测试。即使完成了测试,由于PC机产生流量在性能和精度方面往往达不到要求,使得测试数据不准确。
另一方面,网络处理器(Network Processor,简称NP)以其多微处理器架构、标准的外部接口,提供了高性能的数据处理能力,为网络数据的处理提供了新的平台。
网络处理器是面向网络应用领域的应用特定指令处理器(Application Specific Instruct Processor,简称ASIP),是面向数据分组处理的、具有体系结构特征和/或特定电路的、软件可编程器件。通过灵活的软件体系提供硬件级的处理性能是NP的关键特性。网络处理器是一种专门用来执行包处理、转发的高速可编程处理器,具有专用集成电路(Application-Specific Integrated Circuits,简称ASIC)的高速性和RISC(Reduced InstructionSet Computer)的灵活性,根据应用需要,可以对数据包进行2到7层的处理,并可以通过外接通用CPU开发网络管理和网络安全等附加功能。它的出现不仅有利于常规的设备研制机构和厂商研制高性能的网络设备,如:交换机、路由器、防火墙、入侵检测系统(IDS)等,同时也可以作为网络仿真和测试系统的设备的核心。
发明内容
本发明要解决的技术问题在于,针对现有技术的不足,提供一种网络仿真测试系统及方法,提供高性能、高精度、多类型的数据流仿真、应用仿真和方便易用的符合RFC标准的测试,简化测试流程,提供更为准确测试的结果。
为解决上述技术问题,本发明提供了一种网络仿真测试系统,包括系统配置管理模块、网络数据处理模块和网络接口模块,其中,所述系统配置管理模块与所述网络数据处理模块通信,用于配置测试参数及测试命令,将测试参数及测试命令发送给所述网络数据处理模块,接收并处理所述网络数据处理模块返回的信息;
所述网络数据处理模块接收所述系统配置管理模块发送的测试命令及测试参数,根据所述测试命令及测试参数完成相应的测试任务,并将测试结果返回给所述系统配置管理模块;
所述网络接口模块集成一个以上的网络接口,所述的网络接口与所述网络数据处理模块连接,用于将接收的数据发送给所述网络数据处理模块,或者将所述网络数据处理模块处理完的数据发送给目标网络或目标网络设备。具体地说:在网络流量仿真中,网络接口模块负责把网络数据处理模块构造好的定制的数据包发送到目标网络中,提供网络性能测试所需的背景流量。对于网络应用仿真,网络接口模块连接到TCP/HTTP服务器或者安全设备上,向这些设备发送TCP请求等数据包,用于进行TCP/HTTP方面性能测试。在网络攻击仿真中,物理接口连接到被攻击的目标上,并发送特定的攻击数据包。对于网络基准测试,比如说要测试某一台交换机的转发数据包时延,可以将网络接口模块的发送端口接到交换机的入口,将网络接口模块的接收端口接到交换机的出口上,这时网络接口模块负责把特定的数据包通过发送端口发送给交换机,数据包通过交换机后再从接收端口接收,交给网络数据处理模块。对于网络协议分析,网络接口连接到目标网络的某台广播设备上,如网络集线器上,网络物理模块将用户关心的数据包捕获,交给网络数据处理模块。
所述的网络仿真测试系统中,所述系统配置管理模块包括参数配置单元、消息处理单元、数据通信单元和显示单元,所述参数配置单元用于配置测试参数和测试命令,并将所述测试参数和测试命令发送给所述消息处理单元;
所述消息处理单元用于消息的转换或处理,将接收到的由所述参数配置单元/所述数据通信单元发送的测试参数和相应的测试命令/返回消息转换为相应的消息后,发送给所述数据通信单元/所述显示单元;
所述数据通信单元用于消息的转发,将接收到的由所述消息处理单元发送的消息转发给所述网络数据处理模块,或将所述的网络数据处理模块发送的返回消息发送给所述消息处理单元;
所述显示单元分别与所述参数配置单元和所述消息处理单元连接,用于显示配置的测试参数及由所述消息处理单元发送的返回消息。
所述的网络仿真测试系统中,所述的网络数据处理模块包括通信调度单元、一个以上仿真测试功能单元,其中,所述通信调度单元与所述系统配置管理模块连接,接收其发送来的测试参数及测试命令,判断所述测试参数及测试命令的类型,将所述测试参数及测试命令发送给相应的仿真测试功能单元,并将该仿真测试功能单元测试的结果返回给所述系统配置管理模块;
所述仿真测试功能单元根据测试参数及测试命令完成具体的测试任务,并将测试结果返回给通信调度单元。
所述的网络仿真测试系统中,所述的仿真测试功能单元包括网络流量仿真(Network Stream Simulating)单元、网络应用仿真(NetworkApplication Simulating)单元、网络攻击仿真(Network AttackSimulating)单元、网络基准测试(Network Benchmark Testing)单元和网络协议分析(Network Protocol Analyzing)单元中的一个或任意几个。
所述的网络仿真测试系统中,所述的参数配置单元包括网络流量仿真参数配置子单元、网络应用仿真参数配置子单元、网络攻击仿真参数配置子单元、网络基准测试参数配置子单元和网络协议分析参数配置子单元中的一个或任意几个。
所述的网络仿真测试系统中,所述网络流量仿真单元包括:任务调度子单元和一个或一个以上的数据包构造子单元,所述的数据包构造子单元为ARP数据包构造子单元、IP数据包构造子单元、ICMP数据包构造子单元、TCP数据包构造子单元、UDP数据包构造子单元、RIP数据包构造子单元和VLAN数据包构造子单元中的一个或任意几个;在进行测试仿真时,所述任务调度子单元根据所述网络流量仿真参数配置子单元配置的测试所需数据包类型,调用相应的数据包构造子单元以构造特定数据包,将构造好的所述特定数据包通过网络接口发送给目标网络或目标网络设备,并通过任务调度子单元将相关信息发送给所述通信调度单元。
所述的网络仿真测试系统中,所述网络应用仿真单元用于维持千万级的TCP连接和发送万级的TCP连接请求,包括任务调度子单元、任务执行子单元和运行信息收集子单元,其中,所述任务调度子单元根据所述网络应用仿真参数配置子单元配置的测试参数,调用所述任务执行子单元开始执行任务,所述运行信息收集子单元将运行情况信息实时地发送给所述通信调度单元。
所述网络攻击仿真单元主要用于仿真11种常用网络攻击,具体为:SYN Flood攻击,即SYN洪水攻击,SYN是TCP报文中的同步标志;SYN+FIN Flood攻击,其中,FIN是TCP报文中的结束标志;ACK Flood攻击,其中,ACK是TCP报文中用来应答的确认字符;NULL Flood攻击,即空标志位洪水攻击,也就是TCP包头中的标志位不做设置,即全部为0;UDP Flood攻击,也就是向目标主机的开放端口发送大量无用的UDP数据包;ICMP Flood攻击,也就是,利用ICMP协议的ECHO服务,伪造源地址向目标主机发送ICMPrequest;SMURF攻击,其和ping flood类似,不过是发送request包到广播地址,导致攻击力度被放大;Ping of Death攻击,即死亡之Ping;TearDrop攻击,即基于UDP的病态分片数据包的攻击方法;Jolt2攻击,即在一个死循环中不停的发送一个ICMP/UDP的IP碎片,可以使Windows系统的机器死锁;ARP Flood攻击,其中,ARP是地址解析协议,ARP Flood攻击是发送无效假冒的ARP应答信息包,堵塞网络。
所述的网络仿真测试系统中,所述网络攻击仿真单元包括任务调度子单元和一个或一个以上的攻击子单元,所述攻击子单元为SYNFlood攻击子单元、SYN+FIN Flood攻击子单元、ACK Flood攻击子单元、NULL Flood攻击子单元、UDP Flood攻击子单元、ICMP Flood攻击子单元、SMURF攻击子单元、Ping of Death攻击子单元、TearDrop攻击子单元、Jolt2攻击子单元和ARP Flood攻击子单元中的一个或任意几个;所述任务调度子单元根据所述网络攻击仿真参数配置子单元配置的攻击类型调用相应的攻击子单元,由所述攻击子单元发送攻击包发起攻击;并将攻击包的相关信息由所述任务调度子单元发送给所述通信调度单元。
所述网络基准测试单元用于吞吐量(Throughput)测试、时延(Latency)测试、帧丢失率(Frame Loss Rate)测试和背靠背(Back-to-Back)测试,所以,所述的网络仿真测试系统中,所述网络基准测试单元包括任务调度子单元和一个或一个以上的测试子单元,所述的测试子单元为吞吐量测试子单元、时延测试子单元、帧丢失率测试子单元和背靠背测试子单元中的一个或任意几个;所述任务调度子单元根据所述网络基准测试参数配置子单元配置的参数,调用相应的测试子单元进行测试,所述测试子单元将测试结果发送给所述通信调度单元。
所述的网络仿真测试系统中,所述系统配置管理模块还包括网络协议分析子单元,所述网络协议分析单元包括数据包捕获子单元,所述的数据包捕获子单元用于从目标网络捕获未知数据,并将所述未知数据发送给所述系统配置管理模块中的网络协议分析子单元,所述网络协议分析子单元用于对所述数据包捕获子单元发送的未知数据进行协议分析。
本发明还提供了一种网络仿真测试方法,包括以下步骤:
步骤1、通过系统配置管理模块配置测试参数及测试命令,并发送给网络数据处理模块;
步骤2、所述网络数据处理模块判断所述测试参数及测试命令的类型,选择相应的仿真测试功能单元;
步骤3、所述仿真测试功能单元进行相应的仿真测试;
步骤4、所述仿真测试功能单元将测试的相关信息发送给所述网络数据处理模块,由所述网络数据处理模块发送给所述系统配置管理模块。
所述的网络仿真测试方法中,所述步骤1包括以下步骤:
步骤11、配置测试参数及测试命令;
步骤12、将所述的测试参数及测试命令转换为所述网络数据处理模块可以识别的消息;
步骤13、将经过转换后的测试参数及测试命令发送给所述网络数据处理模块。
所述的网络仿真测试方法中,步骤1所述的测试命令包括对网络流量、网络应用、网络攻击、网络基准测试和/或网络协议分析的仿真测试命令;相应地,步骤2中所述网络数据处理模块选择的相应仿真测试功能单元包括网络流量仿真单元、网络应用仿真单元、网络攻击仿真单元、网络基准测试单元和/或网络协议分析单元。
所述的网络仿真测试方法中,步骤11中所述的配置测试命令为对网络流量的测试命令,所述的配置测试参数包括:选择端口号和配置端口的IP地址、网关地址、子网掩码和流量构造参数;
步骤3中所述仿真测试功能单元进行相应的仿真测试包括:网络流量仿真测试,具体为:所述网络流量仿真单元中的任务调度子单元根据接收的测试参数及测试命令,调用相应的数据包构造子单元以构造特定数据包,将构造好的所述特定数据包通过网络接口发送给目标网络或目标网络设备;
所述步骤4具体包括:所述任务调度子单元将测试的相关信息通过所述网络数据处理模块的通信调度单元发送给所述系统配置管理模块中的数据通信单元,通过所述数据通信单元发送给消息处理单元进行处理。
所述的网络仿真测试方法中,步骤11中所述的配置测试命令为对网络应用的测试命令,所述的配置测试参数包括:配置端口的IP地址、网关地址、子网掩码;配置目的IP地址、目的端口、目标服务器性能参数和源IP地址;
步骤3中所述仿真测试功能单元进行相应的仿真测试包括:网络应用仿真测试,具体为:所述网络应用仿真单元中的任务调度子单元根据配置的测试参数及测试命令,调用任务执行子单元执行相应的任务;
所述步骤4具体包括:所述网络应用仿真单元中的运行信息收集子单元将运行情况的信息实时地通过所述网络数据处理模块的通信调度单元发送给所述系统配置管理模块中的数据通信单元,通过所述数据通信单元发送给消息处理单元进行处理。
所述的网络仿真测试方法中,步骤11中所述的配置测试命令为对网络攻击的测试命令,所述的配置测试参数包括:配置端口的IP地址、网关地址、子网掩码;配置有效的攻击目标的IP地址、端口;配置伪造网络地址和配置攻击持续时间;
步骤3中所述仿真测试功能单元进行相应的仿真测试包括:网络攻击仿真测试,具体包括:所述网络攻击仿真单元中的任务调度子单元根据测试参数及测试命令调用相应的攻击子单元发起攻击;在攻击过程中,攻击子单元接收数据包;
所述的步骤4具体包括:所述攻击子单元将攻击包的相应信息通过所述网络数据处理模块的通信调度单元发送给所述系统配置管理模块中的数据通信单元,通过所述数据通信单元发送给消息处理单元进行处理。
所述的网络仿真测试方法中,步骤11中所述的配置测试命令为对网络基准测试的测试命令,所述的配置测试参数包括:选择发送端口和接受端口;选择端口号;配置端口的IP地址、网关地址和子网掩码;配置当前测试类型、LOT测试时间间隔、时延分布和选择测试任务;
步骤3中所述仿真测试功能单元进行相应的仿真测试包括:网络基准测试,具体包括:由所述网络基准测试单元中的任务调度子单元调用相应测试子单元进行测试;
所述的步骤4具体为:进行测试的相应测试子单元将测试得到的原始数据通过所述网络数据处理模块的通信调度单元发送给所述系统配置管理模块中的数据通信单元,通过所述数据通信单元发送给消息处理单元进行处理。
所述的网络仿真测试方法中,步骤11中所述的配置测试命令为对网络协议分析的测试命令,所述的配置测试参数包括:设置过滤协议、接收缓存的大小;设置MAC地址过滤条件;设置IP地址过滤条件和设置端口过滤条件;
步骤3中所述仿真测试功能单元进行相应的仿真测试包括:网络协议分析,具体包括:所述网络协议分析单元中的数据包捕获子单元进行数据包的捕获;
所述步骤4具体包括:将捕获的数据包通过所述网络数据处理模块的通信调度单元发送给所述系统配置管理模块中的数据通信单元,通过所述数据通信单元发送给消息处理单元,经过格式转换后发送给网络协议分析子单元,对捕获的数据包进行协议分析。
综上所述,本发明包括各种测试功能单元,通过对所述的测试功能单元提供测试参数,实现了高性能高精度多类型的数据流仿真、应用仿真和方便易用的符合RFC标准的测试,测试流程简单,提供更为准确的测试结果。并且,由于将物理接口与数据处理单元分开,增加了可扩展性和灵活性。在数据处理单元不变的基础上可以根据需要变换网络接口板卡,以适应对各种网络的测试需求。
附图说明
图1为本发明所述网络仿真测试系统的原理框图;
图2为本发明所述网络仿真测试方法的流程图;
图3为本发明所述系统配置管理模块的结构示意图;
图4为本发明所述网络数据处理模块的结构示意图;
图5为本发明实施例的系统结构图;
图6为本发明实施例的板卡FIDS1201与板卡FIDS1202的连接示意图;
图7为本发明实施例IXP1200网络处理器内部的结构示意图;
图8为本发明实施例的板卡FIDS1201与PC的连接示意图;
图9为本发明所述系统的相关协议分层结构示意图;
图10为本发明实施例的板卡FIDS1202的物理接口示意图;
图11为本发明实施例的板卡FIDS1202内部结构示意图;
图12为本发明实施例执行测试任务的测试流程图;
图13为本发明实施例仿真测试功能单元测试时的流程图;
图14本发发明测试实施全一的硬件连接示意图。
具体实施方式
以下结合附图和具体实施例对本发明做进一步的详细说明。
参见图1,为本发明所述网络仿真测试系统的原理框图;该系统包括:系统配置管理模块1、网络数据处理模块2和网络接口模块3,所述系统配置管理模块1与所述网络数据处理模块2通信,用于配置测试参数、测试命令并对测试后的返回消息进行处理;所述网络数据处理模块2接收系统配置管理模块1发送的测试命令及测试参数,根据所述测试命令及测试参数完成相应的测试任务,并将测试结果返回给所述系统配置管理模块1;所述网络接口模块3集成一个以上相同和/或不同类型的网络接口,用于连接不同的目标网络设备或目标网络,所述网络接口模块3与网络数据处理模块2连接。
基于该系统的网络仿真测试方法如图2所示,包括以下步骤:
步骤100、由系统配置管理模块配置测试参数及测试命令,并发送给网络数据处理模块;
步骤101、所述网络数据处理模块判断测试命令的类型,选择相应的仿真测试功能单元;
步骤102、所述仿真测试功能单元进行测试;
步骤103、所述仿真测试功能单元将测试的相关信息发送给所述网络数据处理模块,由所述网络数据处理模块发送给系统配置管理模块。
其中,所述系统配置管理模块1用于设置测试参数、测试命令,处理返回的测试结果,所述系统配置管理模块1的结构如图3所示,包括参数配置单元11、消息处理单元12、数据通信单元13和显示单元14,所述参数配置单元11用于配置测试参数,并将所述测试参数和相应的测试命令发送给所述消息处理单元12;
所述消息处理单元12用于消息的转换,其所进行的转换包括两方面,一方面,将接收到的由所述参数配置单元11发送的测试参数和相应的测试命令转换为所述网络数据处理模块2可以识别的消息,再发送给所述数据通信单元13;另一方面,将所述数据通信单元13发送的测试返回消息转换为相应的消息,再发送给所述显示单元14;
所述数据通信单元13用于消息的转发,也包括两方面,一方面,将接收到的经过所述消息处理单元12转换的消息发送给所述网络数据处理模块2,另一方面,将所述的网络数据处理模块2发送的测试返回消息发送给所述消息处理单元12;
所述显示单元14分别与所述参数配置单元11和所述消息处理单元12连接,用于显示配置的测试参数及由所述消息处理单元12发送的测试返回消息。
如图4所示,为所述网络数据处理模块2的结构示意图,在本发明中,对网络架构和网络设备的具体测试是通过所述网络数据处理模块2完成的,因此,所述网络数据处理模块2至少包括一种以上的仿真测试功能单元221、222.....22m,用于完成系统配置管理模块1交付的各种测试任务。由于系统配置管理模块1发送的测试任务不同,所以,首先要识别系统配置管理模块1发送的测试任务是什么,再选择相应的仿真测试功能单元,再由相应的仿真测试功能单元完成具体的测试任务,并将测试后的各种消息返回给系统配置管理模块1,告知测试结果。所以,所述网络数据处理模块2还包括通信调度单元21,所述通信调度单元21管理仿真测试功能单元220、221.....22m,并与系统配置管理模块1通信,根据系统配置管理模块1发送的测试参数及测试命令,驱动相应的仿真测试功能单元工作,完成相应的测试任务。
仿真测试功能单元与网络接口模块3中的网络接口相连接,在进行网络测试的时候,所述通信调度单元21将接收到由系统配置管理模块1发送来的测试需要的参数写入到定义好的内存单元中,仿真测试功能单元在进行测试的时候要用到这些参数,同时将测试的结果写入到结果内存单元里,所述通信调度单元21通过其接口程序读取结果后将结果发送到系统配置管理模块1(即客户端),由客户端显示。这时,根据不同的测试要求,网络接口执行不同的功能。如,在网络协议分析仿真时,网络接口负责捕获数据包;在网络基准测试时(主要是测试路由器),网络接口负责把数据包发送给目标设备,然后把从目标设备发出的数据包捕获;在其他的仿真测试中,网络接口主要是把构造好的数据包发送给目标网络或者是设备,同时还要接收一些数据包如TCP应答包。
需要说明的是,对于各种仿真测试功能单元,其中,所述网络协议分析单元将采集的结果数据交给网络数据处理模块,由网络数据处理模块处理后,交给系统配置管理模块,由系统配置管理模块进行分析,然后进行各种报表、图示等处理。如果客户端有需要,数据处理模块可以对采集的数据进行过滤(如只采集特定IP地址的数据)。对于其他仿真测试功能单元,主要是用来发送信息,要发送的信息是相应的仿真测试功能单元产生的,所以不需要客户端进行分析。主要过程是,用户通过系统配置管理模块进行配置,然后把配置信息传给网络数据处理模块,网络数据处理模块构造所需的信息交给网络接口模块3发送。上述过程在任务的执行过程中可能要接收一些确认信息(如TCP确认包),但是这些数据包不需交给系统配置管理模块进行分析。所有的功能单元中任务运行的信息会由网络数据处理模块发送给客户端,由客户端向用户动态的显示或者是把结果用报表的形式保存起来。
步骤100所述的测试命令包括对网络流量、网络应用、网络攻击、网络基准测试和/或网络协议分析的仿真测试命令;相应地,步骤101中所述网络数据处理模块选择的相应仿真测试功能单元包括网络流量仿真单元、网络应用仿真单元、网络攻击仿真单元、网络基准测试单元和/或网络协议分析单元。
参见图5,为本发明一具体实施例的结构示意图,本发明所述网络仿真测试系统包括系统配置管理模块、网络数据处理模块和网络接口模块,其中,系统配置管理模块与网络数据处理模块之间采用客户端/服务器(C/S)结构体系,系统配置管理模块主要是读取当前的一些配置情况,目前提供的配置项包括:当前运行的微码版本;端口的状态(8个百兆端口、2个千兆端口),端口是否处于link状态(只有处于Link状态的端口才能被使用);系统配置管理模块通过向网络数据处理模块发出请求实现对仿真的配置和操作,网络数据处理模块将仿真测试结果返回给系统配置管理模块,在客户端进行显示。
这三个模块具体在本实施例中的表现为:系统配置管理模块为一台装载有控制程序的PC30,网络数据处理模块和网络接口模块集成在一起形成一硬件装置31,其通过以太网与PC30连接。
所述硬件装置31由两个部分组成,具体表现为两个硬件板卡,分别为板卡FIDS1201和板卡FIDS1202,两个板卡之间通过总线和特定接口进行连接,如图6所示。
从功能上讲,板卡FIDS1201对应的是网络数据处理模块,主要务是进行数据的处理;从硬件上讲,包括以下部分:网络处理器、同步动态随机存储器(Synchronous DRAM,简称SDRAM)、静态随机存储器(SRAM)、闪存(FLASH)、三态内容寻址寄存器(TernaryContent Addressable Memory,简称TCAM)等硬件单元。SDRAM、SRAM有各自的总线与IXP 1200网络处理器连接;TCAM模块由FPGA实现的TCAM Bridge和2Mb TCAM组成,由于SiberCore的TCAM使用专用的接口定义,无法和网络处理器的接口直接相连,因此使用了一片Xilinx的XC2S200EFT256C-7FPGA作为桥接芯片,用于完成IXP1200网络处理器的SRAM单元和Sibercore的2Mb TCAM之间的接口转换;SRAM/SDRAM通过32位/64位的SRAM/SDRAMBUS和IXP1200网络处理器中的SRAM/SDRAM单元相连;SRAM/SDRAM单元连接到网络处理器内部的32位数据线上;FLASH与SRAM总线相连接。
板卡FIDS1202从网络接收数据,由微引擎负责读取,然后进行相应的处理(如修改包头或转发),包的描述信息会存放在SRAM中,大容量的包内容部分存放在SDRAM中,如果有异常的数据包就交给网络处理器来处理。
在本发明中,通过该板卡FIDS1201的核心元件网络处理器及其他相关元件实现图1中的网络数据处理模块2的功能,在本实施例中,所述的网络处理器采用Intel公司生产的基于IXA概念的IXP1200网络处理器。所述IXP1200网络处理器的内部结构如图7所示。
从其内部结构可见,IXP1200网络处理器具有以下特点:
1、并行处理:6个微引擎和一个StrongARM构成IXP1200网络处理器的计算资源,共享相同资源,IXP1200网络处理器包括:SDRAM单元、SRAM单元、PCI单元等。微引擎和StrongARM均为RISC处理器,并行工作。StrongARM负责信念控制层面任务和微引擎管理。微引擎负责数据层面的高速数据分组,通过对6个微引擎/24个硬件线程分配不同功能的微码程序,可以实现网络负荷的动态/静态调配。微码程序的可重载性为系统软件升级提供了极大方便。
2、分布式数据存储结构:每个微引擎独立使用256个32位寄存器。其中128个寄存器是传送寄存器集。每个微引擎将数据载入自己的传送寄存器集,对传送寄存器集进行操作,然后通过传送寄存器集写到数据目的地。数据载入传送寄存器集后,微引擎可在单指令周期完成访问。
3、硬件多线程:每个微引擎有4个编程计数器,支持4个硬件线程。每个线程可以执行相同或不同的微码程序,采用内部线程通信机制实现线程同步,提高系统效率。微码指令采用5级流水线机制,执行周期为1个时钟周期。
4、主动内存管理:SDRAM单元和SRAM单元支持多个读写队列进行优先级排队以优化带宽。允许StrongARM和6个微引擎/24个线程同时提交对内存单元的读写请求,内存单元根据特定优化指令对读写请求硬件优先级排队。用户可以自定义内存管理优化策略。
5、多层并发性:通过多个独立数据总线和控制总线,可以实现数据并发移动:SDRAM单元和微引擎或IX Bus接口之间的双向同时读写;SRAM单元和微引擎或IX Bus接口之间的双向同时读写;SDRAM单元和PCI单元之间读写;IX Bus接口和微引擎之间读写。
6、块数据移动:每个微引擎分配很大的寄存器集,单个指令就可以实现功能单元之间64个字节的数据块移动和功能单元与IX Bus接口之间128个字节的数据块移动。块数据移动在充分利用微引擎计算资源的同时,还可以减少微码程序的规模。
7、可扩展性:多个IXP1200网络处理器可以通过IX Bus互联,从而有效增加处理系统的处理能力和数据带宽;ATM、E1/T1、EthernetMAC等数据接口可以通过IX Bus接入IXP1200网络处理器;微引擎的微码程序存储空间具有可扩展性。
因此,当将IXP1200网络处理器与PC结合构成网络测试系统时,其功能模块与硬件相结合的示意图如图8所示,PC30包括系统配置管理模块1,该系统配置管理模块1包括参数配置单元11、消息处理单元12、数据通信单元13和显示单元14;
IXP1200网络处理器及其外围电路包括通信调度单元21、一个以上仿真测试功能单元220、221.....22m。其中,所述通信调度单元21由IXP1200网络处理器的StrongARM实现,一个以上仿真测试功能单元220、221.....22m由微引擎和Strong ARM共同完成。
PC 30通过其参数配置单元11对需测试的项目进行参数的配置,配置好后连同测试命令一起发给消息处理单元12,消息处理单元12将接收到的测试参数及测试命令转换成IXP1200网络处理器可以处理的数据格式后,发给数据通信单元13,由数据通信单元13发给IXP1200网络处理器的通信调度单元21,通信调度单元21判断进行的是什么测试,并将测试参数发送到相应的仿真测试功能单元,仿真测试功能单元进行相关测试;仿真测试功能单元测试完后,将测试结果及相关数据发送给通信调度单元21,由通信调度单元21经数据通信单元13发送给消息处理单元12,经过消息处理单元12的格式转换后,发送到显示单元14显示。
其中,系统配置管理模块1中的参数配置单元11、消息处理单元12、数据通信单元13和显示单元14及系统配置管理模块1中的其他单元的实现具体由程序完成。
IXP1200网络处理器及其外围电路对应的通信调度单元21、一个以上仿真测试功能单元220、221.....22m的实现具体由控制程序完成。
各仿真测试功能单元在测试时也要涉及到相关的网络协议。以下从网络协议的分层来看本系统的相关协议分层结构,如图9所示,用于实现系统配置管理模块1的客户端控制程序(CCS)和用于实现通信调度单元21的通信调度程序(CSS)为应用层软件,这两部分在链路层通过以太网实现通信,在传输层使用了TCP协议。802.3u对应于OSI模型中的物理层,ETH对应数据链路层,然后上面是IP层和TCP层。也就是说,系统配置管理模块和网络数据处理模块遵循这些控制协议进行通信。
从图9中可知,本发明根据不同的功能需要设计相关的网络协议。在底层使用的也是以太网,并且提供10/100M和1000M两种以太网接口。
板卡FIDS1202为网络接口板卡,该板卡集成了各种相关的网络接口,如图10所示,为板卡FIDS1202的物理接口外部接口。图中的GE0、GE1表示千兆端口,FE0-7表示8个10M/100M自适应端口,FE指一个用于控制编程的10M/100M自适应端口,cPCI表示CompactPCI,RS232指串口。表1为对本实施例网络接口的说明。
表1
  接口名称   规格   功能
  FE   10/100M以太网接口,RJ45接口,100BASE-TX,802.3u   通过PCI总线与IXP1200网络处理器相连,在网络仿真测试设备中实现与PC机(网络仿真测试设备控制端硬件)上网卡相连。
  cPCI   32位,66M,PCI2.2   可与cPCI插槽相接
  RS232   Serial UART Port   用于对IXP1200网络处理器的调试与控制
  GE0,GE1   1000M以太网接口,MT-RJ接口,1000BASE   网络仿真测试功能端口
  -SX,802.3z
  FE0-7   10/100M以太网接口,RJ45接口,100BASE-TX,802.3u   网络仿真测试功能端口
从上表可以看出,FE以太网口是连接客户端PC(系统配置管理模块)和硬件装置31中的StrongARM的以太网接口,负责与客户端PC的网卡相连,也就是说,网络数据处理模块上运行的程序所需要交流的信息是通过以太网传输的。GE0,GE1是做测试仿真时的千兆端口,用来连接目标网络或设备;FE0-7是8个10/100兆端口,也是用来连接目标网络或设备。两者只是数据传输速率不同,再有,千兆端口一般是光接口,可以接光纤。
参见图11,为板卡FIDS1202的内部结构示意图,板卡FIDS1202通过千兆以太网MAC芯片IXF1002和100Mb以太网MAC芯片IXF440分别与网络处理器中的IX Bus接口和SRAM单元中的SlowPort接口连接,实现数据的传输。板卡FIDS1202通过IX Bus和32位SRAM Bus与板卡FIDS1201中的IXP1200网络处理器相连接。板卡FIDS1202有两个主要模块,其中,FIDS1202-2提供千兆以太网络接口,FIDS1202-1提供百兆以太网接口。FIDS1202与IXP1200网络处理器之间通过IX Bus交换数据,同时,通过SRAM单元的Slow Port接口对其进行相关的配置。
图中的芯片IXF1002是Intel公司提供的两路千兆以太网MAC芯片,该芯片能够独立提供两路千兆的高性能智能型MAC端口,它通过IX Bus和IXP1200网络处理器直接无缝连接。全双工串化器/解串器SER/DES芯片是千兆以太网的物理层芯片,它可以提供完整的串并转换功能,合并了千兆以太网和光纤信道的收发功能。Optic是一种千兆以太网的光收发器,提供千兆以太网的光收发接口。芯片IXF440是Intel提供的一种8路100Mb以太网MAC芯片,该芯片提供8路独立的百兆以太网MAC接口,它也通过IX BUS完成和芯片IXP1200网络处理器的无缝连接,通过8路独立的MII/SYM接口和物理层芯片连接,通过CPU总线接口实现芯片配置和管理。芯片LXT9763是一种具有6路独立MII接口的快速以太网物理层接口芯片,它通过芯片H1063实现和外部以太网接口之间的连接,
另外,板卡FIDS1202还包括译码器EPLD和时钟驱动电路(图中未示出),所述的译码器EPLD用于实现必要的译码逻辑,时钟驱动电路(Clock Driver)用于实现IX BUS时钟驱动以及PHY芯片之间的时钟驱动。
针对不同的网络,可以选择不同的网络接口板卡。如:以太网仿真测试可以选择支持以太网接口的网络接口板卡,ATM网络仿真测试则可以使用ATM网络接口板卡。网络接口模块负责把接收的数据发给网络数据处理模块,由其进行处理,并把网络数据处理模块处理过的数据发送出去,具体是由网络处理器中的微引擎(ME)负责控制数据的收发。
硬件装置31将网络处理器与网络接口相分离的这种设计,增加了可扩展性和灵活性。可扩展性表现为在保留网络处理器板卡FIDS1201的基础上可以根据需要变换网络接口板卡,这里的FIDS1202提供了以太网的相关接口,如果需要还可以设计适用于广域网的网络接口板卡,新的网络接口板卡只要符合IX Bus接口与SRAM单元中的Slow Port接口的相关标准就可以实现与板卡FIDS1201的协同工作。
由于用于进行测试参数配置、发送测试命令和显示各种信息的系统配置管理模块1以应用程序的方式装载在PC30上,而完成调度和具体测试的单元以应用程序的方式装载在硬件装置31上,所以,为了实现某一测试任务,在具体执行测试任务时,需要将二者连接起来才可以进行测试。
如图12所示,为执行某一任务的测试流程图,包括以下步骤:
步骤200、开启客户端控制程序,即启动装载在PC30上的用于实现系统配置管理模块1的控制程序;
步骤201、建立系统配置管理模块1与连接硬件装置31的连接,即建立客户端控制程序与硬件装置31中用于完成调度和具体测试的单元通信连接;
步骤202、判断是否连接成功,如果连接成功,转向步骤203;如果连接不成功,转向步骤205;
步骤203、硬件装置31执行相应的仿真测试任务;
步骤204、断开与系统配置管理模块1与硬件装置31的连接;
步骤205、退出客户端控制程序;
当硬件装置31执行完相应的仿真测试任务后,退出客户端控制程序,结束。
如图13所示,为仿真测试功能单元测试流程图,从TCP连接的角度来看,客户端控制程序为TCP Client,而硬件装置中用于完成调度和具体测试的单元为TCP Server。
本发明可以完成各种网络测试,包括对网络流量、网络应用、网络攻击、网络基准测试和/或网络协议分析的仿真测试;为完成上述的仿真测试,在硬件装置31及其装载的控制程序包括相应仿真测试功能单元,如网络流量仿真单元、网络应用仿真单元、网络攻击仿真单元、网络基准测试单元和网络协议分析单元。所述的仿真测试功能单元为了完成其仿真测试任务,还包括一些子单元,这些子单元相互协作完成其测试任务。另外,针对不同的仿真测试,所述系统配置管理模块中的参数配置单元包括相应的网络流量仿真参数配置子单元、网络应用仿真任务参数配置子单元、网络攻击仿真参数配置子单元、网络基准测试参数配置子单元和网络协议分析参数配置子单元,为了显示对各种仿真测试配置的参数及测试后的结果、状态等信息,所述的显示单元包括相应的网络流量仿真显示子单元、网络应用仿真显示子单元、网络攻击仿真显示子单元、网络基准测试显示子单元和网络协议分析显示子单元。
具体地,当所述的测试命令为对网络流量的测试命令时,所述的配置测试参数包括:选择端口号;配置端口的IP地址、网关地址、子网掩码和流量构造参数。所述仿真测试功能单元进行的测试包括:网络流量仿真测试,具体为:所述网络流量仿真单元中的任务调度子单元根据接收的测试参数及测试命令,调用相应的数据包构造子单元构造特定数据包,将构造好的所述特定数据包通过网络接口发送给目标网络或目标网络设备;所述任务调度子单元将测试的相关信息通过所述网络数据处理模块的通信调度单元发送给所述系统配置管理模块中的数据通信单元,通过所述数据通信单元发送给消息处理单元进行处理。
当所述的配置测试命令为对网络应用的测试命令时,所述的配置测试参数包括:配置端口的IP地址、网关地址、子网掩码;配置目的IP地址、目的端口、目标服务器性能参数(0-255之间的整数,目标服务器的处理速度越慢值越大)和源IP地址。所述仿真测试功能单元进行测试包括:网络应用仿真测试,具体为:所述网络应用仿真单元中的任务调度子单元根据配置的测试参数及测试命令,调用任务执行子单元执行相应的任务;本发明所述的网络应用仿真测试实现的其实就是TCP/HTTP测试功能,目的是测试指定的服务器对大数据量的TCP/HTTP连接请求的响应能力。仿真器作为客户端,向指定的服务器发送大数据量的TCP连接请求,与服务器建立TCP连接,测试服务器的处理能力。测试指标包括:建立的TCP/HTTP连接数、断开的TCP/HTTP连接数、维持数等。从硬件的角度看任务执行子单元包括StrongARM部分和微引擎部分,其中StrongARM部分完成的任务有:ARP响应程序、目的ARP获取程序;微引擎部分完成的任务有:数据包接收、数据包发送、TCP请求包构造、TCP状态的控制、TCP响应包构造、HTTP请求包构造、HTTP响应包构;所述网络应用仿真单元中的运行信息收集子单元将运行情况的信息实时地通过所述网络数据处理模块的通信调度单元发送给所述系统配置管理模块中的数据通信单元,通过所述数据通信单元发送给消息处理单元进行处理。
当所述的配置测试命令为对网络攻击的测试命令时,所述的配置测试参数包括:配置端口的IP地址、网关地址、子网掩码;配置有效的攻击目标的IP地址、端口;配置伪造网络地址和配置攻击持续时间。所述仿真测试功能单元进行的测试包括:网络攻击仿真测试,具体包括:网络攻击仿真单元中的任务调度子单元根据测试参数及测试命令调用相应的攻击子单元发起攻击;在攻击过程中,攻击子单元接收数据包;所述任务调度子单元将攻击包的相应信息通过所述网络数据处理模块的通信调度单元发送给所述系统配置管理模块中的数据通信单元,通过所述数据通信单元发送给消息处理单元进行处理。
当所述的配置测试命令为对网络基准测试的测试命令时,所述的配置测试参数包括:选择发送端口和接受端口;选择端口号;配置端口的IP地址、网关地址和子网掩码;配置当前测试类型、LOT测试时间间隔、时延分布和选择测试任务。所述仿真测试功能单元进行测试包括:网络基准测试,具体包括:由网络基准测试单元中的任务调度子单元调用相应测试子单元进行测试;微引擎将任务运行的信息存放在某个存储单元中,StrongARM到这个存储单元中读取任务运行的信息并且构造消息向客户端即所述系统配置管理模块报告。这些任务运行的信息包括:已发送的TCP连接请求包(SYN包)个数、已建立的TCP连接总数、已断开的TCP连接总数、发送SYN包收到的RST包个数、发送的HTTP GET数、发送的HTTP Abort数;通过所述网络数据处理模块的通信调度单元发送给所述系统配置管理模块中的数据通信单元,通过所述数据通信单元发送给消息处理单元进行处理。在测试过程中,运行消息是动态显示的(StrongARM每两秒钟向客户端发送一次),结果以报表的形式保存。
当所述的配置测试命令为对网络协议分析的测试命令时,所述的配置测试参数包括:设置过滤协议、接收缓存的大小;设置MAC地址过滤条件;设置IP地址过滤条件和设置端口过滤条件。所述仿真测试功能单元进行测试包括:网络协议分析,具体包括:所述网络协议分析单元中的数据包捕获子单元进行数据包的捕获;所述步骤4具体包括:将捕获的数据包通过所述网络数据处理模块的通信调度单元发送给所述系统配置管理模块中的数据通信单元,通过所述数据通信单元发送给消息处理单元,经过格式转换后发送给网络协议分析子单元,对捕获的数据包进行协议分析。
例如,测试实例一:对路由器等网络设备的基准测试。
在本实施例中,以测试网络的帧丢失情况为例。
其硬件的连接图如图14所示,通过PC30进行参数的配置,其中,选择硬件装置31的百兆端口1做为发送端口,选择百兆端口2做为接收端口;设置端口IP地址、网关地址、子网掩码,端口的网络设置保证发送端口与接收端口通过路由器40能够连通;“测试类型”选择“Frame Loss”;配置目的MAC地址、源MAC地址;配置IP首部和UDP首部。
PC30,也就是系统配置管理模块中的参数配置单元将配置的参数记录下来,消息处理单元将这些参数信息转换成网络数据处理模块能够识别的消息,数据通信单元将转换后的消息发送给网络数据处理模块。在网络数据处理模块中的通信调度单元接收来自系统配置管理模块的测试命令和配置的参数信息,并判断出所述的测试是网络基准测试,此时调用网络基准测试单元。网络基准测试单元中的任务调度子单元调用帧丢失率测试子单元,由所述的帧丢失率测试子单元信息构造数据包,构造好的数据包由网络接口模块发送到目标路由器。通过目标路由器的数据包通过接口捕获,并被网络基准测试单元接收,接收数据包数量的统计信息会被网络基准测试单元记录并由通信调度单元发送给系统配置管理模块,系统配置管理模块的数据通信单元接收到这些统计信息后,发送给消息处理单元,其把这些信息转换成可供显示的消息,最终的结果由显示单元中的网络基准测试显示子单元显示给用户。可以通过取样器(Sniffer)50观察他们之间的数据通信。
在PC30可以显示发送和接收的数据包的统计信息,用户可以明显地看到帧的丢失情况。
测试实例二,网络协议分析。
首先,将本测试系统的的一个百兆端口连接到一个网络中,这里是连接到一个HUB上,在PC30上选择接收数据的端口(如第0-7号百兆端口),设置缓冲区的大小,这里为1兆,下载模板,开始执行。
数据通信单元将测试参数和测试命令发送给网络数据处理模块的通信调度单元,所述通信调度单元调用网络协议分析单元,网络协议分析单元从网络接口捕获数据包,进行协议分析和解码。
分析和解码后的数据包会由通信调度单元发送给系统配置管理模块,系统配置管理模块将这些数据包存入缓冲区,当缓冲区满了时就在PC30上通过网络协议分析显示子单元显示。
用于完成测试参数配置、发送测试命令和显示各种信息的系统配置管理模块1以应用程序的方式装载在PC30上,所以,所述的参数配置单元与对应的显示单元集成为装载在PC30上的控制程序的客户端界面。该应用程序客户端界面采用多文档结构(MDI),这主要是考虑到本系统具有多个仿真测试功能单元,需要显示多个视图,而单纯的单文档结构(SDI)无法满足需求。因此采用多文档结构,这样能够很好地处理各单元的协调并能有效地处理消息。该客户端界面外观主要采取的是Outlook Bar风格,让用户方便地选取自己想要的功能单元,再加上若干个状态工具栏表示状态,使用户对仿真测试系统的状态了如指掌。
该应用程序的客户端界面对应于参数配置单元11和显示单元14,该应用程序的处理程序、算法对应于消息处理单元12和数据通信单元13。该客户端界面包括与硬件装置中各个仿真测试功能单元相对应的界面窗口,用于显示仿真测试功能单元测试时所需的参数、参数类型、数据及测试的状态、结果等信息。
整个测试流程是:当在对应于某一仿真测试功能单元的界面内配置了相关的参数、发出具体的测试命令后,消息处理单元12将参数、测试命令转换为对应的消息交给数据通信单元13,消息通过数据通信单元13发送到硬件装置31中的通信调度单元21,由通信调度单元21处理并执行相应的功能。
同样,当硬件装置31中的通信调度单元21要返回任务或操作执行的状态和结果时,先由数据通信单元13接收,然后交给消息处理单元12处理,然后发往相应的界面窗口界面和界面工具栏显示。
对应各仿真测试功能单元的界面根据其自身的特点各不相同,如不同的参数类型,用于显示不同运行消息的显示区等。
网络仿真测量系统可以帮助网络设备研制企业以最快的速度构建真实的网络测量环境,分析网络设备存在的问题,发现设备的瓶颈,最终提高产品质量,提升企业的竞争力。
网络流量仿真单元的100M端口与1000M端口均可以实现接近线速的数据包发送,64字节的数据包可以实现148,809个每秒(100M端口)、1,488,095个每秒(1000M端口),并且可以成功控制数据包的发送量,和数据包的发送速率。这为定制特定速率、特定量和特定内容的数据流量仿真提供了很好的保证。另外,良好的数据包发送能力给本发明的后续功能扩展提供了方便的扩展接口。
网络应用仿真单元成功实现了TCP客户端仿真和HTTP Get仿真。单个百兆端口同时支持大于1,950,000个TCP连接,8个百兆端口可以同时工作。能工作的一个千兆端口可以同时支持15,000,000个TCP连接。如果TCP服务器性能足够,百兆端口每秒钟可以建立大于60,000个TCP连接,千兆端口每秒钟可以建立大于350,000个TCP连接。百兆端口HTTP Get发送速率大于30,000次每秒,千兆端口大于300,000次每秒。
网络攻击仿真单元成功实现了11种类型攻击包的高速率发送,百兆与千兆端口攻击包的发送速率均可达到85%以上。同时,可以准确控制攻击包的发送个数与发送速率,有利于实现攻击效果评估。
网络基准测试单元的千兆端口已经成功实现了4种基准测试功能,可以实现测试帧的线速收发。在时延测试方面,每个数据包转发的固有时延相对稳定。
网络协议分析单元实现了数据包的线速捕获,可以成功实现数据包的过滤,实现了2-3层协议解码。
最后所应说明的是:以上实施例仅用以说明本发明而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (15)

1.一种网络仿真测试系统,包括系统配置管理模块、网络数据处理模块和网络接口模块,其中,
所述系统配置管理模块与所述网络数据处理模块通信,用于配置测试参数,将测试参数及测试命令发送给所述网络数据处理模块,接收并处理所述网络数据处理模块返回的信息;
所述网络数据处理模块包括通信调度单元、一个以上仿真测试功能单元,其中,所述通信调度单元与所述系统配置管理模块连接,接收其发送来的测试参数及测试命令,判断所述测试参数及测试命令的类型,将所述测试参数及测试命令发送给相应的仿真测试功能单元,并将所述仿真测试功能单元测试的结果返回给所述系统配置管理模块;所述仿真测试功能单元根据测试参数及测试命令完成具体的测试任务,并将测试结果返回给通信调度单元;所述的仿真测试功能单元为网络流量仿真单元、网络应用仿真单元、网络攻击仿真单元、网络基准测试单元和网络协议分析单元中的一个或任意几个;
所述网络接口模块集成一个以上的网络接口,所述的网络接口与所述网络数据处理模块连接,用于将接收的数据发送给所述网络数据处理模块,或者将所述网络数据处理模块处理完的数据发送给目标网络或目标网络设备。
2.根据权利要求1所述的网络仿真测试系统,其特征在于,所述系统配置管理模块包括参数配置单元、消息处理单元、数据通信单元和显示单元,所述参数配置单元用于配置测试参数和测试命令,并将所述测试参数和测试命令发送给所述消息处理单元;
所述消息处理单元用于消息的转换或处理,将接收到的由所述参数配置单元发送的测试参数和相应的测试命令转换为所述网络数据处理模块可以识别的消息后发送给所述数据通信单元,或将所述数据通信单元发送的返回消息转换为相应的消息后发送给所述显示单元;
所述数据通信单元用于消息的转发,将接收到的由所述消息处理单元发送的消息转发给所述网络数据处理模块,或将所述的网络数据处理模块发送的返回消息发送给所述消息处理单元;
所述显示单元分别与所述参数配置单元和所述消息处理单元连接,用于显示配置的测试参数及由所述消息处理单元发送的返回消息。
3.根据权利要求2所述的网络仿真测试系统,其特征在于,所述的参数配置单元包括网络流量仿真参数配置子单元、网络应用仿真参数配置子单元、网络攻击仿真参数配置子单元、网络基准测试参数配置子单元和网络协议分析参数配置子单元中的一个或任意几个。
4.根据权利要求3所述的网络仿真测试系统,其特征在于,所述网络流量仿真单元包括:任务调度子单元和一个或一个以上的数据包构造子单元,所述的数据包构造子单元为ARP数据包构造子单元、IP数据包构造子单元、ICMP数据包构造子单元、TCP数据包构造子单元、UDP数据包构造子单元、RIP数据包构造子单元和VLAN数据包构造子单元中的一个或任意几个;在进行测试仿真时,所述任务调度子单元根据所述网络流量仿真参数配置子单元配置的测试所需数据包类型,调用相应的数据包构造子单元以构造特定数据包,将构造好的所述特定数据包通过网络接口发送给目标网络或目标网络设备,并通过任务调度子单元将相关信息发送给所述通信调度单元。
5.根据权利要求3所述的网络仿真测试系统,其特征在于,所述网络应用仿真单元用于维持千万级的TCP连接和发送万级的TCP连接请求,包括任务调度子单元、任务执行子单元和运行信息收集子单元,其中,所述任务调度子单元根据所述网络应用仿真参数配置子单元配置的测试参数,调用所述任务执行子单元开始执行任务,所述运行信息收集子单元将运行情况信息实时地发送给所述通信调度单元。
6.根据权利要求3所述的网络仿真测试系统,其特征在于,所述网络攻击仿真单元包括任务调度子单元和一个或一个以上的攻击子单元,所述攻击子单元为SYN Flood攻击子单元、SYN+FIN Flood攻击子单元、ACK Flood攻击子单元、NULL Flood攻击子单元、UDP Flood攻击子单元、ICMP Flood攻击子单元、SMURF攻击子单元、Ping ofDeath攻击子单元、TearDrop攻击子单元、Jolt2攻击子单元和ARP Flood攻击子单元中的一个或任意几个;所述任务调度子单元根据所述网络攻击仿真参数配置子单元配置的攻击类型调用相应的攻击子单元,由所述攻击子单元发送攻击包发起攻击;并将攻击包的相关信息由所述任务调度子单元发送给所述通信调度单元。
7.根据权利要求3所述的网络仿真测试系统,其特征在于,所述网络基准测试单元包括任务调度子单元和一个或一个以上的测试子单元,所述的测试子单元为吞吐量测试子单元、时延测试子单元、帧丢失率测试子单元和背靠背测试子单元中的一个或任意几个;所述任务调度子单元根据所述网络基准测试参数配置子单元配置的参数,调用相应的测试子单元进行测试,所述测试子单元将测试结果发送给所述通信调度单元。
8.根据权利要求3所述的网络仿真测试系统,其特征在于,所述系统配置管理模块还包括网络协议分析子单元,所述网络协议分析单元包括数据包捕获子单元,所述的数据包捕获子单元用于从目标网络捕获未知数据,并将所述未知数据发送给所述系统配置管理模块中的网络协议分析子单元,所述网络协议分析子单元用于对所述数据包捕获子单元发送的未知数据进行协议分析。
9.一种基于权利要求1-8任一所述系统的网络仿真测试方法,包括以下步骤:
步骤1、通过系统配置管理模块配置测试参数及测试命令,并将所述测试参数及测试命令发送给网络数据处理模块;其中,所述的测试命令包括对网络流量、网络应用、网络攻击、网络基准测试和/或网络协议分析的仿真测试命令;步骤2、所述网络数据处理模块判断所述测试参数及测试命令的类型,选择相应的仿真测试功能单元;其中,所述仿真测试功能单元包括网络流量仿真单元、网络应用仿真单元、网络攻击仿真单元、网络基准测试单元和/或网络协议分析单元;
步骤3、所述仿真测试功能单元进行相应的仿真测试;
步骤4、所述仿真测试功能单元将测试的相关信息发送给所述网络数据处理模块,由所述网络数据处理模块发送给所述系统配置管理模块。
10.根据权利要求9所述的网络仿真测试方法,其特征在于,所述步骤1包括以下步骤:
步骤11、配置测试参数及测试命令;
步骤12、将所述的测试参数及测试命令转换为所述网络数据处理模块可以识别的消息;
步骤13、将经过转换后的测试参数及测试命令发送给所述网络数据处理模块。
11.根据权利要求10所述的网络仿真测试方法,其特征在于,步骤11中所述的配置测试命令为对网络流量的测试命令,所述的配置测试参数包括:选择端口号;配置端口的IP地址、网关地址、子网掩码和流量构造参数;
步骤3中所述仿真测试功能单元进行相应的仿真测试包括:网络流量仿真测试,具体为:所述网络流量仿真单元中的任务调度子单元根据接收的测试参数及测试命令,调用相应的数据包构造子单元构造特定数据包,将构造好的所述特定数据包通过网络接口发送给目标网络或目标网络设备;
所述步骤4具体包括:所述任务调度子单元将测试的相关信息通过所述网络数据处理模块的通信调度单元发送给所述系统配置管理模块中的数据通信单元,通过所述数据通信单元发送给所述消息处理单元进行处理。
12.根据权利要求10所述的网络仿真测试方法,其特征在于,步骤11中所述的配置测试命令为对网络应用的测试命令,所述的配置测试参数包括:配置端口的IP地址、网关地址和子网掩码;配置目的IP地址、目的端口、目标服务器性能参数和源IP地址;
步骤3中所述仿真测试功能单元进行相应的仿真测试包括:网络应用仿真测试,具体为:所述网络应用仿真单元中的任务调度子单元根据配置的测试参数及测试命令,调用任务执行子单元执行相应的任务;
所述步骤4具体包括:所述网络应用仿真单元中的运行信息收集子单元将运行情况的信息实时地通过所述网络数据处理模块的通信调度单元发送给所述系统配置管理模块中的数据通信单元,通过所述数据通信单元发送给消息处理单元进行处理。
13.根据权利要求10所述的网络仿真测试方法,其特征在于,步骤11中所述的配置测试命令为对网络攻击的测试命令,所述的配置测试参数包括:配置端口的IP地址、网关地址、子网掩码;配置有效的攻击目标的IP地址、端口;配置伪造网络地址和配置攻击持续时间;
步骤3中所述仿真测试功能单元进行相应的仿真测试包括:网络攻击仿真测试,具体包括:所述网络攻击仿真单元中的任务调度子单元根据测试参数及测试命令调用相应的攻击子单元发起攻击;在攻击过程中,攻击子单元接收数据包;
所述的步骤4具体包括:所述攻击子单元将攻击包的相应信息通过所述网络数据处理模块的通信调度单元发送给所述系统配置管理模块中的数据通信单元,通过所述数据通信单元发送给消息处理单元进行处理。
14.根据权利要求10所述的网络仿真测试方法,其特征在于,步骤11中所述的配置测试命令为对网络基准测试的测试命令,所述的配置测试参数包括:选择发送端口和接受端口;选择端口号;配置端口的IP地址、网关地址和子网掩码;配置当前测试类型、LOT测试时间间隔、时延分布和选择测试任务;
步骤3中所述仿真测试功能单元进行相应的仿真测试包括:网络基准测试,具体包括:由所述网络基准测试单元中的任务调度子单元调用相应测试子单元进行测试;
所述的步骤4具体为:进行测试的相应测试子单元将测试得到的原始数据通过所述网络数据处理模块的通信调度单元发送给所述系统配置管理模块中的数据通信单元,通过所述数据通信单元发送给消息处理单元进行处理。
15.根据权利要求10所述的网络仿真测试方法,其特征在于,步骤11中所述的配置测试命令为对网络协议分析的测试命令,所述的配置测试参数包括:设置过滤协议、接收缓存的大小;设置MAC地址过滤条件;设置IP地址过滤条件和设置端口过滤条件;
步骤3中所述仿真测试功能单元进行相应的仿真测试包括:网络协议分析,具体包括:所述网络协议分析单元中的数据包捕获子单元进行数据包的捕获;
所述步骤4具体包括:将捕获的数据包通过所述网络数据处理模块的通信调度单元发送给所述系统配置管理模块中的数据通信单元,通过所述数据通信单元发送给消息处理单元,经过格式转换后发送给网络协议分析子单元,对捕获的数据包进行协议分析。
CNB200510012183XA 2005-07-14 2005-07-14 网络仿真测试系统及方法 Expired - Fee Related CN100369423C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB200510012183XA CN100369423C (zh) 2005-07-14 2005-07-14 网络仿真测试系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200510012183XA CN100369423C (zh) 2005-07-14 2005-07-14 网络仿真测试系统及方法

Publications (2)

Publication Number Publication Date
CN1750485A CN1750485A (zh) 2006-03-22
CN100369423C true CN100369423C (zh) 2008-02-13

Family

ID=36605753

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200510012183XA Expired - Fee Related CN100369423C (zh) 2005-07-14 2005-07-14 网络仿真测试系统及方法

Country Status (1)

Country Link
CN (1) CN100369423C (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101056216B (zh) * 2006-04-10 2011-02-02 华为技术有限公司 一种测试系统和测试方法
CN1968308A (zh) * 2006-04-13 2007-05-23 华为技术有限公司 一种仿真测试设备及方法
CN100420209C (zh) * 2006-06-15 2008-09-17 哈尔滨工程大学 自动进行方案对比的可信网络仿真系统
CN101141765B (zh) * 2007-07-11 2011-04-20 中兴通讯股份有限公司 一种移动通信系统中网络仿真方法
CN101159742B (zh) * 2007-11-14 2012-12-12 华为技术有限公司 一种实现测试的方法及装置
CN101478442B (zh) * 2008-01-02 2011-11-30 中兴通讯股份有限公司 组网模拟测试的工具、系统和方法
CN101286851B (zh) * 2008-03-27 2011-12-07 华南理工大学 基于网络处理器的gtp状态检测方法
CN101447898B (zh) * 2008-11-19 2012-12-05 中国人民解放军信息安全测评认证中心 一种用于网络安全产品的测试系统及测试方法
CN101447991B (zh) * 2008-11-19 2012-10-24 中国人民解放军信息安全测评认证中心 用于测试入侵检测系统的测试装置及测试方法
CN101945016A (zh) * 2009-07-09 2011-01-12 中兴通讯股份有限公司 设备网管稳定性测试方法及装置
CN102130898B (zh) * 2010-09-09 2013-11-06 华为技术有限公司 一种仿真方法,装置和系统
CN101969476B (zh) * 2010-09-25 2012-12-19 清华大学 用于半导体制造设备仿真的通讯模式管理方法及系统
CN102006308A (zh) * 2010-12-16 2011-04-06 成都西麦克虚拟现实电子技术有限公司 高兼容性实时仿真数据网络
CN102123058A (zh) * 2011-01-19 2011-07-13 北京神州绿盟信息安全科技股份有限公司 一种对网络协议解码器进行测试的测试设备和方法
CN102075362A (zh) * 2011-01-25 2011-05-25 王钰 一种通信网络仿真方法及系统
CN102857480B (zh) * 2011-06-30 2014-12-10 北京新媒传信科技有限公司 一种数据采集系统及其数据采集的方法
CN103067958B (zh) * 2012-12-28 2017-02-08 中国科学院深圳先进技术研究院 一种无线传感器网络与移动通信网络融合测试方法及系统
CN103236955B (zh) * 2013-04-08 2016-08-31 汉柏科技有限公司 基于软件实现测试网络设备性能的方法
CN103580954A (zh) * 2013-10-29 2014-02-12 盛科网络(苏州)有限公司 交换机芯片软件仿真验证的装置及方法
CN103685028B (zh) * 2013-11-30 2018-06-12 许继电气股份有限公司 多类型端口相互通信的方法及装置
CN104868953B (zh) * 2015-04-17 2017-11-24 中国科学院光电技术研究所 一种基于fpga的可扩展多通道串口光端机
CN106301993A (zh) * 2015-06-12 2017-01-04 中兴通讯股份有限公司 一种测试路由器的方法和装置
CN105187257B (zh) * 2015-09-29 2018-04-27 中国舰船研究设计中心 一种舰船作战系统模拟器体系及其信息处理方法
CN107579862B (zh) * 2017-10-17 2021-05-18 北京安控科技股份有限公司 一种测量设备网络通信能力的方法
CN110728009A (zh) * 2018-06-28 2020-01-24 北京京东尚科信息技术有限公司 仿真方法、装置和系统
US11409992B2 (en) * 2019-06-10 2022-08-09 International Business Machines Corporation Data slicing for machine learning performance testing and improvement
CN112804124B (zh) * 2021-02-03 2022-10-25 上海交通大学 一种针对时间敏感网络设备的测试床及测试方法
CN114244578B (zh) * 2021-11-24 2024-05-10 浙江中控技术股份有限公司 针对通讯卡件防护能力的测试方法、系统、设备及介质
CN114301820A (zh) * 2021-12-25 2022-04-08 江苏信而泰智能装备有限公司 测试端口预约方法、装置、设备及可读存储介质
CN115102882A (zh) * 2022-06-29 2022-09-23 龙芯中科(北京)信息技术有限公司 物理收发器的测试模块、测试装置和测试方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135791A1 (en) * 2001-09-25 2003-07-17 Norman Asa Simulated computer system for monitoring of software performance
CN1471267A (zh) * 2002-07-22 2004-01-28 华为技术有限公司 一种网络协议测试方法及其测试系统
CN1512717A (zh) * 2002-12-28 2004-07-14 鸿富锦精密工业(深圳)有限公司 网络测试设备、系统及方法
CN1588892A (zh) * 2004-09-17 2005-03-02 华中科技大学 存储服务器性能综合测试系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135791A1 (en) * 2001-09-25 2003-07-17 Norman Asa Simulated computer system for monitoring of software performance
CN1471267A (zh) * 2002-07-22 2004-01-28 华为技术有限公司 一种网络协议测试方法及其测试系统
CN1512717A (zh) * 2002-12-28 2004-07-14 鸿富锦精密工业(深圳)有限公司 网络测试设备、系统及方法
CN1588892A (zh) * 2004-09-17 2005-03-02 华中科技大学 存储服务器性能综合测试系统

Also Published As

Publication number Publication date
CN1750485A (zh) 2006-03-22

Similar Documents

Publication Publication Date Title
CN100369423C (zh) 网络仿真测试系统及方法
US11595289B2 (en) Network testing using a programmable packet engine
CN109309605B (zh) 带内网络遥测系统及方法
Antichi et al. OSNT: Open source network tester
CN101656677B (zh) 一种报文分流处理方法及装置
CN102334112A (zh) 用于虚拟机网络的方法和系统
CN103078769B (zh) 一种实现实物设备无缝接入网络模拟器的系统及方法
CN105812340B (zh) 一种虚拟网络访问外网的方法和装置
CN100372317C (zh) 10g网络性能测试仪流量接收、抓取和统计电路组件
CN104243536B (zh) 一种高速列车控制网络半实物仿真系统
CN103200190A (zh) 一种面向QualNet网络半实物仿真的实物接入方法
CN112350897B (zh) 基于动态连接端到端可靠传输协议的网络测试装置
Yang et al. FAST: Enabling fast software/hardware prototype for network experimentation
CN104410581A (zh) Afdx网络的配置信息设计及信息提取
CN101217472B (zh) 模块化交换机报文路由方法
Kölsch et al. Hardware-in-the-loop simulation for Internet of Things scenarios
CN105407045A (zh) 基于安全隔离的路由器虚拟化方法
RU2584471C1 (ru) УСТРОЙСТВО ДЛЯ ПРИЕМА И ПЕРЕДАЧИ ДАННЫХ С ВОЗМОЖНОСТЬЮ ОСУЩЕСТВЛЕНИЯ ВЗАИМОДЕЙСТВИЯ С OpenFlow КОНТРОЛЛЕРОМ
CN106059927B (zh) 一种星型结构的有限级联自动重构网络路由设备及其网络
Dimitropoulos et al. Creating realistic BGP models
CN110708209B (zh) 虚拟机流量采集方法、装置、电子设备及存储介质
Li et al. SDN components and OpenFlow
CN102045256A (zh) 一种基于cots的带宽预分配保证网络功能演示系统
CN113965470B (zh) 一种航空信息网络实验仿真系统
CN105763347B (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
EE01 Entry into force of recordation of patent licensing contract

Assignee: Captech Information Auditing System Technology (Beijing) Co., Ltd.

Assignor: Niu Wei|Xu Yafei|Guo Shize|He Shaojun|Liu Zhiming|Chen Zheyi

Contract fulfillment period: 2008.8.15 to 2013.8.14 contract change

Contract record no.: 2008990001188

Denomination of invention: Network simulation detection system and method

Granted publication date: 20080213

License type: Exclusive license

Record date: 20081114

LIC Patent licence contract for exploitation submitted for record

Free format text: EXCLUSIVE LICENSE; TIME LIMIT OF IMPLEMENTING CONTACT: 2008.8.15 TO 2013.8.14; CHANGE OF CONTRACT

Name of requester: STATE XINGYE AUDIT INFORMATION SYSTEMS TECHNOLOGY

Effective date: 20081114

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080213

Termination date: 20140714

EXPY Termination of patent right or utility model