CN103618645A - 智能模拟复杂网络环境的测试系统及其方法 - Google Patents

智能模拟复杂网络环境的测试系统及其方法 Download PDF

Info

Publication number
CN103618645A
CN103618645A CN201310617205.XA CN201310617205A CN103618645A CN 103618645 A CN103618645 A CN 103618645A CN 201310617205 A CN201310617205 A CN 201310617205A CN 103618645 A CN103618645 A CN 103618645A
Authority
CN
China
Prior art keywords
module
network
data
responsible
write
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.)
Pending
Application number
CN201310617205.XA
Other languages
English (en)
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.)
HONGXU INFORMATION TECHNOLOGY Co Ltd WUHAN
Original Assignee
HONGXU INFORMATION TECHNOLOGY Co Ltd WUHAN
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 HONGXU INFORMATION TECHNOLOGY Co Ltd WUHAN filed Critical HONGXU INFORMATION TECHNOLOGY Co Ltd WUHAN
Priority to CN201310617205.XA priority Critical patent/CN103618645A/zh
Publication of CN103618645A publication Critical patent/CN103618645A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种智能模拟复杂网络环境的测试系统及其方法,涉及网络环境测试的技术领域。本测试系统是MS终端接入模块、测试专网交换机和复杂网络控制器依次连通,复杂网络控制器分别与Internet网络和数据服务器连通;复杂网络控制器包括延时模块、丢包模块、重传包模块、损坏包模块、乱序包模块、定时模块和控制模块。本发明能够实现在局域网中模拟Internet复杂网络环境;同时模拟多种测试环境,使之更接近真实的网络环境,更好地进行网络产品的测试;帮助开发者在产品早期的研发阶段发现更多的产品兼容性和性能缺陷;缩短产品的开发周期,保证了产品质量;免去了实际部署的人力物力,提高了生产率。

Description

