一種基于IPv6的無線傳感器網絡邊界路由器設計
2.2.3 適配層報頭壓縮機制
本文引用地址:http://www.104case.com/article/247726.htm標準IPv6 網絡層報文和UDP 報文的報頭分別有40 B 和8 B,由此帶來的數據傳輸報頭開銷極大,因此本文適配層對IP報文和UDP報文的包頭格式進行了壓縮處理。由于TCP報文并不適合無線傳感器網絡這種多跳、數據傳輸延遲較大的網絡[11],故本文暫不考慮TCP報文。根據無線傳感器網絡的上下文信息,IPv6版本號和負載長度可以省略,通信流類型、流標簽、下一包頭、跳數限制以及源地址和目的地址設置壓縮控制域進行部分壓縮。IPv6 網絡層報文頭部壓縮格式如圖7所示。

011xxxxx為調度編碼位域,其中最右端5位用于報頭壓縮編碼。各編碼字段定義如下:
TF:2 b,通信流類型和流標簽。其中通信流類型由查分服務代碼點DSCP 和顯示擁塞反饋ECN,當TF=11時,通信流類型和流標簽全都省略;當TF=00時,通信流類型和流標簽都不壓縮;當TF=01 時,DSCP 省略;當TF=10時,流標簽省略。
NH:1 b,下一包頭。NH=0,表示下一包頭未壓縮;NH=1時,下一包頭已壓縮。
HLIM:2 b,跳數限制。當HLIM 等于00、01、10 和11時,分別表示未壓縮、1跳、64跳和255跳。
M:1 b,指示目的地址類型。當M=0 時,目的地址不是多播地址;當M=1時,目的地址為多播地址。
SAC:1 b,表示源地址的壓縮方式,當它為0時表示使用的是無狀態頭部壓縮;為1時表示使用的是基于上下文的頭部壓縮。
SAM 用來控制不同壓縮方式下源地址壓縮方式。
DAC與DAM 的控制目的地址的壓縮方式,具體含義與SAC和SAM相似。
傳輸層UDP 報文緊跟在IPv6 網絡層包頭后面,UDP 包頭壓縮比較簡單,是否壓縮由前述NH 字段指定。標準UDP報文頭部中的長度域省略,源端口號、目的端口號以及校驗和域的壓縮方式由P和C字段表示,校驗和域暫不壓縮。UDP報文頭部具體壓縮格式如圖8所示。

眾所周知,TCP/IP 端口號為16 位,通常以0xf0 和0xf0b開始,其壓縮方式由P字段指定,具體如下:
00:不壓縮;01:目的端口號前8位(0xf0)省略,其他部分和源端口號保留;10:源端口號前8位(0xf0)省略,其他部分和目的端口保留;11:目的端口和源端口的前12位(oxf0b)省略,其他部分保留。
2.3 IP網絡層與傳輸層設計
標準TCP/IP 協議占用資源較多,而無線傳感器網絡屬于資源受限網絡,因此邊界路由器的設計要特別注意協議棧資源占用。uip IPv6(uIPv6)協議棧專為資源受限的設備設計,RAM的占用量只有1.7 KB,代碼量只有[12]11.5 KB,因此選擇移植uip IPv6 協議棧作為基于IPv6的無線傳感器網絡協議的IP層和傳輸層。
uip IPv6 協議棧的IP 網絡層和傳輸層使用同一個數據緩存區,因此可以將IP 網絡層和傳輸層統一處理。本設計中各功能模塊由輕量級操作系統Contiki統一調度,因而設計一個IP 網絡層任務集中處理從適配層接收到的數據包和應用層需要發送的數據包。
3 測試與分析
3.1 測試平臺搭建
邊界路由器負責WSN 網絡與IPv6 網絡之間的通信,本文實驗驗證了邊界路由器的工作性能。實驗測試平臺包括一個邊界路由器、一個傳感器節點和一臺Linux主機,其中邊界路由器通過 UART接口與Linux主機的USB口連接,鏈路層運行slip協議。邊界路由器和傳感器節點的IPv6地址配置為 aaaa::215:8d00:b:6840和aaaa::215:8d00:b:67d3,Linux主機端運行slip守護程序來監聽USB口,其 IPv6地址為aaaa::1.
3.2 測試結果分析
通過在Linux 主機上向傳感器節點(IPv6 地址為aaaa::215:8d00:b:67d3)發送ping6 報文,來測試傳感器節點的可達性,以驗證邊界路由器的正常工作,實驗結果如圖9所示。

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


如圖10和圖11所示,在發送不同長度ping6報文測試時,邊界路由器均具有良好的數據轉發成功率(大于90%),并且數據傳輸延遲較小。圖12列舉的是發送不同長度ping6報文測試時鏈路傳輸延遲的算術平均差,對于不同長度的測試報文傳,輸延遲算術平均差基本小于15 ms,網絡鏈路傳輸延遲抖動較小,證明網絡的鏈路穩定性較好。
4 結論
本文針對無線傳感器網絡實際應用的現實需求,提出了基于IPv6 的無線傳感器網絡邊界路由器的設計方案。該設計方案實現了無線傳感器網絡與IPv6網絡的無縫融合,降低了網絡應用布置成本,提高了系統的靈活性。實驗證明,該方案設計的邊界路由器具有較低的數據傳輸延遲,網絡的鏈路比較穩定,能夠滿足實際應用要求。
傳感器相關文章:傳感器工作原理
路由器相關文章:路由器工作原理
路由器相關文章:路由器工作原理
風速傳感器相關文章:風速傳感器原理
評論