• 沒有找到結果。

考慮節點能量之隨意行動無線網路擇路協定

N/A
N/A
Protected

Academic year: 2021

Share "考慮節點能量之隨意行動無線網路擇路協定"

Copied!
77
0
0

加載中.... (立即查看全文)

全文

(1)

國 立 交 通 大 學

電信工程學系

碩士論文

考慮節點能量之隨意行動無線網路擇路協定

Energy-Aware Routing Protocols for Mobile Ad

Hoc Network

研究生:程偉祥

指導教授:方凱田

中華民國 95 年 6 月

(2)

考慮能量之隨機行動無線網路擇路協定

Energy-Aware Routing Protocols for Mobile Ad Hoc Network

研究生 : 程偉祥 Student : Wei-Hsiang Cheng

指導教授 : 方凱田 Advisor : Kai-Ten Feng

國立交通大學

電信工程學系碩士班

碩士論文

A Thesis

Submitted to Department of Communication Engineering

College of Electrical and Computer Engineering

National Chiao Tung University

in Partial Fulfillment of the Requirements

for the Degree of

Master of Science

in Communication Engineering

June 2006

Hsinchu, Taiwan, Republic of China

(3)

考慮節點能量之隨意行動無線網路擇路協定 學生:程偉祥 指導教授:方凱田 國立交通大學電信工程學系碩士班 摘 要 隨意行動無線網路是一種不需要透過共用設備來管理網路的網路架構,可以直接 在行動運算節點之間做封包的交換。透過隨意行動無線網路的擇路演算法,網路 內的行動運算節點可以摒除傳輸範圍的限制,以其他行動運算節點當作中繼節點 幫忙傳遞封包,使來源節點可以傳送資料封包到傳輸範圍之外的目標節點。擇路 演算法依照功能可以分成單一擇路演算法與多重擇路演算法,可用來處理單點對 單點、單點對多點與多點對多點的資料傳輸。目前的擇路演算法只考量到中繼節 點的數量多寡,而忽略到接收功率、電池量限制與移動模式等的影響。在行動運 算節點的電池能量有限制的情況下,這篇論文將介紹能量分散擇路演算法

(Distributed Energy Routing - DER),讓路徑的選擇可以避開已經快要沒電力的中

繼節點,提供單點對單點資料傳輸的可靠性。在現實環境之中,常會遇到一些有

(4)

Routing - PCHMR),可以使這種有群組性移動模式的網路擁有更可靠的網路架構

進行多點對多點的資料傳輸。為了使網路中的路徑連結更加可靠而不易斷裂,

PCHMR 演算法還會根據接收平均功率來選擇路徑,藉此提升路徑的可靠性與避

(5)

Energy-Aware Routing Protocols for Mobile Ad Hoc Network

Student : Wei-Hsiang Cheng Advisor : Kai-Ten Feng

Department of Communication Engineering National Chiao Tung University

Abstract

The Mobile Ad hoc NETwork (MANET) is a kind of network without the existence of infrastructure. The mobile nodes (MNs) in the MANET can exchange their data packets directly with each others.. By adopting the routing protocols within the MANET, the MNs utilize the intermediate nodes to reroute their data packets and finally to the destination node. By using the ad hoc routing, the source node can conduct packet transmission to the destination node which can be outside of its transmission range. In general, the routing algorithms can be categorized into unicast and multicast routing protocols. The unicast routing protocols handle the situations that one source node is transmitting data packets to one destination node. The multicast routing protocols consider one source to multiple destination nodes for packet delivery. In most research work, only the hop counts within the transmission route are considered; while the influence from the receiving power and remaining energy of the MNs are neglected. This may results in insufficient energy remained within MN to successfully transmit the data packets. In this thesis, a Distributed

(6)

proposed DER algorithm avoids adopting the low-energy intermediate node in the decision of the transmitting path and also provide the reliability for the transmitting packet. On the other hand, the Power-Controlled Hybrid Multicast Routing (PCHMR) protocol is proposed for multicast routing. It is composed of the advantages of the tree-based and the mesh-based routing protocols in order to provide more reliable network structure to transmit packets between multiple sources and destinations. In order to provide more reliable linkage on the path and to avoid the usage of an unreliable path, the proposed PCHMR protocol chooses the routing path according to the average received power of the MNs. The performance evaluation and comparison of the proposed DER and the PCHMR protocols will be conducted in simulations.

(7)

目錄

第一章 導論 3

第二章 隨意行動無線網路的相關資料 7

2.1 媒體擷取控制層………..………8 2.2 網路通訊層………...………..12 2.2.1 單一擇路演算法………..14 2.2.2 多重擇路演算法………..19

第三章 能量分散擇路演算法 28

3.1 設計考量………..28 3.2 能量分散演算法設計………..30 3.2.1 剩餘電池能量的考量方式………...30 3.2.2 最佳路徑的選擇………31 3.2.3 反應計時器的設計………34

第四章 功率控制混合式多重擇路演算法 35

4.1 設計考量………35 4.2 功率控制混合式多重擇路演算法設計………38 4.2.1 演算法的表單設計………...39 4.2.2 混合式網路架構的建構與加入架構流程……….39 4.2.3 混合式網路架構的維持機制……….46

(8)

第五章 模擬環境 48

5.1 模擬平台 – 網路架構模擬器………..48 5.2 使用者移動模型………....49 5.3 無線傳播模型………52 5.3.1 自由空間模型………..52 5.3.2 二路徑射線合成傳播模型………...52 5.3.3 遮蔽模型………...53

第六章 效能評估與分析 56

6.1 能量分散擇路演算法的效能表現………56 6.2 功率控制混合式多重擇路演算法的效能表現………61

第七章 結論 66

(9)

第一章 導論

隨意行動無線網路(Mobile Ad hoc NETwork - MANET)是一種能支援移動性

且不需要一個固定的共用設備負責管理整個網路的網路架構。目前最常使用的無

線區域網路被規範在 IEEE 802.11 標準內,主要是由擷取管理點(Access Point)進

行網路架構的運作與維持,網路中所有的行動運算節點只需要與擷取管理點溝 通,就可以藉由擷取管理點作資料傳輸的動作(見圖 1-1)。而這類網路架構的運 作與維持因為必須使用到類似擷取管理點的固定共用設備,一旦行動運算節點處 在沒有任何固定的共用設備之處(例如比較偏僻的鄉下),所有的行動運算節點就 無法透過無線通道做任何的傳輸動作。相較之下,在隨意行動無線網路內,行動 運算節點間可以直接的溝通與傳輸資料,而不需要任何固定的共用設備管理網路 架構的運作與維持(見圖 1-2)。但也因為隨意行動無線網路缺乏固定的共用設備 負責管理網路,因此網路架構的運作與維持就必須由行動運算節點本身來完成。 IEEE 802.11 標準[1]除了有關擷取管理點管理網路的敘述之外,也針對隨意 行動網路的媒體擷取控制層制訂了完整的運作方式。在 IEEE 802.11 標準內,隨

意行動網路主要是利用 DCF(Distributed Coordination Function)的方式在運作。

DCF 是一種可以讓所有的行動運算節點公平的使用到有限的通道媒體的方式。

藉由 DCF,行動運算節點就可以在不需要擷取管理點的情況下,公平的競爭通

(10)

圖 1-1

(11)

當二個彼此在傳輸範圍外的行動運算節點想要傳送資料給對方時,隨意行動 無線網路可以利用在二個行動運算節點間的行動運算節點當作橋樑的角色,透過 這些行動運算節點把資料間接的傳送到目的地。有效的選擇要使用哪些行動運算 節點當作橋樑需要使用特殊的演算法運作,目前已經發展出很多演算法完成這個 任務,這類型的演算法就統稱為擇路演算法。 擇路演算法依功能可以分成單一擇路演算法與多重擇路演算法。單一擇路演 算法使用在一個行動運算節點要傳送封包給另一個行動運算節點的情況。多重擇 路演算法則是使用在一個或多個行動運算節點要傳送封包給多個行動運算節點 的情況。多重擇路演算法要處理的情況其實使用單一擇路演算法就可以完成,但 在多個行動運算節點要傳送封包給多個行動運算節點的情況下,後者可以先把網 路內的行動運算節點做組織化,使封包的傳輸比使用單一擇路演算法來的更有效 率且節省資源。 擇路演算法在設計時的考量因素很多,一般來說,會把同一個封包的轉傳次 數列為考量,稱為跳躍數(Hop Counts)。在這篇論文中,除了考量跳躍數之外, 還會把接收功率、節點的電池能量與節點移動模式加入考量,進而設計出更加接 近現實環境的擇路演算法。 在一般的單一擇路演算法中,幾乎都假設電池能量是無限制的,也代表該節 點是會永遠存在於網路中。在實際情況中,電池能量卻是有限的。如果一般擇路 演算法選擇出來的路徑套用在這個限制下,可能會因為某些行動運算節點被過度

(12)

