奚煒弘 李晴飛


摘要:隨著衛星通信技術的發展,衛星通信終端得到了大量的普及和應用,這也使得遠程維護成為衛星通信系統的一個重要細成部分。文章通過對網橋、B/S架構的分析研究,設計了一種基于B/S架構的衛星地球站遠程維護方案。
關鍵詞:衛星通信;B/S;網橋
隨著空間技術和電子技術的發展,衛星通信技術得到了不斷的發展,移動衛星通信系統開始受到TM門廣泛的關注和應用。衛星通信以其覆蓋區域大、通信距離遠、機動靈活、不受陸地災害影響等眾多優勢,開始進入各個領域,并在其中占據了重要的份額。在大量衛星終端的普及和應用的同時,終端的維護方式也必然開始成為衛星通信系統的一個重要研究方向。
傳統的衛星地球站現場維護方式,通常是當客戶的設備產生故障之后,通知設備廠家,此時設備廠家才會派出工程師到現場為客戶解決問題。這樣的方式會引起客戶的設備長時間無法使用,從而降低客戶滿意度,并且耗費大量的人員時間和出差費用。
本文通過對衛星鏈路轉地面網絡的方式和維護平臺系統架構的分析研究,設計了一種基于B/S架構的衛星地球站遠程維護方案,該方案可大幅度降低維護成本,減少用戶損失。
1.衛星鏈路轉地面網絡設計
在衛星地球站遠程維護方案的設計中,需要將衛星鏈路轉換為地面網絡,在轉換的過程中,需要注意以下幾點。
(1)不能改變收到的幀的內容和格式,也不能在幀的外部添加任何內容。每一個要傳輸的幀應該是簡單地從衛星鏈路中復制出來,并原封不動地送給地面網絡,反之亦然;(2)需要有足夠的緩存空間以滿足峰值的需要;(3)具有數據過濾功能,解決循環回路。
通過上述分析可以發現使用網橋模式是最優的選擇。在衛星通信中,網橋的功能是將從地面網絡接收到的數據幀進行緩存,分析該幀的目的MAC地址,如果MAC地址屬于另一端網絡時,則通過衛星鏈路進行轉發。如圖1所示,同樣當接收到衛星鏈路的數據幀時,將數據幀進行緩存,分析該幀的目的MAC地址,如果MAC地址屬于本端網絡,則轉發到本地網絡。
在對衛星通信中網橋工作原理進行分析后,發現可以利用libnet和libpcap的編程接口以軟件的方式來實現。libnet和libpcap都是Unix/Linux平臺下用c語言實現的API library,它們都擁有很高的可移植性,可以移植到VxWorks,Windows等平臺下使用。其中libnet提供了數據包的構造和發送功能,libpcap則提供了數據包捕獲的功能。
實現網橋功能,libnet庫需要調用以下函數:
(1)初始化。
libnet_t*libnet_init(int injection_type,char*device,char*err_buf);
(2)數據包發送。
mt hbnet wnte(hbnet_t*);
(3)資源釋放。
void libnet_destroy(libnet_t*);
libpcap庫需要調用以下函數:
(4)初始化。
pcap_t*pcap_open_live(const char*device,intsnaplen,int promisc,int to_ms,char*errbuf);
(5)數據包捕獲。
int pcap_loop(pcap_t*p,int cnt,pcap_handlercallback u_char*user);
(6)資源釋放。
void pcap_close(pcap_t*p);
當衛星鏈路建立后,通過調用libnet和libpcap的編程接口函數將衛星鏈路轉換為地面網路,以網橋的方式將兩個使用相同MAC協議的局域網相連,最終達到維護平臺遠程登陸維護的目的。
2.維護平臺系統架構選擇
目前,主流體系架構為B/S和C/S兩種。B/S架構的全稱為Browser/Server,即瀏覽器/服務器架構。Browser指的是web瀏覽器,極少數事務邏輯在前端實現,主要事務邏輯在服務器端實現,由Browser客戶端,WebApp服務器端和DB端構成三層架構。C/S架構是一種典型的兩層架構,其全稱是Client/Server,即客戶端/服務器端架構。其客戶端包含一個或多個在用戶的電腦上運行的程序,而服務器端建立數據庫服務器或Socket服務器,允許客戶端通過數據庫連接訪問服務器端的數據;或客戶端通過與服務端的Socket通信獲取數據。
在本遠程維護方案中,選擇B/S架構擁有以下幾個優勢:
(1)采用分布式系統設計,安全性更高。從程序運行安全角度考慮,在衛星地球站中,通信App和維護App是兩個獨立的程序,兩個App的運行互不干擾,實現了運行的隔離。從數據調用角度考慮,通信hpp和維護App所使用的數據在不同的內存中,實現數據的隔離。運行的隔離和數據的隔離保證了衛星地球站的使用更加可靠和安全。
(2)操作靈活便利。B/S架構的特點決定了只需要一個衛星地球站和普通計算機,就可以在任何地方進行遠程維護,無需為計算機安裝任何客戶端,也不需要考慮計算機的硬件配置。
(3)開發成本低。在B/S架構中只需要開發服務器端的WebApp,無需像C/S架構一樣開發服務器端的App和客戶端的App,這樣節約了開發成本。
(4)共享性好。B/S架構允許多個Browser客戶端同時登陸服務器端,可以對衛星地球站出現的故障問題進行會診。
3.方案總體設計
衛星地球站遠程維護方案模型由3部分組成,如圖2所示。
衛星:提供轉發功能,實現兩個地球站衛星鏈路建立的功能。
維護平臺:由一臺衛星地球站和一臺普通計算機組成。衛星地球站用來與故障設備建立衛星鏈路,并提供衛星鏈路轉網絡鏈路的功能;普通計算機通過網絡與衛星地球站相連,通過Web瀏覽器登錄故障設備。
故障設備:故障設備與維護平臺的連接支持兩種方式,一是直接通過衛星鏈路建立連接,二是使用地面網絡通過中繼設備建立連接。
這種設計方案支持以下兩種情況的遠程維護。
(1)當故障設備衛星通信鏈路正常時,維護平臺可以遠程登陸設備進行維護。例如:當衛星地球站B需要進行遠程維護并且衛星通信鏈路正常時,在衛星地球站A與衛星地球站B之間建立衛星通信維護鏈路,將衛星鏈路轉換成地面網絡,通過維護平臺登陸衛星地球站B,對衛星地球站B進行設備運行監控、參數設置和版本升級等操作,以達到遠程維護的目的。
(2)當故障設備出現衛星通信路故障時,可以將一臺衛星通信鏈路正常的設備和故障設備組成網絡,以衛星通信鏈路正常的設備作為為中繼,讓維護平臺可以遠程登陸故障設備進行維護。例如:衛星地球站C2星通信鏈路故障,衛星地球站B衛星通信鏈路正常。將衛星地球站C和衛星地球站B相連組成網絡,衛星地球站A與衛星地球站B之間建立衛星通信維護鏈路,以衛星地球站B為中繼,通過維護平臺登陸衛星地球站C,對衛星地球站C進行遠程維護。
通過上述研究可以發現,本方案的設計擁有以下幾個優點:
(1)實時監控:定期與客戶建立衛星通信維護鏈路,實時掌握客戶設備的使用情況,遠程修改客戶設備的不合適配置參數,保證客戶設備可以得到最優的運行,降低故障出現的概率。
(2)軟件版本控制:通過與客戶建立衛星通信維護鏈路,掌握客戶設備中的軟件系統版本,可以遠程對客戶設備中的軟件系統進行升級,避免了派專人去現場為用戶升級的情況。
(3)中繼功能:即使客戶設備出現衛星通信鏈路故障,也可以通過使用一臺正常的設備作為中繼,完成遠程維護功能。
4.結語
隨著衛星通信終端的大量普及,傳統的現場維護方式不僅影響了用戶的體驗,也造成了公司維護成本的不必要開銷。本文設計了一種基于B/S架構的衛星地球站遠程維護方案。在該方案中,B/S架構的應用,充分利用了分布式系統的特點,保證了程序運行和數據的獨立與安全,并且維護手段也更加方便靈活;遠程維護的應用,則使工程師不需要再親臨現場,在本地就可以對遠端的衛星地球站進行維護,并根據維護的結果,判斷是否需要再進行現場維護。該方案的設計實現了一種新的高效率、低成本的服務方式。