网络仿真解决方案
对网络拓扑结构,网络节点和网络协议进行测试,网络设备转发性能测试,节点测评,端到端网络性能测试,网络协议性能测试,QOS保障等,仿真应用层网络协议,测试应用层网络数据JAR 网络仿真器(仪)
在工作中您是否会遇到如下问题:
♦ 新开发的系统或应用软件在本地环境中运行正常,但当放入实际的网络环境中就会出现各种意想不到的状况?
♦ 如果需要对部分网络设备进行改造时,如何判断新设备以及新网络环境是否会对系统产生不良影响?
♦ 如何在实验室中搭建起实际的广域网环境,以便进行课题研究?
♦ 如何在实验室中搭建起卫星网络?
♦ 如何在实验室中实现“雷暴”?
♦ 如何使测试环境可控、可反复重现某网络场景?
网络测试是对网络设备,网络系统以及网络应用进行测试,针对测试要求需满足:
(1) 需要仪表接口速率能工作在千兆/万兆。
(2) 测试仪表支持负载发生。
(3) 测试仪表支持网络和网络拓扑仿真。
(4) 测试仪表所有接口能线速发包。
(5) 仪表能进行网络协议仿真。
(6) 仪表能仿真测试网络设备性能参数,吞吐量、时延、丢包率。
(7) 支持QOS测试。
(8) 支持测试端到端、节点到节点的性能评估
。。。。。。如果不进行模拟测试就进入真实网络实测,一方面真实网络的复杂性导致众多不确定因素的随机出现,势必加大系统调试的难度;另一方面,如果系统的bug影响到真实环境中的网络状况,必然会导致其它系统的运行异常,从而造成不可估量的损失。
面对上述种种问题,如果我们花费大量的资金、时间和人力去搭建一个接近真实的环境,其可行性有多大?
即使您顺利地搭建了这样一个真实的测试环境,由于真实环境的不可复现性,系统的故障可能会以随机的现象出现,如何去定位BUG?
是否有一种简单的方式,既能模拟真实的网络环境,又可以不断重现网络场景呢?为了使模拟测试科学、合理,模拟的网络环境,就必须具备真实网络的典型特征,比如延时、上、下链路带宽差异、丢包、抖动等,并且这些特征可以随时间变化而动态的产生由稳定到恶劣的可循坏变化;另外,为了保证测试场景的再现,这些循环、变化必须是可控的,这些对于测试而言是十分重要且必须的。
网络仿真器(也称网络仿真仪、网络损伤仪)能够方便、快捷的模拟并重现真实的网络环境。本文将主要以JAR网络仿真器为例,提供网络仿真器在各个场景下的解决方案。
JAR的网络仿真器产品在同行业中提供丰富的仿真测试功能,它可以仿真各种网络损伤:网络路径设置、带宽限制、时延、抖动、包错误、包丢失等等,从而再现真实的网络场景,并且这些损伤可以随着时间的变化而动态的发生改变,也可以实现循环、重现。
一、应用软件研究、开发、测试部门
随着IT技术和网络技术的不断进步,应用软件的接入方式已经发生了很大变化。由于许多新的应用软件载体的出现,如:云网络、移动计算机、智能手机等各种便携移动设备,这就要求应用软件必须考虑其数据可能会通过传统的广域网、城际网、GPRS、3G、卫星网络等进行传输。而这些网络一定不会像研发环境那么快速、稳定。
图 1 XXX仿真网络环境
作为应用软件开发者来说,这就要求我们在软件的开发阶段就要考虑到各种复杂网络环境对软件的影响,保证所开发的软件可以适应不同类型的网络, 当网络存在带宽限制、高时延、抖动、数据包丢失、数据包错误、数据包乱序等情况时,软件依然能够正常工作。
为了实现上述目的,在应用软件的设计、开发、测试、产品展示、后期维护阶段,通过使JAR网络仿真器(以下简称JAR)仿真各种类型的网络,添加不同的损伤,进行可控的、可循环、可重复的测试,从而保证软件产品这在其整个生命周期内均能适应复杂多变的网络环境。
由此可以看出,网络仿真器对于应用软件的研发而言,不但能够有效地避免因产品设计不合理而进行的重新设计工作,而且能加快定位寻应用软件缺陷,提高产品的适应能力,最终实现增强客户的满意度。
二、企业网络规划部门
随着新技术的不断进步和商业模式的不断演变,为了实现更大的成本效益,许多组织需要将他们的IT结构整合成较大的中央或区域数据中心,这就往往需要采用诸如云计算、虚拟化的服务器、数据中心整合等新技术来实现,但是与此同时这些变化也带来了风险和不确定性,因为这些新技术或新模式的引入,必然涉及到诸如应用系统的部署模式的变化等,所以我们在实际部署这些工作之前前就必须做好风险评估的技术储备。
风险评估主要包括两个方面:
1)处理器,内存大小,I/O和存储需求等,这些风险是可预见、可控的,只要具有相关的经验就能避免这方面的影响。
2)不可预见、不可控的对应用系统性能有重大影响的网络,如链路速度、延迟、抖动、丢包等
图2 JAR网络仿真器重建新的网络特性
JAR可以解决第二个问题。JAR可以仿真重建新的网络特性(时延、抖动、丢包、路径设置等),进而以较低的成本,进行大量可控、可循环的测试,帮助用户提前体验到网络变化对性能的影响,做好知识储备。有了这些数据支持,我们就可能根据实际情况开发出新的战略模式,实现性能的最优化。
三、网络设备生产商或网络运营商
网络设备制造商或者网络运营商在应用新的网络设备时,需要对网络设备进行测试之后才能引入现有网络中。这里主要是验证新设备是否能够适应复杂多变的网络环境。
在进行这些测试的时候能够搭建尽可能接近于现实的网络环境,能够精确模拟真实网络环境是十分重要的:对于设备制造商来说,有了模拟环境既可帮助其发现网络设备的问题、了解设备的技术瓶颈,也可以为后续的设备开发提供知识储备;对于网络运营商来说,可以通过分析网络设备在模拟环境中的表现,判断出该设备是否能够胜任工作的需要,避免在实际使用过程中出现问题而造成巨大的经济损失。
图 3JAR网络仿真器提供多种网络环境
四、无线电通信行业
新一代的数字无线电数据通信传输在紧急服务、政府、安全、交通、建筑、勘探、公共事业和军事部门得到了越来越广泛的应用,这类应用,一方面要求无线电通信系统稳定、高效运行,但另一方面这些通信系统往往部署在自然条件极其恶劣的地方,经常面临自然灾害、风暴、停电、复杂地形等情况。这就给我们提出了问题,如何确保这些设备在未来的实际应用中可以完美工作呢,这就需要测试来验证。
将所有的测试项目都放到实际环境中去是不切实际的,因此,使用网络仿真器来模拟恶劣的网络环境用于测试,将是保证无线通信系统在实际现场可以做到优秀的最好选择。
JAR网络仿真器就可以实现仿真IP Over Wireless网络(包括Radio over IP),进而帮助您完成这些工作。
图4 JAR 网络仿真器仿真无线电网络
五、政府和军工部门
在军工应用领域,昂贵的实地测试是必要的,但是在实地测试之前使用JAR进行模拟测试,可有效地帮助客户发现BUG和系统缺陷,减少昂贵的实地测试的次数,降低时间和资金成本,加快军用系统的部署。
美国ManTech International(美国军用IT技术服务提供商,同时也为美国政府提供IT技术服务)的网络工程师Ernest McCaleb指出,根据同行业多年的实际工作经验,能够检测出系统在不同网络环境中的性能表现差异的最好方法,就是将这些系统放进“真实”的网络中。他在其测试方案中提到:“我们为国防部多个机构提供服务,精确的定位出影响其系统性能的因素是测试过程中的一个重要环节,网络中的网络路径、时延、数据包丢失、抖动等参数是十分重要的,借助iTrinegy产品我们能够精确仿真这些参数,进而满足客户对各种网络环境的需求,使我们有能力应对各种问题,为客户提供优质服务。”
六、航空航天部门
SEA(英国航空航天和国防部门的签约供应商)提出保证其开发的系统在以下三种情况能够正常运行是对其产品的基本要求。
1、客户指定的特定的网络环境
2、极其恶劣的网络环境
3、正常的实际网络环境
图5 仿真卫星网络(仿真环境实际截图)
SEA的工程师Brian Stenhouse在报告中提到:“我们迫切的需要一款网络仿真器产品,在选择产品的时候,我们找到了一些符合我们需求的产品来分析,经过比较我们很快就确定了使用JAR的产品,JAR提供基于拖拽式图形用户界面,我们可快速定义我们需要的性能参数。”
附:部分使用网络仿真器的客户
这些机构利用我公司的网络仿真器来搭建IP网络仿真环境,进而再验证他们开发的系统的性能,在这些完成模拟测试之后再将系统进行正式上线或实地测试。
国外:
Lockheed Martin:美国航空航天公司, 是美国最大国防承包商,国防部与其他政府部门采购总计占去年营收85%。
Northrop Grumman:一家全球领先的安全公司,在美国军事工业领域享有盛誉,业务主要涉及航空航天、电子、信息系统、船舶制造等
Boeing:波音公司,是全球航空航天业的领袖公司,也是世界上最大的民用和军用飞机制造商
NASA:美国国家航空航天局, 是美国的一个行政机构,负责制定、实施美国的民用太空计划、与开展航空科学暨太空科学的研究联邦政府
Cobham Defence: 是一家英国宇航(aerospace)公司, 是北爱尔兰最大的制造企业
Selex: 一家军用和民用通信系统供应商
General Dynamic: 美国通用动力公司, 是美国最大的军火商,也是国防承包商之一