- 相關推薦
多媒介通信系統(tǒng)鏈路管理的設計和實現
摘要:軍事通信系統(tǒng)和某些民和領域對通信可靠性和抗毀性的需求使得點到點的鏈路傾向于建立在多種通信媒介、多種協議上。介紹了一種借鑒OPC規(guī)范,基于COM技術,在多協議、多種協議上。介紹了一種借鑒OPC規(guī)范,基于COM技術,在多協議、多通信媒介上進行鏈路管理和調度的解決方案,并給出了具體實現。關鍵詞:多種通信媒介 多協議 鏈路調度 COM
在許多應用中,如軍事通信中的C4I系統(tǒng)、政府部門和特殊行業(yè)中的某些重要通信系統(tǒng),對通信網絡的可靠性、抗毀性有著非?量痰囊,既要求在正常情況下有較高的通信效率,又要求在惡劣環(huán)境下能保證基本的通信,因此僅僅依賴單一通信媒介難以達到可靠性的要求。在C4I系統(tǒng)中,把現有的和未來的全部傳輸媒介資源綜合到通信系統(tǒng)中已經成為通信網絡追求的目標之一。在民用領域,例如高速公路聯聯網收費系統(tǒng)中,因為需要一個24×7的可靠通信平臺,亦采用了不同類型的通信媒介(如圖1),它通常把專線作為主用線路,把公眾電信網提供的撥號線(普通調制解調順或ISDN)連接作為臨時備用線路。不同通信媒介的效率和經濟性差別很大。對不同類型的通信鏈路必須進行綜合調度,做到自適應不同的網絡環(huán)境,自動在主用鏈路和多條備用鏈路間進行切換。這樣才能適應這些系統(tǒng)對網絡生存能力的要求。
傳統(tǒng)開過程中,常把最上端的應用程序直接建立在多種通信設備上,在應用程序中直接對不同類型鏈路進行管理和調度,這對整個系統(tǒng)的開發(fā)、升級、擴展帶來了很大問題。一方面應用軟件開發(fā)者需要耗費大量精力在不同的通信設備上,而這些工作在別的同類項目中無法復用;另一方面,當系統(tǒng)需要升級通信設備,或者擴展新的通信媒介時,幾乎相當于重新開發(fā)整個系統(tǒng)。同時,在多個應用程序共享通信設備時容易產生沖突。借鑒超鏈思想以及微軟和工業(yè)控制界共同推出的OPC(OLE for process control)規(guī)范的設計思路,提出了基于COM技術的解決方案。
圖1 節(jié)點間的多種通信媒介綜合使用
1 系統(tǒng)設計
1.1 設計思想
可以把所有媒介所提供的通信資源看作單一的邏輯數據鏈,即超鏈,它表示每一個節(jié)點到相鄰點的連接,而并不關心具體的通信媒介OPC規(guī)范通過提供標準接口的方法,使下層設備無需了解上層應用,上層標準接口的方法,使下層設備無需了解上層應用,上層應用亦無需關心下層設備的細節(jié)。借鑒二者的思想,在應用軟件和通訊設備間增加了一層類似中間件的通信平臺,使得應用軟件和通信設備間的無關性得以實現,并把對通信設備的訪問進行統(tǒng)一管理,解決了并發(fā)沖突問題。
1.2 系統(tǒng)結構
根據ISO七層網絡體系定義,在傳送(Transport)層之上對底層進行封裝,是因為在多媒介情況下,多種協議是分布式網絡體系的一個基本要求。一方面,一般情況下,不同的通信媒介適用的傳送層協議是完全不同的;另一方面,系統(tǒng)中所傳輸的不同數據類型對通信性能(如一次可傳輸消息大小、實時性等指標)的要求差別很大。針對不同數據類型,設計具有不同性能的傳送層協議,并實現自適應調度,是實際應用的需求。只有在傳送層之上進行封裝才有可能屏蔽不同媒介所帶來的差異。系統(tǒng)整體描述如圖2所示。
鏈路的調度管理層對不同協議、不同通信媒介以及不同鏈路進行一管理和調度。通信媒介1~n表示諸如專線網絡、撥號線-MODEM、無線調制解調器-無線電臺及與此類似層次、將來擴展的不同通信媒介,鏈路調度管理層對這些通信媒介進行初始化、激活、配置,并獲得它們的數據接口和所有應該得到的狀態(tài)。協議1~n表示諸如基于TCP的協議、基于UDP的協議、半雙工高速短波協議以及將來擴展的各種不同協議,它們的管理同樣由鏈路調度管理層進行,接口并不直接暴露給上層,而是由管理層封裝后向上層提供統(tǒng)一的接口。協議模塊在需要發(fā)送數據或者有數據到來時并不直接與各通信媒介模塊通信,而是通過鏈路管理層訪問通信媒介模塊所提供的接口。這是因為許多通信模塊(與物理設備聯系緊密)并不支持并發(fā)訪問,鏈路管理層把對它們的訪問串行化。
1.3 模塊化和可擴展性
在不同的應用中,所用的協議和通信組件不盡相同,要求在鏈路管理層不做過多的改動,既能加入新的協議模塊和通信媒介模塊。這樣就需要設計和實現做到模塊化,且各模塊和鏈路調度模塊之間必須隔離開。鏈路調度模塊通過盡量統(tǒng)一的接口對各模塊進行調度和管理。微軟的組件對象模型技術(COM)就提供了這種特性。OPC規(guī)范應用COM/OLE技術實現了模塊化和可擴展性,但OPC規(guī)范主要針對工業(yè)控制領域,在本設計中無法完全實現,故直接采用COM技術,借鑒OPC的設計思想構建本設計。每個協議模塊和通信媒介模塊均是一個單獨COM組件,通過接口和回調接口與鏈路調度模塊進行通信,鏈路管理模塊以總線方式實現對協議模塊和媒介模塊的管理。而協議組件和通信媒介組件之間的通信則由鏈路調度模塊轉發(fā)。
(范文先生網m.panasonaic.com收集整理)
所面臨的難點之一在于協議組件和通信媒介組件可以有相同的數據接口,但是這些組件的特性千差萬別,在設置參數和獲得當前狀態(tài)方面無法做到大致統(tǒng)一的接口,可以通過組件自解析的方式解決。鏈路管理模塊和這些組件之間的參數用字符串或數組的方式傳遞,各組件在得到這些字符串后根據本身的情況進行解析,得到特定的參數。
難點之二,如前文所述,通信媒介組件與物理層密切相關,很難做到支持并行化的輸入。在多條獨立鏈路不同的線程中同時使用同一通信媒介時,各鏈路對物理層的操作將產生沖突,必須對通信媒介組件的數據輸入進行串行化處理(排隊),使同一時刻,只處理一個輸入。在COM組件的多線程模型中,單線程套間(STA)模型有如下特點:如果某COM組件的對象生成在單線程套間中,則只有與同在一個套間特定的線程可以訪問該對象不在同一套間的其他線程必須通過列集(marshal)技術才能訪問該對象。這種技術基于COM ORPC協議和消息階列機制,自動把對該對象的訪問串行化了。所以如果每個通信媒介組件都只有一個對象且生存在STA中,則通過列集技術它的訪問自動被串行化。
1.4 媒介模塊和協議模塊的設計
媒介組件封裝了與網絡平有關的操作,向上提供了建鏈、斷鏈、發(fā)送數據、接收數據(回調)、參數設置、狀態(tài)改變報告(回調)、參數查詢、狀態(tài)查詢等接口。
例如在高速公路網絡中,專線網絡和撥號線后備鏈路都基于IP網絡,Windows套接字接口(Winsock)提供了一個基本與協議無關的傳送接口從而封裝了基本操作。但是對于不同協議,具體操作仍稍有不同,如面連接的TCP和面向無連接的UDP向上層暴露的SOCKET連接過程就很不相同,同時對不同協議參數信息的查詢和設置接口差別也很大;而撥號線后備鏈路在SOCKET連接之外還有撥號、掛斷等操作。媒介組件在Winsock基礎上又給出了一層封裝,把建立鏈路、撤銷鏈路、等差別較大的操作在此層完成,向上層暴露統(tǒng)一的建鏈方法。對于參數的設置和信息查詢,媒介組件同外界通過不定長度的數組或字符串交換,這樣就形式了掩蓋了差異,保持了接口的統(tǒng)一性。
對于特殊的后備媒介,如無線MODEM-無線電臺方式,媒介組件必須提供與IP網絡相一致的接口,而對設備的操作(串口、MODEM、電臺)進行封裝。節(jié)點ID系統(tǒng)(與IP系統(tǒng)類似)也在此組件中進行管理。
在媒介模塊之上完成的協議控制以獨立的COM組件方式存在。這是考慮到媒介類型與協議并非一一對應,一種協議可能適用于多種媒介,一種媒介亦可能使用多種協議。
2 鏈路的管理、維護和調度
鏈路的管理、維護和調度是本設計的重點內容之一,可從運行角度和維護測試角度分別考慮。在運行中,系統(tǒng)的每個節(jié)點都可能通過多條鏈路與多個節(jié)點通信,每條鏈路所使用的通信媒介和協議又不盡相同。與同一節(jié)點通信的過程中,有可能在不同的通信媒介和協議間切換。同時,鏈路管理層必須實時獲得各條鏈路的運行狀態(tài)和當前參數,如通斷情況、吞吐量等,以作出正確的調度決策。從維護測試角度,需要設置各條鏈路所涉及的協議參數和涉及通信媒介的參數;新節(jié)點必須能夠自動加入,成為任一節(jié)點的客戶端。
2.1 多鏈路管理
鏈路管理層必須維護一張鏈路表,以記錄各條鏈路的情況(如表1)。
表1 鏈路管理表結構
目的ID是節(jié)點的全網唯一標總值,通信媒介用字符標識,鏈路標識是鏈路的唯一標識。對應目的地址為下一層(特定通信媒介)的地址:若基于UDP/IP或TCP/IP,則為IP地址;若基于短波或者別的通信媒介,則為在下一層約定的地址。優(yōu)先級表示與同一目的ID通信時優(yōu)先采用哪條鏈路。與同一節(jié)點間的鏈路可能有數條,它們互相獨立且對等,只是優(yōu)先級不相同。鏈路狀態(tài)包括中止和激活兩種。中止狀態(tài)指鏈路保持在偵聽態(tài),能接收數據幀關上報鏈路管理組件,而發(fā)送線程中止運行;激活狀態(tài)指兩節(jié)點在此鏈路上進行通信。鏈路由中止狀態(tài)到激活狀態(tài)轉換的過程稱為激活,包括啟動發(fā)送線程,通過發(fā)送握手幀和接收握手成功幀與目的ID進行握手等過程。
鏈路表包括了所有可能使用的鏈路,在本節(jié)點啟動時,只激活優(yōu)先級最高的鏈路。若優(yōu)先級最高鏈路無法激活,則激活次高的鏈路,以此類推,直到連接上。若激活了非最高優(yōu)先級鏈路,則保持高優(yōu)先級鏈路的“試圖連接狀態(tài)”。若均無法激活,則停止主動激活,等待被動激活。在所有激活的鏈路上,服務器主動發(fā)出“心跳信號”,偵測鏈路狀態(tài),包括鏈路是否中斷、心跳信號回應時間等,并實時反映到鏈路表上。
圖3 鏈路切換(自動切換、非自動切換)流程圖
本節(jié)點與主服務器(即主父節(jié)點)和備份服務器(如有)之間的鏈路必須在本節(jié)點運行之前配置,與各客戶端(子節(jié)點)之間的鏈路可在運行中動態(tài)配置,由客戶端主動發(fā)起,申請加入。
2.2 鏈路間切換
在與一個節(jié)點通信的過程中,當主用鏈路(優(yōu)先級高)斷鏈或擁塞時,必須自動切換到備用鏈路上進行數據通信,稱為自適應切換;亦可禁止自適應切換而由上層控制,稱為非自動切換。在許多網絡中,父節(jié)點備用鏈路通信是公用的,無法由某兩個節(jié)點永久占用,只能在需要時申請激活。
在自動切換模式下,切換原則是:盡量使用高優(yōu)先級鏈路進行通信。分五種情況討論:(1)網絡層交給鏈路層一系列待發(fā)送消息,此消息結構中包含了目的ID。鏈路層通過鏈路列表打到此目的ID對應的已經激活的鏈路中優(yōu)先級最高者進行通信。(2)當正在通信的鏈路中斷時,保持該鏈路的試圖連接狀態(tài)。激活優(yōu)先級次之的鏈路,若無,則再次之(此鏈路應在切換鏈路集內)。如果沒有鏈路可以被激活,則認為通信中斷;若激活優(yōu)先級鏈路,則從未被ACK的消息開始發(fā)送。(3)在通信中,高優(yōu)先級的鏈路被激活時,中斷正在使用的鏈路,轉移到高優(yōu)先級的鏈路上,從未被ACK的消息開始發(fā)送。(4)末在通信中的鏈路中斷時(由心跳信號偵測得知),保持該鏈路試圖連接狀態(tài),激活優(yōu)先級次之的鏈路,若無,則再次之(在切換鏈路信內)。如果沒有鏈路可以被激活,則認為通信中斷。(5)末在通信中,高優(yōu)先級的鏈路被激活時,中斷低優(yōu)先級鏈路。
非自動切換模式下的要點是保證在切換過程中數據的安全性,不丟失也不重復。向上層提供的非自動切換接口提供三個功能:a.激活某條鏈路;b.將當前通信切換至某條鏈路;c.中止(disable)某條鏈路。在產生通信動作前,上層可以指定目前激活的鏈路(同時中止其它鏈路,使激活鏈路保持在1);如果不能激活指定鏈路,則報告到上層,由上層繼續(xù)進行調度。激活鏈路只有一條,有通信動作產生時,鏈路層自然采用條鏈路進行通信。如果需要從鏈路A切換到鏈路B,上層必須先激活鏈路B,此時有A/B兩條鏈路激活。但是通信仍在鏈路A進行;然后上層將當前通信切換至鏈路B;鏈路管理層待上條消息發(fā)送成功或失敗后,再切換至鏈路B;最后上層disable鏈路A,使激活鏈路仍然只保持一條。在這種模式下,盡管是非自動切換,但是鏈路管理層仍然對其過程進行干預,保證了數據的安全性。鏈路切換流程如圖3。
2.3 節(jié)點動態(tài)加入
新的節(jié)點希望成為某節(jié)點的子節(jié)點時,配置與該節(jié)點(服務器)之間的鏈路,并向該節(jié)點發(fā)出加入申請幀,等待對應回傳,從回傳信息中判斷對方是否允許本節(jié)點加入。與服務器之間有可能多鏈路,申請幀中必須包含所有這些鏈路的信息。
本節(jié)點收到新的客戶端加入本網絡的申請幀時,由服務器操作員審核是否允許該客戶端加入。若允許,從申請幀中獲得與該節(jié)點間所有鏈路的信息寫入鏈路表,并把對方發(fā)送申請幀所使用的鏈路設為激活狀態(tài),然后發(fā)送“成功”應答幀至該節(jié)點,至此,即加入了一個新的子節(jié)點。若未通過審核,則發(fā)送“失敗”應答幀至該節(jié)點。
本系統(tǒng)的優(yōu)點在于:(1)基于超鏈思想,對點到點的多種類型鏈路、多條鏈路進行統(tǒng)一管理,使具體通信事務不必關心鏈路調度;對外接口簡單,易于二次開發(fā);(2)基于COM技術和OPC規(guī)范設計思想,把協議、媒介驅動、鏈路管理作為獨立的組件,使系統(tǒng)的可擴展性大大增強,可以在基本不改變其他要素的情況下,獨立地升級或增加協議或媒介驅動協議,系統(tǒng)的靈活性和適用范圍大大增加。
【多媒介通信系統(tǒng)鏈路管理的設計和實現】相關文章:
金剛石合成控制系統(tǒng)中多串口通信技術的設計與實現08-06
金剛石合成控制系統(tǒng)中多串口通信技術的設計與實現08-06
基于以太網的光無線通信系統(tǒng)的設計與實現08-06
多路異步串行通信系統(tǒng)在光纖陀螺組合中的設計與實現08-06
TM1300 DSP系統(tǒng)的以太網通信接口的設計與實現04-12