當(dāng)前位置:首頁 > 消費電子 > 消費電子
[導(dǎo)讀]本文針對無線傳感器網(wǎng)絡(luò)與IPv6網(wǎng)絡(luò)互聯(lián),在分析現(xiàn)有接入方式不足的基礎(chǔ)上提出了一種基于IPv6的無線傳感器網(wǎng)絡(luò)邊界路由器的設(shè)計方案。方案主要闡述了邊界路由器的硬件和軟件設(shè)計的實現(xiàn),重點介紹了基于IPv6的無線傳感器網(wǎng)絡(luò)協(xié)議棧適配層的設(shè)計。通過數(shù)據(jù)包分片與重組機制以及報頭壓縮機制,協(xié)議棧適配層實現(xiàn)了IPv6數(shù)據(jù)包在IEEE 802.15.4鏈路中的傳輸。實驗結(jié)果表明,該設(shè)計方案實現(xiàn)了無線傳感器網(wǎng)絡(luò)與IPv6網(wǎng)絡(luò)的無縫融合,數(shù)據(jù)傳輸穩(wěn)定可靠,具有實用性的應(yīng)用價值。

0 引言

無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)近年來發(fā)展迅速,在環(huán)境保護、工業(yè)設(shè)備監(jiān)控、醫(yī)療監(jiān)護、農(nóng)田監(jiān)測、智能家居、市政交通管理、軍事偵察等領(lǐng)域具有廣闊的應(yīng)用前景。無線傳感器網(wǎng)絡(luò)的諸多應(yīng)用都需要遠(yuǎn)程用戶能夠方便地對無線傳感器網(wǎng)絡(luò)資源進行訪問、控制和使用。TCP/IP的廣泛應(yīng)用已經(jīng)使其成為事實上的協(xié)議標(biāo)準(zhǔn),加之IPv6 的諸多優(yōu)良特性,都使得實現(xiàn)無線傳感器網(wǎng)絡(luò)與IPv6網(wǎng)絡(luò)的互聯(lián)與融合是當(dāng)前最現(xiàn)實的選擇。

目前,無線傳感器網(wǎng)絡(luò)與IPv6 網(wǎng)絡(luò)互聯(lián)主要有網(wǎng)關(guān)接入和直接接入兩種方式。其中,網(wǎng)關(guān)接入是指利用網(wǎng)關(guān)在無線傳感器網(wǎng)絡(luò)和IP 網(wǎng)絡(luò)之間進行協(xié)議轉(zhuǎn)換,實現(xiàn)數(shù)據(jù)的轉(zhuǎn)發(fā)任務(wù),但是網(wǎng)關(guān)接入還存在著網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜、成本較高等諸多問題;直接接入方式是指在無線傳感器網(wǎng)絡(luò)節(jié)點直接運行IPv6 協(xié)議,能夠?qū)崿F(xiàn)無線傳感器網(wǎng)絡(luò)和Internet網(wǎng)絡(luò)的無縫融合。無線傳感器網(wǎng)絡(luò)是低速率、低功耗的資源受限網(wǎng)絡(luò),在無線傳感器節(jié)點上并不適合直接運行標(biāo)準(zhǔn)IPv6協(xié)議。

本文提出了一種基于JN5148模塊的無線傳感器網(wǎng)絡(luò)邊界路由器的設(shè)計方案,該方案能夠?qū)崿F(xiàn)無線傳感器網(wǎng)絡(luò)與IPv6 網(wǎng)絡(luò)的無縫融合,并通過實際測試證明了該方案的可行性。

1 邊界路由器硬件設(shè)計

邊界路由器硬件包括射頻模塊、處理器模塊和電源模塊等部分。其中,射頻模塊負(fù)責(zé)IEEE 802.15.4 數(shù)據(jù)幀的收發(fā);處理器模塊負(fù)責(zé)解析收到的數(shù)據(jù)幀,選擇路徑后進行轉(zhuǎn)發(fā)處理;電源模塊負(fù)責(zé)對其他模塊供電。邊界路由器的硬件結(jié)構(gòu)如圖1所示。

 

 

