• 沒有找到結果。

第三章 Delay-Aware Routing based on Game Theory(DARGT)

3.2 DARGT: phase 1 (Route-discovery)

3.2.1. Delay-Aware Routing

為減少路徑傳輸延遲,DARGT 提出了 Delay-aware routing 的概念。當節點收到 RREP 封 包時,首先會去確認其路由表中是否有到達此目的地節點的路徑,若是沒有,則將 RREP 傳回 的這條反向路徑登錄為新路徑;若路由表中已經存在了舊路徑,節點會經由公式(1)來比較新 舊兩條路徑的 Total cost 值,具有較小 cost 值的路徑同樣表示此路徑具有較低的傳輸延遲,節 點會選擇具有較小 cost 值的路徑來做為路由路徑,將路徑 cost 存入 rt_cost 值內並同時更新路 由表(rt_update)。

3.3 Delay-Aware Routing based on Game Theory: phase 2 (Forwarding game)

賽局理論是一種策略思考,提供了一套系統設定的數理分析方法,尋求在利害衝突下的最 適因應策略。在 DARGT phase 2 中我們應用賽局理論,提出一個傳輸賽局(forwarding game),

用來是抑止網路中的自私行為以及促進節點間合作。傳輸賽局的組成由參與者節點(Player)、

參與者們所能選擇的策略(Strategy)以及參與者所能到的利益(Utility)組成。DARGT 中的傳輸賽 局可表示如下:

1. 參與者(Player): N = { }

假設參與者集合 N 為所有參與傳輸賽局節點的集合,設共有 n 個節點,我們可以定義出 S 為起始節點、D 為目的節點、F 則為路徑中幫忙傳送的 Forwarder。

2. 策略(Strategy): S = { } F= { }

由於賽局中角色不同,各自的策略必須分開討論。若節點為起始節點 S,做為 Sender,必 須在 x 條候選路徑中選出封包要傳送的最適路徑,路徑集合可表示為{ };若節點 做為 Forwarder,則只要決定是否幫忙 Sender 轉送,其策略集合只有簡單的{ }。

節點做任何決策都必須是在自身能獲得足夠的利益為前提下進行。

20

3. 利益值(Utility):

傳輸賽局中的利益值就是 phase1 路經搜尋中尋找最短 cost 值的路徑,經由多種參數如 delay、

system loading 等 delay-utility function 計算出路徑 cost,可以合理推測具有低 cost 值的路徑 會具有較低的傳輸延遲。而在利益值選擇的這個部份,sender 都會去爭取就有最低延遲時 間的路徑傳送封包,以最大化本身的利益。

傳輸賽局的利益值就是有關信賴值設計的部分會在章節 3.4 中詳細介紹。

3.4 Trust design

信賴值(Trust)是一個用來衡量節點是否是自私節點的數值,Trust 的值介於 0-1 之間,可 表示為 0%-100%,信賴值的上限為 100%,超過上限仍以 100%計。信賴值表示的是對其他節 點的信賴,每一個節點都會有一個對於其他節點的信賴表,對其他節點的信賴值會隨著其是否 願意幫忙傳送封包而改變。若是對某節點的信賴值很高,表示此節點值得信賴: 若收到高信賴 值的節點所廣播出的封包時,環境中的其他節點會更願意幫忙傳送;反之,若對某節點的信賴 值很低,表示此節點可能多次拒絕/丟棄廣播封包,可能是潛藏在環境中的自私節點,環境中 的其他正常節點將會避免將封包傳送往此自私節點,並且拉高幫忙自私節點傳送封包的門檻值,

以抑止自私行為,增加網路的可靠度。

在傳輸賽局中,信賴值作可做為一個傳輸門檻(threshold),當 Forwarder node 判斷對 sender node 的信賴值大小是有超過傳輸門檻時,才幫忙傳送封包;若是幫忙傳送,sender node 對 forwarder node 的信賴值將會上升一個獎勵值 α 作為其幫忙傳送封包的獎勵;同理,若 forwarder node 拒絕幫忙廣播,sender node 對其的信賴度將下降一個懲罰值 p 作為處罰。在傳輸賽局中,

信賴度是一個相互的概念,我們期望藉由節點間信賴度交換的方法,鼓勵環境中的節點/自私 節點合作。

21

圖3-2. Trust diagram.

