基于NS2的无线传感器网络软件仿真试验_第1页
基于NS2的无线传感器网络软件仿真试验_第2页
基于NS2的无线传感器网络软件仿真试验_第3页
基于NS2的无线传感器网络软件仿真试验_第4页
基于NS2的无线传感器网络软件仿真试验_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录课程设计目的课程设计内容课程设计实验原理WSN路由协议WSNMAC层协议修改的路由协议课程设计小组分工课程设计实验流程课程设计实验结果分析课程设计心得体会课程设计总结参考文献源代码一、课程设计目的无线传感器网络是物联网的基本组成部分,是物联网用来感知和识别周围环境的信息生成和采集系统,传感器网络对信息处理来说如同人体的感觉突触一样重要。为了方便感知和部署并提高网络的可扩展性,传感器网络一般采用无线通信方式,从而形成了节点之间可自组织拓扑结构的无线传感器网络。本课程设计的目的综合应用学生所学知识,建立系统和完整的传感器网络概念,理解和巩固无线传感器网络基本理论、原理和方法,掌握无线传感器网络

2、开发的基本技能。二、课程设计内容软件仿真实验。要求使用相关软件仿真一个无线传感器网络,要求如下:自行参考相关资料,成功安装NS2(或OPNET也可以);利用NS2自带的范例,构建一个100个节点的无线传感器网络,能够成功运行;最好能有界面显示;利用利用NS2自带的范例或其它已有脚本,仿真上述无线传感器网络一种路由协议(例如一种多播路由协议);利用利用NS2自带的范例或其它已有脚本,仿真上述无线传感器网络采用一种MAC协议;修改或自行编写一个简单路由协议或MAC协议,并进行仿真运入课程设计实验原理a) wsn路由协议传统计算机网络对路由协议要求如下:正确性,健壮性,稳定性,公平性,最优性。除此之

3、外,无线传感器网络对路由协议更注重以下特殊要求:能源有效性,简单性,多路性。无线传感器网络是以数据为中心(DataCentric)进行路由的,不同于传统Adhoc网络以地址为中心(AddressCentric)进行路由的模式。由于传感器最基本任务就是感知、采集数据,无线传感器网络邻近节点间采集的数据必然具有相似性,存在冗余信息,需经数据融合(DataFusion)处理再进行路由。有研究表明,在分布密度为p(x,y)的随机区域,传感器间冗余数据为:tSepo直接传输这些未经处理、存在冗余的数据,将会造成网络带宽、节点能源的巨大浪费,导致节点迅速死亡,缩短整个网路的生命周期。无线传感器网络中的大部

4、分节点不像传统Adhoc网络中的节点一样快速移动,因此没有必要花费很大的代价频繁地更新路由表信息。常规路由协议通常认为底层的通信信道是双向的,但是在采用无线通信的无线传感器网络环境中,由于发射功率或地理位置等因素的影响,可能存在单向信道。它给常规路由协议带来三个严重的影响:认知单向性、路由单向性和汇点不可达。本次实验中涉及到路由协议原理如下:AODVAODV(Adhocon-demanddistancevectorrouting)是一种源驱动路由协议。当一个节点需要给网络中的其他节点传送信息时,如果没有到达目标节点的路由,则必须先以多播的形爆式和式21程式发出RREQ(路由请求)报文。RREQ

5、报文中记录着发起节点和目标节点的网络层地址,邻近节点收到RREQ,首先判断目标节点是否为自己。如果是,则向发起节点发送RREP(路由回应);如果不是,则首先在路由表中查找是否有到达目标节点的路由,如果有,则向源节点单播RREP,否则继续转发RREQ进行查找。在网络资源充分的情况下,AODV协议可以通过定期广播hello报文来维护路由,一旦发现某一个链路断开,节点就发送ERROR报文通知那些因链路断开而不可达的节点删除相应的记录或者对已存在的路由进行修复b) WSNMAC层协议MAC层位于OSI七层协议中数据链路层,数据链路层分为上层LLC(LogicalLinksControl,逻辑链路控制)

6、,和下层的MAC(媒体访问控制),MAC主要负责控制与连接物理层的物理介质。在发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC(逻辑链路控制)层。不管是在有线局域网(LAN)中还是在无线局域网(WLAN)中,MAC协议都被广泛地应用。在传统局域网中,各种传输介质的物理层对应到相应的MAC层,目前普遍采用的是IEEE802.3的MAC层标准,采用CSMA/CD访问控制方式;而在无线局域网中,MAC所

