基于contiki平臺(tái)的路由協(xié)議仿真_第1頁(yè)
基于contiki平臺(tái)的路由協(xié)議仿真_第2頁(yè)
基于contiki平臺(tái)的路由協(xié)議仿真_第3頁(yè)
基于contiki平臺(tái)的路由協(xié)議仿真_第4頁(yè)
基于contiki平臺(tái)的路由協(xié)議仿真_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、評(píng)定成績(jī): 課程設(shè)計(jì)報(bào)告(傳感器網(wǎng)絡(luò)組網(wǎng))設(shè)計(jì)題目: 基于contiki平臺(tái)的路由協(xié)議及仿真 學(xué) 院 名 稱 :自動(dòng)化學(xué)院學(xué) 生 姓 名 :專 業(yè) :班 級(jí) :學(xué) 號(hào) :指 導(dǎo) 教 師 : 填表時(shí)間: 2016 年 5 月重慶郵電大學(xué)本科課程設(shè)計(jì)報(bào)告 摘要 摘要路由協(xié)議執(zhí)行網(wǎng)絡(luò)拓?fù)涿枋觥⒙酚蛇x擇和數(shù)據(jù)包轉(zhuǎn)發(fā)的功能,影響整個(gè)網(wǎng)絡(luò)的性能和存活時(shí)間?,F(xiàn)有的路由協(xié)議需要發(fā)送大量數(shù)據(jù)包維護(hù)網(wǎng)絡(luò)拓?fù)?,以及大量的存?chǔ)空間來(lái)存儲(chǔ)路由條目。由于硬件的限制,無(wú)線傳感器無(wú)論是能量還是處理能力,存儲(chǔ)能力都受到了極大的限制。因此,IETF ROLL工作組提出了一種針對(duì)低功耗有損網(wǎng)絡(luò)的IPV6路由協(xié)議,即RPL路由協(xié)議。

2、文中對(duì)RPL路由協(xié)議的拓?fù)錁?gòu)建過(guò)程進(jìn)行分析,并通過(guò)利用cooja仿真工具進(jìn)行仿真,在仿真中顯示出DODAG的構(gòu)建過(guò)程,并對(duì)進(jìn)行仿真出來(lái)的各種拓?fù)浣Y(jié)構(gòu)進(jìn)行能耗的分析,在仿真過(guò)程中直觀地顯示涓流機(jī)制。關(guān)鍵字:IPV6 RPL路由協(xié)議 仿真 能耗分析重慶郵電大學(xué)本科課程設(shè)計(jì)報(bào)告 目錄目錄摘要I第一章 緒論11.1 設(shè)計(jì)題目:11.2 設(shè)計(jì)任務(wù):11.3 設(shè)計(jì)要求:11.4 參考資料:1第二章 總體方案設(shè)計(jì)(或系統(tǒng)建模)22.1 RPL概述22.1.1DODAG的構(gòu)建過(guò)程22.1.2 環(huán)路避免的機(jī)制22.1.3涓流機(jī)制32.2 基于Contiki平臺(tái)的RPL路由協(xié)議仿真3第三章 個(gè)人設(shè)計(jì)工作(或系統(tǒng)仿

3、真分析)53.1DODAG圖構(gòu)建分析53.2能耗的分析63.3涓流機(jī)制83.4其他參數(shù)修改:8第四章 設(shè)計(jì)總結(jié)9參考文獻(xiàn)10附錄11I重慶郵電大學(xué)本科課程設(shè)計(jì)報(bào)告 第一章 緒論第一章 緒論1.1 設(shè)計(jì)題目:基于Contiki平臺(tái)的傳感網(wǎng)路由協(xié)議設(shè)計(jì)與仿真1.2 設(shè)計(jì)任務(wù):基于Contiki操作系統(tǒng)和Cooja仿真器,運(yùn)用所學(xué)的無(wú)線傳感網(wǎng)知識(shí),選擇一種典型的傳感網(wǎng)路由協(xié)議進(jìn)行組網(wǎng)設(shè)計(jì)和仿真。路由協(xié)議可在AODV、RPL、RIME等協(xié)議中任選一種,也可選擇其它典型的傳感網(wǎng)路由協(xié)議。1.3 設(shè)計(jì)要求:1掌握Contiki物聯(lián)網(wǎng)平臺(tái)開(kāi)發(fā)的基礎(chǔ)知識(shí)。2. 組網(wǎng)規(guī)模不少于20個(gè)節(jié)點(diǎn)。3. 完成網(wǎng)絡(luò)的運(yùn)行場(chǎng)

