基于树莓派的数传电台数据传输系统设计与实现
2018-12-19李贤烈
陈 昕,朱 彤,李贤烈
(1.西安电子科技大学,西安 710071;2.西安通信学院,西安 710106)
0 引言
随着我军战场终端装备性能的不断提升和普及应用,战场信息资源呈现出了海量化、随机化、错综复杂化和冗余化的新特点,军事信息需求突破了时间、空间的阻隔,逐渐趋向全域化、实时化、移动化和线程化,现行的固网信息机制已难以有效应对军事应用的实际需求。因此,如何优化整合战场环境下各类信息资源,实现战场环境下信息资源有效实时传输,提升我军战场信息优势就成为部队信息化建设必须面对和解决的重大现实问题。目前数传电台可以实现数据业务,支持多种工作模式、灵活组网。鉴于此,针对战场终端无线覆盖的特点和应用服务需求,提出终端脱网条件下,依托战场数据传输装备实现与应用服务平台建链的解决方案,研制利用野战数据传输电台达成建链的终端数据传输系统。
1 总体设计
数传电台以数据业务为主,支持定频、跳频等工作模式,具备数据和话音同传功能,包括数据话音、分组数据;采用机制灵活的自组织网协议,可用于构成无线骨干网和高速子网;信息速率最高可达1 024 kb/s,具有E1、网卡、串口等接口,为战场通信提供包括指挥与控制、态势感知、情报侦察等大容量数据信息等多种业务[1-3]。为研制数传电台数据传输系统,可以采用开源嵌入式硬件,通过多网卡等接入方式,实现与数传电台的数据传输。
树莓派是由英国的慈善组织“Raspberry Pi基金会”开发的一款基于ARM的微型电脑主板,以SD卡为内存硬盘,操作系统采用开源的Linux系统,提供 WiFi、蓝牙、USB、RJ45以太网接口,可以运行丰富的开源软件,满足网路服务器等基本功能[4-5]。
1.1 系统组成
根据技术指标要求,数据传输系统采用目前成熟的开源硬件平台树莓派3 B,安装开源的嵌入式Linux操作系统[6],Linux内核完全支持 X86、Power-PC、ARM等多种体系结构,并已成功移植到多种硬件平台。数据传输器基于ARM微型电脑主板,以SD卡为内存硬盘,卡片主板周围有两个USB接口和一个网口[7],可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频接口,所有部件全部整合在一张仅比信用卡稍大的主板上,具备PC的基本功能。数据传输器使用2种供电方式,一种通过电池供电,另一种可通过5 V电源适配器供电。数据传输器在SD上安装Debian(一种Linux发行版本)操作系统,在正常供电情况下,数据传输器从SD卡上启动Debian操作系统,提供WiFi、蓝牙、USB、RJ45 以太网接口,可支持与数传电台、手机终端接入;用户可通过外置显示器、键盘、鼠标。系统组成如图1所示。
图1 数据传输系统组成
1.2 基本功能
1)多种接入功能,系统提供多种网络接入,可以同时支持有线、WiFi、蓝牙、串口等。有线网卡支持数传电台、移动路由同时接入,手机通过WiFi接入数据传输系统,串口用于与串口设备通讯。
2)网络路由功能,在多网络接入时,数据传输系统支持多网卡的数据流输入和转发。通过使用nat网关、iptable防火墙、多网络路由等来实现不同环境下终端与电台、信息服务中心数据联通。
3)VPN服务功能,在多网络、网段通讯局限的情况下,数据传输系统提供VPN服务器功能,支持战场终端绕过网络限制访问内部网络[8]。
2 系统软件实现
2.1 软件系统设计
在数据传输系统组成设计的基础上,其软件系统如图2所示。底层为Linux操作系统,并设计了防火墙模块、路由模块、VPN模块、应用层协议模块。
图2 数据传输系统软件系统设计
数据传输器为了实现数据包在不同网络下的传输,通过不同网卡之间来连接不同网络。Linux操作系统提供强大的网络处理功能,数据从一个eth网口进入后,首先进行防火墙策略判决,符合防火墙策略的允许接入;由于目标网络的网络层IP不同,需要进行相应的路由转发设置;在利用数传电台进行数据传输时,不同IP无法绕出电台传输,可以采用VPN进行处理,实现远程IP数据转发;为了有效管理数据传输器配置,在应用层设置了ssh、vnc、ftp、http等应用层协议,以便有效对数据传输器进行管理。
2.2 操作系统
根据技术指标要求,数据传输器采用目前成熟的开源硬件平台,采用开源的嵌入式Linux操作系统Debian版本。Linux内核支持 X86、PowerPC、ARM等多种体系结构,并已成功移植到多种硬件平台,其强大的网络处理功能更能有效地适用于数据传输系统的应用。数据传输系统选择了专门用于ARM卡片式计算机的Debian7.0/wheezy定制版操作系统,其引入了带硬件的浮点加速的ARM架构,内置C和Python编译器,可以很好地运行在ARM上,兼容性高。
2.3 防火墙设计
由于涉及不同网络之间的数据传输,可以考虑使用防火墙策略来进行数据转发。iptables防火墙由Netfilter项目开发,自Linux2.4内核发布以来,它就成为Linux的一部分了。多年来,iptables已发展成为一个功能强大的防火墙,主流的Linux发行版都包含了iptables。
透过iptables防火墙用户对与Linux系统进行交互的IP数据包执行高度的控制,而且这一个控制是在Linux内核中实现的。iptables策略是由一组有序的规则建立的,它告诉内核应如何处理某些类别的数据包[9]。每一个iptables规则应用于一个表中的一个链。一个iptables链是一个规则集,这些规则按序与数据包进行比较。
图3 数据传输系统组织图
1)数据传输器1负责与电台、移动网络连接,防火墙规则如图3所示,数据传输器1分别使用不同网卡连接电台和4 G无线CPE,通过配置防火墙,使得网卡之间的IP数据流能正常通过。
2)数据传输器2通过电台连接另外一台数据传输器,内部通过VPN方式访问远端移动网络,防火墙规则如图3所示,数据传输器2分别使用不同网卡连接电台和终端(手机或PC),通过配置防火墙,使得网卡之间的IP数据流能正常通过。
2.4 路由设计
数据传输器在连接数传电台和手机终端时,充当数据转发路由器功能,因此,需要对不同的数据接入进行路由设计,如图4所示。
1)数据传输器1连接4G无线网络,其需要将不同的IP网络数据进行转发。同时由于需要接多个网卡,可以利用USB有线网卡为数据传输器添加有线网络eth1,如图5所示。
图4 数据传输器1路由
测试与4G移动网络数据
图5 数据传输器1与4G移动网络服务器通信测试
2)数据传输器2连接终端(手机或PC),其需要将数据通过电台传输到数据传输器1
2.5 VPN设计
由于数传电台充当网关功能,两个或多个电台之间只能局内进行通信。由于其无法修改电台内部网关路由信息,如果要与其他网络进行通信,显得十分困难。可以利用在电台一端搭建VPN服务器,另一端的电台侧,手机通过VPN来访问其他网络。
数据传输器要访问4 G无线网络,由于IP网段不一致,无法绕过电台传输。因此,可以考虑使用虚拟专用网VPN。VPN使用现有的Internet或其他的公共网络,连接分散在各个不同的地理位置的本地网络,而其效果上与专用网相同。VPN服务通过隧道技术实现,若某台主机希望通过Internet接入企业内部网,则该主机应首先通过拨号等方式连接到Internet,再通过VPN拨号方式与VPN服务器建立一条虚拟连接;隧道建立完成后,用户与服务端要利用该虚拟专用网进行通信时,发送方会根据所使用的VPN协议,对所有的通信信息进行加密,添加数据报首部,封装成Internet上发送的外部数据报。通过Internet将数据发送至接收方。接收方在接收到该信息后,根据所使用的VPN协议,解密收到的数据。
1)数据传输器1负责搭建VPN服务器
2)数据传输器2通过vpn客户端登陆远程vpn服务器地址
运行成功后,此时在网络中,将多一个ppp网络,如图6所示。
2.6 应用层协议
由于数据传输器只有卡片式大小,没有配置固定的显示器、键盘等,在工作中处理数据传输器的配置时,会出现不方便。可考虑在应用层上搭建远程访问传输协议,如 ssh、vnc、ftp、http 等。
图6 运行ppp客户端获取的IP网络
图7 手机侧控制数据传输系统
SSH,传统的网络程序都是采用明文传输数据和密码,如telnet、FTP等,存在着很大的漏洞;SSH是由芬兰的一家公司所研发的加密通信协议,所有传输的数据都经过加密,可以有效防止数据的窃取及“中间人”的攻击。系统默认使用的是SSH协议2.0版本。用户通过putty等客户端就能安全访问数据传输器;用户也可以通过手机侧软件juciessh.apk来登陆控制数据传输器,如图7所示。
VNC(Virtual Network Computer),是虚拟网络计算机的缩写,它是一款远程控制工具软件,其借由网络,可传送键盘与鼠标的工作及实时的屏幕画面。通过VNC,数据传输器可以将完整的窗口界面,通过网络传输到另一台计算机的屏幕上。数据传输器启动后,开机会自动启动VNCServer,用户通过PC或手机端客户端即可访问VNC客户端;通过手机侧vncviewer.apk也可远程控制数据传输器。
2.7 网速测试
本试验模拟移动终端通过电台与移动网络以及后台服务器建立联系的场景,在不同条件下对网络链路性能指标进行测试,并获得相应条件下几种典型应用服务功能的实现结果。
2.7.1 链路性能测试
链路性能测试指标包括:可用性、响应时间以及网络吞吐量。
1)可用性。测试网络性能的第一步是确定网络是否正常工作,最简单的方法是使用ping命令。通过向远端的机器发送icmp echo request,并等待接收icmp echo reply来判断远端的机器是否连通,网络是否正常工作。
2)响应时间。有很多因素会影响到响应时间,如网段的负荷,网络主机的负荷,广播风暴,工作不正常的网络设备等等。
3)网络吞吐量。网络吞吐量是指在某个时刻,在网络中的两个节点之间,提供给网络应用的剩余带宽。网络吞吐量可以帮助寻找网络路径中的瓶颈。比如,即使client和server都被分别连接到各自的100 M Ethernet上,但是如果这两个100 M的Ethernet被10 M的Ethernet连接起来,那么10 M的Ethernet就是网络的瓶颈。网络吞吐量非常依赖于当前的网络负载情况。因此,为了得到正确的网络吞吐量,最好在不同时间(一天中的不同时刻,或者一周中不同的天)分别进行测试,只有这样才能得到对网络吞吐量的全面认识。
链路性能测试结果如表1所示:
表1 信息通信链路性能测试
2.7.2 应用服务测试
测试中对几种典型应用服务系统:联信企业OA、军事维基百科、私有云存储以及SIP电话进行功能性测试,测试结果如表2~表5所示:
表2 联信企业OA服务功能性测试
表3 军事维基百科服务功能性测试
表4 私有云服务功能性测试
表5 SIP电话服务功能性测试
通过测试结果可以看出,移动终端通过电台接入移动网络,此时链路的瓶颈在电台之间,终端到服务器之间通信链路吞吐量均值为93 kbits/s,这样的链路性能能够使得联信、维基百科以及私有云的正常功能得以实现,SIP电话可以实现短消息的正常收发,语音服务双方能够接通话路,但由于语音对时延要求较高,而电台之间链路的时延比较大,因此,SIP语音通话质量不佳。
3 结论
为实现战场环境下信息数据实时传输,研制了基于树莓派的野战数传电台数据传输系统。该系统以树莓派为基础硬件平台,安装Debian操作系统,配置了防火墙、路由、VPN及SSH等服务,实现了移动终端在战场脱网条件下通过电台、数据传输系统接入移动网络,可以开展企业OA、军事维基百科、私有云等信息服务,有效解决了战场环境下信息资源传输问题,具有实际应用意义。