智能模拟复杂网络环境的测试系统及其方法
技术领域
本发明涉及网络环境测试的技术领域,尤其涉及一种智能模拟复杂网络环境的测试系统及其方法,具体涉及一种智能模拟传输延时、丢包、重传包、损坏包和乱序包等复杂网络环境及IP控制的测试系统及其方法。
背景技术
近年来全球网络化发展迅猛,网络类型不断拓展,包括互联网、万维网、城市交通网、通信网、军事网和疾病传播网等,在这些网络中存在很多不确定因素,它们影响着网络的质量,用户在使用网络相关的产品的效果,与网络质量的好坏有很大的关系,如目前网络蠕虫病毒大规模泛滥、内部人员对网络资源的滥用、网络故障引起的网络健康问题均会导致网络质量的下降。很多网络产品在网络性能较好的局域网中开发,无法立即有效地在复杂的网络环境下进行产品测评,使之能否正常的部署和运营在上述复杂网络中成疑,如何在产品研发的初期和测试阶段,智能地模拟出各种复杂的用户网络测试环境,成为开发和测试必须要面对的问题。
具体地说,如图1,现有的网络测试系统包括MS终端接入模块10、测试专网交换机20、Internet网络30、数据服务器40和普通路由器50;
MS终端接入模块10包括无线AP 11、智能手机12、笔记本13和PC机14;
其连接关系是:
MS终端接入模块10、测试专网交换机20和普通路由器50依次连通,普通路由器50分别与Internet网络30和数据服务器40连通。
其工作原理是:
在普通路由器50上设置拨号或固定IP,普通路由器50的作用是进行NAT(Network Address Translation,网络地址转换),保证接入的内网口数据包能够转发的外网口,到达Internet网络,客户端通过普通路由器50访问专网数据服务器和Internet网络服务。即可进行网络产品的普通网络环境下的测试。
其缺点和不足是:很多网络产品初期阶段在单一的网络测试环境表现良好,少有缺陷,由于条件的限制并没有部署到复杂的INTERNET环境中进行测试,如果考虑到复杂多变的网络环境,很容易造成后期部署到在INTERNET环境中出现很多缺陷及问题,也无法测试出产品在恶劣的网络环境下的兼容性、容错性及各种性能指标。
发明内容本发明的目的就在于克服现有技术存在的缺点和不足,提供一种智能模拟复
杂网络环境的测试系统及其方法。
实现本发明目的技术方案是:
一、智能模拟复杂网络环境的测试系统(简称系统)
本系统包括MS终端接入模块、测试专网交换机、Internet网络和数据服务器;
MS终端接入模块包括无线AP、智能手机、笔记本和PC机;
设置有复杂网络控制器;
其连通关系是:
MS终端接入模块、测试专网交换机和复杂网络控制器依次连通,复杂网络控制器分别与Internet网络和数据服务器连通。
二、智能模拟复杂网络环境的测试方法(简称方法)
本方法基于上述的智能模拟复杂网络环境的测试系统,包括下列步骤:
①功能模块的设定方法
A、延时模板建立;
B、丢包模板建立;
C、重传包模板建立;
D、损坏包模板建立;
E、乱序包模板建立;
F、定时模块的实现方法;
G、控制模块的实现方法;
②指定终端的控制测试方法
A、开启路由转发模式;
B、清除旧的系统规则;
C、建立新的系统路由转发规则;
D、为复杂网络控制器做基于FW(防火墙)过滤器的标记;
E、将队列和FW(防火墙)过滤器映射起来;
F、调用复杂网络控制器进行复杂网络的模拟和控制;
③全网络数据测试的工作流程
在手机终端、笔记本终端、PC机终端上开启ICMP网络探测模式,观察终端的延时、丢包率,使用wireshark工具截包,观察终端重传包、损坏包、乱序包,并在智能手机或笔记本访问Internet网络中HTTP服务,访问数据服务器中FTP服务器,进行上传和下载文件操作,如果在终端上延时、丢包率、重传包、损坏包、乱序包和复杂网络控制系统预设值相符,则证明系统对网络控制有效,产品能够进行正常的网络性能测试;
④单网络数据测试的工作流程
在复杂网络控制器上设置添加单用户或单网络为指定笔记本终端、而PC机终端则不指定,并在笔记本和PC机上分别开启ICMP网络探测模式,观察终端的延时、丢包率,使用wireshark工具截包,观察终端重传包、损坏包、乱序包,并在MS终端智能手机或笔记本访问Internet网络中HTTP服务,访问数据服务器中FTP服务器进行上传和下载文件操作,如果在笔记本终端上延时、丢包率、重传包、损坏包、乱序包和复杂网络控制系统预设值相符,而PC机终端上网数据不受影响,则证明系统对网络控制有效,产品能够进行正常的的网络性能测试。
本发明主要技术原理:
1、网络模块的实现
选择在Linux开源系统上进行网络模块的开发,系统调用TC函数,并开发出智能的复杂网络模拟控制系统,系统包含五种网络控制模块,包括延时模块、丢包模块、重传包模块、损坏包模块、乱序包模块,分别控制网络中的延时、丢包率、重传包、损坏包、乱序包的表现方式,其中可以随机控制上述对象的变化范围,控制模式更加智能,帮助开发者更容易发现一些产品隐藏缺陷。
2、定时模块的实现
系统与其他类似的网络控制系统不同之处是加入了定时模块,定时模块存在两种控制模式,会根据定时模块是否开启来决定选择的模式,而配置的时间参数则决定定时模块轮询时间。定时模块开启时,系统会自动进入智能复杂网络控制模式,根据时间参数随机的变化网络状态;定时模块关闭后,系统会根据用户手动输入的控制指令控制网络状态。
3、控制模块的实现
系统与其他类似的网络控制系统不同之处是加入了控制模块,能够根据定时模块的计时轮询策略,自动的读取网络控制模块下发的策略,智能的控制网络接口报文转发状态,也能够根据管理员手动下发的策略固定的控制网络状态,本系统最关键的技术在于不需要操作员手动输入复杂的参数设置命令,能够非常方便的实现复杂网络的模拟。
4、单用户模式的建立
利用Iptables函数中SNAT(源地址转换),并开启路由转发模式,清除旧的系统规则,建立新的系统路由转发规则,为网络控制模块做基于FW过滤器的标记,并将队列和fw过滤器映射起来,实现对单用户与复杂网络控制器的绑定,达到控制指定单用户或单网络对象的目的。
本发明具有下列优点和积极效果:
①能够实现在局域网中模拟Internet复杂网络环境;
②同时模拟多种测试环境,使之更接近真实的网络环境,更好地进行网络产
品的测试; 
③帮助开发者在产品早期的研发阶段发现更多的产品兼容性和性能缺陷;
④缩短产品的开发周期,保证了产品质量;
⑤免去了实际部署的人力物力,提高了生产率。
附图说明
图1是现有网络环境测试系统的组网示意图;
图2是添加有智能模拟复杂网络环境测试系统的组网示意图;
图3是添加有智能模拟复杂网络环境测试系统的结构方框图;
图4是全网络数据测试的工作流程图;
图5是单网络数据测试的工作流程图。
图中:
10—MS终端接入模块,
11—无线AP,                   12—智能手机,
13—笔记本,                    14—PC机;
20—测试专网交换机;
30—Internet网络;
40—数据服务器;
50—普通路由器;
60—复杂网络控制器,
61—延迟模块(DELAY),          62—丢包模块(LOSS),    
63—重传包模块(DUPLICATE),    64—损坏包模块(CORRUPT),
65—乱序包模块(REORDER),      66—定时模块,
67—控制模块。
英译汉:
NAT:网络地址转换;
FW:防火墙。
具体实施方式
下面结合附图和实施例详细说明:
一、系统
1、总体
如图2、图3,本系统包括MS终端接入模块10、测试专网交换机20、Internet网络30和数据服务器40;
MS终端接入模块10包括无线AP 11、智能手机12、笔记本13和PC机14;
设置有复杂网络控制器60,复杂网络控制器60包括延时模块61、丢包模块62、重传包模块63、损坏包模块64、乱序包模块65、定时模块66和控制模块67;
其连通关系是:
MS终端接入模块10、测试专网交换机20和复杂网络控制器60依次连通,复杂网络控制器60分别与Internet网络30和数据服务器40连通。
2、复杂网络控制器60的结构
复杂网络控制器60的硬件设置:
复杂网络控制器硬件为一台DELL公共机610服务器,配置了千兆双网卡。
复杂网络控制器60的软件设置:
复杂网络控制器安装在linux-Red Hat-5.4(32bit)系统中,软件包括控制程序tc.out、延时配置文件delay.ini、丢包配置文件loss.ini、重传包配置文件duplicate.ini、损坏包配置文件corrupt.ini、乱序包配置文件reorder.ini和定时程序time.out。
复杂网络控制器60的软件包括延时模块61、丢包模块62、重传包模块63、损坏包模块64、乱序包模块65、定时模块66和控制模块67。
其交互关系是:
定时模块(66)接收来至MS终端接入模块(10)的数据包,判断是否进入智能模式,并将数据包分别转发给延时模块(61)、丢包模块(62)、重传包模块(63)、损坏包模块(64)、乱序包模块(65),随后延时模块(61)、丢包模块(62)、重传包模块(63)、损坏包模块(64)、乱序包模块(65)分别将控制策略写入控制模块,由控制模块智能的控制网络中数据包的延时大小、丢包率、重传包概率、损坏包概率和乱序包概率。
所述的延时模块(61)是一种网络延时控制模块,作用是控制网络中发送和接收的数据报文的网络延时;
所述的丢包模块(62)是一种网络丢包控制模块,作用是控制网络中发送和接收的数据报文的网络丢包率;
所述的重传包模块(63)是一种网络重传包控制模块,作用是控制网络中发送和接收的数据报文的网络丢包率;所述的重传包概率;
所述的损坏包模块(64)是一种网络损坏包控制模块,作用是控制网络中发送和接收的数据报文的损坏包概率;
所述的乱序包模块(65)是一种网络乱序包控制模块,作用是控制网络中发送和接收的数据报文的乱序包概率;
所述的定时模块(66)是系统的一种定时机制。负责根据用户设定的轮询时间,定时随机的将控制策略写入控制模块(67),作用是实现复杂网络环境的智能化。
所述的控制模块(67)是系统的一种控制机制,定时的读取下发的控制策略,并根据策略智能的控制网络状态。
1)延迟模块(DELAY)61
延迟模块(DELAY)61的主要作用是控制MS终端接入模块10发送的报文和从数据服务器40和INTERNET网络30接收报文的网络延时,该模块依据读取的用户配置文件DELAY.ini,将延迟模块(DELAY)61控制策略写入控制模块67,从而达到控制网络延时的目的。
其中延迟模块(DELAY)61主要原型如下:
设置DELAY控制参数为“-d”;
-d #delay control;
查看初始控制规则表,读取配置并检查当前控制策略表;
tc qdisc show dev ${eth}  |tee  ${FW};
grep -q limit ${FW};
grep -q loss.*duplicate ${FW};
如果有其他的控制策略,则保留,并加入DELAY策略;
tc qdisc change dev ${eth} root netem loss ${loss1} ${loss2} duplicate ${duplicate} delay ${delay1} corrupt ${corrupt} reorder ${reorder};
grep -q loss ${FW};
tc qdisc change dev ${eth} root netem loss ${loss1} ${loss2} delay ${delay1} ${delay2};
grep -q duplicate ${FW};
tc qdisc change dev ${eth} root netem  duplicate ${duplicate} delay ${delay1} ${delay2};
没有则只添加DELAY策略;
tc qdisc add dev ${eth} root netem delay ${delay1} ${delay2}。
2)丢包模块(LOSS)62
丢包模块(LOSS)62主要作用是控制MS终端接入模块10发送的报文和从数据服务器40和INTERNET网络30接收的报文的丢包率,该模块依据读取的用户配置文件LOSS.ini,将LOSS控制策略写入控制模块67,从而达到控制网络丢包率的目的。
其中丢包模块62主要原型如下:
设置LOSS控制参数为“-l”;
-l #loss control;
查看初始控制规则表,读取配置并检查当前控制策略表;
tc qdisc show dev ${eth}  |tee  ${FW};
grep -q limit ${FW};
grep -q delay.*duplicate ${FW};
如果有其他的控制策略,则保留,并加入LOSS策略;
tc qdisc change dev ${eth} root netem loss ${loss1} ${loss2} duplicate ${duplicate} delay ${delay1} ${delay2} corrupt ${corrupt} reorder ${reorder};
grep -q delay ${FW};
tc qdisc change dev ${eth} root netem loss ${loss1} ${loss2} delay ${delay1} ${delay2};
grep -q duplicate ${FW};
tc qdisc change dev ${eth} root netem  duplicate ${duplicate} loss ${loss1} ${loss2};
没有则只添加DELAY策略;
tc qdisc add dev ${eth} root netem loss ${loss1} ${loss2}。
3)重传包模块(DUPLICATE)63
重传包模块(DUPLICATE)63主要作用是控制MS终端接入模块10发送的报文和从数据服务器40和INTERNET网络30接收的报文的重传包概率,该模块依据读取的用户配置文件DUPLICATE.ini,将重传包模块63控制策略写入控制模块67,从而达到控制网络丢包率的目的。
其中重传包模块63主要原型如下:
设置DUPLICATE控制参数为“-p”;
-p # duplicate control;
查看初始控制规则表,读取配置并检查当前控制策略表;
tc qdisc show dev ${eth}  |tee  ${FW};
grep -q limit ${FW};
grep -q delay.*loss ${FW};
如果有其他的控制策略,则保留,并加入DUPLICATE策略;
tc qdisc change dev ${eth} root netem loss ${loss1} ${loss2} duplicate ${duplicate} delay ${delay1} ${delay2} corrupt ${corrupt} reorder ${reorder};
grep -q delay ${FW};
tc qdisc change dev ${eth} root netem loss ${loss1} ${loss2} delay ${delay1} ${delay2};
grep -q loss  ${FW};
tc qdisc change dev ${eth} root netem  duplicate ${duplicate} loss ${loss1} ${loss2};
没有则只添加DELAY策略;
tc qdisc add dev ${eth} root netem duplicate ${duplicate}。
4)损坏包模块(CORRUPT)64
损坏包模块(CORRUPT)64主要作用是控制MS终端接入模块10发送的报文和从数据服务器40和INTERNET网络30接收的报文的重传包概率,该模块依据读取的用户配置文件CORRUPT.ini,将CORRUPT控制策略写入控制模块67,从而达到控制网络丢包率的目的。
其中损坏包模块64主要原型如下:
设置CORRUPT控制参数为“-c”;
-s # corrupt control;
查看初始控制规则表,读取配置并检查当前控制策略表;
tc qdisc show dev ${eth}  |tee  ${FW};
grep -q limit ${FW};
grep -q delay.*reorder ${FW};
如果有其他的控制策略,则保留,并加入DUPLICATE策略;
tc qdisc change dev ${eth} root netem loss ${loss1} ${loss2} duplicate ${duplicate} delay ${delay1} ${delay2} corrupt ${corrupt} reorder ${reorder};
grep -q delay ${FW};
tc qdisc change dev ${eth} root netem corrupt ${corrupt} delay ${delay1} ${delay2};
grep -q loss  ${FW};
tc qdisc change dev ${eth} root netem  corrupt ${corrupt} loss ${loss1} ${loss2};
没有则只添加CORRUPT策略;
tc qdisc add dev ${eth} root netem corrupt ${corrupt}。
5)乱序包模块(reorder)65
乱序包模块(reorder)65主要作用是控制MS终端接入模块10发送的报文和从数据服务器40和INTERNET网络30接收的报文的重传包概率,该模块依据读取的用户配置文件REODER.ini,将REODER控制策略写入控制模块67,从而达到控制网络丢包率的目的。
其中乱序包模块65主要原型如下:
设置REODER控制参数为“-r”;
-r # REODER control;
查看初始控制规则表,读取配置并检查当前控制策略表;
tc qdisc show dev ${eth}  |tee  ${FW};
grep -q limit ${FW};
grep -q delay.*corrupt ${FW};
如果有其他的控制策略,则保留,并加入REODER策略;
tc qdisc change dev ${eth} root netem loss ${loss1} ${loss2} duplicate ${duplicate} delay ${delay1} ${delay2} corrupt ${corrupt} reorder ${reorder};
grep -q delay ${FW};
tc qdisc change dev ${eth} root netem reorder ${reorder} delay ${delay1} ${delay2};
grep -q loss  ${FW};
tc qdisc change dev ${eth} root netem  reorder ${reorder} loss ${loss1} ${loss2};
没有则只添加REORDER策略;
tc qdisc add dev ${eth} root netem reorder ${reorder}。
6)定时模块66
定时模块66包括开启定时和关闭定时。
当定时模块66开启时,定时模块66的作用是读取用户设定的时间,当计时到达用户设定的时间点,会重置后计时,并重新读取延时模块61、丢包模块62、重传包模块63、损坏包模块64和乱序包模块65中的配置文件,并将执行策略写入控制模块67,重新设置当前网络控制策略,达到智能控制网络环境的目的。
当定时模块66关闭时,系统也会关闭计时,会根据用户输入的参数控制命令,手动控制网络环境。
7)控制模块67
控制模块67主要功能为:根据延时模块61、丢包模块62、重传包模块63、损坏包模块64和乱序包模块65写入的策略进行智能的网络参数控制;
如每隔一段时间只进行网络延时控制,且延时在用户设定的范围内随机变化,如每隔一段时间只进行网络丢包控制,且数据丢包率在用户设定的范围内随机变化,系统也能够进行上述5种模块的随机组合控制。
3、复杂网络控制器60的工作原理
如图2、3,复杂网络控制器60内网口和无线AP11分别连接测试专网交换机20,复杂网络控制器60外网口分别与数据服务器40和Internet网络30连接,在复杂网络控制器60上建立相应的控制方法,智能地进行复杂网络环境的模拟控制,实现本系统的测试:
MS终端接入模块10负责实现移动系统中的智能手机12、移动上网卡终端业
务,通过无线AP 11透明接入,PC机14直接接入公网交换机进行各种移动业务操作,产生协议报文数据;
无线AP 11负责智能手机12和笔记本13的接入,负责将智能手机12和笔记本13据报文转发至上层复杂网络控制器60;
定时模块66负责读取用户设定的定时时间,当计时到达用户设定的时间点,会重新计时,并再次读取延时模块61、丢包模块62、重传包模块63、损坏包模块64和乱序包模块65中的配置文件,并将执行策略写入控制模块67,重新设置当前网络控制规则,达到智能控制网络环境的目的;
延时模块61负责控制MS终端接入模块10发送的请求报文、数据服务器40和INTERNET网络30发送的响应报文的网络延时,其中延时可控;
丢包模块62负责控制MS终端接入模块10发送的请求报文、数据服务器40和INTERNET网络30发送的响应报文的丢包率,其中丢包率可控;
重传包模块63负责控制MS终端接入模块10发送的请求报文、数据服务器40和INTERNET网络30发送的响应报文的重传包概率,其中重传包概率可控;
损坏包模块64负责控制MS终端接入模块10发送的请求报文、数据服务器40和INTERNET网络30发送的响应报文的损坏包概率,其中损坏包概率可控;
REORDER模块65负责控制MS终端接入模块10发送的请求报文、数据服务器40和INTERNET网络30发送的响应报文的乱序包概率,其中乱序包概率可控;
控制模块67主要负责对上行模块,延时模块61、丢包模块62、重传包模块63、损坏包模块64和乱序包模块65写入的策略进行网络参数控制,达到智能调节网络环境的目的。
二、方法
如图2、图4和图5,本发明的测试方法包括功能模板的设定方法、指定终端的控制测试方法、全网络数据测试方法、单网络数据测试方法。下面具体说明:
①功能模块的设定方法
A、DELAY模板建立
配置delay.ini文件中如下三个地方:
本地控制接口地址:eth0 or eth1…eth*;
控制网络延时的起始范围:delay1=10ms;
控制网络延时的终止范围:delay2=100ms;
网络延时即可在10ms到100ms之间随机变化,可根据需要设定,如delay1和delay2取值相同,则网络延时固定不变。
B、LOSS模板建立
配置loss.ini文件中如下三个地方:
本地控制接口地址:eth0 or eth1…eth*;
控制网络丢包率的起始范围:loss1=1%;
控制网络丢包率的终止范围:loss2=10%;
网络丢包率即可在1%到10%之间随机变化,可根据需要设定,如loss1和loss2取值相同,则网络丢包率固定不变。
C、DUPLICATE模板建立
配置duplicate.ini文件中如下三个地方:
本地控制接口地址:eth0 or eth1…eth*;
控制网络重传包的概率:dupulicate=1%;
网络重传包概率为1%,可根据需要设定。
D、CORRUPT模板建立
配置corrupt.ini文件中如下三个地方:
本地控制接口地址:eth0 or eth1…eth*;
控制网络损坏包的概率:corrupt=0.2%;
网络损坏包概率为0.2%,可根据需要设定。
E、REORDER模板建立
配置reorder.ini文件中如下三个地方:
本地控制接口地址:eth0 or eth1…eth*;
控制网络乱序包的概率:reorder=25%;
网络乱序包概率为25%,可根据需要设定。
F、定时模块的实现方法
定时模块设定方法有两种包括:开启定时和关闭定时。
设置定时模块开关的方法如下:
#./tc.out –s;
#please set timer state :yes or no (yes);
#timer state is ON;
#please set timer second :60(s);
此时会开启定时模块,并设置定时模块时间为60秒,60秒之后会重新读取配置,智能的设置网络控制策略。
#./tc.out –s;
#please set timer state :yes or no (no);
#timer state is OFF;
G、控制模块的实现方法
当定时模块为ON状态时候,系统控制模块会开启智能模式,智能的模拟复杂网络状态,其中智能模式实现方式如下:
#./tc.out –i eth0 -a [aptitude智能模式控制];
当定时模块为OFF状态时,复杂网络控制器会关闭智能模式,根据用户手动输入的指定参数模拟复杂网络状态,其中手动模式实现方式如下:
#./tc.out –i eth0 –d [delay 网络延时];
#./tc.out –i eth0 –l [loss 丢包率];
#./tc.out –i eth0 –p [duplicate 重传包];
#./tc.out –i eth0 –c [corrupt 损坏包];
#./tc.out –i eth0 –r [reorder 乱序包];
控制系统还提供清除和帮助命令:
#./tc.out –i eth0 –f [flushtc清除规则表];
#./tc.out –i eth0 –h [help  用法说明];
②指定终端的控制测试方法
A、开启路由转发模式;
echo 1 > /proc/sys/net/ipv4/ip_forward ;
B、清除旧的系统规则;
iptables -F ;
iptables -t nat -F ;
C、建立新的系统路由转发规则;
iptables -t nat -A POSTROUTING -s 192.168.6.16 -o eth0 -j SNAT to a.b.c.d    (控制对单用户有效);
iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -o eth0 -j SNAT -- to a.b.c.d   (控制对单网络有效);
D、为复杂网络控制器做基于FW(防火墙)过滤器的标记;
iptables -I PREROUTING -t mangle -p tcp -s 192.168.6.16 -j MARK --set-mark 11;
iptables -I PREROUTING -t mangle -p tcp -s 192.168.7.0/24 -j MARK --set-mark 12;
E、将队列和FW(防火墙)过滤器映射起来; 
tc filter add dev eth0 parent 100:0 protocol ip prio 1 handle 11 fw;
tc filter add dev eth0 parent 100:0 protocol ip prio 2 handle 12 fw;
其中handle 11 对应的即为192.168.6.16单用户,而handle 12则为192.168.7.0/24单网络用户。
F、调用控制模块进行复杂网络的模拟和控制;
tc qdisc add dev eth0 root handle 11 fw netem delay 10ms 100ms;
tc qdisc add dev eth0 root handle 12 fw netem loss 1% 10%。
③全网络数据测试的工作流程
具体地说,如图4,全网络数据测试的工作流程是:
a、MS终端发送上行数据包,产生原始数据,此数据为固网数据-401;
b、MS终端通过无线AP接入,无线AP负责转发产生的固网数据给定时模块-402;
c、定时模块接收发送的数据,检查定时模块开关状态,并负责读取用户配置文件的策略动作-403;
d、复杂网络模块控制
第1数据达到后,负责DLEAY模块的配置写入-404,接收参数数据,负责判断是否读取模块配置-409,是则写入,否则不写入;
或第2数据达到后,负责LOSS模块的配置写入-405,接收参数数据,负责判断是否读取模块配置-409,是则写入,否则不写入;
或第3数据达到后,负责DUPLICATE模块的配置写入-406,接收参数数据,负责判断是否读取模块配置-409,是则写入,否则不写入;
或第4数据达到后,负责CORRUPT模块的配置写入-407,接收参数数据,负责判断是否读取模块配置-409,是则写入,否则不写入;
或第5数据达到后,负责REORDER模块的配置写入-408,接收参数数据,负责判断是否读取模块配置-409,是则写入,否则不写入;
e、数据到达后,接收写入的内容,负责网络数据的转发和网络策略控制,并根据定时开关判断是否循环的读取配置文件,智能的控制复杂网络系统实施策略-410;
f、数据服务端
将请求数据包发送给指定Internet互联网节点-411;
或负责提供局域网测试数据,作为如FTP、HTTP、TELNET等应用服务器,提供数据支持-412。
④单网络数据测试的工作流程
具体地说,如图5,网络数据测试的工作流程是:
a、MS终端发送上行数据包,产生原始数据,此数据为固网数据-501;
b、MS终端通过AP接入,AP负责转发产生的固网数据给定时模块-502;
c、定时模块接收发送的数据,检查定时模块开关状态,并负责读取用户配置文件的策略动作-503;
d、复杂网络模块控制
第1数据达到后,负责DLEAY模块的配置写入-504,接收参数数据,负责判断是否读取模块配置-509,是则写入,否则不写入;
或第2数据达到后,负责LOSS模块的配置写入-505,接收参数数据,负责判断是否读取模块配置-509,是则写入,否则不写入;
或第3数据达到后,负责DUPLICATE模块的配置写入-506,接收参数数据,负责判断是否读取模块配置-509,是则写入,否则不写入;
或第4数据达到后,负责CORRUPT模块的配置写入-507,接收参数数据,负责判断是否读取模块配置-509,是则写入,否则不写入;
或第5数据达到后,负责REORDER模块的配置写入-508,接收参数数据,负责判断是否读取模块配置-509,是则写入,否则不写入;
e、用户将单用户、单网络的路由配置策略建立,并将控制信息写入控制模块-513;
f、数据到达后,接收写入的内容,负责网络数据的转发和网络策略控制,并根据定时开关判断是否循环的读取配置文件,智能的控制复杂网络系统实施策略-510;
g、数据服务端
将请求数据包发送给指定Internet互联网节点-511;
或负责提供局域网测试数据,作为如FTP、HTTP、TELNET等应用服务器,提供数据支持-512。
方法③和方法④测试通过后即可在模拟的复杂网络环境中进行测试和开发工作。
上述通过实施例子描述了本发明,研发和测试人员在使用测试系统中,需要依据具体环境和需求进行变化,但不脱离本发明的精神,本发明旨在帮助开发和测试人员在模拟的互联网复杂环境中进行网络软件的开发和测试工作。