使用而電池能量用盡,無法再繼續擔任擇路節點的工作,造成路徑必須再重建,

甚至是遺失封包的錯誤,使整體的效能會出現無預期的下降。因此這篇論文提出

能量分散擇路演算法(Distributed Energy Routing - DER),在選擇路徑時,會盡量

避免使用到剩餘電池能量較少的中繼節點,使電池能量的耗損可以平均的分佈在

整個網路中,使所有節點的生存時間增加。

在一些特殊的情況下,行動運算節點的移動具有群組性(例如軍隊的移動)。

這種移動模式具有一些特性:群組內移動相對靜態,而群組間移動相對動態。為

了處理這種特性的移動模式,這篇論文將提出功率控制混合式多重擇路演算法

(Power-Controlled Hybrid Multicast Routing - PCHMR),達到群組間的封包傳輸不

易失敗且控制封包的數量將會做有效的控制。此外,功率控制混合式多重擇路演 算法也考慮了接收平均功率的參數,使混合式網路架構內的連結更加的牢固不易 斷裂。 接下來的內容如下:第二章將介紹目前媒體擷取控制層最常使用的 IEEE 802.11 標準,還有擇路演算法的原理與運作方式,另外會介紹一些現存的擇路演 算法。第三章與第四章將詳細介紹能量分散擇路演算法與功率控制混合式多重擇 路演算法。第五章將介紹模擬所考慮的環境因素。接著第六章會針對能量分散擇 路演算法與功率控制混合式多重擇路演算法進行模擬並做效能上的評估與分 析。第七章會對這篇論文作最後的結論。最後再附上一些參考文獻。

(13)

第二章 隨意行動無線網路的相關資料

根據國際標準組織(International Standard Organization - ISO)所制訂的開放式

網路系統架構(Open System Interconnection - OSI),把網路的傳輸模型大概分成七

個層級(見圖 2-1)。在目前隨意行動無線網路相關的研究中,大部分都落在第二

層的媒體擷取控制層(Media Access Control)跟第三層的網路通訊層(見圖 2-1)。而

這篇論文是針對網路通訊層進行研究與設計,為了可以更快的瞭解這些研究與設

計,在這一章會先針對媒體控制層進行相關資料跟協定的介紹,接著針對網路通

(14)

IEEE 的 802.11[1]標準大量的被使用在有關於無線區域網路的研究,這個標

準制訂了有關無線區域網路在實體層跟媒體擷取控制層的運作方式。目前也已經

有大量的無線網路產品利用 IEEE 802.11a/b/g 標準[2][3][4]進行製造,代表 IEEE

802.11 標準已經是一個相當成熟而且可實現的規格,所以這篇論文也以這個標準 為基礎,進行更上層的探討。在 2.1 節將會介紹 IEEE 802.11 標準在媒體擷取控 制層的規定與運作方式。 在網路通訊層的部分,目前尚未有任何標準出現,但已存在許多有關隨意行 動無線網路的擇路演算法研究。針對隨意行動無線網路的擇路演算法,大概可以 分成單一擇路演算法跟多重擇路演算法。在 2.2 節將會介紹這二種擇路演算法的 差別,跟一些已存在的擇路演算法。

2.1 媒體擷取控制層(Media Access Control Layer - MAC)

無線區域網路的媒體擷取控制層是依據 IEEE 802.11 標準運作的。針對隨意

行動無線網路,IEEE 802.11 標準是利用以 CSMA/CA(Carrier Sense Multiple

Access with Collision Avoidance)為基礎的 DCF(Distributed Coordination Function)

去運作的。DCF 主要的目標就是要讓所有的行動運算節點都可以公平的使用到

有限的通道媒體。

當行動運算節點想要傳送封包時,藉由 CSMA/CA,行動運算節點會先感測

(15)

但如果通道媒體是處在忙碌的狀態,那行動運算節點會先暫存封包,等待通道恢 復無人使用狀態。但為了避免通道媒體恢復無人使用狀態後,數個等待中的行動 運算節點同時傳輸封包造成碰撞,行動運算節點會利用二元指數型延遲存取 (Exponential Backoff)演算法產生一個參數,接著依據這個參數產生一個隨機值 (在零到參數之間隨機取一個值),讓這個隨機值在通道媒體為等待狀態時,隨時 間遞減。當這個隨機值遞減為零的時候,便送出封包。藉由延遲傳送時間的方式 可以避免碰撞,而二元指數型延遲存取演算法控制延遲的時間,使每一個想要傳 輸封包的行動運算節點可以公平的競爭使用通道媒體。

但單純的利用 CSMA/CA 卻會面臨到隱藏節點(Hidden Node)的問題,而這種

問題就會產生新的碰撞,這種碰撞會發生在圖 2-2 的情況。在圖 2-2 中,因為節 點 A 跟節點 C 互相位在傳輸範圍外,而此二節點對節點 B 的傳輸卻會有可能產 生碰撞,所以互相視為隱藏節點。舉個隱藏節點會產生的碰撞問題,當節點 A 正在進行傳送封包給節點 B 的動作,而節點 C 同時也有封包想要傳送給節點 B。 因為節點 C 在節點 A 的傳輸範圍之外,所以節點 C 無法藉由通道媒體的感測得 知節點 A 正在進行傳輸的動作。因此節點 C 會認為通道媒體處於無人使用狀態, 而開始傳送封包給節點 B,最後造成碰撞。由此可知,隱藏節點的問題是無法單 純的利用 CSMA/CA 的方式解決的。為了解決隱藏節點的問題,DCF 使用了

RTS(Request To Send)封包跟 CTS(Clear To Send)封包的交換來達到清空通道媒體

(16)

著 B 也會傳送 CTS 封包給節點 A。但因為節點 C 也在節點 B 的傳輸範圍內,節 點 C 也會收到這個 CTS 封包,然後瞭解節點 B 即將跟另外節點 A 做傳輸,雖然 此時的通道媒體是無人使用的狀態,但因為節點 B 是忙碌的,此時也不能傳送 資料給節點 B。利用了 RTS 封包跟 CTS 封包,節點 A 間接的讓節點 C 知道節點 A 跟節點 B 之間的傳輸,順利的解決隱藏節點的問題。 圖 2-2 RTS-CTS 的交換可解決隱藏節點 為了配合 RTS 封包跟 CTS 封包的使用,每個行動運算節點都設有網路配置

向量(Network Allocation Vector - NAV)的工具,當行動運算節點接收到 RTS 封包

或 CTS 封包時,會藉由這些封包裡面記錄的傳輸資訊,把這次傳輸的時間記錄

(17)

圍內有封包在進行傳送,則此節點就要避免傳送任何封包以避免去影響正在進行

的封包傳送。圖 2-3 便是在圖 2-2 的情況下,RTS 封包與 CTS 封包交換的時程,

當節點收到節點 B 要送給節點 A 的 CTS 封包,就設定 NAV。

(18)

2.2 網路通訊層(Network Layer)

在網路通訊層之中,針對隨意行動無線網路的擇路演算法,依照傳輸的需

求,大概可以分成單一擇路演算法(Unicast Routing Protocol)跟多重擇路演算法

(Multicast Routing Protocol)。

當我們要進行單一行動運算節點(來源節點)傳輸封包給在傳輸範圍之外的 另一個行動運算節點(目標節點)時,藉由網路內其他的行動運算節點當作中繼節 點幫忙傳遞來源節點的封包,間接地使封包可以成功的到達目標節點。從來源節 點經過中繼點到目標節點之間所經過的行動運算節點就稱為路徑,而這些中繼節 點就稱為擇路節點(Router)。在來源節點跟目標節點之間,通常會有很多條不同 的路徑(使用到不同的擇路節點)可以完成傳遞封包的工作,單一擇路演算法就是 選擇最佳路徑的方法(所謂的”擇路”就是選擇最佳路徑的意思),並可以讓路徑上 的行動運算節點都知道自己被當成是這一次傳輸的擇路節點。 類似於單一擇路演算法,多重擇路演算法也是選擇最佳路徑的方法。但最大 的不同點在於多重擇路演算法是被使用在來源節點要傳輸資料封包給多個目標 節點的情況。在這種情況下,如果所有的傳輸通通採用單一擇路的方式,會發生 路徑重複率太高的問題(很多擇路節點重複地傳遞同一個封包),這樣會使封包的 傳遞非常的沒效率。有效的解決方法就是在傳遞封包之前,利用少數的控制封 包,先把所有的來源節點跟目標節點之間有計畫地建立最省資源的路徑架構。當 資料封包被傳遞時,所有的擇路節點都只需要傳遞一次封包就可以使所有的目標

(19)

