本發(fā)明涉及一種無(wú)線通信方法、設(shè)備和系統(tǒng),特別是一種對(duì)等地在任何兩者之間通過(guò)中間設(shè)備采用編址建立互聯(lián)通道的無(wú)線通信方法、設(shè)備和系統(tǒng)。
背景技術(shù):
通信方法多種多樣,從有線通信到無(wú)線通信,傳遞著語(yǔ)音、圖象、視頻、文字消息、數(shù)據(jù)文件,使得人與人之間的溝通變得更加便利。傳統(tǒng)的語(yǔ)音通信從模擬方式已完全過(guò)渡到數(shù)字方式,數(shù)字技術(shù)的發(fā)展將所有信息的傳遞歸結(jié)到比特零和比特一的傳輸過(guò)程。以太網(wǎng)技術(shù)的出現(xiàn)將獨(dú)立工作的電腦連接起來(lái)成為能共享信息資源的局域網(wǎng)絡(luò),進(jìn)一步互聯(lián)網(wǎng)在以太網(wǎng)的基礎(chǔ)上將全世界的電腦聯(lián)系在一起。無(wú)線局域網(wǎng)WLAN、藍(lán)牙Bluetooth、Zigbee等技術(shù)將人們從線束的束縛解放出來(lái),加上移動(dòng)數(shù)字通信技術(shù)的推波助瀾,現(xiàn)在人們?cè)谝苿?dòng)中辦公、溝通、獲取信息已相當(dāng)普遍。隨著智能化程度的提高,無(wú)線通信技術(shù)正在廣泛地應(yīng)用到各行各業(yè),從聯(lián)系人與人向聯(lián)系萬(wàn)物發(fā)展。
物聯(lián)網(wǎng)應(yīng)運(yùn)而生,從智能家居、智能交通、智能車間、智能倉(cāng)儲(chǔ)到能想到的任何智能化的應(yīng)用,都能看到物與物互聯(lián)互通的需求,無(wú)線通信技術(shù)正在進(jìn)一步發(fā)展以適應(yīng)這一變化。
無(wú)線局域網(wǎng)WLAN用于物與物互聯(lián)表現(xiàn)出的不適應(yīng)主要在于它是基于以AP為中心的星形網(wǎng)絡(luò)拓?fù)浼軜?gòu)和基于TCP/IP協(xié)議需要配置IP地址,前一個(gè)因素導(dǎo)致設(shè)備和設(shè)備之間不能直接連接,雖然WLAN也支持Mesh多跳網(wǎng)絡(luò)架構(gòu),但最終仍需連入AP。后一個(gè)因素的復(fù)雜性導(dǎo)致沒(méi)有人工參與基本不能完成,AP的通信距離有限,對(duì)于移動(dòng)的設(shè)備從一個(gè)AP區(qū)域運(yùn)動(dòng)到另一個(gè)AP區(qū)域很難管理。即使是固定設(shè)備,比如從手機(jī)傳一個(gè)文件到平板電腦這樣一個(gè)簡(jiǎn)單應(yīng)用,人工操作復(fù)雜程度都較大。WiFi聯(lián)盟發(fā)展出的WiFi Direct技術(shù)可以實(shí)現(xiàn)兩個(gè)設(shè)備之間點(diǎn)到點(diǎn)通信,但仍然不能很好解決多個(gè)設(shè)備尤其是存在移動(dòng)設(shè)備時(shí)的自動(dòng)組網(wǎng)互聯(lián)問(wèn)題。
相比較WLAN,藍(lán)牙的通信帶寬較窄,以點(diǎn)到點(diǎn)拓?fù)浼軜?gòu)為主,能組成很小數(shù)量范圍的微微網(wǎng)Piconet,再由多個(gè)微微網(wǎng)聯(lián)結(jié)成散射網(wǎng)Scatternet。藍(lán)牙的優(yōu)點(diǎn)是安全性高、功耗小,發(fā)展出的Bluetooth Smart技術(shù)更是將功耗降到更低,而且通信距離更遠(yuǎn)。藍(lán)牙通信需要先配對(duì),不適合物與物之間隨機(jī)的連接。
從網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)來(lái)看,Zigbee自組網(wǎng)功能和動(dòng)態(tài)路由方法采取了多跳通信并能解決設(shè)備臨時(shí)加入網(wǎng)絡(luò)的需要,比較能適應(yīng)龐大數(shù)量的設(shè)備組網(wǎng)通信,但是它是以建立和管理一個(gè)網(wǎng)絡(luò)為出發(fā)點(diǎn),路由的維護(hù)比較復(fù)雜,設(shè)備之間也不具備對(duì)等性。
考察現(xiàn)有的無(wú)線通信技術(shù),有基于點(diǎn)到點(diǎn)拓?fù)浼軜?gòu)或是星形架構(gòu)的單跳通信,也有類似Zigbee的多跳通信,有的能在多個(gè)設(shè)備之間組網(wǎng)通信但設(shè)備之間不對(duì)等,能連接的設(shè)備數(shù)量也有限,加入一個(gè)新設(shè)備比較困難,特別是移動(dòng)的設(shè)備難以管理。
從萬(wàn)物平等的角度來(lái)看,聯(lián)系物與物的通信網(wǎng)絡(luò)應(yīng)該是一個(gè)對(duì)等網(wǎng)絡(luò),其中的每個(gè)設(shè)備都處于平等的地位,設(shè)備與設(shè)備之間的通信是簡(jiǎn)單和直接的,就好象人與人之間的溝通,通過(guò)問(wèn)詢和打招呼。一個(gè)設(shè)備和超出它的有效通信距離的另一個(gè)設(shè)備交換信息,通過(guò)鄰近的設(shè)備轉(zhuǎn)發(fā),每一個(gè)設(shè)備都可以是一個(gè)通信交易的發(fā)起者或是被訪問(wèn)的目標(biāo),也可以是另一個(gè)通信交易中的轉(zhuǎn)發(fā)者。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是為了實(shí)現(xiàn)物與物互聯(lián)而提供一種在任何兩者之間以電磁波為媒質(zhì)進(jìn)行無(wú)線通信的方法、設(shè)備和系統(tǒng),系統(tǒng)中所有的設(shè)備處于對(duì)等的地位,不需要基站或中心接入點(diǎn),在有效通信距離之內(nèi),兩個(gè)設(shè)備直接進(jìn)行溝通,有效通信距離之外的則通過(guò)中間設(shè)備轉(zhuǎn)接,所有設(shè)備不需要記錄復(fù)雜的通信路由信息,在通信過(guò)程中能適應(yīng)一定的設(shè)備移動(dòng)變化。
為了實(shí)現(xiàn)上述目的,本發(fā)明基于每個(gè)設(shè)備都具有一個(gè)被稱作MAC地址的全球唯一的身份識(shí)別號(hào)碼,本發(fā)明所提供的正向編址和反向重編址互聯(lián)通信方法包括:
交易發(fā)起者與目的設(shè)備之間通過(guò)以電磁波為媒質(zhì)的無(wú)線信號(hào)進(jìn)行通信,包括編址階段和數(shù)據(jù)階段,其中編址階段包括以下步驟:
S1. 所述交易發(fā)起者發(fā)出帶有目的設(shè)備MAC地址DA、交易發(fā)起者M(jìn)AC地址SA、交易事件編號(hào)TID的正向編址幀;中間設(shè)備接收和轉(zhuǎn)發(fā)所述正向編址幀;所述正向編址幀中還含有正向地址FA,以交易發(fā)起者為編址起點(diǎn)按編址策略每經(jīng)歷一個(gè)設(shè)備對(duì)FA設(shè)置一次,所述正向編址幀經(jīng)歷的設(shè)備在本地存儲(chǔ)中記錄下和DA、SA、TID、FA相對(duì)應(yīng)的值;任何一個(gè)設(shè)備只接受一次同一DA、SA、TID的所述正向編址幀;
S2. 所述目的設(shè)備收到所述正向編址幀后發(fā)出帶有同一DA、SA、TID和與之對(duì)應(yīng)本地存儲(chǔ)的FA的反向重編址幀;本地對(duì)應(yīng)存儲(chǔ)的DA、SA、TID相匹配且對(duì)應(yīng)的FA相對(duì)所述反向重編址幀中的為上一級(jí)的中間設(shè)備轉(zhuǎn)發(fā)所述反向重編址幀,轉(zhuǎn)發(fā)之前,幀中的FA被置換為本地存儲(chǔ)的;所述交易發(fā)起者收到所述反向重編址幀;所述反向重編址幀內(nèi)還含有反向地址BA,以所述目的設(shè)備為編址起點(diǎn)按所述編址策略每經(jīng)歷一個(gè)設(shè)備對(duì)BA設(shè)置一次,所述反向重編址幀經(jīng)歷的設(shè)備在本地存儲(chǔ)中對(duì)應(yīng)記錄下BA的值;任何一個(gè)設(shè)備只接受一次同一DA、SA、TID的所述反向重編址幀。
優(yōu)選地,所述交易事件編號(hào)TID是由所述交易發(fā)起者在發(fā)出所述正向編址幀前產(chǎn)生的48位長(zhǎng)度的隨機(jī)數(shù);所述正向編址幀和所述反向重編址幀中還含有發(fā)送設(shè)備MAC地址TA;以及
所述步驟S2還包括:本地對(duì)應(yīng)存儲(chǔ)的DA、SA、TID相匹配并與所述目的設(shè)備具有相同F(xiàn)A且相鄰的中間設(shè)備轉(zhuǎn)發(fā)所述反向重編址幀;本地對(duì)應(yīng)存儲(chǔ)的DA、SA、TID相匹配且為所述交易發(fā)起者FA下一級(jí)的中間設(shè)備轉(zhuǎn)發(fā)所述反向重編址幀給與它的FA為同一級(jí)的也是所述交易發(fā)起者FA下一級(jí)的中間設(shè)備。
優(yōu)選地,所述編址策略為:地址長(zhǎng)度為16位,編址起點(diǎn)設(shè)備地址為1,每經(jīng)歷一個(gè)設(shè)備后地址循環(huán)左移一位。
優(yōu)選地,所述數(shù)據(jù)階段包括以下步驟:
S3. 所述交易發(fā)起者收到所述反向重編址幀后發(fā)出帶有與所述正向編址幀對(duì)應(yīng)相同的DA、SA、TID和與之對(duì)應(yīng)本地存儲(chǔ)的BA的數(shù)據(jù)幀;所述數(shù)據(jù)幀內(nèi)還含有數(shù)據(jù)幀序號(hào)TXn,數(shù)據(jù)幀經(jīng)歷的設(shè)備在本地存儲(chǔ)中記錄下TXn的值;本地存儲(chǔ)的DA、SA、TID相匹配且對(duì)應(yīng)的TXn剛好比幀中的小1以及本地存儲(chǔ)的BA對(duì)比幀中的為上一級(jí)的中間設(shè)備接收和轉(zhuǎn)發(fā)所述數(shù)據(jù)幀,在轉(zhuǎn)發(fā)前,幀中BA被置換為本地存儲(chǔ)的;所述目的設(shè)備收到所述數(shù)據(jù)幀;任何一個(gè)設(shè)備只接受一次同一DA、SA、TID、TXn的所述數(shù)據(jù)幀;
S4. 所述目的設(shè)備收到所述數(shù)據(jù)幀后發(fā)出帶有同一DA、SA、TID和與之對(duì)應(yīng)本地存儲(chǔ)的FA的數(shù)據(jù)回應(yīng)幀;所述數(shù)據(jù)回應(yīng)幀內(nèi)還含有數(shù)據(jù)回應(yīng)幀序號(hào)RXn,RXn與對(duì)應(yīng)的所述數(shù)據(jù)幀的TXn一致,數(shù)據(jù)回應(yīng)幀經(jīng)歷的設(shè)備在本地存儲(chǔ)中對(duì)應(yīng)記錄下RXn的值;本地對(duì)應(yīng)存儲(chǔ)的DA、SA、TID相匹配且對(duì)應(yīng)的RXn剛好比幀中的小1以及本地存儲(chǔ)的FA對(duì)比幀中的為上一級(jí)的中間設(shè)備接收和轉(zhuǎn)發(fā)所述數(shù)據(jù)回應(yīng)幀,轉(zhuǎn)發(fā)前幀中FA被置換為本地存儲(chǔ)的;所述交易發(fā)起者收到所述數(shù)據(jù)回應(yīng)幀;任何一個(gè)設(shè)備只接受一次同一DA、SA、TID、RXn的所述數(shù)據(jù)回應(yīng)幀;
S5. 在同一個(gè)所述交易事件編號(hào)TID下可以連續(xù)多次進(jìn)行步驟S3和S4所述的操作,每次進(jìn)行S3前將所述TXn加1。
進(jìn)一步優(yōu)選的,所述數(shù)據(jù)幀序號(hào)TXn和所述數(shù)據(jù)回應(yīng)幀序號(hào)RXn的長(zhǎng)度是16位,0≤TXn<216–1,0≤RXn<216–1,所述交易發(fā)起者設(shè)置TXn從1開(kāi)始發(fā)出所述數(shù)據(jù)幀;所述數(shù)據(jù)幀和所述數(shù)據(jù)回應(yīng)幀中還含有發(fā)送設(shè)備MAC地址TA;所述數(shù)據(jù)幀和所述數(shù)據(jù)回應(yīng)幀可選擇是否攜帶數(shù)據(jù)報(bào)文,數(shù)據(jù)報(bào)文是0~64千位可變長(zhǎng)度;此外
所述步驟S3還包括:本地存儲(chǔ)的DA、SA、TID相匹配且對(duì)應(yīng)的TXn剛好比幀中的小1的并與所述交易發(fā)起者具有相同BA且相鄰的中間設(shè)備轉(zhuǎn)發(fā)所述數(shù)據(jù)幀;本地存儲(chǔ)的DA、SA、TID相匹配且對(duì)應(yīng)的TXn剛好比幀中的小1的所述目的設(shè)備BA下一級(jí)的中間設(shè)備轉(zhuǎn)發(fā)所述數(shù)據(jù)幀給與它的BA為同一級(jí)的中間設(shè)備;以及
所述步驟S4還包括:本地對(duì)應(yīng)存儲(chǔ)的DA、SA、TID相匹配且對(duì)應(yīng)的RXn剛好比幀中的小1并與所述目的設(shè)備具有相同F(xiàn)A且相鄰的中間設(shè)備轉(zhuǎn)發(fā)所述數(shù)據(jù)回應(yīng)幀;本地對(duì)應(yīng)存儲(chǔ)的DA、SA、TID相匹配且對(duì)應(yīng)的RXn剛好比幀中的小1的所述交易發(fā)起者FA下一級(jí)的中間設(shè)備轉(zhuǎn)發(fā)所述數(shù)據(jù)回應(yīng)幀給與它的FA為同一級(jí)的中間設(shè)備。
作為本發(fā)明的另一個(gè)方面,所提供的正向編址和反向重編址互聯(lián)通信設(shè)備包括:數(shù)據(jù)處理模塊、幀發(fā)送模塊、幀接收模塊和無(wú)線收發(fā)器;其中
數(shù)據(jù)處理模塊:對(duì)數(shù)據(jù)進(jìn)行處理,對(duì)需要發(fā)出的數(shù)據(jù)按類別組幀后傳送給所述幀發(fā)送模塊;從所述幀接收模塊接收各類幀,解析出數(shù)據(jù),或?qū)?yīng)生成應(yīng)答的幀傳送給所述幀發(fā)送模塊,或?qū)?yīng)生成轉(zhuǎn)發(fā)的幀傳送給所述幀發(fā)送模塊;
幀發(fā)送模塊:接收來(lái)自所述數(shù)據(jù)處理模塊的各類幀并加入到發(fā)送隊(duì)列,依次通過(guò)所述無(wú)線收發(fā)器將幀發(fā)送出去;
幀接收模塊:從所述無(wú)線收發(fā)器接收各類幀并加入到接收隊(duì)列,依次傳送給所述數(shù)據(jù)處理模塊進(jìn)行解析;
無(wú)線收發(fā)器:將來(lái)自所述幀發(fā)送模塊的各類幀通過(guò)天線以電磁波信號(hào)發(fā)送出去;從天線接收電磁波信號(hào)并解析出各類幀傳送給所述幀接收模塊;
當(dāng)交易發(fā)起者與目的設(shè)備之間通過(guò)以電磁波為媒質(zhì)的無(wú)線信號(hào)進(jìn)行通信,包括編址階段和數(shù)據(jù)階段,在所述編址階段,所述數(shù)據(jù)處理模塊包括:
當(dāng)設(shè)備作為交易發(fā)起者時(shí),生成帶有目的設(shè)備MAC地址DA、交易發(fā)起者M(jìn)AC地址SA、交易事件編號(hào)TID的正向編址幀,經(jīng)由所述幀發(fā)送模塊和所述無(wú)線收發(fā)器發(fā)出;當(dāng)設(shè)備作為中間設(shè)備時(shí),接收和轉(zhuǎn)發(fā)所述正向編址幀;所述正向編址幀中還含有正向地址FA,以所述交易發(fā)起者為編址起點(diǎn)按編址策略在發(fā)起或接收所述正向編址幀時(shí)對(duì)FA設(shè)置一次,并在本地存儲(chǔ)中記錄下和DA、SA、TID、FA相對(duì)應(yīng)的值;只接受一次同一DA、SA、TID的所述正向編址幀;以及
當(dāng)設(shè)備作為所述目的設(shè)備時(shí),經(jīng)由所述無(wú)線收發(fā)器和所述幀接收模塊收到所述正向編址幀后,生成帶有同一DA、SA、TID和與之對(duì)應(yīng)本地存儲(chǔ)的FA的反向重編址幀,經(jīng)由所述幀發(fā)送模塊和所述無(wú)線收發(fā)器發(fā)出;當(dāng)設(shè)備作為本地對(duì)應(yīng)存儲(chǔ)的DA、SA、TID相匹配且對(duì)應(yīng)的FA相對(duì)所述反向重編址幀中的為上一級(jí)的中間設(shè)備時(shí),轉(zhuǎn)發(fā)所述反向重編址幀,轉(zhuǎn)發(fā)之前,幀中的FA被置換為本地存儲(chǔ)的;當(dāng)設(shè)備作為所述交易發(fā)起者時(shí),收到所述反向重編址幀;所述反向重編址幀內(nèi)還含有反向地址BA,以所述目的設(shè)備為編址起點(diǎn)按所述編址策略在發(fā)起或接收所述反向重編址幀時(shí)對(duì)BA設(shè)置一次,并在本地存儲(chǔ)中對(duì)應(yīng)記錄下BA的值;只接受一次同一DA、SA、TID的所述反向重編址幀。
優(yōu)選地,在所述編址階段,所述數(shù)據(jù)處理模塊還包括:所述交易事件編號(hào)TID是由所述交易發(fā)起者在發(fā)出所述正向編址幀前產(chǎn)生的48位長(zhǎng)度的隨機(jī)數(shù);所述正向編址幀和所述反向重編址幀中還含有發(fā)送設(shè)備MAC地址TA;以及
當(dāng)設(shè)備作為本地對(duì)應(yīng)存儲(chǔ)的DA、SA、TID相匹配并與所述目的設(shè)備具有相同F(xiàn)A且相鄰的中間設(shè)備時(shí),轉(zhuǎn)發(fā)所述反向重編址幀;當(dāng)設(shè)備作為本地對(duì)應(yīng)存儲(chǔ)的DA、SA、TID相匹配且為所述交易發(fā)起者FA下一級(jí)的中間設(shè)備時(shí),轉(zhuǎn)發(fā)所述反向重編址幀給與它的FA為同一級(jí)的也是所述交易發(fā)起者下一級(jí)的中間設(shè)備。
優(yōu)選地,所述編址策略為:地址長(zhǎng)度為16位,編址起點(diǎn)設(shè)備地址為1,每經(jīng)歷一個(gè)設(shè)備后地址循環(huán)左移一位。
優(yōu)選地,在所述數(shù)據(jù)階段,所述數(shù)據(jù)處理模塊包括:
當(dāng)設(shè)備作為所述交易發(fā)起者收到所述反向重編址幀后,生成帶有與所述正向編址幀對(duì)應(yīng)相同的DA、SA、TID和與之對(duì)應(yīng)本地存儲(chǔ)的BA的數(shù)據(jù)幀,經(jīng)由所述幀發(fā)送模塊和所述無(wú)線收發(fā)器發(fā)出;所述數(shù)據(jù)幀內(nèi)還含有數(shù)據(jù)幀序號(hào)TXn,發(fā)起或接收所述數(shù)據(jù)幀時(shí),在本地存儲(chǔ)中記錄下TXn的值;當(dāng)設(shè)備作為本地存儲(chǔ)的DA、SA、TID相匹配且對(duì)應(yīng)的TXn剛好比幀中的小1以及本地存儲(chǔ)的BA對(duì)比幀中的為上一級(jí)的中間設(shè)備,接收和轉(zhuǎn)發(fā)所述數(shù)據(jù)幀,在轉(zhuǎn)發(fā)前,幀中BA被置換為本地存儲(chǔ)的;當(dāng)設(shè)備作為所述目的設(shè)備,收到所述數(shù)據(jù)幀;只接受一次同一DA、SA、TID、TXn的所述數(shù)據(jù)幀;以及
當(dāng)設(shè)備作為所述目的設(shè)備收到所述數(shù)據(jù)幀后,生成帶有同一DA、SA、TID和與之對(duì)應(yīng)本地存儲(chǔ)的FA的數(shù)據(jù)回應(yīng)幀,經(jīng)由所述幀發(fā)送模塊和所述無(wú)線收發(fā)器發(fā)出;所述數(shù)據(jù)回應(yīng)幀內(nèi)還含有數(shù)據(jù)回應(yīng)幀序號(hào)RXn,RXn與對(duì)應(yīng)的所述數(shù)據(jù)幀的TXn一致,發(fā)起或接收所述數(shù)據(jù)回應(yīng)幀時(shí),在本地存儲(chǔ)中對(duì)應(yīng)記錄下RXn的值;當(dāng)設(shè)備作為本地對(duì)應(yīng)存儲(chǔ)的DA、SA、TID相匹配且對(duì)應(yīng)的RXn剛好比幀中的小1以及本地存儲(chǔ)的FA對(duì)比幀中的為上一級(jí)的中間設(shè)備,接收和轉(zhuǎn)發(fā)所述數(shù)據(jù)回應(yīng)幀,轉(zhuǎn)發(fā)前幀中FA被置換為本地存儲(chǔ)的;當(dāng)設(shè)備作為所述交易發(fā)起者,收到所述數(shù)據(jù)回應(yīng)幀;只接受一次同一DA、SA、TID、RXn的所述數(shù)據(jù)回應(yīng)幀;以及
在同一個(gè)所述交易事件編號(hào)TID下可以連續(xù)多次進(jìn)行上述操作,每次進(jìn)行前將所述TXn加1。
進(jìn)一步優(yōu)選的,在所述數(shù)據(jù)階段,所述數(shù)據(jù)處理模塊還包括:所述數(shù)據(jù)幀序號(hào)TXn和所述數(shù)據(jù)回應(yīng)幀序號(hào)RXn的長(zhǎng)度是16位,0≤TXn<216–1,0≤RXn<216–1,所述交易發(fā)起者設(shè)置TXn從1開(kāi)始發(fā)出所述數(shù)據(jù)幀;所述數(shù)據(jù)幀和所述數(shù)據(jù)回應(yīng)幀中還含有發(fā)送設(shè)備MAC地址TA;所述數(shù)據(jù)幀和所述數(shù)據(jù)回應(yīng)幀可選擇是否攜帶數(shù)據(jù)報(bào)文,數(shù)據(jù)報(bào)文是0~64千位可變長(zhǎng)度;此外
當(dāng)設(shè)備作為本地存儲(chǔ)的DA、SA、TID相匹配且對(duì)應(yīng)的TXn剛好比幀中的小1的并與所述交易發(fā)起者具有相同BA且相鄰的中間設(shè)備,轉(zhuǎn)發(fā)所述數(shù)據(jù)幀;當(dāng)設(shè)備作為本地存儲(chǔ)的DA、SA、TID相匹配且對(duì)應(yīng)的TXn剛好比幀中的小1的所述目的設(shè)備BA下一級(jí)的中間設(shè)備,轉(zhuǎn)發(fā)所述數(shù)據(jù)幀給與它的BA為同一級(jí)的中間設(shè)備;以及
當(dāng)設(shè)備作為本地對(duì)應(yīng)存儲(chǔ)的DA、SA、TID相匹配且對(duì)應(yīng)的RXn剛好比幀中的小1并與所述目的設(shè)備具有相同F(xiàn)A且相鄰的中間設(shè)備,轉(zhuǎn)發(fā)所述數(shù)據(jù)回應(yīng)幀;當(dāng)設(shè)備作為本地對(duì)應(yīng)存儲(chǔ)的DA、SA、TID相匹配且對(duì)應(yīng)的RXn剛好比幀中的小1的所述交易發(fā)起者FA下一級(jí)的中間設(shè)備,轉(zhuǎn)發(fā)所述數(shù)據(jù)回應(yīng)幀給與它的FA為同一級(jí)的中間設(shè)備。
作為本發(fā)明的還有一個(gè)方面,所提供的正向編址和反向重編址互聯(lián)通信系統(tǒng)包括:至少兩個(gè)所述正向編址和反向重編址互聯(lián)通信設(shè)備。
本發(fā)明所提供的正向編址和反向重編址互聯(lián)通信(Forward Addressing and Backward Readdressing InterConnect,F(xiàn)ABRIC)方法、設(shè)備和系統(tǒng),通過(guò)正向編址和反向重編址的方法讓系統(tǒng)中任何兩個(gè)設(shè)備在需要交換數(shù)據(jù)時(shí)建立起互聯(lián)通道,在兩者之間的眾多中間設(shè)備中篩選出合適的轉(zhuǎn)接設(shè)備,將數(shù)據(jù)的傳送控制在有限的范圍內(nèi),互聯(lián)通道并非唯一,每次數(shù)據(jù)傳送都有可能經(jīng)過(guò)不同的中間設(shè)備,具有隨機(jī)性和冗余性,可以應(yīng)對(duì)一定程度的設(shè)備移動(dòng)。眾多設(shè)備可以同時(shí)進(jìn)行兩兩之間的通信,互不沖突。設(shè)備之間完全對(duì)等,不需要基站或中心接入點(diǎn),無(wú)需配置,可隨時(shí)發(fā)起數(shù)據(jù)交易。本發(fā)明若應(yīng)用于手機(jī)、電器、汽車、路燈等,將把整個(gè)城市乃至眾多城市以一種物物互聯(lián)的方式編織起來(lái)。
附圖說(shuō)明
圖1為兩個(gè)設(shè)備之間通信的正向編址幀傳送過(guò)程示意圖。
圖2為兩個(gè)設(shè)備之間通信的反向重編址幀和數(shù)據(jù)回應(yīng)幀傳送過(guò)程示意圖。
圖3為兩個(gè)設(shè)備之間通信的數(shù)據(jù)幀傳送過(guò)程示意圖。
圖4為設(shè)備的結(jié)構(gòu)方框圖。
圖5為本發(fā)明應(yīng)用于手持設(shè)備之間傳輸文件示意圖。
圖6為本發(fā)明應(yīng)用于公交車站傳輸站牌信息到多個(gè)手持設(shè)備示意圖。
圖7為本發(fā)明應(yīng)用于車輛之間通過(guò)路燈轉(zhuǎn)接通信示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明了,以下通過(guò)實(shí)施例以及結(jié)合附圖,對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
作為本發(fā)明的一個(gè)方面,正向編址和反向重編址互聯(lián)通信方法的實(shí)施例,交易發(fā)起者與目的設(shè)備之間通過(guò)無(wú)線信號(hào)進(jìn)行通信,先從編址階段開(kāi)始,包括交易發(fā)起者發(fā)出正向編址幀和目的設(shè)備應(yīng)答以反向重編址幀。
對(duì)于一個(gè)將目的設(shè)備MAC地址設(shè)置為全1的交易將排除在下面的描述之外,這樣一個(gè)交易被看作是對(duì)所有相鄰設(shè)備的一個(gè)群發(fā),每個(gè)相鄰設(shè)備收取幀中的數(shù)據(jù)報(bào)文即可。
交易發(fā)起者作為編址起點(diǎn)設(shè)備發(fā)出的正向編址幀包括多個(gè)域,其中含有16位幀類型FT、目的設(shè)備MAC地址DA、交易發(fā)起者M(jìn)AC地址SA、發(fā)送設(shè)備MAC地址TA、48位交易事件編號(hào)TID、16位正向地址FA,16位正向跳轉(zhuǎn)次數(shù)FWn、16位最大允許跳轉(zhuǎn)次數(shù)FWmax。交易發(fā)起者設(shè)置各個(gè)域,F(xiàn)T被設(shè)置為代表正向編址幀和指示DA、SA、TA的長(zhǎng)度分別是48位還是64位,TA=SA,TID為隨機(jī)數(shù),F(xiàn)A=1,F(xiàn)Wn=0,0<FWmax<216 - 1。
交易發(fā)起者發(fā)出正向編址幀的同時(shí),在本地存儲(chǔ)中記錄下一組數(shù)據(jù)DA_L、SA_L、TID_L、FA_L、BA_L、TXn_L、RXn_L、BR_flag_L,前面四個(gè)分別對(duì)應(yīng)正向編址幀中的DA、SA、TID、FA,其中DA_L、SA_L是64位長(zhǎng)度,分別為DA、SA的64位擴(kuò)展,如果DA是64位,則DA_L=DA,如果DA是48位,則DA_L為在DA的前面補(bǔ)16個(gè)0,SA_L和SA的關(guān)系同理,另外,BA_L、TXn_L、RXn_L均為16位長(zhǎng)度,設(shè)置BA_L=TXn_L=RXn_L=0,BR_flag_L為1位長(zhǎng)度,設(shè)置BR_flag_L=0。
任何一個(gè)設(shè)備接收到正向編址幀后,首先查詢本地存儲(chǔ)中是否有與正向編址幀中DA、SA、TID三個(gè)數(shù)據(jù)對(duì)應(yīng)相匹配的記錄,如果有則放棄該幀,如果沒(méi)有則比較DA和自己的MAC地址:
(a)如果DA和自己的MAC地址不相等,則繼續(xù)比較FWn和FWmax,如果FWn=FWmax,則放棄該幀,如果FWn<FWmax,則將FWn加1后重新寫回到正向編址幀的FWn域,并將TA域改寫為自己的MAC地址,F(xiàn)T域?qū)?yīng)修改TA的長(zhǎng)度指示,F(xiàn)A按編址策略循環(huán)左移一位,然后將正向編址幀轉(zhuǎn)發(fā)出去,同時(shí)在本地存儲(chǔ)中記錄下DA的64位擴(kuò)展、SA的64位擴(kuò)展、TID、更新后的FA、0、0、0、0這一組數(shù)據(jù)對(duì)應(yīng)為DA_L、SA_L、TID_L、FA_L、BA_L、TXn_L、RXn_L、BR_flag_L;
(b)如果DA和自己的MAC地址相等,自己即為目的設(shè)備,則將FA按編址策略循環(huán)左移一位,在本地存儲(chǔ)中記錄下DA的64位擴(kuò)展、SA的64位擴(kuò)展、TID、更新后的FA、0、0、0、0這一組數(shù)據(jù)對(duì)應(yīng)為DA_L、SA_L、TID_L、FA_L、BA_L、TXn_L、RXn_L、BR_flag_L,同時(shí)以自己為編址起點(diǎn)設(shè)備發(fā)出反向重編址幀。
反向重編址幀包括多個(gè)域,其中含有16位幀類型FT、目的設(shè)備MAC地址DA、交易發(fā)起者M(jìn)AC地址SA、發(fā)送設(shè)備MAC地址TA、48位交易事件編號(hào)TID、16位正向地址FA、16位反向地址BA。目的設(shè)備設(shè)置各個(gè)域,F(xiàn)T被設(shè)置為代表反向重編址幀和指示DA、SA、TA的長(zhǎng)度分別是48位還是64位,DA、SA、TID和正向編址幀中對(duì)應(yīng)值相同,TA=DA,F(xiàn)A為對(duì)應(yīng)本地存儲(chǔ)的FA_L,BA=1。目的設(shè)備發(fā)出反向重編址幀的同時(shí),更新本地對(duì)應(yīng)存儲(chǔ)中的BA_L=1,以及BR_flag_L=1。
任何一個(gè)設(shè)備接收到反向重編址幀后,首先查詢本地存儲(chǔ)中是否有與反向重編址幀中DA、SA、TID三個(gè)數(shù)據(jù)對(duì)應(yīng)相匹配的記錄,如果沒(méi)有則放棄該幀,如果有則比較本地存儲(chǔ)中對(duì)應(yīng)標(biāo)志位BR_flag_L是否為1,如果為1則放棄該幀,否則繼續(xù)比較SA和自己的MAC地址:
(a)如果SA和自己的MAC地址不相等,則比較本地存儲(chǔ)中對(duì)應(yīng)的FA_L和反向重編址幀中的FA,如果FA_L循環(huán)左移1位不等于FA,則放棄該幀,如果FA_L循環(huán)左移1位等于FA,則將FA_L寫到反向重編址幀的FA域,并將BA按編址策略循環(huán)左移1位后重新寫到反向重編址幀的BA域,將TA域改寫為自己的MAC地址,F(xiàn)T域?qū)?yīng)修改TA的長(zhǎng)度指示,然后將反向重編址幀轉(zhuǎn)發(fā)出去,同時(shí)在本地存儲(chǔ)中更新以DA、SA、TID三個(gè)數(shù)據(jù)為索引相匹配的一組數(shù)據(jù)DA_L、SA_L、TID_L、FA_L、BA_L、TXn_L、RXn_L、BR_flag_L中的BA_L為更新后的BA,并且設(shè)置TXn_L=RXn_L=0,BR_flag_L=1;
(b)如果SA和自己的MAC地址相等,自己即為交易發(fā)起者,則將BA按編址策略循環(huán)左移1位,在本地存儲(chǔ)中更新以DA、SA、TID三個(gè)數(shù)據(jù)為索引相匹配的一組數(shù)據(jù)DA_L、SA_L、TID_L、FA_L、BA_L、TXn_L、RXn_L、BR_flag_L中的BA_L為更新后的BA,并且設(shè)置TXn_L=RXn_L=0,BR_flag_L=1。
其中,BR_flag_L為反向重編址幀處理標(biāo)志,置1時(shí)表示此設(shè)備已處理過(guò)反向重編址幀。
至此,編址階段完成,在交易發(fā)起者到目的設(shè)備之間建立起了互聯(lián)通道。交易發(fā)起者發(fā)出的正向編址幀以泛洪的方式擴(kuò)散開(kāi)去,由幀中的FWn和FWmax來(lái)控制泛洪的范圍,終止于FWn=FWmax。反向重編址幀依據(jù)正向地址FA回溯到交易發(fā)起者,同時(shí)對(duì)經(jīng)歷的中間設(shè)備進(jìn)行反向重編址,以反向地址BA標(biāo)識(shí)有限數(shù)量的中間設(shè)備,這些設(shè)備將用于數(shù)據(jù)階段的傳送。由于無(wú)線信號(hào)作用范圍有限以及正向編址FA的篩選條件,使得反向重編址幀實(shí)際傳播范圍變得有限,不像正向編址幀那樣形成泛洪,因而后續(xù)的數(shù)據(jù)傳送局限于有限數(shù)量的中間設(shè)備組成的互聯(lián)通道中。經(jīng)過(guò)編址階段,互聯(lián)通道中的設(shè)備同時(shí)具有分配的正向地址FA和反向地址BA,F(xiàn)A和BA將作為后續(xù)數(shù)據(jù)階段的數(shù)據(jù)幀和數(shù)據(jù)回應(yīng)幀流向的判據(jù)。鄰近的中間設(shè)備可能有兩個(gè)以上具有相同的正向地址FA和反向地址BA,因而互聯(lián)通道是多路徑的,這樣可以一定程度上應(yīng)對(duì)中間設(shè)備的位置移動(dòng)造成互聯(lián)通道中斷。
另外,在編址階段,為了應(yīng)對(duì)交易發(fā)起者或目的設(shè)備的位置移動(dòng),讓交易發(fā)起者和目的設(shè)備的多個(gè)相鄰中間設(shè)備在相互之間進(jìn)行反向重編址幀的傳送,具體包括:本地對(duì)應(yīng)存儲(chǔ)的DA、SA、TID相匹配并與目的設(shè)備具有相同F(xiàn)A且相鄰的中間設(shè)備轉(zhuǎn)發(fā)反向重編址幀;本地對(duì)應(yīng)存儲(chǔ)的DA、SA、TID相匹配且為交易發(fā)起者FA下一級(jí)的中間設(shè)備轉(zhuǎn)發(fā)反向重編址幀給與它的FA為同一級(jí)的也是交易發(fā)起者FA下一級(jí)的中間設(shè)備。
接下來(lái),交易發(fā)起者通過(guò)發(fā)出數(shù)據(jù)幀與目的設(shè)備進(jìn)行數(shù)據(jù)階段的通信,目的設(shè)備通過(guò)數(shù)據(jù)回應(yīng)幀來(lái)應(yīng)答,在數(shù)據(jù)幀和數(shù)據(jù)回應(yīng)幀中可選擇是否攜帶數(shù)據(jù)報(bào)文。在同一個(gè)交易事件編號(hào)TID下可以連續(xù)多次進(jìn)行數(shù)據(jù)幀和數(shù)據(jù)回應(yīng)幀的收發(fā)。
數(shù)據(jù)幀包括多個(gè)域,其中含有16位幀類型FT、目的設(shè)備MAC地址DA、交易發(fā)起者M(jìn)AC地址SA、發(fā)送設(shè)備MAC地址TA、48位交易事件編號(hào)TID、16位反向地址BA、16位數(shù)據(jù)幀序號(hào)TXn、0~64千位可變長(zhǎng)度數(shù)據(jù)報(bào)文VLM。交易發(fā)起者設(shè)置各個(gè)域,F(xiàn)T被設(shè)置為代表數(shù)據(jù)幀和指示DA、SA、TA的長(zhǎng)度分別是48位還是64位,DA、SA、TID與對(duì)應(yīng)正向編址幀的一致,TA=SA,BA與本地存儲(chǔ)的以DA、SA、TID三個(gè)數(shù)據(jù)為索引相匹配的一組數(shù)據(jù)DA_L、SA_L、TID_L、FA_L、BA_L、TXn_L、RXn_L、BR_flag_L中的BA_L相同,設(shè)置TXn= 1,VLM為發(fā)送報(bào)文。0≤TXn<216 –1,交易發(fā)起者的TXn從1開(kāi)始。交易發(fā)起者每發(fā)出一個(gè)數(shù)據(jù)幀后,設(shè)置對(duì)應(yīng)的TXn_L=TXn。
任何一個(gè)設(shè)備接收到數(shù)據(jù)幀后,首先查詢本地存儲(chǔ)中是否有與數(shù)據(jù)幀中DA、SA、TID三個(gè)數(shù)據(jù)對(duì)應(yīng)相匹配的記錄,如果沒(méi)有則放棄該幀,如果有則比較對(duì)應(yīng)的本地存儲(chǔ)中的TXn_L和數(shù)據(jù)幀中的TXn,如果TXn_L≠TXn - 1,則放棄該幀,如果TXn_L=TXn - 1,則比較DA和自己的MAC地址:
(a)如果DA和自己的MAC地址不相等,繼續(xù)比較本地存儲(chǔ)的對(duì)應(yīng)BA_L和數(shù)據(jù)幀中的BA,如果BA_L循環(huán)左移1位不等于BA,則放棄該幀,如果BA_L循環(huán)左移1位等于BA,則將BA_L寫到數(shù)據(jù)幀的BA域,設(shè)置對(duì)應(yīng)的TXn_L=TXn,并將TA域改寫為自己的MAC地址,F(xiàn)T域?qū)?yīng)修改TA的長(zhǎng)度指示,然后將數(shù)據(jù)幀轉(zhuǎn)發(fā)出去;
(b)如果DA和自己的MAC地址相等,自己即為目的設(shè)備,則從數(shù)據(jù)幀中取出數(shù)據(jù)報(bào)文VLM,設(shè)置對(duì)應(yīng)的TXn_L=TXn,同時(shí)以自己為發(fā)起設(shè)備發(fā)出數(shù)據(jù)回應(yīng)幀。
數(shù)據(jù)回應(yīng)幀包括多個(gè)域,其中含有16位幀類型FT、交易發(fā)起者M(jìn)AC地址SA、目的設(shè)備MAC地址DA、發(fā)送設(shè)備MAC地址TA、48位交易事件編號(hào)TID、16位正向地址FA、16位數(shù)據(jù)回應(yīng)幀序號(hào)RXn、0~64千位可變長(zhǎng)度數(shù)據(jù)回應(yīng)報(bào)文VLR。目的設(shè)備設(shè)置各個(gè)域,F(xiàn)T被設(shè)置為代表數(shù)據(jù)回應(yīng)幀和指示DA、SA、TA的長(zhǎng)度分別是48位還是64位,DA、SA、TID與對(duì)應(yīng)數(shù)據(jù)幀的一致,TA=DA,F(xiàn)A與本地存儲(chǔ)的以DA、SA、TID三個(gè)數(shù)據(jù)為索引相匹配的一組數(shù)據(jù)DA_L、SA_L、TID_L、FA_L、BA_L、TXn_L、RXn_L、BR_flag_L中的FA_L相同,RXn與對(duì)應(yīng)的數(shù)據(jù)幀的TXn一致。目的設(shè)備每發(fā)出一個(gè)數(shù)據(jù)回應(yīng)幀后,設(shè)置RXn_L=RXn。
任何一個(gè)設(shè)備接收到數(shù)據(jù)回應(yīng)幀后,首先查詢本地存儲(chǔ)中是否有與數(shù)據(jù)回應(yīng)幀中DA、SA、TID三個(gè)數(shù)據(jù)對(duì)應(yīng)相匹配的記錄,如果沒(méi)有則放棄該幀,如果有則比較對(duì)應(yīng)的本地存儲(chǔ)中的RXn_L和數(shù)據(jù)回應(yīng)幀中的RXn,如果RXn_L≠RXn - 1,則放棄該幀,如果RXn_L=RXn – 1,則比較SA和自己的MAC地址:
(a)如果SA和自己的MAC地址不相等,則繼續(xù)比較本地存儲(chǔ)的對(duì)應(yīng)FA_L和數(shù)據(jù)回應(yīng)幀中的FA,如果FA_L循環(huán)左移1位不等于FA,則放棄該幀,如果FA_L循環(huán)左移1位等于FA,則將FA_L寫到數(shù)據(jù)回應(yīng)幀的FA域,設(shè)置對(duì)應(yīng)的RXn_L=RXn,并將TA域改寫為自己的MAC地址,F(xiàn)T域?qū)?yīng)修改TA的長(zhǎng)度指示,然后將數(shù)據(jù)回應(yīng)幀轉(zhuǎn)發(fā)出去;
(b)如果SA和自己的MAC地址相等,自己即為交易發(fā)起者,則從數(shù)據(jù)回應(yīng)幀中取出數(shù)據(jù)回應(yīng)報(bào)文VLR,設(shè)置對(duì)應(yīng)的RXn_L=RXn。
交易發(fā)起者根據(jù)數(shù)據(jù)量大小,在同一個(gè)交易事件編號(hào)TID下可以分成多次數(shù)據(jù)幀發(fā)送給目的設(shè)備,每次發(fā)送數(shù)據(jù)幀前將TXn加1。
任何一個(gè)設(shè)備接收到正向編址幀,或反向重編址幀,或數(shù)據(jù)幀,或數(shù)據(jù)回應(yīng)幀,會(huì)轉(zhuǎn)發(fā)該幀或發(fā)出應(yīng)答的幀,這些又會(huì)被發(fā)送設(shè)備收到而成為對(duì)發(fā)送設(shè)備的回應(yīng),因而不需要對(duì)所有接收的幀以專門的ACK幀作回應(yīng),從而減少對(duì)通信通道的占用。
任何一個(gè)設(shè)備在接收到一個(gè)幀時(shí),獲取TA來(lái)知悉相鄰的設(shè)備,由此可以維護(hù)一個(gè)鄰居設(shè)備列表,進(jìn)一步,每個(gè)設(shè)備通過(guò)定時(shí)地發(fā)出BEACON幀來(lái)表明存在,因而任何一個(gè)設(shè)備可以對(duì)鄰居設(shè)備的生存周期進(jìn)行記錄。
任何一個(gè)設(shè)備發(fā)出正向編址幀,或反向重編址幀,或數(shù)據(jù)幀,或數(shù)據(jù)回應(yīng)幀,可以通過(guò)接收到所有鄰居設(shè)備轉(zhuǎn)發(fā)的幀或應(yīng)答的幀來(lái)確定發(fā)送有效,必要時(shí)通過(guò)重發(fā)來(lái)確保它的所有鄰居收到幀。
任何一個(gè)設(shè)備在發(fā)出任何幀前將對(duì)整幀數(shù)據(jù)作CRC-32校驗(yàn),并將校驗(yàn)結(jié)果附在幀尾。任何一個(gè)設(shè)備在接收到任何一幀數(shù)據(jù)時(shí)首先作CRC-32校驗(yàn),未通過(guò)的予以放棄。
交易超時(shí):任何一個(gè)設(shè)備從在本地存儲(chǔ)中建立DA_L、SA_L、TID_L、FA_L、BA_L、TXn_L、RXn_L、BR_flag_L這一數(shù)組起開(kāi)始計(jì)時(shí),如果在時(shí)間段T1內(nèi)再次收到DA、SA、TID三個(gè)數(shù)據(jù)對(duì)應(yīng)相匹配的幀,則重新開(kāi)始計(jì)時(shí),否則將這一組數(shù)據(jù)從本地存儲(chǔ)中清除。1≤T1≤216 –1,單位為毫秒,設(shè)置典型值T1=1024。由此可以降低設(shè)備對(duì)存儲(chǔ)空間的要求,從而也使得正向地址FA和反向地址BA成為臨時(shí)存在的,交易過(guò)后,不留痕跡。
下面結(jié)合附圖對(duì)本發(fā)明作更具體的詳細(xì)描述。
正向編址和反向重編址互聯(lián)通信方法的一個(gè)實(shí)施例包括正向編址幀、反向重編址幀、數(shù)據(jù)幀、數(shù)據(jù)回應(yīng)幀的傳送過(guò)程參見(jiàn)圖1、圖2、圖3。
圖1、圖2、圖3中的A到Y(jié)為分布在一定區(qū)域內(nèi)的對(duì)等設(shè)備,以A為圓心的虛線圓圈代表設(shè)備A的有效信號(hào)范圍,同理也表示出了設(shè)備B和設(shè)備N的有效信號(hào)范圍。其中任何一個(gè)設(shè)備都具有相似的這樣一個(gè)范圍,圈在其中的設(shè)備代表了它的鄰居。從圖1可以看出,設(shè)備A的鄰居為B、C、D、E,設(shè)備B的鄰居為A、C、D、G、H、J,設(shè)備N的鄰居為H、J、K、L、M。
實(shí)施例為交易發(fā)起者A發(fā)起一個(gè)對(duì)目的設(shè)備N的數(shù)據(jù)交易。
圖1表達(dá)的是正向編址幀傳送過(guò)程,首先設(shè)備A在媒質(zhì)空閑時(shí)發(fā)出一個(gè)正向編址幀,設(shè)備A設(shè)置各個(gè)域,F(xiàn)T被設(shè)置為代表正向編址幀和指示DA、SA、TA的長(zhǎng)度分別是48位還是64位,DA為設(shè)備N的MAC地址,SA為設(shè)備A的MAC地址,TA=SA,TID為隨機(jī)數(shù),F(xiàn)A=1,F(xiàn)Wn=0,設(shè)置FWmax=100。
設(shè)備A發(fā)出正向編址幀的同時(shí),在本地存儲(chǔ)中記錄下一組數(shù)據(jù)DA_L、SA_L、TID_L、FA_L、BA_L、TXn_L、RXn_L、BR_flag_L,前面四個(gè)分別對(duì)應(yīng)正向編址幀中的DA、SA、TID、FA,其中DA_L、SA_L是64位長(zhǎng)度,分別為DA、SA的64位擴(kuò)展,如果DA是64位,則DA_L=DA,如果DA是48位,則DA_L為在DA的前面補(bǔ)16個(gè)0,SA_L和SA的關(guān)系同理,另外,BA_L、TXn_L、RXn_L均為16位長(zhǎng)度,設(shè)置BA_L=TXn_L=RXn_L=0,BR_flag_L為1位長(zhǎng)度,設(shè)置BR_flag_L=0。
對(duì)于設(shè)備A,F(xiàn)A_L=1,BA_L=0,記作“1,0”,如圖1中所示。
設(shè)備A發(fā)出的正向編址幀會(huì)被它的鄰居收到,它通過(guò)接收鄰居轉(zhuǎn)發(fā)的該幀來(lái)確認(rèn)鄰居收到,必要時(shí)通過(guò)重發(fā)來(lái)確保它的所有鄰居收到這個(gè)正向編址幀。作為鄰居的設(shè)備B、C、D、E都將收到,它們首先查詢本地存儲(chǔ)中是否有與正向編址幀中DA、SA、TID三個(gè)數(shù)據(jù)對(duì)應(yīng)都相匹配的記錄,顯然沒(méi)有,于是比較DA和自己的MAC地址,顯然不相等,繼續(xù)比較FWn和FWmax,因?yàn)镕Wn=0,F(xiàn)Wmax=100,所以FWn<FWmax成立,于是將FWn加1后重新寫回到正向編址幀的FWn域,此時(shí)FWn=1,將FA按編址規(guī)則循環(huán)左移1位,于是FA=2,并將TA域改寫為它們自己的MAC地址,F(xiàn)T域?qū)?yīng)修改TA的長(zhǎng)度指示,然后將正向編址幀轉(zhuǎn)發(fā)出去,同時(shí)在它們本地存儲(chǔ)中記錄下DA的64位擴(kuò)展、SA的64位擴(kuò)展、TID、更新后的FA、0、0、0、0這一組數(shù)據(jù)對(duì)應(yīng)為DA_L、SA_L、TID_L、FA_L、BA_L、TXn_L、RXn_L、BR_flag_L。對(duì)于這幾個(gè)設(shè)備,F(xiàn)A_L=2,BA_L=0,記作“2,0”,如圖1中所示。
設(shè)備B轉(zhuǎn)發(fā)出的正向編址幀會(huì)被它的鄰居收到,它通過(guò)接收鄰居轉(zhuǎn)發(fā)的該幀或應(yīng)答的幀來(lái)確認(rèn)鄰居收到,必要時(shí)通過(guò)重發(fā)來(lái)確保它的所有鄰居收到這個(gè)正向編址幀。作為鄰居的設(shè)備A、C、D、G、H、J都將收到,它們首先查詢本地存儲(chǔ)中是否有與正向編址幀中DA、SA、TID三個(gè)數(shù)據(jù)對(duì)應(yīng)相匹配的記錄,顯然對(duì)于設(shè)備A、C、D成立,于是設(shè)備A、C、D放棄該幀并發(fā)出ACK幀作為應(yīng)答,對(duì)于設(shè)備G、H、J不成立,于是設(shè)備G、H、J比較DA和自己的MAC地址,顯然不相等,繼續(xù)比較FWn和FWmax,因?yàn)镕Wn=1,F(xiàn)Wmax=100,所以FWn<FWmax成立,于是將FWn加1后重新寫回到正向編址幀的FWn域,此時(shí)FWn=2,并將TA域改寫為它們自己的MAC地址,F(xiàn)T域?qū)?yīng)修改TA的長(zhǎng)度指示,將FA按編址規(guī)則循環(huán)左移1位,于是FA=4,然后將正向編址幀轉(zhuǎn)發(fā)出去,同時(shí)在它們本地存儲(chǔ)中記錄下DA的64位擴(kuò)展、SA的64位擴(kuò)展、TID、更新后的FA、0、0、0、0這一組數(shù)據(jù)對(duì)應(yīng)為DA_L、SA_L、TID_L、FA_L、BA_L、TXn_L、RXn_L、BR_flag_L。對(duì)于這幾個(gè)設(shè)備,F(xiàn)A_L=4,BA_L=0,記作“4,0”,如圖1中所示。與設(shè)備B同理,設(shè)備C、D、E轉(zhuǎn)發(fā)出正向編址幀,使得設(shè)備X、Y也具有相同的“FA_L,BA_L”數(shù)值為“4,0”,如圖1中所示。
設(shè)備H會(huì)收到來(lái)自B、C轉(zhuǎn)發(fā)的正向編址幀,先收到的會(huì)作本地記錄,及至收到下一個(gè)時(shí),因本地記錄與幀中DA、SA、TID三個(gè)數(shù)據(jù)對(duì)應(yīng)相匹配,因而放棄該幀,不會(huì)影響本地記錄。設(shè)備G與H的情形相似。
如果交易發(fā)起者A和目的設(shè)備N相距非常遠(yuǎn),中間需要很多轉(zhuǎn)接設(shè)備層層相連,本實(shí)施例只能依據(jù)同理原則,對(duì)其作簡(jiǎn)化描述。
下一個(gè)層級(jí),正向編址幀被轉(zhuǎn)發(fā)到設(shè)備K、L、N、U,它們因此具有了相同的“FA_L,BA_L”數(shù)值為“8,0”,如圖1中所示。設(shè)備N因?yàn)楸容^DA和自己的MAC地址結(jié)果相等,因而確定它自己為目的設(shè)備,于是準(zhǔn)備以自己為發(fā)起設(shè)備發(fā)出反向重編址幀,同時(shí)在本地存儲(chǔ)中記錄下DA的64位擴(kuò)展、SA的64位擴(kuò)展、TID、FA、0、0、0、0這一組數(shù)據(jù)對(duì)應(yīng)為DA_L、SA_L、TID_L、FA_L、BA_L、TXn_L、RXn_L、BR_flag_L。其余設(shè)備仍將正向編址幀轉(zhuǎn)發(fā)下去,直到滿足FWn=FWmax的層級(jí)為止,或是沒(méi)有更多的設(shè)備存在于系統(tǒng)中可供轉(zhuǎn)發(fā)。
圖2表達(dá)了反向重編址幀傳送過(guò)程,首先發(fā)起設(shè)備N在媒質(zhì)空閑時(shí)發(fā)出一個(gè)反向重編址幀,F(xiàn)T被設(shè)置為代表反向重編址幀和指示DA、SA、TA的長(zhǎng)度分別是48位還是64位,DA、SA、TID為正向編址幀中對(duì)應(yīng)值,TA為設(shè)備N的MAC地址,TA=DA,F(xiàn)A為本地對(duì)應(yīng)存儲(chǔ)的FA_L值,F(xiàn)A=8,BA按編址起點(diǎn)設(shè)置,BA=1。
設(shè)備N發(fā)出反向重編址幀的同時(shí),在本地存儲(chǔ)中更新以DA、SA、TID三個(gè)數(shù)據(jù)為索引相匹配的一組數(shù)據(jù)DA_L、SA_L、TID_L、FA_L、BA_L、TXn_L、RXn_L、BR_flag_L中的BA_L =1,以及BR_flag_L=1。對(duì)于設(shè)備N,F(xiàn)A_L=8,BA_L=1,記作“8,1”,如圖2中所示。
設(shè)備N發(fā)出的反向重編址幀會(huì)被它的鄰居收到,它通過(guò)接收鄰居轉(zhuǎn)發(fā)的該幀或應(yīng)答的幀來(lái)確認(rèn)鄰居收到,必要時(shí)通過(guò)重發(fā)來(lái)確保它的所有鄰居收到這個(gè)反向重編址幀。作為鄰居的設(shè)備H、J將該幀視作設(shè)備N應(yīng)答的幀從而知道不需要再重發(fā)正向編址幀。H、J、K、L、M都將收到反向重編址幀,它們首先查詢本地存儲(chǔ)中是否有與反向重編址幀中DA、SA、TID三個(gè)數(shù)據(jù)對(duì)應(yīng)相匹配的記錄,設(shè)備M因沒(méi)有而放棄該幀并以ACK幀作為應(yīng)答,設(shè)備H、J、K、L有,于是它們繼續(xù)比較本地存儲(chǔ)的對(duì)應(yīng)BR_flag_L是否為1,由于BR_flag_L=0,于是比較SA和自己的MAC地址,顯然不相等,繼續(xù)比較本地存儲(chǔ)的對(duì)應(yīng)FA_L和反向重編址幀中的FA,設(shè)備H和J滿足FA_L循環(huán)左移1位等于FA,于是將FA_L寫到反向重編址幀的FA域,并將BA循環(huán)左移1位后重新寫到反向重編址幀的BA域,將TA域改寫為它們自己的MAC地址,F(xiàn)T域?qū)?yīng)修改TA的長(zhǎng)度指示,然后將反向重編址幀轉(zhuǎn)發(fā)出去,同時(shí)在本地存儲(chǔ)中更新以DA、SA、TID三個(gè)數(shù)據(jù)為索引相匹配的一組數(shù)據(jù)DA_L、SA_L、TID_L、FA_L、BA_L、TXn_L、RXn_L、BR_flag_L中的BA_L為更新后的BA,以及設(shè)置BR_flag_L=1。對(duì)于設(shè)備H和J,F(xiàn)A_L=4,BA_L=2,記作“4,2”,如圖2中所示。另外,設(shè)備K、L由于與目的設(shè)備N相鄰且具有相同的FA,因而轉(zhuǎn)發(fā)該反向重編址幀,轉(zhuǎn)發(fā)前BA循環(huán)左移1位并記錄于本地存儲(chǔ)中,轉(zhuǎn)發(fā)后設(shè)置BR_flag_L=1,對(duì)于設(shè)備K和L,F(xiàn)A_L=8,BA_L=2,記作“8,2”,如圖2中所示。假如目的設(shè)備N在發(fā)出該反向重編址幀前移動(dòng)位置遠(yuǎn)離了設(shè)備H和J且超出有效通信范圍,那么經(jīng)由設(shè)備K或L的轉(zhuǎn)發(fā),設(shè)備H或J仍可能接收到該反向重編址幀,此時(shí)設(shè)備H或J的BA_L將會(huì)編址為比設(shè)備K或L更低一級(jí)的數(shù)值4。
設(shè)備B會(huì)收到來(lái)自設(shè)備H、J轉(zhuǎn)發(fā)的反向重編址幀,先收到的會(huì)作本地記錄,將本地存儲(chǔ)的“FA_L,BA_L”數(shù)值記為“2,4”,以及設(shè)置BR_flag_L=1,及至收到下一個(gè)時(shí),因滿足BR_flag_L=1,因而放棄該幀,不會(huì)影響本地記錄。設(shè)備C會(huì)收到來(lái)自H轉(zhuǎn)發(fā)的反向重編址幀,因滿足條件,其本地存儲(chǔ)的“FA_L,BA_L”數(shù)值記為“2,4”,如圖2中所示。而設(shè)備G會(huì)收到來(lái)自J轉(zhuǎn)發(fā)的反向重編址幀,但不滿足條件FA_L循環(huán)左移1位等于FA,因而放棄該幀并發(fā)出ACK幀作為應(yīng)答,其對(duì)應(yīng)BA_L仍會(huì)按編址策略設(shè)置為4,其本地存儲(chǔ)的“FA_L,BA_L”數(shù)值記為“4,4”,如圖2中所示。設(shè)備B和C會(huì)收到對(duì)方轉(zhuǎn)發(fā)的反向重編址幀,因不滿足條件而放棄。
下一個(gè)層級(jí),反向重編址幀被設(shè)備B轉(zhuǎn)發(fā)到設(shè)備A和D,被設(shè)備C轉(zhuǎn)發(fā)到設(shè)備A和Y,同理設(shè)備Y不滿足條件而放棄該幀,其“FA_L,BA_L”數(shù)值如圖2中所示為“4,8”,設(shè)備A作為目標(biāo)設(shè)備接收該幀并僅接收一次,其“FA_L,BA_L”數(shù)值為“1,8”,如圖2中所示。設(shè)備A的BR_flag_L被設(shè)置為1。另外,由于設(shè)備B和D同為交易發(fā)起者A的FA下一級(jí)設(shè)備,因而設(shè)備D接收和轉(zhuǎn)發(fā)來(lái)自設(shè)備B的該反向重編址幀,設(shè)備D的“FA_L,BA_L”數(shù)值為“2,8”,如圖2中所示。假如交易發(fā)起者A在接收到該反向重編址幀前移動(dòng)位置遠(yuǎn)離了設(shè)備B和C且超出有效通信范圍,那么經(jīng)由設(shè)備D的轉(zhuǎn)發(fā),交易發(fā)起者A仍可能接收到該反向重編址幀,此時(shí)設(shè)備A的BA_L將會(huì)編址為比設(shè)備D更低一級(jí)的數(shù)值16。
從圖2可以看出,在交易發(fā)起者A和目的設(shè)備N之間,被篩選出來(lái)的中間設(shè)備B、C、H、J以及D、K、L將成為構(gòu)成互聯(lián)通道的轉(zhuǎn)接設(shè)備,可能的互聯(lián)通道是A-B-J-N、A-B-H-N、A-C-H-N或有D、K、L參與而更長(zhǎng),具體是哪一個(gè)完全由通信當(dāng)時(shí)的設(shè)備狀態(tài)決定,因?yàn)槊總€(gè)設(shè)備都在搶占通信權(quán),所以能接通的互聯(lián)通道一定是未受其它信號(hào)干擾的。從此可以看出這一建立互聯(lián)通道的方法具有隨機(jī)性和冗余性。
接下來(lái)交易發(fā)起者A發(fā)出數(shù)據(jù)幀,發(fā)送過(guò)程如圖3所示。首先設(shè)備A在媒質(zhì)空閑時(shí)發(fā)出一個(gè)數(shù)據(jù)幀,其中,F(xiàn)T被設(shè)置為代表數(shù)據(jù)幀和指示DA、SA、TA的長(zhǎng)度分別是48位還是64位,DA、SA、TID與對(duì)應(yīng)正向編址幀的一致,TA=SA,BA=8,設(shè)置TXn=1代表第一次數(shù)據(jù)幀,VLM為發(fā)送數(shù)據(jù)報(bào)文。設(shè)置本地存儲(chǔ)中對(duì)應(yīng)的TXn_L=1,RXn_L=0。
如圖3所示,設(shè)備A發(fā)出的數(shù)據(jù)幀會(huì)被它的鄰居收到,它通過(guò)接收鄰居轉(zhuǎn)發(fā)的該幀或應(yīng)答的幀來(lái)確認(rèn)收到,必要時(shí)通過(guò)重發(fā)來(lái)確保它的所有鄰居收到這個(gè)數(shù)據(jù)幀。作為鄰居的設(shè)備B、C、D、E都將收到,它們首先查詢本地存儲(chǔ)中是否有與正向編址幀中DA、SA、TID三個(gè)數(shù)據(jù)對(duì)應(yīng)都相匹配的記錄,顯然有,于是比較TXn_L=TXn – 1也滿足,再比較DA和各自的MAC地址,顯然不相等,繼續(xù)比較BA和BA_L,因?yàn)锽A=8,只有設(shè)備B和C滿足BA_L循環(huán)左移1位等于BA。于是設(shè)備B和C將數(shù)據(jù)幀的BA域改寫為4,設(shè)置TXn_L=TXn,于是TXn_L=1,并將TA域改寫為它們自己的MAC地址,F(xiàn)T域?qū)?yīng)修改TA的長(zhǎng)度指示,然后將數(shù)據(jù)幀轉(zhuǎn)發(fā)出去。經(jīng)過(guò)相似的過(guò)程,設(shè)備G和Y因?yàn)椴粷M足BA_L循環(huán)左移1位等于BA而放棄,設(shè)備H和J則滿足條件繼續(xù)轉(zhuǎn)發(fā)數(shù)據(jù)幀,最后目的設(shè)備N收到數(shù)據(jù)報(bào)文VLM。其間,設(shè)備H會(huì)先后收到來(lái)自設(shè)備B和C的轉(zhuǎn)發(fā)數(shù)據(jù)幀,由于收到其中一個(gè)后設(shè)置本地存儲(chǔ)中對(duì)應(yīng)的TXn_L=TXn,導(dǎo)致再收到轉(zhuǎn)發(fā)數(shù)據(jù)幀時(shí)不再滿足TXn_L=TXn – 1,因而實(shí)現(xiàn)了僅接收了一次同樣的數(shù)據(jù)幀。目的設(shè)備N會(huì)先后收到來(lái)自H和J的轉(zhuǎn)發(fā)數(shù)據(jù)幀,同理也只接收一次。另外,由于設(shè)備D與交易發(fā)起者A具有相同BA且相鄰,所以設(shè)備D轉(zhuǎn)發(fā)來(lái)自設(shè)備A的數(shù)據(jù)幀,會(huì)被設(shè)備B收到。假如交易發(fā)起者A移動(dòng)位置遠(yuǎn)離設(shè)備B和C且超出有效通信范圍,則有可能通過(guò)設(shè)備D的轉(zhuǎn)發(fā)而保證數(shù)據(jù)幀的傳遞。相似的,由于設(shè)備K、L與設(shè)備H、J同處于目的設(shè)備BA下一級(jí),因而設(shè)備H或J轉(zhuǎn)發(fā)數(shù)據(jù)幀給到設(shè)備K或L。假如目的設(shè)備N移動(dòng)位置遠(yuǎn)離設(shè)備H和J且超出有效通信范圍,則設(shè)備N仍有可能經(jīng)由設(shè)備K或L的轉(zhuǎn)發(fā)而接收到數(shù)據(jù)幀。
目的設(shè)備N發(fā)出數(shù)據(jù)回應(yīng)幀的過(guò)程如圖2所示,主要以是否滿足FA_L循環(huán)左移1位等于FA為判據(jù),過(guò)程與數(shù)據(jù)幀傳送相似,因而不再贅述。數(shù)據(jù)回應(yīng)幀經(jīng)由設(shè)備H、J及至設(shè)備B、C,最后由交易發(fā)起者A接收。此外,設(shè)備K、L與目的設(shè)備N具有相同F(xiàn)A且相鄰,因而轉(zhuǎn)發(fā)數(shù)據(jù)回應(yīng)幀,設(shè)備D與設(shè)備B同為交易發(fā)起者A的FA下一級(jí),因而設(shè)備D轉(zhuǎn)發(fā)來(lái)自設(shè)備B的數(shù)據(jù)回應(yīng)幀。
交易發(fā)起者A可以繼續(xù)發(fā)出多個(gè)數(shù)據(jù)幀,目的設(shè)備N對(duì)應(yīng)以數(shù)據(jù)回應(yīng)幀應(yīng)答。
作為本發(fā)明的另一個(gè)方面,正向編址和反向重編址互聯(lián)通信設(shè)備的一個(gè)實(shí)施例其結(jié)構(gòu)組成如圖4所示,包括數(shù)據(jù)處理模塊、幀發(fā)送模塊、幀接收模塊和無(wú)線收發(fā)器。
其中,數(shù)據(jù)處理模塊對(duì)數(shù)據(jù)進(jìn)行處理,對(duì)需要發(fā)出的數(shù)據(jù)按類別組幀后傳送給幀發(fā)送模塊,從所述幀接收模塊接收各類幀,解析出數(shù)據(jù),或?qū)?yīng)生成應(yīng)答的幀傳送給所述幀發(fā)送模塊,或?qū)?yīng)生成轉(zhuǎn)發(fā)的幀傳送給所述幀發(fā)送模塊。幀發(fā)送模塊接收來(lái)自數(shù)據(jù)處理模塊的各類幀并加入到發(fā)送隊(duì)列,依次通過(guò)所述無(wú)線收發(fā)器將幀發(fā)送出去。幀接收模塊從無(wú)線收發(fā)器接收各類幀并加入到接收隊(duì)列,依次傳送給數(shù)據(jù)處理模塊進(jìn)行解析。無(wú)線收發(fā)器將來(lái)自幀發(fā)送模塊的各類幀通過(guò)天線以電磁波信號(hào)發(fā)送出去,在發(fā)出前將對(duì)整幀數(shù)據(jù)作CRC-32校驗(yàn),并將校驗(yàn)結(jié)果附在幀尾,或從天線接收電磁波信號(hào)并解析出各類幀并作CRC-32校驗(yàn),通過(guò)的傳送給幀接收模塊,未通過(guò)的予以放棄。
當(dāng)交易發(fā)起者與目的設(shè)備之間通過(guò)以電磁波為媒質(zhì)的無(wú)線信號(hào)進(jìn)行通信,包括編址階段和數(shù)據(jù)階段,數(shù)據(jù)處理模塊按前面所述正向編址和反向重編址互聯(lián)通信方法實(shí)施例進(jìn)行操作,不再贅述。
本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
圖5為本發(fā)明應(yīng)用于手持設(shè)備之間傳輸文件的示意,手持設(shè)備A和手持設(shè)備B互為鄰居,因而在設(shè)備A中能知道設(shè)備B及其它如設(shè)備C、D、E的MAC地址,于是設(shè)備A可以將文件通過(guò)簡(jiǎn)單的操作就能發(fā)給設(shè)備B。及至設(shè)備A和設(shè)備B相距甚遠(yuǎn)超出有效通信范圍,因?yàn)橄嗷ブ缹?duì)方的MAC地址,通過(guò)中間設(shè)備的轉(zhuǎn)接,它們?nèi)钥梢越粨Q數(shù)據(jù)。
圖6為本發(fā)明應(yīng)用于公交車站傳輸站牌信息到多個(gè)手持設(shè)備的示意,公交車站的站牌設(shè)備A向鄰居群發(fā)行車路線等消息,手持設(shè)備B和C都會(huì)收到,設(shè)備B或C可以進(jìn)一步和站牌設(shè)備A進(jìn)行交互,以獲取更多信息。設(shè)備B或C記錄了站牌設(shè)備A的MAC地址,即使遠(yuǎn)離,也能隨時(shí)通過(guò)中間設(shè)備轉(zhuǎn)接來(lái)獲取站牌設(shè)備A的信息。
圖7為本發(fā)明應(yīng)用于車輛之間通過(guò)路燈轉(zhuǎn)接通信的示意,路燈設(shè)備覆蓋廣,位置固定,可以形成基礎(chǔ)的通信轉(zhuǎn)發(fā)節(jié)點(diǎn),汽車設(shè)備或是汽車上的手持設(shè)備借助路燈作為中間設(shè)備轉(zhuǎn)發(fā)數(shù)據(jù),可以使得汽車與汽車之間進(jìn)行通信,由于汽車在不斷改變位置,應(yīng)以短的數(shù)據(jù)幀進(jìn)行交易,每次交易都要重新經(jīng)歷編址階段以建立新的互聯(lián)通道。公路網(wǎng)縱橫交錯(cuò),覆蓋面大,以路燈作為基礎(chǔ)的通信轉(zhuǎn)發(fā)節(jié)點(diǎn),可以聯(lián)結(jié)到整個(gè)城市乃至多個(gè)城市的所有設(shè)備。
本說(shuō)明書未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。