‘壹’ 请推荐一款网络仿真软件,不要思科和华为,可以模拟电脑,路由,交换的
Matlab
MATLAB软件是由美国Mathworks公司推出的用于数值计算和图形处理的科学计算系统环境。MATLAB是英文MATrix LABoratory(矩阵实验室)的缩写。MATLAB环境下,用户集成了程序设计、数值计算、图形绘制、输入输出、文件管理等各项功能。 MATLAB提供了一个人机交互的数学系统环境,该系统的基本数据结构是矩阵,在生成矩陈对象时,不要求作明确的维数说明。与利用C语言或FORTRAN语言作数值计算的程序设计相比,利用MATLAB可以节省大量的编程时间。
MTALAB系统由五个主要部分组成:
(1) MATALB语言体系。MATLAB是高层次的矩阵/数组语言。具有条件控制、函数调用、数据结构、输入输出、面向对象等程序语言特性。利用它既可以进行小规模端程,完成算法设计和算法实验的基本任务,也可以进行大规模编程,开发复杂的应用程序。
(2) MATLAB工作环境包括管理工作空间中的变量据输入输出的方式和方法,以及开发、调试、管理M文件的各种工具。
(3) 图形图像系统。这是MATLAB图形系统的基础,包括完成2D和3D数据图示、图像处理、动画生成、图形显示等功能的高层MATLAB命令,也包括用户对图形图像等对象进行特征控制的低层MATLAB命令,以及开发GUI应用程序的各种工具。
(4) MATLAB数学函数库。这是对MATLAB使用的各种数学算法的总称。包括各种初等函数的算法,也包括矩阵运算、矩阵分析等高层次数学算法等。
(5) MATLAB应用程序接口。这是MATLAB为用户提供的一个函数库,使得用户能够在MATLAB环境中使用C程序或FORTRAN程序,包括从MATLAB中调用程序(如动态链接库),读写MAT文件的功能。
由此可见,MATLAB是一个功能十分强大的系统,是集数值计算、图形管理、程序开发为一体的环境。除此之外,MATLAB还具有很强的功能扩展能力,与它的主系统一起,可以配备各种各样的工具箱,以完成一些特定的任务。
CASSAP
CASSAP是美国Synopsys(新思科技)公司开发了一款仿真软件,主要应用于数字信号处理和网络通信领域,它可以在概念、体系结构、算法三个层次上实现仿真。CASSAP采用了数据流驱动仿真器,它比基于时钟周期的仿真器速度提高了8-16倍。CASSAP提供了1000多个高层模块,并可对其中所需模块自动生成行为级或RTL级VHDL,也可生成各种风格的DSP代码,供DSP处理器作软件实现。CASSAP可广泛应用于需分析和评估算法、实现方式的数字传输系统,如通讯、图像、多媒体等,并提供了针对GSM、CDMA、DECT等标准的专用开发平台。
SPW
SPW仿真软件是Cadence公司的产品,它提供了面向电子系统的模块化设计、仿真及实施环境,是进行算法开发,滤波器设计,C代码生成,硬/软件结构联合设计和硬件综合的理想环境。SPW的一个显着特点是他提供了HDS接口和Matlab接口。Matlab里面的很多模型可以直接调入SPW,然后利用HDS生成C语言仿真代码或者是HDL语言仿真代码。SPW通常可以应用于无线和有线载波通信、多媒体和网络设计与分析等领域。
‘贰’ 手机上网络模拟赛的辅助软件有哪些
Cisco Packet Tracer(以下简称PT)是一款由思科公司开发的,为网络课程的初学者提供辅助教学的实验模拟器。使用者可以在该模拟器中搭建各种网络拓扑,实现基本的网络配置。
1.2 华为eNSP
image华为eNSP是一款由华为公司研发的虚拟仿真软件,主要针对网络路由器、交换机进行软件仿真,支持大型网络模拟,让用户在没有真实设备的情况下,使用模拟器也能制作网络拓扑并进行实验。
1.3 H3C H3C Cloud Lab
imageH3C H3C Cloud Lab是一款由华三公司研发的网络云平台,模拟真实设备,为用户提供基本的设备信息,并满足初级用户在没有真实设备的条件下进行设备配置的学习需要。
2.对比三款软件
2.1 界面
三款软件界面都是经过成熟的美工加工过的,可以看出厂商对自己产品的重视程序与倾注的心血。
下图左侧是思科这款模拟器的欢迎界面,右侧是模拟器的使用界面。欢迎界面沿用了思科网络学院的的统一模板,意思是来自不同地区的人,都在使用思科的产品,足以看过这个公司的权威性。一个信封,带一个放大器,代表可以使用这款软件查看数据,即网络中传递的消息。
缺点:思科的使用界面相对比较复杂,且字体太小,虽然调节分辨率可以修改这些问题,但依然觉得字体很小,如果不是熟知这款软件的人,熟悉这个界面就要熟悉很久。
优点:可以看到思科这个模拟器支持很多设备,包括防火墙、无线等等。每种设备都提供了很多种型号的设备,对于没见过真实设备的人,这个还是有一些帮助的,起码在以后的设备选型的时候可以有所准备。
imageimage
H3C H3C Cloud Lab欢迎界面做的很高大上,下图左侧是欢迎界面,突出了这是一个云实验室,但真的云在哪里,我没有使用出其效果。下图右侧是软件的主界面。
优点:界面简洁,在主界面中有网格,我认为这个设计更有利于初学者对于网络拓扑的制作。
缺点:设备类型提供的太少,只提供了交换机,路由器,主机三种设备,且每种设备只有一个型号。
imageimage
华为eNSP欢迎界面也是做的很吸人眼球的,下图左侧是华为eNSP欢迎界面,并且给出了华为认证的标语,看到标语应该会提升一部分认证者学习考证的决心。下图右侧是软件的主界面,看起来的确是获取了华为认证了就可以走遍全球都不用愁了。
优点:设备类型相对较全面,设备型号较多,而且给出了使用样例,相关文档也给了。
缺点:不能查看设备的真实样子。交换机型号较少,只有一个二层一个三层。
‘叁’ Network-Emulator-Toolkit网络模拟器使用笔记
app研发不同于实验室里做研究,哪里有“理想环境”。
理想里,用户用着性能卓越的手机,连着畅通无阻的wifi网络。
现实是,他们可能正用着你闻所未闻的机型,穿梭于地铁、公交、火车、乡间、大山….. 信号“若隐若现,扑朔迷离”…
弱网络引发的crash,anr,丢包等各种问题,除了亲身到各个网络崩溃的地方测试,祈求问题重现外,还有弱网络模拟测试工具可以助一臂之力!
1、fiddler:模拟网路延迟;
2、network emulation for windows toolkit:模拟网络丢包场景;(网络、丢包、延时)
3、ATC;
4、iOS平台,通过自带的开发者选项 》Network Link Conditioner;
5、charles;
6、360wifi、猎豹wifi;
下面将讲解Network-Emulator-Toolkit网络模拟使用:
安装方式:默认安装
应用平台:Windows操作系统
软件版本:x86/x64
如上图,一个ADSL用户通过modem连接到网络,通过网络应用如IE,MSN,同某个服务器通信。如下,我们把上图简化为如下端到端的连接和访问操作。
如上,模拟客户端和模拟服务器通过以太网连接,并将NEWT安装在服务器上。客户端和服务器之间的通信都途经NEWT,这里NEWT充当图1中的ADSL。
NEWT通过虚拟链路(virtual link)封装了端到端的网络连接行为,并且通过操纵流经虚拟链路的数据包交换模拟真实网络行为。
有时候,我们期望仅通过模拟操作影响来自某个客户端与服务器的数据交互,但是不影响服务器同其它客户端的交互。这个可通过包过滤器(packet filter)和虚拟链路来实现。
NEWT可以安装在客户端,也可以安装在服务端,只要客户端和服务器通过物理链路连接,且途径NEWT实例即可。
具体实现如下:
进来的数据包被第一个信道(channel)处理。如果数据包符合第一个过滤器列表(Filter)中过滤器设置的过滤条件,则数据包流经给第一个信道的虚拟链路(Link),否则流经下一个信道,依此类推。如果到最后,都没有匹配的,则传递给上层应用。同理,如果信道没有设置任何过滤器,则所有包都会流经该信道。
注:这里的 “incoming packet” 是从NEWT驱动的角度来看的。所有接收到的和发送的包,通过同样的处理流经NEWT驱动都被视为流入包。
操纵包
1. 使用步骤
a.新建Channel[可选]
打开后,默认就新建了一个名为“VirtualChannel 1”的channel。如果有必要,可以新建多个Channel。
入口:菜单栏 Configuration -> New Filter 或工具栏的快捷按钮
b.新建Filter
入口:菜单栏 Configuration -> New Filter 或工具栏的快捷按钮
说明:
如上,可选择所有网络(ALL NetWork),也可以选择IPV4、IPV6(本地IP(Local IP),或者远程IP(Remote IP)及子网掩码(IP Mask)),
选择IPV4、IPV6的情况下,还可以选择协议(Protocol),针对TCP\UDP协议,还可以指定本地端口(Local Port)或远程端口(Remote Port)大小范围
可以选择网卡适配器(Adapaters, 这里为mac地址)
选好过滤条件后,点击添加(ADD)按钮,添加过滤条件;选中已添加的记录,点击删除(Delete)按钮,可删除记录;选中已添加的记录,重新修改过滤条件,点击修改按钮(Modify),可修改记录。
c.新建连接
入口:菜单栏 Configuration -> New Link 或工具栏的快捷按钮
注:未配置的情况下,左右两条线都是灰色的
详细说明(上行为例)
Loss
说明:
No Loss:默认,不模拟丢包。
Periodic loss: 模拟周期性的丢包。按填写数量(设为x个),每x个包,就丢一个包(one packet is dropped per given number of packets)。
Random loss: 模拟随机丢包,按给定丢包的概率,随机丢包。
Burst loss: 模拟根据给定的可能性进行丢包。当发生一个丢包事件时,接着连续丢几个包(丢包数量控制在最大(max)最小值(min)之间)。
G-E loss: 模拟发生数据包丢失遵循Gilbert-Elliot模型,由两个状态组成:好的状态和坏的状态。可分别为这2个状态指定数据包丢失率,同时可设置网络传输在这两种状态的概率
(And the network transit between the two states is at given transition probabilities)
Error
说明:
真实世界中,当数据包经过网络传输时,包中的一到多个字节(bit)数据可能发生错误。
No Error:不模拟传输错误。
Random error:根据给定的比例,模拟随机发生传输错误。
G-E error:发生传输错误遵循Gilbert-Elliot Model, 模型,由两个状态组成:好的状态和坏的状态。可分别为这2个状态指定数据包丢失率,同时可设置网络传输在这两种状态的概率(the network transit between the two states according to giventransition probabilities)
错误概率单元(Error Rate Unit):
Bit error: 设置出错概率为每个字节出错的概率。
Packet error: 设置出错概率为每个包出错的概率。
出错和丢包的关系
大多数情况下,包出错导致包丢失,特殊情况下,包中的数据被编码,协议栈可恢复被损坏的包,经过修正后,包为可接受的包,即包不丢失。此外,除了包出错会导致包丢失,其它因素也会影响包丢失,如连接失败(Link failure),缓冲区溢出(buffer overflow),队列管理和传输超时(transmission timeout)等。
Latency
说明:
延迟来自某应用发送的数据包被另一个应用程序接收到的时间。
Fixed delay: 按给定值,延迟固定时间(单位:毫秒)packets are delayed fora fixed amount of time.
Uniform delay: 按统一分布,延迟一定量的时间(时间控制在最大最小值之间)
Normal delay: 按正态分布.延迟一定量的时间(average:平均值,Devation:偏差)
Linear delay: 延迟一定量的时间(在给定时间周期(Period)内,延迟的时间大小从最小值线性增加到最大值,当达到最大值时,又从最小值开始。
Burst delay: 根据给定概率(Probability),延迟一定量的时间(Latency), 丢包数控制最大值和最小值之间
BW&Queue
如果不指定带宽(bandwith),则不修改传输速率。
如果不设置队列,则不对接到的包做任何队列操作
Queue
Normal queue:所有接收到的包都被放入一个指定队列大小的先进先出(First In, First Out)队列。
Randomly Early Detection (RED) queue:所有接收到的包都被放入一个RED队列。如果队列大小小于给定的最低阈值(Minimum Threshold),队列被评估为不拥挤的,什么都不做;如果队列大小大于给定最大阈值(Maximum
Threshold),则队列被评估为拥挤的,根据丢包规则,丢弃一些包。
丢包规则:
Drop front: 必要时,丢弃位于队列头部的包。.
Drop tail: 必要时,丢弃位于队列尾部的包。
Drop random:必要时,根据统一分布,随机丢个包。
Queue Mode:设置队列大小的单位,以包(Packet Mode)为单位或者以字节为单位Byte Mode
BgTraffic
一些网络数据包交换和模拟的两端没有任何关系,被指为背景流(background traffic)。这些背景流会带来延时效果。
Constant-bit rate (CBR) traffic: 根据给定的固定比例生成背景流(每XX kbps、mbps数据包,xx字节背景流)
Exponential traffic:根据指数On/Off时间分布生成背景流。个人理解,Burst则为生成背景流时间,Idle则不生成背景流时间(时间单位:秒
Pareto traffic: 同上,不过是排列图分布(Pareto)
Recorder
模拟收到的包不是按发送顺序排序的。
No Recoder:不模拟
其它:具体待定
Disconnection
模拟周期性断开连接的行为。
Connection time: 一段时间周期内,link保持连接状态的持续时间。
Disconnection time: 一段时间周期那日,link保持断开状态的持续时间
Disconnection rates: link发生断开连接的比率
例子:设置connection time为10秒,disconnection为5秒,那么周期为15秒,如果设置rate为0.4,那么平均每10秒内,有4秒是link处于连接断开的时间(if connection time is 10 seconds, time is 5 seconds, the period will be 15 seconds. If rate is 0.4, then on average in 4 out of 10 periods disconnection occurs. )。
点击触发跟踪按钮[可选]
点击“黄色小脚丫”按钮,确保按钮为“点选”状态
注:RT Traffic Monitor,RT Packet Monitor,Connection Analyzer,Information Watch
开启控制
点击开始按钮
停止控制
点击停止按钮
保存文件[可选]
保存配置文件为xml,方便后续导入,重用
连接方式:
Dialup56k:通过传输速率为56kbps的modem进行连接
ADSL(128/512): 通过上行128kbps,下行512kbps的ADSL连接。
GPRS:它是GSM移动电话用户可用的一种移动数据业务,理论传输速率115kbit/s,实际可达53.6Kbps。
CDMA2000:3G移动通讯标准。
WCDMA:宽带码分多址(英语:Wideband Code Division Multiple Access,常简写为W-CDMA),是一种3G蜂窝网络,使用的部分协议与2G GSM标准一致。
IEEE802.11b:通过无线局域网,带宽最高可达11Mbps,实际的工作速度在5Mb/s左右,室外为300米;在办公环境中最长为100米
案例:
‘肆’ 手机应用的弱网络测试: 可以借助哪款工具进行2G\3G\等手机网络模拟呢求各路大神推荐哦~~~
HP mobile center可以测试。
‘伍’ 有什么软件可以模拟路由器等网络管理的,学习相关网络管理技术配置
使用一个路由器模拟器一定要根据自己的学习程度,然后要干什么用,通过学习后要达到什么程度。初学者最好是有书本或者按照CCNA、CCNP考试要求同步学习,这样目的性更强。Cisco、华为、H3C的配置还是会有不同的。
Cisco
Packet TracerCisco Packet
Tracer是有Cisco公司发布的一个辅助学习工具,为学习思科网络课程的初学者去设计、配置、排除网络故障提供了网络模拟环境。用户可以在软件的图形用户界面上直接使用拖拽方法建立网络拓扑,并可提供数据包在网络中行进的详细处理过程,观察网络实时运行情况。
可以学习IOS的配置、断裂故障排查能力。在模拟交换方面是非常不错的软件,且非常适合新手。Cisco
Packet Tracer你可以进行汉化,但我觉得使用英文会好一些。
可模拟你华为AR路由器、X7系列交换机的大部分特性。可模拟PC终端、Hub、云、帧中继交换机等。仿真设备配置功能,快速学习华为命令行。可模拟大规模设备组网。可通过真实网卡实现与真实网络设备的对接。
模拟接口抓包,直观展示协议交互的过程。H3C
Cloud
Lab华三云实验室HCL是一款图像界面的全真玩过模拟软件,用户可以通过该软件实现H3C公司多个型号的虚拟设备的组网,是学习、测试基于H3C公司的网络设备的必备工具。
‘陆’ 弱网测试常用工具(附链接)
https://wetest.qq.com/proct/qnet
QNET 是腾讯 wetest 服务平台推出了一款 App 弱网测试工具,该工具无需 ROOT 手机,无需连接数据线,以独立 app 的方式,为用户提供给快捷、可靠、功能完善的弱网络模拟服务(2G 网络、极差网络、连续丢包、正常网络、4G 网络、100% 丢包等)。另外 QNET 还支持 TCP/UDP 网络协议抓包。
https://www.telerik.com/fiddler
Fiddler 是一款大家熟知且功能强大的抓包工具。通过设置代理,能够记录客户端与服务器端所有 http(s)通讯。可以针对捕获到的请求进行分析、设置断点、篡改请求及返回数据,还可以设置网络丢包和延时进行弱网络模拟等等。
https://www.charlesproxy.com/
Charles 是 HTTP 代理/ HTTP 监视器/反向代理,可以查看其计算机与 Internet 之间的所有 HTTP 和 SSL / HTTPS 通信。可对截取的请求及响应进行分析、支持修改请求参数、支持弱网络模拟。