節點都接收到封包,大大的提高傳輸的效率,也使網路資源可以傳輸更多的封 包。這種路徑架構的產生方式就稱為多重擇路演算法。 一般來說,一個完整的擇路演算法會分成幾個部分,包括了擇路的搜尋與決 定機制、擇路的維持機制與資料封包的傳輸,通常不同擇路演算法之間的差別都 會在前二部分,所以之後的介紹也大都著重在這二個部分。 選擇最佳路徑的參數,也會隨著不同擇路演算法而不同,目前最常看到的考 量參數就是路徑的跳躍數(從來源節點到目標節點的路徑上,傳遞同一個封包的 次數),而利用這個考量參數所選出的路徑就稱為最短路徑(因為傳遞封包的擇路 節點數最少)。由於目前的擇路演算法大都沒有針對特別的移動模式或傳輸環境 模式作設計,而是假設所有的行動運算節點都在一個固定的空間與不變的傳輸環 境內自由移動,所以設計出來的演算法只考慮了路徑的跳躍數。但實際上,針對 不同的移動模式或是傳輸環境模式,應該要有相對應的設計,如此才能更貼切的 在實際上使用,所以必須考慮更多的考量因素。在這篇論文中,不僅僅是考量的 原本的路徑跳躍數,還另外利用接收功率當作連結是否可靠的依據,也考量每個 行動運算節點有能量大小的限制,增加考量的因素,將會使演算法的設計更加的 貼切實際情況。

(20)

2.2.1 單一擇路演算法

單一擇路演算法依照擇路產生的時間點可以分類成預先維持機制演算法

(Proactive Protocol)跟即時搜尋機制演算法(Reactive Protocol)。預先維持機制演算

法(例如 DSDV[5]跟 WRP[6])會在傳送資料封包前,週期性的利用控制封包先選 擇好到各個目標節點的路徑並維持,而預先選擇好的路徑會存在每個行動運算節 點的擇路表單之內。當某個來源節點想要傳送資料封包時,就可以直接利用擇路 表單的資訊,直接進行傳輸資料的動作。這種演算法比較強調擇路的維持機制, 所以會擁有比較可靠且不易斷裂的路徑,而且因為到目標節點的路徑已經存在擇 路表單內,所以不需要任何延遲就可以開始傳輸資料封包。但週期性的利用控制 封包維持擇路表單的正確性,當整個網路的變化比較快速的時候,維持的頻率就 必須提高,也會造成控制封包過多的問題。即時搜尋機制演算法(例如 AODV[7]、 DSR[8]、TORA[9][10]、ABR[11]跟 SSA[12])只會在行動運算節點想要傳送資料 時,才開始傳送控制封包進行搜尋路徑然後決定路徑的工作。結束搜尋並決定路 徑後,決定的路徑一樣會被存在擇路表單之內,然後才開始傳輸資料封包。這種 演算法比較強調擇路的搜尋機制,而比較不強調擇路的維持機制,所以不需要週 期性的維持擇路表單的正確性,使控制封包的數量大大減低。但由於維持的機制 較弱,所以當整個網路變化比較快速的時候,路徑就會變的相當容易斷裂,而且 因為擇路的決定是在要傳送資料封包才開始運作,所以會有時間上的延遲。另外 還 有 一 些 擇 路 演 算 法 是 合 成 上 述 二 種 擇 路 演 算 法 ( 例 如 ZRP[13][14] 、

(21)

CGSR[15][16]跟 Cedar[17]),依照不同的設計觀念,適當的混和這二種擇路演算

法,使合成後的演算法可以同時保有各自的優點。目前也有很多研究專門比較上

述這些擇路演算法的優劣[18] - [21]。

由於 GPS[22]等定位技術的進步,使每個有使用定位裝置的行動運算節點都

可以知道自己的座標。目前也有很多擇路演算法是假設知道自己的座標而進行擇

路 演 算 法 設 計 的 ( 例 如 DREAM[23] 、 LAR[24] 、 GRA[25] 、 GPSR[26] 跟

GLS[27][28])。由於多了座標的資訊,使這些演算法在搜尋或維持路徑時,可以

更節省網路資源,相對的就是提高效率,所以利用座標資訊的擇路演算法通常都

會有比較好的效能。

AODV(Ad Hoc On Demand Distance Vector Routing)演算法是一種最常見的

單一擇路演算法,擇路的流程也是最基本且易懂,所以常常被拿來當作研究的比

較對象。因此在這一小節會介紹 AODV 演算法的基本擇路流程。

AODV 演算法屬於即時搜尋機制演算法之一,所以只有在某個來源節點想

要傳送資料封包時,才會進行路徑的搜尋。路徑的搜尋是使用最簡單的擇路要求

封包(Route Request - RREQ)與擇路回應封包(Route Reply - RREQ)的往返來完成

的。AODV 演算法在決定路徑的考量參數就是到目標點的跳躍數(最短路徑)。另

外,AODV 演算法也會在每個節點都儲存一份單一擇路表單記錄擇路搜尋之後

的結果。最後要注意的就是 AODV 演算法儲存路徑的方式,AODV 演算法不會

(22)

的下一個擇路節點),因此下面提到儲存路徑都是代表儲存到該節點的下一個跳

躍點。

為了確定選擇的路徑是確實存在於網路內,而不是舊有卻以不存在的路徑,

AODV 演算法設計了排序數字(Sequence Number - SN)的觀念。對一條路徑來

說,其排序數字越大,代表上一次更新的時間越近,越能確定這條路徑是真的存 在於網路之內。尤其在網路變化速度較快的網路之內,路徑存在的時期較短,排 序數字的設計對於可以使用正確的路徑傳遞資料封包更是重要。 目標節點 RREP RREQ 來源節點 圖 2-4 AODV 演算法示意圖 當來源節點想要傳送資料封包給一個在傳輸範圍外的目標節點,首先搜尋單 一擇路表單是否已經存在有到該目標節點的路徑。若是已經存在,就代表已經有 路徑可以直接傳送資料封包,所以可以馬上開始資料封包的傳輸。但比較常見的 情況就是找不到路徑,便開始搜尋路徑的工作,來源節點會先廣播 RREQ 封包(見 圖 2-4)。由於來源節點提出搜尋路徑的要求,也代表網路內的部分路徑也會進行

(23)

更新的動作,所以必須在 RREQ 封包內放上最新的排序數字,讓有更新的路徑 也藉此更新排序數字(包括通往目標節點的最短路徑)。 當網路內的任何一個中繼節點第一次接收到這個 RREQ 封包,代表這個節 點有路徑可以通往來源節點,所以會把通往來源節點的路徑儲存在單一擇路表單 內(包括排序數字),當作之後回傳 RREP 封包的保留路徑。再來檢查自己的單一 擇路表單是否有到達目標節點的路徑。如果有,就代表來源節點可以透過這個中 繼節點傳送資料到目標節點,所以這個中繼節點就會利用到來源節點的保留路徑 回傳 RREP 封包。如果沒有,這個中繼節點就會繼續廣播這個 RREQ 封包(見圖 2-4)。另外要注意,來源節點每一次送出 RREQ 封包,都會有一個固定的編號(廣

播 ID),藉由廣播 ID,收到這個封包的節點都可以知道之前有沒有收過這個 RREQ

封包。當中繼點發現收到的 RREQ 封包是之前曾經接收過的,那就不會對這個 封包做任何動作,也不會繼續廣播這個封包。 當目標節點第一次收到 RREQ 封包時,代表目標節點有路徑可以通往來源 節點,一樣會把通往來源節點的路徑儲存在單一擇路表單內(包括排序數字),當 作回傳 RREP 封包的保留路徑。由於目標節點已經有回到來源節點的路徑,所以 直接利用單一擇路的方式沿著這條路徑回傳 RREP 到來源節點(見圖 2-4),而這 條被選擇的路徑上的中繼節點就稱為擇路節點(Router)。一樣藉由 RREQ 封包的 廣播 ID,目標節點可以知道之前有沒有收過這個 RREQ 封包。當目標節點發現 收到的 RREQ 封包是之前曾經接收過的,那就不會對這個封包做任何動作。另

(24)

外要注意,雖然目標節點所選擇的路徑就是最小的保留路徑,而保留路徑上所有 擇路節點的單一擇路表單也都存有這條保留路徑,但對這條保留路徑上的每個擇 路節點來說,這個保留路徑是通往來源節點的路徑,而非通往目標節點的路徑(因 為路徑的方向不同,所以上一個跳躍點會不同)。所以我們依然要回傳 RREP,通 知這條路徑上的節點,使這些中繼節點知道自己成為擇路節點,並得到通往目標 節點的路徑,而保留路徑的功用只是提供回傳 RREP 的路徑。 當被選擇路徑上的擇路節點接收到 RREP 封包時,代表這個節點有路徑通往 目標節點,而且已經是被目標節點決定要使用的路徑,所以要把這條通往目標節 點的路徑儲存在單一擇路表單,這樣才能在之後傳遞由來源節點所傳出的資料封 包。接著再利用單一擇路表單找出通往來源節點的保留路徑(之前在 RREQ 廣播 所儲存的),繼續傳遞 RREP,反覆步驟直到來源節點收到 RREP 為止。當來源節 點收到 RREP 之後,代表來源節點已經有路徑通往目標節點,把路徑的儲存在單 一擇路表單內之後,就可以開始資料封包傳輸的工作。 AODV 演算法其實也有一些簡單的維持機制。在網路內的所有行動節點會 週期性的廣播一個跳躍數的維持訊息(Maintain Message)封包,藉此確定網路內任 意二點間的連結是否斷裂。在這種會不斷確定二點間的連結的機制下,當路徑上 的某個連結斷裂時,在這個連結上比較靠近來源節點的擇路節點會知道這條路徑 已經斷裂,就回傳通知封包告知來源節點路徑斷裂的訊息。但這是屬於比較簡單 的維持機制,所以 AODV 演算法依舊被歸類在及時搜尋機制演算法內。