環境中每一個節點都有自身的 trust table 用來紀錄對其他節點的信賴度,如圖 3-2 中有三 個節點 N1、N2 與 N3,在 N1 的 trust table 內會以 Tn2 表示 N1 對 N2 的信賴值,以 Tn3 表示 N1 對 N3 的信賴值;同理,N2 對 N1 的信賴值以 Tn1 表示。信賴值是常時變動的,對其他節 點的信賴值會隨著其他節點所採取的策略而變化。節點間信賴度(Trust)的變化,舉例來說,若 是 Forwarder 幫忙 Sender 傳送封包, Sender 對 Forwarder 的信賴度( )就會增加一定值 ,反 之則減少。當信賴度增加後,要是兩者立場改變,換成 Forwarder 想要傳送封包時,原本的 Sender 就會更願意幫忙其傳送。這是一個互動的概念,以信賴度作為利益值交換,期望隨著節點間信 賴值的變動,最終能達到促使環境節點互相合作的目的。在 DARGT 中,信賴值的用途依照角 色扮演的不同可分為 sender 與 forwarder part:

Sender part: Sender 請求 Forwarder 幫忙傳送時,同時會告知 Forwarder 幫忙傳送能獲得多少 Packet utility,由 Sender 給出的 Packet Utility 的值多寡,是根據 Sender 對 Forwarder 的信賴度 大小所決定,設定如下:

傳輸成功: Tf = Tf + α

傳輸失敗: Tf = Tf - p (2)

α 為一個可調整的獎勵值參數,可因應實驗需要改動, 值表示 Sender 對 Forwarder 的信 賴度,若 forwarder 幫忙傳送封包,則會獎勵些許對其的信賴值 α。

22

表 3-1 Sender part 參數說明 Sender part 參數說明

參數 功能說明

Tf 紀錄 sender 對 forwarder 的信賴值 α Forwarder 幫忙傳送獲得的獎勵值

p Forwarder 拒絕傳送受到的懲罰值

舉例來說 ,若 α 值設定為 10%,且此時 Sender 對 Forwarder 的信賴值 為 50%。若 Forwarder 幫忙此次傳送,傳送後,Sender 對於 Forwarder 的信賴度將增加為 60%。

圖 3-3 Sender part trust design

注意信賴值的上限為 1 或可表示為 100% (Trust 值不超過 1),若是超過上限仍以 100%計。對

23

一個節點的信賴度為 100%,則表示完全信任此節點。

Forwarder part:

當 Forwarder Node 收到傳送要求時,首先會去檢查要求者的信賴度,我們設計了一個門檻值 (threshold),由 Forwarder 的負載量(SL)當作門檻。Forwarder 端的流程圖可表示如下:

圖 3-4 Forwarder part flowchart.

如圖 3-4,當 Forwarder Node 收到傳輸要求時,會設定一個傳送門檻(threshold),並檢查 Sender 的信賴度與其給予的利益值是否有超過自身的門檻。若是沒有,則 Forwarder 判斷此次 傳送是無利可圖的(因為設定節點天性自私),將會把傳送要求 drop 掉;反之,Forwarder 會把 packet 儲存在 waiting queue 內,根據 Delay aware utility allocation 的方法計算封包的利益值並 將 queue 內部重新排列,由利益值最大的封包首先傳送。

當收到 Sender node i 送來的傳送要求時,Forwarder 節點的策略可以表示如下:

24

Forwarder Forward , if ( ) >= threshold Drop , otherwise.

Forwarder 的策略單純分為傳送與丟棄封包兩種。 Ti 表示 Forwarder 對 Sender node 的信賴度,儲存在 Forwarder 自身的 trust table 內;threshold 為 forwarder 設定的門檻值,在我 們的實驗中以信賴值必須超過 50%做為門檻,只有在對 sender 的信賴值超過自身門檻(50)時,

Forwarder 判斷此次傳送有利可圖,才會幫忙傳送封包。

表 3-2 Forwarder part 參數說明 Forwarder part 參數說明

參數 功能說明

Ti 紀錄 forwarder 對 sender 的信賴值 threshold Forwarder 幫忙傳送需要的門檻值

在 DARGT phase 2 的 forwarding game 中,根據 Sender 與 Forwarder 兩者角色扮演的不同,

會有不一樣的 trust design 與策略。而無線環境中節點的角色是不斷變化的,節點可依據當前 自身扮演的腳色來決定該採取何種策略,最終達到以信賴值互換鼓勵自私節點幫忙傳送的目 的。