7、对应的标准为IEEE802.11,其工作方式采用DCF(分布控制)和PCF(中心控制)。802.11接入点能够通过使用传输规范(TSPECs)控制网络工作量。一个接入点能够要求每一个站点为每一个访问类发送一个传输规范请求。这个请求将具体说明这个站点为每一个访问类申请的数据量以及可以承受多长时间的延迟。如果一个接入点计算它从各个站点收到的请求超过了网络的容量,它将拒绝这些请求。如果一个申请遭到拒绝,提出申请的站点就不再发送那种访问类的数据,并且必须把这种访问类的数据结合到优先等级低的数据中。同PCF一样,HCCA是一种轮询协议。当使用时,它总是能够获得访问媒体的权限,因为它等待的时间比任何EDC

8、A用户最短的AIFS时间还要短。HCCA能够为每一个应用配置单独的服务质量设置。位于接入点中的混合协调器(HC)轮流查询单个的站点,并且根据已经配置的具体的服务质量设置批准访问媒体的权限。这里没有竞争,因此,高优先等级数据的延迟不会随着网络通信的增加而遭到损失。c)修改的路由协议AODV协议的一个很大的缺陷是每个源结点只维护一条到一个特定目的结点的路由,如果这条路由失效,将会重新发起路由发现过程,从而增大网络的开销。在拓扑变化频繁的网络中,这个缺点显得尤为突出。如图所示例子,如果结点S需要和结点D进行通信,但结点S中没有到结点D的有效路由,结点S将会广播一个RREQ分组。结点1收到此砌也Q分组

9、后,假设其没有到结点D的有效路由,结点1会继续广播此RREQ分组。假设结点2的路由表中有一条到达目的结点D的有效路由,结点4和结点5的路由表中没有到结点D的有效路由。最终结点S将会先后收到由结点2和结点D发送的包含S.1.2.3.D和S.1-4.5.6.D路由的RREP分组。结点S只会根据目的节的序列号和至目的结点的跳数保留其中的一条路由,另一条路由即使是有效路由也将被丢弃。在此例中,由于目的结点序列号较小,路由S.1-2.3D将被丢弃。如在结点S通过路由S.14.5.6.D与结点D通信的过程中,结点1发现与结点4断开,结点S需要重新发起一个至结点D的路由发现过程,最后可能会再次收到包含路由S

10、.1-2.3.D的RREP分组。在每个源结点维护一条到指定目的结点的备份路由,并通过修改本地修复机制,使得当主路由失效时,会通过备份路由来发送数据包。只有当备用路由也失效时才重新发起路由发现过程,是我们改进路由协议的思想。为了区分主路由与备份路由,需要对原有的路由表做一定的扩充,具体做法为在aodvrtable.h中的aodvrtentry类声明中添加一个标志位rt_pfiority并在aodvrtentry的构造函数中将其初始化为0。当其为0时,表示主路由,当其为1时,表示备份路由。为了实现备份路由的添加及查找功能,在aodvrtable类中添加rt_addbackup(nsad&&

11、#39;tid)和rt_lookupbaekup(nsaddr_t,id)两个函数。代码如下:Aodvlc_rt_entry*aodvle_rtable:rt_addback(nsaddr_tid)Aodvlc_rt_entry*rt;assert(rt_lookup(id)=o);Rt=newaodvlc_rt_entry;assert(rt);rt->rt_dst=id;rt->rt_priofity=1;LIST_INSERT_HEAD(&rthead,rt,rtlink);Retumrt;Aodvlc_rt_entry*aodvlc_rtable:rt_lookup

12、back(nsaddr_tid)Aodvlc_rt_entry*rt=rthead.1h_first;for(;rt;rt=rt->rt_link.1e_next)if(rt->rt_dst_id)&&(rt->rt_priority=1)break;Returnrt;四、课程设计小组分工组长:施国豪无线传感器网络设计及TCL脚本编写:董嘉伟路由、MAC层协议仿真:裘钺路由协议改进:董嘉伟报告编写:董嘉伟、裘钺资料收集:施国豪五、课程设计实验流程a)实验环境的搭建我采用了VMWARE+CENTOS+NS2的搭建方式。曾经考虑在Windows下使用Cygwin+