4、景分析、拓?fù)浣Y(jié)構(gòu)規(guī)劃和路由協(xié)議設(shè)計(jì)。4. 在Contiki平臺(tái)上獨(dú)立編寫符合需求的傳感網(wǎng)程序。5采用Contiki自帶的網(wǎng)絡(luò)仿真器,對(duì)編寫的程序和網(wǎng)絡(luò)路由協(xié)議進(jìn)行仿真,給出網(wǎng)絡(luò)運(yùn)行效果圖。6. 調(diào)節(jié)路由協(xié)議的一些參數(shù),對(duì)路由協(xié)議的性能變化進(jìn)行分析。1.4 參考資料:1Contiki開(kāi)發(fā)組. Contiki: The Open Source OS for the Internet of Things. /2. 桂勁松. 物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì). 北京:電子工業(yè)出版社. 2013.3. 謝希仁. 計(jì)算機(jī)網(wǎng)絡(luò). 北京:電子工業(yè)出版社. 2008.4. 李曉維.

5、 無(wú)線傳感器網(wǎng)絡(luò)技術(shù). 北京:北京理工大學(xué)出版社. 2007.重慶郵電大學(xué)本科課程設(shè)計(jì)報(bào)告 第二章 總體設(shè)計(jì)方案(或系統(tǒng)建模)第二章 總體方案設(shè)計(jì)(或系統(tǒng)建模)2.1 RPL概述 RPL是為L(zhǎng)LN而設(shè)計(jì)的距離矢量路由協(xié)議,通過(guò)使用目標(biāo)函數(shù)和度量集合構(gòu)建具有目的地的有向無(wú)環(huán)圖(DODAG)。目標(biāo)函數(shù)利用度量和約束條件的集合計(jì)算出最優(yōu)路徑。由于網(wǎng)絡(luò)部署的目的性有異,同一網(wǎng)絡(luò)可能需要不同的鏈路質(zhì)量要求等等。2.1.1 DODAG的構(gòu)建過(guò)程DODAG的構(gòu)造過(guò)程由根節(jié)點(diǎn)或LoWPAN邊界路由器(LBR)發(fā)起。為了實(shí)現(xiàn)DODAG的構(gòu)造,RPL基于ICMPv6,新增加了如下三條控制消息:DIS、DIO、DA

6、O。RPL支持三種基本的數(shù)據(jù)傳輸模式: 多點(diǎn)到點(diǎn),Multipoint-to-Point (MP2P)、點(diǎn)到多點(diǎn),Point-to-Multipoint (P2MP)、點(diǎn)到點(diǎn),Point-to-Point (P2P).。首先來(lái)說(shuō)實(shí)現(xiàn)為MP2P構(gòu)造上行到根節(jié)點(diǎn)的路徑。根節(jié)點(diǎn)利用DIO消息廣播DODAG的信息;根節(jié)點(diǎn)的鄰居節(jié)點(diǎn)收到DIO后,根據(jù)一定的準(zhǔn)則,決定是否加入這個(gè)DODAG,這些準(zhǔn)則包括:目標(biāo)函數(shù)、DAG特性、各種自定義的本地策略等,當(dāng)某個(gè)鄰居節(jié)點(diǎn)加入所廣播的DODAG后,它就建立了一條到達(dá)DODAG根節(jié)點(diǎn)的路徑。根節(jié)點(diǎn)被稱為該節(jié)點(diǎn)的“父節(jié)點(diǎn)”。如果新加入圖的節(jié)點(diǎn)類型是路由器,它將向自己的