1.1 射頻模塊

目前,無線傳感器網(wǎng)絡(luò)領(lǐng)域面向不同應(yīng)用的協(xié)議棧眾多,其中絕大部分協(xié)議棧都把IEEE 802.15.4作為物理層和數(shù)據(jù)鏈路層的無線通信標(biāo)準(zhǔn)。支持IEEE 802.15.4的射頻模塊主要有Jennic 公司的JN5148、Ember250、MC13192、TI公司的CC2430 和Digi公司的XBEE 模塊。

其中,JN5148模塊將射頻芯片與處理器集成一體,內(nèi)置了IEEE 802.15.4 協(xié)議,不需要自行設(shè)計無線射頻天線接口,開發(fā)成本較低,本文設(shè)計中選用Jennic 公司的JN5148 模塊作為邊界路由器的處理器和射頻模塊。

JN5148模塊集成了基于OpenRISC核的32位RISC處理器,擁有完全兼容2.4 GHz IEEE 802.15.4標(biāo)準(zhǔn)的無線收發(fā)器,128 KB 的RAM 運行應(yīng)用程序,512 KB 的FLASH能夠滿足包括存儲應(yīng)用程序在內(nèi)的大部分需求。

1.2 串行通信接口設(shè)計

無線傳感器網(wǎng)絡(luò)數(shù)據(jù)流量較小,對網(wǎng)絡(luò)帶寬要求不高,因此邊界路由器與Internet網(wǎng)絡(luò)之間可以采用UART串行總線連接。目前,各種網(wǎng)絡(luò)設(shè)備中普遍應(yīng)用USB接口,可以使用轉(zhuǎn)換電路將USB接口轉(zhuǎn)換為UART串行總線接口,本文選擇FTDI232R芯片完成電平匹配和接口轉(zhuǎn)換,F(xiàn)TDI232R 是一款可編程的USB 接口轉(zhuǎn)UART 接口的集成芯片,具有3.3 V電壓輸出,可編程顯示數(shù)據(jù)收發(fā)狀態(tài)。具體電路如圖2所示。

 

 

2 邊界路由器軟件設(shè)計

2.1 協(xié)議棧框架設(shè)計

無線傳感器網(wǎng)絡(luò)協(xié)議棧是無線傳感器網(wǎng)絡(luò)軟件設(shè)計的核心,是無線傳感器網(wǎng)絡(luò)組網(wǎng)、節(jié)點與邊界路由器以及節(jié)點與節(jié)點之間數(shù)據(jù)通信的基礎(chǔ)。為了滿足無線傳感器網(wǎng)絡(luò)全IP 互聯(lián),需要精簡IPv6 協(xié)議以及實現(xiàn)IPv6數(shù)據(jù)幀在IEEE 802.15.4幀中傳輸。本文設(shè)計的邊界路由器采用基于IPv6的無線傳感器網(wǎng)絡(luò)協(xié)議棧。協(xié)議??蚣苋鐖D3所示。

 

 

IEEE 802.15.4物理層主要負(fù)責(zé)啟動和關(guān)閉射頻收發(fā)器、能量檢測與信道掃描、清除信道評估以及無線電波信號的調(diào)制和解調(diào)等工作。IEEE 802.15.4 MAC層主要完成信道接入、鏈路的連接及斷開以及數(shù)據(jù)通信的差錯及流量控制等工作。輕量級操作系統(tǒng)Contiki負(fù)責(zé)協(xié)議棧各層任務(wù)調(diào)度及管理,保證協(xié)議棧工作的實時性。

協(xié)議棧包括的任務(wù)有自組網(wǎng)任務(wù)、適配層主任務(wù)、網(wǎng)絡(luò)維護任務(wù)、IP層任務(wù)以及應(yīng)用層任務(wù),任務(wù)調(diào)度關(guān)系如圖4 所示。

 

 

本設(shè)計選用的JN5148 模塊內(nèi)部集成了IEEE802.15.4的物理層和MAC層協(xié)議,因此,協(xié)議棧設(shè)計的重點是適配層、IP網(wǎng)絡(luò)層和傳輸層。

