藍牙無線個人局域網(wǎng)的組建方案解析
藍牙技術(shù)作為一種小范圍無線連接技術(shù),能夠在設(shè)備間實現(xiàn)方便快捷、靈活安全、低成本、低功耗的數(shù)據(jù)和語音通信,是目前實現(xiàn)無線個人局域網(wǎng)的主流技術(shù)之一。同時,藍牙系統(tǒng)以Ad Hoc的方式工作,每個藍牙設(shè)備都可以再網(wǎng)絡(luò)中實現(xiàn)路由選擇的功能,可以形成移動自組網(wǎng)絡(luò)。藍牙的特性在許多方面正好符合Ad Hoc和WPAN的概念,顯示了其真正的潛力所在。而且,將藍牙與其他網(wǎng)絡(luò)相連接可帶來更廣泛的應(yīng)用,例如接入互聯(lián)網(wǎng)、PSTN或公眾移動通信網(wǎng),可以使用戶應(yīng)用更方便或給用戶帶來更大的實惠。作為醫(yī)院有線局域網(wǎng)的補充,藍牙無線個域網(wǎng)克服了有線網(wǎng)絡(luò)的弊端,可利用電腦等隨時隨地進行生命體征數(shù)據(jù)等的查詢錄入,在無線監(jiān)護方面發(fā)揮著重要作用。
本文引用地址:http://www.ex-cimer.com/article/201710/368500.htm1藍牙組網(wǎng)機制
1.1藍牙個域網(wǎng)的網(wǎng)絡(luò)特性
作為藍牙SIG的一個工作組,藍牙個人區(qū)域網(wǎng)工作組的主要目標(biāo)是定義基于IP的藍牙個域網(wǎng)應(yīng)用協(xié)議,解決以太網(wǎng)數(shù)據(jù)包的封裝、單個微微網(wǎng)中基于IP的個人區(qū)域網(wǎng)絡(luò)、主設(shè)備的轉(zhuǎn)發(fā)以及局域網(wǎng)接入點的問題。藍牙個人區(qū)域網(wǎng)協(xié)議描述了2個及多個的藍牙設(shè)備如何組成一個Ad Hoc網(wǎng)絡(luò)以及如何使用同樣的機制通過網(wǎng)絡(luò)接入點接入遠程網(wǎng)絡(luò)。網(wǎng)絡(luò)接入點可以是傳統(tǒng)的LAN數(shù)據(jù)接入點,而分組Ad Hoc網(wǎng)絡(luò)表示的僅是一組相互連接的設(shè)備。
分組Ad Hoc網(wǎng)絡(luò)是一組移動主機的集合,它們可以再無需其他網(wǎng)絡(luò)硬件或網(wǎng)絡(luò)設(shè)施的支持下組成一個Ad Hoc無線網(wǎng)絡(luò)。PAN協(xié)議更側(cè)重的是由一個藍牙微微網(wǎng)構(gòu)成的簡單個人Ad Hoc網(wǎng)絡(luò)。網(wǎng)絡(luò)中有最多可容納8個設(shè)備,其中一個是主節(jié)點,其余是從節(jié)點。
藍牙PAN網(wǎng)絡(luò)具有以下Ad Hoc網(wǎng)絡(luò)的共同特點:
(1)獨立組網(wǎng)能力
各節(jié)點在一定網(wǎng)絡(luò)構(gòu)成算法的支持下,可以在很短的時間內(nèi)自動組成一個獨立的網(wǎng)絡(luò)而無需任何網(wǎng)絡(luò)設(shè)施支持。
?。?)多跳路由
節(jié)點的發(fā)射功率較低,因此覆蓋范圍有限。相互通信范圍之外的節(jié)點通信需要經(jīng)過中間節(jié)點的轉(zhuǎn)發(fā),經(jīng)過多跳實現(xiàn)。
?。?)拓撲動態(tài)變化
在藍牙PAN中,某些節(jié)點具有移動性,可能隨時離開或再次加入網(wǎng)絡(luò),也有些節(jié)點會隨時關(guān)閉電源,引起節(jié)點和鏈路數(shù)量分布的變化,因此藍牙PAN的拓撲結(jié)構(gòu)可能隨時發(fā)生變化。
?。ㄌ厥獾男诺捞卣?/p>
收無線信道的沖突、信號衰減、噪聲以及信道之間的干擾等影響,藍牙鏈路的實際帶寬遠小于理論帶寬,而且動態(tài)變化。
(5)節(jié)點的局限性
大部分藍牙節(jié)點依靠電池供電,能量受限,而且節(jié)點存在移動性、內(nèi)存小以及處理器處理能力有限等特點,因此有效的減少節(jié)點能耗非常重要。
?。?)安全性
雖然藍牙采取了嚴密的安全機制,但由于Ad Hoc網(wǎng)絡(luò)特點,藍牙節(jié)點易受到竊聽、主動入侵與拒絕服務(wù)等網(wǎng)絡(luò)攻擊。
藍牙PAN還有不同于其他Ad Hoc網(wǎng)絡(luò)的一些特性:
?。?)節(jié)點通信范圍有限
藍牙節(jié)點有效發(fā)射距離一般為幾米到幾十米,兒IEEE802.11等自組織網(wǎng)絡(luò)可達到幾百米。
?。?)移動性相對較小
相比其他Ad Hoc網(wǎng)絡(luò)設(shè)備,藍牙節(jié)點的移動速度和頻率較小。
(3)帶寬窄
藍牙通常用做數(shù)據(jù)、語音與低速率的視頻傳輸?shù)葢?yīng)用,因此帶寬較窄,目前藍牙2.0規(guī)范定義的最高帶寬也只有3Mbit/s,因此,藍牙網(wǎng)絡(luò)帶寬的優(yōu)化是個很重要的發(fā)展方向。
1.2藍牙網(wǎng)絡(luò)的拓撲結(jié)構(gòu)
藍牙系統(tǒng)采用一種靈活的無基站的組網(wǎng)方式,使得一個藍牙設(shè)備可與7個其他的藍牙設(shè)備相連接。藍牙系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)的拓撲結(jié)構(gòu)有2種形式:微微網(wǎng)(Piconet)和散射網(wǎng)(Scatternet)。
?。?) 微微網(wǎng)
微微網(wǎng)是通過藍牙技術(shù)以特定方式連接起來的一種微型網(wǎng)絡(luò),一個微微網(wǎng)可以只是2臺相連的設(shè)備,比如一臺便攜式電腦和一部移動電話,也可以是8臺連在一起的設(shè)備。在一個微微網(wǎng)中,所有設(shè)備的級別是相同的,具有相同的權(quán)限。藍牙采用自組式組網(wǎng)方式(Ad Hoc),微微網(wǎng)主設(shè)備(Master)單元(發(fā)起鏈接的設(shè)備)和從設(shè)備(Slave)單元構(gòu)成,有一個主設(shè)備單元和最多7個從設(shè)備單元,如圖1所示。主設(shè)備單元負責(zé)提供時鐘同步信號和跳頻序列,從設(shè)備單元一般是受控同步的設(shè)備單元,受主設(shè)備單元控制。
圖1 一個主設(shè)備和多達7個從設(shè)備組成的微微網(wǎng)
在每個微微網(wǎng)中,用一組偽隨機跳頻序列來確定79個跳頻信道,這個跳頻序列對于每個微微網(wǎng)來說是唯一的,由主節(jié)點的地址和時鐘決定。藍牙無線信道使用跳頻/時分復(fù)用(FH/TDD)方案,信道以625μs時間長度劃分時隙,根據(jù)微微網(wǎng)主節(jié)點的時鐘對時隙進行編號,號碼從0-(227-1)以227為一個循環(huán)長度,每個時隙對應(yīng)一個跳頻頻率,通常跳頻速率為1600跳/s。主節(jié)點只在偶數(shù)時隙開始傳送信息,從節(jié)點只在奇數(shù)時隙開始傳送,信息包的開始與時隙的開始相對應(yīng)。微微網(wǎng)中信道的特性完全由主節(jié)點決定,主節(jié)點的藍牙地址(BD_ADDR)決定跳頻序列和信道接入碼,主節(jié)點的系統(tǒng)時鐘決定跳頻序列的相位和時間。根據(jù)藍牙節(jié)點的平等性,任何一個設(shè)備都可以成為網(wǎng)絡(luò)中的主節(jié)點,而且主、從節(jié)點可轉(zhuǎn)換角色。
主節(jié)點通過輪詢從節(jié)點實現(xiàn)兩者之間的通信。從節(jié)點只有收到主節(jié)點的的信息包方可發(fā)送數(shù)據(jù)。如圖2,從節(jié)點2在t時刻收到來自主節(jié)點的數(shù)據(jù)包,此時頻率為f(k),之后它可以在下一個時隙通過f(k+1)頻率向主節(jié)點發(fā)送數(shù)據(jù)包。同理,從節(jié)點1在t2時刻收到主節(jié)點的數(shù)據(jù)包,此時頻率為f(k+2),并且在時間t3通過頻率f(k+3)發(fā)送數(shù)據(jù)包給主節(jié)點。
圖2微微網(wǎng)內(nèi)通信輪詢機制
(2)散射網(wǎng)
一個微微網(wǎng)最多只能有7個從節(jié)點同時處于通信狀態(tài)。為了能容納更多的
裝置,并且擴大網(wǎng)絡(luò)通訊范圍,多個微微網(wǎng)互連在一起,就構(gòu)成了藍牙自組織網(wǎng),
即散射網(wǎng),圖3。在散射網(wǎng)中,不同微微網(wǎng)間使用不同的跳頻序列,因此,只要彼此沒有同時跳躍到同一頻道上,即便有多組資料流同時傳送也不會造成干擾。連接微微網(wǎng)之間的串連裝置角色稱為橋(Bridge)。橋節(jié)點可以是所有所屬微微網(wǎng)中的Slave角色,這樣的Bridge的類別為Slave/Slave(S/S);也可以是在其中某一所屬的微微網(wǎng)中當(dāng)Master,在其他微微網(wǎng)中當(dāng)Slave,這樣的Bridge類別為Master/Slave(M/S)。橋節(jié)點通過不同時隙在不同的微微網(wǎng)之間的轉(zhuǎn)換而實現(xiàn)在跨微微網(wǎng)之間的資料傳輸。藍牙獨特的組網(wǎng)方式賦予了橋節(jié)點強大的生命力,同時可以有7個移動藍牙用戶通過一個網(wǎng)絡(luò)節(jié)點與因特網(wǎng)相連。它靠跳頻順序識別每個微微網(wǎng),同一微微網(wǎng)所有用戶都與這個跳頻順序同步。
藍牙散射網(wǎng)是自組網(wǎng)的一種特例。其最大特點是可以無基站支持,每個移動終端的地位是平等的,并可以獨立進行分組轉(zhuǎn)發(fā)的決策,其建網(wǎng)靈活性、多跳性、拓撲結(jié)構(gòu)動態(tài)變化和分布式控制等特點是構(gòu)建藍牙散射網(wǎng)的基礎(chǔ)。
圖3藍牙散射網(wǎng)實例
1.3藍牙散射網(wǎng)拓撲構(gòu)建的規(guī)則
在一個藍牙WPAN拓撲結(jié)構(gòu)中,主設(shè)備或從設(shè)備只是節(jié)點的一個邏輯狀態(tài)。一個單元只能是一個微微網(wǎng)的主設(shè)備,但可以參與多個相互重疊的微微網(wǎng)。一個主設(shè)備或一個參與多個微微網(wǎng)的活動從設(shè)備稱為橋;允許微微網(wǎng)構(gòu)成一個被稱為散射網(wǎng)的較大網(wǎng)絡(luò)。由于使用了跳頻技術(shù),一個橋在同一時間不能作為多個微微網(wǎng)的活動設(shè)備;橋必須在一個時分基上的2個微微網(wǎng)間進行轉(zhuǎn)換,轉(zhuǎn)換時必須與當(dāng)前的微微網(wǎng)再同步,這會帶來一個嚴重影響系統(tǒng)性能的重要開銷。
藍牙WPAN最主要的問題在于構(gòu)造散射網(wǎng)時遇到由系統(tǒng)規(guī)范和通信量需求造成的約束。節(jié)點如何組成微微網(wǎng)以及哪個節(jié)點作為主設(shè)備或橋,對系統(tǒng)的容量、吞吐量和電池的使用時間具有重要影響。
因此,在散列網(wǎng)的構(gòu)建過程中必須要減少設(shè)備間不必要的通信鏈接以提高網(wǎng)絡(luò)的吞吐量。每個微微網(wǎng)內(nèi)設(shè)備間的鏈接是必須的,各微微網(wǎng)內(nèi)的設(shè)備必須要建立通信鏈接,以交互信息。因此,冗余通信鏈接主要在微微網(wǎng)互連階段。在該階段中,各微微網(wǎng)之間需要通過橋互連形成藍牙自組織網(wǎng)。如果兩個微微網(wǎng)之間存在過多的橋,或者一個橋鏈接多個微微網(wǎng)均會增加冗余通信鏈接,造成藍牙自組織網(wǎng)通信性能的下降。通過合理的選橋算法,可以有效降低微微網(wǎng)之間的冗余通信鏈接。
基于上述分析,我們總結(jié)出能夠提高散射網(wǎng)性能的組網(wǎng)規(guī)則如下:
?。?)在藍牙組網(wǎng)的形成過程中應(yīng)合理控制微微網(wǎng)的數(shù)目,使其限定在一個固定值,以減少微微網(wǎng)之間的通信干擾,保持網(wǎng)絡(luò)復(fù)雜性最小。
(2)減少自組織網(wǎng)內(nèi)橋節(jié)點的負載,防止其成為網(wǎng)絡(luò)通信的瓶頸。這樣不僅能簡化橋節(jié)點的調(diào)度算法,還能縮短因橋節(jié)點在不同微微網(wǎng)間切換的而造成的通信傳輸時延,從而提高網(wǎng)絡(luò)的性能。
(3)限制設(shè)備間的冗余通信鏈接,尤其是微微網(wǎng)之間的通信鏈接。通過限制設(shè)備間的冗余鏈接量,可減少設(shè)備間的電力消耗,延長網(wǎng)絡(luò)的使用壽命,還能因減少橋的負載而提高網(wǎng)絡(luò)的吞吐量。
(在組建藍牙自組織網(wǎng)的過程中,應(yīng)優(yōu)先使用Slave/Slave(S/S)橋,盡量避免使用Master/Slave(M/S)橋,以減少數(shù)據(jù)包在橋節(jié)點上的轉(zhuǎn)發(fā)時延,增加藍牙自組織網(wǎng)的通信量。
?。?)網(wǎng)絡(luò)拓撲形狀優(yōu)良,可以使網(wǎng)絡(luò)具有自路由功能,從而提高網(wǎng)絡(luò)的通信能。
1.4藍牙散射網(wǎng)拓撲構(gòu)建的關(guān)鍵問題
藍牙散射網(wǎng)拓撲構(gòu)建就是將一組彼此分離的藍牙節(jié)點連接起來,因此藍牙節(jié)點的互相發(fā)現(xiàn)過程和節(jié)點的角色分配等問題對藍牙網(wǎng)絡(luò)的構(gòu)建以及網(wǎng)絡(luò)負載均衡影響很大。
?。?)藍牙節(jié)點的互相發(fā)現(xiàn)
藍牙節(jié)點的互相發(fā)現(xiàn)過程是藍牙散射網(wǎng)拓撲構(gòu)建過程中的關(guān)鍵部分,在這一過程中,每個藍牙節(jié)點都應(yīng)該知道它自己通信范圍內(nèi)的節(jié)點信息,這個信息應(yīng)該是對稱的,但藍牙網(wǎng)絡(luò)中節(jié)點數(shù)目的不確定性和藍牙基帶規(guī)范中節(jié)
點連接機制的不對稱性給藍牙節(jié)點發(fā)現(xiàn)過程的成功實現(xiàn)帶來了挑戰(zhàn)。
藍牙規(guī)范中規(guī)定藍牙的鏈接形成由查詢(Inquiry)和尋呼(page)兩個過程組成,查詢過程并沒有保證查詢節(jié)點與被查詢節(jié)點互相知道對方。欲發(fā)現(xiàn)相鄰節(jié)點的查詢者在發(fā)送查詢包時,并沒有發(fā)送它自己的唯一藍牙識別碼,被查詢者收到查詢包時不知道查詢者的信息;另外藍牙發(fā)現(xiàn)機制要求處于相對模式(查詢Inquiry和查詢掃描Inquiry scan模式)的兩個節(jié)點才能互相交換數(shù)據(jù),但如何保證兩個相鄰節(jié)點處于相對模式的方法卻沒有明確規(guī)定。這是藍牙散射網(wǎng)拓撲構(gòu)建算法應(yīng)該解決的關(guān)鍵問題。
目前大多數(shù)算法采用以下做法:在預(yù)定義的節(jié)點發(fā)現(xiàn)時間長度內(nèi),允許每個節(jié)點在Inquiry查詢模式和Inquiry scan查詢掃描模式之間交替變化,每個模式的持續(xù)時間在給定的時間范圍內(nèi)是隨機的,當(dāng)兩個處于相對模式的節(jié)點握手時,他們建立一個臨時的微微網(wǎng)。查詢者進入尋呼模式(Page)成為主節(jié)點,被查詢者進入尋呼掃描(Page scan)模式,成為從節(jié)點。兩個節(jié)點交換他們的ID和下階段協(xié)議需要的信息。信息交換完畢后,微微網(wǎng)就斷開。
這樣在充足時間內(nèi)兩個相鄰節(jié)點處于相對模式,從而互相發(fā)現(xiàn)的概率值很大。
(2)首領(lǐng)節(jié)點的選舉過程和方法
因為節(jié)點開始時是異步的,還沒有其他參與網(wǎng)絡(luò)構(gòu)成的節(jié)點的相關(guān)信息。所以通過選舉方式選取首領(lǐng)節(jié)點將控制整個網(wǎng)絡(luò)的構(gòu)成,獲得所有參與構(gòu)成網(wǎng)絡(luò)的節(jié)點的相關(guān)信息,并保證最終形成的散射網(wǎng)是連通的。另外,首領(lǐng)節(jié)點的資源應(yīng)該是豐富的,保證整個網(wǎng)絡(luò)的健壯性。
?。?)各微微網(wǎng)中的主節(jié)點的選舉
主節(jié)點負責(zé)維護各個微微網(wǎng)內(nèi)的節(jié)點通信,主節(jié)點性能的好壞直接影響該網(wǎng)絡(luò)的性能。主節(jié)點消耗的能量大,因此應(yīng)該選擇能量充分,健壯的節(jié)點作為主節(jié)點。
?。?)橋節(jié)點的選擇
橋節(jié)點對保證藍牙散射網(wǎng)的連通起著關(guān)鍵性的作用,在網(wǎng)絡(luò)中,橋節(jié)點在同一時刻只能在一個微微網(wǎng)中處于活動狀態(tài),它采取時分復(fù)用方式在這些微微網(wǎng)間切換,每切換到一個微微網(wǎng),就與該微微網(wǎng)同步。橋節(jié)點一般分為兩類:主橋節(jié)點和從橋節(jié)點,主橋節(jié)點是橋節(jié)點在一個微微網(wǎng)中為主節(jié)點而在另一個微微網(wǎng)中為從節(jié)點,稱為M/S橋。從橋節(jié)點是橋節(jié)點在兩個微微網(wǎng)中都為從節(jié)點,稱為S/S橋。
藍牙微微網(wǎng)通過M/S橋連接而形成的藍牙散射網(wǎng)的拓撲為分級結(jié)構(gòu),
如圖4示:
圖4 牙散射網(wǎng)的分級拓撲結(jié)構(gòu)
分級結(jié)構(gòu)中,網(wǎng)絡(luò)拓撲表現(xiàn)為樹形,假設(shè)樹的根節(jié)點所在的微微網(wǎng)為根微微網(wǎng),其他的微微網(wǎng)為葉微微網(wǎng),則葉微微網(wǎng)的主節(jié)點為根微微網(wǎng)的從節(jié)點。各微微網(wǎng)的內(nèi)部通信可獨立進行,但微微網(wǎng)之間的通信要通過根微微網(wǎng)。因為葉微微網(wǎng)的主節(jié)點為橋節(jié)點,當(dāng)它參與根微微網(wǎng)的通信時,所有葉微微網(wǎng)的通信將被掛起,嚴重降低了系統(tǒng)的吞吐量。
藍牙微微網(wǎng)通過S/S橋連接而形成的藍牙散射網(wǎng)的拓撲為平面結(jié)構(gòu),如
圖5所示:
圖5 藍牙散射網(wǎng)的平面拓撲結(jié)構(gòu)
平面結(jié)構(gòu)中,相鄰微微網(wǎng)之間通過共享從節(jié)點進行通信,共享的從節(jié)點在休眠模式與活動模式之間切換,可以在這些微微網(wǎng)中交替地處于活動狀態(tài),實現(xiàn)微微網(wǎng)之間的通信,這種結(jié)構(gòu)是分布式的,利于負載平衡,網(wǎng)絡(luò)也更健壯。
綜上所述,橋節(jié)點的選擇在保證網(wǎng)絡(luò)連通性的前提下,還要考慮所連通網(wǎng)絡(luò)的健壯性,橋節(jié)點本身的健壯性也就很關(guān)鍵,因此應(yīng)選擇能量充足的節(jié)點作為橋節(jié)點;另外橋節(jié)點參與的微微網(wǎng)數(shù)量應(yīng)盡量少,保證網(wǎng)絡(luò)負載平衡,以及避免橋節(jié)點在不同微微網(wǎng)間切換帶來的時間延遲和能量消耗。通過以上分析,我們知道只有對以上幾個關(guān)鍵問題有所突破的拓撲構(gòu)建算法才能構(gòu)建出連通的,分布式的,時間延遲小的,健壯的藍牙散射網(wǎng)。
2藍牙散射網(wǎng)拓撲構(gòu)建算法
藍牙散射網(wǎng)拓撲構(gòu)建算法就是將一組彼此分離的,對相鄰節(jié)點信息一無所知的節(jié)點連接起來,確定每個節(jié)點在網(wǎng)絡(luò)中的角色,從而形成一個連通的藍牙散射網(wǎng)。本節(jié)提出的算法可以對微微網(wǎng)數(shù)目進行合理控制,并能有效減少微微網(wǎng)間的冗余通信鏈接,減輕橋設(shè)備的負載,從而提高藍牙散列網(wǎng)的性能。
2.1主節(jié)點的選擇
算法采用分布式機制,在組網(wǎng)空間內(nèi)選出部分權(quán)值較高的設(shè)備為主節(jié)點。每個藍牙節(jié)點都有變量WEIGHT、變量BACK和變量TIMEOUT,其中變量WEIGHT代表節(jié)點的權(quán)值(電力等級、剩余能量、數(shù)據(jù)處理能力等資源狀況),這個值表示節(jié)點作為主設(shè)備的適合度,軟件模擬時,每個節(jié)點的WEIGHT值由程序隨即設(shè)為(1-255)之間的整數(shù);變量BACK代表節(jié)點是否需要備份,初始值為0,當(dāng)節(jié)點角色確定為主節(jié)點和橋節(jié)點時,變量BACK變?yōu)?,變量TIMEOUT為超時設(shè)定值。
每個組網(wǎng)藍牙設(shè)備接通電源后周期性切換成Inquiry或Inquiry Scan狀態(tài),以發(fā)現(xiàn)其他設(shè)備或被發(fā)現(xiàn)。當(dāng)兩個處于相對模式的藍牙節(jié)點互相發(fā)現(xiàn)后,便進行WEIGHT值的比較(相等時,藍牙地址大的一方獲勝),WEIGHT值較小的一方將已收集到的FHS封包傳給WEIGHT值較大的一方,并進入Page scan狀態(tài),WEIGHT值較大的一方接收對方的FHS封包后,將其TIMEOUT值復(fù)位,繼續(xù)隨機進入Inquiry或Inquiry scan程序;如此一再重復(fù),直到TIMEOUT時間內(nèi),都沒有再發(fā)現(xiàn)任何節(jié)點為止(節(jié)點會相繼進入Page scan,只有處于Inquiry或Inquiry scan狀態(tài)的節(jié)點能相互發(fā)現(xiàn)),該節(jié)點就是選舉出來的主節(jié)點,它將進入Page程序,它的變量BACK值變?yōu)?,整個程序?qū)⑦M入橋節(jié)點的選擇階段。
2.2.橋節(jié)點的選擇
各個已選出的主節(jié)點根據(jù)選橋策略確定互連各微微網(wǎng)的橋節(jié)點,并且優(yōu)先使用權(quán)值較高的設(shè)備作橋。
由于第一階段選出的主節(jié)點具有所有節(jié)點的FHS封包,從而獲得需要連接成網(wǎng)的總節(jié)點數(shù)N總。此時,除了主節(jié)點處于Page狀態(tài),其余節(jié)點均處于Page scan狀態(tài),主節(jié)點可以通過Page程序與附近節(jié)點溝通,主節(jié)點運行微微網(wǎng)構(gòu)成程序(此時,程序first變量的值為0,表示是初始微微網(wǎng)),選擇最多7個節(jié)點構(gòu)成初始微微網(wǎng),并根據(jù)總節(jié)點數(shù)目的多少和選擇weight值較大的從節(jié)點為原則,選擇其中的最多3個節(jié)點作為橋節(jié)點。確定為純從節(jié)點角色的節(jié)點同主節(jié)點建立連接,進入連接狀態(tài),不會再被其它節(jié)點搜索到;確定為橋節(jié)點角色的節(jié)點,會被主節(jié)點告知,參與初始微微網(wǎng)后,會再次進入Page scan狀態(tài),等待次主節(jié)點與之溝通,主節(jié)點通過橋節(jié)點將次主節(jié)點需要的信息傳遞給次主節(jié)點。
因為算法需要為散射網(wǎng)形成以后的每個微微網(wǎng)中的主節(jié)點和橋節(jié)點提供一個備份節(jié)點,而每個微微網(wǎng)的節(jié)點總數(shù)為8,除去一個主節(jié)點和它的一個備份從節(jié)點,還剩6個節(jié)點數(shù),為滿足備份要求,所以每個微微網(wǎng)的橋節(jié)點數(shù)最多為3。選擇的橋節(jié)點數(shù)≤2時,散射網(wǎng)的創(chuàng)建過程是橫向展開的,速度較慢,呈線性增長。當(dāng)橋節(jié)點數(shù)≥3時,創(chuàng)建過程是全方位展開,速度很快,呈指數(shù)增長。隨著橋節(jié)點數(shù)目的增加,創(chuàng)建過程加快了,但所形成散射網(wǎng)中微微網(wǎng)數(shù)量也相應(yīng)增加了,網(wǎng)間干擾也隨之加大了,所以綜合考慮,在需要連接的節(jié)點數(shù)大于22時,橋節(jié)點數(shù)量Nb定為3是較好的選擇。從節(jié)點數(shù)Ns盡量為7,具體選擇方案如下:
當(dāng)N總≤8時,Nb=0,Ns=N總-1;
當(dāng)9≤N總≤15時,Nb=1,Ns=7;
當(dāng)16≤N總≤22時,Nb=2,Ns=7;
當(dāng)N總》22時,Nb=3,Ns=7;
初始微微網(wǎng)構(gòu)成后,并確定橋節(jié)點數(shù)后,整個程序進入第三階段。
2.3組成散射網(wǎng)
每個主節(jié)點尋呼各自所發(fā)現(xiàn)的設(shè)備。通過互連各個微微網(wǎng),形成藍牙散列網(wǎng)。
次主節(jié)點收到主節(jié)點傳來的數(shù)據(jù)后,搜索通信范圍內(nèi)的節(jié)點,運行相同的微微網(wǎng)構(gòu)成程序(程序first變量的值為1,表示生成的為次微微網(wǎng)),因為次主節(jié)點已經(jīng)與一個橋節(jié)點相連,所以此時選擇最多6個節(jié)點作為從節(jié)點,并根據(jù)搜索到的節(jié)點數(shù)目N次總,綜合從節(jié)點的weight值,選擇其中的最多2個從節(jié)點作為橋節(jié)點。次微微網(wǎng)的從節(jié)點數(shù)目Ns′和橋節(jié)點數(shù)目Nb′的選擇方案如下:
當(dāng)N次總≥8時,選擇從節(jié)點數(shù)目Ns′為6,其中橋節(jié)點數(shù)目Nb′為2,再選擇2個節(jié)點為新的次主節(jié)點;
當(dāng)7≤N次總《8時,選擇從節(jié)點數(shù)目Ns′為6,其中橋節(jié)點數(shù)目Nb′為1,再選擇1個節(jié)點為新的次主節(jié)點;
當(dāng)N次總≤6時,選擇從節(jié)點數(shù)目Ns′為N次總,其中橋節(jié)點數(shù)目Nb′為0。
程序結(jié)束后,新微微網(wǎng)形成,次主節(jié)點成為該微微網(wǎng)的主節(jié)點,新的主節(jié)點繼續(xù)選擇它的次主節(jié)點,新的次主節(jié)點同樣運行微微網(wǎng)構(gòu)成程序,微微網(wǎng)的構(gòu)成過程逐步展開,最后生成一個將所有節(jié)點連接起來的散射網(wǎng)。
第二、三階段程序流程圖如圖6所示:
圖6逐級構(gòu)建微微網(wǎng)從而構(gòu)成散射網(wǎng)
散射網(wǎng)構(gòu)建算法描述如下:其中主節(jié)點為N0,微微網(wǎng)構(gòu)成程序為
Piconet(N0,first),M(u)為次主節(jié)點集合,C(v)為第n次產(chǎn)生的次主節(jié)點集合。
Scatternet(n,M(u))
if(n=0){
N0=M(u)-{};
First=0;
Return Piconet(N0,first);
else{
M(u)=Scatternet(n-1,M(u));
C(v)={};
while(∣M(u)∣!=0){
u=M(u)-{};
C(v)=C(v)+Piconet(u,first);
M(u)=M(u)-{u};
}
return C(v);
}
}
網(wǎng)絡(luò)構(gòu)建過程應(yīng)盡量向外擴展,所以次主節(jié)點的選取應(yīng)離當(dāng)前主節(jié)點盡量遠,可以利用藍牙中的接收信號強度指示(RSSI)來判斷節(jié)點之間的距離。RSSI越大表示距離越遠。因此,主節(jié)點選擇RSSI值較大的節(jié)點為它的次主節(jié)點。
3.對于算法的節(jié)點插入和移除的兩個過程
對于一個被給定的藍牙WPAN拓撲,討論兩種分布式過程來處理拓撲變化。第一個過程是允許在WPAN中插入一個新的節(jié)點;第二個過程是從網(wǎng)絡(luò)中去除一個節(jié)點,這兩個過程要達到的主要目標(biāo)是滿足藍牙規(guī)范的限制條件,即全網(wǎng)絡(luò)連通性,有高的吞吐流量,降低控制信息的開銷等。當(dāng)然,可以加入一個新節(jié)點到網(wǎng)絡(luò)中去,也意味著可以同時加入幾個節(jié)點。因此,根據(jù)這個,我們可以依靠最初給定的一系列藍牙設(shè)備用來建立一個可增長的BT--WPAN或者形成一個網(wǎng)絡(luò)拓撲。
?。?)插入節(jié)點過程
一個節(jié)點想快速加入到WPAN中來,它必須首先發(fā)送一個普通的查詢信息來懇求它附近的節(jié)點是否可以加入。相反,如果一個節(jié)點的目的是加入到一個網(wǎng)絡(luò)中并有良好連接,即想加入到具有低流量的微微網(wǎng)中或者扮演一個特殊的角色,它就必須使用專用的查詢。
下面部分,討論承載查詢回復(fù)的FHS包。注意到,一個數(shù)據(jù)包FHS它包含有設(shè)備類型的標(biāo)記,加上5比特就能夠用于傳遞未來的信息。這其中2位比特預(yù)留下來以備將來使用,AM-ADDR領(lǐng)域的3位在查詢回應(yīng)中不使用。我們定義這5位傳送以下信息:
2位:電池的電量等級(如:低于25%,在25%和50%之間,在50%到75%之間,高于75%);
2位:節(jié)點的流量的等級;
1位:這個節(jié)點是否屬于孤立微微網(wǎng)。如果一個微微網(wǎng)沒有于任何一個微微網(wǎng)連接或者它附近的微微網(wǎng)都只僅僅與它相連那我們就稱之為孤立的微微網(wǎng)。如果該節(jié)點屬于孤立的微微網(wǎng),那么該位置1,否則置0。
設(shè)a是開始查詢過程的節(jié)點,正如上所述,根據(jù)收到的鄰近的節(jié)點的回應(yīng),a它將決定對哪個節(jié)點進行尋呼,回應(yīng)的節(jié)點要么是屬于孤立的徽微網(wǎng)要么不屬于孤立的微微網(wǎng)。除此之外,它還具有以下可能:
具有少于7個從節(jié)點的主節(jié)點;
從節(jié)點;
即是從節(jié)點又是橋節(jié)點;
即是主節(jié)點又是橋節(jié)點;
已經(jīng)具有7個節(jié)點的主節(jié)點;
像a一樣也在等著加入到藍牙WPAN中。
a根據(jù)以下的優(yōu)先順序來選擇加入到哪個回應(yīng)節(jié)點;
1)屬于孤立的微微網(wǎng)主節(jié)點(或者既是主節(jié)點又是橋節(jié)點的網(wǎng)絡(luò)節(jié)點)
如果a收到不止一個屬于孤立微微網(wǎng)的主節(jié)點的回應(yīng),它將選擇從節(jié)點少于7個和低流量的的主節(jié)點加入。如果不止一個主節(jié)點滿足上述條件,那么它還根據(jù)該節(jié)點的電池電量的等級來考慮。注意到a節(jié)點根據(jù)相關(guān)的RSSI估計每個回應(yīng)節(jié)點的距離。把被選擇的主節(jié)點記為u,節(jié)點a尋呼u并創(chuàng)建一個新的微微網(wǎng),此時“a是主節(jié)點,u是從節(jié)點,過一會兒,這兩個節(jié)點的角色進行互換,這樣,在微微網(wǎng)中,a就變成從節(jié)點,并且受主節(jié)點u的支配。
如果a收到一個不屬于孤立微微網(wǎng)的節(jié)點的回應(yīng),它將按如下的方式選擇:
1)如果回復(fù)的是從節(jié)點少于7個的主節(jié)點(或者既是主節(jié)點又是橋節(jié)點),則a加入此節(jié)點并且創(chuàng)建一個新的微微網(wǎng)。通過主從節(jié)點的角色互換,a變成孤立的微微網(wǎng)中的從節(jié)點(或者是橋節(jié)點)
2)如果回復(fù)的節(jié)點是從節(jié)點(或者既是從節(jié)點又是橋節(jié)點)或者是具有7個從節(jié)點的主節(jié)點(或者既是主節(jié)點又是橋節(jié)點),則“創(chuàng)建一個新的含有該節(jié)點的微微網(wǎng)。
2)屬于孤立的微微網(wǎng)從節(jié)點(或者既是從節(jié)點又是橋節(jié)點的網(wǎng)絡(luò)節(jié)點)
有兩種不同的情況:
1)沒有連接到散射網(wǎng)的其它節(jié)點回復(fù)了a的查詢,在這種情況下,a將有以下的情形:
?。?)a具有可以成為主節(jié)點的足夠的處理能力和能t容盤,如果這樣,則a通過尋呼一個或多個對它的查詢做過響應(yīng)的從節(jié)點來創(chuàng)建一個新的微微網(wǎng)。那么這些從節(jié)點就成了剛形成的微微網(wǎng)和以前微微網(wǎng)之間的橋節(jié)點。對于這些被尋呼的從節(jié)點,a可以根據(jù)其節(jié)點的流量、電池狀態(tài)和空間的距離來選擇。假設(shè)一個微微網(wǎng)被一短比特位的字符來標(biāo)識,即小于5位的長度,并且在微徽網(wǎng)中的每一個節(jié)點都知道所在的微微網(wǎng)的標(biāo)識。一個被a尋呼的從節(jié)點可以在承載尋呼響應(yīng)的FHS包中利用這’5位來標(biāo)示這個信息。這樣,a隨時有可能中斷尋呼的過程,因為它連接的節(jié)點屬于已經(jīng)有微徽網(wǎng)間連接的節(jié)點。
(2)a想成為從節(jié)點。a.根據(jù)流t,電池等級和空間距離來選擇可以加入的節(jié)點,它和被選擇的節(jié)點形成一個新的微微網(wǎng),然后,在該微微網(wǎng)中,這兩個節(jié)點互換角色,這樣,。就變成了從節(jié)點,而被選擇的節(jié)點則變成了在新微微網(wǎng)和以前微微網(wǎng)之間的主節(jié)點和橋節(jié)點。
2)a收到一個不屬于孤立微微網(wǎng)的的節(jié)點的回復(fù)。在這種情況下,a試圖連接剩余部分散射網(wǎng)中的孤立節(jié)點,并且按照以下優(yōu)先次序在散射網(wǎng)中選擇要連接的節(jié)點:從節(jié)點、既是從節(jié)點又是橋節(jié)點的節(jié)點、主節(jié)點、既是主節(jié)點又是橋節(jié)點、具有7個從節(jié)點的主節(jié)點。如果有必要,將依照以下準(zhǔn)則進一步進行選擇:流量,電池等級,空間距離。然后,完成要選擇的節(jié)點后,a創(chuàng)建一個新的微微網(wǎng)。
3、不屬于孤立的微微網(wǎng)但是又少于7個從節(jié)點的主節(jié)點
在現(xiàn)有的可利用的主節(jié)點之中,。選擇具有最小流量的一個節(jié)點,如果在流量相同的情況下,然后考慮電池等級,其次是考慮該節(jié)點離a的空間距離。為了避免微微網(wǎng)之間的重盈和減少微微網(wǎng)內(nèi)部之間的干擾,離“較近的節(jié)點具有優(yōu)先權(quán)。把被選擇的主節(jié)點記為產(chǎn),節(jié)點a加入聲創(chuàng)建一個新的微微網(wǎng),此處a是主節(jié)點,尸是從節(jié)點,過一會兒,這兩個節(jié)點的角色互換,這樣,在微微網(wǎng)中,a變成從節(jié)點,并且受主節(jié)點產(chǎn)的支配。
不屬于孤立的微微網(wǎng)從節(jié)點
在2的1)中,介紹了它的兩種可能的情況:
1)“具有可以成為主節(jié)點的足夠的處理能力和能量,如果這樣,則a通過尋呼一個或多個響應(yīng)過它的查詢的節(jié)點來創(chuàng)建一個新的微微網(wǎng),同時在新的微微網(wǎng)和以前的微微網(wǎng)中的節(jié)點就成為了橋節(jié)點。
2)a想成為從節(jié)點。在現(xiàn)有的可以利用的節(jié)點中選擇可以加入的節(jié)點,a和被選擇的節(jié)點形成一個新的微微網(wǎng),然后,在該微微網(wǎng)中,這兩個節(jié)點互換角色,這樣,a就變成了從節(jié)點,而被選擇的節(jié)點變成了主節(jié)點和橋節(jié)點。
5、不屬于孤立的微微網(wǎng)的既是從節(jié)點又是橋節(jié)點的網(wǎng)絡(luò)節(jié)點
像前面所說的一樣,它也有兩種可能的情況:
l)。具有可以成為主節(jié)點的足夠的處理能力和能量,a依照以下三條準(zhǔn)則來選擇要尋呼的節(jié)點(該節(jié)點既是從節(jié)點又是橋節(jié)點):流量;電池等級;空間距離。這樣一個新的微微網(wǎng)形成,此處。作為主節(jié)點而被選擇的節(jié)點作為從節(jié)點。
2)a想成為從節(jié)點。在這個新的微微網(wǎng)中,a作為從節(jié)點,被選擇的節(jié)點作為主節(jié)點而且還充當(dāng)該微微網(wǎng)與它先前所在的微微網(wǎng)的橋節(jié)點。
6、不屬于孤立的微微網(wǎng)的既是主節(jié)點又是橋節(jié)點的網(wǎng)絡(luò)節(jié)點
在現(xiàn)有的可利用的節(jié)點(既是主節(jié)點又是橋節(jié)點)之中,a依照以下三條準(zhǔn)則來選擇要加入的節(jié)點:流量:電池等級:空間距離。在a創(chuàng)建一個新的微微網(wǎng)之后,它與被選擇的節(jié)點互換一下角色,從而在微微網(wǎng)中a成為從節(jié)點并且被它所選擇的節(jié)點(既是主節(jié)點又是橋節(jié)點)所支配。
7、不屬于孤立的微微網(wǎng)并且已有7個從節(jié)點的主節(jié)點
在現(xiàn)有的可利用的節(jié)點之中,a選擇具有最小流量的一個節(jié)點,如果在流量相同的情況下,然后考慮電池等級,其次是考慮該節(jié)點離“的空間距離。以a為主節(jié)點的一個新的微微網(wǎng)被創(chuàng)建了。此時有兩種可能性:
1)在這個新的微微網(wǎng)中,a仍然是主節(jié)點,而被選擇的節(jié)點既是從節(jié)點又是橋節(jié)點;
2)這兩個節(jié)點互換角色,這樣,被選擇的主節(jié)點使得它的其中的一個從節(jié)點處于閑置狀態(tài),該閑置節(jié)點可以運行插入程序來尋找新的微微網(wǎng)以便加入。要不然,a則和在這個微微網(wǎng)中的其它節(jié)點輪流的處于閑置狀態(tài)。
8、新節(jié)點
節(jié)點a尋呼到一個新節(jié)點,這樣創(chuàng)建一個以a為主節(jié)點的微微網(wǎng)。然后,如果兩個節(jié)點協(xié)商后,可以互換角色。在該微微網(wǎng)中,同樣可以包含一些回應(yīng)了節(jié)點查詢的其它節(jié)點。然而,為了保持藍牙WPAN拓撲的連接性,要么是a要么是它微微網(wǎng)中的其它一些節(jié)點必須尋呼現(xiàn)有藍牙WPAN中節(jié)點。
移去節(jié)點的過程
節(jié)點離開網(wǎng)絡(luò)引起的變化主要取決于該節(jié)點在藍牙WPAN中作用,有下面四種情況:
。該節(jié)點是從節(jié)點:該情況最簡單,那就是該節(jié)點僅僅是從網(wǎng)絡(luò)中移去,而沒有改變拓撲的任何結(jié)構(gòu)。
。該節(jié)點是主節(jié)點:在該微微網(wǎng)中的從節(jié)點將在藍牙WPAN中尋找一個新的節(jié)點來重新建立連接,因此,每一個從節(jié)點都要執(zhí)行插入程序,而橋節(jié)點仍然作為橋節(jié)點保持與其它微微網(wǎng)的連接。
。該節(jié)點既是主節(jié)點又是橋節(jié)點:這種情況的處理方式與第二種情況的處理方式一樣。
。該節(jié)點既是從節(jié)點又是橋節(jié)點:如果有其它節(jié)點可以取代該節(jié)點,那么它就可從網(wǎng)絡(luò)中很簡單的移去。否則的話,就必須尋找一個可以替代該節(jié)點的節(jié)點這樣,在此微微網(wǎng)中主節(jié)點將執(zhí)行查詢程序,如果不能找到通向目標(biāo)微微網(wǎng)的橋節(jié)點,它將命令它的從節(jié)點執(zhí)行查詢程序以尋找橋節(jié)點。如果在藍牙WPAN范圍中,在這些節(jié)點所能傳輸?shù)牡姆秶鷥?nèi)沒有找到這樣的節(jié)點,那么該微微網(wǎng)就與藍牙WPAN斷開。
2.射網(wǎng)的重要性能分析
3藍牙組網(wǎng)的仿真結(jié)果和分析
小結(jié)
本章介紹了藍牙個人區(qū)域網(wǎng)絡(luò)的基本知識,明確了藍牙微微網(wǎng)和散射網(wǎng)的概念,分析了藍牙散射網(wǎng)的網(wǎng)路特點,闡述了藍牙散射網(wǎng)拓撲構(gòu)建的重要性以及藍牙散射網(wǎng)拓撲構(gòu)建算法需要解決的關(guān)鍵問題和衡量藍牙散射網(wǎng)拓撲構(gòu)建算法的標(biāo)準(zhǔn)。藍牙自組個人區(qū)域網(wǎng)絡(luò)的主從特性、動態(tài)性、跳頻特性雖然使藍牙組網(wǎng)更加靈活,但這些特點以及藍牙節(jié)點本身多為個人數(shù)字設(shè)備,節(jié)點運行的協(xié)議和應(yīng)用程序必須考慮節(jié)點處理能力、內(nèi)存和能耗等條件,都無疑增加了網(wǎng)絡(luò)拓撲構(gòu)建 算法、網(wǎng)絡(luò)路由等算法的難度。
目前藍牙規(guī)范中對微微網(wǎng)內(nèi)的通信協(xié)議有了明確的規(guī)定,但對藍牙散射網(wǎng)的研究,還處于探索階段,是各國科學(xué)家感興趣和重點研究的課題之一,越來越多的研究成果完善了藍牙網(wǎng)絡(luò)的應(yīng)用,提高了藍牙產(chǎn)品的普及率。中國是人口密集,商業(yè)經(jīng)濟活動集中、人均收入還比較低的國家和地區(qū),低成本、組網(wǎng)簡單靈活的藍牙產(chǎn)品將會有更廣闊的應(yīng)用前景。它的應(yīng)用將遍及很多領(lǐng)域,如移動通信、計算機及周邊設(shè)備、個人隨身信息和娛樂設(shè)備、網(wǎng)絡(luò)接入設(shè)備、醫(yī)療保健、金融、軍事等。它是面對個人的近距離無線技術(shù),是人與機器之間交流的好助手。
本章從介紹藍牙節(jié)點的工作狀態(tài)和藍牙物理鏈路的建立過程入手,提出一種備份式的藍牙散射網(wǎng)拓撲構(gòu)建算法。算法吸收了Bluestars算法中以節(jié)點的可用資源為標(biāo)準(zhǔn)的方法,來選取主節(jié)點,初始主節(jié)點建立第一個微微網(wǎng)后,主節(jié)點選取最多3個橋節(jié)點和3個次主節(jié)點,通過逐級展開的方法建立相互連接的微微網(wǎng),最終形成連通的藍牙散射網(wǎng),散射網(wǎng)形成后通過節(jié)點備份的方法,提高網(wǎng)絡(luò)的自愈能力。本章最后運用數(shù)學(xué)推導(dǎo)的方法證明了算法幾項重要的性能指標(biāo)為:時間復(fù)雜度為O(logN)、消息復(fù)雜度為O(N)、網(wǎng)絡(luò)直徑為O(logN)、具有較少的微微網(wǎng)個數(shù)和節(jié)點角色的平均數(shù)。
評論