《ATC模拟移动网络环境搭建及使用.docx》由会员分享,可在线阅读,更多相关《ATC模拟移动网络环境搭建及使用.docx(12页珍藏版)》请在课桌文档上搜索。
1、1. 移动网络21.1. 说明22. ATC网络模拟42.1. ATC简介42.2. ATe环境搭建52.3. ATC使用配置91 .移动网络1.1. 说明模拟2G、3G、4G网络:通过网络带宽、丢包率、时延等指标来定义不同的移动网络场景2G:最高240KbPS速率3G:200Kbps到3Mbps联通HSPA即H+:14.4Mbps4G:IOOMbps4GLTE:300MbPS上行75MbPS得到一份有效的2G/3G/4G网络参考值及更多的现场环境下2G/3G/4G网络值是网络模拟的关键,目前的值都是自己网络搜集整理,欢迎其他人也提供相关的参考值进行完善。手机网络信号DB值与带宽、丢包率、时延
2、、乱序间关系推荐配置值(网络搜集整理):模拟3G场景:场景1丢包率:无误码率:无时延:IOO乱序:无重复帧:无带宽:下行带宽:3Mbps场景2丢包率:1%误码率:无时延:250乱序:无重复帧:无带宽:下行带宽:2Mbps场景3丢包率:2%以内误码率:无时延:250乱序:无重复帧:无带宽:下行带宽:IMbps场景4丢包率:2%以内误码率:无时延:250乱序:05%重复帧:无带宽:下行带宽:500Kbps场景5丢包率:2%以内误码率:无时延:250乱序:无重复帧:05%带宽:下行带宽:300Kbps场景6丢包率:5%误码率:无时延:250乱序:5%重复帧:5%带宽:下行带宽:200Kbps模拟4G
3、i场景:场景1丢包率:无误码率:无时延:30乱序:无重复帧:无带宽:下行带宽:50Mbps上行带宽:20Mbps场景2丢包率:1%误码率:无时延:50乱序:无重复帧:无带宽:下行带宽:30Mbps上行带宽:10MbPS场景3丢包率:2%以内误码率:无时延:100乱序:无重复帧:无W宽:下行带宽:15MbPS上行带宽:5Mbps场景4丢包率:2%以内误码率:无时延:100乱序:无重复帧:无带宽:下行带宽:10MbPS上行带宽:2Mbps场景5丢包率:2%以内误码率:无时延:150乱序:无重复帧:无带宽:下行带宽:5Mbps上行带宽:IMbps场景6丢包率:5%误码率:无时延:200乱序:无重复帧
4、:无带宽:下行带宽:3Mbps上行带宽:IMbPS注:上图中的误码率、重复帧,ATC中不配置2 .ATC网络模拟2.1. ATC简介ATC(AugmentedTrafficControl)是Facebook开源的增强网络流量控制工具ATC,能利用WiFi网络模拟各种移动网络,测试APP在不同移动网络环境下的性能表现。ATC能够模拟2G、2.5G(Edge)s3G和LTE4G网络环境,测试人员可以快速在各种不同模拟网络环境中切换ATC是一个模拟2G/3G/4G移动网络环境的工具。其创建一个WIFI热点能控制接入手机设备连接到互联网。开发人员、测试人员可以使用ArC来测试应用程序在不同网络条件下的
5、接入及服务状况,ATC很容易模仿高速、移动,甚至严重的网络(比如带宽很差,延迟很大,丢包率高的情况)。通过如下指标进行控制模拟移动网络: Bandwidth带宽 Latency时延 packetloss丢包率 corruptedpackets错包率 packetsordering乱序率网络损伤仪也主要通过上述指标模拟不同移动网络,但网络损伤仪配置麻烦相对于“网络损伤仪”ATC有如下优点:1、在测试手机上通过Web界面就可以随时切换不同的模拟出的移动网络环境(WIFl上模拟2G/3G/4G)2、多个手机可以连接到同一个模拟WlFl下,相互之间模拟的网络环境互不影响3、免费、开源ATC网络拓扑图I
6、nternetpcaps(optional)control2.2. ATC环境搭建本次搭建使用FedrOa2064位系统,推荐使用桌面版,使用桌面版可以快速WiFi热点功能(ATC通过WIFl无线热点模拟不同的移动网络),系统可以安装到物理机也可在VM虚拟机上1:安装Python,版本必须2.7以上,推荐2.7.52:打开Linux系统转发功能查看是否打开cat/proc/sys/net/ipv4/ip_forMard若值为0表示未打开转发,若为1则表示已打开转发通过sysctL-Wnet.ipv4.ip_forMard=l或l/proc/sys/net/ipv4/ip_fonward打卡转发
7、模式3:配置YUM,推荐使用yum安装后面程序,否则非常麻烦4:安装Python相关组件yuminstaLLpython-pipyuminstaLLpython-deveL5:PIP安装ATC所有组件PiPPiP PiP PiP PiPinstaLLatc_thriftinstaLLatcdinstaLLdjango-atc-apiinstaLLdjango-atc-demo-uiinstaLLdjango-atc-profiLe-storageATC后台采用PythOnDjangO部署,部署DjangO的Web工程,提供手机访问并用来配置和切换网络用。6:使用django-admin生成一个
8、新的django工程cd/rootmkdirmyotccdmyatcdjango-adminstartprojectQtcuicdQtcui7:修改Django相关配置文件,修改atcui/settings.py,加入ATC相关django程序内容添加入下:INSTALLED_APPS=(#DjangoATCAPI,rest_frameMork,atc_api,#DjangoATCDemoUI,bootstrap_themes,django_static_jqueryjatc_demo_ui,#DjangoATCProfileStorage,atc_profiLe_storage,)最终内容如
9、下:#ApplicationdefinitionINSTALLED_APPS=ue8:修改django工程webURL对应的地址urls.py文件fromdjango.views.generic.baseimportRedirectViewUrlpatterns=patterns(,j#DjangoATCAPIurl(r,apivlinclude(,atc-api,urLs),#DjangoATCDemoUIurl(r,Aatc_demo_ui/,jinclude(,atc_demo_ui,urLs,),#DjangoATCprofilestorageurl(r,Aapi/vl/profiLe
10、s/,include(,atc_profiLe_storage.urLs),url(r八$RedirectView.as-view(url=,/atc_demo_ui/,jpermanent=False),)注意此处要添力,fromdjango,conf.urLsimportincLude否则会报错include错误最终如下django.conf.urlsdjango.conf.urlsdjango.contribUrlincludeadmindjango.views.generic.baseRedirectViewUrlpattems=Ur1(# DjangoUr1(# DjangoUr1(
11、# DjangoUr1(Ur1(ATCATCATC,admin.site.urls),API,include(DenoUI,include(profilestorage).,include(,RedirectView.asview(url=),)r,Pennanent=False),更新djangoweb工程的数据库,进入manager.py所在目录cdrootmyatcatcuipythonmanage.pymigrate注意:若此处运行中报错,如找不到queue模块则下载Pythonsix模块six-1.10.0.tar.gz解压后Pyt/io。setup.pyinstaLL即可9:启动W
12、lFI热点用于架设WiFi热点的无线网卡质量一定要好,若无线网卡本身不稳定,则严重影响ATC模拟的移动网络的质量Fedroa20桌面系统,直接进入桌面,进入网络,选择无线网卡,直接开启无线热点即可如下图,点击开启即可,SSlD以及密码开启后的页面均会显示NetworkAirplmeMode I OFFTW-FiWhFI串Networ proxyACE-TESTCMCC-WEBCMCC-HENANYad-Businss开启成功后显示无线SSID及密码如下:HistoryTVM-FiEXZIWi-FiHotspotSwtchofftoconnecttoaWi-FinetworkLlOChot.oc
13、lSSfOyp*WEPBNetworkproxy手机端可以连接SSID为IocalhostJocaldomain的WiFi密码见上图Linux机中使用ifconfig可查看到诸如以下的内容wlps2u4:flags=4163mtu1500inet1.42.1netmask255.255.255.broadcast.inet6fe8::ca3a:35ff:fec8:feflprefixlen64scopeidx2etherc8:3a:35:c8:fe:fl RX packets 45091 bytes RX errors 0 dropped 39 TX packets 4632 bytestxq
14、ueuelen1(Ethernet)8464589(8.MiB)overrunsframe111612(l.6MiB)TXerrorsdroppedoverrunscarriercollisionsroot0PHatcui#口WLP0s20u4即为无线网卡名10:启动ArCD设置主机物理网卡为wan口及无线网卡为Ian口atcd-Qtcd-LanWLP0s20u4-oted-aneth11:启动django工程:pythonmanage.pyrunserver0.0.0.0:9999端口自选,注意放开防火墙,直接iptbLes-F12:手机接入9步中的WiFi热点,访问http:/10.42.
15、0.1:9999即可进入ATC设置模拟网络的web界面2.3. ATC使用配置在手机的WEB界面里,你可以分别对网络上行下行进行设置,主要设置的参数有:1 .网络带宽(bandwidth)2 .延迟(latencyDelay)3 .丢包率(packetloss)4 .错包率(corruptedpackets)5 .乱序率(packetsordering)通过设置上面的参数,可以模拟出各种常用的网络环境,比如:2G,3G,4G,WiFi等等,同时也可以模拟一些异常情况,比如信号很差,延迟很大,丢包率高的情况1:接入已配置ATC的无线WiFi热点,进入http:l0.42.0.1:9999显示如下
16、页面,下图中的Authorize认证不用关心中R通O零力ICK)14:40QMtp/1042019999atc-dcmo.uiCAugmentedTrafficControlDemoUlTumOnNotificationsNonotifications.AuthenticationIMachinesYouCanStwpe:NoControlledMachinesNote:Amachineisalwaysallowedtoshapertself.AuthorizeaNewMachine:AddreS$:DOToken:AuthorizeThisMachinesToken:444743OWEB页面
17、下拉在NewPrOfne中创建要模拟的网络规则创建规则名字随便填写如2G,下面以模拟2G网络示例注意模拟3G、4G网络参考1.1说明章节中的参数配置ShapingSettings中填写具体的参数(UPIink上行及DoWnIink下行均需配置)如下图配置Uplink的配置LKJBlD卡.IIIIeLH6-BandwidthRate50-LatencyDelay500ShowmoreJitter0Correlation0-LossPercentage2ShowmoreCorrelation0CorruptiPercentage2ShowmoreCorrelation0ReorderPercent
18、ageBandwidthRate网络带宽单位KbpsLatencyDelay网络包延时单位msLossPercentage网络丢包率单位百分比d%Corruptionpercentage网络错报率d%Reorderpercentage网络乱序率d%上图中的correlation均可默认为0规则填写完成后直接点击Create按钮完成后此时页面标题下方会出现UpdateShaping按钮即可注意点击“UpdateShaping”后,按钮消失,则表示新规则建立成功并生效,若按钮未消失则表示新规则未保存成功,重试几次2:按照步骤1中的方式,填写更多的模拟网络规则如2G、3G、3.5G、4G、4G高速(
19、4GHS)、4G低速度(4GLowS)如下图中国联通QIoIB给*lSD*15:14ThisMachine*Address:10.42.0.99ProfilesExistingProfilesSelectaprofilefromthelistbelowtouseit.NameupKaxeuownate:i50kbps70kbpsSelectDelete、;200kbps250kbpsSelectDelete3 .,200kbps250kbpsSelectDeletet02000kbps2500kbpsSelectDelete4GHs20000kbps30000kbpsSelectDelete4
20、Giows1OOOkbpsl500kbpsSelectDeleteNewProfileEnteranameandclickCreate*tosaveanewprofilewiththesettingsunderShapingSettingsbelow.4GLowSCreateShapingSettingsUplink:r-Bandwidth3:手机端模拟网络切换上图中,直接点击Select按钮,选择想要模拟的网络,此时上滑WEB页面,其上方出现“UpdateShaping”按钮,点击此按钮更新即可,若按钮消失则表示新规则切换成功,否则失败。中曲熠aOE令*lS314:45Qhtlpj7l042.0.1:9999/atc_demo_ui/CAugmentedTrafficControlDemoUlUpdateShapingTumOffNotificationsNonotifications.Authentication