2.2 適配層設(shè)計

組建網(wǎng)絡(luò)是邊界路由器適配層需要完成的基本任務(wù),系統(tǒng)啟動后,自組網(wǎng)任務(wù)負(fù)責(zé)在選定信道和網(wǎng)絡(luò)16位PAN_ID后建立網(wǎng)絡(luò)。網(wǎng)絡(luò)維護任務(wù)在網(wǎng)絡(luò)建立后維持父節(jié)點與子節(jié)點之間的鏈路穩(wěn)定,并在鏈路出現(xiàn)異常時進行上報并嘗試修復(fù)鏈路。IEEE 802.15.4物理層數(shù)據(jù)單元最大為127 B,而IPv6 要求鏈路支持的最小MTU(Maximum Transmission Unit,MTU)長度為1 280 B,明顯不支持此長度MTU.適配層介于IEEE 802.15.4 MAC層和IP 層之間,因此適配層主任務(wù)除了負(fù)責(zé)管理MAC層協(xié)議事件之外,主要完成節(jié)點自動地址配置、IP數(shù)據(jù)包的分片與重組和IP數(shù)據(jù)包頭壓縮與解壓等功能以實現(xiàn)IP數(shù)據(jù)包在IEEE 802.15.4鏈路中的傳輸。

2.2.1 地址映射機制

基于IPv6的無線傳感器網(wǎng)絡(luò)中每個節(jié)點都需要配置惟一的IPv6 地址,但是手動配置繁瑣并且難以保證地址惟一性。本文設(shè)計的無線傳感器網(wǎng)絡(luò)邊界路由器采用無狀態(tài)地址自動配置機制。IPv6地址由全局地址前綴和接口標(biāo)識ID(Interface ID,IID)兩部分組成。因為每一個射頻模塊都分配有一個全球惟一的IEEE EUI-64標(biāo)識符,即64位MAC 地址,因此可以利用EUI-64標(biāo)識符獲得一個IPv6地址接口標(biāo)識ID來實現(xiàn)無狀態(tài)地址自動配置。

2.2.2 適配層分片與重組機制

為了減少適配層包頭開銷,適配層幀頭分為不分片和分片兩種格式,分別用于IP數(shù)據(jù)包長度小于MAC層MTU 的報文和IP 數(shù)據(jù)包長度大于MAC 層MTU 的報文。適配層不分片幀頭格式與常規(guī)幀頭相同,分片幀頭又分為第一個分片和后續(xù)分片兩種格式,如圖5和圖6所示。

 

 

節(jié)點適配層接收到適配層數(shù)據(jù)包時,首先檢查該數(shù)據(jù)包是否分片,如果是一個分片的數(shù)據(jù)包,則在將所有數(shù)據(jù)分片重新組合成完整的IP 數(shù)據(jù)包后,再傳送到IP網(wǎng)絡(luò)層處理;若某一個分片丟失,則丟棄該IP數(shù)據(jù)包的所有后續(xù)分片。對于IP 層下發(fā)的數(shù)據(jù)包,節(jié)點適配層判斷IP報文長度是否超過鏈路層MTU 長度,若超過鏈路層MTU長度,則將此IP數(shù)據(jù)包分片后發(fā)送;若不超過鏈路層MTU長度,則按照不分片格式發(fā)送。

適配層的每一種數(shù)據(jù)幀都有調(diào)度編碼位域(8位),不同的調(diào)度編碼位域表示不同的解析方式,主要包括不分片、分片、IP包頭壓縮、UDP報頭壓縮以及預(yù)留功能等多種類型。其中,11000xxx表示本數(shù)據(jù)幀是已分片適配層數(shù)據(jù)幀的第一個分片,11100xxx則表示本數(shù)據(jù)幀是已分片適配層數(shù)據(jù)幀的后續(xù)分片。

datagram_size:11 b,表示鏈路層未分包之前的IP數(shù)據(jù)包的總長度,該IP 數(shù)據(jù)包所有鏈路層分片的該字段的值都應(yīng)該相同。

