徐 丹
(中国交通通信信息中心,北京 100094)
远洋交通运输是我国国际运输的主要方式,目前我国注册的航海船舶近2万艘,其中远洋商船和渔船近1万艘。卫星通信是远洋船舶航行时的主要通信手段,主流的卫星通信系统包括全球覆盖的国际移动卫星(Inmarsat)、铱星系统以及各种区域覆盖的VSAT 卫星通信系统等。随着卫星通信技术的发展,各类卫星通信系统都支持数据通信业务,尽管宽带卫星通信系统已日趋成熟,但仍和互联网通信无法比拟,高昂的通信资费和较大的延时,仍然极大地约束了卫星通信用户数据业务的应用,这其中就主要包括电子邮件应用。
电子邮件是远洋船舶最主要的通信方式。远洋船舶包括交通运输商船、渔业船舶、勘探科考作业船舶、海事监管和搜救救助船舶等。船舶在离靠港、货物承运和航务等业务中大量运用电子邮件与外界通信,内容更是涉及商业信息、船舶运行状况和航海安全应急等方面。以北京海事卫星地面站为例,每日船舶海事卫星终端收发邮件近10万封,每日卫星通信流量约5G,在高成本、高延时和低带宽的卫星网络环境中,这样的数据流量对邮件传输的可靠性和经济性要求更高,基于互联网开放式的邮件系统显然不能满足卫星网络下的船岸邮件通信需求,因此航运业都在广泛使用针对卫星通信网络的专业电子邮件系统进行邮件通信。
目前我国缺少自主研发的基于卫星通信网络,满足航运业船岸邮件软件产品。全球航运业用户多使用的是国外船岸电子邮件系统,如Inmarsat Rydex、AmosConnect 等。该系列软件虽然可以满足船岸邮件应用需求,但国外软件在航运市场中长期处于垄断地位,软件授权使用成本高,且缺少技术升级,无法兼容不断更新换代的IT 环境,邮件服务器端的垃圾、病毒防护能力也不足。同时由于在繁简体中文编码方面兼容不够,使得用户浪费了流量而收发了乱码邮件。因此自主研发一款基于卫星网络,符合我国航运业船舶用户需求的邮件通信软件意义重大。本文将重点对该系统进行架构设计,以指导相关软件的研发和应用。
卫星通信一直以来是海事和远洋运输业主要的应急通信手段,卫星通信系统主要包括空间部分、终端部分和陆地接续等部分组成。空间部分主要是通信卫星,不同卫星系统有不同星体组网构成。根据卫星业务的不同可划分为移动卫星通信(MSS)和固定卫星通信(FSS),根据远洋航运业的通信需求,我们以全球覆盖的国际移动卫星组织(Inmarsat)的第四代海事卫星系统为例。终端部分则由海用FleetBroadBand(FBB)系统组成,包括全向天线和FBB 终端,该终端支持宽带数据和语音业务,最高速率达可432K,是目前航运业在远海主要的卫星通信终端系统。陆地侧部分则由相应洋区的地面接续站和互联网。如图1所示。
图1 船舶卫星通信网络结构
为了实现船舶用户的数据业务通信,FBB 终端需要连接船舶局域网防火墙和路由器实现船员上网。作为海事通信的主要应用,电子邮件系统则需要部署在船舶通信主机,通过拨号连线FBB终端建立空间端数据连接,获得地面接续站分配的海事卫星网络IP 地址,从而实现与岸端邮件服务系统通信,并与互联网个人邮件进行交互。根据以上网络结构分析,尽管卫星终端已具备宽带通信能力,但数据报文在空间端传输过程中,会受到卫星长时延以及上下行链路的非对称性等特点,导致数据通信效率和质量受到限制。因此公共的互联网邮件软件在此网络环境中经常出现数据报文丢失,邮件乱码,传输超时,数据流量成本过大等问题。
船舶邮件通信的需求不仅局限在普通的邮件收发功能上,更多的是考虑到因卫星通信的限制,而对邮件系统提出的特有需求。首先航运用户为了节省卫星通信的数据流量,需要邮件软件必备数据压缩和解压功能,即船到岸和岸到船双向邮件在经过卫星链路之前,都需要进行邮件批量打包压缩,待经过卫星链路传输后,再进行邮件批量解压缩释放,从而达到节约数据流量的作用。其次,由于船员个人邮件通信的需求,以及卫星通信终端非长时间在线模式,因此需要支持船舶局域网内部的SMTP 邮件代理服务,该服务将岸端接收的邮件报文解压后,进行船员子邮箱账号的分发,相反船到岸邮件,则负责收集所有邮件客户方投递到邮件代理服务的邮件进行打包压缩,待通信主机进行卫星拨号时机进行汇聚和分发双向邮件。对于大型航运企业,船岸电子邮件还作为船岸信息化数据交换的工具,包括自动数据航务报、船舶工况等数据内容都需要根据一定的时间频率,特定的数据格式,以及对接外部输入输出的信息系统进行自动化邮件封装和投递。
在邮件安全性方面,需要具备如下功能。首先是黑白名单过滤功能,需要对具体邮箱和域名进行两级岸端黑白名单设置,在岸端过滤不信任的邮件和发件人,减少不必要的通信产生。其次,是提供船端交互式邮件接收功能,即允许船舶用户拨号后仅能选择查看邮件标题列表,有选择性的筛选需要下载接收的邮件,提高邮件通信的经济性。邮件备份功能,可以为用户提供岸到船,船到岸双向的邮件自定义备份到第三方邮件地址进行归档,并确保船舶通信主机遇到故障时进行邮件内容恢复。通过以上需求分析,将能够指导系统架构设计以满足实际使用需求。
船岸邮件系统主要分为船岸两侧业务,船侧和岸侧互相独立。船岸通信基于卫星信道,通信数据需要有加密、压缩和续传能力。功能架构如图2所示。
图2 系统功能架构图
岸端系统包括船员服务、船公司服务和卫星网络提供商运营服务。岸端为船舶企业提供邮件服务配置管理功能,“船公司邮件系统管理员”使用的船岸端业务管理门户。该门户作为船舶邮件云端服务平台,可以查看所属企业的船舶邮箱的进出站邮件,进行船舶邮箱的过滤策略和船舶邮箱配置,监控船舶邮件的运行状态。岸端为平台运营商提供系统运维管理门户,门户包括全网邮箱开销户,邮件全局策略配置和网关配置。岸端为船员个人提供WebMail 便于船员离船,在公网环境下继续收发船舶邮件处理船员邮件。
船端系统包括邮件服务器,Web 邮件管理模块。邮件服务器通过卫星链路,实现与岸端系统通信,并提供压缩、加密、续传功能。船端邮件服务器不仅与岸端邮件通信,还负责为船员提供基于船舶局域网内的SMTP/POP3协议的邮件收发支持,包括主流的Outlook/Foxmail 工具,同时也支持Webmail。船端邮件服务器还可以在船舶主机发布Web 服务,提供船舶局域网邮件管理员自助管理船员邮箱、拨号连接卫星和船舶邮件出入口管理。船端系统具体功能包括,卫星拨号传输功能,船舶局域网邮件分发/收集功能,船员账号管理功能,自定义邮件交互接收模式,自动邮件传输(AME)和策略配置功能。其中有别于公网电子邮件系统的是“邮件交互接收模式”和AME 功能。由于卫星用户接收邮件会产生数据流量和资费,因此对接收岸端公网的邮件需要允许船舶用进行甄别有选择性接收,因此“邮件交互接收模式”是一种“挂起、选择、提交、下载”四步骤的二次交互模式。是只可以接收邮件标题列表,而不接收正文和附件,由用户对列表进行甄选,有选择性的下载邮件,从而减少垃圾邮件或不急需的大邮件流量产生。在技术上,通信协议需要设计相应步骤的命令,以实现邮件下载的二次交互。“自动邮件传输(AME)”是为了满足船舶航务、工况等业务系统数据交换的自动邮件投递需求而设计。该功能可以运行用户自定义邮件发送时间、发送频率,支持外挂邮件拼装命令或程序,自动组装邮件,包括正文和附件。指定目的地址,AME 将会自动按策略配置进行邮件投递。反之,AME 可以接收岸端系统投递邮件,自动解包邮件和附件存储在本地,供应用系统读取文件,减少人工数据交换的工作量。船端系统还提供基于桌面应用的“托盘”程序,实现与岸端新邮件出入的消息提醒,和一键拨号收发。
经过我们对该系统的架构设计,我们认为这个系统其实是架构在卫星链路两侧的私有协议的通信系统,仅是在最终用户输入输出方面是采用的POP/SMTP 协议,即以邮件为输入输出形式。因此该系统是三层架构,即两侧为标准的邮件系统,中间层为扩展FTP 协议的私有数据传输系统。如图3所示。
图3 技术架构
卫星链路两侧通信采用基于FTP 框架协议扩展,即扩展了船端FTP Client 和岸端FTP Server 传输中的鉴权、命令加密等命令。系统调度采用Java MQ 消息队列组件进行架构,FTP Server接收完成需要根据文件解压后,将数据报文投入到消息队列MQ中间件中,插入队列服务。船端和岸端服务系统采用开放式的java 架构,岸端系统采用标准的企业级Web 应用架构实现,支持多线程处理,支持关系型数据库进行数据存取访问和查询。船端系统则采用轻量级Web 架构实现,用于船端系统跨平台部署,便于嵌入船载一体机设备,同时基于XML 和文件系统进行邮件数据的解析和存储,简化组织架构、人员、权限、菜单等管理模块。在船端同时引入标准的POP3 Server、SMTP Server 支持主流Email 收发工具,也支持船端船员使用浏览器访问WebMail。
关于断点续传和邮件压缩,是该系统中间通信层的需要解决的核心问题。常见的压缩算法包括rar、zip 和7zip,经过压缩测试比对,7zip 算法压缩比例和效率较高,因此系统压缩层采用java 的7zip 算法压缩工具库实现。以一次岸到船邮件投递业务为例,岸端系统将待发送船端的邮件进行打包压缩,用户在船端选择连接拨号后,船端FTP Client 与岸端FTP Server 建立连接,通过自定义LOGIN 命令进行鉴权,鉴权完成自动调用download 命令从岸端获取待下载文件,为了支持断点续传,船端FTPServer 在下载过程中写入字节加载进度日志,文件下载完成发送文件下载完成标识,调用解压处理模块进行解压业务分发。解压模块解压文件后将邮件文件按用户目录保存mailbox 目录,POP3 Server 通过mailbox 目录获取用户邮件。相反,SMTP Server 接收用户发送邮件,将邮件文件写入待发送目录。接收完成上传待发送文件(支持断点续传),发送完成删除待上传原始文件。
由于卫星通信网络的时延和带宽的特点,互联网应用无法满足卫星通信网络的应用场景。因此在基于窄带宽和高延时的卫星网络环境下,研制私有协议进行数据压缩传输和交换的应用系统具有实际意义。船岸邮件通信系统是典型的卫星通信软件,在海事航海领域具有广泛的应用。但在架构系统时要考虑几方面因素,首先通信层要具有容错性,包括数据包交互、连接超时和重试等的容错。其次要最大化利用卫星通信两侧应用系统的数据本地计算和存储,以减少传输数据的流量。同时,建议在互联网与卫星通信接续处,架设防火墙和邮件网关等网络安全产品以隔离互联网无效数据的入侵,确保卫星通信链路的数据安全性和经济性。最后,建议在船端(卫星终端侧)应用需要设计一键恢复、增量更新和远程诊断的功能,以便在应急通信环境中支持用户快速使用通信软件。