基于IEEE802.15.4無線傳感器網(wǎng)絡(luò)的IPv6協(xié)議棧
摘要 基于TPv6 over IEEE802.15.4的無線傳感器網(wǎng)絡(luò)是目前研究的一個(gè)熱點(diǎn)。其中,設(shè)計(jì)適合傳感器節(jié)點(diǎn)的嵌入式IPv6協(xié)議棧是一個(gè)關(guān)鍵。本文在分析了IEEE802.15.4和無線傳感器網(wǎng)絡(luò)的特點(diǎn)后,針對這些特點(diǎn)提出一種嵌入式IPv6協(xié)議棧的設(shè)計(jì)方案;并在本文的最后,總結(jié)了設(shè)計(jì)時(shí)要考慮的關(guān)鍵因素。
關(guān)鍵詞 無線傳感器網(wǎng)絡(luò)IPv6協(xié)議棧 IEEE802.15.4 6LowPan
引 言
隨著互聯(lián)網(wǎng)的普及,Internet對人們生活方式的影響越來越巨大,并將繼續(xù)在未來的各領(lǐng)域持續(xù)發(fā)揮其影響力。集成了網(wǎng)絡(luò)技術(shù)、嵌入式技術(shù)、微機(jī)電系統(tǒng)(MEMS)及傳感器技術(shù)的無線傳感器網(wǎng)絡(luò)將Internet從虛擬世界延伸到物理世界,從而將邏輯上的信息世界與真實(shí)物理世界融合在一起,改變了人與自然交互的方式,滿足了人們對“無處不在”的網(wǎng)絡(luò)的需求。2000年12月IEEE成立了IEEE802.15.4工作組,致力于定義一種供廉價(jià)、固定、便攜或移動設(shè)備使用的,復(fù)雜度、成本和功耗極低的低速率無線連接技術(shù)。產(chǎn)品的方便靈活、易于連接、實(shí)用可靠及可繼承延續(xù)是市場的驅(qū)動力。一般認(rèn)為短距離的無線低功率通信技術(shù)最適合傳感器網(wǎng)絡(luò)使用,傳感器網(wǎng)絡(luò)是IEEE802.15.4標(biāo)準(zhǔn)的主要市場對象。
一方面,無線傳感器網(wǎng)絡(luò)具有“無處不在”和節(jié)點(diǎn)數(shù)量龐大等特點(diǎn),部署無線傳感器網(wǎng)絡(luò)需要數(shù)量巨大的IP地址資源;另一方面,由于無線傳感器網(wǎng)絡(luò)的應(yīng)用領(lǐng)域往往對安全性要求較高,而無線傳感器網(wǎng)絡(luò)自組織的先天性缺乏應(yīng)有的安全機(jī)制。IPv6作為下一代網(wǎng)絡(luò)協(xié)議,具有地址資源豐富、地址自動配置、安全性高、移動性好等優(yōu)點(diǎn),可以滿足無線傳感器網(wǎng)絡(luò)在地址和安全方面的需求。所以IETF于2004年11月成立了一個(gè)6LowPan(IPv6 overIEEE 802.15.4或IPv6 over LR_PAN)工作組。它規(guī)定了6LowPan技術(shù)在底層采取IEEE 802.15.4.MAC層以上采取IPv6協(xié)議棧,致力于如何將IPv6與IEEES02.15.4展開,實(shí)現(xiàn)IPv6數(shù)據(jù)包在IEEE 802.15.4上的傳輸,研究基于IPv6 over IEEE802.15.4的無線傳感器網(wǎng)絡(luò)的關(guān)鍵問題。目前這方面研究成為了一個(gè)很活躍的方向。其中,通過分析無線傳感器網(wǎng)絡(luò)對IPv6協(xié)議?;拘枨?,借助協(xié)議工程學(xué)理論和軟件工程的方法,設(shè)計(jì)并實(shí)現(xiàn)體積小,功能全、效率高,適用于IPv6無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的嵌入式IPv6協(xié)議棧,已經(jīng)成為一個(gè)很關(guān)鍵的問題。
本文在分析了無線傳感器網(wǎng)絡(luò)和IPv6 overIEEE802.15.4的技術(shù)特點(diǎn)之后,重點(diǎn)提出了一種能夠適用于無線傳感器網(wǎng)絡(luò),且底層采用IEEE802.15.4的嵌入式IPv6協(xié)議棧設(shè)計(jì)方案。最后,還總結(jié)了基于IPv6 overIEEE802.15.4無線傳感器網(wǎng)絡(luò)協(xié)議棧設(shè)計(jì)的核心原則。
1 無線傳感器網(wǎng)絡(luò)和IPV6 over IEEE 802.15.4的技術(shù)特點(diǎn)
1.1 無線傳感器網(wǎng)絡(luò)簡介
無線傳感器網(wǎng)絡(luò)由大量低功耗、低速率、低成本、高密度的微型節(jié)點(diǎn)組成,節(jié)點(diǎn)通過自我組織、自我愈合的方式組成網(wǎng)絡(luò)。圖1給出了無線傳感器網(wǎng)絡(luò)的工作原理,圖中分散的無線傳感器節(jié)點(diǎn)通過自組織方式形成傳感器網(wǎng)絡(luò)。節(jié)點(diǎn)負(fù)責(zé)采集周圍的相關(guān)信息,并采用多跳方式將這些信息通過Internet或其他網(wǎng)絡(luò)傳遞到遠(yuǎn)端的監(jiān)控設(shè)備。
無線傳感器網(wǎng)絡(luò)由許多個(gè)功能相同或不同的無線傳感器節(jié)點(diǎn)組成。每個(gè)傳感器節(jié)點(diǎn)由數(shù)據(jù)采集模塊(傳感器、A/D轉(zhuǎn)換器)、數(shù)據(jù)處理和控制模塊(微處理器、存儲器)、通信模塊(無線收發(fā)器)以及供電模塊(電池、DC/DC能量轉(zhuǎn)換器)等組成。節(jié)點(diǎn)在網(wǎng)絡(luò)中可以充當(dāng)數(shù)據(jù)采集著、數(shù)據(jù)中轉(zhuǎn)站或著簇頭節(jié)點(diǎn)(cluster-head node)的角色。作為數(shù)據(jù)采集者,數(shù)據(jù)采集模塊收集周圍環(huán)境的數(shù)據(jù)(如溫度和濕度),通過通信路由協(xié)議直接或間接將數(shù)據(jù)傳輸給遠(yuǎn)方基站(base station)或匯節(jié)點(diǎn)(sink node);作為數(shù)據(jù)中轉(zhuǎn)站,節(jié)點(diǎn)除了完成采集任務(wù)外,還要接收鄰居節(jié)點(diǎn)的數(shù)據(jù),將其轉(zhuǎn)發(fā)給距離基站更近的鄰居節(jié)點(diǎn)或者直接轉(zhuǎn)發(fā)到基站或匯節(jié)點(diǎn);作為簇頭節(jié)點(diǎn),節(jié)點(diǎn)負(fù)責(zé)收集該類內(nèi)所有節(jié)點(diǎn)采集的數(shù)據(jù),經(jīng)數(shù)據(jù)融合后,發(fā)送到基站或匯節(jié)點(diǎn)。與傳統(tǒng)Ad Hoc網(wǎng)絡(luò)相比,無線傳感器網(wǎng)絡(luò)具有一些明顯的特征:①網(wǎng)絡(luò)節(jié)點(diǎn)密度高,傳感器節(jié)點(diǎn)數(shù)量眾多,單位面積所擁有的網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)遠(yuǎn)大于傳統(tǒng)的Ad Hoc網(wǎng)絡(luò);②傳感器節(jié)點(diǎn)由電池供電,節(jié)點(diǎn)能量有限;③網(wǎng)絡(luò)拓?fù)渥兓l繁;④網(wǎng)絡(luò)應(yīng)具備容錯(cuò)能力。正是由于以上特點(diǎn).IPv6與無線傳感器網(wǎng)絡(luò)的結(jié)合對IPv6提出了一些新的要求,如IPv6地址自動分配機(jī)制和IPv6包頭壓縮機(jī)制;另外,還有一些管理問題、與無線數(shù)據(jù)鏈路層接口問題等。因此,設(shè)計(jì)IPv6微型協(xié)議棧時(shí),除了要實(shí)現(xiàn)功能完整、高效實(shí)用、占用的存儲資源少以外,如上所述的一些新要求也應(yīng)考慮進(jìn)來。
1.2 IPv6 over IEE 802 15.4的技術(shù)特點(diǎn)
IEEE 802.15.4是2004年提出的無線標(biāo)準(zhǔn)的安全網(wǎng)絡(luò)技術(shù),主要定義物理層和MAC層的協(xié)議,其余協(xié)議主要參照和采用現(xiàn)有的標(biāo)準(zhǔn),主要應(yīng)用場合是讀表自動化、自動化控制和傳惑器網(wǎng)絡(luò)。IEE802.15.4針對的就是低復(fù)雜度、低功耗、低數(shù)據(jù)速率的短距離網(wǎng)絡(luò),目標(biāo)是將普通小型電池的使用壽命延長到幾年。當(dāng)芯片批量生產(chǎn)時(shí),每個(gè)802.15.4設(shè)備的銷售價(jià)格最終不到3美元,將很好地滿足無線傳感器網(wǎng)絡(luò)的要求。IEEE802.15.4定義了兩個(gè)物理層標(biāo)準(zhǔn),即2.4GHz物理層和868/9l5MHz物理層。這兩個(gè)物理層都基于直接序列擴(kuò)額DSSS(Direct SequenceSpread Spectrum),使用相同的物理層數(shù)據(jù)包格式;區(qū)別在于工作頻率、調(diào)制技術(shù)、擴(kuò)頻碼片長度和傳輸速率。2.4 GHz波段為全球統(tǒng)一、無須申請的ISM頻段.有助于15.4設(shè)備的推廣和生產(chǎn)成本的降低。2.4GHz的物理屢通過采用高階調(diào)制技術(shù)能夠提供250kb/s的傳輸遵率,有助于獲得更高的吞吐量、更短的通信時(shí)延和工作周期,從而更加省電。868 MHz是歐洲的ISM頻段,915MHz是美國的ISM頻段,這兩個(gè)頻段的引入避免了2.4GHz附近各種無線通信設(shè)備的相互干擾。868MHz的傳輸速率為20kb/s,915 MHz是40 kb/s。由于這兩個(gè)頻段上無線信號傳播損耗較低,因此可以降低對接收機(jī)靈敏度的要求,獲得較遠(yuǎn)的有效通信距離,從而可以用較少的設(shè)備覆蓋給定的隈域,這些特點(diǎn)使其非常符臺傳感器網(wǎng)絡(luò)的應(yīng)用要求。如前所述,IEEE802.15.4只規(guī)定了物理層和MAC層,并且其市場目標(biāo)主要是無竣傳感器網(wǎng)絡(luò),所以在選擇網(wǎng)絡(luò)層標(biāo)準(zhǔn)時(shí),考慮到無線傳感器網(wǎng)絡(luò)對地址和安全性等方面的要求,以及下一代互聯(lián)網(wǎng)協(xié)議1Pv6的不斷發(fā)展和完善,在嵌入式設(shè)備中引入IPv6協(xié)議也將成為一種必然趨勢。因此,6LowPan組織建議采取如圖2所示的嵌入式IPv6協(xié)議棧,在設(shè)計(jì)時(shí)要充分考慮資源受限與功能相對完善之間的折中。
2 嵌入式IPv6協(xié)議棧的設(shè)計(jì)
2.1 嵌入式IPv6協(xié)議棧的設(shè)計(jì)思想
由于無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)一般都是嵌入式設(shè)備,所以嵌入式IPv6協(xié)議棧的設(shè)計(jì)主要應(yīng)突出“微型化”的思想。TCP/TP協(xié)議最先是在Uuix系統(tǒng)里實(shí)現(xiàn)的,由于嵌入式系統(tǒng)與PC機(jī)的差別很大,在嵌入式系統(tǒng)中實(shí)現(xiàn)TCP/IP協(xié)議與在操作系統(tǒng)巾的實(shí)現(xiàn)有很大不同,所以這是設(shè)計(jì)的核心環(huán)節(jié)。嵌入式系統(tǒng)的IPv6微型協(xié)議棧,直接面對硬件,沒有一個(gè)多任務(wù)操作系統(tǒng)平臺;MCU中的程序結(jié)構(gòu)一般是順序執(zhí)行和硬件中斷相配合的方式,與高級操作系統(tǒng)中多線程并發(fā)執(zhí)行的方式截然不同。因?yàn)閱纹瑱C(jī)上系統(tǒng)的各種資源是有限的,例如CPU的處理速度、字長,RAM、ROM存儲器的容量以及接口的數(shù)量等與通用計(jì)算機(jī)相比有很大差距,所以如何使協(xié)議棧做到精細(xì)、通信可靠、功能相對完善,而且又能發(fā)揮單片機(jī)的特點(diǎn)成為IPv6微型協(xié)議棧設(shè)計(jì)的關(guān)鍵問題?!拔⑿突彼枷胫饕w現(xiàn)在設(shè)計(jì)方案核心應(yīng)著眼于設(shè)計(jì)體積小,但又不影響運(yùn)行的協(xié)議棧,所以要對協(xié)議棧的裁剪方面進(jìn)行深入研究,去掉不必要的組件、傳統(tǒng)的復(fù)雜調(diào)度機(jī)制和額外的擴(kuò)展功能,甚至可以去除操作系統(tǒng)等。
綜合研究以上多方面因素,提出了能夠適用于無線傳感器網(wǎng)絡(luò)的嵌入式IPv6微型協(xié)議棧的設(shè)計(jì)要求。
①協(xié)議棧運(yùn)行于單片機(jī)系統(tǒng)上,具有較強(qiáng)的兼容性??梢栽谝蕴W(wǎng)上正確運(yùn)行,同時(shí)在此基礎(chǔ)上可以借助IEEE802.15.4 MAC的無線數(shù)據(jù)傳輸功能來傳送數(shù)據(jù)包。
②實(shí)現(xiàn)IPv6基本協(xié)議棧核心協(xié)議的最基本功能、包括IPv6基本描述協(xié)議、ND(鄰居發(fā)現(xiàn))協(xié)議、ICMPv6(因特網(wǎng)控制報(bào)文)協(xié)議和IPv6地址的自動配置協(xié)議等。
◆IPv6基本描述協(xié)議:IPv6數(shù)據(jù)包的發(fā)送、接收、處理等基本功能。
◆ND(鄰居發(fā)現(xiàn))協(xié)議:鄰居發(fā)現(xiàn)的地址解析功能,實(shí)現(xiàn)鄰居請求和鄰居通告。
◆ICMPv6(因特網(wǎng)控制報(bào)文)協(xié)議:主要實(shí)現(xiàn)控制報(bào)文的消息處理,以及對網(wǎng)絡(luò)診斷功能的回應(yīng)請求和回應(yīng)答復(fù)。
◆IPv6地址自動配置協(xié)議:根據(jù)IPv6地址格式的要求,主要實(shí)現(xiàn)IPv6鏈路本地地址的配置和請求節(jié)點(diǎn)多播地址的配置。
③利用對校驗(yàn)和字段的汁算與處理來提高ICMPv6、TCP等協(xié)議運(yùn)行的正確性。
④實(shí)現(xiàn)簡單的應(yīng)用層協(xié)議(如TELNET/SNMP協(xié)議),利用遠(yuǎn)程終端可以登錄到運(yùn)行嵌入式IPv6協(xié)議棧的單片機(jī)系統(tǒng),以及進(jìn)行簡單的控制和管理操作。
2.2 嵌入式IPv6協(xié)議棧的分層與模塊化設(shè)計(jì)
嵌入式IPv6協(xié)議棧采用分層結(jié)構(gòu)進(jìn)行沒計(jì),將整個(gè)協(xié)議棧(包括TCP及上層應(yīng)用)分為4個(gè)層次:事件觸發(fā)接口層、TCP/IP網(wǎng)絡(luò)協(xié)議層、NIC網(wǎng)絡(luò)接口核心層和網(wǎng)絡(luò)設(shè)備驅(qū)動接口層。
圖3是對整個(gè)協(xié)議棧的分層描述,在協(xié)議棧的工作過程中使用上層調(diào)用相鄰層的函數(shù)來實(shí)現(xiàn)相應(yīng)的功能。
各層的功能簡述如下:
①事件觸發(fā)接口層。該層對應(yīng)于TCP/IP模型的應(yīng)用層協(xié)議(OSI模型的高層協(xié)議),主要功能是定義網(wǎng)絡(luò)數(shù)據(jù)的格式以及網(wǎng)絡(luò)的應(yīng)用。
②TCP/IP網(wǎng)絡(luò)協(xié)議層。該層對應(yīng)于TCP/IP模型的傳輸層協(xié)議和網(wǎng)絡(luò)層協(xié)議(OSI模型的3、4兩層),主要功能是定義數(shù)據(jù)如何傳輸?shù)侥康牡氐?。使用TCP協(xié)議在兩臺主機(jī)之間建立端到端的連接,保證可靠的傳輸;IP協(xié)議進(jìn)行路由選擇和基于IP的尋址。
③NIC網(wǎng)絡(luò)接口核心層。該層是整個(gè)網(wǎng)絡(luò)接口的關(guān)鍵部位,其上層是具體的網(wǎng)絡(luò)協(xié)議,下層是驅(qū)動程序。它為上層提供統(tǒng)一的發(fā)送接口,屏蔽各種各樣的物理介質(zhì);同時(shí)負(fù)責(zé)把來自下層的包向合適的協(xié)議發(fā)送。
④網(wǎng)絡(luò)設(shè)備驅(qū)動接口層。該層是分層結(jié)構(gòu)的最底層,其主要功能是控制具體物理介質(zhì),從物理介質(zhì)接收和發(fā)送數(shù)據(jù),并對物理介質(zhì)進(jìn)行諸如最大數(shù)據(jù)包之類的各種設(shè)置。
結(jié)合對嵌入式IPv6協(xié)議棧設(shè)計(jì)要求和分層結(jié)構(gòu)的全面分析,將設(shè)計(jì)實(shí)現(xiàn)劃分為4個(gè)模塊,如圖4所示。
各模塊的功能簡述如下:
①網(wǎng)絡(luò)接口核心模塊。該模塊為網(wǎng)絡(luò)協(xié)議提供統(tǒng)一的發(fā)送接口,屏蔽各種各樣的物理介質(zhì);同時(shí)負(fù)責(zé)把來自下層的包向合適的協(xié)議配送。
②事件接口模塊。嵌入式IPv6協(xié)議棧沒有采用BSD套接口,而是采用了事件驅(qū)動接口。當(dāng)特定TCP/IP事件發(fā)生時(shí),將調(diào)用應(yīng)用程序;而當(dāng)應(yīng)用程序產(chǎn)生輸出數(shù)據(jù)時(shí),也通過此接口發(fā)送出去。
③SNMP網(wǎng)管模塊。該模塊負(fù)責(zé)獲取IPv6無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的相關(guān)MIB信息。
④配置最示調(diào)試命令模塊。該模塊用于提供用戶配置和調(diào)試的界面,包括配置IP地址、子網(wǎng)掩碼、默認(rèn)網(wǎng)關(guān)和MAC地址等。在程序正常運(yùn)行前,由超級終端進(jìn)入配置模式,由用戶進(jìn)行配置管理。
結(jié)語
基于IPv6 over IEEE802.15.4的無線傳感器網(wǎng)絡(luò)是一門新興的網(wǎng)絡(luò)技術(shù),人們對它的研究尚處于起步階段。本文針對基于IPv6 over IEEE802.15.4無線傳感器網(wǎng)絡(luò)自身特點(diǎn),對其關(guān)鍵技術(shù)嵌入式IPv6協(xié)議棧進(jìn)行了分析。筆者認(rèn)為,現(xiàn)有的IPv6協(xié)議棧雖然在功能、性能等方面具有很大優(yōu)勢,但由于代碼體積較大(幾MB~幾百M(fèi)B),而無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的存儲資源只有不到200KB,因而無法運(yùn)行在計(jì)算能力和存儲資源受限的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)中。所以在設(shè)計(jì)適合傳感器節(jié)點(diǎn)的嵌入式IPv6協(xié)議棧時(shí),應(yīng)充分分析和研究無線傳感器網(wǎng)絡(luò)對IPv6提出的新要求,考慮在性能和資源之間尋找一個(gè)折中的方案,充分運(yùn)用協(xié)議工程學(xué)理論和軟件工程的方法,設(shè)計(jì)一種合理、高效的嵌入式IPv6微型協(xié)議棧。這對推動無線傳感器網(wǎng)絡(luò)和IPv6的發(fā)展,以及改變?nèi)藗兊纳詈蜕献鞣绞?,具有十分重要的意義。
評論