datagram_tag:16 b,分片標(biāo)識,用來區(qū)分同一數(shù)據(jù)源節(jié)點的不同IP數(shù)據(jù)包。同一個IP數(shù)據(jù)包的所有鏈路層分片都具有相同的分片標(biāo)識,數(shù)據(jù)源節(jié)點每成功發(fā)送一個完整的IP數(shù)據(jù)包都更新(加1)該字段的值。

datagram_offset:8 b,分片偏移量,表示該分片在所有分片中的偏移量(以8 B 為單位),該字段只出現(xiàn)在第二個及后續(xù)分片中。

2.2.3 適配層報頭壓縮機制

標(biāo)準(zhǔn)IPv6 網(wǎng)絡(luò)層報文和UDP 報文的報頭分別有40 B 和8 B,由此帶來的數(shù)據(jù)傳輸報頭開銷極大,因此本文適配層對IP報文和UDP報文的包頭格式進行了壓縮處理。由于TCP報文并不適合無線傳感器網(wǎng)絡(luò)這種多跳、數(shù)據(jù)傳輸延遲較大的網(wǎng)絡(luò)[11],故本文暫不考慮TCP報文。根據(jù)無線傳感器網(wǎng)絡(luò)的上下文信息,IPv6版本號和負(fù)載長度可以省略,通信流類型、流標(biāo)簽、下一包頭、跳數(shù)限制以及源地址和目的地址設(shè)置壓縮控制域進行部分壓縮。IPv6 網(wǎng)絡(luò)層報文頭部壓縮格式如圖7所示。[!--empirenews.page--]

 

 

011xxxxx為調(diào)度編碼位域,其中最右端5位用于報頭壓縮編碼。各編碼字段定義如下:

TF:2 b,通信流類型和流標(biāo)簽。其中通信流類型由查分服務(wù)代碼點DSCP 和顯示擁塞反饋ECN,當(dāng)TF=11時,通信流類型和流標(biāo)簽全都省略;當(dāng)TF=00時,通信流類型和流標(biāo)簽都不壓縮;當(dāng)TF=01 時,DSCP 省略;當(dāng)TF=10時,流標(biāo)簽省略。

NH:1 b,下一包頭。NH=0,表示下一包頭未壓縮;NH=1時,下一包頭已壓縮。

HLIM:2 b,跳數(shù)限制。當(dāng)HLIM 等于00、01、10 和11時,分別表示未壓縮、1跳、64跳和255跳。

M:1 b,指示目的地址類型。當(dāng)M=0 時,目的地址不是多播地址;當(dāng)M=1時,目的地址為多播地址。

SAC:1 b,表示源地址的壓縮方式,當(dāng)它為0時表示使用的是無狀態(tài)頭部壓縮;為1時表示使用的是基于上下文的頭部壓縮。

SAM 用來控制不同壓縮方式下源地址壓縮方式。

DAC與DAM 的控制目的地址的壓縮方式,具體含義與SAC和SAM相似。

傳輸層UDP 報文緊跟在IPv6 網(wǎng)絡(luò)層包頭后面,UDP 包頭壓縮比較簡單,是否壓縮由前述NH 字段指定。標(biāo)準(zhǔn)UDP報文頭部中的長度域省略,源端口號、目的端口號以及校驗和域的壓縮方式由P和C字段表示,校驗和域暫不壓縮。UDP報文頭部具體壓縮格式如圖8所示。

 

 

眾所周知,TCP/IP 端口號為16 位,通常以0xf0 和0xf0b開始,其壓縮方式由P字段指定,具體如下:

00:不壓縮;01:目的端口號前8位(0xf0)省略,其他部分和源端口號保留;10:源端口號前8位(0xf0)省略,其他部分和目的端口保留;11:目的端口和源端口的前12位(oxf0b)省略,其他部分保留。

2.3 IP網(wǎng)絡(luò)層與傳輸層設(shè)計

