楊青松
摘要:隨著我國(guó)無(wú)線網(wǎng)絡(luò)技術(shù)的多樣化發(fā)展以及大數(shù)據(jù)計(jì)劃的不斷推廣,大量無(wú)線異構(gòu)傳感器網(wǎng)絡(luò)間的數(shù)據(jù)通信需求變得越來(lái)越強(qiáng)烈,在眾多的無(wú)線傳感器網(wǎng)絡(luò)類(lèi)型里,ZigBee網(wǎng)絡(luò)屬于低速短途無(wú)線傳感器通信技術(shù),由于其簡(jiǎn)單、能耗低、自適應(yīng)能力強(qiáng)的優(yōu)點(diǎn),被工業(yè)自動(dòng)化監(jiān)控領(lǐng)域大量應(yīng)用,目前已發(fā)展成熟;而6LoWPAN是另一種著名的無(wú)線傳感器網(wǎng)絡(luò),其最大的特點(diǎn)是對(duì)IPv6協(xié)議的高度支持,并可實(shí)現(xiàn)復(fù)雜數(shù)據(jù)的高效傳輸,目前被廣泛地應(yīng)用在各類(lèi)手持設(shè)備接入因特網(wǎng)的場(chǎng)合,且隨著IPv4協(xié)議不斷向IPv6協(xié)議的過(guò)渡,6LoWPAN網(wǎng)絡(luò)在未來(lái)的發(fā)展?jié)摿薮蟆T撐闹饕芯窟@兩種異構(gòu)網(wǎng)絡(luò)各自的運(yùn)行機(jī)制,并對(duì)其相互通行問(wèn)題進(jìn)行研究,提出了一種協(xié)議轉(zhuǎn)換模型來(lái)解決這兩種網(wǎng)絡(luò)數(shù)據(jù)的差異性,實(shí)現(xiàn)了數(shù)據(jù)在這兩種網(wǎng)絡(luò)之間的無(wú)縫傳輸。
關(guān)鍵詞:無(wú)線傳感器網(wǎng)絡(luò);ZigBee;6LoWPAN;協(xié)議轉(zhuǎn)換模型
中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)16-0090-02
1 概述
近年來(lái),物聯(lián)網(wǎng)在我國(guó)得到了飛速的發(fā)展,我國(guó)在網(wǎng)絡(luò)通信領(lǐng)域內(nèi)提出的大數(shù)據(jù)計(jì)劃和互聯(lián)網(wǎng)+計(jì)劃都離不開(kāi)物聯(lián)網(wǎng)的支持。而在各種物聯(lián)網(wǎng)中,無(wú)線傳感器網(wǎng)絡(luò)作為其感知層的末梢環(huán)節(jié),承擔(dān)著為物聯(lián)網(wǎng)收集大規(guī)模基礎(chǔ)信息的關(guān)鍵任務(wù)。由于無(wú)線傳感器網(wǎng)絡(luò)對(duì)各種應(yīng)用環(huán)境的需求差異較大,因此目前發(fā)展出多種類(lèi)型,其中主要有ZigBee、6LoWPAN、RFID等,在以往物聯(lián)網(wǎng)應(yīng)用較為單一的情況下,這些網(wǎng)絡(luò)各自完成有限范圍內(nèi)的不同任務(wù),彼此間并不存在大規(guī)模的數(shù)據(jù)通信需求,而隨著物聯(lián)網(wǎng)的飛速發(fā)展,將現(xiàn)存的這些異構(gòu)網(wǎng)絡(luò)有機(jī)的融合成為一個(gè)整體,從而極大的提高數(shù)據(jù)在不同網(wǎng)絡(luò)間的通信效率,已經(jīng)成為了網(wǎng)絡(luò)無(wú)線通信領(lǐng)域內(nèi)的研究熱點(diǎn)。
ZigBee網(wǎng)絡(luò)采用的協(xié)議是一組以IEEE802.15.4協(xié)議為基礎(chǔ)協(xié)議集合,該協(xié)議規(guī)定了物理層和MAC層的接入機(jī)制,而在此基礎(chǔ)上,對(duì)高層協(xié)議的不同設(shè)置而衍生出不同的無(wú)線傳感器網(wǎng)絡(luò)類(lèi)型,ZigBee無(wú)疑是其中最著名的一種。該類(lèi)網(wǎng)絡(luò)主要用于工業(yè)自動(dòng)化監(jiān)控場(chǎng)合,其優(yōu)點(diǎn)是功耗低、自適應(yīng)性強(qiáng)、組網(wǎng)方便靈活、易維護(hù),缺點(diǎn)在于通信帶寬較小。另一方面,物聯(lián)網(wǎng)的發(fā)展趨勢(shì)分析,未來(lái)該領(lǐng)域內(nèi)需要解決的核心問(wèn)題就是如何快速的同因特網(wǎng)進(jìn)行無(wú)縫銜接,實(shí)現(xiàn)數(shù)據(jù)的無(wú)障礙通信,而這正是6LoWPAN網(wǎng)絡(luò)特有的優(yōu)勢(shì),該網(wǎng)絡(luò)在協(xié)議棧的高層采用IPv6,這使得其快速接入未來(lái)因特網(wǎng)這一最大的優(yōu)勢(shì)得以充分發(fā)揮,極大地?cái)U(kuò)展了網(wǎng)絡(luò)容量。
本文著眼于這兩種異構(gòu)無(wú)線網(wǎng)絡(luò)間的通信問(wèn)題,設(shè)計(jì)了相關(guān)的通信協(xié)議模型,并設(shè)計(jì)了這兩種異構(gòu)網(wǎng)絡(luò)間數(shù)據(jù)轉(zhuǎn)換的網(wǎng)關(guān)系統(tǒng),有效的優(yōu)化了數(shù)據(jù)的跨網(wǎng)絡(luò)通信效率。
2 異構(gòu)傳感網(wǎng)通信系統(tǒng)體系結(jié)構(gòu)
2.1 協(xié)議模型
圖1為協(xié)議轉(zhuǎn)換模型,左側(cè)協(xié)議棧為ZigBee網(wǎng)絡(luò)接入?yún)f(xié)議模塊,右側(cè)為6LoWPAN網(wǎng)絡(luò)接入?yún)f(xié)議模塊,而居中的主控單元是基于ARM的網(wǎng)關(guān)系統(tǒng),則負(fù)責(zé)將兩種網(wǎng)絡(luò)的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,實(shí)現(xiàn)數(shù)據(jù)的跳轉(zhuǎn)。在ZigBee網(wǎng)絡(luò)一側(cè),數(shù)據(jù)在該網(wǎng)絡(luò)內(nèi)以ZigBee協(xié)議進(jìn)行通信,當(dāng)需要將數(shù)據(jù)轉(zhuǎn)發(fā)至6LoWPAN網(wǎng)絡(luò)時(shí),則通過(guò)接入模塊進(jìn)行數(shù)據(jù)解析,隨后通過(guò)SLIP協(xié)議發(fā)給ARM處理器,在網(wǎng)關(guān)的第三層即為IPv6協(xié)議,從下層的SLIP協(xié)議接受解封的數(shù)據(jù)后,對(duì)其進(jìn)行轉(zhuǎn)換至IPv6數(shù)據(jù)包,再通過(guò)SLIP協(xié)議發(fā)送至6LoWPAN接入模塊,最后傳輸至該網(wǎng)絡(luò)中的目的節(jié)點(diǎn)。
2.2 網(wǎng)關(guān)功能
由圖1可以看出,居中的網(wǎng)關(guān)在兩種異構(gòu)網(wǎng)絡(luò)充當(dāng)了橋梁的作用,將原本無(wú)法相互通信的二者銜接了起來(lái),通過(guò)對(duì)數(shù)據(jù)的解析、轉(zhuǎn)換和再次封裝實(shí)現(xiàn)了數(shù)據(jù)的跨網(wǎng)傳輸。具體分析,網(wǎng)關(guān)在其中起到的作用主要有以下三點(diǎn):
1)協(xié)議解析功能,網(wǎng)關(guān)必須支持多種網(wǎng)絡(luò)協(xié)議,并具備對(duì)不同協(xié)議的解析并對(duì)數(shù)據(jù)進(jìn)行協(xié)議封裝的功能,如ZigBee協(xié)議、6LoWPAN協(xié)議以及IPv6協(xié)議。
2)服務(wù)查詢功能,在網(wǎng)關(guān)中,需要對(duì)用戶提出的轉(zhuǎn)發(fā)申請(qǐng)進(jìn)行及時(shí)的查詢,并找到其對(duì)應(yīng)的解決策略,同時(shí)也必須對(duì)訪問(wèn)節(jié)點(diǎn)的身份是否合法進(jìn)行審查,因此必須預(yù)先建立映射表,該表中存放的是傳感網(wǎng)節(jié)點(diǎn)EUI-64地址與所提供服務(wù)的服務(wù)表,在兩端異構(gòu)網(wǎng)絡(luò)中的任意節(jié)點(diǎn)都可根據(jù)存儲(chǔ)在網(wǎng)關(guān)中的地址來(lái)實(shí)現(xiàn)對(duì)接口的合法訪問(wèn),并獲得相應(yīng)的服務(wù)權(quán)限。
3)協(xié)議轉(zhuǎn)換功能。這也是網(wǎng)關(guān)最核心的功能,必須將EUI-64地址要轉(zhuǎn)換成IPv6地址才能夠?qū)?shù)據(jù)進(jìn)行網(wǎng)絡(luò)層的封裝,即將ZigBee數(shù)據(jù)包轉(zhuǎn)換成IPv6數(shù)據(jù)包,同時(shí)也必須能夠?qū)Pv6數(shù)據(jù)包反向轉(zhuǎn)換成ZigBee數(shù)據(jù)包。
3 系統(tǒng)功能設(shè)計(jì)
3.1 應(yīng)用層通信協(xié)議設(shè)計(jì)
應(yīng)用層位于網(wǎng)絡(luò)通信協(xié)議棧的頂層,尤其對(duì)于ZigBee網(wǎng)絡(luò)而言,應(yīng)用層與ZigBee NWK層相鄰,直接接受802.15.4協(xié)議提供的服務(wù),因此該網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)在于網(wǎng)關(guān)進(jìn)行通信時(shí),必須由應(yīng)用層負(fù)責(zé)將自身的EUI-64地址、對(duì)方節(jié)點(diǎn)的6LoWPAN的EUI-64地址以及有效的用戶數(shù)據(jù)進(jìn)行封裝,所以在網(wǎng)關(guān)和兩種異構(gòu)網(wǎng)絡(luò)的應(yīng)用層當(dāng)中就需要包含協(xié)調(diào)處理這些工作的統(tǒng)一規(guī)程,即應(yīng)用層協(xié)議。
3.2 SLIP封裝與解封裝
無(wú)論何種網(wǎng)絡(luò)首先將數(shù)據(jù)發(fā)送至網(wǎng)關(guān),都需要通過(guò)串行線路網(wǎng)際協(xié)議SLIP來(lái)完成,在封裝時(shí),該協(xié)議將將原報(bào)文中的字符0xC0替換為0XDB、0xDC,將字符0xDB替換為0xDB、0xDD,在解封階段則反向執(zhí)行。接收方節(jié)點(diǎn)在收到相關(guān)報(bào)文后,啟動(dòng)相應(yīng)的校驗(yàn)機(jī)制,通過(guò)分析SLIP的標(biāo)志位來(lái)進(jìn)行數(shù)據(jù)的正確性和完整性的判斷,并以此為依據(jù)接受或丟棄數(shù)據(jù)。
3.3 網(wǎng)關(guān)任務(wù)流程
從業(yè)務(wù)流程來(lái)看,可以講整個(gè)網(wǎng)關(guān)的工作過(guò)程分為三個(gè)主要環(huán)節(jié),即初始化環(huán)節(jié)、服務(wù)查詢環(huán)節(jié)以及數(shù)據(jù)傳輸環(huán)節(jié)。圖2為本設(shè)計(jì)網(wǎng)關(guān)的詳細(xì)工作流程,縱軸為時(shí)間軸。如圖所示,首先由網(wǎng)關(guān)初始化生成服務(wù)表“EUI-64/SER”,現(xiàn)假設(shè)首先由ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)起了通信申請(qǐng),網(wǎng)關(guān)經(jīng)審核后,如接受該請(qǐng)求,則返回服務(wù)查詢響應(yīng)報(bào)文,其首部中包含了該節(jié)點(diǎn)所需的目的地址。ZigBee節(jié)點(diǎn)將得到的地址封裝進(jìn)數(shù)據(jù)報(bào)中進(jìn)行發(fā)送,網(wǎng)關(guān)收到該報(bào)文后進(jìn)行協(xié)議轉(zhuǎn)換、封裝及轉(zhuǎn)發(fā),完成了整個(gè)跨網(wǎng)通信過(guò)程。其中主要步驟的細(xì)節(jié)如下:
1)網(wǎng)關(guān)初始化
該步驟包括兩個(gè)環(huán)節(jié),即網(wǎng)絡(luò)初始化和服務(wù)注冊(cè)。首先網(wǎng)關(guān)啟動(dòng)后,分別與兩種異構(gòu)網(wǎng)絡(luò)建立連接,此過(guò)程與ZigBee網(wǎng)絡(luò)和6LoWPAN網(wǎng)絡(luò)的啟動(dòng)初始化過(guò)程一起,被定義為網(wǎng)絡(luò)初始化環(huán)節(jié);在網(wǎng)關(guān)同兩端網(wǎng)絡(luò)建立聯(lián)系后,兩種網(wǎng)絡(luò)內(nèi)的各節(jié)點(diǎn)向網(wǎng)關(guān)上傳自己的EUI-64地址和該節(jié)點(diǎn)所實(shí)現(xiàn)的功能,即可以提供何種服務(wù),完成服務(wù)注冊(cè)環(huán)節(jié)。
2)服務(wù)查詢
節(jié)點(diǎn)A向網(wǎng)關(guān)B發(fā)起服務(wù)查詢請(qǐng)求,網(wǎng)關(guān)收到請(qǐng)求后,先驗(yàn)證其身份,通過(guò)審核后,為其在服務(wù)表中查詢對(duì)方網(wǎng)絡(luò)在本網(wǎng)關(guān)內(nèi)注冊(cè)的服務(wù)項(xiàng)目,并確定節(jié)點(diǎn)A所需要到達(dá)的節(jié)點(diǎn)C的地址,最后將此地址封裝在響應(yīng)報(bào)文中返回至A,節(jié)點(diǎn)A即可根據(jù)此地址完成數(shù)據(jù)的封裝與發(fā)送。
3)數(shù)據(jù)傳輸
封裝完成后,節(jié)點(diǎn)A將此數(shù)據(jù)包發(fā)送至網(wǎng)關(guān),網(wǎng)關(guān)由ARM處理器負(fù)責(zé)進(jìn)行接續(xù)和查詢,當(dāng)接收到數(shù)據(jù)包后依次取出兩類(lèi)地址以及數(shù)據(jù),調(diào)用UDP/IPv6封裝程序封裝成一個(gè)IPv6數(shù)據(jù)包,再使用SLIP協(xié)議進(jìn)行再次封裝,并通過(guò)串口發(fā)到6LoWPAN邊界路由器的網(wǎng)絡(luò)層,由此路由器負(fù)責(zé)對(duì)數(shù)據(jù)報(bào)進(jìn)行解析,查找目的地址等工作,隨后向下傳給MAC層及物理層,通過(guò)無(wú)線發(fā)送到目的6LoWPAN節(jié)點(diǎn),最終實(shí)現(xiàn)了數(shù)據(jù)的跨網(wǎng)傳輸過(guò)程。
4 結(jié)束語(yǔ)
本文闡述的采用網(wǎng)關(guān)實(shí)現(xiàn)異構(gòu)網(wǎng)絡(luò)無(wú)縫融合的技術(shù)在解決無(wú)線數(shù)據(jù)跨網(wǎng)通信領(lǐng)域具有較高的研究和應(yīng)用價(jià)值。隨著硬件技術(shù)、信息技術(shù)和物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,未來(lái)必將會(huì)出現(xiàn)性能更高的數(shù)據(jù)處理系統(tǒng),各種新型的協(xié)議也會(huì)不斷問(wèn)世,這些技術(shù)成果都將極大地促進(jìn)各類(lèi)異構(gòu)網(wǎng)絡(luò)的融合過(guò)程,進(jìn)一步提高無(wú)線網(wǎng)絡(luò)通信的效率。
參考文獻(xiàn):
[1] 蔣挺,趙成林.紫蜂技術(shù)及其應(yīng)用[M].北京:北京郵電大學(xué)出版社,2012.
[2] 戚劍超.基于IPv6的無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用研究[D].合肥:合肥工業(yè)大學(xué),2014.