LANMAR協定

LANMAR(Landmark Ad hoc Routing)是一種先應式層次路由協定,它將整個網路劃分為許多邏輯子網,每個邏輯子網中的成員有共同的愛好並很可能作為一個整體移動(如戰場上的一個班),而且在每個邏輯子網中選擇一個Landmark節點,依靠Landmark節點進行全網範圍內數據分組的路由。

簡單介紹

在LANMAR協定中,每個節點都維護兩種路由:到自己某個限定範圍內所有節點的本地路由和到網路中所有Landmark節點的距離矢量路由。當目的節點在本地路由範圍內時,根據本地路由轉發數據分組;否則首先向目的節點所屬邏輯子網的Landmark節點轉發,一旦目的節點出現某一中間節點的本地路由範圍內時,就根據中間節點的本地路由進行轉發。

關鍵技術問題

1、本地路由和全局Landmark路由

在LANMAR協定中,網路中每個節點都要維護下列兩種路由:

(1) 本地路由

指節點要維護自己到鄰近區域內所有節點的路由。LANMAR採用FSR協定作為本地路由協定,但與基本FSR路由協定維護到網路中所有節點路由信息不同的是,這裡限定一個FSR路由範圍N,節點僅維護到該範圍內所有節點的路由,如果某節點與本節點的距離超過該範圍,本節點不再維護其路由信息,傳送的FSR路由分組中也不包含其相關條目。

(2) 全局Landmark路由

指節點要維護到網路中所有Landmark節點的距離矢量路由。節點通過周期性地向鄰節點傳遞Landmark訊息,包含到網路中所有Landmark節點的距離矢量信息,來完成到網路中所有Landmark節點全局路由的建立與更新。該Landmark路由訊息可以附帶在FSR路由分組中傳遞。

2、邏輯子網內的分散式Landmark選舉算法

(1) Landmark節點的初始化

LANMAR協定剛開始運行時,系統中沒有Landmark節點,僅僅是FSR協定起作用。FSR協定運行一段時間後,如果某個節點根據其FSR路由表,發現在自己的FSR路由範圍內,與自己在同一邏輯子網內的節點有一定的數量(如n),則宣布自己為該邏輯子網的Landmark節點,並通過隨後的拓撲更新訊息,捎帶廣播訊息<Landmark節點的ID,Landmark節點FSR路由範圍內可達的同一邏輯子網內的節點數目>至鄰節點。

(2) Landmark節點的交替

如果有兩個以上的節點宣布自己為同一個邏輯子網的Landmark節點,則選擇FSR路由範圍內可達的同一邏輯子網內的節點數目最大的節點作為Landmark節點;如果出現相等的情況,則選擇ID號最小的節點作為Landmark節點。為了避免出現Landmark節點的頻繁交替,可以使用滯後算法,僅當新Landmark節點可達的同一邏輯子網內的節點數目比舊Landmark節點可達的同一邏輯子網內的節點數目多出一個門限值時,才進行Landmark節點的更新。

(3) Landmark節點失效的處理

當一個邏輯子網的Landmark節點失效後,Landmark節點的鄰節點會在給定的時間後發現這一情況,與Landmark節點在同一個邏輯子網的鄰節點將宣布自己為新的Landmark節點並廣播這一訊息,網路中開始一輪新的Landmark節點選舉過程。

3、漂移節點和孤立節點問題

漂移節點是指歸屬於某個Landmark節點而又在其FSR路由範圍以外的節點,它們需要定期向自己歸屬的Landmark節點進行註冊,以創建從歸屬Landmark節點到漂移節點的反向路徑。目的節點是漂移節點的數據分組首先被其歸屬Landmark節點接收,然後再由歸屬Landmark節點轉發至相應的漂移節點。通向漂移節點的路由條目雖然增加了路由表的存儲和處理開銷,但是在漂移節點所占比例較小的情況下,這種開銷還是很低的。

孤立節點是指組的大小為1的節點。如果網路中只有個別孤立節點,則可以作為Landmark節點來處理,否則需要採用一定的方法來處理,這會導致路由開銷的增加。

路由協定描述

1、信息種類

(1) 存儲訊息

