徐 丹
(中國交通通信信息中心,北京 100094)
遠洋交通運輸是我國國際運輸?shù)闹饕绞?,目前我國注冊的航海船舶?萬艘,其中遠洋商船和漁船近1萬艘。衛(wèi)星通信是遠洋船舶航行時的主要通信手段,主流的衛(wèi)星通信系統(tǒng)包括全球覆蓋的國際移動衛(wèi)星(Inmarsat)、銥星系統(tǒng)以及各種區(qū)域覆蓋的VSAT 衛(wèi)星通信系統(tǒng)等。隨著衛(wèi)星通信技術(shù)的發(fā)展,各類衛(wèi)星通信系統(tǒng)都支持數(shù)據(jù)通信業(yè)務(wù),盡管寬帶衛(wèi)星通信系統(tǒng)已日趨成熟,但仍和互聯(lián)網(wǎng)通信無法比擬,高昂的通信資費和較大的延時,仍然極大地約束了衛(wèi)星通信用戶數(shù)據(jù)業(yè)務(wù)的應(yīng)用,這其中就主要包括電子郵件應(yīng)用。
電子郵件是遠洋船舶最主要的通信方式。遠洋船舶包括交通運輸商船、漁業(yè)船舶、勘探科考作業(yè)船舶、海事監(jiān)管和搜救救助船舶等。船舶在離靠港、貨物承運和航務(wù)等業(yè)務(wù)中大量運用電子郵件與外界通信,內(nèi)容更是涉及商業(yè)信息、船舶運行狀況和航海安全應(yīng)急等方面。以北京海事衛(wèi)星地面站為例,每日船舶海事衛(wèi)星終端收發(fā)郵件近10萬封,每日衛(wèi)星通信流量約5G,在高成本、高延時和低帶寬的衛(wèi)星網(wǎng)絡(luò)環(huán)境中,這樣的數(shù)據(jù)流量對郵件傳輸?shù)目煽啃院徒?jīng)濟性要求更高,基于互聯(lián)網(wǎng)開放式的郵件系統(tǒng)顯然不能滿足衛(wèi)星網(wǎng)絡(luò)下的船岸郵件通信需求,因此航運業(yè)都在廣泛使用針對衛(wèi)星通信網(wǎng)絡(luò)的專業(yè)電子郵件系統(tǒng)進行郵件通信。
目前我國缺少自主研發(fā)的基于衛(wèi)星通信網(wǎng)絡(luò),滿足航運業(yè)船岸郵件軟件產(chǎn)品。全球航運業(yè)用戶多使用的是國外船岸電子郵件系統(tǒng),如Inmarsat Rydex、AmosConnect 等。該系列軟件雖然可以滿足船岸郵件應(yīng)用需求,但國外軟件在航運市場中長期處于壟斷地位,軟件授權(quán)使用成本高,且缺少技術(shù)升級,無法兼容不斷更新?lián)Q代的IT 環(huán)境,郵件服務(wù)器端的垃圾、病毒防護能力也不足。同時由于在繁簡體中文編碼方面兼容不夠,使得用戶浪費了流量而收發(fā)了亂碼郵件。因此自主研發(fā)一款基于衛(wèi)星網(wǎng)絡(luò),符合我國航運業(yè)船舶用戶需求的郵件通信軟件意義重大。本文將重點對該系統(tǒng)進行架構(gòu)設(shè)計,以指導(dǎo)相關(guān)軟件的研發(fā)和應(yīng)用。
衛(wèi)星通信一直以來是海事和遠洋運輸業(yè)主要的應(yīng)急通信手段,衛(wèi)星通信系統(tǒng)主要包括空間部分、終端部分和陸地接續(xù)等部分組成??臻g部分主要是通信衛(wèi)星,不同衛(wèi)星系統(tǒng)有不同星體組網(wǎng)構(gòu)成。根據(jù)衛(wèi)星業(yè)務(wù)的不同可劃分為移動衛(wèi)星通信(MSS)和固定衛(wèi)星通信(FSS),根據(jù)遠洋航運業(yè)的通信需求,我們以全球覆蓋的國際移動衛(wèi)星組織(Inmarsat)的第四代海事衛(wèi)星系統(tǒng)為例。終端部分則由海用FleetBroadBand(FBB)系統(tǒng)組成,包括全向天線和FBB 終端,該終端支持寬帶數(shù)據(jù)和語音業(yè)務(wù),最高速率達可432K,是目前航運業(yè)在遠海主要的衛(wèi)星通信終端系統(tǒng)。陸地側(cè)部分則由相應(yīng)洋區(qū)的地面接續(xù)站和互聯(lián)網(wǎng)。如圖1所示。
圖1 船舶衛(wèi)星通信網(wǎng)絡(luò)結(jié)構(gòu)
為了實現(xiàn)船舶用戶的數(shù)據(jù)業(yè)務(wù)通信,F(xiàn)BB 終端需要連接船舶局域網(wǎng)防火墻和路由器實現(xiàn)船員上網(wǎng)。作為海事通信的主要應(yīng)用,電子郵件系統(tǒng)則需要部署在船舶通信主機,通過撥號連線FBB終端建立空間端數(shù)據(jù)連接,獲得地面接續(xù)站分配的海事衛(wèi)星網(wǎng)絡(luò)IP 地址,從而實現(xiàn)與岸端郵件服務(wù)系統(tǒng)通信,并與互聯(lián)網(wǎng)個人郵件進行交互。根據(jù)以上網(wǎng)絡(luò)結(jié)構(gòu)分析,盡管衛(wèi)星終端已具備寬帶通信能力,但數(shù)據(jù)報文在空間端傳輸過程中,會受到衛(wèi)星長時延以及上下行鏈路的非對稱性等特點,導(dǎo)致數(shù)據(jù)通信效率和質(zhì)量受到限制。因此公共的互聯(lián)網(wǎng)郵件軟件在此網(wǎng)絡(luò)環(huán)境中經(jīng)常出現(xiàn)數(shù)據(jù)報文丟失,郵件亂碼,傳輸超時,數(shù)據(jù)流量成本過大等問題。
船舶郵件通信的需求不僅局限在普通的郵件收發(fā)功能上,更多的是考慮到因衛(wèi)星通信的限制,而對郵件系統(tǒng)提出的特有需求。首先航運用戶為了節(jié)省衛(wèi)星通信的數(shù)據(jù)流量,需要郵件軟件必備數(shù)據(jù)壓縮和解壓功能,即船到岸和岸到船雙向郵件在經(jīng)過衛(wèi)星鏈路之前,都需要進行郵件批量打包壓縮,待經(jīng)過衛(wèi)星鏈路傳輸后,再進行郵件批量解壓縮釋放,從而達到節(jié)約數(shù)據(jù)流量的作用。其次,由于船員個人郵件通信的需求,以及衛(wèi)星通信終端非長時間在線模式,因此需要支持船舶局域網(wǎng)內(nèi)部的SMTP 郵件代理服務(wù),該服務(wù)將岸端接收的郵件報文解壓后,進行船員子郵箱賬號的分發(fā),相反船到岸郵件,則負責(zé)收集所有郵件客戶方投遞到郵件代理服務(wù)的郵件進行打包壓縮,待通信主機進行衛(wèi)星撥號時機進行匯聚和分發(fā)雙向郵件。對于大型航運企業(yè),船岸電子郵件還作為船岸信息化數(shù)據(jù)交換的工具,包括自動數(shù)據(jù)航務(wù)報、船舶工況等數(shù)據(jù)內(nèi)容都需要根據(jù)一定的時間頻率,特定的數(shù)據(jù)格式,以及對接外部輸入輸出的信息系統(tǒng)進行自動化郵件封裝和投遞。
在郵件安全性方面,需要具備如下功能。首先是黑白名單過濾功能,需要對具體郵箱和域名進行兩級岸端黑白名單設(shè)置,在岸端過濾不信任的郵件和發(fā)件人,減少不必要的通信產(chǎn)生。其次,是提供船端交互式郵件接收功能,即允許船舶用戶撥號后僅能選擇查看郵件標題列表,有選擇性的篩選需要下載接收的郵件,提高郵件通信的經(jīng)濟性。郵件備份功能,可以為用戶提供岸到船,船到岸雙向的郵件自定義備份到第三方郵件地址進行歸檔,并確保船舶通信主機遇到故障時進行郵件內(nèi)容恢復(fù)。通過以上需求分析,將能夠指導(dǎo)系統(tǒng)架構(gòu)設(shè)計以滿足實際使用需求。
船岸郵件系統(tǒng)主要分為船岸兩側(cè)業(yè)務(wù),船側(cè)和岸側(cè)互相獨立。船岸通信基于衛(wèi)星信道,通信數(shù)據(jù)需要有加密、壓縮和續(xù)傳能力。功能架構(gòu)如圖2所示。
圖2 系統(tǒng)功能架構(gòu)圖
岸端系統(tǒng)包括船員服務(wù)、船公司服務(wù)和衛(wèi)星網(wǎng)絡(luò)提供商運營服務(wù)。岸端為船舶企業(yè)提供郵件服務(wù)配置管理功能,“船公司郵件系統(tǒng)管理員”使用的船岸端業(yè)務(wù)管理門戶。該門戶作為船舶郵件云端服務(wù)平臺,可以查看所屬企業(yè)的船舶郵箱的進出站郵件,進行船舶郵箱的過濾策略和船舶郵箱配置,監(jiān)控船舶郵件的運行狀態(tài)。岸端為平臺運營商提供系統(tǒng)運維管理門戶,門戶包括全網(wǎng)郵箱開銷戶,郵件全局策略配置和網(wǎng)關(guān)配置。岸端為船員個人提供WebMail 便于船員離船,在公網(wǎng)環(huán)境下繼續(xù)收發(fā)船舶郵件處理船員郵件。
船端系統(tǒng)包括郵件服務(wù)器,Web 郵件管理模塊。郵件服務(wù)器通過衛(wèi)星鏈路,實現(xiàn)與岸端系統(tǒng)通信,并提供壓縮、加密、續(xù)傳功能。船端郵件服務(wù)器不僅與岸端郵件通信,還負責(zé)為船員提供基于船舶局域網(wǎng)內(nèi)的SMTP/POP3協(xié)議的郵件收發(fā)支持,包括主流的Outlook/Foxmail 工具,同時也支持Webmail。船端郵件服務(wù)器還可以在船舶主機發(fā)布Web 服務(wù),提供船舶局域網(wǎng)郵件管理員自助管理船員郵箱、撥號連接衛(wèi)星和船舶郵件出入口管理。船端系統(tǒng)具體功能包括,衛(wèi)星撥號傳輸功能,船舶局域網(wǎng)郵件分發(fā)/收集功能,船員賬號管理功能,自定義郵件交互接收模式,自動郵件傳輸(AME)和策略配置功能。其中有別于公網(wǎng)電子郵件系統(tǒng)的是“郵件交互接收模式”和AME 功能。由于衛(wèi)星用戶接收郵件會產(chǎn)生數(shù)據(jù)流量和資費,因此對接收岸端公網(wǎng)的郵件需要允許船舶用進行甄別有選擇性接收,因此“郵件交互接收模式”是一種“掛起、選擇、提交、下載”四步驟的二次交互模式。是只可以接收郵件標題列表,而不接收正文和附件,由用戶對列表進行甄選,有選擇性的下載郵件,從而減少垃圾郵件或不急需的大郵件流量產(chǎn)生。在技術(shù)上,通信協(xié)議需要設(shè)計相應(yīng)步驟的命令,以實現(xiàn)郵件下載的二次交互?!白詣余]件傳輸(AME)”是為了滿足船舶航務(wù)、工況等業(yè)務(wù)系統(tǒng)數(shù)據(jù)交換的自動郵件投遞需求而設(shè)計。該功能可以運行用戶自定義郵件發(fā)送時間、發(fā)送頻率,支持外掛郵件拼裝命令或程序,自動組裝郵件,包括正文和附件。指定目的地址,AME 將會自動按策略配置進行郵件投遞。反之,AME 可以接收岸端系統(tǒng)投遞郵件,自動解包郵件和附件存儲在本地,供應(yīng)用系統(tǒng)讀取文件,減少人工數(shù)據(jù)交換的工作量。船端系統(tǒng)還提供基于桌面應(yīng)用的“托盤”程序,實現(xiàn)與岸端新郵件出入的消息提醒,和一鍵撥號收發(fā)。
經(jīng)過我們對該系統(tǒng)的架構(gòu)設(shè)計,我們認為這個系統(tǒng)其實是架構(gòu)在衛(wèi)星鏈路兩側(cè)的私有協(xié)議的通信系統(tǒng),僅是在最終用戶輸入輸出方面是采用的POP/SMTP 協(xié)議,即以郵件為輸入輸出形式。因此該系統(tǒng)是三層架構(gòu),即兩側(cè)為標準的郵件系統(tǒng),中間層為擴展FTP 協(xié)議的私有數(shù)據(jù)傳輸系統(tǒng)。如圖3所示。
圖3 技術(shù)架構(gòu)
衛(wèi)星鏈路兩側(cè)通信采用基于FTP 框架協(xié)議擴展,即擴展了船端FTP Client 和岸端FTP Server 傳輸中的鑒權(quán)、命令加密等命令。系統(tǒng)調(diào)度采用Java MQ 消息隊列組件進行架構(gòu),F(xiàn)TP Server接收完成需要根據(jù)文件解壓后,將數(shù)據(jù)報文投入到消息隊列MQ中間件中,插入隊列服務(wù)。船端和岸端服務(wù)系統(tǒng)采用開放式的java 架構(gòu),岸端系統(tǒng)采用標準的企業(yè)級Web 應(yīng)用架構(gòu)實現(xiàn),支持多線程處理,支持關(guān)系型數(shù)據(jù)庫進行數(shù)據(jù)存取訪問和查詢。船端系統(tǒng)則采用輕量級Web 架構(gòu)實現(xiàn),用于船端系統(tǒng)跨平臺部署,便于嵌入船載一體機設(shè)備,同時基于XML 和文件系統(tǒng)進行郵件數(shù)據(jù)的解析和存儲,簡化組織架構(gòu)、人員、權(quán)限、菜單等管理模塊。在船端同時引入標準的POP3 Server、SMTP Server 支持主流Email 收發(fā)工具,也支持船端船員使用瀏覽器訪問WebMail。
關(guān)于斷點續(xù)傳和郵件壓縮,是該系統(tǒng)中間通信層的需要解決的核心問題。常見的壓縮算法包括rar、zip 和7zip,經(jīng)過壓縮測試比對,7zip 算法壓縮比例和效率較高,因此系統(tǒng)壓縮層采用java 的7zip 算法壓縮工具庫實現(xiàn)。以一次岸到船郵件投遞業(yè)務(wù)為例,岸端系統(tǒng)將待發(fā)送船端的郵件進行打包壓縮,用戶在船端選擇連接撥號后,船端FTP Client 與岸端FTP Server 建立連接,通過自定義LOGIN 命令進行鑒權(quán),鑒權(quán)完成自動調(diào)用download 命令從岸端獲取待下載文件,為了支持斷點續(xù)傳,船端FTPServer 在下載過程中寫入字節(jié)加載進度日志,文件下載完成發(fā)送文件下載完成標識,調(diào)用解壓處理模塊進行解壓業(yè)務(wù)分發(fā)。解壓模塊解壓文件后將郵件文件按用戶目錄保存mailbox 目錄,POP3 Server 通過mailbox 目錄獲取用戶郵件。相反,SMTP Server 接收用戶發(fā)送郵件,將郵件文件寫入待發(fā)送目錄。接收完成上傳待發(fā)送文件(支持斷點續(xù)傳),發(fā)送完成刪除待上傳原始文件。
由于衛(wèi)星通信網(wǎng)絡(luò)的時延和帶寬的特點,互聯(lián)網(wǎng)應(yīng)用無法滿足衛(wèi)星通信網(wǎng)絡(luò)的應(yīng)用場景。因此在基于窄帶寬和高延時的衛(wèi)星網(wǎng)絡(luò)環(huán)境下,研制私有協(xié)議進行數(shù)據(jù)壓縮傳輸和交換的應(yīng)用系統(tǒng)具有實際意義。船岸郵件通信系統(tǒng)是典型的衛(wèi)星通信軟件,在海事航海領(lǐng)域具有廣泛的應(yīng)用。但在架構(gòu)系統(tǒng)時要考慮幾方面因素,首先通信層要具有容錯性,包括數(shù)據(jù)包交互、連接超時和重試等的容錯。其次要最大化利用衛(wèi)星通信兩側(cè)應(yīng)用系統(tǒng)的數(shù)據(jù)本地計算和存儲,以減少傳輸數(shù)據(jù)的流量。同時,建議在互聯(lián)網(wǎng)與衛(wèi)星通信接續(xù)處,架設(shè)防火墻和郵件網(wǎng)關(guān)等網(wǎng)絡(luò)安全產(chǎn)品以隔離互聯(lián)網(wǎng)無效數(shù)據(jù)的入侵,確保衛(wèi)星通信鏈路的數(shù)據(jù)安全性和經(jīng)濟性。最后,建議在船端(衛(wèi)星終端側(cè))應(yīng)用需要設(shè)計一鍵恢復(fù)、增量更新和遠程診斷的功能,以便在應(yīng)急通信環(huán)境中支持用戶快速使用通信軟件。