[王冠雄 蔡龍騰]
?
6LoWPAN無線傳感網(wǎng)性能測試系統(tǒng)設(shè)計與實現(xiàn)
[王冠雄 蔡龍騰]
摘要
為了驗證6LoWPAN[1]無線傳感網(wǎng)的性能界限,文章在充分調(diào)研網(wǎng)絡(luò)性能分析參數(shù)、方法和工具的基礎(chǔ)上,探索可行的6LoWPAN性能測量[2]和分析方法,提出相應(yīng)的測試框架和和測試方法[3],主要設(shè)計了6LoWPAN無線傳感網(wǎng)的時間同步測試、時延測試、和丟包率測試,最后搭建6LoWPAN無線傳感網(wǎng)絡(luò)的性能測試驗證平臺,實現(xiàn)了對6LoWPAN無線傳感網(wǎng)的性能測試。
關(guān)鍵詞:6LoWPAN無線傳感網(wǎng) 性能測試 指標(biāo)
王冠雄
重慶郵電大學(xué)自動化學(xué)院。
蔡龍騰
重慶郵電大學(xué)自動化學(xué)院。
6LoWPAN無線傳感網(wǎng)協(xié)議作為一種工業(yè)以太網(wǎng)標(biāo)準(zhǔn),其性能問題是其實現(xiàn)可靠通信的關(guān)鍵技術(shù)之一,因此通過測試網(wǎng)絡(luò)傳輸?shù)臅r延[4]、吞吐量、時鐘同步等指標(biāo)可以反映實時性的運行情況。6LoWPAN無線傳感網(wǎng)性能測試能夠為被測試網(wǎng)絡(luò)提供一個客觀的量化指標(biāo),幫助企業(yè)進行網(wǎng)絡(luò)評估與驗收。
性能測試[5]對于網(wǎng)絡(luò)維護有重大的實際意義。對于一個已經(jīng)建好的6LoWPAN無線傳感網(wǎng),通過實時性能測試可以檢查網(wǎng)絡(luò)的實際運行情況,通過對實時運行數(shù)據(jù)的分析可以及時的發(fā)現(xiàn)網(wǎng)絡(luò)可能出現(xiàn)的問題,并及時的維護以降低網(wǎng)絡(luò)的運行風(fēng)險,增加網(wǎng)絡(luò)的運行可靠性。對于廠家而言,這種可靠性的增加可以節(jié)約生產(chǎn)的維護成本,提高效率。
目前,對于其它實時以太網(wǎng)標(biāo)準(zhǔn)的性能測試均有相應(yīng)的測試標(biāo)準(zhǔn)與測試設(shè)備。對于6LoWPAN無線傳感網(wǎng)絡(luò),目前常用性能測試方案均不能很好的模擬6LoWPAN通信環(huán)境,因此測試所得的數(shù)據(jù)不能更好的反映網(wǎng)絡(luò)的通信現(xiàn)狀。因此,設(shè)計一個6LoWPAN性能測試器,在測試器上設(shè)計新的實時性測試方案,這樣即可以很好的模擬6LoWPAN通信環(huán)境,測試得到的數(shù)據(jù)可更好的反映6LoWPAN無線傳感網(wǎng)的性能。
2.16LoWPAN無線傳感網(wǎng)通信協(xié)議模型
基于的IEEE 802.15.4[6]協(xié)議的IPv6無線傳感器網(wǎng)絡(luò)是在IEEE 802.15.4鏈路上傳輸IPv6數(shù)據(jù)包,讓傳感器網(wǎng)絡(luò)中的節(jié)點具有接入互聯(lián)網(wǎng)的能力。IETF成立了6LoWPAN工作組和ROLL工作組。6LoWPAN工作組定義IPv6數(shù)據(jù)包在IEEE 802.15.4網(wǎng)絡(luò)中傳輸規(guī)范也叫6LoWPAN標(biāo)準(zhǔn),以實現(xiàn)IPv6無線傳感器網(wǎng)絡(luò)中的設(shè)備和Internet中的設(shè)備互聯(lián)互通。ROLL工作組的任務(wù)是修正現(xiàn)有的路由協(xié)議或者制定新的滿足低功耗松散網(wǎng)絡(luò)需求的路由機制并提出了新的適合LLN網(wǎng)絡(luò)的IPv6路由協(xié)議——RPL協(xié)議[7]。
6LoWPAN網(wǎng)絡(luò)協(xié)議棧[8]在MAC層和網(wǎng)絡(luò)層之間加了一個適配層,適配層為IP協(xié)議屏蔽無線傳感器網(wǎng)絡(luò)底層細(xì)節(jié),如圖1。與傳統(tǒng)TCP/IP協(xié)議模型比較,在6LoWPAN網(wǎng)絡(luò)中,MAC層和物理層協(xié)議主要是比較成熟的IEEE 802.15.4協(xié)議,網(wǎng)絡(luò)層采用IPv6協(xié)議,在網(wǎng)絡(luò)層和MAC層之間增加了一個6LoWPAN適配層,遵循6LoWPAN協(xié)議。6LoWPAN適配層主要用于完成IPv6協(xié)議對802.15.4網(wǎng)絡(luò)的適配,提供報頭壓縮、報文分片/重組、網(wǎng)絡(luò)拓?fù)錁?gòu)建、地址自動配置和組播支持等功能,各種功能的報頭采用堆棧的方式封裝在IPv6載荷外層。
圖1 6LoWPAN協(xié)議模型
2.26LoWPAN無線傳感網(wǎng)性能指標(biāo)
6LoWPAN性能測試指標(biāo)主要用來描述運行網(wǎng)絡(luò)中的特定性能。IETF的IP網(wǎng)絡(luò)性能測量(IPPM)工作組制定了相應(yīng)的建議和草案,定義了網(wǎng)絡(luò)性能測量的基本框架,并規(guī)范了性能指標(biāo)所必須遵循的標(biāo)準(zhǔn)[9]。根據(jù)不同的用途,可以對網(wǎng)絡(luò)的多種參數(shù)進行測量,包括時延、丟包率、鏈路的容量和帶寬、流量、連接的平均持續(xù)時間、網(wǎng)絡(luò)拓?fù)涞?。本文主要分析?LoWPAN網(wǎng)絡(luò)的丟包率、時延和遞交時間。
丟包率[10]是網(wǎng)絡(luò)交換設(shè)備在不同的負(fù)載和不同幀長的條件下由于缺乏資源或者協(xié)議本身不穩(wěn)定的情況,應(yīng)該正確轉(zhuǎn)發(fā)但是沒有轉(zhuǎn)發(fā)的數(shù)據(jù)包占接收數(shù)據(jù)包的百分比。例如被測路由設(shè)備DUT接收數(shù)據(jù)包為X,轉(zhuǎn)發(fā)的數(shù)據(jù)包為Y,那么丟包率就下面的公式計算得出:
時延[11]是指一個數(shù)據(jù)包從網(wǎng)絡(luò)的一端傳輸?shù)骄W(wǎng)絡(luò)另外一端所需時間。它主要包括處理時延、排隊時延、發(fā)送時延以及傳播時延。其中,一個6LoWPAN設(shè)備將應(yīng)用層數(shù)據(jù)單元傳輸?shù)搅硪粋€6LoWPAN應(yīng)用層所需時間,即應(yīng)用層的端到端時延,又叫做遞交時間。
根據(jù)對6LoWPAN協(xié)議及性能測試的分析以及遠(yuǎn)程測試架構(gòu),設(shè)計出如圖2所示的6LoWPAN協(xié)議性能測試系統(tǒng)。整個測試系統(tǒng)由上層的測試服務(wù)器和下層的6LoWPAN協(xié)議硬件測試平臺構(gòu)成,它們通過網(wǎng)絡(luò)相連接。
圖2 6LoWPAN性能測試系統(tǒng)拓?fù)浣Y(jié)構(gòu)圖
系統(tǒng)的測試流程,如圖3。
(1)用戶通過HTTP協(xié)議訪問測試服務(wù)器,建立連接,遞交測試申請,傳遞配置參數(shù)以及控制信息;
(2)測試服務(wù)器和測試設(shè)備通過TCP/IP協(xié)議通信,測試服務(wù)器將設(shè)備配置信息和測試執(zhí)行命令下發(fā)給測試設(shè)備;
(3)6LoWPAN協(xié)議性能測試的測試設(shè)備是測試路由器,測試路由器根據(jù)測試案例可以是一個或多個,測試設(shè)備將測試命令下發(fā)給被測設(shè)備;
圖3 6LoWPAN性能測試流程圖
(4)被測設(shè)備根據(jù)測試命令完成測試執(zhí)行,生成測試響應(yīng);
(5)被測設(shè)備將測試響應(yīng)傳遞給測試設(shè)備;
(6)測試設(shè)備將測試響應(yīng)生成測試數(shù)據(jù)傳遞給測試服務(wù)器;
(7)測試服務(wù)器將測試數(shù)據(jù)進行處理、存儲之后,將測試過程信息和測試結(jié)果信息通過HTTP協(xié)議傳遞給測試用戶;
(8)測試結(jié)束。
3.1丟包率測試實現(xiàn)
丟包率測試的測試執(zhí)行流程如圖4。
圖4 丟包率測試流程
數(shù)據(jù)解析模塊獲得測試數(shù)據(jù)包后,根據(jù)源地址和目的地址在相應(yīng)節(jié)點的統(tǒng)計上分別計數(shù)。根據(jù)序列號判斷抓包器是否本身丟包,如果抓包器丟包,通過計算序列號進行值的補償。例如,路由節(jié)點獲得某一節(jié)點此次傳來的序列號為0x3A,而下一次該路由節(jié)點的序列號為0x3D,說明抓包器有兩個數(shù)據(jù)包沒抓到,應(yīng)進行數(shù)據(jù)補償
3.2時延和遞交時間測試實現(xiàn)
網(wǎng)絡(luò)時延[12]主要分為兩類,即單向時延和往返時延。單向時延是指數(shù)據(jù)包從發(fā)送端全部發(fā)送到接收端所需要的時間,單向時延的測試必須保證發(fā)送端和接收端保持時間同步。往返時延是指數(shù)據(jù)發(fā)送端從發(fā)送數(shù)據(jù)開始,到接受到來自接收端的確認(rèn)這段時間(接收端在接收到數(shù)據(jù)之后必須馬上發(fā)送確認(rèn))。其中單向延遲的測試為數(shù)據(jù)包從發(fā)送設(shè)備出發(fā),帶上起始的時間戳,然后根據(jù)需要可在網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層分別打上時間戳,然后傳遞給接收設(shè)備,并打上終止時間戳。這樣,可通過在發(fā)送設(shè)備上打上的不同時間戳計算處理時延、排隊時延以及發(fā)送時延,而根據(jù)發(fā)送設(shè)備和接受設(shè)備的時間差可計算出遞交時間,如圖5。
圖5 時延的組成
4.1性能測試平臺搭建
6LoWPAN協(xié)議性能測試平臺如圖6。該測試平臺由3個測試路由器和多個標(biāo)準(zhǔn)設(shè)備組成。三個測試路由器分別充當(dāng)網(wǎng)關(guān)、路由節(jié)點和終端設(shè)備。標(biāo)準(zhǔn)設(shè)備是4個路由節(jié)點和40個終端設(shè)備。標(biāo)準(zhǔn)設(shè)備和測試路由器一起組成一個網(wǎng)絡(luò)。
圖6 6LoWPAN協(xié)議測試平臺
4.2性能測試系統(tǒng)驗證
本節(jié)利用ASP.NET開發(fā)的6LoWPAN協(xié)議性能測試軟件對6LoWPAN協(xié)議的丟包率,時延和遞交時間進行測試。
4.2.1丟包率測試
根據(jù)對丟包率性能測試方法的研究,丟包率測試軟件的運行效果如圖7。通信配置區(qū)域為測試路由器的IP地址和端口號的配置。數(shù)據(jù)統(tǒng)計區(qū)域包括網(wǎng)絡(luò)中每個路由節(jié)點實際收到數(shù)據(jù)包個數(shù),轉(zhuǎn)發(fā)數(shù)據(jù)包個數(shù)以及每個路由節(jié)點的丟包率,還包括整個網(wǎng)絡(luò)所有路由節(jié)點一共收到數(shù)據(jù)包個數(shù)和一共轉(zhuǎn)發(fā)數(shù)據(jù)包個數(shù)以及總丟包率。其頁面還分別用實時柱狀圖和實時曲線圖分別顯示了每個節(jié)點處理數(shù)據(jù)包個數(shù)和總的丟包率變化情況。
圖7 丟包率測試軟件運行效果
4.2.2時延和遞交時間測試
時延和遞交時間測試軟件的運行效果如圖8,包含遞交時間、排隊時延、處理時延和發(fā)送時延的結(jié)果曲線圖。在各自曲線下方數(shù)據(jù)表格中能夠查看瞬時偏差、平均值、最大值、最小值。
圖8 時延測試軟件運行效果圖
本文在認(rèn)真分析6LoWPAN協(xié)議的基礎(chǔ)上,針對無線傳感網(wǎng)的特點[13]和要求以及RFC2544[14]文檔對性能測試的要求,研究了6LoWPAN網(wǎng)絡(luò)性能測試的目的和方法,設(shè)計出針對6LoWPAN無線傳感網(wǎng)的性能測試平臺并對丟包率和時延進行了測試,后續(xù)工作還可以考慮添加時延抖動、鏈路帶寬、路由收斂[15]等性能指標(biāo)的測量。
參考文獻
1IETF.IPv6 over Low power WPAN(IPv6)[EB/OL].[2006-07-07
2李俊玲.網(wǎng)絡(luò)性能測試系統(tǒng)功能的分析研究.河北科技大學(xué)碩士學(xué)位論文.2008,12
3易明華,王平,汪春華,陳良華,王浩文.EPA協(xié)議一致性測試方法[J].儀器儀表學(xué)報,2007,03:451-455
4王平,黃源,謝昊飛.EPA應(yīng)用層證實服務(wù)響應(yīng)時延測試的研究與實現(xiàn)[J].廣東通信技術(shù),2009,02:54-57
5甘偉.面向6LoWPAN傳感網(wǎng)測試系統(tǒng)的設(shè)計與實現(xiàn)[D].中國科學(xué)院大學(xué),2014
6IEEE 8B.15 WPAN Task Group 4.Standard for Part 15.4:Wireless medium access control(MAC)and physical layer(PHY)specifications for low-rate wireless personal area networks(WAPNs),2006
7T.Winter E,P.Thubert E,Brandt A,et al.RPL:IPv6 routing rotocol for low-power and lossy networks[J].Internet Requests for Comment,2012,rfc 6550
8Mulligan G.The 6LoWPAN architecture[C]//Proceedings of the 4th workshop on embedded networked sensors.ACM,2007:78-82
9海洋,壽國礎(chǔ),胡怡紅.基于RFC2544測試的網(wǎng)絡(luò)測試儀的設(shè)計與實現(xiàn)[J].計算機工程,2008,34(13):95-97
10徐前方,郭軍.組播網(wǎng)絡(luò)中鏈路丟包率的測量[J].哈爾濱工業(yè)大學(xué)學(xué)報,2009,(05):136-139
11黎文偉,王俊峰,謝高崗等.基于包對采樣的IP網(wǎng)絡(luò)時延變化測量方法[J].計算機研究與發(fā)展,2004,41(08):1352-1360
12馮建茹.端到端網(wǎng)絡(luò)時延的性能測量[D].北京郵電大學(xué),2006
13王雪.無線傳感網(wǎng)絡(luò)測量系統(tǒng)[M].機械工業(yè)出版社,2007
14RFC2544.Benchmarking terminology for network interconnection[S].Harvard University.1999
15張新秀,張淼,張振川.無線傳感器網(wǎng)絡(luò)分簇路由改進算法及其性能[J].中國科技論文,2010,(02):92-96
收稿日期:(2015-12-15)
DOI:10.3969/j.issn.1006-6403.2016.03.009