




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
..評定成績:課程設(shè)計報告〔傳感器網(wǎng)絡(luò)組網(wǎng)〕設(shè)計題目:基于contiki平臺的路由協(xié)議及仿真學(xué)院名稱:自動化學(xué)院學(xué)生姓名:專業(yè):班級:學(xué)號:指導(dǎo)教師:填表時間:2016年5月..郵電大學(xué)本科課程設(shè)計報告摘要摘要路由協(xié)議執(zhí)行網(wǎng)絡(luò)拓?fù)涿枋?、路由選擇和數(shù)據(jù)包轉(zhuǎn)發(fā)的功能,影響整個網(wǎng)絡(luò)的性能和存活時間?,F(xiàn)有的路由協(xié)議需要發(fā)送大量數(shù)據(jù)包維護(hù)網(wǎng)絡(luò)拓?fù)?,以及大量的存儲空間來存儲路由條目。由于硬件的限制,無線傳感器無論是能量還是處理能力,存儲能力都受到了極大的限制。因此,IETFROLL工作組提出了一種針對低功耗有損網(wǎng)絡(luò)的IPV6路由協(xié)議,即RPL路由協(xié)議。文中對RPL路由協(xié)議的拓?fù)錁?gòu)建過程進(jìn)展分析,并通過利用cooja仿真工具進(jìn)展仿真,在仿真中顯示出DODAG的構(gòu)建過程,并對進(jìn)展仿真出來的各種拓?fù)錁?gòu)造進(jìn)展能耗的分析,在仿真過程中直觀地顯示涓流機(jī)制。關(guān)鍵字:IPV6RPL路由協(xié)議仿真能耗分析..郵電大學(xué)本科課程設(shè)計報告目錄目錄TOC\o"1-3"\h\u2177摘要I1619第一章緒論133891.1設(shè)計題目:1189041.2設(shè)計任務(wù):1321101.3設(shè)計要求:1200111.4參考資料:125195第二章總體方案設(shè)計〔或系統(tǒng)建?!?305812.1RPL概述2213552.1.1DODAG的構(gòu)建過程2319972.1.2環(huán)路防止的機(jī)制2235132.1.3涓流機(jī)制3124742.2基于Contiki平臺的RPL路由協(xié)議仿真34389第三章個人設(shè)計工作〔或系統(tǒng)仿真分析〕5308293.1DODAG圖構(gòu)建分析5307023.2能耗的分析6114023.3涓流機(jī)制8153073.4其他參數(shù)修改:829565第四章設(shè)計總結(jié)95620參考文獻(xiàn) 109235附錄 11..郵電大學(xué)本科課程設(shè)計報告第一章緒論第一章緒論1.1設(shè)計題目:基于Contiki平臺的傳感網(wǎng)路由協(xié)議設(shè)計與仿真1.2設(shè)計任務(wù):基于Contiki操作系統(tǒng)和Cooja仿真器,運用所學(xué)的無線傳感網(wǎng)知識,選擇一種典型的傳感網(wǎng)路由協(xié)議進(jìn)展組網(wǎng)設(shè)計和仿真。路由協(xié)議可在AODV、RPL、RIME等協(xié)議中任選一種,也可選擇其它典型的傳感網(wǎng)路由協(xié)議。1.3設(shè)計要求:1.掌握Contiki物聯(lián)網(wǎng)平臺開發(fā)的根底知識。2.組網(wǎng)規(guī)模不少于20個節(jié)點。3.完成網(wǎng)絡(luò)的運行場景分析、拓?fù)錁?gòu)造規(guī)劃和路由協(xié)議設(shè)計。4.在Contiki平臺上獨立編寫符合需求的傳感網(wǎng)程序。5.采用Contiki自帶的網(wǎng)絡(luò)仿真器,對編寫的程序和網(wǎng)絡(luò)路由協(xié)議進(jìn)展仿真,給出網(wǎng)絡(luò)運行效果圖。6.調(diào)節(jié)路由協(xié)議的一些參數(shù),對路由協(xié)議的性能變化進(jìn)展分析。1.4參考資料:1.Contiki開發(fā)組.Contiki:TheOpenSourceOSfortheInternetofThings../2.桂勁松."物聯(lián)網(wǎng)系統(tǒng)設(shè)計".:電子工業(yè).2013.3.希仁."計算機(jī)網(wǎng)絡(luò)".:電子工業(yè).2008.4.曉維."無線傳感器網(wǎng)絡(luò)技術(shù)".:理工大學(xué).2007.郵電大學(xué)本科課程設(shè)計報告第二章總體設(shè)計方案〔或系統(tǒng)建模〕第二章總體方案設(shè)計〔或系統(tǒng)建?!?.1RPL概述RPL是為LLN而設(shè)計的距離矢量路由協(xié)議,通過使用目標(biāo)函數(shù)和度量集合構(gòu)建具有目的地的有向無環(huán)圖〔DODAG〕。目標(biāo)函數(shù)利用度量和約束條件的集合計算出最優(yōu)路徑。由于網(wǎng)絡(luò)部署的目的性有異,同一網(wǎng)絡(luò)可能需要不同的鏈路質(zhì)量要求等等。2.1.1DODAG的構(gòu)建過程DODAG的構(gòu)造過程由根節(jié)點或LoWPAN邊界路由器〔LBR〕發(fā)起。為了實現(xiàn)DODAG的構(gòu)造,RPL基于ICMPv6,新增加了如下三條控制消息:DIS、DIO、DAO。RPL支持三種根本的數(shù)據(jù)傳輸模式:多點到點,Multipoint-to-Point(MP2P)、點到多點,Point-to-Multipoint(P2MP)、點到點,Point-to-Point(P2P).。首先來說實現(xiàn)為MP2P構(gòu)造上行到根節(jié)點的路徑。根節(jié)點利用DIO消息播送DODAG的信息;根節(jié)點的鄰居節(jié)點收到DIO后,根據(jù)一定的準(zhǔn)那么,決定是否參加這個DODAG,這些準(zhǔn)那么包括:目標(biāo)函數(shù)、DAG特性、各種自定義的本地策略等,當(dāng)某個鄰居節(jié)點參加所播送的DODAG后,它就建立了一條到達(dá)DODAG根節(jié)點的路徑。根節(jié)點被稱為該節(jié)點的"父節(jié)點〞。如果新參加圖的節(jié)點類型是路由器,它將向自己的鄰居節(jié)點繼續(xù)播送包含DODAG信息的DIO消息。如果新參加圖的節(jié)點是"葉子節(jié)點〞,那么只是完成入網(wǎng)動作,不播送DIO消息。鄰居節(jié)點不斷重復(fù)上述播送和參加動作,直至到達(dá)網(wǎng)絡(luò)的所有葉子節(jié)點。每個節(jié)點都有一條路徑由指向自己的父節(jié)點,通過將數(shù)據(jù)消息發(fā)給父節(jié)點,最終就能到達(dá)根節(jié)點。然后來說實現(xiàn)為P2MP構(gòu)造的從根節(jié)點出發(fā)的下行路徑,下行路由的構(gòu)造通過DAO消息來完成。每個節(jié)點參加DODAG后,在網(wǎng)絡(luò)發(fā)起上行路徑構(gòu)造指令后,將發(fā)送DAO消息到它的父節(jié)點。DAO消息中含有前綴、前綴的有效時間等信息,用于表征節(jié)點所在前綴的可達(dá)性。當(dāng)一個節(jié)點收到DAO消息后,將對前綴信息進(jìn)展處理,并在路由表中添加路由表項。然后將該前綴信息進(jìn)一步通過DAO上傳給自己的父節(jié)點。一個節(jié)點也可以將收到的前綴可達(dá)性信息進(jìn)展聚集后,再發(fā)給自己的父節(jié)點。前綴上傳過程一直進(jìn)展,直至前綴信息到達(dá)父節(jié)點。每個節(jié)點都完成前綴上傳后,整個網(wǎng)絡(luò)將建立起一個從根節(jié)點到達(dá)所有葉子節(jié)點的下行路由圖。2.1.2環(huán)路防止的機(jī)制RPL采用兩種策略防止環(huán)的出現(xiàn),這些方法都用到rank值。策略1:最大深度策略,一個節(jié)點在鄰居中選擇父節(jié)點時,不能選擇rank值比它自己的rank郵電大學(xué)本科課程設(shè)計報告第二章總體設(shè)計方案〔或系統(tǒng)建?!持荡笠欢ǔ潭鹊墓?jié)點,即rank值超過node-rank+max_depth的節(jié)點,不能選擇作為父節(jié)點。至于超過多少深度才不能選擇〔max_depth的大小〕,由根節(jié)點確定。這種策略主要是防止選比自己還深的節(jié)點作為父節(jié)點。策略2:一個節(jié)點不能過度貪婪〔greedy〕,不能為了增加父節(jié)點數(shù),而移動自己在圖中的深度,使深度值加大。2.1.3涓流機(jī)制大多數(shù)路由協(xié)議,都需要設(shè)計周期性的keepalive幀,保證路由表的更新和維護(hù)。在LLN中,需周期性的發(fā)送DIO等消息,而周期性的更新會導(dǎo)致過多的控制開銷,浪費能量。所以RPL采用了一種自適應(yīng)的定時器機(jī)制,稱為trickletimer。這種機(jī)制用來控制DIO消息發(fā)送的頻率。trickletimer機(jī)制將圖的更新視為一致性問題,使用trickletimer來決定何時組播DIO消息。trickletimer有個初始值,當(dāng)網(wǎng)絡(luò)趨于穩(wěn)定時,trickletimer的周期會逐漸變大,相應(yīng)的,網(wǎng)絡(luò)中DIO消息發(fā)送的頻率會減少。當(dāng)網(wǎng)絡(luò)發(fā)生一些"不一致〞事件時,trickletimer的值又會恢復(fù)到初始值,DIO消息的發(fā)送就會比擬頻繁。這些事件有:節(jié)點檢測到環(huán)路、節(jié)點新入網(wǎng)、節(jié)點發(fā)生了移動,采用了trickletimer機(jī)制后,當(dāng)網(wǎng)絡(luò)越來越穩(wěn)定的時候,RPL控制報文會逐漸減少;而當(dāng)網(wǎng)絡(luò)出現(xiàn)問題時,控制報文發(fā)送的頻率又會顯著增加,保障網(wǎng)絡(luò)及時通過控制報文快速修復(fù)問題。2.2基于Contiki平臺的RPL路由協(xié)議仿真我利用了Contiki平臺上的cooja對RPL路由協(xié)議進(jìn)展仿真,下面為仿真過程:翻開cooja,新建一個模擬器。圖2.1新建模擬器郵電大學(xué)本科課程設(shè)計報告第二章總體設(shè)計方案〔或系統(tǒng)建?!场?〕參加根節(jié)點和葉子節(jié)點。圖2.2參加節(jié)點〔3〕創(chuàng)立成功后,便能出現(xiàn)如下畫面,其中ID1為根節(jié)點,其他為葉子節(jié)點,按下simulationcontrol的start鍵,便開場DODAG圖的構(gòu)造。圖2.3開場仿真郵電大學(xué)本科課程設(shè)計報告第三章個人設(shè)計工作〔或系統(tǒng)仿真分析〕個人設(shè)計工作〔或系統(tǒng)仿真分析〕3.1DODAG圖構(gòu)建分析我對icmp6.c中的打印函數(shù)進(jìn)展修改,使得整個DODAG圖的構(gòu)建過程能夠清楚地顯示出來。〔1〕上行路徑的構(gòu)建:從打印信息可清楚地看出構(gòu)建上行路徑的過程,根節(jié)點利用DIO消息播送DODAG的信息;根節(jié)點的鄰居節(jié)點收到DIO后,根據(jù)一定的準(zhǔn)那么,決定是否參加這個DODAG,這些準(zhǔn)那么包括:目標(biāo)函數(shù)、DAG特性、各種自定義的本地策略等,當(dāng)某個鄰居節(jié)點參加所播送的DODAG后,它就建立了一條到達(dá)DODAG根節(jié)點的路徑。圖3.1上行路徑構(gòu)建〔2〕下行路徑的構(gòu)建:下行路由的構(gòu)造通過DAO消息來完成。每個節(jié)點參加DODAG后,在網(wǎng)絡(luò)發(fā)起上行路徑構(gòu)造指令后,將發(fā)送DAO消息到它的父節(jié)點。DAO消息中含有前綴、前綴的有效時間等信息,用于表征節(jié)點所在前綴的可達(dá)性。郵電大學(xué)本科課程設(shè)計報告第三章個人設(shè)計工作〔或系統(tǒng)仿真分析〕圖3.2下行路徑構(gòu)建(3)最終DODAG圖的建立圖3.3建立DODAG圖3.2能耗的分析我對節(jié)點分布較分散的情況和節(jié)點較密集的情況進(jìn)展了仿真,結(jié)果顯示,節(jié)點較密集的時候在拓?fù)浣⒌倪^程中能耗較高且較為均衡。另外,我發(fā)現(xiàn)在第一種情況的仿真過程中,連接多條路徑的節(jié)點都會消耗更多的能量,結(jié)果如下圖。郵電大學(xué)本科課程設(shè)計報告第三章個人設(shè)計工作〔或系統(tǒng)仿真分析〕圖3.4不同節(jié)點分布情況的示意圖圖3.5情況1的節(jié)點能耗示意圖圖3.6情況2的節(jié)點能耗示意圖郵電大學(xué)本科課程設(shè)計報告第三章個人設(shè)計工作〔或系統(tǒng)仿真分析〕3.3涓流機(jī)制下列圖為節(jié)點的DIO消息發(fā)送間隔統(tǒng)計圖,橫軸代表網(wǎng)絡(luò)運行時間,縱軸代表DIO消息的發(fā)送間隔,從圖中可以看出涓流機(jī)制的工作原理。初始的DIO發(fā)送間隔是區(qū)間的隨機(jī)數(shù),節(jié)點收到一致的DIO消息后,DIO發(fā)送間隔在原來的根底上翻倍,圖中呈現(xiàn)出階梯型增長的趨勢。隨著網(wǎng)絡(luò)的穩(wěn)定,信道中的控制消息數(shù)據(jù)包數(shù)量大大減少。當(dāng)網(wǎng)絡(luò)發(fā)生一些"不一致〞事件時,trickletimer的值又會恢復(fù)到初始值,DIO消息的發(fā)送就會比擬頻繁。如下圖就是節(jié)點10發(fā)生了位置的移動,導(dǎo)致其DIO消息的發(fā)送間隔時間又回到初始值。圖3.7涓流機(jī)制示意圖3.4其他參數(shù)修改:〔1〕在collect-mmon.c中Line053:#definePERIOD60改為30,修改正后使用collect-view工具進(jìn)展數(shù)據(jù)收集的時間提前,可以在開場后30秒的時候看到收集到的個節(jié)點的信息。方便我們對RPL的性能進(jìn)展分析?!?〕在rpl-conf.hLine148:#defineRPL_DIO_INTERVAL_MIN12改為10,使DIO消息發(fā)送間隔變?yōu)?0秒,加快節(jié)點發(fā)送消息的速度。郵電大學(xué)本科課程設(shè)計報告第四章設(shè)計總結(jié)第四章設(shè)計總結(jié)這次課程設(shè)計我進(jìn)展了對RPL路由協(xié)議的仿真,感覺獲益良多,在這里總結(jié)一下這次課程設(shè)計的收獲與感受。前段時間我們在物聯(lián)網(wǎng)系統(tǒng)設(shè)計的課堂上才剛剛學(xué)習(xí)了RPL路由協(xié)議的相關(guān)知識,而這次那么對此進(jìn)展了一次實踐,進(jìn)一步加深了對此的理解。從仿真的過程中,可以直觀地看到DODAG的構(gòu)建過程,直觀地看到上行路徑到根節(jié)點和下行路徑的構(gòu)建。在icmp6.c中有一段代碼直觀地描述了防止環(huán)路的機(jī)制。通過實際操作了解到了涓流機(jī)制的實質(zhì)。另外,通過這次課程設(shè)計,也開拓了我的視野,使我有了第一次的時機(jī)對windows以外的操作系統(tǒng)進(jìn)展操作,了解到了makefile的一些規(guī)那么以及Linux的一些命令。另外,這次設(shè)計對我C語言學(xué)習(xí)的幫助是巨大的,在啃代碼,提高看代碼的能力的同時,還能加深對RPL協(xié)議的理解,可謂是一舉兩得。我也希望自己在后續(xù)學(xué)習(xí)中去補(bǔ)足自己在這次課程設(shè)計所發(fā)現(xiàn)的一些問題,繼續(xù)提高自己讀寫代碼的能力,為日后學(xué)習(xí)工作打下一個良好的根底。郵電大學(xué)本科課程設(shè)計報告參考文獻(xiàn)參考文獻(xiàn)郭梯云,鄔國揚,建東.移動通信[M].:電子科技大學(xué),2001.董曉芳,巖,仁貴等.自行研制儀器設(shè)備的規(guī)化管理〔J〕.實驗技術(shù)與管理,2007,24﹝5﹞:163-165利民,建中.無線傳感器網(wǎng)絡(luò)[M].:清華大學(xué),2005.[4]振強(qiáng).IPV6技術(shù)解密[M]..人民郵電,2006.郵電大學(xué)本科課程設(shè)計報告附錄附錄Leaf.c:PROCESS_THREAD(rpl_leaf_process,ev,data){ staticstructetimerperiodic; /*定義etimer周期性定時器*/ staticstructctimerbackoff_timer; /*定義ctimer補(bǔ)償定時器*/PROCESS_BEGIN(); PROCESS_PAUSE(); set_global_address(); printf("UDPLEAFIPADDRESS:"); print_local_addresses(); 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_connection->ripaddr);PRINTF("local/remoteport%u/%u\n",UIP_HTONS(leaf_connection->lport),UIP_HTONS(leaf_connection->rport)); etimer_set(&periodic,SEND_INTERVAL); /*設(shè)置etimer定時器,定時時長為SEND_INTERVAL*/ /* *etimer:定時器期滿,發(fā)送事件 *ctimer:定時器期滿,調(diào)用函數(shù) *rtimer:實時時鐘,在一個準(zhǔn)確的時間調(diào)用函數(shù) */ while(1){PROCESS_YIELD();if(ev==tcpip_event){tcpip_handler();}if(etimer_expired(&periodic)){ etimer_reset(&periodic); ctimer_set(&backoff_timer,SEND_TIME,send_packet,NULL); }郵電大學(xué)本科課程設(shè)計報告附錄 PROCESS_END();}}Root.c:PROCESS_THREAD(udp_root_precess,ev,data){ uip_ipaddr_tipaddr; structuip_ds6_addr*root_if; PROCESS_BEGIN();PROCESS_PAUSE();SENSORS_ACTIVATE(button_sensor);PRINTF("UDProotstarted\n");#ifUIP_CONF_ROUTERuip_ip6addr(&ipaddr,0xaaaa,0,0,0,0,0,0,0xbbbb); /*構(gòu)造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_root(uint8_tinstance_id,uip_ipaddr_t*dag_id) *0x2a,42 */ dag=rpl_set_root(0x2a,(uip_ip6addr_t*)&ipaddr);uip_ip6addr(&ipaddr,0xaaaa,0,0,0,0,0,0,0xbbbb);print_local_addresses();NETSTACK_RDC.off(1);/* *udp_new(constuip_ipadd
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 注安法規(guī)試題及答案
- Msoffice全面解析與試題及答案
- 租房屋轉(zhuǎn)讓合同協(xié)議書
- 2025系統(tǒng)分析師考試復(fù)習(xí)策略試題及答案
- 初級社工考試快問快答試題及答案
- 學(xué)習(xí)有效利用在線教育資源的試題及答案
- 輸血科人員管理制度
- 建立宏觀審慎管理制度
- 水利工程公司管理制度
- 市場銷售小區(qū)管理制度
- 現(xiàn)代藝術(shù)野獸派-中外美術(shù)史-課件
- 社區(qū)優(yōu)質(zhì)服務(wù)基層行解讀2022版目錄
- 雙曲線齒輪幾何設(shè)計
- 高分子材料完整版課件
- 2022年商務(wù)標(biāo)技術(shù)標(biāo)最全投標(biāo)文件模板
- TFDS系統(tǒng)介紹(濟(jì)南)
- 滾子鏈鏈輪的基本參數(shù)和主要尺寸
- 青海省基本醫(yī)療保險門診特殊病慢性病病種待遇認(rèn)定表
- 幼兒園組織構(gòu)架圖-及工作流程
- 維氏硬度計作業(yè)指導(dǎo)書
- 酒店各部門員工考核標(biāo)準(zhǔn)評分表
評論
0/150
提交評論