(25)

2.2.2 多重擇路演算法

之前提到多重擇路演算法利用少數的控制封包,先把所有的來源節點跟目標 節點之間有計畫地建立最省資源的路徑架構,再進行資料封包的傳輸。而多重擇 路演算法依照路徑架構的不同大概可以分成樹狀網路架構演算法(Tree-based Protocol)跟網狀網路架構演算法(Mesh-based Protocol)二種不同的架構。 節點B 節點A 樹根節點 圖 2-5 樹狀網路架構 由 名 稱 可 知 , 樹 狀 網 路 架 構 演 算 法 ( 例 如 MAODV[29] 、 AMRIS[30] 、 AMRoute[31]跟 GS[32])的路徑架構成樹狀型(見圖 2-5),會有一個行動運算節點 代表樹根的位置,稱為樹根節點。除了樹根節點,其他網路結構內的節點都會有 一個上游節點是通往樹狀網路架構的路徑,也就是通往樹根節點的路徑。在圖 2-5 中,節點 A 為節點 B 的上游節點。相對的,這個行動運算節點也被會被其他 行動運算節點視為上游節點,對這個被視為上游節點的行動運算節點來說,這些 視其為上游節點的行動運算節點就稱為下游節點。在圖 2-5 中,節點 B 為節點 A

(26)

產生的網路架構,每一點都彷彿是樹枝的交叉處,往上游節點就代表是往樹根方 向,往下游節點就代表是往樹葉方向,形狀看起來彷彿就是一棵樹,故稱此網路 架構為樹狀網路架構。樹根節點因為沒有任何上游節點,在樹狀圖中,彷彿位在 樹根的位置,因此被稱為樹根節點。網路架構內的部分節點因為沒有任何下游節 點,在樹狀圖中,彷彿位在樹葉的位置,因此被稱為樹葉節點。觀察這種結構可 以發現,樹根節點幾乎位在整個網路架構的中心位置,所以在樹狀網路架構的演 算法中,樹根位置往往都要負責整個網路架構的維持。由於每個行動運算節點只 有一個上游節點,代表每個行動運算節點只有一條路徑通往整個網路架構,使用 到最少的路徑跟擇路節點,對傳送資料封包來說,這是最省網路資源的多重擇路 演算法,這是樹狀網路架構最大的優點。但由於所有樹狀網路架構內的成員要通 往網路架構的路徑都只有一條,處於較動態的網路時,唯一的路徑容易斷裂,因 此樹狀網路架構的路徑可靠性比較差。而且當路徑斷裂時,必須進行重新尋找路 徑到網路架構的動作,控制封包的數量會因此大幅上升。 圖 2-6 網狀網路架構

(27)

網狀網路架構演算法(例如 ODMRP[33]、CAMP[34]跟 MCEDAR[35][36])是 為了避免像樹狀網路架構的路徑可靠性較差的缺點,每一個行動運算節點使用更 多條路徑通往整個網路架構。圖 2-6 的節點分佈與圖 2-5 一模一樣,但路徑數卻 增加不少,路徑分佈的形狀很像一張網子,故稱為網狀網路架構。當某一條路徑 因為網路的變動而斷裂時,仍然會有其他條路徑幫忙傳送資料封包,提高路徑的 可靠度。而且路徑不只一條,所以當路徑斷裂時,不需要立即進行搜尋新路徑的 動作,所以控制封包的數量可以做有效的控制,不會因為處在叫動態的網路,造 成控制封包快速增加。但由於網路多了許多本來不需要的路徑,所以在傳送資料 封包時,會消耗較多的網路資源,而這些因為增加路徑而產生的多餘負荷,就稱 為多餘資源(Redundancy)。 樹狀網路架構的特色在於使多餘資源降到最低,節省網路資源,但路徑的可 靠性卻不佳,並且在動態的網路下,控制封包會大量的提升。網狀網路架構的特 色在於犧牲多餘資源的負荷,但路徑的可靠度大量提升,並且在動態的網路下, 控制封包仍然維持在一定的數量。在一些研究中[37][38],有針對這二種多重擇 路演算法作分析,在樹狀網路架構演算法的部分選擇 MAODV 演算法,而在網 狀網路架構演算法的部分選擇 ODMRP 演算法。分析的結果可以發現,雖然樹狀 網路架構演算法少了許多的多餘資源,但在較動態的網路內,由於控制封包的大 量增加,造成資料封包的傳送效率也會大幅的降低,甚至比多餘資源較多的網狀 網路架構演算法還糟糕。所以目前在多重擇路演算法的設計,逐漸的會比較偏重

(28)

從網狀網路架構演算法的方式進行設計。

MAODV(Multicast Operation of the Ad Hoc On Demand Distance Vector

Routing) 演算法是一種最常見的樹狀網路架構演算法,擇路的流程是利用最基本 的擇路要求與擇路回應循環,可以說是其他樹狀網路架構演算法的基礎,所以也 常常被拿來當作研究的比較對象。因此在這一小節會介紹 MAODV 演算法建立 整個網路架構的方式。 第一個想要建立這個樹狀網路架構的行動運算節點稱為網路架構領導節點 (Structure Leader)。一般來說,在整個網路架構完全建立後,網路架構領導節點 會在整個樹狀架構的樹根節點位置。跟 AODV 演算法使用排序數字(Sequence

Number)的想法一樣,MAODV 演算法也有使用結構排序數字(Structure Sequence

Number)來決定每條擇路的更新程度,當路徑的架構排序數字越大,就代表該條 路徑距離上次更新的時間越近,越符合現在整個網路應該保持的路徑結構。而整 個樹狀網路架構就是利用網路架構領導節點所廣播的架構維持訊息(Structure Maintain message)來完成架構排序數字更新的動作,並使樹狀網路架構可以保持 在最省網路資源的架構。 每一個樹狀網路架構都有一個獨特的網路架構位址,而架構內的每個行動運算節

點都需要建立一份多重擇路表單(Multicast Route Table)。在多重擇路表單之內,

除了基本的網路架構位址與架構排列數字之外,還需要儲存該行動運算節點通往

(29)

條路徑的下一個跳躍點。這裡要注意,這裡要儲存的路徑不像 AODV 演算法的 路徑單純地拿來給資料封包傳遞使用的,這些儲存的路徑在 MAODV 演算法內 主要是被用來進行網路架構的維持,所以這裡的路徑指的是通往樹狀網路架構的 路徑(在之後的敘述中會慢慢瞭解)。在 AODV 演算法內,封包在路徑上的傳遞, 是利用擇路表單內存的下一個跳躍點,進行一對一的傳輸,非下一個跳躍點卻收 到封包的節點,會在媒體擷取控制層就把該封包給取消,不需要再往上送到網路 通訊層。MAODV 演算法的資料封包傳輸與 AODV 演算法不同,封包的檢查與 取消都是在網路通訊層進行的,這在之後會有更詳細的說明。另外針對每個下一

個跳躍點都要設立一個擇路使用標誌(Route Enabling Flag),藉此來標示有通過此

下一個跳躍點的路徑是否被啟用,就是標示該行動運算節點通往樹狀網路架構的

(30)

擇路節點 (b) RREP-J封包的傳送 (a) RREQ-J封包的傳送 (c) SACT-J封包的傳送 網路架構領導節點 網路架構成員 要求加入節點 非網路架構節點 網路架構連結 封包流動方向 圖 2-7 MAODV 演算法流程示意圖

AODV 演算法的擇路搜尋方式是利用擇路要求封包(Route Request - RREQ)

跟擇路回應封包(Route Reply - RREP)的往返來達成的。而 MAODV 演算法就是

利用類似 AODV 演算法的方式來達到網路架構的建構與加入架構。當有一個行

動運算節點(稱為要求加入節點)試圖加入樹狀網路架構時,要求加入節點會先廣

(31)

(a))。在 RREQ-J 封包在網路內傳遞的過程中,會利用單一擇路演算法的方式來

決定並儲存該點回到要求加入節點的最小路徑。當樹狀網路架構內的任何一個網

路架構成員接收到這個廣播的 RREQ-J 時,會利用在 RREQ-J 傳遞時產生的最小

路徑,利用單一擇路演算法的方式回傳 RREP-J 封包(RREP with a Join flag)給要

