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