任何一個節點i中與路由相關的主要信息如下:

•唯一的物理地址(如48bit的乙太網地址)。

•Landmark ON/OFF標誌。

•唯一的邏輯地址,由子網和主機兩個欄位組成,主機欄位在邏輯子網內必須惟一。

•鄰居列表A。

•拓撲表TT。節點i的FSR範圍內的任何節點j,均在該表中有一項。該表的結構如圖1-1所示。

節點標識符j 鏈路狀態LS(j) 時間戳SEQ(j)

圖1-1 LANMAR協定中節點拓撲表的結構

在圖1-1中,LS(j)欄位中存儲節點j報告的鏈路狀態,SEQ(j)欄位中存儲該鏈路信息的時間戳。

•下一跳表NEXT和LMDV。它們給出在到達目的節點j的最短路徑上,數據分組在節點i被轉發的下一跳地址。節點i的魚眼範圍內的任何節點j,均在NEXTi表中有一項;如果節點j不在節點i的FSR魚眼範圍內,則由LMDV表給出至目的Landmark節點的下一跳地址。

•距離表D。D(j)給出從節點i到節點j最短路徑的長度,可以使用一個或多個鏈路加權函式。根據選定的尺度計算最短路徑,如使用頻寬加權函式以提供QoS路由,本協定中使鏈路的權值為1,即計算最短跳數的路徑。

(2) 交換的訊息

每個節點周期性地與鄰節點交換拓撲等信息,包含FSR範圍N內所有節點的路由條目,還附帶傳送到網路中所有Landmark節點的距離矢量信息。

2、工作過程

(1) 路由的建立與維護

路由信息的建立與更新與FSR協定很相似,每個節點周期性地與鄰節點交換拓撲信息,包含FSR範圍N以內所有節點的路由條目並附帶到網路中所有Landmark節點的距離矢量信息。

(2) 數據分組轉發

圖1-2 LANMAR協定的運行實例 圖1-2 LANMAR協定的運行實例

當目的節點在源節點的FSR路由範圍內時,在FSR路由表中有相應的路由條目,則直接根據FSR協定建立的下一跳表NEXT,利用節點的物理地址進行數據分組轉發。如果目的節點與源節點不屬於同一個邏輯子網,則按照數據分組的目的邏輯子網地址查找LMDV表,將數據分組向目的節點所在邏輯子網的Landmark節點轉發,當目的節點出現在某一中間節點的FSR路由範圍內時,則使用中間節點的本地路由轉發。按照這種轉發方式,數據分組在從源節點到目的節點的過程中,中間並不一定經過目的節點的歸屬Landmark節點。

圖1-2為LANMAR協定運行的一個場景,此時有4個邏輯組(對應不同的邏輯子網)存在,LM為每個組的Landmark節點,每個節點的FSR範圍為2。圖1-2中顯示了3條不同的路徑:第一條路為從A到D,由於D兩跳可達B,在B的FSR協定範圍內,因此B傳送給A的路由更新中包含D的信息,所以A中包含D的全部信息,可以直接沿著最短路徑將分組傳送至D。第二條路為從H到L,H不知道L的路由,它通過I把分組路由至L所在邏輯子網的Landmark節點LM,I知道L的路由,可以直接沿最短路徑把分組轉發至目的節點。最後一條路為從O到P,開始這條路通向P所在組的Landmark節點LM,隨著分組接近LM,獲得了到達P的直接路徑,因而繞過了LM直接兩跳到達了P。

總結

LANMAR路由協定是一種基於組移動模型的層次化路由協定,它需要在每個組構成的邏輯子網內選擇一個Landmark節點。每個節點均維護FSR本地路由和到網路中所有Landmark節點的路由。如果目的節點在本地範圍內,則直接使用本地路由轉發,否則先向目的節點所屬邏輯子網的Landmark節點方向轉發,一旦目的節點位於某箇中間節點的本地路由中,則沿該本地路由轉發,避免了Landmark節點的過重負載。該協定適用於節點比較密集的網路,但在漂移節點和孤立節點數目過多的情況下,協定的控制和存儲開銷較大。

相關詞條

相關搜尋

熱門詞條

聯絡我們