NS2仿真无线网络天线的影响陈巧媛1107400040罗琪1107400010姚正康1107400053李志恒1107400006.docx
- 文档编号:24598506
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:16
- 大小:1.36MB
NS2仿真无线网络天线的影响陈巧媛1107400040罗琪1107400010姚正康1107400053李志恒1107400006.docx
《NS2仿真无线网络天线的影响陈巧媛1107400040罗琪1107400010姚正康1107400053李志恒1107400006.docx》由会员分享,可在线阅读,更多相关《NS2仿真无线网络天线的影响陈巧媛1107400040罗琪1107400010姚正康1107400053李志恒1107400006.docx(16页珍藏版)》请在冰豆网上搜索。
NS2仿真无线网络天线的影响陈巧媛1107400040罗琪1107400010姚正康1107400053李志恒1107400006
基于NS2的无线网络仿真——天线的影响
电子信息工程112班
李志恒(1107400006)
罗琪(1107400010)
李志恒(1107400040)
姚正康(1107400053)
指导老师:
刘外喜
摘要
通过使用仿真软件NetworkSimulator2,组建一个至少包含100个节点的基于Ad-hoc模式的无线网络,利用路由协议AODV,MAC协议802.11a,以及选择一种媒体接入方式(DCF或PCF)。
各个节点以某种模式发送数据包,发送速率,发送模式自定,各个节点可以固定可以移动。
对于选用不同类型的天线,比较它们对性能的影响,分析原因。
关键词
NS2仿真;无线Ad-hoc;路由协议AODV;MAC协议802.11;天线影响;
Abstract
ThroughtheuseofsimulationsoftwareNetworkSimulator2,tosetupawirelessnetworkbasedonAd-hocpatterncontainsatleast100nodes,usingtheAODVroutingprotocol,MACprotocol802.11a,selectamediaaccessmode(DCForPCF).Eachnodeinacertainmodetosenddatapacketsendingrate,transmissionmode,custom,eachnodecanbefixedtomobile.Theuseofdifferenttypesofantennas,comparingtheirperformanceimpact,causeanalysis.
Keywords
NS2simulation;wirelessAd-hoc;AODVroutingprotocol;MACprotocol802.11a;Antennaeffect;
目录
1、前言
2、NS2仿真软件介绍
3、具体步骤
4、仿真结果分析
附录:
性能测试代码
1、前言
Adhoc网络,自组织对等式多跳移动通信网络的简称。
我们经常提及的移动通信网络一般都是有中心的,要基于预设的网络设施才能运行。
例如,蜂窝移动通信系统要有基站的支持;无线局域网一般也工作在有AP接入点和有线骨干网的模式下。
但对于有些特殊场合来说,有中心的移动网络并不能胜任。
比如,战场上部队快速展开和推进,地震或水灾后的营救等。
这些场合的通信不能依赖于任何预设的网络设施,而需要一种能够临时快速自动组网的移动网络。
Adhoc网络可以满足这样的要求。
AODV这个路由器协议允许无线节点很快地获取许多路径到达它所想要到达的目的地,而且并不要求这些无线节点去维护这些到目的端的路径。
在AODV中,当某一个无线节点欲传送封包给另一个目的地节点时,会先去检查它的路径表。
若找不到可到达目的地节点的路由入口,此节点便会去广播送出RouteRequests(RREQ)封包寻找新路径,收到RREQ的无线节点会先去检查此封包的目的地地址是否为自己,如果不是,则再看看此中继点是否有一条可用的路径可以到达目的地节点,如果美亚,先根据封包内的信息修改路径表后,再把它广播出去。
每一个RREQ都配有一个ID,当某一个无线节点收到一个RREQ,会险去确认之前是否也收到过,假如收到了,就将此封包丢弃,这样可以防止RREQ无限充斥在这个对称式点对点无线网络中,以确保各无线节点中各路由表的路径是无循环的。
当中继点收到RREQ的信息后,如果RREQ中所记载的目的地地址是自己,则先根据RREQ中所记载的路径信息去更改路径表。
如下介绍几个性能参数:
(1)分组投递率PDF(Packetdeliveryfraction),即目的节点收到分组数目与源节点产生分组数目的比值。
该指标表明路由协议有效性和适应网络变化能力。
反映协议的完整性和正确性。
(PDF=目的节点接收数据分组/源节点发送数据分组)
(2)端到端平均延时(Averageend2to2enddelay),含所有延时,如发送缓冲器等待时间、接口队列排队时间、MAC层重传时间。
(3)路由负荷(Normalizedroutingload),即每个到达目的节点数据分组所需传输的路由分组的总数。
路由负荷是比较不同协议性能差别的重要指标。
它用于衡量协议的效率、可扩展性、在低带宽或拥塞情况下的性能和能耗效率。
(routingload=路由包的数目/目的节点接收数据分组)(Averagedelay=目的节点分组接收时间-源节点分组发送时间)
(4)丢包率((Packetdropfraction),丢弃分组占接收到数据分组的比率。
该指标是反映网络衡量协议效率、可扩展性、在低带宽或拥塞情况下的性能和能耗效率。
(丢包率=所有丢弃的分组/接收端应用层接收数据分组)
(5)吞吐量(Throughput),吞吐量是指在没有帧丢失的情况下,设备能够接受的最大速率。
2、NS2仿真软件介绍
NS2是指NetworkSimulatorversion2,NS(NetworkSimulator)是一种针对网络技术的源代码公开的、免费的软件模拟平台,研究人员使用它可以很容易的进行网络技术的开发,而且发展到今天,它所包含的模块几乎涉及到了网络技术的所有方面。
所以,NS成了目前学术界广泛使用的一种网络模拟软件。
此外,NS也可作为一种辅助教学的工具,已被广泛应用在了网络技术的教学方面。
因此,目前在学术界和教育界,有大量的人正在使用或试图使用NS。
NS2(NetworkSimulator,version2)是一种面向对象的网络仿真器,本质上是一个离散事件模拟器。
由UCBerkeley开发而成。
它本身有一个虚拟时钟,所有的仿真都由离散事件驱动的。
目前NS2可以用于仿真各种不同的IP网,已经实现的一些仿真有:
网络传输协议,比如TCP和UDP;业务源流量产生器,比如FTP,Telnet,WebCBR和VBR;路由队列管理机制,比如Droptail,RED和CBQ;路由算法,比如Dijkstra等。
NS2也为进行局域网的仿真而实现了多播以及一些MAC子层协议。
NS2使用C++和Otcl作为开发语言。
NS可以说是Otcl的脚本解释器,它包含仿真事件调度器、网络组件对象库以及网络构建模型库等。
事件调度器计算仿真时间,并且激活事件队列中的当前事件,执行一些相关的事件,网络组件通过传递分组来相互通信,但这并不耗费仿真时间。
所有需要花费仿真时间来处理分组的网络组件都必须要使用事件调度器。
它先为这个分组发出一个事件,然后等待这个事件被调度回来之后,才能做下一步的处理工作。
事件调度器的另一个用处就是计时。
NS是用Otcl和C++编写的。
由于效率的原因,NS将数据通道和控制通道的实现相分离。
为了减少分组和事件的处理时间,事件调度器和数据通道上的基本网络组件对象都使用C++写出并编译的,这些对象通过映射对Otcl解释器可见。
3、具体步骤
3.1仿真代码
#Defineoptions
setval(chan)Channel/WirelessChannel;#channeltype
setval(prop)Propagation/TwoRayGround;#radio-propagationmodel
setval(netif)Phy/WirelessPhy;#networkinterfacetype
setval(mac)Mac/802_11;#MACtype
setval(ifq)Queue/DropTail/PriQueue;#interfacequeuetype
setval(ll)LL;#linklayertype
setval(ant)Antenna/OmniAntenna;#antennamodel
setval(ifqlen)100;#maxpacketinifq
setval(nn)3;#numberofmobilenodes
setval(rp)AODV;#routingprotocol
setval(x)600;#Xdimensionofthetopography
setval(y)200;#Ydimensionofthetopography
setval(stop)10.0
#============================================================
#MainProgram
#============================================================
#
#InitializeGlobalVariables
#
setns[newSimulator]
settracefd[openmflood-3nodes.trw]
$ns_trace-all$tracefd
setnamtrace[openmflood-3nodes.namw]
$ns_namtrace-all-wireless$namtrace$val(x)$val(y)
#setuptopographyobject
settopo[newTopography]
$topoload_flatgrid$val(x)$val(y)
#
#CreateGod
#
create-god$val(nn)
#
#Createthespecifiednumberofmobilenodes[$val(nn)]and"attach"them
#tothechannel.
#Heretwonodesarecreated:
node(0)andnode
(1)
#configurenode
$ns_node-config-adhocRouting$val(rp)\
-llType$val(ll)\
-macType$val(mac)\
-ifqType$val(ifq)\
-ifqLen$val(ifqlen)\
-antType$val(ant)\
-propType$val(prop)\
-phyType$val(netif)\
-channelType$val(chan)\
-topoInstance$topo\
-agentTraceON\
-routerTraceON\
-macTraceON\
-movementTraceOFF
for{seti0}{$i<$val(nn)}{incri}{
setnode_($i)[$ns_node]
$node_($i)random-motion0;#disablerandommotion
}
#
#Provideinitial(X,Y,fornowZ=0)co-ordinatesformobilenodes
#
$node_(0)setX_100.0
$node_(0)setY_100.0
$node_(0)setZ_0.0
$ns_initial_node_pos$node_(0)60
$node_
(1)setX_300.0
$node_
(1)setY_100.0
$node_
(1)setZ_0.0
$ns_initial_node_pos$node_
(1)60
$node_
(2)setX_500.0
$node_
(2)setY_100.0
$node_
(2)setZ_0.0
$ns_initial_node_pos$node_
(2)60
#
#Nowproducesomesimplenodemovements
#Node_
(1)startstomovetowardsnode_(0)
#
$ns_at5.0"$node_
(1)setdest250.0150.015.0"
$ns_at1.0"$node_(0)setdest150.0180.010.0"
#Node_
(1)thenstartstomoveawayfromnode_(0)
$ns_at5.0"$node_
(2)setdest590.0180.015.0"
#Setuptrafficflowbetweennodes
#TCPconnectionsbetweennode_(0)andnode_
(1)
settcp[newAgent/TCP]
$tcpsetclass_2
setsink[newAgent/TCPSink]
$ns_attach-agent$node_(0)$tcp
$ns_attach-agent$node_
(2)$sink
$ns_connect$tcp$sink
setftp[newApplication/FTP]
$ftpattach-agent$tcp
$ns_at0.5"$ftpstart"
$ns_at9.5"$ftpstop"
#
#Tellnodeswhenthesimulationends
#
for{seti0}{$i<$val(nn)}{incri}{
$ns_at10.0"$node_($i)reset";
}
$ns_at$val(stop)"stop"
$ns_at$val(stop)"puts\"NSEXITING...\";
$ns_halt"
procstop{}{
globalns_tracefdnamtrace
$ns_flush-trace
close$tracefd
close$namtrace
exit0
}
puts"StartingSimulation..."
$ns_run
4、仿真结果及分析
4.1天线性能比较
4.1.1吞吐量
图4.1.1吞吐量
4.1.2分组丢失数量
图4.1.2分组丢失数量(分组数)
4.1.3信号发送数量
图4.1.3信号发送数量(分组数)
4.1.4端到端平均延时/抖动
图4.1.4端到端平均延时/抖动
4.2数据列表
Antenna
吞吐量
分组丢失数量
信号发送数量
端到端平均延时
端到端平均抖动
Omni
3579
1.15
212
0.891
0.287
Directional
4187
0.02
100
0.253
0.074
4.3结论分析
基于路由协议为AODV,MAC协议为802.11的无线仿真网络当中,当以DCF媒体接入方式时,由图可以看出定向天线的吞吐量、分组丢失数量、信号发送数量以及端到端平均延时或抖动都较全向天线要优胜。
附录:
(1)丢包率数据awk处理脚本graph_lostRate.awk
#countthepacketlostrateofCBR
BEGIN{
dropNum=0;
totalNum=0;
i=0;
}
{
event=$1;
time=$2;
fromNode=$3;
toNode=$4;
pktType=$5;
pktSize=$6;
flags=$7;
fid=$8;
srcAddr=$9;
dstAddr=$10;
seqNum=$11;
pktId=$12;
if(fromNode==1&&toNode==2&&event=="+")
{totalNum++;
timeArr[i]=time;
lossrate[i]=(float)(dropNum/totalNum);
i++;
}
if(fid==2&&event=="d")
dropNum++;
}
END{
printf("#numberofpacketsent:
%d,lost:
%d\n",totalNum,dropNum);
printf("#lostrateofpackets:
%f\n",dropNum/totalNum);
for(j=0;j
printf("%f\t%f\n",timeArr[j],lossrate[j]);
}
(2)处理时延的awk代码lost_rate.awk
#delayanalyse
BEGIN{
highestPktId=0;
}
{
event=$1;
time=$2;
fromNode=$3;
toNode=$4;
if(pktId>highestPktId)
highestPktId=pktId;
if(beginTime[pktId]==0)
beginTime[pktId]=time;
if(fid==2&&event!
="d"){
if(event=="r")
endTime[pktId]=time;
}else{
endTime[pktId]=-1;
}
}
END{
for(pktId=0;pktId<=highestPktId;pktId++)
{
begin=beginTime[pktId];
end=endTime[pktId];
pktDuration=end-begin;
if(begin printf("%f\t%f\n",begin,pktDuration); } } (3)吞吐量awk代码throughput.awk #throughput BEGIN{ flag=0; i=0; } { event=$1; time=$2; fromNode=$3; toNode=$4; pktType=$5; pktSize=$6; flags=$7;fid=$8; srcAddr=$9; dstAddr=$10; seqNum=$11; pktId=$12; if(event=="r"&&fromNode==2&&toNode==3&&fid==2) { pktSum[i+1]=pktSum[i]+pktSize; if(flag==0) {beginTime=time; flag=1; } endTime[i]=time; i++; } } END{ printf("%.6f\t%.5f\n",endTime[0],0); for(j=1;j throughput=(float)pktSum[j]/(endTime[j]-beginTime)*8/1000; printf("%.6f\t%.5f\n",endTime[j],throughput); } printf("%.6f\t%.5f\n",endTime[i-1],0); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NS2 仿真 无线网络 天线 影响 陈巧媛 1107400040 罗琪 1107400010 姚正康 1107400053 李志恒 1107400006
链接地址:https://www.bdocx.com/doc/24598506.html