摘 要: 在無線通信中,尤其在節點密集的網絡中,由于通信范圍內鄰居眾多,節點之間極易發生串音,不僅浪費了接收節點的能耗,甚至有可能因為數據誤聽而引發系統錯誤。為了提高節點通信的可靠性,提出了一種基于節點配對、地址過濾和AES加密的多信道可靠通信策略。基于200節點的項目運行表明,該策略穩定可靠,配對后節點之間不會產生串音和數據誤傳。
關鍵詞: 串音;配對;加密;地址過濾;多信道
在無線通信中,眾多節點共用無線信道,節點的數據會被其一跳范圍內的鄰居偵聽到。若某節點接收到了其鄰居節點發往其他節點的數據,則其發生了串音干擾[1]。若網絡密度較高,節點的鄰居眾多,這種串音干擾將會非常嚴重。串音發生后,接收節點在不必要時打開無線模塊,從而浪費了能量,這對一些電池供電的節點至關重要。更糟糕的是發送方的數據被非目的節點獲取,會給系統帶來潛在危險。例如在一個無線遙控器和門鎖的應用中,若某個遙控器的開門數據被其他節點誤聽,則會發生諸如一個遙控器打開多個門這樣的事故。
然而,在無線網絡的應用中,固定的點對點通信是一種常見的應用形式。比如在無線門鎖、酒店門卡管理等應用中,門鎖節點只與對應的、固定的門卡節點通信。這些應用中,節點并不需要像網狀網絡那樣維護復雜的網絡拓撲,運行復雜的網絡協議。但是節點通常密集部署,節點對之間通信的可靠性保證卻至關重要。因而在密集無線網絡中,如何保證點對點通信的可靠性是一個重要的問題。
1 策略設計
傳統的密集無線網絡通信中,使用TDMA的方式管理節點對被驗證是一種較為可靠的策略[2]。不同的節點在不同的時間占用信道,只要時隙分配策略保證兩跳范圍內的鄰居節點不分配到重疊時隙,這種方式就能夠有效地避免鄰居節點之間的干擾。但是這種策略實施的一個關鍵前提是需要保持節點之間的時間同步。然而在密集網絡中,保持全局時間同步是項龐大的工程,其開銷甚至會遠超過網絡實際業務量[3]。因而設計一種非時間同步的、高可靠性的通信策略是點對點通信網絡,尤其節點密集的點對點通信網絡是首先需要關注的焦點。
本文設計了一種簡單易行、非時間同步、可靠性高的通信策略。該策略中,需要通信的兩個節點之間首先執行配對操作,配對完成后會獲得隨機地址、信道以及獨立的通信密鑰。節點接收數據時打開地址過濾功能,節點收發數據時通過配對時產生的密鑰加密。這樣的策略可以保證地址不相同的節點不會串音,相同地址不同信道的節點也不會串音,相同地址相同信道但是不同密鑰的節點不能正確解密數據,保證了通信極高的可靠性。
2 可靠通信策略設計
2.1 節點配對
節點配對是維護可靠性通信的最基本步驟,后續可靠策略能夠實施的前提是在節點配對時產生的隨機地址、信道以及密鑰。記通信雙方分別為Host和Client節點,設計了可靠的3次握手配對策略如下[4]。
(1)上電后Host節點首先打開廣播地址接收,然后進入配對模式,輪詢各個信道并等待接收Client的配對信息。
(2)Client節點選擇一個隨機信道并廣播配對包,然后轉入接收狀態并等待Host的確認信息。若在規定時間內信道上無應答,則再次廣播配對包,直至最大配對次數滿。
(3)Host在某個信道接收到配對信息后,首先記錄下該信道作為雙方通信的信道,然后產生一組隨機密鑰和雙方的地址信息,接著記錄下分配給自身的地址并寫入地址寄存器,最后將通信密鑰和Client地址搭載進確認包并回復給Client節點。
(4)Client節點接收到確認包后,記錄下雙方通信的密鑰和預分配的地址,然后回復密鑰確認包到Host并標記自身為已配對狀態。
(5)Host接收到Client的密鑰確認包后標記自身為已配對狀態。
正常通信過程中,只有處于配對狀態的節點才可以響應數據收發操作。若節點在一段時間內未接收到任何數據則標記自身為未配對狀態,從而提醒使用者再次發起配對。節點的配對流程如圖1所示。
2.2 地址過濾
在配對時,Host節點生成了一組地址并回復給Client節點。這兩個地址分別作為通信雙方的物理地址。發送節點在發送數據時首先填寫接收方地址信息到數據幀包頭。處于接收狀態的節點打開地址過濾功能,這樣節點的射頻部分接收到信道上的數據后,硬件上會自動校驗數據包的目的地址是否是自身。若不是,則不接收后續數據且不產生中斷,從而有效避免了非感興趣數據的接收。
2.3 數據加密
加密是一種有效防止數據泄露的手段。所謂加密,是通過編碼的方式將簡單明了的數據進行轉換,轉換成晦澀難懂的其他格式。這樣即使該信息被截獲,截獲者也很難從加密后的亂碼中得到有用信息,但是被授權的信息獲取者卻可以通過密鑰將所得到的內容還原后得到其中的信息[5]。
Host節點在配對時產生了一組隨機密鑰,并通過確認包告知Client節點。發送方在發送數據前依據配對時獲得的密鑰對有效數據進行加密操作,接收方在收到數據后首先解密該數據包,若數據包不是發給自身,則自己存儲的密鑰與該數據包不能正確匹配,解密后不能得到校驗正確的數據包,從而拋棄該分組避免產生干擾。
3 實施及驗證
為了驗證通信策略的性能,設計了基于CC1110的無線網絡節點并在節點上實施了本文提出的通信策略。CC1110是集成了8051控制器和射頻模塊的芯片,其支持地址過濾及多達256個通信信道,支持產生偽隨機數,支持AES-128加/解密算法[6]。節點在配對時Host節點發送的確認包以及Client發送的確認包格式如表1所示,節點邏輯功能組織如圖2所示。
將設計的節點應用于某公租房項目,實現公租房門卡的集中管理。200節點的現場運行3個月內未發生門卡和門鎖混開的現象,運行結果表明該策略能夠保證密集網絡中節點之間通信的可靠性,節點不會串聽非配對節點的數據,關鍵數據不會被截獲。但是節點在配對時使用了全信道廣播輪詢的方式,因而會產生誤配對現象,需要在配對時確保鄰居節點關閉廣播信道。
參考文獻
[1] 劉明,伍燕平,郭方銘.無線傳感器網中基于時隙輪循的串音控制策略[J].傳感技術學報,2008,21(6):1043-1046.
[2] 李獻昌,劉凱,張軍.S-TDMA協議點到點通信的仿真研究[J].系統仿真學報,2007,19(13):3076-3084.
[3] 熊宛星,薛開平,洪佩琳.密集傳感器網絡中的結構化地址分配方法[J].小型微型計算機系統,2013,34(6):1221-1225.
[4] 張洪輝,黎海文,高春海,等.面向小型全自動生化分析儀的同步可靠的UART通信[J].電子技術應用,2010,36(1):128-131.
[5] 王海科,范伊紅,廉飛宇,等.AES加密算法在不停車收費系統中的應用[J].計算機測量與控制,2006,14(1):95-97.
[6] 陶維維,劉映杰,習振華,等.基于CC1110的無線樓宇溫度采集系統[J].微型機與應用,2012,31(1):19-22.