王中武, 李大雙, 胡 薇
(中國電子科技集團公司第三十研究所,四川 成都 610041)
最近幾年,無線網絡技術的發展異常迅猛,無線自組織網絡由于其多跳中繼、靈活組網、快速開通、抗毀頑存等特點,在移動互聯網、軍用戰術網絡等方面獲得了越來越廣泛的應用。隨著移動互聯網、廣域覆蓋戰術網絡的發展,出現了將固定或骨干網絡需要與無線自組織網絡混合組網的需求,某些時候Ad Hoc網絡可以作為互連不同OSPF路由域的橋接網絡,因而需要解決 OSPF路由域與移動性高的Ad Hoc路由域之間的路由信息交換問題。
傳統的有線域路由協議只適合于固定網絡,而且由于其開銷過大,不適合于直接在無線自組織網絡中使用。因此,因特網工程任務組(IETF)積極開展了OSPF路由協議向移動Ad Hoc網絡(MANET)擴展的研究,以統一的路由協議解決 OSPF路由域與MANET路由域無縫融合,降低路由協議在無線Ad Hoc網絡內的開銷。
文中首先介紹了IETF論壇提出的OSPF向Ad Hoc網絡擴展的 3個 RFC規范,然后提出了基于OSLRv2草案以及系列新的RFC規范、實現將OSPF擴展到MANET的方案。
(1)RFC5499
RFC5499是一個試驗性的協議,其全稱為OSPF針對Ad Hoc網絡的多點中繼(MPR)擴展。它規定了一種專門針對移動Ad Hoc網絡(MANET)進行剪裁的OSPFv3接口類型,即“OSPFv3 MANET接口類型”。RFC通過定義的OSPFv3 MANET接口類型,將所描述的擴展與 OSPF架構集成在一起。此外,RFC5499還描述了OSPFv3在MANET中的多點中繼泛洪機制[1]。
RFC5499對OSPF的擴展是基于泛洪縮減、拓撲裁減以及鄰接縮減3種機制。這些機制都是基于多點中繼(MPR),它是在優化鏈路狀態協議(OLSR)中開發的一種技術。
泛洪縮減機制采用 MPR泛洪原理,只有一個MANET鄰居子集(那些被選取為MPR的鄰居)參與一次泛洪操作。這種機制減少了泛洪操作所必需的(重復)傳輸次數,同時保留了適應傳輸差錯(采用無線鏈路時所固有的)和應對過時的 2-跳鄰居信息(例如有路由器移動性引起的)的能力。
拓撲裁減機制基于 MPR拓撲裁減,只將對于MANET鄰居所必需的那些鏈路(被路徑 MPR選擇確定為屬于最短路徑的那些鏈路)包括在若干個鏈路狀態通告(LSA)中通告。MANET中的路由器周期地產生描述它們所選取的這種鏈路的Router-LSA,并向它們的那些路徑 MPR鄰居泛洪這些Router-LSA。路由器將這樣的鏈路作為點對點鏈路來報告。這種機制減小了 MANET路由器始發的LSA長度,同時又保留了經典的OSPF特性:最佳路徑上采用同步的鄰接關系。
在 OSPFv3 MANET接口上,只需要與該OSPFv3 MANET接口的一個鄰居子集形成鄰接關系。在一個OSPFv3 MANET接口上,不選舉任何指定路由器(DR)或后備指定路由器(BDR),而是只與那些MPR和MPR選擇者建立鄰接。在該MANET中,僅有一個小子集的路由器需要與它們的所有MANET鄰居建立鄰接關系。這樣做減少了數據庫同步鎖需要的控制業務流的總量,同時確保了LSA仍然描述了最合適的同步鄰接關系。
(2)RFC5820
RFC5820也是一個試驗性協議,它所采取的擴展稱為OSPF-OR(OSPF-交疊中繼),包括鏈路-局部信令(LLS)的一些機制、一個 OSPF-MANET接口、一種通過只傳輸增量狀態變化來縮短Hello分組長度的簡單技術以及一種路由更新泛洪優化的方法[2]。
為了實現增量 OSPF-MANET Hello協議,RFC520定義了4種TLV(類型-長度-值),即狀態校驗序列TLV、鄰居丟棄TLV、請求TLV以及完整狀態TLV。
RFC5820的泛洪優化主要采用交疊中繼算法,為此另外定義了兩種TLV,即主動交疊中繼TLV和意愿度 TLV。節點采取多點中繼(MPR)選取算法來確定其主動交疊中繼站的集合,交疊中繼選擇算法使用從鄰居通告的router-LSA中收集得到的2-跳鄰域信息。主動交疊中繼的選取通過各個接口來實現,因而它是基于節點的而非基于鏈路的選取機制。
由于該信息的始發者(即該中繼節點)和接收者都是同樣地動態確定其本地泛洪域,該中繼節點絕不可以改變其路由更新信息。一般而言,應該將LSA發送到一個知名的地址。在某些情形中,路由更新可以采用單播進行發送。
(3)RFC5614
RFC5614亦為一個試驗性協議,它所采取的擴展稱為 OSPF-MDR,設計了一種新的專門針對MANET的OSPF接口類型[3]。
OSPF-MDR的基礎是選擇一個MANET路由器子集,它包含了多個MANET指定路由器(MDR)和后備 MDR。這些 MDR形成了一個連通控制集合(CDS),由這些MDR和后備MDR一起形成一個雙連通的CDS以增強健壯性。
這個CDS有兩個作用。首先,用于減少泛洪開銷,采用一種優化的泛洪過程,僅由那些(后備)MDR來泛洪新的鏈路狀態通告(LSA),沿著鄰接關系重傳LSA以確保可靠泛洪。其次,鄰接關系只在(后備)MDR和它們的一個鄰居子集之間建立,使其能夠適應于密集的網絡。CDS采用Hello協議提供的2-跳鄰居信息來構造。通過采用僅報告鄰居狀態的差分Hello機制,進一步對這個Hello協議進行優化。
此外,RFC5614還為始發router-LSA描述了提供完整的或部分的拓撲信息的一些選項,允許以通告較少的拓撲信息來減少開銷。
(4)3種OSPF向MANET擴展的不足
前述3種OSPF向MANET擴展的方法,都是主要基于 OSPF的原有概念在 MANET內泛洪router-LSA。盡管隨著無線傳輸技術在朝著寬帶高速方向發展,相比于與有線互連網,MANET的鏈路速率畢竟有限,因而如何進一步減少 OSPF路由信息在MANET內的開銷,仍然值得深入研究。
(1)OLSRv2草案及其支撐協議規范
優化鏈路狀態路由協議(OLSRv1)是 IETF MANET工作組在2003年發布的、專門用于移動自組織網絡的一個試驗性規范(RFC3626),已得到了廣泛的應用。為了進進一步降低OLSRv1路由協議的開銷,MANET工作組陸續開發和發布了3個輔助性的規范,即RFC5444、 (RFC5497以及RFC6130。
RFC5497為一個互聯網標準跟蹤協議,它描述了一種表示多個時間-值的通用、靈活的TLV(類型-長度-值結構),例如一個間隔或一段持續時間,它采用通用化的移動Ad Hoc網絡(MANET)分組/消息格式。它定義了兩個TLV消息和兩個地址塊TLV來表示MANET路由協議的有效性與間隔時間[4]。
RFC5444也為一個互聯網標準跟蹤協議,描述了為MANET路由器之間信息交換時承載多個路由協議消息設計的一個分組格式的句法。消息由一個消息頭和一個消息體組成。RFC5444分別描述分組、消息格式、消息頭、消息體、地址塊、通用的TLV格式。RFC5444能夠通過分析地址塊實現高效率的格式長度壓縮[5]。
RFC6130亦為一個因特網標準跟蹤文件,它敘述了一個用于移動 Ad Hoc 網絡的鄰域發現協議(NHDP)。這個協議采用一種局部交換HELLO消息的方式,使得每個路由器能夠確定其1-跳與對稱2-跳鄰居的存在和與它們的連通性。NHDP提供對鄰域變化、鏈路雙向性以及遠達兩跳的局部拓撲信息的持續跟蹤。這些能力的組合允許一個MANET路由協議獲取敘述鏈路建立/消失的信息,并為選擇減小的中繼集合和其它目的提供必需的拓撲信息[6]。
在OLSRv2草案中,將Hello協議剝離出來單獨形成了RFC6130鄰居發現協議。相比于RFC3626,OLSRv2協議減少了消息類型,僅保留了拓撲控制(TC)消息,并且采用新提出的高效率地址塊與壓縮格式,通過對地址塊具有的公共頭部字節、中間字節以及尾部字節的識別與壓縮格式表示,能夠大大壓縮HELLO消息內包含鄰居鏈路地址塊和TC消息內包含的拓撲鄰接鏈路地址塊的長度。
OLSRv2目前為已進展到第 17個版本的 RFC草案,為OLSRv1版本的后繼協議,對v1版本中交換的消息作了一些簡化。OLSRv2保留了v1版本中多點中繼(MPR)的基本機制與算法,同樣基于 CDS來泛洪 TC消息,能夠為每個節點提供到所有目的地的最短路由,但在選取最短路由時以鏈路度量替代了跳數。
(2)進一步降低開銷的方法
在實現OLSRv2時,可以采取一些方法來進一步減少其消息交換的開銷。首先,OLSRv1/v2所采取的多點中繼算法都為基本的算法,其優化效率并非是最佳的,最近幾年出現了擴展型多點中繼(EMPR)、增強型擴展多點中繼(EEMPR)等更優化的算法,將它們與OLSRv2相結合,能夠進一步減少MANET中參與多點中繼的路由節點數量。其次,將朦朧視野鏈路狀態(HSLS)路由算法與 MPR機制融合,可以進一步減少TC消息的泛洪范圍。最后,充分利用 RFC5497提供地址塊壓縮機制,在規劃MANET接口地址時,分配相同的IP網段/掩碼,便于提高地址塊壓縮的效率。此外,采取時間序號的機制能夠避免重復泛洪[7]。
(3)OSPF向MANET擴展的新方法
OSPF協議運行的網絡與 MANET區別是很大的,不宜直接將router-LSA泛洪到MANET域中。因此,文中提出在兩中網絡中分別獨自運行 OSPF協議和OLSRv2協議。在連接兩種網絡的邊界路由器中,將從OSPF網絡接口上接收到router-LSA格式的路由信息,轉換為OLSRv2網絡域內的TC拓撲控制消息格式,向MANET內通過CDS泛洪;將從MANET接口上接收到TC拓撲控制格式的路由信息,轉換OSPF網絡域內的router-LSA格式的路由信息,向OSPF網絡內通過DR/BDR泛洪。
這種方法的優點是易于實現,只需要連接兩個路由域的邊界路由器節點支持路由信息重分布即可,不需要修改標準的 OSPF路由協議,僅在MANET內設計滿足相應規范的OLSRv2路由協議。
在這篇文章中,針對OSPF向移動ad hoc網絡的路由擴展問題,首先介紹了IETF最新發布的3種擴展規范;然后敘述了基于 OLSRv2及其輔助規范系列,在OSPF路由域和MANET路由域之間采取路由重分布的易于實現的新方法;在最后,提出了進一步減少路由消息泛洪開銷的3種方法。文中提出的擴展方法與IETF發布的OSPF擴展方法相比,無需修改現有的OSPF協議,只需要邊界路由節點支持路由重分布即可,更加易于實現。需要特別指出的是,在設計OSPF向移動Ad Hoc網絡擴展的路由協議時,安全問題也應該做整體考慮[8],采用分層的網絡結構可以大大減少交換的路由信息總量[9]。
[1] BACCELLI E,JACQUET P.OSPF Multipoint Relay (MPR)Extension for Ad Hoc Networks[EB/OL].(2009-02-05)[2012-12-10].http://www.ietf.org/rfc/rfc5449.txt.
[2] ROY A,ED M. CHANDRA Ed, Extensions to OSPF to Support Mobile Ad Hoc Networking [EB/OL].(2010-03-27) [2012-11-22]. http://www.ietf.org/rfc/rfc5820.txt.
[3] OGIER R,SPAGNOLO P.Mobile Ad Hoc Network (MANET)Extension of OSPF Using Connected Dominating Set(CDS) Flooding [EB/OL]. (2009-08-17) [2012-11-15].http://www.ietf.org/rfc/rfc5614.txt.
[4] CLAUSEN T,DEARLOVE C.Representing Multi-Value Time in Mobile Ad Hoc Networks (MANETs) [EB/OL].(2009-03-19)[2012-09-17].http://www.ietf.org/rfc/rfc5497.txt.
[5] CLAUSEN T,DEARLOVE C.Generalized Mobile Ad Hoc Network(MANET) Packet/Message Format [EB/OL].(2009-02-16)[2012-08-20].http://www.ietf.org/rf c/rfc5444.txt.
[6] CLAUSEN T,DEARLOVE C.Mobile Ad Hoc Network (MANET)Neighborhood Discovery Protocol (NHDP)[EB/OL].(2011-03-27)[2012-11-05].http://www.ietf.org/rf c/rfc6130.txt.
[7] 王俊人,李大雙.解決路由消息循環的一種新方法[J].通信技術,2011,44(05):56-57.
[8] 陳尚義.移動互聯網安全技術研究[J].信息安全與通信保密,2010(08):34-37.
[9] 陶銘,俞鶴偉.分層結構Ad Hoc網絡中基于節點位置的通信改進[J].通信技術,2009,42(01):134-136,154.