7、鄰居節(jié)點(diǎn)繼續(xù)廣播包含DODAG信息的DIO消息。如果新加入圖的節(jié)點(diǎn)是“葉子節(jié)點(diǎn)”,則只是完成入網(wǎng)動(dòng)作,不廣播DIO消息。鄰居節(jié)點(diǎn)不斷重復(fù)上述廣播和加入動(dòng)作,直至到達(dá)網(wǎng)絡(luò)的所有葉子節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)都有一條路徑由指向自己的父節(jié)點(diǎn),通過(guò)將數(shù)據(jù)消息發(fā)給父節(jié)點(diǎn),最終就能到達(dá)根節(jié)點(diǎn)。然后來(lái)說(shuō)實(shí)現(xiàn)為P2MP構(gòu)造的從根節(jié)點(diǎn)出發(fā)的下行路徑,下行路由的構(gòu)造通過(guò)DAO消息來(lái)完成。每個(gè)節(jié)點(diǎn)加入DODAG后,在網(wǎng)絡(luò)發(fā)起上行路徑構(gòu)造指令后,將發(fā)送DAO消息到它的父節(jié)點(diǎn)。DAO消息中含有前綴、前綴的有效時(shí)間等信息,用于表征節(jié)點(diǎn)所在前綴的可達(dá)性。當(dāng)一個(gè)節(jié)點(diǎn)收到DAO消息后,將對(duì)前綴信息進(jìn)行處理,并在路由表中添加路由表項(xiàng)。然后將

8、該前綴信息進(jìn)一步通過(guò)DAO上傳給自己的父節(jié)點(diǎn)。一個(gè)節(jié)點(diǎn)也可以將收到的前綴可達(dá)性信息進(jìn)行匯集后,再發(fā)給自己的父節(jié)點(diǎn)。前綴上傳過(guò)程一直進(jìn)行,直至前綴信息到達(dá)父節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)都完成前綴上傳后,整個(gè)網(wǎng)絡(luò)將建立起一個(gè)從根節(jié)點(diǎn)到達(dá)所有葉子節(jié)點(diǎn)的下行路由圖。2.1.2 環(huán)路避免的機(jī)制 RPL采用兩種策略避免環(huán)的出現(xiàn),這些方法都用到rank值。策略1:最大深度策略,一個(gè)節(jié)點(diǎn)在鄰居中選擇父節(jié)點(diǎn)時(shí),不能選擇rank值比它自己的rank重慶郵電大學(xué)本科課程設(shè)計(jì)報(bào)告 第二章 總體設(shè)計(jì)方案(或系統(tǒng)建模)值大一定程度的節(jié)點(diǎn),即rank值超過(guò)node-rank+max_depth的節(jié)點(diǎn),不能選擇作為父節(jié)點(diǎn)。至于超過(guò)多少深度