13、NS2的搭建方式,但由于Cygwin下模拟Linux编译NS2文件经常出现错误,所以换用虚拟机VMWARE安装CENTOS来测试。安装需要额外的包来完成支持,具体包如下:G+、Gcc、libX11、xorg-x11、libXt、libXmu,以CentOS为例,需执行以下指令(使用Root用户)$yuminstalllibX11-devel*$yuminstallxorg-x11-proto-devel*$yuminstalllibXt-devel*$yuminstalllibXmu-devel*在NS2的解压目录下执行./install,安装完成后执行简单的tcl测试脚本,运行成功,结果如下

14、:rootpower:*文件但)编辑(日直看(V)搜索蜉端(工)靠助rootpowerT#ns/usr/src/ns-allinone-2.35/ns-2.35/td/ex/ieOnodes.telnumnodesisset166INITIALIZETHELISTxListHeadchannelnCCisendUip=CalchighestAntennaZanddistCSThighestAntennaZ=1.5,distCST=550.S,SORTINGLISTS.DONE!一看rootpower-#Cannotconnecttoexistingnaminstance.Startingane

15、wone.b)无线传感器网络设计根据课程设计指导书要求,设计一个含有100个传感器节点的无线网络。拓扑图如下:借助NSG2完成随机节点的分布,其中具备邻居条件的用蓝色线条连接表示,灰色线条代表某节点的广播域。除此之外,NSG2还可以用来辅助生成TCL脚本文件。根据自己预设的条件设置诸如节点路由协议、MAC协议、物理层模型、节点数、节点位置、节点横纵坐标范围等等,极大地降低了编写测试脚本的难度,提高了协议的修改和测试速度。根据现有TCL测试脚本,编辑节点属性如下:setval(chan)Channel/WirelessChannel;#channeltypesetval(prop)Propaga

16、tion/TwoRayGround;#radio-propagationmodelsetval(netif)Phy/WirelessPhy;#networkinterfacetypesetval(mac)Mac/802_11;#MACtype;#interfacequeuetypesetval(ifq)Queue/DropTail/PriQueuesetval(ll)LL;#linklayertypesetval(ant)Antenna/OmniAntenna;#antennamodelsetval(ifqlen)50;#maxpacketinifqsetval(nn)100setval(rp

17、)DSDVsetval(x)14248setval(y)100setval(stop)10;#numberofmobilenodes;#routingprotocol;#Xdimensionoftopography;#丫dimensionoftopography;#timeofsimulationend$nsnode-config-adhocRouting$val(rp)-llType$val(ll)-macType$val(mac)-ifqType$val(ifq)-ifqLen$val(ifqlen)-antType$val(ant)-propType$val(prop)-phyType$

18、val(netif)-channel$chan-topoInstance$topo-agentTraceON-routerTraceON-macTraceON-movementTraceONAGENT属性设置setudp_(0)newAgent/UDP$nsattach-agent$n84$udp_(0)setnull_(0)newAgent/Null$nsattach-agent$n30$null_(0)$nsconnect$udp_(0)$null_(0)setcbr_(0)newApplication/Traffic/CBR$cbr_(0)setpacketSize_512$cbr_(0

19、)setinterval_0.1$cbr_(0)setrandom_1$cbr_(0)setmaxpkts_100000000$cbr_(0)attach-agent$udp_(0)$nsat4.0"$cbr_(0)start"c)路由层、MAC层协议仿真1.路由层协议仿真在路由层,我们模拟的路由协议是AODV路由协议100个节点网络具体测试如下:2.MAC层协议仿真节点TCL测试脚本编辑如下:settcpnewAgent/TCP$tcpsetclass_2setsinknewAgent/TCPSink$ns_attach-agent$node_(0)$tcp$ns_att

20、ach-agent$node_(1)$sink$ns_connect$tcp$sinksetftpnewApplication/FTP$ftpattach-agent$tcp$ns_at0.5"$ftpstart"forseti0$i<$val(nn)incri$ns_at6.0"$node_($i)reset"$ns_at6.0"stop"$ns_at6.01"puts"NSEXITING."$ns_halt"procstopglobalns_tracefd$ns_flush-trace

