



摘要:戰術無線數據通信協議充分利用UDP傳輸協議,具有傳輸速度快、消耗低、延遲小、數據傳輸效率高的特點,通過定制化的通信協議設計有效滿足戰術指控系統中數據通信需求。在無戰術云支持的環境中實現設備自主發現、快速通信及數據傳輸安全,完全符合當前戰術級的作戰模式。戰術通信環境中的數據通信安全是指控系統可用的基本條件,在分析安全風險的基礎上,通過對通信協議設計、設備身份認證、安全技術增強完全保障了P2P戰術通信中安全通信的要求。
關鍵詞:戰術無線通信;P2P;戰術云;設備自主發現;通信安全
一、前言
俄烏沖突爆發以來,交戰雙方以星鏈、自組網等通信手段靈活組網,以連、排為作戰單元,充分運用無人機形成了有人、無人協同新的作戰樣式[1]。靈活的戰術通信具備無中心、自組織、分布式特點,相比有通信中心的指揮所通信模式更適合分隊通信。
文獻[ 2]采用基于XMPP協議的混合網絡結構實現P2P通信系統,驗證了分布式通信系統的正確性及可用性,協議成熟可擴展,但效率低不能完全適應戰術無線通信環境。
文獻[ 3]采用基于JXTA協議實現跨網絡的混合型通信P2P通信,特點是通過協議框架將不同通信平臺集成。
借鑒區塊鏈通信機制,文獻[ 4]采用結構化P2P通信機制,改進實現全分布式結構化的對等網絡。
二、協議設計
分隊作戰樣式要求組網靈活、開通時間短、抗毀能力強,同時電磁干擾、通信障礙使通信節點常常處于弱網、斷網狀態。戰術無線數據通信協議采用P2P全分布式對等通信模型,在分隊內設計實現移動通信終端自主發現及通信加密。戰術無線數據通信協議設計基于UDP,支持實時、高效數據傳輸。
(一)消息傳輸協議設計
1.節點發現報文協議
P2P對等網絡模型要求參與通信的節點維護節點狀態,節點狀態數據實時動態更新,記錄加入、退出及離開網絡的通信節點。
(1)所有通信節點通過在節點間以一定時間間隔(30—60秒)彼此傳輸設備節點發現報文從而交換節點狀態信息,實現所有通信節點數據最終一致。
(2)任何通信節點在關機、退出、重啟等狀態發生變化時主動向網絡發送節點發現報文。節點發現報文字段說明見表1。
2.節點數據報文協議
節點數據報文字段說明見表2。
(二)文件傳輸協議設計
P2P戰術通信環境中網絡通信不穩定,文件傳輸協議設計考慮傳輸可靠性,設計數據分片、確認機制及數據包重傳機制,參考TCP文件傳輸,文獻[ 6]基于UDP協議設計了一種可靠的文件傳輸方法,戰術通信中必須保障文件可靠傳輸,文件傳輸協議字段見表3。
1.文件分片大小確定。P2P通信發生在局域網內,文件分片大小考慮以太網數據包長度1500字節、IP包頭20字節、UDP包頭8字節后最大長度為1472字節。
2.確認重傳。發送方對每個包進行遞增編號,接收方對發送方每包進行確認,數據包不完整或丟包后要求重傳。
3.超時重傳。發送方發送數據包時啟動超時檢測,超出指定時間未收到接收方反饋,自動重發當前數據包。
三、通信安全設計
P2P通信網絡在無線通信環境下節點間通信面臨身份假冒、數據重防攻擊、通信竊聽、信息篡改安全風險文獻[ 5]。戰術通信中采用包括節點身份識別、數據加密通信,同時對數據報文中傳輸的設計字段進行安全技術處理。
(一)設備ID識別。設備識別可采用用戶憑證、可信機構頒發證書、預共享證書、生理特征等方式。因在P2P通信中通信雙方互相識別,無法依賴于第三方服務,設計采用基于設備預共享證書信息計算生成設備ID。
(二)傳輸數據加密。P2P通信中通信鏈路傳輸的數據信息存在被非授權者截獲而導致信息泄露的風險,針對傳輸數據進行加密。密鑰交換算法采用前向安全密鑰協商算法ECDHE,配套證書簽名算法SM2、加密算法SM4、消息認證算法SM3。
(三)防數據重放。P2P通信節點雙方按“同一邏輯鏈路上的時間戳單向變化”原則產生時間戳。P2P通信雙方保留時間戳,當待處理的數據報文時間戳與保留時間戳相比不符合時間差值要求時丟棄收到的數據報文。時間戳隨著每次消息發送遞增,可有效地抵抗重放攻擊。
(四)報文簽名驗證。驗證傳輸報文合法性,采用消息認證算法SM3驗證(deviceID+ time Stamp+ payload+ len + checkSum)。
四、關鍵技術
(一)節點發現
節點通過自動發現構建節點成員清單,可基于報文廣播方式及DHT節點發現算法。
1.基于廣播的節點發現。設備節點在上線、退出、離開P2P網絡時,采用廣播方式廣播其上線、退出、離開P2P網絡的報文,其他設備節點更新其成員清單。
2.基于DHT算法的節點發現。P2P網絡中每個設備節點只存儲一部分節點信息到哈希表。當任意節點想要發現新的設備節點信息時,需查詢DHT以獲取該節點的鄰居節點列表節點信息,即獲取其他節點的路由信息,然后連接其他節點獲取所需設備節點數據。
(二)數據一致性
在全網保持所有節點的基礎數據一致性,可采用Raft算法及Paxos算法[7],兩種算法都有選主過程,屬于有中心的系統。P2P戰術通信協議設計采用Gossip協議算法逐步擴散消息方式,使所有節點數據最終保持一致,傳播的時間收斂在O[Log(N)]以內,其中N為節點的數量。節點的任意增加和減少、宕機和重啟都不影響消息的傳播。
五、算法及實現
(一)DHT 節點發現算法
DHT算法中,每個節點都可以查詢DHT表來獲取其他節點的信息,文獻[ 8]基于優化Kademlia協議提高節點資源查詢成功率。當一個節點需要發現新的節點時,它會從查詢列表中選擇一個目標節點,并從DHT表中查詢該節點的鄰居節點列表。然后,它將鄰居節點添加到自己的鄰居列表中,并將鄰居節點添加到查詢列表中,以便繼續查詢。當鄰居列表中的節點數量達到目標數量時,算法停止查詢,輸出所有節點的鄰居列表和狀態。偽代碼如下:
1.初始化節點。生成本地節點ID,創建一個空的路由表,創建一個空的數據存儲。
2.存儲數據(key, value)。k = hash(key),如果 k 在路由表中,將(value)發送到最近的n個節點,否則,將(key, value)存儲在本地。
3.查找數據(key)。k = hash(key),如果 k 在本地存儲中,返回對應的value, 否則,向路由表中最近的n個節點發送查詢請求。
4.更新路由表。當收到來自其他節點的請求或響應時,將該節點添加到路由表,如果路由表的大小超過限制,刪除最遠的節點。
5.節點加入網絡。新節點向已知的節點發送ping消息,已知節點在收到ping消息后更新其路由表并返回響應,新節點在收到響應后更新其路由表。
6.節點離開網絡。向路由表中的所有節點發送離開消息。
(二)Gossip 數據同步算法
Gossip 數據同步算法是一種基于去中心化的分布式系統中數據同步的算法。該算法可以有效地處理分布式數據增、刪、改操作,同時保證數據的一致性和可靠性。偽代碼如下:
1.初始化本地節點和數據。將本地節點加入網絡中,并設置狀態為“未同步”。
2.設定同步周期T,設定更新閾值U,設定負載因子,設定允許失敗次數F。
3.在每個同步周期T內,選擇一個隨機節點進行數據同步。如果同步失敗,則記錄失敗次數,并繼續步驟3;如果同步成功,則將同步節點加入鄰居列表中,并將同步節點的數據合并到本地數據中;如果本地數據有變化,則將更新后的數據發送給其他節點;如果鄰居列表大小超過負載因子L,從鄰居列表中刪除最早加入的節點。
4.如果本地數據與同步節點的數據差異小于更新閾值U,則將節點狀態更新為“已同步”;如果節點狀態為“未同步”,并且失敗次數超過F,則將節點從網絡中刪除,返回步驟3。
(三)協議系統實現
采用文獻[ 9]中P2P模式通信架構,基于安卓系統驗證無線局域網內戰術無線通信語音功能、文本消息通信功能、終端方位功能及文件可靠傳輸功能,安卓系統驗證實現如圖1。
六、結語
本文研究了戰術無線數據通信要求及UDP協議特點,提出基于P2P戰術通信模型,及UDP戰術通信協議報文格式,通過協議設計提升UDP協議可靠性及數據通信安全性,在安卓端實現了戰術無線數據通信系統基本功能,基本滿足在無戰術云條件下的自主數據通信功能。后續驗證弱網、弱連接下協議的有效性、可靠性,優化系統在文件傳輸過程中對低帶寬、誤碼率高情況下的適應性。
參考文獻
[1]劉業民,田黎曦,龔柳潔,等.“星鏈”在俄烏沖突中的應用及對策淺析[J].長江信息通信,2023,36(01):130-133.
[2]徐兵.基于P2P的企業通信系統的設計與實現[D].武漢:華中科技大學,2017.
[3]王建.基于JXTA的P2P即時通信軟件的Java實現研究[J].無線互聯科技,2018,15(04):11-12.
[4]丁琳琳,華亞洲,陳澤,等.面向時空數據區塊鏈的對等網絡(P2P)通信機制[J].遼寧大學學報(自然科學版),2023,50(01):10-19.
[5]蔣華,王坤,楊磊,曲艷博,王偉志,潘文吉.P2P通信中的安全性研究與實現[J].科技視界,2013(27):12-13.
[6]許坤,趙亮.基于UDP協議的可靠數據傳輸的實現[J].科技創新導報,2019,16(17):7-8.
[7]張勝.基于Raft算法的分布式系統數據一致性研究[D].成都:西南交通大學,2020.
[8]徐衛克.基于優化Kademlia協議的P2P網絡資源發現算法研究[J].網絡安全技術與應用,2021(05):41-42.
[9]丁倩.基于Android平臺局域網即時通訊軟件的設計與實現[D].西安:西安電子科技大學,2013.
作者單位:中國電子科學研究院
責任編輯:尚丹