标题 | 面向低带宽网络的远程图形终端设计 |
范文 | 高岩等![]() ![]() ![]() 摘 要:探讨远程管理软件实现原理,分析远程终端模拟软件和远程桌面软件的优缺点。虽然远程模拟终端响应速度快,但网络负载小,基于全命令行操作导致操作不便捷,远程桌面软件基于图形操作导致网络负载高、响应速度慢。针对上述问题提出面相低带宽网络视窗模式下远程管理软件设计方案。该方案将远程登录协议、目标主机操作命令与FTP(SFTP)技术相结合,融合远程终端模拟软件,具有响应速度快、网络负载小和远程桌面软件操作便捷等优点。通过IBM大型主机虚拟化平台远程管理终端实例,证明该方案能在低带宽网络情况下提供响应速度快、高效、便捷、类似于远程桌面的操作体验。 关键词:远程图形终端;远程登录协议;目标主机;FTP DOIDOI:10.11907/rjdk.151961 中图分类号:TP319 文献标识码:A 文章编号文章编号:16727800(2015)009008304 0 引言 互联网的不断发展为日常工作和生活带来了极大便捷性。远程管理软件允许授权用户通过网络进入目标主机,一旦进入目标主机,用户可以进行任何授权操作。如执行命令、操作文件等,如同用户在现场操作[1]。 现有远程管理软件分为两种:远程终端模拟软件和远程桌面软件。前者是一种基于命令行操作的远程管理目标主机软件;后者由目标主机端进程将其桌面窗口通过网络实时传送至本地进程,再由本地进程进行呈现[2]。二者在交互方式、响应速度、网络负载、便捷程度和友好程度方面对比如表1所示。 由表1可知,远程终端模拟软件具有响应速度快、网络负载小等优点,但由于其基于命令行操作,便捷程度较低、且界面不够友好;然而,远程桌面软件虽然具有便捷、操作方式友好等特点,但其网络负载高,导致响应速度慢。虽然现有技术能达到利用56Kbps网络带宽即可进行远程桌面连接,但这种情况下远程桌面显示效果、响应速度都将受到很大影响,若想使用户体验流畅良好则需要占用较多带宽资源。 本文研究目的在于如何在消耗较少带宽资源的情况下,为用户提供响应速度快、便捷、友好的操作体验,从而实现对远程目标主机的高效管理。 1 系统结构设计 远程终端系统结构可分为3部分:本地客户端、互联网、远程目标主机。系统结构如图1所示。 图1 远程管理软件系统结构 (1) 本地客户端。客户端是指运行在本地操作系统上的应用程序。本地操作系统可以是Windows、Linux、Mac OSX 或其它操作系统,要求系统支持视窗模式,运行系统硬件设备具有网络适配器。 (2) 网络。网络是连接客户端和目标主机的通道,目标主机通常位于Internet上,具有在局域网或广域网中唯一的IP地址。 (3) 远程目标主机。目标主机位于网络上,具有局域网或广域网中唯一的IP地址。 2 远程图形终端 远程图形终端是运行在本地机的客户端程序。按照实现功能可分为以下模块:①可视化图形组件操作。用户可通过集成在客户端应用程序上的按钮或其它可视化图形组件开启或关闭系统服务及监测系统状态;②视窗模式资源管理器。用户可在视窗模式中浏览目标主机文件系统,类似于Windows系统中利用资源管理器浏览计算中的文件;③视窗文本编辑器。用户使用该客户端提供视窗模式下的文本编辑器对目标主机文件进行编辑;④命令交互。用户通过授权后,在命令输入区输入命令,执行某一特定操作,如按下回车或点击发送按钮,该命令即可在目标主机中执行,并将结果返回到客户端显示。 2.1 通信协议 远程管理软件是基于Internet对目标主机进行管理,为能与目标主机进行通信,必须选择一种远程通信协议,其能为用户提供在本地计算机上完成远程主机工作的能力[3]。 2.1.1 远程登录协议 远程终端模拟软件通过远程登录协议与目标主机建立连接。现有远程登录协议主要有3种:Telnet、Rlogin、SSH。Telnet(Telecommunication Network Protocol)通过客户端与服务器间选项协商机制,实现提供特定功能的双方通信[4]。Rlogin最早应用于Unix系统中的远程登录协议,由于客户端和服务器事先知道对方操作系统类型,因此无需进行选项协商。由于Telnet和Rlogin协议传输机制上存在安全漏洞,这两者在传输时采用明文机制,可能会泄露重要数据。但SSH(Secure Shell)相比Telnet和Rlogin具有以下优势:①由于SSH采用数据加密机制,能防止DNS欺骗和IP欺骗,具有比较可靠的远程登录和其它安全服务协议;②SSH传输数据经过压缩,提高了传输效率[5]。 2.1.2 远程桌面协议 远程桌面软件依靠远程桌面协议对目标主机进行基于图形界面的远程管理。RDP(Remote Desktop Protocol)远程桌面协议是一种多通道协议,与该协议兼容的客户端可在多种操作系统上运行,在无宽带网络情况下,客户端依然能够与目标主机建立连接[6]。RFB(Remote Frame Buffer)远程帧缓冲协议是一个用于远程访问图形用户界面的简单协议。RFB协议设计的重点在于减少对客户端硬件的需求。这样客户端就可运行在不同硬件上,客户机任务实现就尽量简单。XDMCP(X Display Manager Control Protocol)X显示监控协议,其将目标主机的整个桌面输出到本地客户端[2]。 2.1.3 通信协议选择 由上文可知,远程登录协议传输内容为命令文本信息,而远程桌面协议基于视窗画面传输。前者在使用过程中消耗网络带宽资源相比后者要小得多。为达到远程终端管理软件响应速度快、网络负载低的目的,远程登录协议是很好的选择。具体使用哪种远程登录协议需根据目标主机对通信协议支持情况和通信安全性要求进行选择。若远程主机对3种协议都支持,且对通信安全性有较高要求时,选择SSH协议作为远程登录协议与目标主机进行通信;而当远程主机只支持Rlogin协议时,只能选择Rlogin协议。 2.2 命令交互模块设计 该模块基本功能分为:发送用户输入操作命令到目标主机、接收目标主机返回执行结果。如图2所示。 图2 命令交互示意图 该模块需要对外提供2个接口:发送数据接口和获取结果接口。发送数据接口允许软件其它模块调用该接口向目标主机发送数据,并通过获取结果接口得到目标主机返回的数据。 2.3 可视化图形组件模块设计 该模块的特点在于其将众多使用频繁的操作命令集成在可视化的图形组件中,用户通过操作这些组件,如点击按钮,即可实现与命令操作相同效果、无需手动输入的命令。 该模块建立在命令交互模块中,需使用命令交互模块提供发送数据接口和获取结果接口。当监听到用户对某一图形化组件进行操作时,调用发送数据接口,将对应命令作为参数发送至目标主机。随后,再使用获取结果接口得到执行结果,将结果展示在窗口中。其原理如图3所示。 图3 可视化组件原理 2.4 视窗化资源管理器设计 2.4.1 文件管理 视窗化资源管理器允许用户在视窗模式下浏览并管理目标主机文件系统,类似于Windows操作系统中的资源管理器。该功能实现需要依靠FTP(SFTP)。目前,绝大多数操作系统至少支持其中的一种。FTP(File Transfer Protocol)是一种文件传输协议,其能提高文件共享性,使处于不同地理位置的计算机进行直接或间接连接,并进行高效的可靠的数据传输[7]。SFTP(Secure File Transfer Protoco)安全文件传送协议使用加密传输认证信息和数据,所以该协议具有非常高的安全性。但由于该传输方式使用加密/解密技术,因此传输效率比普通FTP低,对网络安全性要求更高时,可使用SFTP代替FTP。SFTP 是SSH的一部分,所以如果选择使用SFTP,则需要目标主机支持SSH远程登录协议。FTP和SFTP示意图见图4。 图4 FTP和SFTP 2.4.2 执行可执行程序 当用户在客户端视窗中双击可运行程序或进行其它操作时,要求该程序在目标主机中运行。由于FTP(SFTP)只具备文件管理功能,无法运行可执行文件。为解决这个问题,提出将远程登录协议和目标主机操作命令及FTP(SFTP)技术相结合的方案。FTP(SFTP)负责获取可执行文件绝对路径,远程登录协议与目标主机保持交互,使用目标主机操作命令运行可执行文件命令,利用命令交互模块中的发送命令接口将该命令发送至目标主机,执行目标文件,通过获取结果接口得到执行结果,并显示给用户,如图5所示。 2.5 视窗模式文本编辑器设计 基于远程登录协议交互只支持文本模式编辑器。文本模式编辑器是一个文本编辑程序,该编辑器没有菜单,只能通过命令进行操作,并且命令繁多。通常,该编辑器拥有3种基本工作模式:命令行模式、文本输入模式和末行模式。为实现远程桌面中视窗模式编辑器,同时又达到响应快、占用网络带宽小目的,本文提出一种新文件编辑方案。该方案利用FTP和本地编辑器,FTP负责上传和下载目标文件,本地编辑器则可以提供视窗模式编辑环境。涉及文件上传、下载时,对于目标主机中较大文件不推荐使用该方式进行编辑。 当客户端监听到用户执行编辑文件操作时,利用FTP将目标文件从远程主机下载到本地,然后启动本地编辑器对文件进行编辑,当客户端监听到用户保存修改后的文件或执行文件回传操作时,再次调用FTP将文件传送至目标主机,并将目标主机原始文件替换,如图6所示。 图5 执行程序 图6 文件编辑方案 在文件回传阶段,根据目标主机对文件系统安全性的要求,提供2种回传方案:①直接回传替换。该方案首先将目标主机中的原始文件删除,然后将编辑后文件传送至目标主机。该方案存在一个缺点:在文件传输中,一旦网络出现断线或者客户端程序发生意外,将导致传输中断,导致目标主机中该文件不完整甚至丢失;②回传后替换。该方案首先将编辑后的文件传送至目标主机,并且在目标主机中创建文件时,采用别名(即不与源文件同名)。待上传完成后,将文件重命名为原始文件名,并将原始文件删除。该方案能有效避免传输过程中因外力导致传输中断从而导致目标主机运行异常的情况。方案二比方案一复杂,适用于对文件系统要求较高的目标主机。 2.6 扩展功能 扩展功能实现命令模糊查询及自动补全功能。该模块有2种实现途径:①在目标主机端运行命令提示进程,当监听到客户端发起提示请求时,由目标主机根据客户端发来命令内容,在命令库中查找匹配项目,并将匹配到的内容返回到客户端,客户端对返回内容进行解析后显示给用户;②在本地端建立命令库,当监听到用户执行匹配操作时,根据用户输入内容,在本地命令库中查找匹配项,并将结果展示给用户。 一般情况下,由于命令库很小、占用很少的磁盘资源,而且使用第一种途径会产生网络交互,占用很少的带宽资源,其响应速度比在本地进行匹配慢很多。因此,本文采用第二种途径实现该模块功能。 首先,建立命令库来存放目标主机操作命令。传统关系型数据库需要很大的底层软件支持,而且操作命令通常是一系列非结构化数据,因此不适用于存在命令库。虽然普通文本文件体积较小,但不易解析。本文选择使用XML文件存放命令库。XML文件具有两大特点:①自描述性。XML数据本身就已经包含元数据——关于数据本身信息,表现为不同语义标记,如元素、属性等;②半结构化,与传统数据库存在差异。传统数据库都有一定的数据模型,可根据模型来具体描述特定数据。而XML并不严格限制数据结构,表现为语义单元相互嵌套的层次关系,从结构上来看,其属于树形结构。 命令在XML文件中表示格式,须符合以下要求:①正确性。用户提出匹配请求,经过匹配得到的结果必须正确,没有任何歧义;②无重复性。在提示结果中,每一项都是唯一的,不会出现重复提示项;③高效性。匹配过程必须高效,响应时间过长则导致用户体验较差。此外,匹配过程中不得消耗过多系统资源。 整个匹配过程对用户透明,用户只需输入部分内容,并且查看返回匹配项,当匹配项唯一时,进行自动补全操作。 3 实验与结果分析 本文实验中,自行开发一款基于IBM大型主机的虚拟化平台远程终端管理软件。实验环境如下:①目标主机:IBM大型主机;②运行操作系统:z/VM;③支持远程登录协议:Telnet;④文件共享服务器:FTP;⑤客户端:运行在Windows平台上,实验环境为Win7;⑥开发语言:C#;⑦开发工具:Microsoft Visual Studio 2012。 用户进入程序后,选取特定连接,并初始化该连接,连接建立后,用户需通过身份认证,即输入用户名和密码;用户成功登录后,在命令输入框中输入命令并按下回车,该命令即发送到大型主机,执行结果则在结果显示区显示;用户点击右侧查询标签页下磁盘按钮,在结果显示区显示远程主机磁盘信息,点击工具菜单中的传输文件选项,进入文件浏览视窗,可查看每个磁盘中的所有文件;双击文件,程序自动调用本地文件编辑器,并将文件加载至编辑器中;完成编辑后,点击上传文件,将当前编辑文件上传至远程主机。 实验结果表明,利用该方案开发远程终端管理软件,能如远程终端模拟软件一样轻松利用操作命令在本地管理目标主机,其集成操作命令图形化组件大大降低手动输入命令频率,不仅避免手动输入造成错误,而且提高易用性;视窗模式下资源管理允许用户高效管理目标主机文件,视窗模式文本编辑器极大提高了文件编辑效率。 4 结语 通过研究远程终端管理实现原理,分析远程终端模拟软件和远程桌面软件优缺点,提出一种将远程终端模拟协议、目标主机操作命令和FTP(SFTP)技术相结合的远程终端管理软件设计方案。该方案适用于绝大多数远程终端管理软件开发,在此方案基础上,根据不同用户需求,设计出不同远程终端管理应用。此方案具有响应速度快、网络负载低、使用简洁、高效等特点,能提升用户体验。在后续研究中,将进一步提升远程登录协议通讯性能,重点研究命令库本地存储及提高命令提示、自动补全效率,以提高其适用性。 参考文献参考文献: [1] 王建.远程桌面控制协议研究与实现[D].成都:电子科技大学,2006. [2] 王炳壬.移动终端远程桌面控制系统的设计与实现[D].西安:西安电子科技大学,2014. [3] 王峰.远程图形终端系统综述[J].计算机工程与设计,2006,27(5):802814. [4] 李华生,李亚娟,王皞.浅析Telnet协议及其应用[J].江西电力,2011,35(2):5357. [5] 张杰,戴英侠.SSH协议的发展与应用研究[J].计算机工程,2002,28(10):1315. [6] 刘建.RDP远程桌面协议的安全性分析[D].成都:西南交通大学,2012. [7] 孙韩林,金跃辉,高雪松,等.FTP协议的测试及分析[J].计算机工程,2008,34(23):133138. 责任编辑(责任编辑:陈福时) |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。