張中杰 孫仕勝 張敦鍵 王登魁


摘 要 數傳電臺在工業現場有著廣泛的應用,該類設備提供了一種在無運營商網絡環境下的低成本數據通信方案。然而受限于數傳電臺的通信機制,多個數傳電臺間的組網技術是困擾數傳電臺進一步推廣應用的關鍵問題。本文結合數傳電臺的通信特點,在借鑒計算機網絡設計思想的基礎上,提出了一種基于數傳電臺的網絡通信協議。
【關鍵詞】數傳電臺 網絡 通信協議
1 引言
通信網絡是制約野外物探作業信息化發展的關鍵瓶頸。面對不穩定的公共運營商網絡以及衛星通信的高昂費用,在現有通信手段的基礎上,自主研發實現一套通用的、支持公網通信協議(TCP/UDP)的網絡通信系統顯得尤為重要。數傳電臺作為一種低成本、長距離、安裝維護方便的數據傳輸解決方案在石油、煤炭、環境等行業有著較為普遍的應用。但是多個數傳電臺間的無序數據通信使得目前基于計算機網絡編程實現的各類應用軟件的移植受到了限制,本文提出了一種以數傳電臺為底層通信方式的網絡通信協議,并從網絡拓撲結構、網絡體系結構等方面對協議進行了詳細的描述。
2 網絡拓撲結構設計
由于數傳電臺的帶寬有限,由復雜的網絡拓撲帶來的路由算法會占用過多的帶寬資源,進而影響整個網絡的通信效率。同時,經過對目前大量實際應用需求的抽象分析,最終本協議選用了星型網絡的拓撲結構為,如圖1所示。星型網絡中的通信節點分為主節點與從節點。主節點負責整個網絡的管理,包括網絡組建、從節點的注冊與注銷管理等。從節點可以發起針對一個網絡的注冊、注銷請求,并在主節點的控制下完成相關工作。在該網絡中,所有從節點間的通信必須經過主節點轉發。
3 網絡體系結構設計
參考計算機網絡的OSI模型,并結合數傳電臺網絡的特點,本協議將數傳電臺網絡體系結構劃分為4層:物理層、數據鏈路層、網絡層、傳輸預處理層,如圖2所示。
物理層提供基礎的通信方式,完成信號的物理編解碼、發送及接收工作,在本設計中由數傳電臺實現。數據鏈路層一方面負責通信節點間邏輯鏈路的管理并實現上層信息格式與本層數據幀格式間的轉換;另一方面解決無線網絡中共享通信信道的各節點間的有序數據通信。網絡層定義了與無線網絡管理相關的具體規則及策略。傳輸預處理層為數傳電臺網絡與通用計算機網絡傳輸層(即TCP/UDP等協議所屬層)間的接口,本設計為了最大限度的利用電臺網絡帶寬,于該層實現了傳輸層協議預處理功能,通過引入經典的加解密算法對傳輸層通信數據進行了有效壓縮。數據鏈路層至傳輸預處理層的功能在與數傳電臺配套的嵌入式終端模塊中通過編程實現。
3.1 數據鏈路層
3.1.1 數據幀設計
數據幀是電臺網絡數據鏈路層數據的具體組織方式。本協議中的數據幀格式如圖3所示。
其中,Type字段占一個字節,其中bit0表示該數據幀的類型,‘0代表普通數據幀,‘1代表網絡管理數據幀;bit1用于區分原幀與應答幀,‘0代表原幀,‘1代表應答幀;bit2用于標識該數據幀的本次傳輸是否由主節點發起,‘0代表由從節點發起,‘1代表由主節點發起;bit3-7暫未定義。To字段占一個字節,標識該數據幀的目的地址;From字段占一個字節,標識該數據幀的源地址;Seq.字段占一個字節,用于標識該原幀在發送隊列中的序號,接收方正確接收數據后,在應答幀中沿用原幀Seq.值。Data字段占0-64個字節,為實際發送的數據。Resd.字段為保留字段,占一個字節,用于今后協議的擴展。Checksum字段占一個字節,為該數據幀的校驗和。
3.1.2 差錯控制設計
差錯控制保證了數據幀發送的正確性。本設計中該功能由帶超時檢測的握手機制實現。原理即接收方對每次接收到的數據幀進行應答,發送方在發送數據后即啟動定時器,規定時間內未收到應答即重發。因此,一次完整的數據通信過程由兩次獨立的數據收發構成。
3.1.3 多路訪問控制設計
為了解決由多個電臺同時發送數據帶來的信道污染問題,并最大限度的利用電臺的傳輸帶寬,本設計采用了輪詢發送機制。主節點作為信道資源的分配者,依次為網絡中的各節點分配信道使用權限,各節點在獲得信道使用權限后完成一個數據幀的發送。
3.1.4 主節點數據轉發流程
本設計中,所有節點間的數據通信均須經過主節點的轉發實現。主節點接收到數據幀后如果發現目的地址不是自己,則將Type置‘1后轉發;從節點只接收由中心節點轉發的數據,接收處理流程如圖4所示。節點發送數據過程較為簡單,不再贅述。
3.2 網絡層
網絡層定義了基于電臺的無線網絡的組網方式,從節點的注冊、注銷機制及路由算法等。
3.2.1 電臺網絡組網
電臺網絡的組網是在主節點的控制下,由主節點與從節點的交互完成的,具體包括從節點的注冊、注銷兩個過程。從節點的網絡注冊過程如圖5所示,網絡注銷過程如圖6所示。
3.2.2 路由算法
為了降低網絡節點由于執行路由算法帶來的開銷,本設計采用了層次型網絡管理模式,一個星型網絡代表一個通信子網,各子網間的通信由主節點負責轉發。因此,路由表僅須由各子網的主節點負責維護。當一個通信子網的成員變化后,該子網的主節點會向其余各通信子網的主節點發送更新路由表請求,經過各主節點確認后,完成路由表的全網更新。
3.3 傳輸預處理層
為了進一步更加有效的利用電臺的傳輸帶寬,在協議的傳輸預處理層引入了ASN.1標準中的PER壓縮編解碼規則,該規則具備冗余度低、編碼緊湊、效率高等特點。經設計、編程驗證,引入該編碼規則后數據量可減少50%以上,帶寬利用率明顯提高。
4 結束語
本文提出了一種基于數傳電臺的組網解決方案。詳細設計了電臺網絡拓撲結構及網絡體系結構,對數據鏈路層、網絡層、傳輸預處理層進行了清晰的劃分并對各層功能的具體實現機制進行了介紹。設計的實現屏蔽了底層具體的通信方式,滿足了網絡編程的需要,進一步推廣了數傳電臺的應用范圍。
參考文獻
[1]李賀祿,蔣凡,楊敬峰等.基于面向對象方法的ASN.1編解碼的設計與實現[J].計算機工程,2002,28(12):101-103.
作者單位
北京中油瑞飛信息技術有限責任公司 北京市 100007