翟 巍,李大雙,姜永廣
(中國(guó)電子科技集團(tuán)公司第三十研究所,四川成都610041)
鏈路狀態(tài)路由與距離矢量機(jī)制相比由于開銷相對(duì)較大,不適合于低速移動(dòng)戰(zhàn)術(shù)Ad Hoc網(wǎng)絡(luò)。但是,鏈路狀態(tài)路由協(xié)議具有一定的優(yōu)勢(shì),例如,能夠通過路由協(xié)議建立的全局拓?fù)浔頌橹笓]員提供全局的戰(zhàn)術(shù)單位連通拓?fù)鋺B(tài)勢(shì)信息,能夠通過鏈路狀態(tài)信息更好地支持服務(wù)質(zhì)量(QoS)的控制機(jī)制,能夠更好地支持戰(zhàn)術(shù)網(wǎng)絡(luò)的拓?fù)淇刂?,在定向波束通信網(wǎng)絡(luò)中針對(duì)不同方向鏈路分別實(shí)施功率控制,通過全局最短代價(jià)計(jì)算在解決與避免路由環(huán)路方面比距離矢量路由機(jī)制更有優(yōu)勢(shì)等。隨著傳輸速率達(dá)到幾Mb/s甚至幾十Mb/s的寬帶戰(zhàn)術(shù)電臺(tái)、定向波束傳輸電臺(tái)的出現(xiàn)與部署應(yīng)用[1],現(xiàn)代高速電臺(tái)幾乎都實(shí)現(xiàn)了基于多點(diǎn)中繼(MPR)的優(yōu)化鏈路狀態(tài)路由協(xié)議(OLSRv1)[2]。
盡管戰(zhàn)術(shù)無線網(wǎng)絡(luò)在向帶寬高速的方向發(fā)展,但戰(zhàn)術(shù)應(yīng)用的需求增長(zhǎng)更快,其帶寬資源仍然不夠使用。傳統(tǒng)的鏈路狀態(tài)路由開銷較大,并且隨著戰(zhàn)術(shù)網(wǎng)絡(luò)規(guī)模的擴(kuò)大鏈路狀態(tài)路由泛洪開銷仍然是一個(gè)嚴(yán)重的問題。因此,OLSRv2[3]所采取的地址塊格式壓縮機(jī)制對(duì)于鏈路狀態(tài)路由機(jī)制在大規(guī)模戰(zhàn)術(shù)網(wǎng)絡(luò)中的應(yīng)用十分重要。
與OLSRv1相比,OLSRv2的主要進(jìn)步是采取了先進(jìn)的消息壓縮格式和更優(yōu)化的MPR算法,這種路由消息壓縮機(jī)制能夠大大地降低路由泛洪的開銷。IETF MANET(移動(dòng)Ad Hoc網(wǎng)絡(luò))論壇對(duì)OLSR的工作機(jī)制進(jìn)行了功能上的分割與剝離,分別拆解為移動(dòng)Ad Hoc網(wǎng)絡(luò)分組與消息的通用格式(RFC5444)即、移動(dòng)Ad Hoc網(wǎng)絡(luò)多值時(shí)間表示(RFC5497)以及移動(dòng)Ad Hoc網(wǎng)絡(luò)鄰節(jié)點(diǎn)發(fā)現(xiàn)協(xié)議(RFC6130)3個(gè)基礎(chǔ)性 RFC 規(guī)范與 OLSRv2草案[4-6]。目前,已提出了單獨(dú)的路由MPR優(yōu)化改進(jìn)算法草案,并且OLSRv2草案已進(jìn)展到最后版本狀態(tài),等待IETF分配正式的規(guī)范編號(hào),預(yù)計(jì)很快成為正式的RFC規(guī)范(即OLSRv2 RFC文檔)。
OLSRv2路由協(xié)議實(shí)現(xiàn)路由泛洪開銷壓縮的主要方法是高壓縮效率的地址塊表示格式。此外,也采取了使拓?fù)湎⒎汉榉秶?連通控制集合(CDS))更小的、更優(yōu)化的多點(diǎn)中繼算法。文中主要研究如何充分利用地址塊壓縮格式來減小路由泛洪開銷的組網(wǎng)方法,對(duì)于比OLSRv1更先進(jìn)的MPR算法,不是文中研究的重點(diǎn)。
RFC5444的分組與消息格式壓縮能力主要由地址塊壓縮機(jī)制體現(xiàn)。分組除了包含分組頭以外,還可以包含一個(gè)或多個(gè)消息。一個(gè)消息包含有一個(gè)消息頭、一個(gè)消息TLV(類型-長(zhǎng)度-值)塊、零個(gè)或更多個(gè)的地址塊以及一個(gè)地址塊TLV塊。
一個(gè)地址由長(zhǎng)度為地址長(zhǎng)度(address-length)個(gè)字節(jié)、以Head:Mid:Tail形式表示的一個(gè)序列指示。Head、Mid或Tail不與任何語義相關(guān)聯(lián),Head指示了地址塊內(nèi)所有地址相同的頭部字節(jié)內(nèi)容,Mid指示了地址塊內(nèi)這些地址中間部分的字節(jié)內(nèi)容,Tail指示了地址塊內(nèi)所有地址相同的尾部字節(jié)內(nèi)容。這種獨(dú)特的表示法使地址能夠聚合,它通常具有相同的部分。一個(gè)地址塊包含了多個(gè)地址按順序排列的一個(gè)集合,這些地址共享相同的Head和相同的Tail,但各自具有單獨(dú)的Mid。Head和Tail各自都可以獨(dú)自為空,使其能夠表示不具有相同的Head或相同的Tail的多個(gè)地址對(duì)象。
將一個(gè)地址描述為具有Head:Mid:Tail的形式、具有地址長(zhǎng)度個(gè)字節(jié)的一個(gè)序列。一個(gè)地址塊內(nèi)將含有一組按順序排列的多個(gè)地址,這些地址具有相同的首部與尾部字節(jié),并且各自的中間部分(Mid)不相同。一個(gè)地址塊<地址塊>的定義為:
其中:
<地址數(shù)>為一個(gè)8比特?zé)o符號(hào)整數(shù)域,含有在該地址塊中描述的那些地址的數(shù)量(num-addr),它絕不能為0。
<地址標(biāo)志>為一個(gè)8比特域,它規(guī)定了該地址塊的余下部分應(yīng)如何解釋:
bit0:如果bit0=“0”,則<地址塊>中將不具有<相同頭部的長(zhǎng)度>與<相同頭部>域。如果bit0=“1”,則<地址塊>中包含了<相同頭部的長(zhǎng)度>域,并且只要相同頭部的長(zhǎng)度>域的值不為0,<地址塊>中也包含了<相同的頭部>域。
bit1與bit2:按表1來解釋,該表中未給出的組合絕不允許使用。
bit3和bit 4:按表2來解釋,絕不允許使用該表中未給出的組合使用。
表1 bit 1與bit 2的定義Table 1 Definition of bit1 and bit2
表2 bit 3和bit 4的定義Table 2 Definition of bit3 and bit4
bit5:如果bit5=“0”,則在<地址塊>中不含有<鏈路代價(jià)>域。如果bit5=“1”,則<地址塊>中包含了<鏈路代價(jià)>域。
bit6:如果bit6=“0”,則在<地址塊>中不含<字節(jié)2>域。如果bit6=“1”,則指示所有地址的第2字節(jié)都是相同的,則<地址塊>中將含有<字節(jié)2>域。
bit7:如果bit7=“0”,則在<地址塊>中不含有<字節(jié)3>域。如果bit7=“1”,則指示所有地址的第3個(gè)字節(jié)都是相同的,則<地址塊>中將含有<字節(jié)3>域。
表1解釋了bit 1與bit2的組合定義,表2解釋了bit 3和bit 4的組合定義。
<相同頭部的長(zhǎng)度>域占用{<相同頭部的長(zhǎng)度><相同尾部長(zhǎng)度>}域的高4比特,如果存在,將為一個(gè)8比特?zé)o符號(hào)整數(shù)域,它將包含所有地址的相同頭部的字節(jié)數(shù)。
相同頭部的長(zhǎng)度(head-length)為一個(gè)變量,若<相同頭部的長(zhǎng)度>域存在,將等于<相同頭部的長(zhǎng)度>的值,否則等于0。
<尾部長(zhǎng)度>域占用{<相同頭部的長(zhǎng)度><相同尾部的長(zhǎng)度>}域的低4比特,如果存在,為一個(gè)8比特?zé)o符號(hào)整數(shù)域,含有所有地址公共的尾部的字節(jié)數(shù)。
尾部長(zhǎng)度(tail-length)為一個(gè)變量,若<相同尾部的長(zhǎng)度>域存在則等于<相同尾部的長(zhǎng)度>的值,否則等于0。
<相同頭部的長(zhǎng)度>域在相同頭部的長(zhǎng)度=0的情況下將予以省略,否則指示了所有地址相同的頭部的長(zhǎng)度那么多個(gè)最左邊字節(jié)的一個(gè)域。
<相同的尾部>域在尾部長(zhǎng)度=0或bit2=“1”的情況下將被省略,否則為含有所有地址公共的尾部長(zhǎng)度個(gè)最右邊字節(jié)的一個(gè)域。如果bit2=“1”,則所有地址公共的尾部長(zhǎng)度那么多個(gè)最右邊字節(jié)應(yīng)該全部為0。
地址中間部分的長(zhǎng)度(mid-length)是一個(gè)變量,其值不能小于零,其定義為:
地址中間部分的長(zhǎng)度:=地址長(zhǎng)度-相同的頭部長(zhǎng)度-相同的尾部長(zhǎng)度
<地址中間部分>域在mid-length=0的情況下將予以省略,否則每個(gè)<地址中間部分>為長(zhǎng)度為mid-length字節(jié)的一個(gè)域,描述與該地址塊中對(duì)應(yīng)的每個(gè)各不相同的地址的mid。當(dāng)不能忽略時(shí),代表<num-addr>個(gè)<mid>
<前綴長(zhǎng)度>為一個(gè)8比特?zé)o符號(hào)整數(shù)域,含有一個(gè)地址前綴的比特長(zhǎng)度。如果bit3=“1”,那么在該地址塊內(nèi)唯一的一個(gè)<前綴長(zhǎng)度>域中,將含有所有地址共用的前綴長(zhǎng)度(prefix-length)。如果bit4=“1”,則<地址數(shù)>個(gè)<前綴長(zhǎng)度>域中的每一個(gè),都包含了該地址塊內(nèi)對(duì)應(yīng)地址的各不相同的前綴長(zhǎng)度(以相同的順序排列)。否則bit 3和bit 4都將為“0”,將不存在任何<前綴長(zhǎng)度>域;則每個(gè)地址對(duì)象都將含有一個(gè)等于8*地址長(zhǎng)度比特(IPv4為20,IPv6為128)的前綴長(zhǎng)度。如果任何一個(gè)<前綴長(zhǎng)度>域的值大于8*地址長(zhǎng)度,則這個(gè)地址塊有錯(cuò)。
<鏈路代價(jià)>是一個(gè)8比特?zé)o符號(hào)整數(shù)域,表示一個(gè)1-跳直達(dá)的鄰節(jié)點(diǎn)鏈路的代價(jià)。<鏈路代價(jià)>域的重復(fù)個(gè)數(shù),由<地址塊>域含有的地址數(shù)量決定。當(dāng)含有多個(gè)1-跳直達(dá)的鄰節(jié)點(diǎn)鏈路的代價(jià)時(shí),這些鏈路代價(jià)的出現(xiàn)順序即使那個(gè)分別與該地址塊中鄰節(jié)點(diǎn)地址出現(xiàn)的順序一一對(duì)應(yīng)。當(dāng)不包含<鏈路代價(jià)>域時(shí),每條1-跳直達(dá)的鄰節(jié)點(diǎn)鏈路的鏈路代價(jià)都為1-跳,將采用TC消息經(jīng)過的跳數(shù)作為路徑代價(jià)。
下面給出幾個(gè)地址塊壓縮的實(shí)例,它們包含了不同情況的多種地址塊類型。
1)為了包含地址 a.b.c.d、a.b.e.f以及 a.b.g.h,則head-length=2,尾部長(zhǎng)度 =0,mid-length=2,<地址標(biāo)志>域設(shè)置了bit0標(biāo)志(其值為128),<尾部長(zhǎng)度>和<相同的尾部>域被省略,則該地址塊的字節(jié)內(nèi)容為3、128、2、a、b、c、d、e、f、g、h,共11 字節(jié)長(zhǎng)。
2)為了包含地址 a.b.c.g 和 d.e.f.g,則 head-length=0,尾部長(zhǎng)度 =1,mid-length=3,<地址標(biāo)志>域設(shè)置了bit1標(biāo)志(其值為64),<headlength>和 <head>域被省略,則該地址塊的字節(jié)內(nèi)容為 2、64、1、g、a、b、c、d、e、f,共 10 字節(jié)長(zhǎng)。
3)為了包含地址 a.b.d.e 和 a.c.d.e,則 head -length=1,尾部長(zhǎng)度 =2,mid-length=1,<地址標(biāo)志>域設(shè)置了bit0和bit1標(biāo)志(其值為192)。則該地址塊的字節(jié)內(nèi)容為2、192、1、a、2、d、e、b、c,共9 字節(jié)長(zhǎng)。
4)為了包含地址 a.b.0.0、a.c.0.0 及 a.d.0.0,則head-length=1,尾部長(zhǎng)度 =2,mid-length=1,<地址標(biāo)志>域設(shè)置了標(biāo)志bit0和bit2(其值為160),<tail>域被省略,則該地址塊的內(nèi)容為3、160、1、a、2、b、c、d,共 8 字節(jié)長(zhǎng)。
5)為了包含地址 a.b.0.0 和 c.d.0.0,則 head-length=0,尾部長(zhǎng)度 =2,mid-length=2,<地址標(biāo)志>域設(shè)置了標(biāo)志bit2(其值為32),<head>和<tail>域被省略,則該地址塊的字節(jié)內(nèi)容為2、32、2、a、b、c、d,共 7 字節(jié)長(zhǎng)。
6)為了包含地址 a.b.0.0/n 和 c.d.0.0/n,則 head-length=0,尾部長(zhǎng)度=2,mid-length=2,<地址標(biāo)志>域設(shè)置了標(biāo)志bit2和bit3(其值為48),則該地址塊的字節(jié)內(nèi)容為2、48、2、a、b、c、d、n,共8 字節(jié)長(zhǎng)。
7)為了包含地址 a.b.0.0/n 和 c.d.0.0/m,則head-length=0,尾部長(zhǎng)度 =2,mid-length=2,<地址標(biāo)志>域設(shè)置了標(biāo)志bit2和bit4(其值為40),則該地址塊的字節(jié)內(nèi)容為 2、40、2、a、b、c、d、n、m,共9字節(jié)長(zhǎng)。
當(dāng)在戰(zhàn)術(shù)Ad Hoc網(wǎng)絡(luò)中部署應(yīng)用OLSRv2時(shí),必須考慮和設(shè)計(jì)如何充分利用這種地址塊壓縮的組網(wǎng)機(jī)制,便于最大化地降低鏈路狀態(tài)路由協(xié)議運(yùn)行的開銷。
在OLSRv2協(xié)議運(yùn)行時(shí),將周期地產(chǎn)生Hello消息和拓?fù)淇刂?TC)這兩種消息。
Hello消息僅限制在節(jié)點(diǎn)的1-跳范圍內(nèi),不需要轉(zhuǎn)發(fā)傳遞。網(wǎng)絡(luò)密度越大時(shí),則節(jié)點(diǎn)的1-跳鏈路就越多,使得Hello消息內(nèi)包含的1-跳鏈路信息(鏈路兩端節(jié)點(diǎn)ID的列表)數(shù)量就越多。因此對(duì)Hello消息的鏈路表進(jìn)行壓縮能縮短Hello消息的總長(zhǎng)度,進(jìn)而降低無線信道的帶寬開銷。Hello消息中含有的1-跳鏈路,包括單向(即入向)鏈路、對(duì)稱雙向鏈路、MPR選擇信息以及鏈路代價(jià)。
網(wǎng)絡(luò)內(nèi)的每個(gè)節(jié)點(diǎn)周期地產(chǎn)生TC消息,并且由其選取的MPR鄰節(jié)點(diǎn)中繼轉(zhuǎn)發(fā)進(jìn)行泛洪,每個(gè)TC消息將在由MPR節(jié)點(diǎn)組成的連通控制集合的范圍內(nèi)進(jìn)行多跳泛洪,非MPR節(jié)點(diǎn)不轉(zhuǎn)發(fā)TC消息。要充分發(fā)揮地址塊壓縮機(jī)制的效率,必須在戰(zhàn)術(shù)自組織網(wǎng)絡(luò)的地址規(guī)劃上需要盡量配合,才能充分發(fā)揮其壓縮機(jī)制的效果。節(jié)點(diǎn)周期產(chǎn)生的每個(gè)TC消息中,包含了該節(jié)點(diǎn)當(dāng)前的所有雙向的(對(duì)稱的)1-跳鏈路信息,每條鏈路信息以鏈路兩端節(jié)點(diǎn)的ID來表示。
我們建議在作戰(zhàn)術(shù)網(wǎng)絡(luò)規(guī)劃部署時(shí),戰(zhàn)術(shù)節(jié)點(diǎn)采用類似于IP地址的節(jié)點(diǎn)ID編址,不規(guī)劃無線接口的IP子網(wǎng)地址[7-8]。將每個(gè)戰(zhàn)術(shù)子網(wǎng)內(nèi)各節(jié)點(diǎn)的ID都規(guī)劃在相同的IP網(wǎng)段內(nèi),便于Hello和TC消息實(shí)現(xiàn)高效率的地址塊壓縮。
如上所述,只要對(duì)戰(zhàn)術(shù)網(wǎng)絡(luò)中各節(jié)點(diǎn)ID的規(guī)劃得當(dāng),比如規(guī)劃在同一IP網(wǎng)段內(nèi),則Hello消息和TC消息中的所有1-跳鏈路信息的對(duì)端節(jié)點(diǎn)都屬于同一個(gè)IP網(wǎng)段,這就能夠利用地址塊壓縮機(jī)制進(jìn)行消息長(zhǎng)度壓縮。這些消息內(nèi)包含的1-跳鏈路的本端ID都是相同的,在設(shè)計(jì)的消息格式中可以僅由一個(gè)ID來表示。因而所有的1-跳鏈路信息只需要列出對(duì)端節(jié)點(diǎn)的ID即可,這就為充分利用地址塊壓縮機(jī)制創(chuàng)造了極好的條件。
下面分別介紹基于上述節(jié)點(diǎn)ID(4字節(jié))規(guī)劃設(shè)計(jì)時(shí)Hello消息和TC消息的壓縮格式表示。
(1)Hello消息壓縮格式
當(dāng)不采用壓縮機(jī)制時(shí),假設(shè)一個(gè)節(jié)點(diǎn)具有M條1-跳鏈路,則其原始的Hello消息格式如圖1所示。
圖1 非壓縮的Hello消息格式Fig.1 Uncompressed of the hello message format
其中,鏈路標(biāo)志比特含有單/雙向指示、MPR選擇指示。
采取地塊壓縮格式時(shí),可以將所有鄰節(jié)點(diǎn)鏈路的標(biāo)志比特和鄰節(jié)點(diǎn)分別聚集在一起,對(duì)鄰節(jié)點(diǎn)地址塊采取地塊壓縮機(jī)制來縮短Hello消息的總長(zhǎng)度。其壓縮格式如圖2所示。
圖2 壓縮的Hello消息格式Fig.2 Compression of the hello message format
在圖2中,假設(shè)為各節(jié)點(diǎn)規(guī)劃設(shè)計(jì)的ID前3字節(jié)都相同,僅第4字節(jié)不同。
在鏈路標(biāo)志域內(nèi),每條鏈路用2 bit作指示標(biāo)志。D1和S1分別為鏈路1的方向特性和MPR選擇指示,D1=“0”表示單向(即入向)鏈路,D1=“1”表示對(duì)稱雙向鏈路。其余鏈路的標(biāo)志bit定義相同。
2字節(jié)可承載8條鏈路的標(biāo)志信息,當(dāng)具有更多的鄰節(jié)點(diǎn)鏈路時(shí),可以根據(jù)鏈路總數(shù)動(dòng)態(tài)擴(kuò)展鏈路標(biāo)志域的字節(jié)長(zhǎng)度。
(2)TC消息壓縮格式
當(dāng)不采用壓縮機(jī)制時(shí),一個(gè)節(jié)點(diǎn)具有M條1-跳對(duì)稱雙向鏈路,則其原始的TC消息格式如圖3所示。
圖3 非壓縮的TC消息格式Fig.3 Uncompressed of the TC message format
采取地塊壓縮格式時(shí),各節(jié)點(diǎn)在構(gòu)造其TC分組時(shí),可以針對(duì)它周期產(chǎn)生的TC消息和接收到的新TC消息,采取聚類封裝的方法,即將所有TC消息中的發(fā)送節(jié)點(diǎn)ID和對(duì)稱雙向鏈路總數(shù)聚集為一個(gè)數(shù)據(jù)塊,將所有TC消息中的對(duì)稱雙向鏈路鄰節(jié)點(diǎn)ID聚集為一個(gè)地址塊,采取地塊壓縮機(jī)制來壓縮該地址塊,從而縮短TC消息的總長(zhǎng)度。假設(shè)網(wǎng)絡(luò)中共有N個(gè)節(jié)點(diǎn),TC消息中的所有TC消息總共含有K條鏈路,假設(shè)為各節(jié)點(diǎn)規(guī)劃設(shè)計(jì)的ID前3字節(jié)都相同,僅第4字節(jié)不同,其壓縮格式如圖4所示。
圖4 壓縮的TC消息格式Fig.4 Compression of the TC message format
地址塊壓縮的效率是比較高的,當(dāng)一個(gè)戰(zhàn)術(shù)自組織子網(wǎng)內(nèi)的所有節(jié)點(diǎn)ID的掩碼長(zhǎng)度為24時(shí),則總長(zhǎng)為40個(gè)字節(jié)的10個(gè)ID地址的地塊塊壓縮格式長(zhǎng)度僅為16字節(jié)長(zhǎng),壓縮效率接近60%。
OLSRv2將鄰節(jié)點(diǎn)發(fā)現(xiàn)機(jī)制和地址塊壓縮機(jī)制分離為獨(dú)立的RFC規(guī)范,OLSRv2協(xié)議的重點(diǎn)是對(duì)TC消息進(jìn)行高效率的多點(diǎn)中繼泛洪。目前IETF MANET論壇針對(duì)經(jīng)典MPR優(yōu)化算法已經(jīng)提出了新的草案。此外,OLSRv2協(xié)議文本中還建議將泛洪算法與模糊視野鏈路狀態(tài)(FSLS)等先進(jìn)的路由思想相結(jié)合,以進(jìn)一步降低其泛洪開銷。
對(duì)運(yùn)行OLSRv2協(xié)議的整個(gè)戰(zhàn)術(shù)網(wǎng)絡(luò)采取統(tǒng)一的節(jié)點(diǎn)ID規(guī)劃設(shè)計(jì),盡量規(guī)劃在同一個(gè)IP網(wǎng)段內(nèi),使各節(jié)點(diǎn)的ID都具有相同的頭部字節(jié)。這樣就給采取地址塊壓縮格式對(duì)OLSRv2協(xié)議發(fā)送的Hello消息和TC消息進(jìn)行信息聚類壓縮提供了基礎(chǔ)的必要條件。
傳統(tǒng)的標(biāo)準(zhǔn)IP路由在單個(gè)IP子網(wǎng)(點(diǎn)到點(diǎn)鏈路或以太網(wǎng)上)內(nèi)都為1-跳傳輸,邏輯上不存在同一IP子網(wǎng)內(nèi)消息多跳轉(zhuǎn)發(fā)的情況。而自組織組網(wǎng)要求實(shí)現(xiàn)同一IP子網(wǎng)內(nèi)的消息多跳轉(zhuǎn)發(fā)。若基于標(biāo)準(zhǔn)的IP路由技術(shù),則相同子網(wǎng)內(nèi)的多跳轉(zhuǎn)發(fā)必須由位于IP路由層之下的自組織路由墊層實(shí)現(xiàn)轉(zhuǎn)發(fā)。因此必須采用和實(shí)現(xiàn)相同IP子網(wǎng)內(nèi)的IP層多跳轉(zhuǎn)發(fā)技術(shù),需要基于IP協(xié)議進(jìn)行適應(yīng)自組織特性的設(shè)計(jì),既不違反標(biāo)準(zhǔn)的IP路由原則,又能實(shí)現(xiàn)同一IP子網(wǎng)內(nèi)的多跳轉(zhuǎn)發(fā)路由。
節(jié)點(diǎn)ID可以作為無線接口的IP地址,便于實(shí)現(xiàn)基于標(biāo)準(zhǔn)IP路由機(jī)制的自組織多跳路由。各節(jié)點(diǎn)附屬的IP子網(wǎng)信息,既可以通過ID-IP子網(wǎng)映射表預(yù)先加載到各個(gè)節(jié)點(diǎn),也可以通過TC消息泛洪到各個(gè)節(jié)點(diǎn),建立節(jié)點(diǎn)ID-IP子網(wǎng)路由映射表,進(jìn)而建立IP核心路由層的IP子網(wǎng)路由表。
網(wǎng)絡(luò)規(guī)劃軟件可以預(yù)先生成節(jié)點(diǎn)ID與其接入/附屬IP子網(wǎng)的映射表,加載到各個(gè)戰(zhàn)術(shù)自組織網(wǎng)絡(luò)節(jié)點(diǎn)中。各層子網(wǎng)內(nèi)通過交換自組織的ID路由信息,建立基于ID的自組織節(jié)點(diǎn)路由表,進(jìn)而在IP層的核心路由表中建立IP子網(wǎng)路由表。
將無線接口定義為標(biāo)準(zhǔn)的廣播型IP子網(wǎng)接口,將節(jié)點(diǎn)ID作為其6字節(jié)MAC地址的低4個(gè)字節(jié),其最高(即第1和第2)兩個(gè)字節(jié)采用相同的值,無線子網(wǎng)內(nèi)各節(jié)點(diǎn)的MAC地址僅第6個(gè)字節(jié)不相同。既可以在初始化建立整個(gè)無線子網(wǎng)的靜態(tài)ARP表,也可以基于動(dòng)態(tài)建立的群節(jié)點(diǎn)拓?fù)浔硇畔斫⒄麄€(gè)無線子網(wǎng)的動(dòng)態(tài)ARP表。
實(shí)現(xiàn)同一個(gè)IP子網(wǎng)內(nèi)多跳IP路由,可以采用兩種方法。
方法一?;贠LSRv2建立的動(dòng)態(tài)路由表,動(dòng)態(tài)建立IP層的標(biāo)準(zhǔn)IP子網(wǎng)路由表,在IP層建立標(biāo)準(zhǔn)IP子網(wǎng)路由表中,下一跳為物理上的下一跳鏈路鄰節(jié)點(diǎn)的無線接口IP地址。將接收到的所有IP分組都上傳到IP層,由IP層進(jìn)行標(biāo)準(zhǔn)的(物理上)下一跳IP選路,進(jìn)而實(shí)現(xiàn)多跳中繼。由自組織路由協(xié)議驅(qū)動(dòng)建立與刪除IP層建立基于下一跳鏈路鄰節(jié)點(diǎn)的核心路由表,對(duì)于相同子網(wǎng)內(nèi)的多跳(≥2跳)遠(yuǎn)的目的地,將以某個(gè)1-跳鄰節(jié)點(diǎn)為下一跳IP路由;
方法二。IP層選路確定的“下一跳”地址為連接目的IP子網(wǎng)的節(jié)點(diǎn)的無線接口IP地址,由自組織墊層來“潛水”實(shí)現(xiàn)多跳中繼轉(zhuǎn)發(fā),直到到達(dá)邏輯上的真正“下一跳”才上傳到IP層進(jìn)行標(biāo)準(zhǔn)的IP路由轉(zhuǎn)發(fā)。在自組織墊層執(zhí)行的這種多跳中繼過程對(duì)于IP層是不可見的。由自組織路由協(xié)議驅(qū)動(dòng)建立與刪除IP層建立基于邏輯上的“下一跳”節(jié)點(diǎn)的核心路由表,對(duì)于相同子網(wǎng)內(nèi)的多跳(≥2跳)遠(yuǎn)的目的地,將以連接目的IP子網(wǎng)的節(jié)點(diǎn)的無線接口IP地址作為下一跳IP路由。
采用這種自組織組網(wǎng)路由技術(shù),可以實(shí)現(xiàn)戰(zhàn)術(shù)網(wǎng)絡(luò)節(jié)點(diǎn)的隨遇接入、自動(dòng)重構(gòu)、動(dòng)態(tài)組網(wǎng)。
文中圍繞與OSLRv2草案密切相關(guān)的地址塊壓縮格式(RFC5444)規(guī)范如何在戰(zhàn)術(shù)自組織網(wǎng)絡(luò)中的應(yīng)用進(jìn)行了闡述。論文以地址塊壓縮的多個(gè)實(shí)例展示了其壓縮機(jī)制的具體使用方式,當(dāng)為所有節(jié)點(diǎn)的ID規(guī)劃的掩碼長(zhǎng)度等于24時(shí),其地址塊壓縮效率達(dá)到60%。由于OLSRv2拓?fù)淇刂茍?bào)文主要由各節(jié)點(diǎn)的地址塊構(gòu)成,因而對(duì)于OLSRv2路由分組的壓縮效率也將接近60%。需要特別指出的是,OLSRv2并未提出解決移動(dòng)Ad Hoc網(wǎng)絡(luò)路由安全的具體方法,與OLSRv2安全設(shè)計(jì)相關(guān)的配套R(shí)FC草案正在制定當(dāng)中,在設(shè)計(jì)基于OLSRv2的戰(zhàn)術(shù)路由協(xié)議時(shí),對(duì)其安全性也應(yīng)該做進(jìn)一步的一體化考慮。
[1]王瑩,王中武,莫嫻.定向Ad Hoc網(wǎng)絡(luò)鄰節(jié)點(diǎn)發(fā)現(xiàn)與跟蹤技術(shù)[J].通信技術(shù),2013,46(02):82 -85.WANG Ying,WANG Zhong - wu,MO Xian.Study on Neighbor Discovery and Tracking in Ad Hoc Network with Directional Antenna[J].Communications Technology,2013,46(02):82 -85.
[2]Clausen T,Jacquet P,Adjih C,etal.Optimized Link State Routing Protocol[EB/OL].(2003 - 10 - 5)[2013.12.20].http://www.ietf.org/rfc/rfc3626.txt.
[3]Clausen T,Dearlove C,Jaquet P.The Optimized Link State Routing Protocol version 2[EB/OL].(2013.03.27)[2013.12.20].http://www.ietf.org/rfc/draft- ietf- manet- olsrv2 -19.txt.
[4]Clausen T,Dearlove C,Dean J,etal.Generalized Mobile Ad Hoc Network(MANET)Packet/Message Format[EB/OL].(2009 -2 -16)[2013.12.20].http://www.ietf.org/rfc/rfc5444.txt.
[5]Clausen T,Dearlove C.Representing Multi- Value Time in Mobile Ad Hoc Networks(MANETs)[EB/OL].(2009 -3 -19)[2013.12.15].http://www.ietf.org/rfc/rfc5497.txt.
[6]Clausen T,Dearlove C,Dean J.Mobile Ad Hoc Network(MANET)Neighborhood Discovery Protocol(NHDP)[EB/OL].(2011 -03 -27)[2013.12.19].http://www.ietf.org/rfc/rfc6130.txt.
[7]王中武,李大雙,胡薇.OSPF向移動(dòng)Ad Hoc網(wǎng)絡(luò)擴(kuò)展的一種新方法[J].通信技術(shù),2013,46(02):35 -37.WANG Zhong - wu,LI Da - shuang,HU Wei.A New Method for Extension of OSPF to MANET[J].Communications Technology,2013,46(02):35 -37.
[8]姜慶,李大雙.OLSR在廣義AD-HOC網(wǎng)絡(luò)中的擴(kuò)展應(yīng)用研究[J].信息安全與通信保密,2007(02):149-150.JIANG Qing,LI Da - shuang.Application Research of OLSR in Generalized AD - HOC Network[J].Information Security and Communications Privacy,2007(02):149 -150.