基于IEEE 802.15.4無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的IPv6協(xié)議棧
引言
隨著(zhù)互聯(lián)網(wǎng)的普及,internet對人們生活方式的影響越來(lái)越巨大,并將繼續在未來(lái)得各領(lǐng)域持續發(fā)揮其影響力,集成了網(wǎng)絡(luò )技術(shù),嵌入式技術(shù)、微機電系統(mems)及傳感器技術(shù)的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )將internet為從虛擬世界延伸到物理世界,從而將邏輯上的信息世界與真實(shí)物理世界融合在一起,改變了人與自然交互的方式,滿(mǎn)足了人們對“無(wú)處不在”的網(wǎng)絡(luò )的需求。2000年12月ieee成立了ieee
802.15.4 工作組,致力于定義一種供廉價(jià)、固定、便捷或移動(dòng)設備使用的,復雜度、成本和功耗極低的低速率無(wú)線(xiàn)連接技術(shù),產(chǎn)品的方便靈活,易于連接、實(shí)用可靠及可繼承延續是市場(chǎng)的驅動(dòng)力,一般認為短距離的無(wú)線(xiàn)低功耗通信技術(shù)最適合傳感器網(wǎng)絡(luò )使用,傳感器網(wǎng)絡(luò )是ieee
802.15.4標準的主要市場(chǎng)對象。
一方面,無(wú)線(xiàn)傳感器網(wǎng)絡(luò )具有“無(wú)處不在”和節點(diǎn)數量龐大等特點(diǎn),部署無(wú)線(xiàn)傳感器網(wǎng)絡(luò )需要數量巨大的ip地址資源,另一方面,由于無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的應用領(lǐng)域往往對安全性要求較高,而無(wú)線(xiàn)傳感器網(wǎng)絡(luò )自組織的先天性缺乏應有的安全機制,ipv6作為下一代網(wǎng)絡(luò )協(xié)議,具有地址資源豐富、地址自動(dòng)配置、安全性高、移動(dòng)性好等優(yōu)點(diǎn),可以滿(mǎn)足無(wú)線(xiàn)傳感器網(wǎng)絡(luò )在地址和安全方面的需求,所以ietf于2004年11月成立了一個(gè)6lowpan(ipv6
over ieee 802.15.4或ipv6 over lr_pan)工作組,它規定了6lowpan技術(shù)底層采取ieee 802.15.4,mac層以上采取ipv6協(xié)議棧,致力于如何將ipv6與ieee
802.15.4展開(kāi),實(shí)現ipv6數據包在ieee 802.15.4上的傳輸,研究基于ipv6 over ieee 802.15.4的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的關(guān)鍵問(wèn)題。目前這方面研究成為了一個(gè)很活躍的方向,其中,通過(guò)分析無(wú)線(xiàn)傳感器網(wǎng)絡(luò )對ipv6協(xié)議?;拘枨?,借助協(xié)議工程學(xué)理論和軟件工程的方法,設計并實(shí)現體積小、功能全、效率高,適用于ipv6無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)的嵌入式ipv6協(xié)議棧,已經(jīng)成為一個(gè)很關(guān)鍵的問(wèn)題。
本文在分析了無(wú)線(xiàn)傳感器網(wǎng)絡(luò )和ipv6 over ieee 802.15.4的技術(shù)特點(diǎn)之后,重點(diǎn)提出了一種能夠適用于無(wú)線(xiàn)傳感器網(wǎng)絡(luò ),且底層采用ieee
802.15.4的嵌入式ipv6協(xié)議棧設計方案,最后,還總結了基于ipv6 over ieee 802.15.4無(wú)線(xiàn)傳感器網(wǎng)絡(luò )協(xié)議棧設計的核心原則。
1 無(wú)線(xiàn)傳感器網(wǎng)絡(luò )和ipv6 over ieee 802.15.4的技術(shù)節點(diǎn)
1.1 無(wú)線(xiàn)傳感器網(wǎng)絡(luò )簡(jiǎn)介
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )由大量低功耗、低速率、低成本、高密度的微型節點(diǎn)組成,節點(diǎn)通過(guò)自我組織、自我愈合的方式組成網(wǎng)絡(luò ),圖1給出了無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的工作原理,圖中分散的無(wú)線(xiàn)傳感器節點(diǎn)通過(guò)自組織方式形成傳感器網(wǎng)絡(luò )。節點(diǎn)負責采集周?chē)南嚓P(guān)信息,并采用多跳方式將這些信息通過(guò)internet或其他網(wǎng)絡(luò )傳遞到遠端的監控設備。

