版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
..評定成績:課程設計報告〔傳感器網(wǎng)絡組網(wǎng)〕設計題目:基于contiki平臺的路由協(xié)議及仿真學院名稱:自動化學院學生姓名:專業(yè):班級:學號:指導教師:填表時間:2016年5月..郵電大學本科課程設計報告摘要摘要路由協(xié)議執(zhí)行網(wǎng)絡拓撲描述、路由選擇和數(shù)據(jù)包轉(zhuǎn)發(fā)的功能,影響整個網(wǎng)絡的性能和存活時間。現(xiàn)有的路由協(xié)議需要發(fā)送大量數(shù)據(jù)包維護網(wǎng)絡拓撲,以及大量的存儲空間來存儲路由條目。由于硬件的限制,無線傳感器無論是能量還是處理能力,存儲能力都受到了極大的限制。因此,IETFROLL工作組提出了一種針對低功耗有損網(wǎng)絡的IPV6路由協(xié)議,即RPL路由協(xié)議。文中對RPL路由協(xié)議的拓撲構(gòu)建過程進展分析,并通過利用cooja仿真工具進展仿真,在仿真中顯示出DODAG的構(gòu)建過程,并對進展仿真出來的各種拓撲構(gòu)造進展能耗的分析,在仿真過程中直觀地顯示涓流機制。關(guān)鍵字:IPV6RPL路由協(xié)議仿真能耗分析..郵電大學本科課程設計報告目錄目錄TOC\o"1-3"\h\u2177摘要I1619第一章緒論133891.1設計題目:1189041.2設計任務:1321101.3設計要求:1200111.4參考資料:125195第二章總體方案設計〔或系統(tǒng)建?!?305812.1RPL概述2213552.1.1DODAG的構(gòu)建過程2319972.1.2環(huán)路防止的機制2235132.1.3涓流機制3124742.2基于Contiki平臺的RPL路由協(xié)議仿真34389第三章個人設計工作〔或系統(tǒng)仿真分析〕5308293.1DODAG圖構(gòu)建分析5307023.2能耗的分析6114023.3涓流機制8153073.4其他參數(shù)修改:829565第四章設計總結(jié)95620參考文獻 109235附錄 11..郵電大學本科課程設計報告第一章緒論第一章緒論1.1設計題目:基于Contiki平臺的傳感網(wǎng)路由協(xié)議設計與仿真1.2設計任務:基于Contiki操作系統(tǒng)和Cooja仿真器,運用所學的無線傳感網(wǎng)知識,選擇一種典型的傳感網(wǎng)路由協(xié)議進展組網(wǎng)設計和仿真。路由協(xié)議可在AODV、RPL、RIME等協(xié)議中任選一種,也可選擇其它典型的傳感網(wǎng)路由協(xié)議。1.3設計要求:1.掌握Contiki物聯(lián)網(wǎng)平臺開發(fā)的根底知識。2.組網(wǎng)規(guī)模不少于20個節(jié)點。3.完成網(wǎng)絡的運行場景分析、拓撲構(gòu)造規(guī)劃和路由協(xié)議設計。4.在Contiki平臺上獨立編寫符合需求的傳感網(wǎng)程序。5.采用Contiki自帶的網(wǎng)絡仿真器,對編寫的程序和網(wǎng)絡路由協(xié)議進展仿真,給出網(wǎng)絡運行效果圖。6.調(diào)節(jié)路由協(xié)議的一些參數(shù),對路由協(xié)議的性能變化進展分析。1.4參考資料:1.Contiki開發(fā)組.Contiki:TheOpenSourceOSfortheInternetofThings../2.桂勁松."物聯(lián)網(wǎng)系統(tǒng)設計".:電子工業(yè).2013.3.希仁."計算機網(wǎng)絡".:電子工業(yè).2008.4.曉維."無線傳感器網(wǎng)絡技術(shù)".:理工大學.2007.郵電大學本科課程設計報告第二章總體設計方案〔或系統(tǒng)建?!车诙驴傮w方案設計〔或系統(tǒng)建?!?.1RPL概述RPL是為LLN而設計的距離矢量路由協(xié)議,通過使用目標函數(shù)和度量集合構(gòu)建具有目的地的有向無環(huán)圖〔DODAG〕。目標函數(shù)利用度量和約束條件的集合計算出最優(yōu)路徑。由于網(wǎng)絡部署的目的性有異,同一網(wǎng)絡可能需要不同的鏈路質(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ù)一定的準那么,決定是否參加這個DODAG,這些準那么包括:目標函數(shù)、DAG特性、各種自定義的本地策略等,當某個鄰居節(jié)點參加所播送的DODAG后,它就建立了一條到達DODAG根節(jié)點的路徑。根節(jié)點被稱為該節(jié)點的"父節(jié)點〞。如果新參加圖的節(jié)點類型是路由器,它將向自己的鄰居節(jié)點繼續(xù)播送包含DODAG信息的DIO消息。如果新參加圖的節(jié)點是"葉子節(jié)點〞,那么只是完成入網(wǎng)動作,不播送DIO消息。鄰居節(jié)點不斷重復上述播送和參加動作,直至到達網(wǎng)絡的所有葉子節(jié)點。每個節(jié)點都有一條路徑由指向自己的父節(jié)點,通過將數(shù)據(jù)消息發(fā)給父節(jié)點,最終就能到達根節(jié)點。然后來說實現(xiàn)為P2MP構(gòu)造的從根節(jié)點出發(fā)的下行路徑,下行路由的構(gòu)造通過DAO消息來完成。每個節(jié)點參加DODAG后,在網(wǎng)絡發(fā)起上行路徑構(gòu)造指令后,將發(fā)送DAO消息到它的父節(jié)點。DAO消息中含有前綴、前綴的有效時間等信息,用于表征節(jié)點所在前綴的可達性。當一個節(jié)點收到DAO消息后,將對前綴信息進展處理,并在路由表中添加路由表項。然后將該前綴信息進一步通過DAO上傳給自己的父節(jié)點。一個節(jié)點也可以將收到的前綴可達性信息進展聚集后,再發(fā)給自己的父節(jié)點。前綴上傳過程一直進展,直至前綴信息到達父節(jié)點。每個節(jié)點都完成前綴上傳后,整個網(wǎng)絡將建立起一個從根節(jié)點到達所有葉子節(jié)點的下行路由圖。2.1.2環(huán)路防止的機制RPL采用兩種策略防止環(huán)的出現(xiàn),這些方法都用到rank值。策略1:最大深度策略,一個節(jié)點在鄰居中選擇父節(jié)點時,不能選擇rank值比它自己的rank郵電大學本科課程設計報告第二章總體設計方案〔或系統(tǒng)建?!持荡笠欢ǔ潭鹊墓?jié)點,即rank值超過node-rank+max_depth的節(jié)點,不能選擇作為父節(jié)點。至于超過多少深度才不能選擇〔max_depth的大小〕,由根節(jié)點確定。這種策略主要是防止選比自己還深的節(jié)點作為父節(jié)點。策略2:一個節(jié)點不能過度貪婪〔greedy〕,不能為了增加父節(jié)點數(shù),而移動自己在圖中的深度,使深度值加大。2.1.3涓流機制大多數(shù)路由協(xié)議,都需要設計周期性的keepalive幀,保證路由表的更新和維護。在LLN中,需周期性的發(fā)送DIO等消息,而周期性的更新會導致過多的控制開銷,浪費能量。所以RPL采用了一種自適應的定時器機制,稱為trickletimer。這種機制用來控制DIO消息發(fā)送的頻率。trickletimer機制將圖的更新視為一致性問題,使用trickletimer來決定何時組播DIO消息。trickletimer有個初始值,當網(wǎng)絡趨于穩(wěn)定時,trickletimer的周期會逐漸變大,相應的,網(wǎng)絡中DIO消息發(fā)送的頻率會減少。當網(wǎng)絡發(fā)生一些"不一致〞事件時,trickletimer的值又會恢復到初始值,DIO消息的發(fā)送就會比擬頻繁。這些事件有:節(jié)點檢測到環(huán)路、節(jié)點新入網(wǎng)、節(jié)點發(fā)生了移動,采用了trickletimer機制后,當網(wǎng)絡越來越穩(wěn)定的時候,RPL控制報文會逐漸減少;而當網(wǎng)絡出現(xiàn)問題時,控制報文發(fā)送的頻率又會顯著增加,保障網(wǎng)絡及時通過控制報文快速修復問題。2.2基于Contiki平臺的RPL路由協(xié)議仿真我利用了Contiki平臺上的cooja對RPL路由協(xié)議進展仿真,下面為仿真過程:翻開cooja,新建一個模擬器。圖2.1新建模擬器郵電大學本科課程設計報告第二章總體設計方案〔或系統(tǒng)建?!场?〕參加根節(jié)點和葉子節(jié)點。圖2.2參加節(jié)點〔3〕創(chuàng)立成功后,便能出現(xiàn)如下畫面,其中ID1為根節(jié)點,其他為葉子節(jié)點,按下simulationcontrol的start鍵,便開場DODAG圖的構(gòu)造。圖2.3開場仿真郵電大學本科課程設計報告第三章個人設計工作〔或系統(tǒng)仿真分析〕個人設計工作〔或系統(tǒng)仿真分析〕3.1DODAG圖構(gòu)建分析我對icmp6.c中的打印函數(shù)進展修改,使得整個DODAG圖的構(gòu)建過程能夠清楚地顯示出來?!?〕上行路徑的構(gòu)建:從打印信息可清楚地看出構(gòu)建上行路徑的過程,根節(jié)點利用DIO消息播送DODAG的信息;根節(jié)點的鄰居節(jié)點收到DIO后,根據(jù)一定的準那么,決定是否參加這個DODAG,這些準那么包括:目標函數(shù)、DAG特性、各種自定義的本地策略等,當某個鄰居節(jié)點參加所播送的DODAG后,它就建立了一條到達DODAG根節(jié)點的路徑。圖3.1上行路徑構(gòu)建〔2〕下行路徑的構(gòu)建:下行路由的構(gòu)造通過DAO消息來完成。每個節(jié)點參加DODAG后,在網(wǎng)絡發(fā)起上行路徑構(gòu)造指令后,將發(fā)送DAO消息到它的父節(jié)點。DAO消息中含有前綴、前綴的有效時間等信息,用于表征節(jié)點所在前綴的可達性。郵電大學本科課程設計報告第三章個人設計工作〔或系統(tǒng)仿真分析〕圖3.2下行路徑構(gòu)建(3)最終DODAG圖的建立圖3.3建立DODAG圖3.2能耗的分析我對節(jié)點分布較分散的情況和節(jié)點較密集的情況進展了仿真,結(jié)果顯示,節(jié)點較密集的時候在拓撲建立的過程中能耗較高且較為均衡。另外,我發(fā)現(xiàn)在第一種情況的仿真過程中,連接多條路徑的節(jié)點都會消耗更多的能量,結(jié)果如下圖。郵電大學本科課程設計報告第三章個人設計工作〔或系統(tǒng)仿真分析〕圖3.4不同節(jié)點分布情況的示意圖圖3.5情況1的節(jié)點能耗示意圖圖3.6情況2的節(jié)點能耗示意圖郵電大學本科課程設計報告第三章個人設計工作〔或系統(tǒng)仿真分析〕3.3涓流機制下列圖為節(jié)點的DIO消息發(fā)送間隔統(tǒng)計圖,橫軸代表網(wǎng)絡運行時間,縱軸代表DIO消息的發(fā)送間隔,從圖中可以看出涓流機制的工作原理。初始的DIO發(fā)送間隔是區(qū)間的隨機數(shù),節(jié)點收到一致的DIO消息后,DIO發(fā)送間隔在原來的根底上翻倍,圖中呈現(xiàn)出階梯型增長的趨勢。隨著網(wǎng)絡的穩(wěn)定,信道中的控制消息數(shù)據(jù)包數(shù)量大大減少。當網(wǎng)絡發(fā)生一些"不一致〞事件時,trickletimer的值又會恢復到初始值,DIO消息的發(fā)送就會比擬頻繁。如下圖就是節(jié)點10發(fā)生了位置的移動,導致其DIO消息的發(fā)送間隔時間又回到初始值。圖3.7涓流機制示意圖3.4其他參數(shù)修改:〔1〕在collect-mmon.c中Line053:#definePERIOD60改為30,修改正后使用collect-view工具進展數(shù)據(jù)收集的時間提前,可以在開場后30秒的時候看到收集到的個節(jié)點的信息。方便我們對RPL的性能進展分析?!?〕在rpl-conf.hLine148:#defineRPL_DIO_INTERVAL_MIN12改為10,使DIO消息發(fā)送間隔變?yōu)?0秒,加快節(jié)點發(fā)送消息的速度。郵電大學本科課程設計報告第四章設計總結(jié)第四章設計總結(jié)這次課程設計我進展了對RPL路由協(xié)議的仿真,感覺獲益良多,在這里總結(jié)一下這次課程設計的收獲與感受。前段時間我們在物聯(lián)網(wǎng)系統(tǒng)設計的課堂上才剛剛學習了RPL路由協(xié)議的相關(guān)知識,而這次那么對此進展了一次實踐,進一步加深了對此的理解。從仿真的過程中,可以直觀地看到DODAG的構(gòu)建過程,直觀地看到上行路徑到根節(jié)點和下行路徑的構(gòu)建。在icmp6.c中有一段代碼直觀地描述了防止環(huán)路的機制。通過實際操作了解到了涓流機制的實質(zhì)。另外,通過這次課程設計,也開拓了我的視野,使我有了第一次的時機對windows以外的操作系統(tǒng)進展操作,了解到了makefile的一些規(guī)那么以及Linux的一些命令。另外,這次設計對我C語言學習的幫助是巨大的,在啃代碼,提高看代碼的能力的同時,還能加深對RPL協(xié)議的理解,可謂是一舉兩得。我也希望自己在后續(xù)學習中去補足自己在這次課程設計所發(fā)現(xiàn)的一些問題,繼續(xù)提高自己讀寫代碼的能力,為日后學習工作打下一個良好的根底。郵電大學本科課程設計報告參考文獻參考文獻郭梯云,鄔國揚,建東.移動通信[M].:電子科技大學,2001.董曉芳,巖,仁貴等.自行研制儀器設備的規(guī)化管理〔J〕.實驗技術(shù)與管理,2007,24﹝5﹞:163-165利民,建中.無線傳感器網(wǎng)絡[M].:清華大學,2005.[4]振強.IPV6技術(shù)解密[M]..人民郵電,2006.郵電大學本科課程設計報告附錄附錄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_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); /*設置etimer定時器,定時時長為SEND_INTERVAL*/ /* *etimer:定時器期滿,發(fā)送事件 *ctimer:定時器期滿,調(diào)用函數(shù) *rtimer:實時時鐘,在一個準確的時間調(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); }郵電大學本科課程設計報告附錄 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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024汽車融資租賃法律服務合同
- 2024清潔勞務分包合同范本:企事業(yè)單位辦公區(qū)清潔服務協(xié)議2篇
- 逐級消防安全責任制模版(3篇)
- 2025版汽車融資租賃擔保試題合同3篇
- 非煤礦山安全生產(chǎn)責任狀(3篇)
- 2024年紡織用紗線標準采購協(xié)議版
- 2024年版權(quán)保護:視頻保密協(xié)議
- 2025年度海島開發(fā)回遷安置房建設協(xié)議3篇
- 物業(yè)公司工程主管職責模版(2篇)
- 二零二五年全新發(fā)布!教育資源出口貿(mào)易合同3篇
- 110kVGIS設備狀態(tài)評價細則
- 中小學數(shù)學學科德育實施指導綱要
- 并聯(lián)無功補償項目節(jié)約電量的計算中國電力企業(yè)聯(lián)合會
- 《病毒》教學設計
- 路面基層允許彎沉值計算+彎沉系數(shù)圖+允許彎沉值計算公式
- 連鑄意外事故處理
- 國家開放大學(中央廣播電視大學)報名登記表【模板】
- 新職業(yè)英語1-基礎(chǔ)篇-Unit 3(課堂PPT)
- 公司各部門協(xié)作情況互評表滿意度調(diào)查表
- 第二章水準測量PPT課件
- 長輸管道原油輸送基本知識
評論
0/150
提交評論