標(biāo)準(zhǔn)TCP/IP 協(xié)議占用資源較多,而無線傳感器網(wǎng)絡(luò)屬于資源受限網(wǎng)絡(luò),因此邊界路由器的設(shè)計要特別注意協(xié)議棧資源占用。uip IPv6(uIPv6)協(xié)議棧專為資源受限的設(shè)備設(shè)計,RAM的占用量只有1.7 KB,代碼量只有[12]11.5 KB,因此選擇移植uip IPv6 協(xié)議棧作為基于IPv6的無線傳感器網(wǎng)絡(luò)協(xié)議的IP層和傳輸層。

uip IPv6 協(xié)議棧的IP 網(wǎng)絡(luò)層和傳輸層使用同一個數(shù)據(jù)緩存區(qū),因此可以將IP 網(wǎng)絡(luò)層和傳輸層統(tǒng)一處理。本設(shè)計中各功能模塊由輕量級操作系統(tǒng)Contiki統(tǒng)一調(diào)度,因而設(shè)計一個IP 網(wǎng)絡(luò)層任務(wù)集中處理從適配層接收到的數(shù)據(jù)包和應(yīng)用層需要發(fā)送的數(shù)據(jù)包。

3 測試與分析

3.1 測試平臺搭建

邊界路由器負(fù)責(zé)WSN 網(wǎng)絡(luò)與IPv6 網(wǎng)絡(luò)之間的通信,本文實驗驗證了邊界路由器的工作性能。實驗測試平臺包括一個邊界路由器、一個傳感器節(jié)點和一臺Linux主機,其中邊界路由器通過UART接口與Linux主機的USB口連接,鏈路層運行slip協(xié)議。邊界路由器和傳感器節(jié)點的IPv6地址配置為aaaa::215:8d00:b:6840和aaaa::215:8d00:b:67d3,Linux主機端運行slip守護程序來監(jiān)聽USB口,其IPv6地址為aaaa::1.

3.2 測試結(jié)果分析

通過在Linux 主機上向傳感器節(jié)點(IPv6 地址為aaaa::215:8d00:b:67d3)發(fā)送ping6 報文,來測試傳感器節(jié)點的可達性,以驗證邊界路由器的正常工作,實驗結(jié)果如圖9所示。

 

 

實驗對邊界路由器的數(shù)據(jù)包轉(zhuǎn)發(fā)率、平均傳輸延遲和傳輸穩(wěn)定性進行了分析。其中,數(shù)據(jù)包轉(zhuǎn)發(fā)率是指Linux 主機收到的echo 報文數(shù)量和發(fā)送的ping6報文數(shù)量之比;平均傳輸延遲是指Linux主機發(fā)送ping6報文和接收到echo報文之間的平均時間間隔;傳輸穩(wěn)定性是指傳輸延遲的變化幅度,用算術(shù)平均差評定。分析結(jié)果如圖10~圖12所示。

 

 

 

 

如圖10和圖11所示,在發(fā)送不同長度ping6報文測試時,邊界路由器均具有良好的數(shù)據(jù)轉(zhuǎn)發(fā)成功率(大于90%),并且數(shù)據(jù)傳輸延遲較小。圖12列舉的是發(fā)送不同長度ping6報文測試時鏈路傳輸延遲的算術(shù)平均差,對于不同長度的測試報文傳,輸延遲算術(shù)平均差基本小于15 ms,網(wǎng)絡(luò)鏈路傳輸延遲抖動較小,證明網(wǎng)絡(luò)的鏈路穩(wěn)定性較好。

4 結(jié)論

本文針對無線傳感器網(wǎng)絡(luò)實際應(yīng)用的現(xiàn)實需求,提出了基于IPv6 的無線傳感器網(wǎng)絡(luò)邊界路由器的設(shè)計方案。該設(shè)計方案實現(xiàn)了無線傳感器網(wǎng)絡(luò)與IPv6網(wǎng)絡(luò)的無縫融合,降低了網(wǎng)絡(luò)應(yīng)用布置成本,提高了系統(tǒng)的靈活性。實驗證明,該方案設(shè)計的邊界路由器具有較低的數(shù)據(jù)傳輸延遲,網(wǎng)絡(luò)的鏈路比較穩(wěn)定,能夠滿足實際應(yīng)用要求。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