求加入節點(見圖 2-7 (b))。這裡要注意,由於任何接收到 RREQ-J 封包的樹狀網 路架構之成員都可以利用單一擇路的方式回傳 RREP-J 封包,所以要求加入節點 將會接收到很多條利用單一擇路演算法的方式而經過不同路徑的 RREP-J 封包, 其中每收到一次,就代表在樹狀網路架構中有一個相對應的點回應了 RREQ-J 封 包。當要求加入節點同時收到來自不同路徑的 RREP-J 時,先利用 RREP-J 封包 上的紀錄,在多重擇路表單內儲存這些路徑相關於樹狀網路架構的資訊,包括這 條路徑的上一個跳躍點、樹狀網路架構最新的架構排序數字跟距離網路架構領導 節點的跳躍數。 最後要求加入節點會在之前儲存的路徑中選擇一條最短的路徑(依據距離網 路架構領導節點的跳躍數),並把多重擇路表單內相對應於被選擇路徑項目中的 REF 設定起來,代表這條路徑將被選擇使用。最後一樣利用單一擇路演算法的方

式,使用這幾條路徑回傳 SACT-J(Structure Activation message with a Join flag)封

包,傳送給當初利用這些路徑回應 RREP-J 封包的節點(稱為回應節點),讓回應

節點知道這些路徑已經被要求加入節點決定為通往樹狀網路架構的路徑(見圖

(32)

擇成為樹狀網路架構內的成員,稱為擇路節點。這些擇路節點會利用 SACT-J 的 資訊,把上一個跳躍點儲存在多重擇路表單內,接著利用單一擇路表單的資訊, 把通往回應節點的下一個跳躍點一樣儲存在多重擇路表單內,並向此下一個跳躍 點送出 SACT-J 封包。這裡要注意,不同於 AODV 演算法,擇路節點必須把路徑 上的前後跳躍點都儲存在多重擇路表單內,這是因為多重擇路表單的路徑是代表 通往樹狀網路架構的路徑,而不只是通往網路架構領導點的路徑,新加入的節點 也算是樹狀網路架構的一部份,所以通往該節點的路徑也要儲存起來。如此反覆 動作,直到回應節點收到 SACT-J 封包。 樹狀網路架構的維持利用二種廣播維持封包的機制: 1) 網路架構領導節點(Structure Leader)會負責週期性的廣播架構維持訊息

(Structure Maintain Message)封包,藉此來更新一些有關整個合成網路架構的

資訊(例如樹狀網路架構的架構排列數字)。 2) 為了確定網路內任意二點間的連結是否斷裂樹狀網路架構內的所有成員都 會週期性的廣播一個跳躍數的維持訊息(Maintain Message)封包,讓連結的另 一邊知道這個連結依舊存在。如果樹狀網路架構中的某一點在一段時間內都 沒有收到連結另外一邊送來的維持訊息封包,那此行動運算節點就會認定這 個連結斷裂,並針對這種情況做出反應。 之前提到 AODV 演算法的資料封包傳遞是利用擇路表單內存的下一個跳躍 點,進行一對一的傳輸,非下一個跳躍點卻收到封包的節點,會在媒體擷取控制

(33)

層就把該封包給取消,不需要再往上送到網路通訊層。但在 MAODV 演算法做 資料封包傳遞時,是不需要在多重擇路表單內找下一個傳輸點的,而是利用一個 跳躍點的廣播方式送出封包,封包內會有網路架構位址的資訊,接收到封包的節 點只需要藉由網路架構位址判斷自己是不是屬於同一個樹狀網路架構。如果是, 就接收封包並再用一樣的方式送出這個封包,如果不是,就把封包取消。因此 MAODV 演算法不同於 AODV 演算法在媒體擷取控制層就決定要不要接收資料 封包,而是在網路通訊層才做決定。此外,每個樹狀網路架構內的成員對於同一 個資料封包,只會做一次的接收與傳送。

(34)

第三章 能量分散擇路演算法(Distributed Energy

Routing Protocol - DER)

3.1 設計考量

一般的單一擇路演算法都是考慮電池能量無限制的情況,再針對跳躍數或是 其他因素設計單一擇路演算法。目前在電池能量領域上的發展,儘管電池能量的 容量已經大大提升,但還是不足以無限制時間地維持整個行動運算節點的電路運 作。因此在電池能量有限制的情況下,行動運算節點將會因為電池能量用完而產 生一些問題。如果某條路徑上的中繼節點剛好把所有的電池能量使用完,那就會 造成路徑斷裂無法繼續做傳遞資料封包的工作。甚至是在這個中繼節點處在整個 網路中重要位置的情況下,使得網路中的某些路徑必須透過這個中繼節點才能持 續地傳遞資料封包,這時候有限電池能量產生的問題就會更加的嚴重。但也因為 這些行動運算節點處在網路中的重要位置,在只考慮跳躍數的單一擇路演算法 中,被選擇當作擇路節點的機率也相對的比較高,所以前述的問題也更容易發 生。因此要設法讓每條路徑的選擇可以平均地分佈在網路中,避免部分行動運算 節點不斷地被選擇當作擇路節點而造成電池能量快速地被使用完,而這樣的概念 也代表著把傳遞資料所造成的能量損失平均地分佈在網路中。一般來說,剩餘電 池能量較少的節點代表常常被使用到,所以通常就是代表那些處在網路中重要位 置的行動運算節點。因此當來源節點提出路徑搜尋的要求時,除非必要,不然會

(35)

盡量避免使用到剩餘電池能量較少的節點,這樣就可以很容易地盡量不要使用到 重要位置的行動運算節點。DER 演算法便是考量電池能量的因素而設計的單一 擇路演算法。 圖 3-1 路徑選擇方式 見圖 3-1,節點 A 因為處在網路中的重要位置而容易擔任擇路節點的工作, 因此電池能量通常較少。假設來源節點 1 正在傳送資料封包給目標節點 1。此時 來源節點 2 也想傳送資料封包給目標節點 2,依照網路中所有行動運算節點的分 佈與一般只考慮跳躍數的單一擇路演算法,來源節點 2 會選擇最短路徑(見圖 3-1 的實現箭頭),而中繼節點 A 會同時間成為這條路徑與其他路徑的共用擇路節 點,必須承擔比較多次的封包傳遞動作,會造成節點 A 的電池能量容易被使用 完。一旦節點 A 的電池能量使用完而不能幫忙傳遞資料封包,那對來源節點 1 來說,將找不到其他路徑可以進行傳遞資料封包的工作,因此嚴重的影響資料封 包傳遞的成功率。若單一擇路演算法有考慮到電池能量的因素,那來源節點 2

(36)

就可能會捨棄最短路徑而選擇跳躍數較長的路徑(見圖 3-1 的虛線箭頭)傳送資料 封包給目標節點 2,避免節點 A 被重複使用,造成電池能量快速耗損。

3.2 能量分散擇路演算法設計

因為 AODV 演算法假設電池能量無限制而只有考慮到跳躍數,所以在剩餘 電池能量的限制下,效能將會大大的下降。DER 演算法是以 AODV 演算法為基 礎,加上剩餘電池能量的因素改良演算法,達到 3.1 節敘述的概念。 DER 演算法跟 AODV 演算法類似,路徑的搜尋是使用最簡單的擇路要求封

包(Route Request - RREQ)與擇路回應封包(Route Reply - RREQ)的往返來完成

的。由於 DER 演算法要使目標節點在決定路徑時,是以剩餘電池能量為考量, 所以 DER 演算法針對 AODV 演算法做了三點改良。第一、剩餘電池能量的考量 方式。第二、最佳路徑的選擇。第三、反應計時器的設計。

3.2.1 剩餘電池能量的考量方式

DER 演算法在 RREQ 封包內,增加了路徑電池能量最小值的欄位。當中繼 節點接收到 RREQ 封包時,會先判斷 RREQ 封包內的路徑電池能量最小值欄位 是否大於自己的電池量。如果條件符合,那該中繼節點就會瞭解自己的電池量是 目前這條路徑的最小值,所以把自己的電池量存在 RREQ 封包的路徑電池能量 最小值欄位並廣播這個 RREQ 封包。反之,該中繼節點就直接廣播這個 RREQ

(37)

封包。藉由這種方式,會把每條路徑上所有中繼節點的最小電池量存在 RREQ 封包的路徑電池能量最小值欄位,使目標節點可以透過這個資訊來選擇擁有最大 的路徑電池能量最小值的路徑,而這條路徑將比較不容易使用到處於網路重要位 置的中繼節點。

3.2.2 最佳路徑的選擇