無(wú)線(xiàn)傳感器網(wǎng)絡(luò )由許多個(gè)功能相同或不同的無(wú)線(xiàn)傳感器節點(diǎn)組成。每個(gè)傳感器節點(diǎn)由數據采集模塊(傳感器、a/d轉換器)、數據處理和控制模塊(微處理器、存儲器)、通信模塊(無(wú)線(xiàn)收發(fā)器)以及供電模塊(電池、dc/dc能量轉換器)等組成。節點(diǎn)在網(wǎng)絡(luò )中可以充當數據采集者、數據中轉站或者簇頭節點(diǎn)(cluster-head
node)的角色。作為數據采集者,數據采集模塊收集周?chē)h(huán)境的數據(如溫度和濕度),通過(guò)通信路由協(xié)議直接或間接將數據傳輸給遠方基站(base
station)或匯節點(diǎn)(sink node);作為數據中轉站,節點(diǎn)除了完成采集任務(wù)外,還要接收鄰居節點(diǎn)的數據,將其轉發(fā)給距離基站更近的鄰居節點(diǎn)或者直接轉發(fā)到基站或匯節點(diǎn);作為簇頭節點(diǎn),節點(diǎn)負責收集該類(lèi)內所有節點(diǎn)采集的數據,經(jīng)數據融合后,發(fā)送到基站或匯節點(diǎn)。與傳統ad
hoc網(wǎng)絡(luò )相比,無(wú)線(xiàn)傳感器網(wǎng)絡(luò )具有一些明顯的特征:1)網(wǎng)絡(luò )節點(diǎn)密度高,傳感器節點(diǎn)數量眾多,單位面積所擁有的網(wǎng)絡(luò )節點(diǎn)數遠大于傳統的ad
hoc網(wǎng)絡(luò ),2)傳感器節點(diǎn)由電池供電,節點(diǎn)能量有限;3)網(wǎng)絡(luò )拓撲變化頻繁;4)網(wǎng)絡(luò )應具備容錯能力,正是由于以上特點(diǎn),ipv6已無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的結合對ipv6提出了一些新的要求,如ipv6地址自動(dòng)分配機制和ipv6包頭壓縮機制,另外,還有一些管理問(wèn)題、與無(wú)線(xiàn)數據鏈路層接口問(wèn)題等,因此,設計ipv6微型協(xié)議棧時(shí),除了要實(shí)現功能完整,高效實(shí)用。占用的存儲資源少以外,如上所述的一些新要求也應考慮進(jìn)來(lái)。
1.2 ipv6 over ieee 802.15.4的技術(shù)特點(diǎn)
ieee 802.15.4是2004年提出的無(wú)線(xiàn)標準的安全網(wǎng)絡(luò )技術(shù),主要定義物理層和mac層的協(xié)議,其余協(xié)議主要參照和采用現有的標準,主要應用場(chǎng)合是讀表自動(dòng)化、自動(dòng)化控制和傳感器網(wǎng)絡(luò ),ieee
802.15.4針對的就是低復雜度、低功耗、低數據速率的短距離網(wǎng)絡(luò ),目標是將普通小型電池的使用壽命延長(cháng)到幾年,當芯片批量生產(chǎn)時(shí),每個(gè)802.15.4設備的銷(xiāo)售價(jià)格最終不到3美元,將很好地滿(mǎn)足無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的要求,ieee
802.15.4定義了兩個(gè)物理層標準,即2.4ghz物理層和868/915mhz物理層。這兩個(gè)物理層都基于直接序列擴頻dsss(direct
sequence spread spectrum),使用相同的物理層數據包格式;區別在于工作頻率、調制技術(shù)、擴頻碼片長(cháng)度和傳輸速率。2.4ghz波段為全球統一、無(wú)須申請的ism頻段,有助于15.4設備的推廣和生產(chǎn)成本的降低。2.4ghz的物理層通過(guò)采用高階調制技術(shù)能夠提供250kb/s的傳輸速率,有助于獲得更高的吞吐量、更短的通信時(shí)延和工作周期,從而更加省電。868mhz是歐洲的ism頻段,915mhz是美國的ism頻段,這兩個(gè)頻段的引入避免了2.4ghz附近各種無(wú)線(xiàn)通信設備的相互干擾,868mhz的傳輸速率為20kb/s,915mhz和40kb/s。由于這兩個(gè)頻段上無(wú)線(xiàn)信號傳播損耗較低,因此可以降低對接收機靈敏度的要求,獲得較遠的有效通信距離,從而可以用較少的設備覆蓋給定的區域,這些特點(diǎn)使其非常符合傳感器網(wǎng)絡(luò )的應用要求,如前所述,ieee
802.15.4只規定了物理層和mac層,并且市場(chǎng)目標主要是無(wú)線(xiàn)傳感器網(wǎng)絡(luò ),所以在選擇網(wǎng)絡(luò )層標準時(shí),考慮到無(wú)線(xiàn)傳感器網(wǎng)絡(luò )對地址和安全性等方面的要求,以及下一代互聯(lián)網(wǎng)協(xié)議ipv6的不斷發(fā)展和完善,在嵌入式設備中引入ipv6協(xié)議也將成為一種必然趨勢,因此,6lowpan組織建議采取如圖2所示的嵌入式ipv6協(xié)議棧,在設計時(shí)要充分考慮資源受限與功能相對完善之間的折中。