21、close$tracefdputs"StartingSimulation."$ns_runWireless-simple-mac的trace内容截图如下:wirBiBS-s-SJjrnple-mac.tr内弓哈匹11rls.卵旧2J却二g闻并.口文削E)雪稻田童看M快同工具UIS0U2I飒圜wiidsE'EiniplErnaLJCr.<litS.aaaaau115,呵I5.ne.n.nai.I限犯ja.aa,J.aa2HI.HBBH91151,HI,151.St,B,阿,|湖帆4S.HB'hIf.SB3:a.iaaaaaaaaaagtbtcpueeie

22、;enbi&&&&4rB.sBaeeeeM0e»tcp4BBbbaibjbi;b犯iBa11SEBRTRItcp4fl|»ttH|B:B1:132fl|BB|BB打ft.JBUSSHenHflIARF21#4fffflflHb|卿EST陋Ml7FI.H1MHU1HUMRP2B|flBtHfHHB|IREQUE5T0/0B/l|Ss8的n"ULHAC8AHp州|fl曲的的8mB|REPLY1/18刑9fB.5B33B5223'e'»CHARP那|B1明盟照5册B|REPLY1/1B/B|UEH.5051402

23、23IHACBt邙期限FBB|B:I1:1»fl|BB|BBnt.涮逆的qHit-aup4Bisbaei四自i:b黄eiaeiab12f8,9H325B341HTI(cp4B|»I8B|B:I1:132B|lB|IBBs8.5的犯5的41AGT.-1ack4fl|flBB8|1:Ba:B328|B8|BB4fH,加q加TRTR1贰k柳|HBBH|1;BWH|BH|BB15ifl.505325831RTR,-I犹k柏伯88日|1:0H泊非fl|Bfl|A0lAsB,HflSHB341HMC1ttK«B1BSBBHB8|LBB:H32町|B8|aa17fB,5丽新1W

24、5,丁用匚-1ack4B|BIBBBBBBBB|l;BH田犯B|BB|HHISr8.5的6的网5BAGT.LaCk4fl|fllimbBB|L:BB:B32B|BB|BBUsI.SHUMAI-fKT-1UpIMSIBlIBlLl铝I|1I1119fB,5腑师乃0RTR-2tCp1A4S|BBBB|B:BLB32B|1B|0B315J_RTR-tcp1B4B|flflB8|四gt懵犯8|18|Bfl225B,5B咖用峙WUT-3t邙1BA0|HHH|B田LB町B|RBHBf机光血的相5BRTR-3t邙1时日|BBBfl|B:a1:B犯B|2fl|BB:45队沔沔叫二1HTR.3up*邓|BB8&

25、#171;|8:a1:B铝?|2«|BB25SB糊;-2tCp1A4S|MBfl|川田1;B犯B|1fl|0BMrB.51:7:a5fi1HAC.ITcp1B48|M38|fl!B1:8犯fl|18|fl827f0.512297056-fAQT-2tcp1BA0|MM|8;BL8TB|1BBBEa.5122970561JWABCk期恨E1B|l:l»:l32B|lfl|1119r8.J1229?ai6TRTR4n(k4H|B88B|1:8H:832i1B|a89S0.5122970561RTR4BCk4B|»IIB|l:l»:B32B|1«|I

26、BH$8.513曲网5BHU-3Tcp1B4B|BBBfl|B:B1:B犯B|2fl|BB3J5队51您?调沔'i'qack柳|bi期bhhbb8|i;eh:hth|ib|hh33kB.51G7B2B5G1W3tcp1B4B|BBBfl|旧日LB32fl|2fl|BB婀“UISSe.Bvii11,75Wireless-simple-mac的NAM截图如下:d)路由协议改进节点开始广播建立网络节点根据传输需求建立路由线路节点建立路由成功,开始传输数据ruirvi:aut.ntmESeMJws自的“A«iA.ha11111111111111甲1111六、课程设计结果分析在

27、路由协议仿真中,AODV协议确实跟我们之前学过的路由协议不一样,传统的无线传感器网络路由协议运行大致分为两个阶段:路由建立阶段、数据收集阶段。当节点部署到网络并开启电源后,并不是立即进入数据收集。而是首先由基站发送Hello包,节点接受到Hello包后,更新自己的邻居节点信息,从而建立树状的网络结构。进入数据收集阶段后,当网络中某一节点接受到数据包后,该节点就会向邻居表中的某一节点发送数据收集包(Collect包),最终将接收到的数据信息发送到基站,传给应用程序进行处理。而AODV协议采用产生数据传输请求时才会建立路由,这种所需才所求的方式特别适合传感器节点这种能量有限、数据量小的特征,所以具有一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论