1、 本科毕业设计说明书 题 目: 桌面虚拟化技术 远程连接服务的探究与实现 院 (部): 计算机科学与技术学院 专 业: 计算机科学与技术 班 级: 姓 名: 学 号: 指导教师: 完成日期: 山东建筑大学毕业设计说明书 目 录 摘 要 . V ABSTRACT. VI 1 前 言 1.1 选题背景 . 7 1.2 探索桌面虚拟化技术与远程连接服务的意义。 . 8 2 主流连接协议技术简介 2.1 连接协议概览 . . 9 2.1.1 主流桌面连接协议概览 . 9 2.1.2 主流 CLI( Command Line Tools)终端传输协议概览 . 9 2.2 RDP 协议 分析 . 10 2
2、.2.1 RDP 协议连接原理简介 . 10 2.2.2 RDP 客 户端代码封装原理简述 . 11 2.3 SSH 协议分析 . 13 2.3.1 SSH 协议连接原理简介 . 13 2.3.2 SSH 协议代码封装原理概述 . 15 3 需求分析 3.1 项目整体分析 . 18 3.2 项目模拟运行需求分析 . 18 3.2.1 客户端硬件环境要求 . 18 3.2.2 连接端环境要求 . 18 3.3 现有连接协议目前已知的问题 . 20 4 概要设计 4.1 系统分析 . . 23 4.1.1 功能模块 . 23 II 山东建筑大学毕业设计说明书 4.1.2 功能描述 . 23 5 详
3、细设计 5.1 类库函数变量定义 . 25 5.1.1 说明 . 25 5.1.2 RDP 协议连接格式概览 . 25 5.1.3 SSH 协议连接格式概览 . 26 5.2 参数处理 . 29 5.2.1 RDP 协议接口设计详细说明 . 29 5.2.2 SSH 协议接 口设计详细说明 . 30 5.3 代码展示 . . 31 5.3.1 主界面 . 32 5.3.2 登陆界面 . 32 5.3.3 RDP 连接部分 . 34 5.3.4 SSH 连接部分 . 37 6 系统测试与故障处理 6.1 测试目的 . . 39 6.2 测试环境 . . 39 6.3 测试过程及结果 . 39 6
4、.3.1 RDP 连接测试 . 39 6.3.2 SSH 连接测试 . 39 6.4 部分异常处理与故障解决 . 39 6.4.1 SSH 协议连接后的乱码问题及解决方案 . 40 6.4.2 RDP 协议出现组件错误的问题及解决方案 . 47 6.4.3 对 RDP 连接进行 Remote-FX 技术优化 . 49 7 结 论 . 52 谢 辞 . 53 III 山东建筑大学毕业设计说明书 参考文献 . 54 IV 山东建筑大学毕业设计说明书 摘 要 近年来,很多 IT 厂商均着手建设自己的公有 /私有云平台,而桌面云 (DAAS,Desktop As A Service)是云平台架构中 一
5、个重要的组成部分,通过桌面虚拟化技术架构(即 VDI,Virtual Desktop Infrastructure,由著名厂商 VMware 提出),可以将构建在服务器云端上的桌面分发给终端用户,使用户可以使用任意设备,方便的通过网络访问属于个人的桌面系统。现今主流的云平台组件,例如 OpenStack、 CloudStack 等,均包含有 VDI 技术的身影。远程桌面连接服务虽然不完全等同于桌面虚拟化技术,远程连接桌面服务作为 VDI 技术的基础和雏形,实现了从服务器 -客户端 /服务器 -服务器的远程连接,通 过约定的协议,使得用户能够轻松的管理桌面终端。用户终端通过以太网登陆到虚拟主机上
6、,只需要记住用户名和密码及网关信息,即可随时随地的通过网络访问自己的桌面系统,从而实现单机多用户的连接。 本文旨在通过分析 Unix/Linux 字符界面的 SSH 协议和 Windows 下图形界面的 RDP 协议,通过分析协议下连接过程,带宽控制,收发报文的信息,分析图形界面远程连接与字符界面远程连接的不同点,从而编写一个具有模拟简单远程连接服务的程序,以实现远程控制其他计算机的目的,从而更加深刻的理解桌面虚拟化技术的主要 工作原理。 关键词: 桌面虚拟化;远程连接服务; RDP 协议; SSH 协议;终端 V 山东建筑大学毕业设计说明书 The Research of the Remot
7、e Connection Service in Virtual Desktop Infrastucture ABSTRACT From now on, more and more IT companys began to build their own public or private cloud platform. DAAS is an important part of the cloud platform architecture. Through the Desktop Virtualization Infrastructure (i.e. VDI, by the famous ve
8、ndors VMware proposed), will build in the cloud server desktop distributed to end users, users can use any device, convenient through the network access to personal desktop system. Nowadays the mainstream of cloud platform,such as OpenStack,CloudStack,are the figure includes VDI technology.Remote De
9、sktop Connection Service, as the basic construction in VDI, realized form the Client-Server/Server-Server remote connection,through the agreed protocol,allowing users to easily the management desktop terminals. Terminal loging via LAN to a virtual host, only need to remember user name , password and
10、 gateway information, anytime, anywhere access to their desktop system over the network, in order to achieve a single multi-user. This paper aims to analyze under Unix / Linux character based SSH protocol and the Windows graphical interface RDP protocol, through the connection process analysis under
11、 the agreement, bandwidth control, send and receive packets of information, analysis GUI remote connection remote connection to the character interface different points, so write a simulation of a simple remote connection service program has, in order to achieve the purpose of remote control of othe
12、r computers, so that a more profound understanding of the operating principle desktop virtualization technology. Key Words: Desktop Virtualization; Remote Connection Service; Remote Display Protocol ; Secure Shell Protocol; Terminal VI 山东建筑大学毕业设计说明书 1 前 言 1.1 选题背景 近年来,桌面云作为云端服务中很重要的一环,受到广泛关注。 在介绍桌面云
13、的定义前,我们需要对云计算进行一个定义,即: 云计算,是一种互联网上的资源利用新方式,可为大众用户依托互联网上异构、自治的服务进行按需即取的计算 ,云计算的资源是动态易扩展而且 虚拟化的,通过互联网提供。 1桌面云则是符合上述云计算定义的一种云。它是一种可以通过瘦客户端或者其他任何与网络相连的设备来访问跨平台的应用程序以及桌面的云端服务。 桌面云应用面向终端用户,桌面虚拟化技术架构具有以下特性。 ( 1) 多样化的终端访问方式和灵活使用。解决了传统 PC 的体积和易用性问题,只 要网络条件允许,即可快捷的连接制定电脑进行访问。 ( 2) 终端采购维护成本降低。一个瘦客户机 +显示器的模式的成本
14、要比完整 PC 低 50%以上,在后续升级和维护方面,也是前者更长,能支持长达 6-7 年的时间。采用桌面虚拟化,服务器端虚拟机的配置可以灵活调整,减少了浪费。 ( 3) 统一集中管理以及安全性提升。采用桌面云,最大的特性就是安全性得到提升,虚拟机与终端之间传输时,可以通过压缩等技术,控制数据的外传复制。而且由于桌面虚拟机存在于私有云的数据中心中,所以可以通过统一的管理进行实现,包括升级和应用部署安装。 ( 4) 节能减排。根据不完全统计,采用 VDI 架构的桌面云,一年下来平均比传统 PC 群架构节约 90%的电能成本。在大规模运用的时候,节能特性显得更加明显 2。 然而在发展中,桌面 云也
15、面临着以下的待解决的问题。 ( 1) 网络带宽依赖。桌面应用的体验较大程度的依赖于带宽。该问题的解决主要依 赖于桌面连接协议的更新和国家宽带战略的推动。 ( 2) 外设支持困难。对类似扫描枪等非标准接口设备并不能很好的支持。 ( 3) 3D 高性能处理能力一般。针对高清视频处理, 3D 动画处理等问题的桌面虚拟 化还存在着很大的瓶颈。 云计算的发展离不开各大业内厂商的大力支持,许多公司都在探索成熟的桌面云架构的过程中,做出了自己的贡献,也形成了百家争鸣的业界标准。 7 山东建筑大学毕业设计 说明书 1.2 探索桌面虚拟化技术与远程连接服务的意义。 在桌面云的架构中,连接协议是桌面虚拟化厂商研发
16、竞争的焦点,因为协议效率决定了虚拟桌面的用户体验,而用户体验决定了桌面产品的生命力。目前由于桌面云和 DAAS 服务概念提出的时间较晚,在桌面云技术上还没有一套特别成熟的完整流程化解决方案,特别是在外设上面,各大厂商还处在探索阶段。 我们以企业私有云中目前发展最优秀的 Openstack 云平台进行举例说明,在连接协议部分, Openstack Grizzy 之前的版本采用的是微软 RDP 协议。随着终端性能和网络要求的不断提高, Red Hat 的 SPICE 协议在外设支持上逐渐优于 RDP 协议,导致了 Openstack Grizzy 发行版及其以后的版本采用了 SPICE 协议,以代
17、替 RDP 协议。 即使如此, RDP 等传统协议仍然在其他云平台架构中担任着重要作用。本文的目的不仅仅是为了写出用于 PC 进行远程连接的程序,而是举一反三,通过对连接服务的研究,了解各大连接协议的优缺点,从而对主流连接服务的性能实现初步的评价,以达到在其他平台下,也能开发模拟桌面云中最重要的组件 远程控制连 接其他计算机的目的。 8 山东建筑大学毕业设计说明书 2 主流连接协议技术简介 2.1 连接协议概览 2.1.1 主流桌面连接协议概览 目前提供桌面虚拟化解决方案的厂商各自采用不同的协议,主要概览如下。 RDP 协议: RDP 协议早期是由 Citrix 开发的,后来该协议被微软并购。
18、 RDP 的服务端 最早基于 Win2000/WinNT,扩展了基于 T.128( T.120 协议族)提供的多通道通信。 VMware 平台早期也采用 RDP 协议。该协议通过 TCP/IP 协议进行数据传输,在实际数据传输前进 行了 ISO/MCS/SEC 三层的包装。其中前两层为多点并发式通信提供了可靠的传输保证, SEC 层则提供对 RDP 数据的详细加解密处理。 ICA 协议: Cirtix 自主研发的协议。 ICA 协议能够为用户构建一个基于服务器计算的应 用模式,在这种应用模式下应用程序的安装配置、管理维护支持和执行都将基于服务器, 同时将用户鼠标键盘的运行结果显示在客户端中。该
19、协议对网络数据传输的要求低,能够 很优秀 的支持不同配置的瘦客户端设备。基于该协议,可以支持 Windows/Linux/UNIX 等 多种平台,而且具有广泛的客户连接端支持。 PCoIP 协议:该协议由 VMware 和 Teradici 共同开发,该协议最大的特点就是将用户的 会话终端以图像的方式进行实时压缩传输,对于用户的操作,只传输画面变化部分,保证 在低带宽下也能够高效率的使用。 PCoIP 协议最大可以支持到 4 台 2560*1600 分辨率显示 器的传输,同时它还支持 ClearType(清晰模式)技术。即使这样,得益于优秀 的压缩算法, 传输速度依然可以控制在一个较低的水平。
20、 SPICE 协议:由著名 Linux 发行厂商 RadHat 提出,能够为终端用户提供堪比个人计算 机的连接体验。该协议用于 RedHat 企业虚拟化桌面版,基于多层架构基础。它的优势在于 满足桌面用户的多媒体方面的丰富需求(而以上传统协议在 3D 和多媒体支持上并不能做 到完美),该设计的核心是实现对用户端设备( CPU、 RAM 等)或虚拟服务器上可用系统 资源的智能访问。作为访问的结果,协议会以动态方式判定是在客户端设备还是主机服务 器上 对桌面应用程序进行呈现,从而实现任何网络条件下都能提供最佳的用户体验。该协 议也是新兴协议中市场潜力最大的。 2.1.2 主流 CLI( Comma
21、nd Line Tools)终端传输协议概览 除了桌面连接之外,在服务器运维等应用模式中,还会运用到基于命令行终端的传输 协议。由于终端连接传输协议相对于图像传输要简单,发展历史也更加久远,所以相比桌 9 山东建筑大学毕业设计说明书 面连接的协议,成熟度更高。 SSH 协议:由 IETF 的网络工作小组( Network Working Group)制定。该协议是建立在 互联网应用层和传输层基础上的安全连接协议。也是目前较为可靠,专为远程登录会话和 其他网络服务提供安全性的协议。利用 SSH 协议可以有效进行远程连接和数据传输,安全 性较高,在各大 UNIX、 Linux 发行版中都有预置,也
22、是目前安全性较高的终端协议。 Telnet 协议: Telnet 是一个在 Internet 上有着广泛应用的连接协议。它位于 TCP 的应用 层上,采用了通用的,面向 8 位字节的双向通信手段,可以用于终端与终端之间的通信, 也可以用于终端设 备和面向进程之间通信的接口。但是由于 Telnet 协议的发展较为缓慢, 安全性也成为了制约其进一步推广的因素,现在有被 SSH 协议代替的危险。 FTP 协议:即文件传输协议的缩写,主要用于与远程计算机之间的文件传输。它采用 B/S 模式,客户机与服务器之间利用 TCP 建立连接,可以实现下载文件与上传服务器文件 等功能,相比其他连接方式比,该协议局限性较大,不能很好的控制远程计算机,但在文 件管理上有其优越之处。 2.2 RDP 协议分析 2.2.1 RDP 协议连接原理简介 在上述 介绍过的桌面协议中, RDP 协议依托对 Windows 系统良好的支持与微软官方提 供的多平台扩展性能,具有成熟的发展历史和广泛的应用。它能够较为简便的实现客户机 与目标机的远程连接。 RDP 协议基于 TCP/IP 网络协议之上,共分为五层 (如图 2.1)。 图 2.1 RDP 协议五层架构 10