2 嵌入式ipv6協(xié)議棧的設計
2.1 嵌入式ipv6協(xié)議棧的設計思想
由于無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)一般都是嵌入式設備,所以嵌入式ipv6協(xié)議棧的設計主要應突出“微型化”的思想,tcp/ip協(xié)議最先在uuix系統里實(shí)現的,由于嵌入式系統與pc機的差別很大,在嵌入式系統中實(shí)現tcp/ip協(xié)議與在操作系統中的實(shí)現有很大不同,所以這是設計的核心環(huán)節。嵌入式系統的ipv6微型協(xié)議棧,直接面對硬件,沒(méi)有一個(gè)多任操作系統平臺,mcu中的程序結構一般是順序執行和硬件中斷相匹配的方式,與高級操作系統中多線(xiàn)程并發(fā)執行的方式截然不同,因為單片機上系統的各種資源是有限的,例如cpu的處理速度、字長(cháng)、ram、rom存儲器的容量以及接口的數量等與通用計算機相比有很大差距,所以如何使協(xié)議棧做到精細、通信可靠、功能相對完善,而且又能發(fā)揮單片機的特點(diǎn)成為ipv6微型協(xié)議棧設計的關(guān)鍵問(wèn)題?!拔⑿突彼枷胫饕w現在設計方案核心應著(zhù)眼于設計體積小,但又不影響運行的協(xié)議棧,所以要對協(xié)議棧的剪切方面進(jìn)行深入研究,去掉不必要的組件,傳統的復雜調度機制和額外的擴展功能,甚至可去除操作系統等。
綜合研究以上多方面因素,提出了能夠適用于無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的嵌入式ipv6微型協(xié)議棧的設計要求。
1)協(xié)議棧運行于單片機系統上,具有較強的兼容性,可以在以太網(wǎng)上正確運行,同時(shí)在此基礎上可以借助ieee 802.15.4 mac的無(wú)線(xiàn)數據傳輸功能來(lái)傳送數據包。
2)實(shí)現ipv6基本協(xié)議棧核心協(xié)議的最基本功能,包括ipv6基本描述協(xié)議,nd(鄰居發(fā)現)協(xié)議、icmpv6(因特網(wǎng)控制報文)協(xié)議和ipv6地址的自動(dòng)配置協(xié)議等。
◆ ipv6基本描述協(xié)議;ipv6數據包的發(fā)送、接收、處理等基本功能。
◆ nd(鄰居發(fā)現)協(xié)議:鄰居發(fā)現的地址解析功能,實(shí)現鄰居請求和鄰居通告。
◆ icmpv6(因特網(wǎng)控制報文)協(xié)議:主要實(shí)現控制報文的消息處理,以及對網(wǎng)絡(luò )診斷功能的回應請求和回應答復。
◆ ipv6地址自動(dòng)配置協(xié)議:根據ipv6地址格式的要求,主要實(shí)現ipv6鏈路本地地址的配置和請求節點(diǎn)多播地址的配置。
3)利用對校驗和字段的計算與處理來(lái)提高icmpv6,tcp等協(xié)議運行的正確性。
4)實(shí)現簡(jiǎn)單的應用層協(xié)議(如telnet/snmp協(xié)議),利用遠程終端可以登陸到運行嵌入式ipv6協(xié)議棧的單片機系統,以及進(jìn)行簡(jiǎn)單的控制和管理操作。
2.2 嵌入式ipv6協(xié)議棧的分層與模塊化設計
嵌入式ipv6協(xié)議棧采用分層結構進(jìn)行設計,將整個(gè)協(xié)議棧(包括tcp及上層應用)分為4個(gè)層次,事件觸發(fā)接口層、tcp/ip網(wǎng)絡(luò )協(xié)議層、nic網(wǎng)絡(luò )接口核心層和網(wǎng)絡(luò )設備驅動(dòng)接口層。
圖3是對整個(gè)協(xié)議棧的分層描述,在協(xié)議棧的工作過(guò)程中使用上層調用相鄰層的函數來(lái)實(shí)現相應的功能。