9、才不能選擇(max_depth的大?。?,由根節(jié)點(diǎn)確定。這種策略主要是防止選比自己還深的節(jié)點(diǎn)作為父節(jié)點(diǎn)。策略2:一個(gè)節(jié)點(diǎn)不能過(guò)度貪婪(greedy),不能為了增加父節(jié)點(diǎn)數(shù),而移動(dòng)自己在圖中的深度,使深度值加大。2.1.3涓流機(jī)制 大多數(shù)路由協(xié)議,都需要設(shè)計(jì)周期性的keep alive幀,保證路由表的更新和維護(hù)。在LLN中,需周期性的發(fā)送DIO等消息,而周期性的更新會(huì)導(dǎo)致過(guò)多的控制開(kāi)銷,浪費(fèi)能量。 所以RPL采用了一種自適應(yīng)的定時(shí)器機(jī)制,稱為trickle timer。這種機(jī)制用來(lái)控制DIO消息發(fā)送的頻率。trickle timer機(jī)制將圖的更新視為一致性問(wèn)題,使用trickle timer來(lái)決定

10、何時(shí)組播DIO消息。trickle timer有個(gè)初始值,當(dāng)網(wǎng)絡(luò)趨于穩(wěn)定時(shí), trickle timer的周期會(huì)逐漸變大,相應(yīng)的,網(wǎng)絡(luò)中DIO消息發(fā)送的頻率會(huì)減少。當(dāng)網(wǎng)絡(luò)發(fā)生一些“不一致”事件時(shí), trickle timer的值又會(huì)恢復(fù)到初始值,DIO消息的發(fā)送就會(huì)比較頻繁。這些事件有:節(jié)點(diǎn)檢測(cè)到環(huán)路、節(jié)點(diǎn)新入網(wǎng)、節(jié)點(diǎn)發(fā)生了移動(dòng),采用了trickle timer機(jī)制后,當(dāng)網(wǎng)絡(luò)越來(lái)越穩(wěn)定的時(shí)候,RPL控制報(bào)文會(huì)逐漸減少;而當(dāng)網(wǎng)絡(luò)出現(xiàn)問(wèn)題時(shí),控制報(bào)文發(fā)送的頻率又會(huì)顯著增加,保障網(wǎng)絡(luò)及時(shí)通過(guò)控制報(bào)文快速修復(fù)問(wèn)題。2.2 基于Contiki平臺(tái)的RPL路由協(xié)議仿真 我利用了Contiki平臺(tái)上的coo

11、ja對(duì)RPL路由協(xié)議進(jìn)行仿真,下面為仿真過(guò)程:(1) 打開(kāi)cooja,新建一個(gè)模擬器。圖2.1 新建模擬器重慶郵電大學(xué)本科課程設(shè)計(jì)報(bào)告 第二章 總體設(shè)計(jì)方案(或系統(tǒng)建模) (2)加入根節(jié)點(diǎn)和葉子節(jié)點(diǎn)。圖2.2 加入節(jié)點(diǎn) (3)創(chuàng)建成功后,便能出現(xiàn)如下畫面,其中ID1為根節(jié)點(diǎn),其他為葉子節(jié)點(diǎn),按下simulation control的start鍵,便開(kāi)始DODAG圖的構(gòu)造。圖2.3 開(kāi)始仿真重慶郵電大學(xué)本科課程設(shè)計(jì)報(bào)告 第三章 個(gè)人設(shè)計(jì)工作(或系統(tǒng)仿真分析)第3章 個(gè)人設(shè)計(jì)工作(或系統(tǒng)仿真分析)3.1 DODAG圖構(gòu)建分析 我對(duì)icmp6.c中的打印函數(shù)進(jìn)行修改,使得整個(gè)DODAG圖的構(gòu)建過(guò)程能

12、夠清楚地顯示出來(lái)。 (1)上行路徑的構(gòu)建:從打印信息可清楚地看出構(gòu)建上行路徑的過(guò)程,根節(jié)點(diǎn)利用DIO消息廣播DODAG的信息;根節(jié)點(diǎn)的鄰居節(jié)點(diǎn)收到DIO后,根據(jù)一定的準(zhǔn)則,決定是否加入這個(gè)DODAG,這些準(zhǔn)則包括:目標(biāo)函數(shù)、DAG特性、各種自定義的本地策略等,當(dāng)某個(gè)鄰居節(jié)點(diǎn)加入所廣播的DODAG后,它就建立了一條到達(dá)DODAG根節(jié)點(diǎn)的路徑。圖3.1 上行路徑構(gòu)建 (2)下行路徑的構(gòu)建: 下行路由的構(gòu)造通過(guò)DAO消息來(lái)完成。每個(gè)節(jié)點(diǎn)加入DODAG后,在網(wǎng)絡(luò)發(fā)起上行路徑構(gòu)造指令后,將發(fā)送DAO消息到它的父節(jié)點(diǎn)。DAO消息中含有前綴、前綴的有效時(shí)間等信息,用于表征節(jié)點(diǎn)所在前綴的可達(dá)性。重慶郵電大學(xué)本

13、科課程設(shè)計(jì)報(bào)告 第三章 個(gè)人設(shè)計(jì)工作(或系統(tǒng)仿真分析)圖3.2 下行路徑構(gòu)建 (3)最終DODAG圖的建立圖3.3 建立DODAG圖3.2 能耗的分析 我對(duì)節(jié)點(diǎn)分布較分散的情況和節(jié)點(diǎn)較密集的情況進(jìn)行了仿真,結(jié)果顯示,節(jié)點(diǎn)較密集的時(shí)候在拓?fù)浣⒌倪^(guò)程中能耗較高且較為均衡。另外,我發(fā)現(xiàn)在第一種情況的仿真過(guò)程中,連接多條路徑的節(jié)點(diǎn)都會(huì)消耗更多的能量,結(jié)果如圖所示。重慶郵電大學(xué)本科課程設(shè)計(jì)報(bào)告 第三章 個(gè)人設(shè)計(jì)工作(或系統(tǒng)仿真分析)圖3.4 不同節(jié)點(diǎn)分布情況的示意圖圖3.5 情況1的節(jié)點(diǎn)能耗示意圖圖3.6 情況2的節(jié)點(diǎn)能耗示意圖重慶郵電大學(xué)本科課程設(shè)計(jì)報(bào)告 第三章 個(gè)人設(shè)計(jì)工作(或系統(tǒng)仿真分析)3.3