25

3.5 DARGT 的優缺點總結

Phase1: Route discovery:

 優點

1. 考慮多項影響延遲的要素如路徑的 delay、節點的 loading 。 2. 路徑隨著網路拓樸變化及時調整、更合理且選擇方式多元。

3. 可有效提高資料傳輸的可靠度並降低延遲。

 缺點

1. 須要獲取多項參數以進行路徑 cost 計算,需要的計算複雜。

2. 關鍵資訊遺失(drop)易使判斷不公正。

3. 路徑上節點必須願意合作。

4. 低延遲的路徑可能須經過較長的 hop 數,若在高移動速度的環境下,必須隨時注意路徑 節點是否仍在路由範圍內。

Phase2: Forwarding game:

 優點

1. 以賽局理論模擬實際環境中可能存在的自私節點問題。

2. 信賴值的設計可以客觀的判斷自私節點。

3. 藉由適當的獎懲機制促使節點合作。

4. 適當的運用傳輸賽局可增加網路可靠度並減少傳輸延遲。

 缺點

1. 選擇的路徑並不是最低延遲路徑,而是高信賴度路徑。

2. 在環境中自私節點比例過高的情況下,會因為處罰機制拒絕幫忙傳送,導致可選路徑 數減少。

3. 不適合應用在節點密度稀疏情況下。

26

第四章 DARGT 之系統實作

本研究利用 NS2 網路模擬器進行效能評估,因此,我們將論文第三章所提出的方法實作 到 NS2 中進行模擬,以取得模擬數據來進行比較。在 NS2 中,我們選擇以修改 AODV routing 程式碼的方法,在 AODV 的基礎架構中加入 DARGT phase 1 的最短延遲路徑選擇要素、並新 增信賴值設定以及加入自私節點干擾的因素。在本章節中,我們將詳細介紹 DARGT 在 NS2 中新增及修改了哪些模組,才得以實現最短延遲路由路徑選擇以及如何設定環境中的自私節點。

在下面的小節中,將會描述如何利用 NS2 所提供的模組來實作出 Delay-Aware Routing based on Game Theory 方法。

4.1 NS2 模組介紹

介紹 NS2 網路模擬器的架構與運作原理。

4.2 AODV 函數說明

介紹 AODV 中主要函數的運作與 DARGT 所修改點 4.3 DARGT route discovery 實作

介紹如何實作 DARGT phase 1 中低延遲路徑搜尋。

4.4 DARGT forwarding game 實作

介紹如何實作 DARGT phase 2 中傳輸賽局與信賴度設定。

27

4.1 NS2 模組介紹

圖 4-1:NS2 模組架構圖

Network Simulator 2 是一種以 C++及 OTcl 語言所撰寫的非連續事件引發(discrete-event driven)及物件導向(object oriented)的網路模擬器。NS-2 提供了一個整合性的環境,實現在單一 模擬器中提供多種不同層次的細部模擬。

如圖 4-1 表示,NS2 中主要分成四個階層: application layer (AGT)、routing layer (RTR)、

MAC layer (MAC)及 PHY layer (PHY) 。Application layer 負責處理應用層的要求,如 TCP 及 UBP 等等,都被 NS2 歸類在 application layer 上的應用;routing layer 提供了不同的 routing protocol,例如傳統的 AODV、DSR、DSDV 等等路由協定;在 MAC layer 中,NS2 提供了多 種不同的模組例如 802.11 系列的 802.11b、802.11p 等等,能讓使用者能根據不同的實驗需要 來做應用。在 PHY layer 中,NS2 提供了基礎的有線及無線模組 wireless-phy。由於 NS2 於各 個階層只提供了最基本的模組,若使用者想要在 NS2 中實作自身的方法,那麼就必須針對各 個階層的協定進行修改與新增。由於本論文所提出的 DARGT 方法,屬於 NS2 中的 RTR 層協 定,因此,我們以 NS2 內同階層所提供的 AODV protocol 為基礎來進行修改,以實作出

28

DARGT。

NS2 中經由 agent 處理 packet 的各種要求,封包由 agent 發出並於 agent 接收,agent 可視

NS2 中經由 agent 處理 packet 的各種要求,封包由 agent 發出並於 agent 接收,agent 可視

相關文件