摘要 由藍(lán)牙微微網(wǎng)組成的分布式網(wǎng)絡(luò)與一種新型的無線局域網(wǎng)----自組網(wǎng)相類似,文章在對(duì)自組網(wǎng)進(jìn)行改造和拓展的基礎(chǔ)上,探討藍(lán)牙分布式網(wǎng)絡(luò)的構(gòu)建,同時(shí)對(duì)其路由協(xié)議進(jìn)行研究。
關(guān)鍵詞 藍(lán)牙 分布式網(wǎng)絡(luò) 自組網(wǎng) 無線局域網(wǎng) 路由算法
1 藍(lán)牙分布式網(wǎng)絡(luò)
藍(lán)牙技術(shù)的提出為短距離低功耗無線通信尋找到一條全新的途徑。把一個(gè)9mm×9mm芯片嵌入到手機(jī)、PDA和數(shù)字相機(jī)等移動(dòng)終端中,就可以完成設(shè)備之間的無電纜連接,實(shí)現(xiàn)無線局域網(wǎng)(WLAN)和信息家電等構(gòu)想。
Bluetooth采用2.4GHz ISM頻段,使用小范圍射頻鏈路,鏈路建立在跳頻頻譜上,可在同一通信帶寬內(nèi)干擾地傳輸多個(gè)信道信息,實(shí)現(xiàn)終端之間的信息交換。共存于同一信道的若干設(shè)備單元構(gòu)成一個(gè)微微網(wǎng)(piconet)。在微微網(wǎng)中,若某臺(tái)設(shè)備的時(shí)鐘和跳頻序列用于其它設(shè)備,則稱為主設(shè)備(master),否則就稱為從設(shè)備(slave),一個(gè)微微網(wǎng)中只有一個(gè)主設(shè)備和多個(gè)從設(shè)備(不多于8個(gè))。在同一微微網(wǎng)中,所有用戶均用一跳頻序列同步。若干相互獨(dú)立的微微網(wǎng)連接在一起,構(gòu)成藍(lán)牙分布式網(wǎng)絡(luò)(scatternet)。各微微網(wǎng)由不同的跳頻序列區(qū)分,在一個(gè)互連的分布式網(wǎng)絡(luò)中,一個(gè)節(jié)點(diǎn)設(shè)備可同時(shí)存在于多個(gè)微微網(wǎng)中,但不能在兩個(gè)微微網(wǎng)中處于激活狀態(tài)(active)。
不難看出藍(lán)牙分布式網(wǎng)絡(luò)是自組網(wǎng)(ad hoc networks)的一種特例。自組網(wǎng)是一種新型無線局域網(wǎng),它起源于美國(guó)軍事領(lǐng)域,是一種多跳的臨時(shí)性自治系統(tǒng),無線終端兼有路由器和主機(jī)的功能,網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)是動(dòng)態(tài)和分布式的。自組網(wǎng)是移動(dòng)計(jì)算機(jī)通信網(wǎng)絡(luò)的一種,主要用于移動(dòng)數(shù)據(jù)傳輸,由于無基站支持,使網(wǎng)絡(luò)中數(shù)據(jù)轉(zhuǎn)發(fā)的選路問題成為研究重點(diǎn)。
藍(lán)牙特殊利益集團(tuán)(Bluetooth SIG)制定的協(xié)議中,尚未對(duì)藍(lán)牙微微網(wǎng)網(wǎng)間通信和藍(lán)牙分布式網(wǎng)絡(luò)的構(gòu)建等內(nèi)容作出描述,本文在類比的基礎(chǔ)上,對(duì)自組網(wǎng)進(jìn)行改造和擴(kuò)展,以使其能符合藍(lán)牙分布式網(wǎng)絡(luò)的特征。
2 自組網(wǎng)的技術(shù)特點(diǎn)
20世紀(jì)70年代,美國(guó)國(guó)防部開始研究一種新的分組無線網(wǎng)絡(luò),以便能在戰(zhàn)爭(zhēng)中保持通信網(wǎng)絡(luò)的可靠性。自組網(wǎng)的概念起源于此,后來該技術(shù)涉足民用,并已有相關(guān)產(chǎn)品面市。
2.1 自組網(wǎng)的技術(shù)特點(diǎn)
移動(dòng)無線通信網(wǎng)絡(luò)通常以蜂窩移動(dòng)通信網(wǎng)絡(luò)或傳統(tǒng)無線局域網(wǎng)的形式出現(xiàn),這兩種網(wǎng)絡(luò)具有一個(gè)共同點(diǎn),即移動(dòng)終端的接入均需通過基站等轉(zhuǎn)接設(shè)備來完成。蜂窩移動(dòng)通信網(wǎng)絡(luò)中的移動(dòng)終端不具備路由功能,它是由移動(dòng)交換機(jī)負(fù)責(zé)路由和交換,并同時(shí)充當(dāng)網(wǎng)關(guān),通過有線方式接入固定網(wǎng)。在傳統(tǒng)無線局域網(wǎng)中,配備無線局域網(wǎng)網(wǎng)卡的移動(dòng)節(jié)點(diǎn),通過無線接入訪問點(diǎn),連接到固定網(wǎng)絡(luò),兩個(gè)距離較遠(yuǎn)且布線不便的局域網(wǎng)通過無線網(wǎng)橋進(jìn)行連接,局域網(wǎng)中主機(jī)的移動(dòng)性是通過移動(dòng)IP協(xié)議實(shí)現(xiàn)的。
與移動(dòng)無線通信網(wǎng)絡(luò)相比,自組網(wǎng)定義了一種全新的思想。在自組網(wǎng)的局域環(huán)境中,每個(gè)用戶終端不光有簡(jiǎn)單的主機(jī)功能,而且兼有路由器功能,兩個(gè)無法直接通信的用戶終端可以借助其它終端的分組轉(zhuǎn)發(fā)進(jìn)行數(shù)據(jù)通信。自組網(wǎng)是一種無中心的分布式結(jié)構(gòu),可以近似地把它看作藍(lán)牙分布式網(wǎng)絡(luò)中的一種微微網(wǎng)。
自組網(wǎng)最大的特點(diǎn)是可以無基站支持,每個(gè)移動(dòng)終端的地位是平等的,并可獨(dú)立進(jìn)行分組轉(zhuǎn)發(fā)的決策,其建網(wǎng)靈活性,多跳性、拓?fù)浣Y(jié)構(gòu)動(dòng)態(tài)變化和分布式控制等特點(diǎn)是構(gòu)建藍(lán)牙分布式網(wǎng)絡(luò)時(shí)參考的基礎(chǔ)。同時(shí),自組網(wǎng)存在傳輸帶寬有限、可擴(kuò)展性不強(qiáng)和安全性差的局限。
2.2 自組網(wǎng)路由選擇
單跳網(wǎng)絡(luò)的分組傳送無須通過網(wǎng)絡(luò)層,因此無線局域網(wǎng)和紅外網(wǎng)絡(luò)的研究?jī)?nèi)容主要集中在網(wǎng)絡(luò)的物理層和數(shù)據(jù)鏈路層上(包括信號(hào)編碼、糾錯(cuò)、頻率復(fù)用和信道共享等等)。對(duì)于多跳的自組網(wǎng)而言,研究重點(diǎn)則在于以路由選擇為核心網(wǎng)絡(luò)層的設(shè)計(jì)。自組網(wǎng)從被提出之日起,網(wǎng)絡(luò)中的路由算法便成為研究的主要方向,目前已提出多種路由算法,其中以DSDV、WRP、DSR、ABR、ZRP、AODV、TORA和LS_QoS等協(xié)議為代表。
2.3自組網(wǎng)的應(yīng)用
自組網(wǎng)可通過藍(lán)牙、無線局域網(wǎng)網(wǎng)卡或IrDA等設(shè)備自主組建,完成無線移動(dòng)終端之間點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多點(diǎn)和多點(diǎn)對(duì)多點(diǎn)連接。目前,國(guó)外已有自組網(wǎng)相關(guān)產(chǎn)品面市,可為軍事領(lǐng)域和應(yīng)急民用領(lǐng)域提供較為可靠的通信網(wǎng)絡(luò)。
3 藍(lán)牙分布式網(wǎng)絡(luò)的構(gòu)建
3.1 微微網(wǎng)的網(wǎng)絡(luò)特征
在藍(lán)牙微微網(wǎng)中,任兩單元之間可通過無線信道建立點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多點(diǎn)連接,多個(gè)相互獨(dú)立的微微網(wǎng)可組成一個(gè)具有自組網(wǎng)特征的多跳分布式網(wǎng)絡(luò)。
在每個(gè)微微網(wǎng)中,用一組偽隨機(jī)跳頻序列來確定79個(gè)跳頻信道,這個(gè)跳頻序列對(duì)于每個(gè)微微網(wǎng)來說是唯一的,由主設(shè)備地址和時(shí)鐘決定。藍(lán)牙無線信道使用跳頻/時(shí)分復(fù)用(FH/TDD)方案,信道以625ps時(shí)間長(zhǎng)度劃分時(shí)隙,根據(jù)微微網(wǎng)主設(shè)備的時(shí)鐘對(duì)時(shí)孫進(jìn)行編號(hào),號(hào)碼從0-(227-1)以227為一個(gè)循環(huán)長(zhǎng)度,每個(gè)時(shí)隙對(duì)應(yīng)一個(gè)跳頻頻率,通常跳頻速率為1600跳/s。主設(shè)備只在偶數(shù)時(shí)隙開始傳送信息,從設(shè)備只在奇數(shù)時(shí)隙開始傳送,信息包的開始與時(shí)隙的開始相對(duì)應(yīng)。
微微網(wǎng)中信道的特性完全由主設(shè)備決定,主設(shè)備的藍(lán)牙地址(BD_ADDR)決定跳頻序列和信道接入碼,主設(shè)備的系統(tǒng)時(shí)鐘決定跳頻序列的相位和時(shí)間。根據(jù)藍(lán)牙設(shè)備的平等性,任何一個(gè)設(shè)備都可以成為網(wǎng)絡(luò)中的主設(shè)備,而且主、從設(shè)備可轉(zhuǎn)換角色。
3.2 分布式網(wǎng)絡(luò)的網(wǎng)絡(luò)特征
雖然藍(lán)牙的分布式網(wǎng)絡(luò)與自組網(wǎng)存在極大的相似性,但在構(gòu)建分布式網(wǎng)絡(luò)時(shí),必須對(duì)自組(特別是對(duì)移動(dòng)自組網(wǎng)MANET)進(jìn)行優(yōu)化,這是藍(lán)牙本身具有獨(dú)特征所決定的。
這是由于:(1)藍(lán)牙基帶層分組大小的限制,MANET解決方案必須在每個(gè)中繼節(jié)點(diǎn)對(duì)藍(lán)牙分組進(jìn)行分段重組,導(dǎo)致每個(gè)節(jié)點(diǎn)緩沖空間需求增加,每次跳頻時(shí)的豐儲(chǔ)轉(zhuǎn)發(fā)時(shí)延增大;(2)在互連過程中,分布式網(wǎng)絡(luò)具有的拓?fù)浣Y(jié)構(gòu)與自組網(wǎng)存在差別。分布式網(wǎng)絡(luò)中的移動(dòng)設(shè)備根據(jù)連接發(fā)起者分為主設(shè)備和從設(shè)備,從設(shè)備之間的通信必須經(jīng)過主設(shè)備才能建立。此外,在流量特征、移動(dòng)性模型和網(wǎng)絡(luò)覆蓋范圍等應(yīng)用方面,分布式網(wǎng)絡(luò)與典型的自組網(wǎng)也存在區(qū)別。
由于分布式網(wǎng)絡(luò)是準(zhǔn)靜態(tài)的,生存周期短,范圍小,MANET構(gòu)建方案中的范圍性和可適性考慮就顯得沒有必要了。多個(gè)微微網(wǎng)互連組成分布式網(wǎng)絡(luò)時(shí),可以通過兩種方式,一種是通過同時(shí)存在于兩個(gè)微微網(wǎng)中的從設(shè)備進(jìn)行轉(zhuǎn)接,另一種是兩個(gè)主設(shè)備直接建立連接。
3.3 分布式網(wǎng)絡(luò)中微微網(wǎng)的網(wǎng)間切換
各移動(dòng)終端之間的對(duì)等性使微微網(wǎng)切換成為可能。微微網(wǎng)切換是指主從設(shè)備角色的轉(zhuǎn)換,藍(lán)牙系統(tǒng)中采用多路復(fù)用技術(shù)實(shí)現(xiàn)微微網(wǎng)切換。若當(dāng)前系統(tǒng)只有ACL鏈接,一個(gè)單元可在當(dāng)前微微網(wǎng)中進(jìn)入保持或休眠模式,在此期間,它可通過改變信道參數(shù),加入其它微微網(wǎng);若SCO鏈接已建立,則只能在兩者之間的非保留時(shí)隙上,訪問其它微微網(wǎng);若只有一條使用HV分組的SCO鏈接,則只能保持原樣。
由于多個(gè)微微網(wǎng)不能保持同步,所以必須采用保護(hù)時(shí)間來解決多個(gè)微微網(wǎng)未對(duì)準(zhǔn)的狀況。加入兩個(gè)微微網(wǎng)的一個(gè)從單元必須兼顧兩個(gè)加入到它自身的本地時(shí)鐘補(bǔ)償,并創(chuàng)建一個(gè)或另一個(gè)主單元時(shí)鐘。由于兩個(gè)主時(shí)鐘獨(dú)立,會(huì)發(fā)生時(shí)間漂移,為了保證從單元與兩個(gè)主單元同步,必須定期修改補(bǔ)償值。主從單元切換分為兩步:(1)指定主單元與從單元的TDD切換;(2)所有微微網(wǎng)單元的微微網(wǎng)切換。當(dāng)所有的從單元都接收到FHS分組時(shí),每個(gè)單元將使用由新主單元定義的新微微網(wǎng)參數(shù)。至此,微微網(wǎng)切換完成。
4 藍(lán)牙分布式網(wǎng)絡(luò)的路由算法
4.1 網(wǎng)絡(luò)模型元素
藍(lán)牙系統(tǒng)中的一個(gè)移動(dòng)終端就是一個(gè)定義的藍(lán)牙單元,每個(gè)單元由唯一的48bit藍(lán)牙地址標(biāo)識(shí)。一個(gè)微微網(wǎng)中定義一個(gè)主設(shè)備和多個(gè)從設(shè)備。一個(gè)從設(shè)備由3bit的MAC地址簡(jiǎn)單標(biāo)識(shí),用MacAddr表示。這里對(duì)MacAddr作如下定義:MacAddr=000時(shí),表示在一個(gè)微微網(wǎng)中進(jìn)行消息廣播。本文僅討論在ACL信道上進(jìn)行分組傳輸。
藍(lán)牙系統(tǒng)把信道分為625ps間隔的時(shí)隙。分組數(shù)據(jù)由72bit的接入碼、54bit的頭以及凈荷組成。
在分布式網(wǎng)絡(luò)中進(jìn)行路由選擇時(shí),本文采用路由矢量方法,用第3層(layer III)的控制信息進(jìn)行協(xié)作,本文采用的路由協(xié)議中所設(shè)計(jì)的相關(guān)域。本文采用路由矢量選路方式完成藍(lán)牙分組在分布式網(wǎng)絡(luò)中的傳送。該路由選擇方式是基于中繼表的,這一點(diǎn)與IP或ATM相同,基于源路由,即分組中攜帶路由信息。對(duì)無線網(wǎng)絡(luò)而言,路由協(xié)議表是路由選擇的基礎(chǔ)。路由矢量方法會(huì)導(dǎo)致較大的開銷,但它卻能體現(xiàn)分布式網(wǎng)絡(luò)系統(tǒng)的優(yōu)點(diǎn),我們必須構(gòu)造表格實(shí)體,刪除已完成的連接和連接失敗的連接主體。對(duì)此,可參考藍(lán)牙系統(tǒng)本身的特點(diǎn)和路由矢量方法,得到針對(duì)藍(lán)牙分布式網(wǎng)絡(luò)中單播和多播傳輸?shù)挠行Х椒,由LocID標(biāo)識(shí)微微網(wǎng),可降低分組中的開銷。
4.2 微微網(wǎng)內(nèi)節(jié)點(diǎn)之間的通信
在微微網(wǎng)內(nèi)部,兩個(gè)從設(shè)備之間進(jìn)行單播通信時(shí),必須經(jīng)過主設(shè)備才能完成。在第2層(Layer III)的分組頭中沒有目的從設(shè)備的地址信息。這樣,若由連接不同微微網(wǎng)的從設(shè)備完成分組傳送,則必須存在第3層。DA包含目的從設(shè)備的MacAddr;當(dāng)主設(shè)備接收到分組后,主設(shè)備去掉第2層的頭,并把凈荷封裝成第3層分組格式。當(dāng)FF=1,第3層處理器就把凈荷數(shù)據(jù)放到一個(gè)新的分組中,并把這個(gè)分組傳送到目的從設(shè)備。這個(gè)分組傳送過程就是微微網(wǎng)內(nèi)部分組單播傳送的過程。如果FF=1,DA=000,則表示分組是在微微網(wǎng)內(nèi)部進(jìn)行廣播。這種廣播方式并不能保證有效性,只是在微微網(wǎng)中多廣播幾次,高層協(xié)議必須重復(fù)檢測(cè)接收到的廣播分組是否重復(fù)。
4.2.1微微網(wǎng)內(nèi)部的單播通信
為了減小開銷,這里用LocID代替48bit的藍(lán)牙地址,由于一個(gè)微微網(wǎng)中所允許的從設(shè)備不能超過8個(gè),所以LocID取3bit。這3bit的LocID可直接分配給微微網(wǎng)內(nèi)部相連的節(jié)點(diǎn)。分組由源節(jié)點(diǎn)生成發(fā)出后,傳送過程中的分組就會(huì)在RVF域的隊(duì)列中寫入相應(yīng)的ID號(hào),以便記錄經(jīng)過的路由和節(jié)點(diǎn)。源節(jié)點(diǎn)通過路由發(fā)現(xiàn)協(xié)議獲得分組的路由。當(dāng)一個(gè)中繼收到一個(gè)分組后,就會(huì)把這個(gè)分組發(fā)向第一個(gè)LocID所對(duì)應(yīng)的微微網(wǎng)主設(shè)備,在此過程中,由RVF域中的第一個(gè)macAddr給出獲得的MAC地址。節(jié)點(diǎn)在發(fā)送分組之前,會(huì)去掉第一組標(biāo)號(hào)。
4.2.2微微網(wǎng)內(nèi)部的廣播通信
分組的廣播與單播通信相似,如果一個(gè)單元已經(jīng)收到該分組,那么以后收到的相同分組就被刪除掉,否則該節(jié)點(diǎn)就會(huì)把這個(gè)分組發(fā)送給 所有的相鄰節(jié)點(diǎn)。
廣播分組的數(shù)據(jù)所中,當(dāng)BF=1,則RVF域在第3層層面上包含該分組所經(jīng)過的中繼和主設(shè)備的48bit藍(lán)牙地址序列。當(dāng)一個(gè)中繼節(jié)點(diǎn)收到一個(gè)微微網(wǎng)內(nèi)部的廣播分組時(shí),該節(jié)點(diǎn)就會(huì)查看其RVF域,如果RVF域中有該節(jié)點(diǎn)的藍(lán)牙地址,節(jié)點(diǎn)就會(huì)刪去該分組,否則這個(gè)中繼就會(huì)把自己的地址加入到RVF域中,并把該分組的凈荷部分傳給其它相連的主設(shè)備。這里,分組中FF=1,DA=000。
如果分組是一個(gè)從設(shè)備發(fā)出的,它就會(huì)把分組發(fā)送給主設(shè)備,由主設(shè)備在整個(gè)微微網(wǎng)內(nèi)部廣播。不難想象,若要使分布式網(wǎng)絡(luò)內(nèi)部所有節(jié)點(diǎn)都接收到一個(gè)節(jié)點(diǎn)的廣播分組,就必須廣播多次,導(dǎo)致網(wǎng)內(nèi)業(yè)務(wù)量較大,效率降低,為了解決該問題,必須在每個(gè)節(jié)點(diǎn)中增加相應(yīng)的緩存,以便存儲(chǔ),減小冗余。
4.3路由發(fā)現(xiàn)
上述路由選路是基于現(xiàn)有路由矢量表,因此在作路由選路之前,必須運(yùn)行路由發(fā)現(xiàn)協(xié)議,建立路由矢量表,而且該表應(yīng)是動(dòng)態(tài)變化的。
為了建立路由矢量表,源節(jié)點(diǎn)會(huì)發(fā)送一個(gè)搜尋分組(search packet),該數(shù)據(jù)報(bào)是基于第3層的控制分組。該分組在整個(gè)分布式網(wǎng)絡(luò)中廣播,搜尋到的數(shù)據(jù)報(bào)中凈荷部分就是累積成的源節(jié)點(diǎn)到目的節(jié)點(diǎn)路由列表。源節(jié)點(diǎn)使用自身的MacAddr對(duì)路由列表進(jìn)行初始化,每一個(gè)中繼節(jié)點(diǎn)收到該分組后,就會(huì)在該發(fā)組數(shù)據(jù)中加入相關(guān)的LocID或MacAddr地址。當(dāng)目的節(jié)點(diǎn)收到搜尋數(shù)據(jù)分后,會(huì)以多播方式返回一個(gè)應(yīng)答分組(reply packet),應(yīng)答分組按照搜尋分組中的路由返回到源節(jié)點(diǎn),至此,源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的路由矢量表就建立起來了。
在未來個(gè)人通信,無線局域網(wǎng)、藍(lán)牙系統(tǒng)等技術(shù)前景看好,但目前藍(lán)牙標(biāo)準(zhǔn)還沒有真正完善,尤其是上層協(xié)議尚未建立。在構(gòu)建藍(lán)牙系統(tǒng)時(shí),必須考慮系統(tǒng)的上層功能,本文僅以自組網(wǎng)中的相似性,對(duì)藍(lán)牙分布式網(wǎng)絡(luò)的構(gòu)建和上層路由協(xié)議進(jìn)行探討,自組網(wǎng)的路由協(xié)議已成為目前研究的熱點(diǎn),在許多相關(guān)協(xié)議中,哪些協(xié)議更適合藍(lán)牙分布式網(wǎng)絡(luò)的路由選路和路由發(fā)現(xiàn),仍是今后應(yīng)關(guān)注的問題。
摘自《電信快報(bào)》2002.5