![基于contiki平台的路由协议仿真_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-5/1/bd918aa0-5b27-46da-b47e-26fa51181003/bd918aa0-5b27-46da-b47e-26fa511810031.gif)
![基于contiki平台的路由协议仿真_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-5/1/bd918aa0-5b27-46da-b47e-26fa51181003/bd918aa0-5b27-46da-b47e-26fa511810032.gif)
![基于contiki平台的路由协议仿真_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-5/1/bd918aa0-5b27-46da-b47e-26fa51181003/bd918aa0-5b27-46da-b47e-26fa511810033.gif)
![基于contiki平台的路由协议仿真_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-5/1/bd918aa0-5b27-46da-b47e-26fa51181003/bd918aa0-5b27-46da-b47e-26fa511810034.gif)
![基于contiki平台的路由协议仿真_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-5/1/bd918aa0-5b27-46da-b47e-26fa51181003/bd918aa0-5b27-46da-b47e-26fa511810035.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、评定成绩:课程设计报告(传感器网络组网)设计题目:基于contiki平台的路由协议及仿真学院名称:自动化学院学生姓名:专业:班级:学号:指导教师:填表时间:2016年5月摘要重庆邮电大学本科课程设计报告摘要路由协议执行网络拓扑描述、路由选择和数据包转发的功能,影响整个网络的性能和存活时间。现有的路由协议需要发送大量数据包维护网络拓扑,以及大量的存储空间来存储路由条目。由于硬件的限制,无线传感器无论是能量还是处理能力,存储能力都受到了极大的限制。因此,IETFROLLX作组提出了一种针对低功耗有损网络的IPV6路由协议,即RPLM由协议。文中对RPL路由协议的拓扑构建过程进行分析,并通过利用co
2、oja仿真工具进行仿真,在仿真中显示出DODA的构建过程,并对进行仿真出来的各种拓扑结构进行能耗的分析,在仿真过程中直观地显示涓流机制。关键字:IPV6RPL路由协议仿真能耗分析目录重庆邮电大学本科课程设计报告目录摘要I第一章绪论11.1 设计题目:11.2 设计任务:11.3 设计要求:11.4 参考资料:1第二章总体方案设计(或系统建模)22.1 RPL概述22.1.1 DODAG的构建过程22.1.2 环路避免的机制22.1.3 涓流机制32.2 基于Contiki平台的RPL路由协议仿真3第三章个人设计工作(或系统仿真分析)53.1 DODAG图构建分析53.2 能耗的分析63.3 涓
3、流机制83.4 其他参数修改:8第四章设计总结9参考文献10附录11II第一章绪论重庆邮电大学本科课程设计报告第一章绪论1.1 设计题目:基于Contiki平台的传感网路由协议设计与仿真1.2 设计任务:基于Contiki操作系统和Cooja仿真器,运用所学的无线传感网知识,选择一种典型的传感网路由协议进行组网设计和仿真。路由协议可在AODVRPLRIME等协议中任选一种,也可选择其它典型的传感网路由协议。1.3 设计要求:1 .掌握Contiki物联网平台开发的基础知识。2 .组网规模不少于20个节点。3 .完成网络的运行场景分析、拓扑结构规划和路由协议设计。4 .在Contiki平台上独立
4、编写符合需求的传感网程序。5 .采用Contiki自带的网络仿真器,对编写的程序和网络路由协议进行仿真,给出网络运行效果图。6 .调节路由协议的一些参数,对路由协议的性能变化进行分析。1.4参考资料:1. Contiki开发组.Contiki:TheOpenSourceOSfortheInternetofThings./2 .桂劲松.物联网系统设计.北京:电子工业出版社.2013.3 .谢希仁.计算机网络.北京:电子工业出版社.2008.4 .李晓维.无线传感器网络技术.北京:北京理工大学出版社.2007.重庆邮电大学本科课程设计报告第二章总体设
5、计方案(或系统建模)第二章总体方案设计(或系统建模)2.1 RPL概述RPL是为LLN而设计的距离矢量路由协议,通过使用目标函数和度量集合构建具有目的地的有向无环图(DODAG。目标函数利用度量和约束条件的集合计算出最优路径。由于网络部署的目的性有异,同一网络可能需要不同的链路质量要求等等。2.1.1 DODAG的构建过程DODAG构造过程由根节点或LoWPANi界路由器(LBR发起。为了实现DODAG的构造,RPL基于ICMPv6新增加了如下三条控制消息:DIS、DIO、DAORPL支持三种基本的数据传输模式:多点到点,Multipoint-to-Point(MP2P、点到多点,Point-
6、to-Multipoint(P2MP)、点到点,Point-to-Point(P2P).。首先来说实现为MP2刖造上行到根节点的品&径。根节点利用DIO消息广播DODA信息;根节点的邻居节点收到DIO后,根据一定的准则,决定是否加入这个DODAG这些准则包括:目标函数、DAGtt性、各种自定义的本地策略等,当某个邻居节点加入所广播的DODAG?,它就建立了一条到达DODAG节点的路径。根节点被称为该节点的“父节点”。如果新加入图的节点类型是路由器,它将向自己的邻居节点继续广播包含DODAG息的DIO消息。如果新加入图的节点是“叶子节点”,则只是完成入网动作,不广播DIO消息。邻居节点不
7、断重复上述广播和加入动作,直至到达网络的所有叶子节点。每个节点都有一条路径由指向自己的父节点,通过将数据消息发给父节点,最终就能到达根节点。然后来说实现为P2M刖造的从根节点出发的下行路径,下行路由的构造通过DAQ肖息来完成。每个节点加入DODAG?,在网络发起上行路径构造指令后,将发送DAQ肖息到它的父节点。DAO消息中含有前缀、前缀的有效时间等信息,用于表征节点所在前缀的可达性。当一个节点收到DACffi息后,将对前缀信息进行处理,并在路由表中添加路由表项。然后将该前缀信息进一步通过DAOt传给自己的父节点。一个节点也可以将收到的前缀可达性信息进行汇集后,再发给自己的父节点。前缀上传过程一
8、直进行,直至前缀信息到达父节点。每个节点都完成前缀上传后,整个网络将建立起一个从根节点到达所有叶子节点的下行路由图。2.1.2 环路避免的机制rank值。策略1:最大rank值比它自己的rankRPL采用两种策略避免环的出现,这些方法都用到深度策略,一个节点在邻居中选择父节点时,不能选择重庆邮电大学本科课程设计报告第二章总体设计方案(或系统建模)值大一定程度的节点,即rank值超过node-rank+max_depth的节点,不能选择作为父节点。至于超过多少深度才不能选择(max_depth的大小),由根节点确定。这种策略主要是防止选比自己还深的节点作为父节点。策略2:一个节点不能过度贪婪(g
9、reedy),不能为了增加父节点数,而移动自己在图中的深度,使深度值加大。2.1.3 涓流机制大多数路由协议,都需要设计周期性的keepalive帧,保证路由表的更新和维护。在LLN中,需周期性的发送DIO等消息,而周期性的更新会导致过多的控制开销,浪费能量。所以RPLX用了一种自适应的定时器机制,称为trickletimer。这种机制用来控制DIO消息发送的频率。trickletimer机制将图的更新视为一致性问题,使用trickletimer来决定何时组播DIO消息。trickletimer有个初始值,当网络趋于稳定时,trickletimer的周期会逐渐变大,相应的,网络中DIO消息发送
10、的频率会减少。当网络发生一些“不一致”事件时,trickletimer的值又会恢复到初始值,DIO消息的发送就会比较频繁。这些事件有:节点检测到环路、节点新入网、节点发生了移动,采用了trickletimer机制后,当网络越来越稳定的时候,RPLS制报文会逐渐减少;而当网络出现问题时,控制报文发送的频率又会显著增加,保障网络及时通过控制报文快速修复问题。2.2基于Contiki平台的RPL路由协议仿真我利用了Contiki平台上的cooja对RPL路由协议进行仿真,下面为仿真过程:(1)打开cooja,新建一个模拟器。图2.1新建模拟器重庆邮电大学本科课程设计报告第二章总体设计方案(或系统建模
11、)(2)加入根节点和叶子节点图2.2加入节点(3)创建成功后,便能出现如下画面,其中ID1为根节点,其他为叶子节点,按下simulationcontrol的start键,便开始DODAGI的构造。1nMilMViAsCbMi日HIH母,电,“!=白I-hMn>>RmbfiwibMlL*»-_JF&xH:famMuie,jiUw-<Mf«TThiC«4Hr*PMhe«<StaaMw"LnA3WfbMTMilfaFixp1ACKH.JIBE-H"IfrECW*?WntHIL行Whdwi-7T4用"
12、bwuifi(fniJbtjnu1Ubutu13国LAEuHI4tiw:"*Tf“timd-“中*7|3|,3|4|二llJiJJIA一HiEIE-HESBmwHEWEBHEm_Ir盘常由二畿葭器方,心L£M,毗茶耳FM所r浮ra+o«VH*IdIsKBLF+riM9HWKILM-flUMIWCLfuL'fWIKHESiSUvHU-F*FK4*«l*|iailIJC-M1|ItMLnil13.MlEkXJHtlinWILiL*1111MbUjL-UIHILfUjikCMCopIlML.-rww-7ilwiff*k.uitanl超iXiUnwwLi
13、旬rw祖f四,9HH1vlrfvuni«|*FLkM-IrilUciiLSMJ1WHh-wHE*-HlvnHl.Lt.1aI22.3-"I.4WpKTVHl.nalL|MxmftiQZ-AHinijIj.149ti.iuoaIJ14M出K-H49Odih1KrHV2HnhIU2<rirklbnTNEjMipir3IB3114I*ftInriMttWKiMHwrl$+n+cMuL'nriF由幻OBF“Lrm.|'*I|>&-Ilin'.ihaHiiwiafHr,rai|Bfkfl,拜MlHrwiJtail4JH131.图2.3开始仿
14、真重庆邮电大学本科课程设计报告第三章个人设计工作(或系统仿真分析)第三章个人设计工作(或系统仿真分析)3.1 DODAG图构建分析我对icmp6.c中的打印函数进行修改,使得整个DODACE的构建过程能够清楚地显示出总(1)上行路径的构建:从打印信息可清楚地看出构建上行路径的过程,根节点利用DIO消息广播DODAGJ信息;根节点的邻居节点收到DIO后,根据一定的准则,决定是否加入这个DODAG这些准则包括:目标函数、DAGI性、各种自定义的本地策略等,当某个邻居节点加入所广播的DODA修,它就建立了一条到达DODAGI节点的路径。抑如ilkmpUe。&南NyGtMlatkfl-E冲TM
15、CutfelNttHEtfkEtaiLrtdr:.一二区::!二中EhirrUibxy««iIcchSrhrs用电LogLhinisf呼不事阚制网却Mdl-MnUxuFbl-dKkihiiwiwkra睥mmu*tirone5pbtn1.Veilirufctr-ihMi呼.wtnrajwWFrSMXH.mlhtI:1rtmrrIKM4-Firngniptfirudtfibdtillul«Htrvithf口出ccknws.C国£ZSrKHii0HBCrSOHuXO曰XfiEtOZI露MOBjIKS1期&i珅PWMibFId蜂40员陋隈40通:时WME
16、故通的的电弓rR«H««Trt&-wro8gMbbib仰bmuCErs«H««1xK-MK*®K-.iMf:*IZI£MBME|>UCISWjHif*.H的:皿:的幅花域独::M魄刘金罡的3Db»WS檎力m««r由:网物施卸摊004物im.L百Ersc«"rfe0?WW'fflJW第曲皿,TOME-raB比2CISricnii*出近也加:皎般熨E:露阴晚翻毋Q1D止*M$修州1*-(理商Atffj小IX蜂她士mwwULlCI5rwwE«
17、;<IfSG'OWK*WW胤嗨IIDEM(ESMI?HBUESrKmi«*H晚WHtCKW:-左0痂>EhH(Si修触it01电地般也爆函*皿峰51的的ihlnThffelwleEQEliEllF1ZCWrectaH«*iiiK®K*®()tjM«:>izi£xmaimh9TtwfeU'.hit>rnlirrl:F32IDtllFhpMHfmLnlcrolF支hLCErwiisBf:至他如:期】佚旧福也e"3刖必但蟀0>90S5:打”«c1?®ODK'
18、OTW'MfdZMfESME,313F«hrem事wHckft#snnVWqLnbiojoraigim/在mb1,FlEdrQnpijrih?r"bMHeld!MpfcTf两IWnrEcGJtii$即MrucKJm5>9>J30LI加州曲国ma0。nc«"E««。距颂0Wa'JtMQ'HEITwht-d.!.hUIDmlinul:Z32门巾*电He婢*斌峰城妹.海地000fcrfHlrEUiHl!nralriZIhtht3"KIDLHlirMl:m*eTHfttMftOMfrOMft墟止M
19、il;Uplat*Mnif.il回Winii3口图3.1上行路径构建(2)下行路径的构建:下行路由的构造通过DAQ肖息来完成。每个节点加入DODA场,在网络发起上行路径构造指令后,将发送DAQ肖息到它的父节点。DAQ肖息中含有前缀、前缀的有效时间等信息,用于表征节点所在前缀的可达性。重庆邮电大学本科课程设计报告第三章个人设计工作(或系统仿真分析)图3.2下行路径构建最终DODA图的建立图3.3建立DODAG图3.2 能耗的分析我对节点分布较分散的情况和节点较密集的情况进行了仿真,结果显示,节点较密集的时候在拓扑建立的过程中能耗较高且较为均衡。另外,我发现在第一种情况的仿真过程中,连接多条路径的
20、节点都会消耗更多的能量,结果如图所示。重庆邮电大学本科课程设计报告第三章个人设计工作(或系统仿真分析)图3.4不同节点分布情况的示意图图3.5情况1的节点能耗示意图图3.6情况2的节点能耗示意图重庆邮电大学本科课程设计报告第三章个人设计工作(或系统仿真分析)3.3 涓流机制下图为节点的DIO消息发送间隔统计图,横轴代表网络运行时间,纵轴代表DIO消息的发送间隔,从图中可以看出涓流机制的工作原理。初始的DIO发送问隔是区间内的随机数,节点收到一致的DIO消息后,DIO发送间隔在原来的基础上翻倍,图中呈现出阶梯型增长的趋势。随着网络的稳定,信道中的控制消息数据包数量大大减少。当网络发生一些“不一致
21、”事件时,trickletimer的值又会恢复到初始值,DIO消息的发送就会比较频繁。如图所示就是节点10发生了位置的移动,导致其DIO消息的发送间隔时间又回到初始值。图3.7涓流机制示意图3.4 其他参数修改:(1) 在collect-commmon.c中Line053:#definePERIOD60改为30,修改过后使用collect-view工具进行数据收集的时间提前,可以在开始后30秒的时候看到收集到的个节点的信息。方便我们对RPL的性能进行分析。(2)在rpl-conf.hLine148:#defineRPL_DIO_INTERVAL_MIN12改为10,使DIO消息发送间隔变为10
22、秒,力口快节点发送消息的速度。第四章设计总结重庆邮电大学本科课程设计报告第四章设计总结这次课程设计我进行了对RPLM由协议的仿真,感觉获益良多,在这里总结一下这次课程设计的收获与感受。前段时间我们在物联网系统设计的课堂上才刚刚学习了RPLM由协议的相关知识,而这次则对此进行了一次实践,进一步加深了对此的理解。从仿真的过程中,可以直观地看到DODA的构建过程,直观地看到上行路径到根节点和下行路径的构建。在icmp6.c中有一段代码直观地描述了避免环路的机制。通过实际操作了解到了涓流机制的实质。另外,通过这次课程设计,也开拓了我的视野,使我有了第一次的机会对windows以外的操作系统进行操作,了
23、解到了makefile的一些规则以及Linux的一些命令。另外,这次设计对我C语言学习的帮助是巨大的,在啃代码,提高看代码的能力的同时,还能加深对RPL协议的理解,可谓是一举两得。我也希望自己在后续学习中去补足自己在这次课程设计所发现的一些问题,继续提高自己读写代码的能力,为日后学习工作打下一个良好的基础。参考文献重庆邮电大学本科课程设计报告参考文献1郭梯云,邹国扬,李建东.移动通信M.西安:西安电子科技大学出版社,2001.2董晓芳,孙岩,陈仁贵等.自行研制仪器设备的规范化管理J.实验技术与管理,2007,245:163-1653孙利民,李建中.无线传感器网络M.北京:清华大学出版社,200
24、5.4李振强.IPV6技术解密M.北京.人民邮电出版社,2006.10附录重庆邮电大学本科课程设计报告附录Leaf.c:PROCESS_THREAD(rpl_leaf_process,ev,data)staticstructetimerperiodic;/*定义etimer周期性定时器*/staticstructctimerbackoff_timer;/*定义ctimer补偿定时器*/PROCESS_BEGIN();PROCESS_PAUSE();set_global_address();printf("UDPLEAFIPADDRESS:");print_local_add
25、resses();leaf_connection=udp_new(NULL,UIP_HTONS(UDP_LEAF_PORT),NULL);if(leaf_connection=NULL)PRINTF("FailtomakeUDPconnection,exitingtheprocess!n");PROCESS_EXIT();)udp_bind(leaf_connection,UIP_HTONS(UDP_LEAF_PORT);PRINTF("Createdaconnectionwiththeroot");PRINT6ADDR(&leaf_connec
26、tion->ripaddr);PRINTF("local/remoteport%u/%un",UIP_HTONS(leaf_connection->lport),UIP_HTONS(leaf_connection->rport);etimer_set(&periodic,SEND_INTERVAL);/*设置etimer定时器,定时时长为SEND_INTERVAL*/*etimer:定时器期满,发送事件*ctimer:定时器期满,调用函数*rtimer:实时时钟,在一个精确的时间调用函数*/while(1)PROCESS_YIELD();if(ev
27、=tcpip_event)tcpip_handler();)if(etimer_expired(&periodic)etimer_reset(&periodic);ctimer_set(&backoff_timer,SEND_TIME,send_packet,NULL);11附录重庆邮电大学本科课程设计报告PROCESS_END();)Root.c:PROCESS_THREAD(udp_root_precess,ev,data)uip_ipaddr_tipaddr;structuip_ds6_addr*root_if;PROCESS_BEGIN();PROCESS_PA
28、USE();SENSORS_ACTIVATE(button_sensor);PRINTF("UDProotstartedn");#ifUIP_CONF_ROUTERuip_ip6addr(&ipaddr,0xaaaa,0,0,0,0,0,0,0xbbbb);/*构造ipv6地址*/*uip_ds6_set_addr_iid(&ipaddr,&uip_lladdr);*/uip_ds6_addr_add(&ipaddr,0,ADDR_MANUAL);root_if=uip_ds6_addr_lookup(&ipaddr);if(root_if!=NULL)rpl_dag_t*dag;/*rpl_set_r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年的合同延续与权利转让协议样本
- 2025年企业租赁新能源汽车合作合同
- 2025年企业市场营销策划委托协议书样本
- 2025年合作伙伴店铺联合经营协议
- 2025年共发展合作协议示例
- 2025年居民小区消防系统设计申请与施工协议
- 2025年先进技术许可合同规范模板
- 2025年全球贸易增长与多边合作协议
- 2025年协作一致行动人协议样本
- 2025年大型卡车租赁服务合同
- 我的家乡安徽淮北城市介绍课件
- 2024年青田中小学教师招聘真题
- 行政法-9行政确认
- 人教版(2024新版)一年级上册数学第一单元《数学游戏》单元整体教学设计
- 防洪防汛安全知识教育课件
- 一年级科学石头
- 部编人教版八年级语文下册全册课件
- 新起点英语二年级下册全册教案
- 《红星照耀中国》整本书阅读教学设计-统编版语文八年级上册
- 【幼儿园户外体育活动材料投放的现状调查报告(定量论文)8700字】
- 带状疱疹与带状疱疹后遗神经痛(HZ与PHN)
评论
0/150
提交评论