AODV 演算法決定路徑的方式是選擇最少跳躍數的路徑。因為要選擇最少 的跳躍數,所以在廣播 RREQ 封包的過程中,當目標節點或是中繼節點第一次 接收到來源節點廣播的 RREQ 封包時,就認定這條 RREQ 封包經過的路徑為最 短路徑。因此,當目標節點或是中繼節點收到一次 RREQ 封包之後,就不再處 理之後接收到的同一個 RREQ 封包。但 DER 演算法首先考量剩餘電池能量,因 此不能跟 AODV 演算法一樣只記錄第一次收到 RREQ 封包的路徑。必須持續對 之後收到的 RREQ 封包做處理與記錄路徑的工作。 在 DER 演算法中,當接收到同一個 RREQ 封包時,會先判斷傳送這一條 RREQ 封包的路徑是否有比較好的剩餘電池能量狀況,如果有比之前儲存在單一 擇路表單內的路徑有比較充足的剩餘電池能量,那就會把這一條路徑視為通往來 源節點的最佳路徑,並儲存在單一擇路表單之內。接著進行 3.2.1 節敘述的動作, 最後再次把 RREQ 封包廣播出去,讓之後的中繼節點也知道現在有這一條比較 好的路徑可以選擇。這裡要注意的是,RREQ 封包資訊的更改,是在判斷路徑好

(38)

壞之後,也就是說在判斷路徑好壞的時候,是還沒有考慮到本身剩餘電池能量的 問題,而是只有考慮路徑的其他節點。如果沒有比之前儲存在單一擇路表單內的 路徑有比較充足的剩餘電池能量,那就會把這一條路徑視為比較差的路徑,是不 可能會被目標節點選擇的,因此直接取消這一個 RREQ 封包。 由圖 3-2 可以觀察到,當中繼節點 B 第一次收到來自中繼節點 C 的 RREQ 封包,由於是第一次收到這個 RREQ 封包,所以把路徑的資訊儲存下來。並更 改在 RREQ 封包內有關路徑剩餘電池能量的資訊,最後再廣播這個 RREQ 封包 出去。當中繼節點 B 接著收到來自中繼節點 D 的 RREQ 封包,發現這一條路徑 的剩餘電池能量狀況比之前儲存的路徑還要良好,就會把之前儲存的路徑刪掉, 並儲存這一條新的路徑,再更改在 RREQ 封包內有關路徑剩餘電池能量的資訊, 最後在廣播這個 RREQ 封包出去。重複動作,可以發現中繼節點 A 與目標節點 都會做路徑的更新,只儲存最佳路徑。因此藉由這種方式,網路中所有節點都可 以得到通往來源節點的最佳路徑。

(39)

圖 3-2 DER 演算法的 RREQ 封包傳遞方式

另外要注意,用上述敘述的演算法,也可以避免擇路迴圈(Route Loop)的情

況。以二點間的擇路迴圈為例,在圖 3-2 中,當中繼節點收到來自中繼節點 C 的

RREQ 封包,把這一條路徑的資訊存在單一擇路表單內,這裡稱為路徑 1。接著

繼節點 B 傳送 RREQ 封包給中繼節點 A,中繼節點 A 再傳送 RREQ 封包給中繼

節點 B,因此中繼節點 B 就會認為這一條路徑是另一條可能可以使用的路徑,開 始路徑剩餘電池能量的判斷,這裡稱為路徑 2。我們可以發現,如果中繼節點 A 或中繼節點 B 的電池剩餘能量狀況比路徑 2 的其他節點都還要差,由於路徑 1 沒有經過中繼節點 A 與中繼節點 B,所以透過 RREQ 封包內的資訊,中繼節點 B 就會認為路徑 2 的電池剩餘能量狀況比路徑 1 還差,並消除這個 RREQ 封包。 如果中繼節點 A 與中繼節點 B 的電池剩餘能量狀況不會比路徑 2 的其他節點都 還要差,所以在路徑 1 跟路徑 2 上,電池剩餘能量最差的中繼節點會是在路徑中

(40)

做單一擇路表單的更改。由此可以發現,擇路迴圈的現象會很自然的被解決。利 用同樣的分析方式,就可以發現三點以上的擇路迴圈問題也都不會產生。

3.2.3 反應計時器的設計

標節點第一次接收到來源節點廣播的 RREQ 封包 時,就認定這條 在 AODV 演算法中,當目 RREQ 封包經過的路徑為最短路徑,立刻使用這條路徑回傳 RREP 封包通知來源節點,而且不理會之後接收到的同一個 RREQ 封包。這種方式明 顯不適用在 DER 演算法。因為經過不同路徑的 RREQ 封包到達目標節點的時間 不同,所以必須讓目標節點回傳 RREP 封包的時間延遲,使目標節點可以得到每 一條路徑的資訊並做更新成最佳路徑的動作。因此當目標節點第一次接收到來源 節點廣播的 RREQ 封包時,目標節點不會馬上使用這條路徑回傳 RREP 封包, 而是設定一個負責倒數的回應計時器(Reply Timer)。在回應計時器倒數到零的這 段時間內,持續的接收 RREQ 封包得到新的路徑資訊並更新成最佳路徑。當計 時器倒數為零時,目標節點就假設已經檢查過所有通往來源節點的路徑,且單一 擇路表單內的路徑就是最佳路徑。最後目標節點就利用這一條最佳路徑回傳 RREP 封包。

(41)

第四章 功率控制混合式多重擇路演算法

ting -

.1 設計考量

,行動運算節點的移動是有群組特性的,這種移動模式 算法是依據樹狀網路架構與網狀網路架構二種不同的概念,經過 適 當

(Power-Controlled Hybrid Multicast Rou

PCHMR)

4

在某些實際的情況下 就稱為群組移動模式。整個網路內的行動運算節點在移動的過程中,根據其移動 的行為,大概可以分成好幾個不同的小群組。而在同一群組內的行動運算節點, 因為有相類似的移動行為,節點間相對距離與相對移動速度較小,所以可以視為 一個節點數較少且相對移動較靜態的網路結構,因此在每一個群組內的連結相對 地可靠不易斷裂。相較之下,群組之間的相對移動比較動態且多變化,彼此之間 的連結也更容易斷裂而不可靠。PCHMR 演算法就是針對此種群組移動模式而設 計的演算法。 PCHMR 演 的 設 計 組 合 成 一 種 新 的 網 路 架 構 , 在 此 稱 為 混 合 式 網 路 架 構 (Hybrid Structure)。PCHMR 演算法主要的觀念就是根據二個行動運算節點是否在同一個 群組內的條件,決定使用樹狀網路架構或是網狀網路架構的概念進行路徑連結的 工作。由於樹狀網路架構的連結數且需要的控制封包較少,但只能適用在相對移 動較靜態而連結不容易斷裂的網路結構。所以當二個行動運算節點處在同一個群

(42)

組之內時,使用樹狀網路架構可以降低路徑連結的數量與控制封包,並足以達到 此二點間路徑連結的可靠性,因此群組內行動運算節點間的路徑連結只需採取樹 狀網路架構的模式。當二點行動運算節點處在不同群組之內時,由於群組之間相 對的移動比較動態,路徑連結自然也相對地容易斷裂,所以採取連結較可靠而不 易斷裂的網狀網路架構。雖然網狀網路架構需要更多的多餘連結數,但由於整個 網路內的群組數量遠小於行動運算節點的數量,所以 PCHMR 演算法需要使用到 網狀網路架構的路徑連結數量遠小於直接使用網狀網路架構演算法的全部路徑 連結數量。因此,使用網狀網路架構而增加的路徑連結數被大大的降低而產生連 結數量最小化的情況。 PCHMR 演算法是利用樹狀架構網路為主,網狀網路架構為輔。先利用樹狀 網路 解針對群組移動模式而設計的 PCHMR 演算法是如何運作 的。 的架構方式為基礎,讓網路內所有的行動運算節點產生路徑連結。在一般的 樹狀網路架構內(例如 MAODV 演算法),每一個行動運算節點只有一個上游節點 (Upstream Node)可以當作往樹狀網路架構的領導節點的回溯路徑。如此先確定在 群組之內的行動運算節點已經形成樹狀網路架構。在此基礎之下,另外考慮群組 之間比較靠近的行動運算節點,使這些節點除了含有在樹狀網路架構下的路徑連 結,在群組之間還增加了網狀網路架構的路徑連結,使群組之前的路徑連結更加 的可靠不易斷裂。 由圖 4-1 可以瞭 整個網路的行動運算節點根據移動的行為被分成三個小群組,分別是 A 群

(43)

組、B 群組跟 C 群組,實線代表依據樹狀網路架構而產生的連結。由於三個群組 圖 4-1 混合式網路架構的例子 之間移動行為的不同,造成群組之間的連結容易斷裂(i.e. 群組A與群組B的L1跟 群組A與群組C的L2)。在PCHMR演算法內,群組之間另外增加了網狀網路架構 的路徑連結,確保群組之間的路徑連結更加的可靠不易斷裂。在圖 4-1 內,PCHMR 演算法增加了L3、L4跟L5這三個路徑連結來提高三個群組間的連結可靠性。因此 當資料封包在傳遞時,即使當群組間部分的路徑連結因為群組間不同的移動行為 而造成斷裂時,仍然會因為另一部份增加的路徑連結,所以群組之間的資料封包 傳遞可以持續地進行,大大地增加資料封包在群組間傳遞的成功率。所以說

