本文將介紹行動Ad Hoc網路中知名的OLSR路由協定,先說明無線Ad Hoc網路、行動Ad Hoc網路的背景知識,進而剖析Link State路由協定的設計,最後進入主題,講解OLSR路由協定的發展緣由,說明其運作方式以及該項協定所可能帶來的問題。
近年來,這種技術被IETF組織(Internet Engineering Task Force)發展並標準化成OLSR路由協定,並且被運用在無線網狀網路(Wireless Mesh Network),這種網狀網路是採用網狀拓撲技術,由用戶端,路由器與閘道器所組成,使用IEEE 802.11、802.15以及802.16等技術。
OLSR協定運作方式
基本上,OLSR協定使用Hello封包和拓撲控制(Topology Control)封包來查找可能的網路路徑。行動Ad Hoc網路中的每一個網路節點,利用這樣的方式來決定如何轉發網路封包。
Hello封包用途是連結狀態偵測、附近節點偵測等等,這種封包會用來偵測當前節點開始往外算兩個節點的距離,同時也會用於選擇MPR。而拓撲控制封包,則是用來傳送網路拓撲的資訊。
OLSR路由協定必須在眾多節點中選出幾個所謂的Multipoint Relays(MPR),只有這些MPR才可以發送和轉發拓撲控制封包。這也是OLSR協定的特別之處,因為這個協定把這種拓撲控制封包限定在MPR節點上,以便於減少網路上封包數量,降低廣播所帶來的影響。
也只有MPR知道如何去計算最佳路由,所以剛才提到的拓撲控制資料只需要在MPR之間做分享即可。當然,OLSR也能夠使用預設路由,可以藉由HNA網路封包放入OLSR MANET雲端即可。
在2014年,已經公佈了OLSR第二版,主要的差異在於NHDP(用於Neighborhood Discovery)以及更彈性化的模組設計方式,而原本的MPR選擇方式與運作模式沒有什麼改變。
與OSPF協定的差異
相反地,原本的Link State路由協定,例如OSPF協定和IS-IS協定,都會使用Flooding的方式大量廣播封包,以便於將拓撲資料庫做更新的動作。若詳細地解釋,OSPF是採用LSA來完成路由表的更新。
LSA全稱是Link-State Advertisement,Link係指路由器設備的介面,而State則是指這個介面的敘述,以及這個介面與鄰近設備的關係。所謂的「敘述」(Description)是包含這個介面的IP位址、子網路遮罩、所連接的網路型態等等的相關資訊,這些State和Link的相關資料就是Link State資料庫中的資料,Link State資料庫也就是Topology Database。
而當網路發生變化時,Link-State路由演算法就會開始發送LSA網路封包,其發送的方法是透過群播(Multicast)的方式來對整個所在網路做發送的動作。當網路上所有套用Link-State路由演算法的路由器設備收到這樣的LSA封包後,會複製一份LSA給自己用,而這份LSA會拿來更新自己的網路拓撲資料庫的內容,然後再把原本的LSA轉發給其他鄰近的路由器設備。
而必須注意的是,一旦有任何的路由器設備發送LSA封包出來,就會讓所有的路由器設備重新計算它們自己的網路路徑,更新它們的路由表,也因為這樣,所以單一網路中,使用Link-State路由演算法的路由器設備最好不要太多,不然一旦網路發生變化,就會迫使整個網路的所有路由器設備都要重新計算路由表和最佳網路路徑等資料。
所以可以發現,雖然OSPF協定已經可以非常快地「收斂」路由網路資料,但是用於比較穩定的網路環境是比較適合的。然而,像是無線Ad Hoc網路這種環境下,既沒有特定的路由器,而每個節點又很容易不固定連接,再加上高度移動性,此時就必須使用類似OLSR的這種協定。
OLSR協定可能的隱憂
從上面的介紹看起來,好像OLSR協定是一個很不錯的網路協定,似乎進一步地改善了OSPF協定或是IS-IS協定,而套用在變化性高的無線Ad Hoc網路。事實上,OLSR協定也有一些可能發生的問題。舉例來說,OLSR的MPR節點需要花不少電力來計算最佳路徑,而這件事情在有線網路中不會是什麼太大的問題,因為一般有線網路的節點設備一定都會持續連接著電力,而且CPU運算能力也比較高。可是無線網路,尤其是移動Ad Hoc網路的移動式設備,不會持續地連接著電力來源,所以極有可能因為扮演著MPR而快速地喪失電力。
另外,OLSR協定預設上其實根本沒有考慮連線品質這件事情。雖然有使用Hello訊息來確認是否收得到,但是卻沒有考慮中間的品質如何,尤其是當無線網路的品質沒有有線網路品質來得穩定的時候。
此外,如果是在封包丟失率很高的無線網路環境中,還會因為網路的不穩定,導致一直花很多心力在重選MPR,然後MPR之間又要一直同步拓撲控制資料,這些都是很大的問題。目前已有許多的專業研究著重在避免電力消耗這件事情上,另外,其實也有一些開源專案在改善OLSR協定。
<本文作者:胡凱智,目前在Solera Holdings Inc.擔任亞太區首席技術長,曾於美商Mozilla擔任全球技術專案總監,並在趨勢科技任職七年多,有兩年美國矽谷工作經驗,在美國專利局擁有軟體專利。讀者交流建議:https://www.facebook.com/khu.page>