[計算機硬件及網(wǎng)絡]無線AdHoc網(wǎng)絡中一種多路徑路由協(xié)議仿真研究
《[計算機硬件及網(wǎng)絡]無線AdHoc網(wǎng)絡中一種多路徑路由協(xié)議仿真研究》由會員分享,可在線閱讀,更多相關《[計算機硬件及網(wǎng)絡]無線AdHoc網(wǎng)絡中一種多路徑路由協(xié)議仿真研究(51頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、摘要移動 Ad Hoc 網(wǎng)絡由一組由無線收發(fā)裝置的移動節(jié)點組成的一個多跳的、不需要固定中心接入點的自治系統(tǒng)。網(wǎng)絡搭建方便,不需要根底設施,并且網(wǎng)絡節(jié)點地位對等,可以自由移動。Ad hoc 網(wǎng)絡在現(xiàn)代社會越來越多的運用于各個領域,如軍事、醫(yī)學、空間探測等。無線 Ad hoc 網(wǎng)絡作為一種典型的自組織網(wǎng)絡,其路由協(xié)議一直是研究的重點。Ad Hoc 網(wǎng)絡的特殊性使得傳統(tǒng)有線網(wǎng)絡的技術無法在 Ad Hoc 網(wǎng)絡使用,因此需要設計新的協(xié)議和技術,如 MAC 協(xié)議,路由技術,QoS 體系,平安技術,信道接入技術等。本文通過網(wǎng)絡仿真軟件 NS-2 以仿真 AOMDV 協(xié)議為例介紹了 NS-2 仿真路由協(xié)議的
2、詳細步驟,并給出了 DSR、DSDV、AODV 三種路由協(xié)議的仿真結果圖和一些性能分析。關鍵詞:Ad hoc 網(wǎng)絡,NS-2 仿真,DSDV 協(xié)議,DSR 協(xié)議,AOMDV 協(xié)議ABSTRACTThe mobile Ad Hoc network is an autonomous system, which is multi-hopped and with no fixed center access points, consisting of a set of mobile nodes of wireless transceiver. Network established without a
3、ny aid of infrastructure is convenient and also has equivalent node status which are free to move. The Ad Hoc is widely used in many fields such as military, medicine and space exploration etc. The routing protocol is always the focus of Ad Hoc as a typical self-organized network. The reason designi
4、ng new agreement and specification such as MAC protocol, routing protocol, QoS system, security technology, channel access technology etc is the particularity which makes the traditional wired network not available. In this paper, NS-2 network simulation software to simulate AOMDV agreement as an ex
5、ample of the NS-2 simulation routing protocol detailed steps, and gives the DSR, DSDV, AODV simulation results of three routing protocols and some performance analysis chart.Key words: Ad Hoc network ,Simulation,NS-2,DSDV,AOMDV,DSR,Agreement目錄摘要 .IABSTRACT .II第 1 章 引言 .- 1 -1.1 無線自組網(wǎng)的產(chǎn)生和開展 .- 1 -1.2
6、 無線自組網(wǎng)的特征 .- 1 -1.3 無線自組網(wǎng)應用領域 .- 2 -1.4 無線自組網(wǎng)體系結構 .- 2 -1.5 文章研究內容 .-3 -1.6 本文研究的應用 .- 4 -第 2 章 AD-HOC 網(wǎng)絡的路由協(xié)議分類.- 5 -2.1 表驅動路由協(xié)議.- 5 -2.2 單路徑和多路徑 .-7 -2.3 幾種典型的無線自組網(wǎng)路由協(xié)議 .- 11-2.3.1 目的序列距離矢量路由協(xié)議 DSDV.- 11 -2.3.2 按需平面距離矢量路由協(xié)議 AODV.- 11 -2.3.3 臨時排序路由算法 TORA.- 12 -2.4 路由協(xié)議性能評標準 .- 12 -第 3 章 網(wǎng)絡模擬器 NS2
7、.- 2 -3.1 NS2 簡介.- 2 -3.2 NS2 組成局部.- 2 -3.3 NS2 模擬根本流程.- 2 -第 4 章 ADAD HOCHOC 網(wǎng)絡多路徑仿真網(wǎng)絡多路徑仿真研研究究.- 2 -4.1 多路徑協(xié)議介紹 .- 2 - AOMDV 協(xié)議 .- 2 -4.1.2 移動節(jié)點的創(chuàng)立.- 1 - 多路徑計算 .- 1 -4.2 無線自組網(wǎng)路由模擬的實現(xiàn) .- 2 -無線自組網(wǎng)路由協(xié)議場景的構建 .- 2 -4.2.2 TCP 代理的創(chuàng)立和設置.- 2 -4.2.3 仿真參數(shù)的設置.- 3 -4.3 仿真結果分析 .- 1 -動畫演示工具 nam .- 1 -4.3.2 無線 Tr
8、ace 文件格式.- 2 -數(shù)據(jù)分析工具 gawk .- 1 -繪圖工具 gnuplot .- 1 -仿真結果分析.- 2 -第 5 章 結論 .- 2 -參考文獻 .- 2 -致 謝.- 1 -第 1 章 引言1.1 無線自組網(wǎng)的產(chǎn)生和開展“Ad Hoc一詞來源于拉丁語,意思是“專用的、特定的。無線自組網(wǎng)通常也可稱為“無固定設施網(wǎng)或“自組織網(wǎng)。由于組網(wǎng)快速、靈活、使用方便,目前無線自組網(wǎng)已經(jīng)得到了國際學術界和工業(yè)界的廣泛關注,其應用也越來越廣泛,已經(jīng)成為移動通信技術向前開展的一個重要方向,將在未來的通信技術中占據(jù)重要地位。無線自組網(wǎng)的前身是分組無線網(wǎng)(Packet Radio Network
9、,PRNET),對分組無線網(wǎng)的研究源于軍事通信的需要。早在 1972 年,美國的 DARPA 就啟動了分組無線網(wǎng)工程 PRNET,研究戰(zhàn)場環(huán)境下利用分組無線網(wǎng)進行數(shù)據(jù)通信。在此之后,DARPA 于 1983 年啟動了高殘存性自適應網(wǎng)(Survivable Adaptive Network,SURAN)工程,研究如何將 PRNET 的研究成果加以擴展,以支持更大規(guī)模的網(wǎng)絡,1994 年,DARPA 又啟動了全球移動信息系統(tǒng)(Global Mobile Information Systems,GloMo) 工程,旨在對能夠滿足軍事應用需要的、高抗毀性的移動信息系統(tǒng)進行全面深入的研究。1991 年成
10、立的 IEEE 802.11 標準委員會采用了“Ad Hoc一詞來描述這種特殊的自組織對等式多跳移動網(wǎng)絡,無線自組網(wǎng)就此誕生。IETF 專門成立了(Mobile Ad Hoc Network,MANET) 小組來研究無線自組網(wǎng)的相關問題1。1.2 無線自組網(wǎng)的特征無線自組網(wǎng)由一組帶有無線通信收發(fā)裝置的移動終端節(jié)點組成,網(wǎng)絡中每個終端可以自由移動且地位相等,是一個多跳、臨時、無中心網(wǎng)絡,因此它具有以下主要特征:1自組織:即網(wǎng)絡的布設無需依賴于任何預先架設的網(wǎng)絡設施。節(jié)點開機后就可以快速、自動地組成一個獨立的網(wǎng)絡。2動態(tài)拓撲:即網(wǎng)絡中的節(jié)點可以任意移動,并且可以隨時關閉電臺。發(fā)送裝置的天線類型多種
11、多樣,發(fā)送功率的變化,無線信道間的相互干擾,地形和天氣等綜合因素的影響,造成網(wǎng)絡的拓撲結構變化難測。3多跳路由:由于節(jié)點發(fā)射功率的限制,節(jié)點的覆蓋范圍是有限的。當要與其覆蓋范圍之外的節(jié)點進行通信時,需要中間節(jié)點的轉發(fā),即要經(jīng)過多跳才能到達目的節(jié)點。4無中心且所有節(jié)點地位平等:節(jié)點可以隨時參加或離開網(wǎng)絡,任意節(jié)點故障不會影響整個網(wǎng)絡運行,是一個無中心結構的對等式網(wǎng)絡,抗毀性強。5靈活性好:無線自組網(wǎng)中的工作站可以隨時參加或離開,這對于一些根據(jù)需求而需要隨時組建網(wǎng)絡的應用非常適合。1.3 無線自組網(wǎng)應用領域由于無線自組網(wǎng)的特殊性,它適合用于無法或不便預先鋪設網(wǎng)絡設施的場合,以及其他需要快速自動組網(wǎng)
12、的場合等。目前為止,其主要的應用領域有:1軍事應用:軍事應用是無線自組網(wǎng)技術的主要應用領域。因其特有的無需架設網(wǎng)絡設施、可快速展開、抗毀性強等特點,無線自組網(wǎng)是數(shù)字化戰(zhàn)場通信的首選技術。2無線傳感器網(wǎng)絡:傳感器網(wǎng)絡是無線自組網(wǎng)技術應用的另一大領域。采用傳感器網(wǎng)絡能夠跟蹤從天氣到企業(yè)商品庫存等各種動態(tài)事物,極大的擴充互聯(lián)網(wǎng)的功能。對于很多應用場合來說傳感器網(wǎng)絡只能使用無線通信技術,并且傳感器的發(fā)射功率很小。分散的傳感器通過無線自組網(wǎng)技術組成一個網(wǎng)絡,可以實現(xiàn)傳感器之間和與控制中心之間的通信。3個人通信:個人局域網(wǎng)(Personal Area Network,PAN)是無線自組網(wǎng)技術的又一應用領域
13、,用于實現(xiàn) PDA、 、掌上電腦等個人電子通信設備之間的通信,并可以構建虛擬教室和討論組等嶄新的移動對等(Mobile Peer-To-Peer)應用。4移動會議:在室外臨時環(huán)境中,工作團體的所有成員可以通過無線自組網(wǎng)方式組成一個臨時網(wǎng)絡來協(xié)同完成一項大的任務,或協(xié)同完成某個計算任務。在室內辦公環(huán)境中,辦公人員攜帶的包含無線自組網(wǎng)收藏器的 PDA 可以通過無線方式自動從臺式機上下載電子郵件,更新工作日程表等。5其他應用:可應用于緊急和突發(fā)場合,如在發(fā)生了地震、水災、火災或遭受其它災難后,固定的通信網(wǎng)絡設施無法正常工作的情況下組建無線自組網(wǎng)。還可與蜂窩移動通信系統(tǒng)等現(xiàn)有移動通信系統(tǒng)相結合,利用移
14、動的多跳轉發(fā)能力來擴展現(xiàn)有蜂窩移動通信系統(tǒng)的覆蓋范圍等。1.4 無線自組網(wǎng)體系結構參照 OSI/RM,無線自組網(wǎng)體系結構如圖 2.1 所示2。圖 1.4 無線自組網(wǎng)體系結構下面介紹各層的根本情況:1物理層:物理層包括射頻(RF)電路、調制和信道編碼系統(tǒng)。IEEE802.11b/a/g、藍牙(Bluetooth)和超寬帶(LJwB:ultr-awideband)等標準都是具體的物理層協(xié)議。2數(shù)據(jù)鏈路層::數(shù)據(jù)鏈路層負責在不可靠的無線鏈路上建立可靠和平安的邏輯鏈路。其分為邏輯鏈路控制子層(LLC)和媒介訪問子層(MAC)。以 IEEE802.11 為例,其 LLC子層負責無線鏈路過失控制、流量控制
15、、將網(wǎng)絡層的分組組幀以及重傳等,而 MAC 子層負責節(jié)點對無線媒介訪問的控制和幀的加解密操作等。3網(wǎng)絡層:網(wǎng)絡層負責分組的路由,建立網(wǎng)絡效勞類型以及在傳輸與鏈路層之間傳輸分組??紤]到無線自網(wǎng)的動態(tài)性,網(wǎng)絡層需要負責分組的重新路由和移動管理等。無線自組網(wǎng)在網(wǎng)絡層的一個重要問題是路由協(xié)議。4傳輸層:傳輸層負責提供端到端的可靠數(shù)據(jù)傳輸效勞。然而,由于無線鏈路的不穩(wěn)定,傳統(tǒng)的有線網(wǎng)傳輸層協(xié)議,在無線環(huán)境下性能下降明顯,所以必須改良。5應用層:無線自組網(wǎng)的應用層指定的是各種各樣類型的業(yè)務。在實際實施的時候,可以采用各種各樣的應用層協(xié)議和標準,比方 WAP(無線應用協(xié)議)協(xié)議等。1.5 文章研究內容1、查
16、閱 Ad Hoc 路由協(xié)議文獻,了解典型多路徑路由協(xié)議工作原理,并了解其優(yōu)缺點;2、深刻理解 AOMDV 協(xié)議的實現(xiàn)過程和所需條件;3、通過 NS2 仿真實現(xiàn) AOMDV 協(xié)議;1.6 本文研究的應用Ad Hoc 網(wǎng)絡的許多特點使它能應用于民用和軍事等領域。首先網(wǎng)絡的自組性為網(wǎng)絡快速部署提供了可能。其次,網(wǎng)絡多跳轉發(fā)的特點可以在不降低網(wǎng)絡覆蓋范圍的條件下減少每個終端的發(fā)射功率,從而為移動終端的小型化、低功耗提供了可能。從無線信道共享的角度來看,Ad Hoc 網(wǎng)絡降低了信號沖突的概率,提高了信道利用率。另外,網(wǎng)絡的抗毀性、魯棒性滿足了某些特定應用的需求。目前,Ad Hoc 網(wǎng)絡主要應用場合包括:
17、軍事應用緊急和突發(fā)場合偏遠野外山區(qū)移動會議和臨時場合個人通信和網(wǎng)絡商業(yè)應用 第 2 章 Ad-hoc 網(wǎng)絡的路由協(xié)議分類由于 Ad hoc 網(wǎng)絡的無線多跳轉發(fā)、移動、帶寬以及能量受限等特點,如何設計良好的路由策略是建立 Ad Hoc 網(wǎng)絡的關鍵問題。目前 MANET WG 已經(jīng)提出了許多協(xié)議草案,如 DSR、AODV、ToRA、ZRP 等。此外,國內外研究人和機構也發(fā)表了許多關于 Ad Hoc 網(wǎng)絡路由協(xié)議的學術論文,比方 DSDV、WRP、QAODV、FSR、LANMAR、EAODV 等。這些路由協(xié)議根據(jù)路由建立的方和時間可以分為表驅動路由策略(TableDrive)和按需路由策略(OnDe
18、mand)兩大類,如圖 2.1 所示Ad Hoc 路由協(xié)議表驅動路由按需路由協(xié)議DSDVWRPDSRAODVTORAZRP 圖 2.1 Ad hoc 路由協(xié)議分類2.1 表驅動路由協(xié)議 表驅動路由協(xié)議的路由發(fā)現(xiàn)策略與傳統(tǒng)的路由協(xié)議類似,各移動節(jié)點通過周期性地播送路由信息分組來交換路由信息、主動發(fā)現(xiàn)路由。同時,節(jié)點必須維護到達網(wǎng)內所有節(jié)點的路由。它的優(yōu)點是當節(jié)點需要發(fā)送數(shù)據(jù)分組時可以快速得到準確的路由信息,所需要的延時??;缺點是需要大量的控制分組來盡可能保證路由的更新能夠即時反響當前拓撲結構的變化,花費開銷較大;而且,動態(tài)變化的拓撲結構可能使得這些路由更新變成過時的信息,路由協(xié)議將一直處于不收斂
19、狀態(tài),不適合應用于無線網(wǎng)絡。在早期的自組網(wǎng)路由協(xié)議的研究中,主要思路是修改有線網(wǎng)絡的路由協(xié)議用以適應在自組網(wǎng)環(huán)境中運行。這些路由協(xié)議大局部屬于表驅動路由協(xié)議。下面將介紹幾種典型的表驅動路由協(xié)議。DSDV(Destination Distance Sequence Vector)是一種基于 Bellman Ford 算法的主動路由協(xié)議。它被認為是最早的 Ad Hoc 網(wǎng)絡路由協(xié)議。DSDV 是一種無環(huán)路矢量距離路由AODV 也是一種典型的按需路由協(xié)議。AODV 實質上就是 DSR 和 DSDV 的綜合,它借用了 DSR 中路由發(fā)現(xiàn)和路由維護的根底程序,及 DSDV 的逐跳(H 叩一 by-HoP
20、)路由、順序編號和路由維護階段的周期更新機制,以 DSDV 為根底,結合 DSR 中的按需路由思想并加以改良。AODV 包括 3 種根本的路由控制分組:路由請求分組(RREQ)、路由應答分組(RREP)、路由出錯分組(RERR)。另外,AODV 還包括鄰節(jié)點探測分組(HELLO)。其中,RREQ 包含的主要信息有源節(jié)點 IP 地址、源節(jié)點序列號、播送 D、目的節(jié)點正地址、目的節(jié)點序列號和源節(jié)點到當前接收到 RREQ 的節(jié)點的跳數(shù):RREP 包含的主要信息有源節(jié)點到目的節(jié)點的跳數(shù)、目的節(jié)點 IP 地址、目的節(jié)點序列號、源節(jié)點 IP 地址、路由生存時間;RERR 包含的主要信息有不可達的節(jié)點個數(shù)、
21、不可達的目的節(jié)點正地址、不可達的目的節(jié)點序列號。AODV 由路由建立和路由維護兩個過程組成。AODV 也是一種典型的按需路由協(xié)議。AODV 實質上就是 DSR 和 DSDV 的綜合,它借用了 DSR 中路由發(fā)現(xiàn)和路由維護的根底程序,及 DSDV 的逐跳(H 叩一 by-HoP)路由、順序編號和路由維護階段的周期更新機制,以 DSDV 為根底,結合 DSR 中的按需路由思想并加以改良。AODV 包括 3 種根本的路由控制分組:路由請求分組(RREQ)、路由應答分組 RREP)、路由出錯分組(RERR)。另外,AODV 還包括鄰節(jié)點探測分組(HELLO)。其中,RREQ 包含的主要信息有源節(jié)點 I
22、P 地址、源節(jié)點序列號、播送 D、目的節(jié)點正地址、目的節(jié)點序列號和源節(jié)點到當前接收到 RREQ 的節(jié)點的跳數(shù):RREP 包含的主要信息有源節(jié)點到目的節(jié)點的跳2.2 單路徑和多路徑 傳統(tǒng) Ad Hoc 網(wǎng)絡單路徑路由Ad Hoc 移動網(wǎng)絡中單路徑路由主要分成基于表驅動的被動路由,2j(如DSDV(Destination-SequencedDistance-VectorRouting)和按需主動路由協(xié)議(如DSR(DynamicSourceRouting)J,AODV(AdHocOnDemandDistanceVectorRouting)兩種。被動路由跟傳統(tǒng) Intemet 網(wǎng)絡中的距離矢量算法類
23、似,都是通過節(jié)點周期性交換路由表來實現(xiàn)的,只需稍做修改便可用于AdHoc 移動網(wǎng)絡。主動路由一般都基于按需路由方式,通過泛洪播送實現(xiàn),主要分為路由發(fā)現(xiàn)(RD:RouteDiscovery)和路由維護(RM:RouteMaintenance)兩個階段。 DSDV 協(xié)議 DSDV 協(xié)議是一種基于 Bellman-Ford 路由機制的,表馭動路由協(xié)議,是為移動 AdHoc 網(wǎng)絡制定的。最早的路由協(xié)議之一。每個節(jié)點都維護一張路由表,節(jié)點通過與目的節(jié)點相關的序列號判斷路由的新舊,并依此防止路由環(huán)路的產(chǎn)生。每個節(jié)點周期性的將自己的路由表播送給其鄰節(jié)點,其鄰節(jié)點根據(jù)收到的路由表來更改自己的路由表。 DSR
24、協(xié)議動態(tài)資源路由協(xié)議 DSRl3 是用于移動節(jié)點多跳無線 AdHoc 網(wǎng)絡的簡單和有效的主動路由協(xié)議。使用 DSR 時,網(wǎng)絡是自組織和自配置的,要求無既定的網(wǎng)絡結構和管理。DSR 協(xié)議有兩個主要的機制路由發(fā)現(xiàn)和路由維護一起工作,以實現(xiàn) AdHoc 網(wǎng)絡中源路由的發(fā)現(xiàn)和維護。路由發(fā)現(xiàn)。路由發(fā)現(xiàn)階段主要由路由請求和路由響應兩個階段組成。只有當源節(jié)點s 試圖向目的節(jié)點 D 發(fā)送數(shù)據(jù),并且尚不知道 S 和 D 之間的路由時,啟動路由發(fā)現(xiàn)機制。具體包括 RREQ(Routerequest)分組對各節(jié)點對 RREQ 分組的處理,對信宿的路由答復RREP(Routereply)。路由維護。如果網(wǎng)絡拓撲發(fā)生改
25、變比方說鏈路中斷導致 S 和 D 之間的路由無法再使用,此時啟動路由維護十 JL 制。DSR 協(xié)議通過 MAC 層檢測到鏈路斷開,節(jié)點將“路由錯誤分組RREQ 到發(fā)送信源,信源節(jié)點將刪除該路由,重新進行路由發(fā)現(xiàn),稱為“逐跳MAC 確認的網(wǎng)絡。此外還有“逐跳 MAC 不確認的網(wǎng)絡和利用“端到端確認的路由維護。DSR 不使用任何定期路由廣告、鏈路狀態(tài)感應、或者是鄰居檢測數(shù)據(jù)包,也不會依賴網(wǎng)絡的下一層得到這些功能。DSR 使用外部“源路由,即當要發(fā)一個數(shù)據(jù)包時,該數(shù)據(jù)包所需要經(jīng)過的所有節(jié)點序列均包含在該數(shù)據(jù)包的包頭中。 AODV 協(xié)議。AODV 路由協(xié)議是由 DSDV 改良得到的,與 DSDV 不同
26、,它是按需路由協(xié)議。AODV 采用逐跳轉發(fā)。報文的方式。另外 AODV 還支持組播路由和支持 QoS,其缺點是不支持單向信道,原因是路由答復報文。直接沿著路由請求的反向回到源節(jié)點。AODV 協(xié)議由路由發(fā)現(xiàn)過程和路由維護過程組成。單路徑評價及問題分析。單路協(xié)議的優(yōu)勢在于它的簡單性。但是這種簡單性從根本上限制了單路協(xié)議性能的提升空間。Ad Hoc 網(wǎng)絡中的帶寬、節(jié)點能量等資源是相當有限的。同時,在鏈路上以及在路由器處的擁塞,也是造成 Ad Hoc 網(wǎng)絡中較大延遲的主要原因。在 Ad Hoc 網(wǎng)絡中使用單路路由協(xié)議,如果目的節(jié)點相同的數(shù)據(jù)包全部都在同一條路徑上發(fā)送,當某條鏈路擁塞或者斷開時,通過該鏈
27、路發(fā)送的所有數(shù)據(jù)就都必須由新的路徑發(fā)送,網(wǎng)絡不能在輕載時充分利用資源,不能當網(wǎng)絡發(fā)生擁塞或者鏈路斷開時也較好地重新選擇適宜路徑。在最近 Ad Hoc 路由研究中,人們提出了多路徑路由方法來解決上述問題。多路徑協(xié)議介紹。多路路由是指為任意一對節(jié)點同時提供多條可用的路徑,并允許節(jié)點主機或應用程序)選擇如何使用這些路徑。多路路由算法為節(jié)點間提供多條路徑,并確保發(fā)往其中一條路徑的數(shù)據(jù)經(jīng)由該路徑到達目的地。多路路由網(wǎng)絡是其中的路由器執(zhí)行多路路由算法的網(wǎng)絡。從理論上證明了按需多路徑擁有較長的路徑存活時間和更可靠路由信息,而且擁有良好的性能,并能減少局部擁塞。因此近年來多路徑研究得到廣泛關注,主要分為 2
28、大類:多路徑被動路由(如 DSDVM(Destination-Se-quencedDistanceVectorRoutingMultipath)和多路徑主動路由協(xié)議(SMRJ7j,AOMDVJ)。如基于被動路由 DSDV 根底上擴展 DSDVM 通過修改內部數(shù)據(jù)結構等方法獲取多路徑支持;基于主動路由 DSR 擴展的 SMR,通過修改 DSR 路由發(fā)現(xiàn)機制,并通過目的節(jié)點獲取最大不相交路徑;出了基于 AODV 協(xié)議的多路徑協(xié)議 AOMDV。DSDVM 協(xié)議 DSDVM 是在 DSDV 根底上擴展的多路徑路由協(xié)議。該協(xié)議通過獲取和維護多條 Quasi 最短路徑實現(xiàn)多路徑路由協(xié)議。所謂 Quasi
29、最短路徑是指該路徑中除第 1 跳以外到目的節(jié)點距離最短的路徑,Quasi 多路徑是指從源節(jié)點到目的節(jié)點的一系列 Quasi最短路徑集合。最短路徑僅是 Quasi 最短路徑的特例,稱之為主路徑,其他的 Quasi 最短路徑稱之為冗余路徑,DSDVM 通過在源節(jié)點把數(shù)據(jù)分布在 Quasi 多條路徑上來實現(xiàn)負載平衡。DSDVM 與 DSDV 不同之處在于內部數(shù)據(jù)結構和多路徑計算。內部數(shù)據(jù)結構。DSDVM 跟 DSDV 類似,都是通過周期性跟相鄰活動節(jié)點交換路由信息更新路由表,所不同的是內部數(shù)據(jù)結構。DSDVM 每個節(jié)點的路由表中都包含如下的路由信息:目的節(jié)點地址,下跳地址(主路徑的下跳地址),主路徑
30、到達目的節(jié)點的跳數(shù),目的序列號,前置節(jié)點地址和一個包含 Quasi 冗余路徑下跳地址的集合。每次路由更新都把新檢測到的相鄰節(jié)點按照一定的計算添加到 Quasi 冗余路徑。多路徑計算。DSDVM 通過判斷相鄰節(jié)點(非主路徑上的下跳地址)是否在主路徑上,如果不是在主路徑上,將該地址添加到下跳地址的鏈接表中,否那么丟棄,從而實現(xiàn)無環(huán)多路徑。SRM 協(xié)議。SRM 是 DSR 協(xié)議的一個擴展,其研究側重點是頻繁發(fā)生的路由發(fā)現(xiàn)所帶來的開銷。協(xié)議的主要思想是為源節(jié)點和中間節(jié)點提供一條以上的替換路徑(AlternateRoute)。由于替換路徑與主路徑是獨立路徑,當主路徑失效時,數(shù)據(jù)傳輸不會被打斷,而是換用替
31、換路徑來繼續(xù)發(fā)送數(shù)據(jù)包,屬于按需多路徑路由協(xié)議。路由發(fā)現(xiàn)。SRM 的路由發(fā)現(xiàn)過程和 DSR 根本相似,不同的是,當?shù)?1 個路由請求RREQ 包到達目的節(jié)點后,目的節(jié)點除了向源節(jié)點發(fā)送路由應答 RREP 包外,還記錄下這條路徑作為主路徑。對于隨后到達的路由請求包,如果其中的路徑和所記錄的所有路徑都是獨立路徑,目的節(jié)點就發(fā)送相應的路由應答包,同時記錄下這條路徑;否那么,直接丟掉該路由請求包。這樣既可以保證當主路徑失效時,其他路徑還可以發(fā)包(因為它們和主路徑是相互獨立的),又防止了目的節(jié)點因發(fā)送路由應答包過多而帶來不必要的網(wǎng)絡擁塞。路由維護。當中間節(jié)點檢測到鏈路斷開后,利用替換路徑把數(shù)據(jù)包重新發(fā)送
32、出去,并且向上游節(jié)點和源節(jié)點發(fā)送 RRER,請求它們把包含該鏈路的路徑刪除;當源節(jié)點收到RRER 后,使用以下兩種路由策略重新做路由發(fā)現(xiàn):1)只要收到路徑斷開消息,就重新做路由發(fā)現(xiàn),這樣可以獲取最新的網(wǎng)絡信息;2)只有收到兩條(或多條)路徑都斷開的消息后,才重新做路由發(fā)現(xiàn),這樣可以減少局部路由開銷。SMR 試驗說明,使用第 2 種路由,發(fā)現(xiàn)策略性能較好。 AODVM 協(xié)議。AODVM(AdHocOndemandDistanceVectorMultipath)多路路由協(xié)議也是在 AODV 的根底上進行擴展的,與 AODV 協(xié)議中直接丟棄 RREQ 包的拷貝不同,中間節(jié)點會將包含在這些包中的信息記
33、錄在一個表(RREQ 表)中。對每個接收到的 RREQ 消息的拷貝,接收的中間節(jié)點將產(chǎn)生該 RREQ 消息的信源,該 RREQ 要去的信宿;把該 RREQ 的鄰居,以及其他的一些額外信息記錄傳輸?shù)皆?RREQ 表中,但不能直接向信源發(fā)送 RREP 消息。路由發(fā)現(xiàn)。AODVM 路由發(fā)現(xiàn)階段與 AODV 類似,當信宿從其某個鄰居處接收到第 1個 RREQ 包時,它便更新自己的序列號同時產(chǎn)生一個 RREP 消息。RREP 包包含一個額外的域“LasthopID,用來說明該 RREQ 的拷貝來自哪個鄰居。該 RREP 包沿傳輸過該 RREQ拷貝的路徑反向發(fā)送到信源。當信宿從其他鄰居處接收到該 RREQ
34、 包的拷貝時,每次都更新其序列號,同時產(chǎn)生一個 RREP 包。同第 1 個 RREP 包一樣,這些 RREP 包也包含對應的最后一跳節(jié)點的 ID(LasthopID)。當一個中間節(jié)點從它的鄰居處接收到一個 RREP 包時,它便從它的 RREQ 表中刪除掉對應該鄰居的表目,同時在路由表中增加一個路由表目,以顯示到己經(jīng)發(fā)現(xiàn)的 RREP 包發(fā)起者(即信宿)的路由;然后該節(jié)點通過 RREQ 表,識別一條到信源最近的路徑,將該 RREP 消息傳輸?shù)较鄳泥従?。RREQ 表中對應該鄰居的條目即被刪除。為了確保一個節(jié)點沒有被多條路徑共享,即保證路徑的節(jié)點不相關,當節(jié)點偵聽任一其他節(jié)點播送 RREP 消息時,
35、它們便從 RREQ 表中刪除對應該傳輸節(jié)點的條目。路由維護。當一個中間節(jié)點接收到 RREP 消息而無法繼續(xù)往前傳輸(其 RREQ 表所有下跳地址的路徑都失效時),便產(chǎn)生一個路由發(fā)現(xiàn)錯誤消息(RDER:RouteDiscoveryError),并把該消息發(fā)送到將 RREP 消息發(fā)送給其鄰居節(jié)點。鄰居一旦接收到該 RDER 消息,便將RREP 消息發(fā)送給另外的鄰居,以便在可能時將 RREP 消息傳輸至信源。RDER 消息的數(shù)量會受到限制,以防止該數(shù)據(jù)包的大量產(chǎn)生和交換。其他多路徑路由協(xié)議。MSR 是在 DSR 根底上擴展的,利用中間節(jié)點和目的節(jié)點反響多條路徑,并使用路徑探測來減少網(wǎng)絡擁塞和網(wǎng)絡延遲
36、;AODVBR 在 AODV 根底上建立多條路徑來為路由出錯的數(shù)據(jù)包提供替換路徑支持;通過在路由響應階段重定向響應路徑實現(xiàn)多條節(jié)點不相交路徑;ARP 通過路徑拆分來實現(xiàn)多路徑;提出一種基于多樣性編碼的方法來建立多條路徑,并把數(shù)據(jù)包分發(fā)到多條路徑發(fā)送,藉此來提高可靠性和發(fā)送率。MMPRE 提供了基于網(wǎng)眼的多路徑尋徑和包發(fā)送。AMR2-23使用網(wǎng)絡最大流獲取多條節(jié)點不相交路徑,并利用多條路徑并行或者并發(fā)發(fā)送數(shù)據(jù)來提高網(wǎng)絡流通量和負載平衡。多路徑協(xié)議應用。以上多路徑協(xié)議主要集中于如何提高網(wǎng)絡傳輸率,降低網(wǎng)絡延遲以及提高網(wǎng)絡負載平衡,但多路徑協(xié)議在 QoS、能源、平安等方面也有自身的優(yōu)勢。如TBP 提
37、出通過發(fā)送選票來并行探測多條較優(yōu)的路徑,并通過資源預留方式實現(xiàn) QoS;提出在多項式復雜度內找到多條鏈路不相交或者節(jié)點不相交路徑減少源消耗。文獻11提出一種基于并行網(wǎng)絡流方式的自適應多路徑路由協(xié)議,并通過時間限制來防止惡意 DOS 攻擊,以提高網(wǎng)絡平安性。2.3 幾種典型的無線自組網(wǎng)路由協(xié)議2.3.1 目的序列距離矢量路由協(xié)議 DSDVDSDV(Destination-Sequenced Distance-Vector)是基于經(jīng)典 Bellman-Ford 路由選擇過程的改良型路由表算法。DSDV 以路由信息協(xié)議為根底。是無線自組網(wǎng)協(xié)議開展較早的一種。使用 DSDV 時,網(wǎng)絡中的每一個移動節(jié)點
38、都需要維護一個路由表。路由表表項包括目的節(jié)點、跳數(shù)和一個由目的節(jié)點注明的序列號,序列號能幫助節(jié)點區(qū)分有效和過期的路由信息,并可防止路由環(huán)路的發(fā)生。標有更大序列號的路由信息總是被接收。如果兩個更新分組有相同的序列號,那么選擇跳數(shù)最小的,使路由最優(yōu)最短 。每個節(jié)點必須周期性地與鄰節(jié)點交換路由信息,當然也可以根據(jù)路由表的改變來觸發(fā)路由更新。路由表更新有兩種方式:一種是全部更新,即拔掉更新消息中將包括整個路由表,主要應用于變化較快的情況;另一種是增量更新,更新消息中僅包含變化的路由局部,通常適用于變化較慢的情況。2.3.2 按需平面距離矢量路由協(xié)議 AODV AODV(Ad hoc On-demand
39、 Distance Vector Routing)由 DSDV 開展而來,不同的是AODV 為反響式路由協(xié)議。源節(jié)點首先播送一個攜帶目的節(jié)點信息的路由分組RREQ ,其鄰居節(jié)點依次向周圍節(jié)點播送此路由分組,播送 RREQ 前會建立此節(jié)點到源節(jié)點的路由,直到路由分組到達目的節(jié)點或者一個中間節(jié)點,這個節(jié)點包含目的節(jié)點的路由信息,就不再播送 RREQ。此過程中,會建立一個從源節(jié)點到目的節(jié)點的反向路由,也就是從目的節(jié)點到源節(jié)點的路由。然后該節(jié)點將沿著反向路由發(fā)回一個 RREP,RREP 到達源節(jié)點后路由發(fā)現(xiàn)過程結束。為防止路由循環(huán),每一個路由分組中都包括一個 sequence IDSID作為唯一標識,
40、如果一個節(jié)點收到一個 SID 比它當前保存的 SID 小的數(shù)據(jù)包,說明該數(shù)據(jù)包是過時的,它將不予處理,而是簡單的丟棄。發(fā)現(xiàn)多條路由時,源節(jié)點會選擇一條 SID 大、跳數(shù)少的最優(yōu)路由。 源節(jié)點移動后會重新啟動路由發(fā)現(xiàn)過程,中間節(jié)點移動,那么其鄰居節(jié)點會發(fā)現(xiàn)鏈路失效并向上游節(jié)點發(fā)送鏈路失效消息RERR ,一直傳到源節(jié)點,然后源節(jié)點重新發(fā)起路由發(fā)現(xiàn),或者也可以由發(fā)現(xiàn)鏈路失效的節(jié)點自己發(fā)起路由發(fā)現(xiàn),此稱為自修復。只要路由是活動的,路由表就要一直維護下去?;顒拥囊馑际怯袛?shù)據(jù)包從源節(jié)點發(fā)往目的節(jié)點,如果鏈路上不再有數(shù)據(jù)包傳遞,一段時間之后,鏈路就會過期,最終路由信息將會從中間節(jié)點的路由表中刪除6。2.3.
41、3 動態(tài)源路由協(xié)議 DSRDSR(Dynamic Source Routing)是一種基于源路由的按需路由協(xié)議,它使用源路由算法而不是逐跳路由的方法。DSR 主要包括兩個過程:路由發(fā)現(xiàn)和路由維護。當源節(jié)點 S向目的節(jié)點 D 發(fā)送數(shù)據(jù)時,它首先檢查緩存是否存在未過期的到目的節(jié)點的路由,如果存在,那么直接使用可用的路由,否那么啟動路由發(fā)現(xiàn)過程。具體過程如下:源節(jié)點 S將使用洪泛法發(fā)送路由請求消息RREQ ,RREQ 包含源和目的節(jié)點地址以及唯一的標志號,中間節(jié)點轉發(fā) RREQ,并附上自己的節(jié)點標識。當 RREQ 消息到達目的節(jié)點 D 或任何一個到目的節(jié)點路由的中間節(jié)點時,D 或該中間節(jié)點將向 S
42、發(fā)送路由應答消息RREP ,該消息中將包含到 S 到 D 的路由信息,并反轉 S 到 D 的路由供 RREP 消息使用。此外,中間節(jié)點也可以使用路由緩存技術Routing Cache來對協(xié)議作進一步優(yōu)化。2.3.4 臨時排序路由算法 TORA TORA(Temporally Ordered Routing Algorithm)協(xié)議稱為臨時排序路由算法,是一種源初始化按需路由選擇協(xié)議,它采用鏈路反轉的分布式算法,具有高度自適應、高效率和較好的擴充性,比擬適合高度動態(tài)移動、多跳的無線網(wǎng)絡,其主要特點是控制報文定位在最靠近拓撲變化的一小局部節(jié)點處,因此節(jié)點只保存鄰近點的路由信息。該算法中路由不一定是
43、最優(yōu)的,常常使用次優(yōu)路由以減少發(fā)現(xiàn)路由的開銷。TORA 協(xié)議包括 3 個根本模塊:路由的創(chuàng)立、路由的維護和路由的刪除。在路由的建立和路由維護過程中,節(jié)點應用“高度Metric 來建立一個以目的節(jié)點為根的有向非循環(huán)圖。這樣鏈路根據(jù)相鄰兩個節(jié)點的高度值來確定向上或向下的方向。2.4 路由協(xié)議性能評標準主要包括以下幾個方面的指標7:1丟包率:網(wǎng)絡中數(shù)據(jù)傳輸是以發(fā)送和接收數(shù)據(jù)包的形式進行的,理想狀態(tài)下發(fā)送了多少數(shù)據(jù)分組就能接收多少數(shù)據(jù)分組,但是由于信號衰減、網(wǎng)絡質量等諸多因素影響下,可能產(chǎn)生數(shù)據(jù)分組喪失。在單位時間內未收到的數(shù)據(jù)分組與發(fā)送的數(shù)據(jù)分組的比率就是丟包率,當然這個數(shù)字越小越好。丟包率的計算公
44、式見式4.1 。丟包率= 4.1 2端到端平均時延:指單位數(shù)據(jù)包從源節(jié)點到目的節(jié)點所用的時間,時延越小,說明響應越快,網(wǎng)絡質量越令人滿意。該統(tǒng)計量反響了網(wǎng)絡的擁塞狀況,計算公式見式4.2 。端到端平均時延= 4.2 3路由開銷:單位數(shù)據(jù)包個數(shù)所引起的額外路由分組個數(shù),包括 RREQRoute Request,路由請求 、RREPRoute Reply,路由應答 、RRERRoute Error,路由錯誤等,該統(tǒng)計量反響了路由協(xié)議的效率,計算公式見式4.3 。路由開銷= 4.3(4)平均吞吐量:該參數(shù)是在接收數(shù)據(jù)時由網(wǎng)絡層的上層統(tǒng)計的,是指節(jié)點單位時間內收到的數(shù)據(jù)分組數(shù),它是一個容量概念,表示數(shù)
45、據(jù)傳輸?shù)目偭?。?3 章 網(wǎng)絡模擬器 NS23.1 NS2 簡介NS2Network Simulator Version2是一款開放源代碼的網(wǎng)絡模擬軟件,最初由加州大學伯克分校UC Berkeley開發(fā)。它最初的開發(fā)目的是為了研究大規(guī)模網(wǎng)絡以及當前和未來網(wǎng)絡協(xié)議的交互行為。它為模擬研究有線和無線網(wǎng)絡上的 TCP/IP、路由和多播等協(xié)議提供了強有力的支持。NS2 是一個開放源代碼軟件,任何人可以獲得、使用和修改其源代碼。正因為如此,世界各地的研究人員每天都在擴展和更新它的功能,為其添加了新的協(xié)議和功能。它也是目前網(wǎng)絡研究領域應用最廣泛的網(wǎng)絡模擬軟件之一。NS2 來源于 1989 年的 Real
46、NetWork Simulator 工程,經(jīng)過多年的開展,于 1995 年得到 Xerox 公司的支持,參加 VINT 工程。NS2 一直以來都在吸收全世界各地研究者的成果3。NS2 是一款面向對象的、離散事件驅動的網(wǎng)絡模擬器,可以完整地模擬整個網(wǎng)絡環(huán)境。NS2 使用一整套 C+類庫實現(xiàn)了絕大多數(shù)常見的網(wǎng)絡協(xié)議以及鏈路層的模型,利用這些類的實例就可以搭建起整個網(wǎng)絡的模型。NS2 使用了被稱為分裂對象模型的開發(fā)機制。采用 C+和 OTcl 兩種開發(fā)語言進行開發(fā)。它們之間采用 TclCL 進行自動連接和映射??紤]效果和操作便利等因素,NS 將數(shù)據(jù)通道和控制通道的實現(xiàn)相別離。為了減少分組和事件的處理
47、時間,事件調度器和數(shù)據(jù)通道上的根本網(wǎng)絡組件對象都使用 C+編寫,這些對象通過 TclCL 映射對 OTcl 解釋器可見。NS2 可以說是 OTcl 的腳本解釋器,它包含模擬事件高度器、網(wǎng)絡組件對象庫等。事件調度器控制模擬進程,在適當時間激活事件隊列中的當前事件,并執(zhí)行該事件。網(wǎng)絡組件模擬網(wǎng)絡設備或節(jié)點的通信,它們通過制定模擬場景和模擬進程,交換特定的分組來模擬真實網(wǎng)絡情況,并將執(zhí)行情況記錄到日志文件中,供用戶分析解讀,獲取模擬結果。NS2 采用這種分裂模型既提高了模擬效率,加快了模擬速度,又增強了模擬配置的靈活性和操作的簡便性。NS2 是在 UNIX 系統(tǒng)上開發(fā)的,因此可以在 UNIX 和類
48、UNIX 系統(tǒng)上安裝。另外,NS2也可以在 Windows 平臺上運行。表 3.1 和表 3.2 是不同平臺對 NS 的支持情況。表 3.1 不同平臺對 NS2 的支持情況Tcl-TKOTclTclCNsNamxgraphcwebsgbGt-itm and sgb2nszlibPc+WindowsYYYYYNYNNNPc+LinuxYYYYYYYYYY注:Y支持,N不支持。表 3.2 綜合比擬 Windows 和 Linux 對 NS2 的支持情況平臺特點安裝過程模塊支持使用過程Pc+Windows優(yōu)點:界面友好,人性化設計,網(wǎng)絡及硬件支持良好,應用程序豐富。缺點:代碼冗繁,系統(tǒng)穩(wěn)定性及自身修
49、復能力差。未安裝 Cygwin 時只可用 from all the pieces 方式安裝,較為復雜。安裝 Cygwin 后可用 allinone 方式安裝較為簡單。支持 NS2 的必選軟件模塊,但對可選模塊的支持性差。容易引發(fā)較多問題,相關幫助文檔及可咨詢信息較少,解決問題難度較大。Pc+Linux優(yōu)點:源代碼開放,界面友好,網(wǎng)絡功能豐富,較穩(wěn)定。缺點:應用軟件及硬件驅動程序缺乏??蛇x用 from all the pieces 或 allinone方式安裝,較為簡單。對 NS2 的必選模塊和可選模塊支持性良好。由于 Linux 完全開放源代碼的特性,可根據(jù)需要任意修改源代碼。相關幫助文檔及論
50、壇較多,可獲得的幫助較多,使問題解決較為容易。NS2 的模擬分為兩局部:用 C+編寫特定網(wǎng)絡元素的實現(xiàn);用 OIcl 編寫模擬所需的腳模擬本文件,在文件中使用這些網(wǎng)絡元素;二者之間的結合由 NS2負責完成,NS2 規(guī)定一個固定的步驟,按照規(guī)定的步驟去做即可。NS2 可以完成的功能包括:(1)構建網(wǎng)絡拓撲。NS2 中網(wǎng)絡拓撲是由 node 和 link 構成,其中 node 大約可被看作是對實現(xiàn)網(wǎng)絡底三層設備的一個模擬,link 那么可被視為是對物理傳輸鏈路的模擬。(2)實現(xiàn) RTP 協(xié)議的 Agent。NS2 中,Agent 是對某一個網(wǎng)絡協(xié)議的模擬,NS2 預先實現(xiàn)了 UDP Agent 和
51、 TCP Agent 以及一些常用網(wǎng)絡應用協(xié)議的 Agent。(3)加載應用數(shù)據(jù)流由 ApplicationTraffic 來實現(xiàn)。RTP Agent 本身已實現(xiàn)了產(chǎn)生數(shù)據(jù)流的工作,無須加載 Application。3.2 NS2 組成局部 Tclobject 在類層次結構中處于最高層,所有其他主要的類都從它派生而來。它有一個靜態(tài)鏈表記錄了用戶創(chuàng)立的所有對象,每一個對象都有一個唯一的標識,記錄了每個對象所屬的類名。使用這種公共基類的好處是各種對象可以存儲在同一個鏈表中,使用對象的函數(shù)知道如何處理對象和簡單地進行強制類型轉換以滿足自己的需要。1離散事件調度器Scheduler:調度器是仿真器的心
52、臟,它記錄當前時間,調度網(wǎng)絡事件鏈表中的事件。它有一個靜態(tài)成員變量 instance,供所有的類訪問同一個調度器,提供函數(shù)產(chǎn)生新事件,指定事件發(fā)生的時間。目前 NS2 支持四種事件調度器,分別為鏈表式linked-list 、堆式heap 、時間隊列式calendar和實時real-time調度器,其中時間隊列式為默認的事件調度器。2事件處理器(Handler):Handle 是所有處理事件類的基類,它只是一個虛擬函數(shù),每個繼承類實現(xiàn)自己的功能。3節(jié)點Node:節(jié)點是對實際網(wǎng)絡中分布在不同地理位置的主機、交換機、路由器等網(wǎng)絡設備的統(tǒng)一抽象,是構成網(wǎng)絡拓撲結構的一個重要組成局部。4鏈路(Link
53、):鏈路用來連接節(jié)點和路由器。一個節(jié)點可以有一條或多條輸出鏈路(如路由器),所有的鏈路都以隊列的形式來管理分組到達、離開或丟棄,統(tǒng)計并保存字節(jié)數(shù)和分組數(shù)。另外還有一個獨立的對象來記錄隊列日志。5代理(Agent):代理是實際產(chǎn)生和消費分組的對象,它們屬于傳輸層實體,運行在端主機,節(jié)點的每一個代理自動被賦與一個唯一的端口號(模擬 udp/tcp 端口),代理知道與它相連的節(jié)點,以便把分組轉發(fā)給節(jié)點,它也知道分組大小,業(yè)務類型,目的地址。Agent 類是各種 UDP/TCP 實現(xiàn)類的基類,代理被保存在一個稱為 demux 的鏈表中。6NS 對象(NsObject):NsObject 是所有網(wǎng)絡實體
54、的基類,包括節(jié)點、鏈路、代理,業(yè)務記錄(Trace)和數(shù)據(jù)源等。節(jié)點、鏈路、代理同時繼承了 NsObject 和事件處理器類,因為這三種對象要處理多種事件,其他對象那么不需要。7匹配器類(Matcher):匹配器類用來標識有實例對象生成的類,用戶給出標識匹配器類的關鍵字,匹配器類返回相應的新建對象。匹配器類被定義成靜態(tài)的,只允許一個實例對象4。NS 功能非常強大,由 12 個模塊組成,下面分別介紹各模塊的功能:(1)Tel:Tel 提供了一個強有力的平臺,可以生成面向多種平臺的應用程序、協(xié)議、驅動程序等等。它與 Wk(toolkit)協(xié)作,可生成 GUI 應用程序,可在【,c、Unix 和Ma
55、cintosh 上運行。Tcl 還可用來完成與網(wǎng)頁相關的任務,或是為應用程序提供強有力的命令語言。(2)Tk:與 Tel 協(xié)調工作的圖形工具包。(3)OTcl:即 MIT Object Tcl,是 TclTk 面向對象編程的擴展。(4)Tel cl:此目錄下含 telC+的接口,vic、vat、ns、rtpplay、和 nam 都會用到。(5)NS:NS 主體代碼,內含一個節(jié)點移動產(chǎn)生器、兩個傳輸事件產(chǎn)生器。(6)TclDebug:Tcl 調試工具包。(7)Nam:即 UCBLBNL Network AniMator, 占與 NS 協(xié)同工作,將 NS 仿真過程動態(tài)表現(xiàn)出來。(8)Xgraph:
56、Xgraph 是 X-Windows 應用程序,包含交互式測量和繪制和動畫效果。(9)Gtitm:GT Internetwork Topology Models 的簡稱,產(chǎn)生模擬 j nternt 網(wǎng)絡結構的拓撲圖,還提供了一些例子。(10)SGB:Standford GraphBase 的簡稱,圖形產(chǎn)生器。(11)Cweb:與網(wǎng)頁相關的工具。(12)zlib:通用數(shù)據(jù)數(shù)據(jù)壓縮庫(data compression library)。對于 NS 來說Tel,Tk,Otcl,TclDebug,Nam,Xgraph,Gtitm,SGB,Cweb,zlib 等均為現(xiàn)成工具包。3.3 NS2 模擬根本流
57、程 是否否否是是問題定義修改源碼?修改源碼編寫 Tcl 腳本執(zhí)行模擬分析結果結果滿意?分析問題重新編譯 NS編譯通過?調試結束開始圖 3.1 NS2 進行網(wǎng)絡模擬的根本流程 使用 NS2 進行網(wǎng)絡模擬的根本操作流程如圖 3.1 所示。整個模擬過程主要有三個局部:一為修改源碼,二為編寫 Tcl 模擬腳本,三為分析結果。1源碼修改:這一步只有在模擬需要修改源代碼時才進行考慮。2Tcl/OTcl 模擬代碼編寫:這是 NS2 模擬中最重要和必不可少的環(huán)節(jié),大局部NS2 的模擬工作實際就是編寫 Tcl 腳本代碼來描述網(wǎng)絡結構、網(wǎng)絡構件屬性和控制調度網(wǎng)絡模擬事件的啟停過程。3模擬結果分析:結果分析是真正表
58、達模擬工作成效的重要一環(huán),模擬結果分析主要是對 trace 文件進行分析。NS 仿真需要 C+編譯器和通用的操作系統(tǒng)(如各種 UNIX、Linux 或 Windows 系列)。進行仿真前,首先要分析涉及仿真的哪一個層次。Ns 仿真分兩個層次:一個是基于 OTcl 編程的配置、構造層次,利用 Ns 已有的網(wǎng)絡仿真元素實現(xiàn)仿真,無需對 Ns 本身進行任何修改,只要編寫 OTcl 仿真腳本,如圖 42 中流程卜 24;另一個層次是基于 c+和 OTcl 編程的編譯、配置層次,如果 Ns 中沒有所需的仿真元素,Ns 提供了用戶自我升級或修改協(xié)議的技術,即利用 OTcl 和 NS 的接口類實現(xiàn) NS 的
59、更新,新 NS 生成流程如圖 42 中 l35,然后再進行卜 26 流程完成仿真。NS 的仿真工作機制如圖 42 所示。第 4 章 無線自組網(wǎng)路由協(xié)議仿真4.1 多路徑協(xié)議介紹多路路由是指為任意一對節(jié)點同時提供多條可用的路徑,并允許節(jié)點主機或應用程序)選擇如何使用這些路徑。多路路由算法為節(jié)點間提供多條路徑,并確保發(fā)往其中一條路徑的數(shù)據(jù)經(jīng)由該路徑到達目的地。多路路由網(wǎng)絡是其中的路由器執(zhí)行多路路由算法的網(wǎng)絡。從理論上證明了按需多路徑擁有較長的路徑存活時間和更可靠路由信息,而且擁有良好的性能,并能減少局部擁塞。因此近年來多路徑研究得到廣泛關注4.1.1 AOMDV 協(xié)議AOMDV(Ad hoc On
60、-demand Multipath Distance Vector)按需多路徑距離矢量路由協(xié)議是基于 AODV 的擴展,在路由發(fā)現(xiàn)過程獲取多條無環(huán)且鏈路不相交路徑。與 AODV 主要不同有兩點:建立和維護無環(huán)路由更新機制;獲取多條獨立路徑分布式協(xié)議的方法。AOMDV 充分利用了 AODV 中已有的路由信息,因此只需要增加少量的額外開銷以計算路徑。為保證路徑無環(huán),仍使用 AODV 中的目的序列號來說明路由更新情況,并在內部數(shù)據(jù)結構增加播送跳數(shù)和下一跳列表來代替原來的跳數(shù)。AOMDV 能夠發(fā)現(xiàn)鏈路獨立或節(jié)點獨立路徑。為發(fā)現(xiàn)節(jié)點獨立路由,每個節(jié)點并不馬上丟棄重復的 RREQ 信息,而是將通過相同源節(jié)
61、點的不同鄰居節(jié)點到達的 RREQ 中的信息保存下來作為節(jié)點獨立路由。這是因為中間節(jié)點不會播送重復的 RREQ,那么任意兩個經(jīng)源節(jié)點的不同鄰居節(jié)點到達的 RREQ 就不會經(jīng)過相同的節(jié)點。為得到多條鏈路獨立路由,目的節(jié)點對重復的 RREQ 做應答而不考慮其第一跳。但為了確保 RREP 中第一跳的鏈路獨立,目的節(jié)點只對來自不同鄰居節(jié)點的 RREQ做應答。經(jīng)過這第一跳后,RREP 沿反向路徑回到源節(jié)點。每個 RREP 所經(jīng)過的路徑在中間節(jié)點可能會有交叉,但每個都沿著不同反向路徑到達源節(jié)點以保證鏈路獨立。AOMDV 協(xié)議能夠在不增加額外的控制開銷的根底上,只需對已有分組作微小的改動,就可獲取多條無環(huán)獨立
62、路徑。AOMDV 協(xié)議的中間節(jié)點只轉發(fā)第一次收到的 RREQ 分組,限制了 RREQ 在全網(wǎng)的泛洪,同時源目節(jié)點對間擁有多條可用的完整的路徑,有效的提高了協(xié)議性能。但 AOMDV 仍存在一些局限,如在一次的路由發(fā)現(xiàn)過程中能獲取多條無環(huán)的節(jié)點獨立或者鏈路獨立的路徑,但每次卻只使用一條路徑作為主路徑發(fā)送數(shù)據(jù),同時要等到所有路徑都失效后才重新發(fā)起新的路由請4.1.2 移動節(jié)點的創(chuàng)立 1移動節(jié)點的配置:在 NS2 中,要創(chuàng)立一個移動節(jié)點,就必須在創(chuàng)立節(jié)點之前對節(jié)點進行配置。所謂點的配置就是在節(jié)點創(chuàng)立之前設定節(jié)點的各項屬性,可以使用模擬器對 ns 的內部過程 node-config來配置節(jié)點的屬性。移動
63、結點根本配置參數(shù)如下:$ns node-config adhocRouting #配置 adhoc 網(wǎng)絡的路由類型-llType #數(shù)據(jù)鏈路層類型-macType #MAC 層類型-ifqType #隊列類型-ifqLen #隊列長度-antType #天線類型-propType #無線信號傳輸模型-phyType #物理層類型-channelType #信道類型-topoInstance #拓撲對象-agentTrace #是否翻開應用層 Trace-routerTrace #是否翻開路由的 Trace-macTrace #是否翻開應 MAC 層的 Trace-movementTrace #
64、是否翻開節(jié)點位置和移動信息的 Trace2移動節(jié)點的創(chuàng)立:調用模擬器對象 ns 的內部過程 node創(chuàng)立移動節(jié)點:for set i 0 $i $opt(nn) incr i set node($i) $ns node4.1.3 多路徑計算在這一節(jié)中,我們將提出一個基于路徑選擇熵的按需多路徑路由協(xié)議 SMDR.該協(xié)議由3 個階段組成:路由發(fā)現(xiàn)階段,路由利用階段以及路由維護階段.算法采用 AODV 中的 4 種報文格式.它的開銷相比 AODV 小.我們主要對路由利用階段進行了擴展.圖 2 顯示了 Ad Hoc網(wǎng)絡多路徑路由的結構.4.2 無線自組網(wǎng)路由模擬的實現(xiàn)4.2.1 無線自組網(wǎng)路由協(xié)議場景
65、的構建在無線模擬過程中,首先要建立移動場景,即移動節(jié)點的范圍及其拓撲對象。1移動范圍:set topo new Topography #創(chuàng)立拓撲對象,在節(jié)點設置時使用它來進行配置$topo load_flatgrid 1000 1000 #設定一個 1000 x1000 的屏幕2創(chuàng)立 God 對象,GodGeneral operations director對象是一個存儲關于環(huán)境、網(wǎng)絡或者節(jié)點狀態(tài)等全局信息的對象:set god_ create god $val(nn) #$val(nn)仿真節(jié)點號4.2.2 TCP 代理的創(chuàng)立和設置1TCP 代理創(chuàng)立步驟:步驟一:創(chuàng)立一個 Agent/TCP
66、 對象,作為分組的發(fā)送器;步驟二:設置 Agent/TCP 對象的局部內部變量;步驟三:創(chuàng)立一個 Agent/TCPSink 對象,作為分組的接收器;步驟四:在發(fā)送和接收代理之間創(chuàng)立 connect 連接。2TCP 流的隨機生成:cbrgen 工具可以用來隨機生成 TCP 流,命令格式如下:./ns cbrgen.tcl type -nn -seed -mc -rate 4.2.3 仿真參數(shù)的設置本課題從兩方面來比擬無線自組網(wǎng)路由協(xié)議的性能:當節(jié)點不斷增加時各路由協(xié)議的性能變化和當移動速度不斷增加時各路由協(xié)議的性能變化的相關參數(shù)如表 4.1 所示。表 4.1 仿真參數(shù)場景范圍節(jié)點數(shù)節(jié)點移動最大速度(m/s)靜止時間(s)數(shù)據(jù)連接業(yè)務類型分組發(fā)送率(512b/s)模擬時間s節(jié)點增加1000 x100010、20、3040、50、6070、80、9010020104、8、1216、20、2428、32、3640TCP2.0150移動速度增加1000 x1000302、4、6、810、12、1416、18、201010TCP2.01504.3 仿真結果分析4.3.1 動畫演示工具 namna
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇教版五上《小數(shù)乘整數(shù)》ppt課件
- 蘇教版一年級數(shù)學上冊《數(shù)一數(shù)》ppt課件
- 江南1優(yōu)秀課件
- 提高印字質量課件
- 服務分銷策略課件
- 數(shù)學必修蘇教版互斥事件課件3(共32張PPT)
- 第三章要素費用的核算PPT優(yōu)秀資料
- 元素的質量分數(shù)計算答案
- 圖形的欣賞與設計
- 八年級下期Uuit10SectionA課件
- 部編七年級語文下冊4孫權勸學課件
- 部編一年級語文下冊端午粽課件
- 超市防損的技能課件
- 表彰班會教學課件教學課件
- 第17講中考數(shù)學專題復習 函數(shù)的綜合應用中考數(shù)學專題復習課件課件各版通用