0. 引言
網絡測量主要是為了了解和掌握網絡運行情況而進行的一系列網絡性能指標測量過程。目前針對Internet已經提出和設計了一些網絡測量方法[1-3],然而由于水下環境的特殊性,對于新興的水下傳感器網絡并沒有較好的網絡測量方法。本文在研究工作中針對工作需要,為了驗證網絡協議的可行性和有效性,從簡易、方便和實用性方面考慮,設計了一套基于被動測量的水下傳感器網絡性能測量系統。
1. 測量原理
對于網絡性能測量,存在兩種原理,一種是OWDP (One way delay and package loss protocol ) ,另一種是RTDP ( Roundtrip delay and package loss protocol)[4]。OWDP基于單向延遲,需要兩點間保持較較精確的時間同步,數據包要有時間戳標記;RTDP通過計算數據包的往返時延RTT來評測網絡其他性能,計算時間在同一臺計算機上,無需考慮時間同步問題,無需時間戳,計算簡便。
本測量系統綜合上述兩種方法的優點,無需硬件保持時間同步即可精度測量單向延遲、RTT、誤碼率等相關網絡性能指標。
2. 系統框架
本系統由硬件和軟件兩部分組成。
硬件部分采用了水上無線通信節點,置于浮標最頂端,通過浮標桿內置RS232數據線與水下傳感器節點相連,負責與水下傳感器節點通訊。各水上無線通信節點組成一個局域網絡,由海岸基站進行統一管理和控制,如圖1所示。
圖1 系統整體框架
軟件部分主要由三個模塊組成,分別運行在三種不同節點上?偪啬K設置在岸邊基站,運行在一臺PC上,負責測量程序的啟動和運行、測量參數的設定以及各無線和水下節點的交互通信,收集無線節點發來的測量數據,分析處理將結果存儲和顯示出來;無線節點模塊運行在海面無線節點上,完成接收來自于與其連接的水下傳感器節點測量數據的收集并通過無線信道發送至海岸基站,與其他無線節點通信以保證水下傳感器節點的時鐘同步;水下節點模塊以嵌入式程序運行在水下傳感器節點中,是測量網絡性能(延遲、誤碼率)的關鍵,水下模塊將測量所得原始數據收集分類,經RS232接口傳送給海面無線節點,由無線節點發送至海岸基站。本測量系統由于可以對每一個水下傳感器節點進行全面細微的監測,因此可以多方面的測量和分析?紤]到硬件成本的因素,我們可以只對網絡中具有關鍵位置的節點進行監測,具有一定的測量靈活性。各軟件模塊及相互關系如圖2所示。
圖2 系統軟件模塊
3. 系統功能
本測量系統具有可擴展性,可以對水下傳感器網絡各項指標進行全面測量,以更好的、更有效的驗證組網協議的性能。本文只是實現了網絡基本性能指標(網絡延遲、誤碼率、丟包率、連通性)的測量和計算,對于其他指標的測量,只需添加少量程序代碼即可實現。
系統功能在于軟件模塊所實現的網絡測量任務。
水下測量模塊包括兩部分:模擬數據的生成和轉發數據包的解析。水下傳感器網絡除了Sink節點外都屬于相同的對等節點,若我們只是驗證組網協議的性能則可以利用模擬數據生成部分產生網絡節點數據進行傳送,而無需安裝傳感采集裝置。無論模擬生成數據還是進行實際實驗測量,每個進行傳送的數據包在發送源節點都被寫入發送時間戳,每經過一個轉發節點轉發數據包解析程序記錄該數據包以下信息:數據包編號、源節點、達到本節點時間、本節點將其轉發時間,并將記錄信息交由無線通訊模塊,由無線模塊傳送至海岸基站。
無線通訊模塊是一個中間橋梁,保證各水下傳感器節點的時間精確同步和傳達基站的命令信息。
海岸基站從海面無線網絡中得到所有水下測量模塊的記錄信息,按數據包編號和源節點編號分類整理,即可準確計算出任意一個數據包在網絡中的傳送時間、誤碼率和丟包率等。
4. 測量系統應用
為了驗證水下傳感器網絡協議算法的各項指標,可以利用該測量系統進行兩種不同方式的網絡性能測量,數據仿真和實地試驗。數據仿真是指將本系統作為一個仿真工具,對于在研究中設計的協議算法可進行測試性的分析和驗證。通過系統的參數設置界面,可以設定進行網絡測量的各類參數,發包頻率,傳輸隊列長度等,通過設定這些參數,本測量體統可以模擬實際中傳感器網絡數據采集數據的過程,產生通信數據,無需真正進行海上試驗即可測量網絡協議的有效性和可靠性,以此達到改進和完善協議的目的。實地試驗是指真正的部署水下傳感器網絡節點到水下,配置網絡協議,讓網絡實際工作起來,利用本系統對網路進行實際的測量,考證網絡協議的實際運行效果。
4.1 數據仿真
為了驗證組網協議,我們可以采取數據仿真進行階段性的測量試驗。
a)數據包發送頻率 圖3是系統模擬水下傳感網絡數據不同產生速率測量所得的網絡單跳延遲情況。從圖中我們可以看到,在網絡數據產生速率不是很大的情況下(小于0.15pkts/s),網絡平均單跳延遲變化不大,在3.8s以下,當數據產生速率較大時(大于0.15pkts/s),網絡平均單跳延遲有明顯的增大趨勢,說明網絡中出現了擁塞。
圖3 水下傳感器網絡平均單跳延遲
b)傳送隊列的改變 對于不同傳送隊列的仿真測量同樣簡單,我們只需通過參數設置模塊設定不同的傳送隊列長度即可。
c)部署節點數目的改變 水下傳感器網絡不同于陸上有線網絡,由于水下環境的特殊性,網絡節點密度D=N/A(N:網絡節點數據,A:網絡所覆蓋的有效區域)和網絡的組網時間及網絡平均誤碼率有著較為密切的關系。為了確定有效的網絡節點密度,可以利用本系統進行不同節點數目的網絡組網時間和平均誤碼率的測量。
圖4為不同網絡節點數目下網絡組網時間比較。從圖中可以看出,對于不同網絡節點數目組網時間有著較明顯的變化,節點數目越大,組網所耗費的時間越多;對于相同的網絡節點數目,其有效覆蓋面積(由網絡平均跳數衡量,跳數越大,相對覆蓋面積越大)越大,組網時間越大,表現為節點間距離較大,通信延遲較大。
圖4 不同網絡節點數據組網時間變化圖
圖5為不同網絡節點密度情況下網絡平均誤碼率的比較。從圖5中我們可以得到以下較為有用的信息,網絡平均誤碼率隨著網絡節點密度的增大而減小,當網絡節點密度達到一定值后,網絡平均誤碼率趨于平和,這說明網絡節點密度存在一個最優值,對于我們在實際中進行真正的節點部署具有重要的參考意義。
圖5 網絡節點密度和網絡平均誤碼率變化圖
4.2 實地試驗
對于實際的實地試驗進行網絡測量不同于上述仿真測量之處在于數據是真實的,是通過水下傳感器節點上所攜帶的傳感器件采集的,具有特殊性和偶然性。利用本測量系統可以很好的對實際運行的傳感器網絡進行各項有效的測量,以此與仿真測量進行一定程度的比較,從多方面對網絡組網協議進行驗證。我們將在工作中對此進行進一步的研究和設計。
5. 結束語
本文在工作中研究設計了一種水下聲學傳感器網絡測量方法,可以對研究中的傳感器網絡組網協議進行多項指標的測量,以達到改進和完善網絡協議的目的。經系統實際應用,測量系統確實可以對水下傳感網進行有效的指標測量,精確的時間同步,可配置的硬件和軟件,多角度的測量方式,具有很好的實用性。
參考文獻
[1] 蔡志平,殷建平,劉湘輝等,一種結合主動和被動方式的網絡延遲測量方法,武漢大學學報,2004年10月。
[2] 呂軍,李星,網絡測量分析及研究綜述,計算機工程與應用,2003年24期(39卷)。
[3] 徐慶華,肖剛,一種基于移動代理的網絡延遲測試方法,計算機工程與科學,2008年第一期(30卷)。
[4]凌軍,楊桂文,劉羽中等,Internet網絡性能實時監測關鍵技術研究。武漢大學學報(理學版),2001,47(3):324~326。
[5] 李勇軍,基于端到端傳感器網絡測量技術研究,學位論文,西北工業大學,計算機科學與技術2007年。
作者簡介:
沈飛飛(1983-),男,河北邯鄲人,中國海洋大學計算機系碩士研究生,主要研究方向為傳感器網絡,水下傳感器網絡協議。09940