(44)

間的路徑連結可靠性而產生的混合式網路結構。

4.2 功率控制混合式多重擇路演算法設計

演算法為基礎,再把利用 MAO 點稱為網路架構領導節點。此 網路 PCHMR 演算法以樹狀網路架構演算法的 MAODV DV 演算法產生的樹狀網路架構加入部分網狀網路架構的觀念,產生新的混 合式網路架構。每一個混合式網路架構有一個獨特的網路架構位址,並且由網路

架構成員(Structure Member,圖 4-1 內的實點)與擇路節點(Router,圖 4-1 內的陰

影點)所組成。網路架構成員代表真正屬於這個網路架構的行動運算節點,想要

接收屬於這個網路架構內的封包。擇路節點代表為了組成混合式網路架構而必須

加入網路架構內的行動運算節點,當網路架構內的封包在傳遞時,要適當的擔任

中繼節點的工作。要注意擇路節點不等於網路架構成員,儘管都屬於混合式網路

架構內的成員,但實質上的意義是不同的。而混合式網路架構內的成員就統稱為

混合式網路架構成員(Hybrid Structure Member)。

第一個建立這個混合式網路架構的行動運算節

架構領導節點(Structure Leader)要負責維持混合式網路架構的網路結構。類

似於MAODV使用排序數字(Sequence Number)的想法,PCHMR演算法使用了架

構排序數字(Structure Sequence Number - SSN)來決定每條路徑的更新程度,當路

徑的SSN越大,就代表距離該條路徑上次更新的時間越近(i.e. SSN(ti)≥ SSN(tj) for

(45)

新 SN的工作會由網路架構領導節點來完成。 S

4.2.1 演算法的表單設計

要建立一份多重擇路表單(Multicast Route Table -

MRT

4.2.2 混合式網路架構的建構與加入架構流程

(Route Request - RREQ)

跟擇 稱為要求 加入 每個行動運算節點內都需 )。在多重擇路表單之內,除了基本的網路架構位址與 SSN,還需要儲存該 行動運算節點所處群組的 ID 與通往混合式網路架構的所有路徑中的下一個跳躍 節點群(通常不只一個)。另外針對每個下一個跳躍點都要設立一個擇路使用標誌

(Route Enabling Flag - REF),藉此來標示此下一個跳躍點的路徑是否被使用,也

就是標示該行動運算節點通往混合式網路架構的路徑是否有通過此下一個跳躍

點。

AODV 演算法的擇路搜尋方式是利用擇路要求封包

路回應封包(Route Reply - RREP)的往來溝通來達成的。混合式網路架構就是

利用類似 AODV 演算法的方式來達到網路架構的建構與加入架構。

當有一個行動運算節點試圖加入某個混合式網路架構時,此節點就

節點。要求加入節點會先廣播 RREQ-J 封包(RREQ with a Join flag)搜尋通往

混合式網路架構的路徑。在 RREQ-J 封包在網路內傳遞的過程中,接收到 RREQ-J

(46)

節點的最小路徑。當混合式網路架構內的混合式網路架構成員(包括網路架構成

員跟擇路節點)接收到 RREQ-J 封包時,會利用在 RREQ-J 封包傳遞時產生的最

小路徑,以單一擇路演算法的方法回傳 RREP-J 封包(RREP with a Join flag)給要

求加入節點。這裡要注意,由於任何接收到 RREQ-J 封包的混合式網路架構成員 都可以利用單一擇路演算法回傳 RREP-J 封包,要求加入節點將會接收到很多個 利用單一擇路演算法而經過不同路徑的 RREP-J 封包。每收到一次 RREP-J 封包, 就代表在混合式網路架構中有一個相對應的混合式網路架構成員回應了 RREP-J 封包。當行動運算節點同時收到來自不同路徑的 RREP-J 封包時,先把 RREP-J 封包上的關於通往混合式網路架構的路徑資訊儲存在多重擇路表單內,當中包括 這條路徑的下一個跳躍點、混合式網路架構最新的 SSN、回傳 RREP-J 封包的混 合式網路架構成員所屬的群組 ID 跟到該點的跳躍數。最後要求加入節點會適當 的選擇幾條路徑(選擇路徑的方式會在後面說明),並把多重擇路表單內相對應於 被選擇路徑項目的 REF 設定起來,代表這條路徑已被選擇使用。最後一樣利用

單一擇路演算法,使用這幾條路徑回傳 SACT-J(Structure Activation message with a

Join flag)封包,傳送給當初利用這些路徑回應 RREP-J 封包的混合式網路架構成

員,讓這些節點知道這些路徑已經被要求加入節點決定為通往混合式網路架構的

路徑。

以圖 4-1 為例,當要求加入節點 S 想要加入混合式網路架構的群組 A 時,

(47)

成員(圖 4-1 內的H 、1 H 跟2 H )收到 RREQ-J 封包時,便使用單一擇路演算法回3 傳 RREP-J 封包( 圖 的箭頭)。當要求加入節點 S 收到這三條路徑傳來的 RREP-J 封包時,先利用 RREP-J 封包上的紀錄,儲存這三條路徑相關於混合式 網路架構的資訊,包括這條路徑的下一個跳躍點( j 見 4-1 H N )、混合式網路架構最新的 SSN( j H SSN ) 、回傳 RREP-J 封包的混合式網路架構成員所屬的群組 ID( j H GID ) 跟到該混合式網路架構成員的跳躍數( j H HC )。在要求加入節點 S 適當的選擇之 後(在後面會利用圖 4-2 說明),決定建立通往H 跟2 H 的二條路徑(3 L 跟6 L ),於7 是要求加入節點 S 先把多重擇路表單內相對應於通往H 跟2 H 路徑項目中的3 REF( i N REF )設定成驅動狀態,代表這二條路徑已被選擇使用。最後使用單一擇 路演算 從這二條路徑回傳 SACT-J 封包,啟用這二條路徑(見圖 4-1 的箭頭)。 平均接收功率( 法, j H P )是在 PCHMR 演算法決定使用哪幾條路徑回傳 SACT-J 封包的過程中一個很重要的參數,藉由這個參數,將可以確保被選擇的路徑連結 具有比較高的可靠性,也可以摒除狀況較差的路徑,減少不必要的封包傳輸。在 RREP-J 封包使用單一擇路演算法傳遞封包的過程中,路徑上的每一個中繼節點 會進行計算平均接收功率的工作並記錄在 PPEP-J 封包內。在每一條被選擇回傳 RREP-J 封包的路徑上,每一次傳輸的接收端都要利用這一次傳輸的接收功率跟 記錄在接收到的 RREP-J 封包內的平均接收功率再做一次平均接收功率的計算並 更新(見算式 4-1)。最後再把 ( ) j j H H P HC 記錄到即將送出的 RREP-J 封包內。藉由 這種不斷計算平均接收功率並記錄在 RREP-J 封包內送到下一個跳躍點的方式,

(48)

當要求加入節點 S 接收到 RREP-J 封包時,就可以得到這一條路徑的平均接收功 率,並拿來當作決定使用哪幾條路徑回傳 SACT-J 封包的選擇流程內的重要參數。 ( 1) ( 1) Pr ( ) j j j j j j j H H H N HC P HC PH HCH = − − + 4-1 H HC 為了達成 4.1 節 PCHMR 演算法的設計考量 (利用群組內的樹狀網路架構混 和群 後,有哪 組間的網狀網路架構產生混合式網路架構),在選擇利用哪些路經回應 SACT-J 封包時,必須經過特殊的決定流程。首先 PCHMR 演算法考慮了路徑中 所有連結的平均接收功率,若平均接收功率小於一個與預設的標準值,這條路徑 是完全不受考量的。再來要確定有回應 RREQ-J 封包的混合式網路架構成員中, 哪些跟要求加入節點屬於同一群組(檢查群組 ID)。若是屬於同一群組,由於必須 建構樹狀網路架構,所以只能在符合之前條件的路徑中,選擇其中一條通往該混 合式網路架構成員的路徑(當然這些路徑中所有連結的平均接收功率必須大於標 準值),而選擇的方式就是考慮在所有從有回應 RREQ-J 封包的混合式網路架構 成員到要求加入節點的路徑中,選擇跳躍數最小的路徑。也就是在符合同一群 組、路徑連結平均功率大於標準值的路徑中,選擇跳躍數最小的路徑,當成是群 組內樹狀網路架構所需要的路徑,並利用這條路徑傳遞 SACT-J 封包。此外,若 那些回應的混合式網路架構成員跟要求加入節點屬於不同群組,就只要符合路徑 連結平均功率大於標準值的條件,就會被選擇通往該混合式網路架構節點的路徑 為網狀網路架構所需要的路徑,並使用這些路徑傳遞 SACT-J 封包。 利用圖 4-2 可以更完整地瞭解在從多條路徑接收到 RREP-J 封包之

(49)

些條件在選擇路徑時被考慮。只有在這些條件都符合的路徑,才會被選擇回傳 SACT-J 封包: j S H H SSNSSN j H S GN =GN j H T Pj H M Pj H REF =True j H REF =False j H REF =False j H REF =False j H Cache HC <HC Y N Y Y N N j H REF =False N j H REF =True Cache REF =False i Cache=N ( ) j H RREPJ Y N Y 圖 4-2 選擇回傳 SACT-J 封包路徑的流程圖 1) 當要求加入節點接收到 RREP-JHj封包時,先藉由 RREP-JHj封包內的資訊 判 斷 H 的 SSN 是 否 大 於 或 是 等 於 行 動 運 算 節 點 的 SSN(i.e. j j H S SSN SN 。如果條件符合,代表H 到混合式網路架構的路徑是比要求j 合式網路架構的舊路徑還 新(如果要求加入節點是第一次要 加入,就會連舊路徑都沒有,SSN 為 0,也符合條件),允許進入下一個步 S ≥ ) 加入節點到混 要

