概念
機會路由的研究在國內基本上沒有,MIT開發的ExOR (Extremely Opportunistic Routing)協定是比較典型的機會路由協定.
特點
首先,當源節點傳輸一個包時,它在包里包含一個簡單的進度表來(schedule)描述潛在的可以轉發包的接受者的優先順序。該節點基於互動節點(inter-node)傳遞速率來計算時刻表。然後,ExOR使用分散式足跡(slotted)MAC協定來傳送確認包,以確保接收者都同意那個節點是最高優先權接收者。
ExOR包括:1。一個分散式MAC協定,來允許接收者確定(同一時刻)只有一個接收者在轉發包(避免衝突)。2。一個預測哪個是最有可能最有用的轉發包的算法。
ExOR能減少傳輸包的總數,它受下面三方面的影響:
1。節點密度(越高越好),2。路徑長度(越長越好),3。接收率隨距離下降的速率(越不陡峭越好)。
ExOR技術希望能和802.11b硬體很好的工作,而只需要對固件作很小的修改。
ExOR的效率主要取決於接收率隨距離下降的速率。
ExOR在包在網路中移動的過程中確定路徑。
原理
ExOR協定包括三個階段:1.選擇轉發候選者,2.發確認包,3.決定是否轉發一個接收到的包。假定網路中每個節點都有一個矩陣,他包含每對節點直接無線傳輸的丟包率的近似值。這個矩陣能夠通過鏈路狀態泛洪法來建立,節點測量丟包率,然後周期性的泛洪狀態更新。
2.1 總思路:
ExOR轉發序列的第一個節點在他的所有的鄰居節點中選擇一個能夠把包傳遞給離目的節點更近的候選者子集。傳送者把這個集合列在包頭裡,用距離來劃分優先權。傳輸以後,每個接收到包的節點在包頭的候選者列表中尋找它的地址(有就是接收者)。每個接收者依據它在列表里的位置在傳送確認包之前延遲一段時間。各個節點查看他收到的確認包集合來決定是否轉發包。轉發節點用新的候選者列表重寫ExOR楨頭然後轉發包。
2.3 具體實現:
(1) 選擇候選者集合:
基於最短跳數(按傳遞速率delivery rates優先排序)來選擇候選集合。具體如下:首先識別到目的地的最短路徑,通過傳遞率矩陣來切斷相等長短的路徑之間的聯繫。路徑中的第一個節點是最高優先權候選者。然後ExOR在丟失率矩陣中刪除該節點,再找出最短路由,再用該路由上的第一跳作為第二優先權候選者。重複這個過程來找出剩下的候選者。最後對於給定目的地的候選者集合能存儲在快取中直到下一次傳遞率矩陣的更新。
(2) 確認包:
使用修改的802.11MAC,它為接收節點返回確認包保留多個時間足跡(slots)。每個確認包包含具有最高優先權的,ACK的傳送者知道的成功接收者的ID,這種方法代替只是指示包是否成功接收的的方法。所有的候選者在決定是否轉發之前監聽所有的ACK足跡,以防低優先權候選者報告好優先權候選者的 ID。 到目前為止收到的包含最高優先權傳送者的確認包ID有助與抑制複製轉發。
(3) 決定是否轉發一個包::
另
ExOR也是異或運算的一種縮寫。