14、 涓流機(jī)制下圖為節(jié)點(diǎn)的DIO消息發(fā)送間隔統(tǒng)計(jì)圖,橫軸代表網(wǎng)絡(luò)運(yùn)行時(shí)間,縱軸代表DIO消息的發(fā)送間隔,從圖中可以看出涓流機(jī)制的工作原理。初始的DIO發(fā)送間隔是區(qū)間內(nèi)的隨機(jī)數(shù),節(jié)點(diǎn)收到一致的DIO消息后,DIO發(fā)送間隔在原來(lái)的基礎(chǔ)上翻倍,圖中呈現(xiàn)出階梯型增長(zhǎng)的趨勢(shì)。隨著網(wǎng)絡(luò)的穩(wěn)定,信道中的控制消息數(shù)據(jù)包數(shù)量大大減少。當(dāng)網(wǎng)絡(luò)發(fā)生一些“不一致”事件時(shí), trickle timer的值又會(huì)恢復(fù)到初始值,DIO消息的發(fā)送就會(huì)比較頻繁。如圖所示就是節(jié)點(diǎn)10發(fā)生了位置的移動(dòng),導(dǎo)致其DIO消息的發(fā)送間隔時(shí)間又回到初始值。圖3.7 涓流機(jī)制示意圖3.4 其他參數(shù)修改: (1) 在collect-commmon.c

15、中Line 053:#define PERIOD 60改為30,修改過(guò)后使用collect-view工具進(jìn)行數(shù)據(jù)收集的時(shí)間提前,可以在開(kāi)始后30秒的時(shí)候看到收集到的個(gè)節(jié)點(diǎn)的信息。方便我們對(duì)RPL的性能進(jìn)行分析。 (2)在rpl-conf.h Line 148:#define RPL_DIO_INTERVAL_MIN 12 改為10,使DIO消息發(fā)送間隔變?yōu)?0秒,加快節(jié)點(diǎn)發(fā)送消息的速度。重慶郵電大學(xué)本科課程設(shè)計(jì)報(bào)告 第四章 設(shè)計(jì)總結(jié)第四章 設(shè)計(jì)總結(jié)這次課程設(shè)計(jì)我進(jìn)行了對(duì)RPL路由協(xié)議的仿真,感覺(jué)獲益良多,在這里總結(jié)一下這次課程設(shè)計(jì)的收獲與感受。前段時(shí)間我們?cè)谖锫?lián)網(wǎng)系統(tǒng)設(shè)計(jì)的課堂上才剛剛學(xué)習(xí)了R