(50)

驟。藉由 SSN 的檢查可以避免一些曾經屬於混合式網路架構,但現在卻已 不是屬於混合式網路架構的行動運算節點也回應要求加入節點送出 RREQ-J 封包,造成要求加入節點使用這條路徑時會產生錯誤。如果條件不符合,為 了避免錯誤,這條路徑將不會被使用,而在多重擇路表單內相對應於H 的j j H REF 將會被設定成不驅動狀態。 加入節點確定 j 2) 當要求 SSNHSSNS時,接著判斷回應 RREP-JHj封包的Hj跟 要求加入節點是否屬於同一個群組(i.e. j H S GID =GID )。如果要求加入節點 跟H 屬於同一個群組,將可能採用樹狀j 式產生路徑連結,所 以接著會進入利用樹狀網路架構的條件判斷是否要使用這條路徑的步驟(圖 4-2 中右下角的部分)。如果條件不符合,就代表要求加入節點跟H 屬於不j 同群組,將可能採用網狀網路架構的方式產生路徑連結,所以接著會進入利 用網狀網路架構的條件判斷是否要使用這條路徑的步驟(圖 4-2 中左下角的 部分)。 如果要求 網路架構的方 3) 加入節點跟Hj屬於同一個群組,接著判斷 RREP-JHj封包的平均接 收功率是否有大於樹狀平均接收功率標準值(i.e. j H T P >τ ), 果符合條件, 代表這條路徑上的所有連結可靠不易斷裂,可以被考慮為樹狀網路架構部分 的路徑連結,進入下一個判斷跳躍數的步驟。如果條件不符合,代表這條路 徑上的連結很不穩定且很可能斷裂,而在多重擇路表單內相對應於這條路徑 的 jH REF 將會被設定成不驅動狀態。

(51)

4) 如果要求加入節點跟H 不屬於同一個j 群組,接著判斷 RREP-JHj封包的平均 接收功率是否有大於樹狀平均接收功率標準值(i.e. j H M P >τ ),如果符合條 件,代表這條路徑上的連結可靠不易斷裂,可以直接被選擇為網狀網路架構 部分可以使用的路徑,在多重擇路表單內相對應於這條路徑的 j H REF 將會被 設定成驅動狀態。如果條件不符合,代表這條路徑上的連結很不穩定且很可 能斷裂,而在多重擇路表單內相對應於這條路徑的 j H REF 將會被設定成不驅 動狀態。 如果要求加 5) 入節點跟Hj屬於同一個群組,而且這條路徑上連結可靠不易斷 裂,接著判斷 RREP-JHj封包的跳躍數是否小於暫存區內暫存路徑的跳躍數 ( j H Cache HC <HC )。如果條件符合,代表這一條路徑跟上一次被決定為樹狀 網 對同一次 RREQ-J 封包的要求,上一次符合前述幾點條件 的路徑)一樣被視為可靠不易斷裂,但所需要的跳躍數比較少,在其他條件 都符合的情況下,這一條路徑被視為更佳的樹狀網路架構路徑,可以被選擇 為樹狀網路架構部分可以使用的路徑,在多重擇路表單內相對應於這條路徑 的 j 路架構路徑(針 H REF 將會被設定成驅動狀態,並把這條路徑存在暫存區內的暫存路徑。 而之前被選擇的路徑,在多重擇路表單內相對應於這條路徑的 j H REF 將會被 設定成不驅動狀態。如果條件不符合,代表這條路徑的條件不會比暫存區內 的暫存路徑還好,所以在多重擇路表單內相對應於這條路徑的 j H REF 將會被 設定成不驅動狀態。

(52)

j H REF 最後要求加入節點會檢查多重擇路表單內,那些路徑的 被設定成驅動狀 包。 RREP-J 封包 (圖 4 態,並利用單一擇路的方式,利用這些路徑回傳 SACT-J 封 以圖 4-1 為例,要求加入節點 S 收到三個經由不同路徑傳來的 -1 內,混合式網路架構成員H 、1 H 跟2 H 回傳 RREP-J 封包的路徑),發現3 RREP-J 封包內的 SSN 都大於等於要求加入節點 S。其中H 跟1 H 都與要求加入2 節點 S 屬於同一個群組,且 1 H P 跟 2 H P 都大於τT,但由於 RREP-JH1封包的跳躍數 大於 RREP-JH2封包的跳躍數( CH1 HCH2), 以要求加入節點 S 擇通往H 的2 路徑L 回傳 S CT-J 封包,以樹6 的概念跟混合式網路架構產生連 。 至於 3跟要求加入節點 S 不屬於同一個群組,而且 H 狀網路架構 > 所 選 A 結 H 3 H P 大於τM,所以要求加入 節點 使用通往H 的路徑3 L 回傳 SACT-J 封包,以網狀網路架構的概念跟混合7 式網路架構產生連結。 S

4.2.3 混合式網路架構的維持機制

維持封包的機制: 廣播架構維持訊息 4) 混合式網路架構內的所有 混合式網路架構的維持利用二種廣播 3) 網路架構領導節點(Structure Leader)會負責週期性的 (Structure-Maintain Message)封包,藉此來更新一些有關整個混合式網路 架構的資訊(例如混合式網路架構的 SSN)。 為了確定網路內任意二點間的連結是否斷裂, 成員都會週期性的廣播一個跳躍數的維持訊息(Maintain Message)封

(53)

包,讓連結的另一邊知道這個連結依舊存在。如果混合式網路架構中的 某一點在一段時間內都沒有收到連結另外一邊送來的維持訊息封包,那 此行動運算節點就會認定這個連結斷裂,並針對這種情況做出反應。 組之間不斷移動時,週期性的廣播維持訊息封包也可以被利用來增加群 當群 組之間的連結性。當二個群組接近時,其中一個群組內的某一個混合式網路架構 成員藉由維持訊息封包發現自己已經接近另外一個群組,且封包的接收功率也大 於τM,此時這個混合式網路架構成員就會把廣播維持訊息封包的節點視為另一 條通往混合式網路架構的路徑,在多重擇路表單儲存這一條路徑的資訊,並把這 條路徑的 REF 被設定成驅動狀態。 在圖 4-1 中,假設網路架構成員 S 接收到來自 的維持訊息封包,發現屬 於不 4 H 同群組,而且封包的接收功率大於τM。此時網路架構成員 S 就瞭解自己已 經跟另一個群組接近,可以增加網狀網路架構概念的路徑來增強群組間的連結 性。所以在自己的多重擇路表單內增加這一條路徑L ,並把這條路徑的8 REF 被 設定成驅動狀態。

參考文獻

相關文件

[23] Tiantong You, Hossam Hassanein and Chi-Hsiang Yeh, “PIDC - Towards an Ideal MAC Protocol for Multi-hop Wireless LANs,” Proceedings of the IEEE International Conference

Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks,” The 16th IEEE International Conference on Computer Communications

C., “Robust and Efficient Algorithm for Optical Flow Computation,” Proceeding of IEEE International Conference on Computer Vision, pp. “Determining Optical Flow.” Artificial

Selcuk Candan, ”GMP: Distributed Geographic Multicast Routing in Wireless Sensor Networks,” IEEE International Conference on Distributed Computing Systems,

D.Wilcox, “A hidden Markov model framework for video segmentation using audio and image features,” in Proceedings of the 1998 IEEE Internation Conference on Acoustics, Speech,

[16] Goto, M., “A Robust Predominant-F0 Estimation Method for Real-time Detection of Melody and Bass Lines in CD Recordings,” Proceedings of the 2000 IEEE International Conference

Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks”, the 16th IEEE International Conference on Computer Communications

Gu, “Corner Block List: An Effective and Efficient Topological Representation of Nonslicing Floorplan,” IEEE/ACM International Conference on Computer-Aided Design, pp.8–12,