- 相關推薦
多媒介通信系統鏈路管理的設計和實現
摘要:軍事通信系統和某些民和領域對通信可靠性和抗毀性的需求使得點到點的鏈路傾向于建立在多種通信媒介、多種協議上。介紹了一種借鑒OPC規范,基于COM技術,在多協議、多種協議上。介紹了一種借鑒OPC規范,基于COM技術,在多協議、多通信媒介上進行鏈路管理和調度的解決方案,并給出了具體實現。在許多應用中,如軍事通信中的C4I系統、政府部門和特殊行業中的某些重要通信系統,對通信網絡的可靠性、抗毀性有著非常苛刻的要求,既要求在正常情況下有較高的通信效率,又要求在惡劣環境下能保證基本的通信,因此僅僅依賴單一通信媒介難以達到可靠性的要求。在C4I系統中,把現有的和未來的全部傳輸媒介資源綜合到通信系統中已經成為通信網絡追求的目標之一。在民用領域,例如高速公路聯聯網收費系統中,因為需要一個24×7的可靠通信平臺,亦采用了不同類型的通信媒介(如圖1),它通常把專線作為主用線路,把公眾電信網提供的撥號線(普通調制解調順或ISDN)連接作為臨時備用線路。不同通信媒介的效率和經濟性差別很大。對不同類型的通信鏈路必須進行綜合調度,做到自適應不同的網絡環境,自動在主用鏈路和多條備用鏈路間進行切換。這樣才能適應這些系統對網絡生存能力的要求。
傳統開過程中,常把最上端的應用程序直接建立在多種通信設備上,在應用程序中直接對不同類型鏈路進行管理和調度,這對整個系統的開發、升級、擴展帶來了很大問題。一方面應用軟件開發者需要耗費大量精力在不同的通信設備上,而這些工作在別的同類項目中無法復用;另一方面,當系統需要升級通信設備,或者擴展新的通信媒介時,幾乎相當于重新開發整個系統。同時,在多個應用程序共享通信設備時容易產生沖突。借鑒超鏈思想以及微軟和工業控制界共同推出的OPC(OLE for process control)規范的設計思路,提出了基于COM技術的解決方案。
圖1 節點間的多種通信媒介綜合使用
1 系統設計
1.1 設計思想
可以把所有媒介所提供的通信資源看作單一的邏輯數據鏈,即超鏈,它表示每一個節點到相鄰點的連接,而并不關心具體的通信媒介OPC規范通過提供標準接口的方法,使下層設備無需了解上層應用,上層標準接口的方法,使下層設備無需了解上層應用,上層應用亦無需關心下層設備的細節。借鑒二者的思想,在應用軟件和通訊設備間增加了一層類似中間件的通信平臺,使得應用軟件和通信設備間的無關性得以實現,并把對通信設備的訪問進行統一管理,解決了并發沖突問題。
1.2 系統結構
根據ISO七層網絡體系定義,在傳送(Transport)層之上對底層進行封裝,是因為在多媒介情況下,多種協議是分布式網絡體系的一個基本要求。一方面,一般情況下,不同的通信媒介適用的傳送層協議是完全不同的;另一方面,系統中所傳輸的不同數據類型對通信性能(如一次可傳輸消息大小、實時性等指標)的要求差別很大。針對不同數據類型,設計具有不同性能的傳送層協議,并實現自適應調度,是實際應用的需求。只有在傳送層之上進行封裝才有可能屏蔽不同媒介所帶來的差異。系統整體描述如圖2所示。
鏈路的調度管理層對不同協議、不同通信媒介以及不同鏈路進行一管理和調度。通信媒介1~n表示諸如專線網絡、撥號線-MODEM、無線調制解調器-無線電臺及與此類似層次、將來擴展的不同通信媒介,鏈路調度管理層對這些通信媒介進行初始化、激活、配置,并獲得它們的數據接口和所有應該得到的狀態。協議1~n表示諸如基于TCP的協議、基于UDP的協議、半雙工高速短波協議以及將來擴展的各種不同協議,它們的管理同樣由鏈路調度管理層進行,接口并不直接暴露給上層,而是由管理層封裝后向上層提供統一的接口。協議模塊在需要發送數據或者有數據到來時并不直接與各通信媒介模塊通信,而是通過鏈路管理層訪問通信媒介模塊所提供的接口。這是因為許多通信模塊(與物理設備聯系緊密)并不支持并發訪問,鏈路管理層把對它們的訪問串行化。
1.3 模塊化和可擴展性
在不同的應用中,所用的協議和通信組件不盡相同,要求在鏈路管理層不做過多的改動,既能加入新的協議模塊和通信媒介模塊。這樣就需要設計和實現做到模塊化,且各模塊和鏈路調度模塊之間必須隔離開。鏈路調度模塊通過盡量統一的接口對各模塊進行調度和管理。微軟的組件對象模型技術(COM)就提供了這種特性。OPC規范應用COM/OLE技術實現了模塊化和可擴展性,但OPC規范主要針對工業控制領域,在本設計中無法完全實現,故直接采用COM技術,借鑒OPC的設計思想構建本設計。每個協議模塊和通信媒介模塊均是一個單獨COM組件,通過接口和回調接口與鏈路調度模塊進行通信,鏈路管理模塊以總線方式實現對協議模塊和媒介模塊的管理。而協議組件和通信媒介組件之間的通信則由鏈路調度模塊轉發。
所面臨的難點之一在于協議組件和通信媒介組件可以有相同的數據接口,但是這些組件的特性千差萬別,在設置參數和獲得當前狀態方面無法做到大致統一的接口,可以通過組件自解析的方式解決。鏈路管理模塊和這些組件之間的參數用字符串或數組的方式傳遞,各組件在得到這些字符串后根據本身的情況進行解析,得到特定的參數。
難點之二,如前文所述,通信媒介組件與物理層密切相關,很難做到支持并行化的輸入。在多條獨立鏈路不同的線程中同時使用同一通信媒介時,各鏈路對物理層的操作將產生沖突,必須對通信媒介組件的數據輸入進行串行化處理(排隊),使同一時刻,只處理一個輸入。在COM組件的多線程模型中,單線程套間(STA)模型有如下特點:如果某COM組件的對象生成在單線程套間中,則只有與同在一個套間特定的線程可以訪問該對象不在同一套間的其他線程必須通過列集(marshal)技術才能訪問該對象。這種技術基于COM ORPC協議和消息階列機制,自動把對該對象的訪問串行化了。所以如果每個通信媒介組件都只有一個對象且生存在STA中,則通過列集技術它的訪問自動被串行化。
1.4 媒介模塊和協議模塊的設計
媒介組件封裝了與網絡平有關的操作,向上提供了建鏈、斷鏈、發送數據、接收數據(回調)、參數設置、狀態改變報告(回調)、參數查詢、狀態查詢等接口。
例如在高速公路網絡中,專線網絡和撥號線后備鏈路都基于IP網絡,Windows套接字接口(Winsock)提供了一個基本與協議無關的傳送
【多媒介通信系統鏈路管理的設計和實現】相關文章:
新聞發布系統的設計和實現03-07
多網絡智能遠程遙控系統的設計與實現03-19
旅游云講解系統的設計和實現12-04
杭州東忠網絡招聘系統的設計和實現03-08
基于Vxworks實時操作系統的串口通信程序設計與實現03-18
基于PQRM的PACS系統設計與實現03-07
高校信息查詢系統的設計與實現03-28
基于C和串口通信的紅外防盜報警系統設計03-26