Claims (5)

1.一种智能模拟复杂网络环境的测试系统,包括MS终端接入模块(10)、测试专网交换机(20)、Internet网络(30)和数据服务器(40);MS终端接入模块(10)包括无线AP(11)、智能手机(12)、笔记本(13)和PC机(14);
其特征在于:
设置有复杂网络控制器(60); 
其连通关系是:
MS终端接入模块(10)、测试专网交换机(20)和复杂网络控制器(60)依次连通,复杂网络控制器(60)分别与Internet网络(30)和数据服务器(40)连通。
2.按权利要求1所述的智能模拟复杂网络环境的测试系统,其特征在于:
复杂网络控制器(60)包括延时模块(61)、丢包模块(62)、重传包模块(63)、损坏包模块(64)、乱序包模块(65)、定时模块(66)和控制模块(67);
其交互关系是:
定时模块(66)接收来至MS终端接入模块(10)的数据包,判断是否进入智能模式,并将数据包分别转发给延时模块(61)、丢包模块(62)、重传包模块(63)、损坏包模块(64)、乱序包模块(65),随后延时模块(61)、丢包模块(62)、重传包模块(63)、损坏包模块(64)、乱序包模块(65)分别将控制策略写入控制模块,由控制模块智能的控制网络中数据包的延时大小、丢包率、重传包概率、损坏包概率和乱序包概率;
所述的延时模块(61)是一种网络延时控制模块,作用是控制网络中发送和接收的数据报文的网络延时;
所述的丢包模块(62)是一种网络丢包控制模块,作用是控制网络中发送和接收的数据报文的网络丢包率;
所述的重传包模块(63)是一种网络重传包控制模块,作用是控制网络中发送和接收的数据报文的网络丢包率; 
所述的损坏包模块(64)是一种网络损坏包控制模块,作用是控制网络中发送和接收的数据报文的损坏包概率;
所述的乱序包模块(65)是一种网络乱序包控制模块,作用是控制网络中发送和接收的数据报文的乱序包概率;
所述的定时模块(66)是系统的一种定时机制,负责根据用户设定的轮询时间,定时随机的将控制策略写入控制模块(67),作用是实现复杂网络环境的智能化;
所述的控制模块(67)是系统的一种控制机制,定时的读取下发的控制策略,并根据策略智能的控制网络状态。
3.基于权利要求1所述测试系统的测试方法,其特征在于:
①功能模块的设定方法
A、延时模板建立;
B、丢包模板建立;
C、重传包模板建立;
D、损坏包模板建立;
E、乱序包模板建立;
F、定时模块的实现方法;
G、控制模块的实现方法;
②指定终端的控制测试方法
A、开启路由转发模式;
B、清除旧的系统规则;
C、建立新的系统路由转发规则;
D、为复杂网络控制器做基于FW过滤器的标记;
E、将队列和FW过滤器映射起来;
F、调用复杂网络控制器进行复杂网络的模拟和控制;
③全网络数据测试的工作流程;
④单网络数据测试的工作流程。
4.按权利要求3所述的测试方法,其特征在于步骤③全网络数据测试的工作流程:
a、MS终端发送上行数据包,产生原始数据,此数据为固网数据(401);
b、MS终端通过无线AP接入,无线AP负责转发产生的固网数据给定时模块(402);
c、定时模块接收发送的数据,检查定时模块开关状态,并负责读取用户配置文件的策略动作(403);
d、复杂网络模块控制
第1数据达到后,负责DLEAY模块的配置写入(404),接收参数数据,负责判断是否读取模块配置(409),是则写入,否则不写入;
或第2数据达到后,负责LOSS模块的配置写入(405),接收参数数据,负责判断是否读取模块配置(409),是则写入,否则不写入;
或第3数据达到后,负责DUPLICATE模块的配置写入(406,接收参数数据,负责判断是否读取模块配置(409),是则写入,否则不写入;
或第4数据达到后,负责CORRUPT模块的配置写入(407),接收参数数据,负责判断是否读取模块配置(409),是则写入,否则不写入;
或第5数据达到后,负责REORDER模块的配置写入-(408),接收参数数据,负责判断是否读取模块配置(409),是则写入,否则不写入;
e、数据到达后,接收写入的内容,负责网络数据的转发和网络策略控制,并根据定时开关判断是否循环的读取配置文件,智能的控制复杂网络系统实施策略(410);
f、数据服务端
将请求数据包发送给指定Internet互联网节点(411);
或负责提供局域网测试数据,作为如FTP、HTTP、TELNET等应用服务器,提供数据支持(412)。
5.按权利要求3所述的测试方法,其特征在于步骤④单网络数据测试的工作流程:
a、MS终端发送上行数据包,产生原始数据,此数据为固网数据(501);
b、MS终端通过AP接入,AP负责转发产生的固网数据给定时模块(502);
c、定时模块接收发送的数据,检查定时模块开关状态,并负责读取用户配置文件的策略动作(503);
d、复杂网络模块控制
第1数据达到后,负责DLEAY模块的配置写入(504),接收参数数据,负责判断是否读取模块配置(509),是则写入,否则不写入;
或第2数据达到后,负责LOSS模块的配置写入(505),接收参数数据,负责判断是否读取模块配置(509,是则写入,否则不写入;
或第3数据达到后,负责DUPLICATE模块的配置写入(506,接收参数数据,负责判断是否读取模块配置(509),是则写入,否则不写入;
或第4数据达到后,负责CORRUPT模块的配置写入(507),接收参数数据,负责判断是否读取模块配置(509),是则写入,否则不写入;
或第5数据达到后,负责REORDER模块的配置写入(508),接收参数数据,负责判断是否读取模块配置(509),是则写入,否则不写入;
e、用户将单用户、单网络的路由配置策略建立,并将控制信息写入控制模块-513;
f、数据到达后,接收写入的内容,负责网络数据的转发和网络策略控制,并根据定时开关判断是否循环的读取配置文件,智能的控制复杂网络系统实施策略(510);
g、数据服务端
将请求数据包发送给指定Internet互联网节点(511);
或负责提供局域网测试数据,作为如FTP、HTTP、TELNET等应用服务器,提供数据支持(512)。
CN201310617205.XA 2013-11-28 2013-11-28 智能模拟复杂网络环境的测试系统及其方法 Pending CN103618645A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310617205.XA CN103618645A (zh) 2013-11-28 2013-11-28 智能模拟复杂网络环境的测试系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310617205.XA CN103618645A (zh) 2013-11-28 2013-11-28 智能模拟复杂网络环境的测试系统及其方法

Publications (1)

Publication Number Publication Date
CN103618645A true CN103618645A (zh) 2014-03-05

Family

ID=50169349

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310617205.XA Pending CN103618645A (zh) 2013-11-28 2013-11-28 智能模拟复杂网络环境的测试系统及其方法

Country Status (1)

Country Link
CN (1) CN103618645A (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512343A (zh) * 2016-01-06 2016-04-20 北京京东尚科信息技术有限公司 网络异常模拟、数据库故障自动切换的测试方法和装置
CN105763362A (zh) * 2016-01-20 2016-07-13 上海学登信息科技有限公司 网络环境模拟系统
CN105808427A (zh) * 2016-03-02 2016-07-27 厦门美图移动科技有限公司 一种移动终端软件测试方法、装置和系统
CN106301994A (zh) * 2015-06-24 2017-01-04 北京京东尚科信息技术有限公司 一种网络通信异常测试方法和装置
CN106953756A (zh) * 2017-03-17 2017-07-14 腾讯科技(深圳)有限公司 一种业务数据的模拟延时方法以及服务器
CN108011835A (zh) * 2017-10-30 2018-05-08 阿里巴巴集团控股有限公司 流量控制系统、方法、装置及设备
CN109257224A (zh) * 2018-10-08 2019-01-22 武汉达梦数据库有限公司 一种数据库通信网络测试模拟方法和装置
CN110048908A (zh) * 2019-04-15 2019-07-23 网易(杭州)网络有限公司 网络测试平台、网络测试方法以及装置
CN110324161A (zh) * 2018-03-29 2019-10-11 大唐联仪科技有限公司 一种传输协议的测试方法及设备
CN110798378A (zh) * 2019-10-22 2020-02-14 苏州浪潮智能科技有限公司 一种存储测试方法及系统
CN111092648A (zh) * 2019-12-24 2020-05-01 北京东土科技股份有限公司 一种网络模拟系统及网络测试方法
CN111475359A (zh) * 2020-04-13 2020-07-31 腾讯音乐娱乐科技(深圳)有限公司 多消息交互场景下的系统测试方法、装置和存储介质
CN112020090A (zh) * 2020-08-25 2020-12-01 江苏创通电子股份有限公司 流控情况下的测试有线和无线吞吐量的系统及方法
CN112929914A (zh) * 2021-02-03 2021-06-08 叮当快药科技集团有限公司 网络链路模拟辅助测试的系统及方法
CN113568834A (zh) * 2021-07-28 2021-10-29 南方电网数字电网研究院有限公司 Sdk代码的兼容性检测方法、装置、计算机设备和介质
CN114221873A (zh) * 2021-12-09 2022-03-22 建信金融科技有限责任公司 基于Linux系统的数据处理方法、装置及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040106400A1 (en) * 2002-04-18 2004-06-03 Willtek Corporation System for monitoring mobile communication performance
CN201226522Y (zh) * 2008-03-14 2009-04-22 中国工商银行股份有限公司 一种软件测试环境的网络模拟系统
CN101547259A (zh) * 2009-04-30 2009-09-30 华东师范大学 基于模拟数据流的VoIP测试方法
CN102025555A (zh) * 2009-09-22 2011-04-20 中兴通讯股份有限公司 Ip多媒体子系统性能测试的方法及装置
CN102611590A (zh) * 2012-04-23 2012-07-25 网经科技(苏州)有限公司 Ims大网环境下模拟丢包、延迟、抖动的语音测试方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040106400A1 (en) * 2002-04-18 2004-06-03 Willtek Corporation System for monitoring mobile communication performance
CN201226522Y (zh) * 2008-03-14 2009-04-22 中国工商银行股份有限公司 一种软件测试环境的网络模拟系统
CN101547259A (zh) * 2009-04-30 2009-09-30 华东师范大学 基于模拟数据流的VoIP测试方法
CN102025555A (zh) * 2009-09-22 2011-04-20 中兴通讯股份有限公司 Ip多媒体子系统性能测试的方法及装置
CN102611590A (zh) * 2012-04-23 2012-07-25 网经科技(苏州)有限公司 Ims大网环境下模拟丢包、延迟、抖动的语音测试方法

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301994A (zh) * 2015-06-24 2017-01-04 北京京东尚科信息技术有限公司 一种网络通信异常测试方法和装置
CN106301994B (zh) * 2015-06-24 2023-11-03 北京京东尚科信息技术有限公司 一种网络通信异常测试方法和装置
CN105512343A (zh) * 2016-01-06 2016-04-20 北京京东尚科信息技术有限公司 网络异常模拟、数据库故障自动切换的测试方法和装置
CN105763362A (zh) * 2016-01-20 2016-07-13 上海学登信息科技有限公司 网络环境模拟系统
CN105808427A (zh) * 2016-03-02 2016-07-27 厦门美图移动科技有限公司 一种移动终端软件测试方法、装置和系统
CN106953756B (zh) * 2017-03-17 2020-04-07 腾讯科技(深圳)有限公司 一种业务数据的模拟延时方法以及服务器
CN106953756A (zh) * 2017-03-17 2017-07-14 腾讯科技(深圳)有限公司 一种业务数据的模拟延时方法以及服务器
CN108011835A (zh) * 2017-10-30 2018-05-08 阿里巴巴集团控股有限公司 流量控制系统、方法、装置及设备
CN110324161A (zh) * 2018-03-29 2019-10-11 大唐联仪科技有限公司 一种传输协议的测试方法及设备
CN109257224B (zh) * 2018-10-08 2021-02-09 武汉达梦数据库股份有限公司 一种数据库通信网络测试模拟方法和装置
CN109257224A (zh) * 2018-10-08 2019-01-22 武汉达梦数据库有限公司 一种数据库通信网络测试模拟方法和装置
CN110048908A (zh) * 2019-04-15 2019-07-23 网易(杭州)网络有限公司 网络测试平台、网络测试方法以及装置
CN110798378A (zh) * 2019-10-22 2020-02-14 苏州浪潮智能科技有限公司 一种存储测试方法及系统
CN110798378B (zh) * 2019-10-22 2022-04-22 苏州浪潮智能科技有限公司 一种存储测试方法及系统
CN111092648A (zh) * 2019-12-24 2020-05-01 北京东土科技股份有限公司 一种网络模拟系统及网络测试方法
CN111092648B (zh) * 2019-12-24 2022-06-17 北京东土科技股份有限公司 一种网络模拟系统及网络测试方法
CN111475359A (zh) * 2020-04-13 2020-07-31 腾讯音乐娱乐科技(深圳)有限公司 多消息交互场景下的系统测试方法、装置和存储介质
CN112020090A (zh) * 2020-08-25 2020-12-01 江苏创通电子股份有限公司 流控情况下的测试有线和无线吞吐量的系统及方法
CN112929914A (zh) * 2021-02-03 2021-06-08 叮当快药科技集团有限公司 网络链路模拟辅助测试的系统及方法
CN113568834A (zh) * 2021-07-28 2021-10-29 南方电网数字电网研究院有限公司 Sdk代码的兼容性检测方法、装置、计算机设备和介质
CN114221873A (zh) * 2021-12-09 2022-03-22 建信金融科技有限责任公司 基于Linux系统的数据处理方法、装置及系统
CN114221873B (zh) * 2021-12-09 2023-06-09 建信金融科技有限责任公司 基于Linux系统的数据处理方法、装置及系统

Similar Documents

Publication Publication Date Title
CN103618645A (zh) 智能模拟复杂网络环境的测试系统及其方法
Fall Network emulation in the Vint/NS simulator
CN107404350B (zh) 卫星网络仿真方法、装置、电子设备及可读存储介质
US9146826B2 (en) Method and apparatus for scaling network simulation
Prete et al. Simulation in an SDN network scenario using the POX Controller
Li et al. Delay-tolerant network protocol testing and evaluation
US10110556B2 (en) Methods, systems, and computer readable media for initiating and executing performance tests of a private network and/or components thereof
US20080039070A1 (en) Remote mobile testing probe
US11405302B1 (en) Methods, systems, and computer readable media for network testing using configurable test infrastructure
CN106254178B (zh) 一种基于nfv的网络试验平台nfvntp及其试验方法
Kölsch et al. Hardware-in-the-loop simulation for Internet of Things scenarios
Bello et al. Design and implementation of an educational testbed for experiencing with industrial communication networks
Iqbal et al. A comprehensive tutorial on how to practically build and deploy 5G networks using open-source software and general-purpose, off-the-shelf hardware
Bedhief et al. From evaluating to enabling sdn for the internet of things
CN103490950B (zh) 一种路由器pptp会话容量模拟方法
JP2009260754A (ja) 通信試験装置、通信試験機能を有するネットワーク、接続試験方法および接続試験プログラム
Dayanand et al. A survey on the use of GNS3 for virtualizing computer networks
CN105323109B (zh) 互连网络仿真器及用于仿真互连网络的方法
CN109873716A (zh) 数据的处理方法、装置和存储介质
Chandran et al. Simulating networks with honeyd
Peter et al. Implementation and evaluation of IPv6 to IPv4 transition mechanisms in network simulator 3
CN103167546A (zh) 添加有数采服务器的移动g网无线业务测试系统及其方法
CN103581980A (zh) 网络损伤模拟系统与方法
Wang et al. Innovative network emulations using the NCTUns tool
Kemal et al. On-line configuration of network emulator for intelligent energy system testbed applications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140305