各層的功能簡(jiǎn)述如下:
1)事件觸發(fā)接口層。該層對應于tcp/ip模型的應用層協(xié)議(osi模型的高層協(xié)議),主要功能是定義網(wǎng)絡(luò )數據的格式以及網(wǎng)絡(luò )的應用。
2)tcp/ip網(wǎng)絡(luò )協(xié)議層。該層對應于tcp/ip模型的傳輸層協(xié)議和網(wǎng)絡(luò )層協(xié)議(osi模型的3.4兩層),主要功能是定義數據如何傳輸到目的地的,使用tcp協(xié)議在兩臺主機之間建立端到端的連接,保證可靠的傳輸,ip協(xié)議進(jìn)行路由選擇和基于ip的尋址。
3)nic網(wǎng)絡(luò )接口核心層。該層是整個(gè)網(wǎng)絡(luò )接口的關(guān)鍵部位,其上層是具體的網(wǎng)絡(luò )協(xié)議,下層是驅動(dòng)程序,它為上層提供統一的發(fā)送接口,屏蔽各式各樣的物理介質(zhì),同時(shí)負責把來(lái)自下層的包向合適的協(xié)議發(fā)送。
4)網(wǎng)絡(luò )設備驅動(dòng)接口層,該層是分層結構的最底層,其主要功能是控制具體物理介質(zhì),從物理介質(zhì)接收和發(fā)送數據,并對物理介質(zhì)進(jìn)行諸如最大數據包之類(lèi)的各種設置。
結合對嵌入式ipv6協(xié)議棧設計要求和分層結構的全面分析,將設計實(shí)現劃分為4個(gè)模塊,如圖4所示。

各模塊的功能簡(jiǎn)述如下:
1)網(wǎng)絡(luò )接口核心模塊,該模塊為網(wǎng)絡(luò )協(xié)議提供統一的發(fā)送接口,屏蔽各式各樣的物理介質(zhì),同時(shí)負責把來(lái)自下層的包向合適的協(xié)議配送。
2)事件接口模塊,嵌入式ipv6協(xié)議棧沒(méi)有采用bsd套接口,而是采用了事件驅動(dòng)接口,當特定tcp/ip事件發(fā)生時(shí),將調用應用程序,而當應用程序產(chǎn)生輸出數據時(shí),也通過(guò)此接口發(fā)送出去。
3)snmp網(wǎng)管模塊。該模塊負責獲取ipv6無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)的相關(guān)mib信息。
4)配置顯示調試命令模塊,該模塊用于提供用戶(hù)配置和調試的界面。包括配置ip地址、子網(wǎng)掩碼、默認網(wǎng)關(guān)和mac地址等,在程序正常運行前,由超級終端進(jìn)入配置模式,由用戶(hù)進(jìn)行配置管理。
結語(yǔ)
基于ipv6 over ieee 802.15.4的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )是一門(mén)新興的網(wǎng)絡(luò )技術(shù),人們對它的研究尚處于起步階段,本文針對基于ipv6
over ieee 802.15.4無(wú)線(xiàn)傳感器網(wǎng)絡(luò )自身特點(diǎn),對其關(guān)鍵技術(shù)嵌入式ipv6協(xié)議棧進(jìn)行了分析,筆者認為,現有的ipv6協(xié)議棧雖然在功能、性能等方面具有很大優(yōu)勢,但由于代碼體積較大(幾mb-幾百mb),而無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)的存儲資源只有不到200mb,因而無(wú)法運行在計算能力和存儲資源受限的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)中。所以在設計適合傳感器節點(diǎn)的嵌入式ipv6協(xié)議棧時(shí),應充分分析和研究無(wú)線(xiàn)傳感器網(wǎng)絡(luò )對ipv6提出的新要求,考慮在性能和資源之間尋找一個(gè)折中的方案。充分運用協(xié)議工程學(xué)理論和軟件工程的方法,設計一種合理、高效的嵌入式ipv6微型協(xié)議棧,這對推動(dòng)無(wú)線(xiàn)傳感器網(wǎng)絡(luò )和ipv6的發(fā)展,以及改變人們的生活和工作方式,具有十分重要的意義。
評論