二、 背景知識及相關研究
2.2 網路通訊層(Network Layer)
2.2.1 單一(Unicast)擇路協定
單一擇路協定歸納過去被提出的無線隨意網路擇路方法,可大致分成 主動式擇路(Proactive Routing,或稱 Table-driven routing)跟被動式擇路
(Reactive Routing,或稱 On-demand routing)。
主動式擇路(例如 DSDV[1]跟 WRP[2])協定中,隨意無線網路下所
有行動節點都需收集其他行動節點的所在位址以及資料傳送過來的路徑資
可以連結來源節點與目標節點二點的傳遞路徑並開始傳遞資料封包。傳遞 結束後,此擇路資訊也不會再被記錄儲存,更不會被維護。也因此只有在 擇路請求發出時才會找尋擇路,其他的無線節點也是在收到擇路請求時發 出廣播擇路資訊封包,因此所需頻寬較小。
有一些擇路演算法把主動式和被動式擇路整合成一混合式擇路(Hybrid Routing)協定(例如 ZRP[14][15]、CGSR[16][17]跟 Cedar[18]),依照不 同的設計觀念,適當的混合這二種擇路協定,其中 ZRP 對每個節點定義一 個 Zone,即鄰近該節點 hop 數為 Zone 半徑範圍內的所有節點,而剛好距離 為 Zone 半徑上的節點被稱為邊緣節點(Border node),傳送封包時,在 Zone 內採用主動式擇路協定,Zone 外則由邊緣節點採用被動式擇路協定進行擇
路狀態以及互相交換擇路封包。因此,相對於其他擇路方法,利用位置資 訊的擇路協定能更有效地適應頻繁的拓鋪改變,對於大型網路會有比較好 的效能。
AODV(Ad Hoc On Demand Distance Vector Routing)演算法是一種最 常見的單一擇路演算法,擇路的流程也是最基本且簡單,所以常常被拿來 當做研究的比較對象。因此在這一小節會介紹 AODV 演算法的基本擇路流 程。AODV 屬於被動式協定,若有需要傳遞資料封包才會尋找擇路,並且 在資料封包傳遞完成後結束一切擇路的維護,比較不同的是路徑維護的地 方。在 AODV 裡,每個行動節點都需要維護一個類似傳統擇路表單,一條 一條的路徑。而每個行動節點也清楚知道封包下一步該傳給哪個行動節點,
並使用序列號碼(sequence number)來辨別此擇路資訊否為最新的擇路資 訊。此外,每個行動節點也紀錄相鄰節點的位址。
圖 2.4 AODV 找尋路徑過程
AODV 大致分為兩大部分:擇路探索(Routing Discovery)與擇路維護
(Routing Maintenance)。AODV 是藉由傳遞廣播擇路封包來達到擇路探索。
封包回傳時,中間幫忙傳遞的行動節點便會在自己維護的擇路表單中建立 或更新正向路徑(Forward Path)並紀錄目的節點的序列號碼,此正向路路 徑即是來源節點的擇路路徑,其方向會剛好與逆向路徑相反。其他不在正 向路徑上的節點,如果因為先前也收到路徑請求封包而建立了逆向路徑,
則會因為在設定的等待時間內未收到擇路回覆封包而被節點清除。當來源 節點收到目的節點所發送的擇路回覆封包後,便完成了擇路建立的程序。
另外,因為來源節點與目的節點間可能存在多條擇路路徑,AODV 在擇路 請求封中設置一個跳躍計數(Hop Count)欄位,此欄位值會隨者傳送次數 的遞增,最後擇路回覆封包會將此值回傳給來源節點。當來源節點陸續收 到不同路徑傳回的擇路回覆封包時,除了可儘快使用第一個回覆的擇路路 徑先行傳送資料外,後續也可藉由其他擇路回覆封包上的結點計數值決定 是否更新擇路路徑。
圖 2.5 路徑斷裂
而 AODV 在擇路維護(Routing Maintenance)的部分是經由發送週期
性的廣播 Hello 訊息給相鄰裝置來偵測此一連結是否失敗,或是藉由使用 資料鏈節層的確認訊息(Data Link Layer Acknowledgement)來偵測下一節 點是否失效。此時就會由該行動節點發出擇路錯誤(Routing Error,RERR)
ROMA[33]、AODV-BR[34]及 AOMDV[35]。
DSR 是由來源節點進行主動尋路的擇路演算法,故任何一個來源節點 存取技術(Space Division Multiple Access,SDMA),故只有一部分節點會 收到欲建立路徑的控制封包,額外的負擔為兩點之間的參數必須密切調整,
比較適合靜態或低移動性網路。AODV-BR(Backup Route)藉建置網狀