• 沒有找到結果。

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

3.1 設計考量

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

盡量避免使用到剩餘電池能量較少的節點,這樣就可以很容易地盡量不要使用到 重要位置的行動運算節點。DER 演算法便是考量電池能量的因素而設計的單一 擇路演算法。

圖 3-1 路徑選擇方式

見圖 3-1,節點 A 因為處在網路中的重要位置而容易擔任擇路節點的工作,

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

就可能會捨棄最短路徑而選擇跳躍數較長的路徑(見圖 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

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

3.2.2 最佳路徑的選擇

AODV 演算法決定路徑的方式是選擇最少跳躍數的路徑。因為要選擇最少 的跳躍數,所以在廣播 RREQ 封包的過程中,當目標節點或是中繼節點第一次 接收到來源節點廣播的 RREQ 封包時,就認定這條 RREQ 封包經過的路徑為最 短路徑。因此,當目標節點或是中繼節點收到一次 RREQ 封包之後,就不再處 理之後接收到的同一個 RREQ 封包。但 DER 演算法首先考量剩餘電池能量,因 此不能跟 AODV 演算法一樣只記錄第一次收到 RREQ 封包的路徑。必須持續對 之後收到的 RREQ 封包做處理與記錄路徑的工作。

在 DER 演算法中,當接收到同一個 RREQ 封包時,會先判斷傳送這一條

RREQ 封包的路徑是否有比較好的剩餘電池能量狀況,如果有比之前儲存在單一 擇路表單內的路徑有比較充足的剩餘電池能量,那就會把這一條路徑視為通往來 源節點的最佳路徑,並儲存在單一擇路表單之內。接著進行 3.2.1 節敘述的動作,

最後再次把 RREQ 封包廣播出去,讓之後的中繼節點也知道現在有這一條比較 好的路徑可以選擇。這裡要注意的是,RREQ 封包資訊的更改,是在判斷路徑好

壞之後,也就是說在判斷路徑好壞的時候,是還沒有考慮到本身剩餘電池能量的 問題,而是只有考慮路徑的其他節點。如果沒有比之前儲存在單一擇路表單內的 路徑有比較充足的剩餘電池能量,那就會把這一條路徑視為比較差的路徑,是不 可能會被目標節點選擇的,因此直接取消這一個 RREQ 封包。

由圖 3-2 可以觀察到,當中繼節點 B 第一次收到來自中繼節點 C 的 RREQ 封包,由於是第一次收到這個 RREQ 封包,所以把路徑的資訊儲存下來。並更 改在 RREQ 封包內有關路徑剩餘電池能量的資訊,最後再廣播這個 RREQ 封包 出去。當中繼節點 B 接著收到來自中繼節點 D 的 RREQ 封包,發現這一條路徑 的剩餘電池能量狀況比之前儲存的路徑還要良好,就會把之前儲存的路徑刪掉,

並儲存這一條新的路徑,再更改在 RREQ 封包內有關路徑剩餘電池能量的資訊,

最後在廣播這個 RREQ 封包出去。重複動作,可以發現中繼節點 A 與目標節點 都會做路徑的更新,只儲存最佳路徑。因此藉由這種方式,網路中所有節點都可 以得到通往來源節點的最佳路徑。

圖 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 上,電池剩餘能量最差的中繼節點會是在路徑中

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

3.2.3 反應計時器的設計

標節點第一次接收到來源節點廣播的 RREQ 封包 時,就認定這條

在 AODV 演算法中,當目

RREQ 封包經過的路徑為最短路徑,立刻使用這條路徑回傳 RREP 封包通知來源節點,而且不理會之後接收到的同一個 RREQ 封包。這種方式明 顯不適用在 DER 演算法。因為經過不同路徑的 RREQ 封包到達目標節點的時間 不同,所以必須讓目標節點回傳 RREP 封包的時間延遲,使目標節點可以得到每 一條路徑的資訊並做更新成最佳路徑的動作。因此當目標節點第一次接收到來源 節點廣播的 RREQ 封包時,目標節點不會馬上使用這條路徑回傳 RREP 封包,

而是設定一個負責倒數的回應計時器(Reply Timer)。在回應計時器倒數到零的這 段時間內,持續的接收 RREQ 封包得到新的路徑資訊並更新成最佳路徑。當計 時器倒數為零時,目標節點就假設已經檢查過所有通往來源節點的路徑,且單一 擇路表單內的路徑就是最佳路徑。最後目標節點就利用這一條最佳路徑回傳 RREP 封包。

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

(Power-Controlled Hybrid Multicast Rou

PCHMR)

組之內時,使用樹狀網路架構可以降低路徑連結的數量與控制封包,並足以達到

組、B 群組跟 C 群組,實線代表依據樹狀網路架構而產生的連結。由於三個群組

圖 4-1 混合式網路架構的例子

之間移動行為的不同,造成群組之間的連結容易斷裂(i.e. 群組A與群組B的L1跟 群組A與群組C的L2)。在PCHMR演算法內,群組之間另外增加了網狀網路架構 的路徑連結,確保群組之間的路徑連結更加的可靠不易斷裂。在圖 4-1 內,PCHMR

之間移動行為的不同,造成群組之間的連結容易斷裂(i.e. 群組A與群組B的L1跟 群組A與群組C的L2)。在PCHMR演算法內,群組之間另外增加了網狀網路架構 的路徑連結,確保群組之間的路徑連結更加的可靠不易斷裂。在圖 4-1 內,PCHMR