16、PL路由協(xié)議的相關(guān)知識(shí),而這次則對(duì)此進(jìn)行了一次實(shí)踐,進(jìn)一步加深了對(duì)此的理解。從仿真的過(guò)程中,可以直觀地看到DODAG的構(gòu)建過(guò)程,直觀地看到上行路徑到根節(jié)點(diǎn)和下行路徑的構(gòu)建。在icmp6.c中有一段代碼直觀地描述了避免環(huán)路的機(jī)制。通過(guò)實(shí)際操作了解到了涓流機(jī)制的實(shí)質(zhì)。另外,通過(guò)這次課程設(shè)計(jì),也開(kāi)拓了我的視野,使我有了第一次的機(jī)會(huì)對(duì)windows以外的操作系統(tǒng)進(jìn)行操作,了解到了makefile的一些規(guī)則以及Linux的一些命令。另外,這次設(shè)計(jì)對(duì)我C語(yǔ)言學(xué)習(xí)的幫助是巨大的,在啃代碼,提高看代碼的能力的同時(shí),還能加深對(duì)RPL協(xié)議的理解,可謂是一舉兩得。我也希望自己在后續(xù)學(xué)習(xí)中去補(bǔ)足自己在這次課程設(shè)計(jì)所發(fā)

17、現(xiàn)的一些問(wèn)題,繼續(xù)提高自己讀寫代碼的能力,為日后學(xué)習(xí)工作打下一個(gè)良好的基礎(chǔ)。重慶郵電大學(xué)本科課程設(shè)計(jì)報(bào)告 參考文獻(xiàn)參考文獻(xiàn)1 郭梯云,鄔國(guó)揚(yáng),李建東移動(dòng)通信M西安:西安電子科技大學(xué)出版社,20012 董曉芳,孫巖,陳仁貴等自行研制儀器設(shè)備的規(guī)范化管理J實(shí)驗(yàn)技術(shù)與管理,2007,245:1631653 孫利民,李建中. 無(wú)線傳感器網(wǎng)絡(luò)M. 北京:清華大學(xué)出版社,2005.4 李振強(qiáng). IPV6技術(shù)解密M. 北京.人民郵電出版社,2006.重慶郵電大學(xué)本科課程設(shè)計(jì)報(bào)告 附錄附錄Leaf.c:PROCESS_THREAD(rpl_leaf_process,ev,data) static struct

18、 etimer periodic;/*定義etimer 周期性定時(shí)器*/static struct ctimer backoff_timer;/*定義ctimer 補(bǔ)償定時(shí)器*/ PROCESS_BEGIN();PROCESS_PAUSE();set_global_address();printf("UDP LEAF IP ADDRESS:");print_local_addresses();leaf_connection =udp_new(NULL,UIP_HTONS(UDP_LEAF_PORT),NULL);if(leaf_connection = NULL) PRIN

19、TF("Fail to make UDP connection, exiting the process!n"); PROCESS_EXIT(); udp_bind(leaf_connection, UIP_HTONS(UDP_LEAF_PORT); PRINTF("Created a connection with the root "); PRINT6ADDR(&leaf_connection->ripaddr); PRINTF(" local/remote port %u/%un", UIP_HTONS(leaf_

20、connection->lport), UIP_HTONS(leaf_connection->rport);etimer_set(&periodic, SEND_INTERVAL);/*設(shè)置etimer定時(shí)器,定時(shí)時(shí)長(zhǎng)為SEND_INTERVAL*/* *etimer:定時(shí)器期滿,發(fā)送事件 *ctimer:定時(shí)器期滿,調(diào)用函數(shù) *rtimer:實(shí)時(shí)時(shí)鐘,在一個(gè)精確的時(shí)間調(diào)用函數(shù)*/while(1) PROCESS_YIELD(); if(ev = tcpip_event) tcpip_handler(); if(etimer_expired(&periodic)et

21、imer_reset(&periodic);ctimer_set(&backoff_timer, SEND_TIME, send_packet, NULL); 重慶郵電大學(xué)本科課程設(shè)計(jì)報(bào)告 附錄 PROCESS_END(); Root.c:PROCESS_THREAD(udp_root_precess,ev,data)uip_ipaddr_t ipaddr;struct uip_ds6_addr *root_if;PROCESS_BEGIN(); PROCESS_PAUSE(); SENSORS_ACTIVATE(button_sensor); PRINTF("UDP

22、 root startedn");#if UIP_CONF_ROUTER uip_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_t instance_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(const uip_ipaddr_t * rip

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論