终端机(虚拟化)技术的前世今生

 公司新闻     |      2019-10-20 23:25:45  文章作者:幻影卫士  来源:幻影卫士

在上世纪七十年代,网络技术尚未诞生,IBM公司的主机终端计算模式是当时唯一的多用户资源共享的方法,各种字符终端通过串行接口连接到大型主机,共同利用主机强大的运算和存储能力来工作,现在国内绝大部分的银行系统仍然在使用这种经典技术。一九九零年以前信息计算模式主要为大型和超大型集中式计算模式,在大型的网络和计算系统中,对所有的传统Unix终端进行集中式管理,Unix以其强大稳定的性能,长期统治企业级的计算机系统,其多用户内核,给企业级的大型网络计算带来了不可替代的优势。但它组网多选用Novell,建立在DOS系统上,其命令繁多,安装配置必须是专业人士,这使得用户不论在硬件和软件方面都必须具备高水平的网络管理员,应用软件AP必须是专门针对用户进行开发, 所以整个系统的兼容性差,加上主机非常昂贵,使的计算机的应用门槛相当高,主要集中在大企业,政府机关,科研教学机构,银行等.随后个人计算机PC以它硬件便宜,操作简单,兼容性强的特性而获得用户的喜爱而兴起,之后由现在著名的微软公司推出了至今非常流型Windows操作系统,从而使个人计算机PC的使用更加直观易用,大大推进了个人计算机的发展, Windows系统以其友好的用户界面,众多的软件资源,性能强大的开发工具,在个人电脑领域广泛采用。因个人计算机PC兼容性强,又使的非常多的应用软件公司推出了丰富实用的应用软件AP.但大型机+终端的集中式计算模式下的多用户应用在网络维护、管理、安全等方面与个人计算机PC相比,存在着明显的优势。

正是在市场需求的推动下,国外很多公司开始尝试寻找这种实现技术,也出现了一些软件,希望可以使Windows像Unix那样使用,譬如PC anywhere之类的软件,然而真正对这一技术有突破性贡献的是美国Citrix公司。

幻影卫士新闻

WinFrame Citrix公司在1995年推出了基于Windows NT 3.51开发的多用户NT系统软件WinFrame。 WinFrame 可以帮我们实现既希望有Unix系统的管理维护优势,又拥有像Windows系统及软件那样易学、易用、易开发的网络系统。 WinFrame是在Windows NT 3.51的基础上开发的,之后,出现了第一批Windows终端产品。Windows终端进入了WinFrame时代。经过一段时间的发展完善,WinFrame逐渐被越来越多的用户所接受,并取得良好的市场效果,这时候的Windows终端以卧式机型为主,本地以DOS系统为基础,运行Citrix公司的ICA客户端仿真软件,联接WinFrame终端服务器系统,运行服务器上的软件,终端和服务器之间采用的是ICA协议(表示层协议)。Windows终端和WinFrame组成的网络体系,其工作原理与Unix系统哑终端的原理完全相同。Windows终端经过启动DOS/FONT并运行TCP/IP for DOS来驱动网络/FONT,再运行ICA客户端软件联接服务器。一旦联接到终端服务器,所有软件的运行配置,数据的存储,与其他网络设备的通讯,都由终端服务器WinFrame完成。Windows终端只是把本地键盘、鼠标点击操作消息发送给服务器,服务器根据用户的操作,把运行结果传回给终端,终端经过处理把服务器的运行结果显示出来。16位、32位的Windows软件,基本上不需要修改源代码,就可以在终端服务器上使用,字符方式的DOS软件也可以正常运行。服务器为每个用户生成个人的配置文件,用户的内存空间在服务器上时相互独立的,对每一个用户来说,就象其他用户不存在,只有他自己在使用服务器一样。经过几年的发展,WinFrame逐渐被用户所接受,并在众多领域中拥有广泛的用户群。 但随着WIN98的发布,此技术已经不能继续发展,因它是建立在WIN95的文件系统基础上,它是连接操作系统OS和应用程序AP的桥梁,但WIN98的文件系统过于复杂和庞大,数据上传下达的工作量巨大,已超出了这种架构的软硬件的承受能力.

幻影卫士新闻

Microsoft公司在上世纪九十年代中提出了NetPC的概念,核心既是Windows NT,这种红极一时的客户机/服务器模式曾经使Windows NT在几年之间迅速占领了PC网络市场的主导地位。而它的老对手SUN公司在创造了JAVA技术之后,针锋相对地推出了NC,它充分利用了JAVA语言一次编程、到处通用的特点,NC设备只需从网络下载JAVA VM(解释执行JAVA程序的翻译机)后就能运行各种JAVA程序,体现了集中存储分布计算的优势,但因缺少应用程序的支持,后被Windows NT 打败。1998年,Microsoft在感受到SUN的强大压力下,微软公司在1998年从WBT技术的始祖Citrix公司以7500万美元的价格买来了基于Windows的终端技术,并与Citrix公司签订为期5年的协议,双方将在开发新的Windows系统中进行合作。 从而提出了WBT的概念,并推出第一个支持WBT的网络操作系统——Windows NT4.0 Terminal Server Edition,它的核心协议称为RDP,工作原理是:客户机和服务器通过TCP/IP协议和标准的局域网构架联系。通过终端客户端,客户机的鼠标、键盘的输入传递到Terminal Server上,再把服务器上的显示传递回客户端。客户端没有计算能力,至多只提供一些缓存的能力。众多的客户端可以同时登录到服务器上,仿佛同时在服务器上工作一样,它们相互之间作为不同的Session是隔离的,可以在最低20Kbps连接速率的条件下流畅地传递Windows的全屏幕用户界面,在以太网连接的情况下更可实现多媒体声音的同步传递。当时,Windows2000系列服务器软件都支持WBT终端服务。这表明微软的Windows操作系统经历“单任务”、“多任务”,发展到“多用户”阶段,这标志着微软Windows系统技术的巨大的飞跃,这使得Windows NT与Unix在企业级市场的竞争中,增加了自己的分量,集Windows良好的被广泛熟知的用户界面,大量丰富的Windows开发工具,众多现存的Windows软件的支持,和众多软件硬件厂商的支持,以及自身性能的提高,在与Unix的竞争中开始取得主动地位。此时,多用户的Windows NT服务器和Windows终端组成了相对成熟的Thin-Client/Server体系。

幻影卫士新闻

WIN2000终端是一种能实现与传统Unix终端一样可进行集中式管理又能运行windows操作系统的一种新型终端。它具有以下特点:

1、集中式的网络管理,轻装上阵的单机服务。

2、100%基于服务器的应用软件的运行;系统维护方便,软件升级只要在服务器上进行,硬件基本无需升级。

3、支持用户不注销而与一次会话断开的能力,支持从不同 桌面的多重同时登录。

4、ICA和/或RDP表示层协议在终端和服务器之间,实现传送终端的键盘敲击、鼠标点击和屏幕更新的通讯,对网络环境要求比较低,带宽要求只有原来的1/10。

5、可以通过以太网、RS232和PPP三种方式和服务器连接。

6、提供强大的安全性能,限制、监视用户操作和使用软件(经过用户允许),提供加密传输网络之间数据。 Win2000终端组网工程首先需设置WEB、SQL和Win2000的硬件平台支持,而终端根据需要平均分布于各部门,各部门之间通过SWITCH将连接在一起。 他的优越性表现在:

(1)首先是成本上的降低。从长期的投资来看,终端模式总的拥有成本明显地低于PC模式的总拥有成本,因为对终端模式后期的投入仅在于它的服务器上,终端基本上不需要再投入。

(2)大大提高了系统的稳定性。所有文件都是存储在服务器的硬盘上,所有进程都是在服务器上运行,而服务器采用的操作系统是基于NT技术的,具有更强的稳定性。

(3)高速度运行。目前终端用户主要用来进行文档处理、数据加工和访问内部站点,它在运行office的时候,其速度远远快于普通的中档PC机。

(4)网络模式灵活多样。既可以当作Win2000终端来用,也可以当作Unix终端使用;再没有服务器的情况下,也可以把它当作浏览器来使用。在一个网络环境下,与传统Unix终端、PC机可以灵活搭配,组成一个实用、经济、高效、安全的办公系统应用网络。

(5)完全集中式的网络管理。由于文件都是在服务器上的,安装新的应用软件所需要的工作量也大大减少,与传统的PC 组网方式相比也大大的减轻了维护人员的工作量,简化了工作环节。如有故障,网络管理人员不必到达远端的服务器端检修,只需用一台终端远端以管理员身份登陆到服务器上即可完成工作。

(6)系统安全性得到大大的提高。Win2000终端不需再配置硬盘,软驱,光驱,所有的数据都保存在远端服务器上,有效的防止了重要数据的丢失和泄漏,而且也不会象PC那样容易从外界染上病毒;同时NT的安全性在单机配置后可以达到C2安全级,在网络上的安全性也远大于window95、98的安全性。

(7)具有自动开机连接功能。用户只要一开机终端便会自动连到服务器上,还可以自动打开业务程序,简化了工作人员的工作,而且终端只要一次配置即可到位,应用人员只需简单的培训即可熟练掌握和正常使用。

(8)整个系统安装快捷、调试简单。 Win2000终端一方面既能实现传统PC大部分的功能,另一方面又克服了传统PC作为桌面办公设备存在的缺陷.

WBT的这些特点跟早期的多用户分时主机有点类似,但WBT的优势在于它是基于Windows的,具有友好的图形界面和Windows的易用性, 能够让用户同时得到使用Windows NT操作系统和运行基于Windows的应用程序的体验。另外,在WBT的网络环境下,网络传输的数据主要是键盘和鼠标的输入信息与显示器的输出信息,数据的处理都在服务器上进行,这就大大减少了网络的传输量。同时,用户在使用WBT时,还可以节省能源、抵御病毒侵扰、提高可靠性,增加安全性等。桌面客户端真正做到傻瓜型,不需要任何的维护工作。同时,终端服务器能保持客户端的对话,即使客户端不慎掉电,只要重新开机和连接,就会恢复到原来的工作状态,没有损失数据之忧。可以通过设定,WBT客户端没有办法上载数据,保证了不受病毒的侵害;不能下载数据,保证了不至于资料被复制流失而泄密。

虽然说了Windows终端机的许多优点,但它同时有不少缺点:

1.它是一个瘦客户端THIN-Client,但要真正正常工作,还需要一个胖服务器甚至是一个服务器集群来支持它.如图:

幻影卫士新闻

2. 服务器端软件购置成本高,硬件需求也高,成本大.

3. 对现在网络多媒体应用还有许多限制.

4. 不能实现网络VOD点播.

5.对于广域网WAN的应用还没有完全解决.

6.浪费了终端机本身的处理能力,也就是没有完全利用硬件资源.

7.终端启动及注册是排队方式,很慢,很浪费时间.

8. 终端还局限在WIN98系统

为了解决以上部分问题,尽量利用终端的硬件资源,部分厂家把嵌入式的Windows CE操作系统固化在终端机上,但Windows CE本身就是一个简化了的操作系统,所以对应用软件的兼容性就降低了. 然而终端设备所带来的所有的方便与优点是在网络情况有保障,并将压力集中到服务器作为前提条件的,因此对于很多有较强计算需求(如研发、图像处理、数据处理等方面)的应用,有其不适合之处,而且对于使用者而言会丧失一定的自主性,因为所有人共用同一套系统、同一套软件,必须限制个人用户的权限。就目前终端发展的技术来看,主要还存在有一些应用上的缺陷,比如多媒体功能仍然无法同PC相比、终端程序(尤其是国产程序)同多用户系统兼容的程度都有待改善、终端对于USB设备支持有限等等问题,也制约了瘦客户机在办公领域以及一些有特殊需求领域的应用.

正当市场上对新技术的推出有迫切需求的同时,Intel不失时机地推出了PXE远程无盘引导技术,其配合Qualystem公司的LiteNet,并选用台湾DTK公司的E-Terminal,以实现Windows 98的远程启动和执行,使得可靠性和稳定性都大大提高。Win 98的各种应用软件只需通过简单的几个步骤即可加到终端上,并可随时升级和扩充。

PXE原理及优点:

1、PXE工作原理

(1)DTK专门设计的 E-Terminal主机BIOS中包含PXE远程引导模块,开机启动后,会通过DHCP服务器得到本机IP地址,并将PXE Boot Server的内容下载到本机内存中执行。

(2)通过LiteNet,远程引导Windows 98,并根据设好的用户名登录上NT服务器,以后就可像有盘PC一样自由地操作电脑了。

2、PXE优点

(1)因为其能支持Windows远程启动,所以现有的各种应用软件都能得到非常好的应用。由于系统本机内存为64MB,虚拟内存大小可在服务器自由设定,另具有3D图形视觉增强和AC97 CODEC软件音频功能,相对WBT来说增强了多媒体功能.

(2)PXE还有一个最大的优点就是安全性,不管多少个终端——10台还是100台,系统和应用软件就只有一套 ,对用户的权限是在服务器上设定的,用户可以在自己的目录下随便操作,若有了误操作,重新启动便可以完全恢复。因为本机软盘硬盘统统没有,原先一直担心的硬盘数据出错、感染病毒等问题就再也不会困扰您了!

(3)操作维护简便:想升级软件吗?只需给服务器重新传一遍LiteNet,最多半小时,所有终端便已全部升级了。电脑坏了换新的也很简单:插上网线,记下网卡号,在服务器上只需修改一句话就可以了。想给所有终端升级BIOS也只需将服务器的 Boot Server重建一遍就行了。

PXE远程启动原理图:

幻影卫士新闻

那么PXE与WBT有什么不同呢?

其实,说"PXE与WBT有什么不同"是让行家见笑的问题。WBT是一个超级瘦客户机,而DTK Terminal是PC机--没有硬盘、软驱和CDROM的PC机,在必要时,装上硬盘软驱和CDROM后,它立即成了一台高性能的地道的PC机。我们说:WBT是不能和PC机相比的,他们原本不是同一个档次。在这里谈论WBT是不合适宜:因为WBT和PXE 是不同的概念,它们是两种不同的技术,两码事,但是,为了给大家一个清晰的概念,我认为还是有必要详细解释一下。

WBT ,是Windows-based terminal的缩写,基于Windows的终端。在目前阶段,其内核主要指嵌入式的Windows CE 操作系统。因此,你必须有一个可以Boot的芯片,或者是在一个PCI卡上,或是嵌入到Motherboard上,等等。也就是说;在Terminal端,有一个操作系统来Boot,即:必须有个特殊的硬件来Boot。否则,无从谈起。

为了解释它们的不同,我们可以从以下几个方面来比较WBT和PXE:

1. 概念上:

WBT;Windows-based terminal,是 Microsoft提出的基于Windows的终端方案。 它是一种超级瘦客户机。

PXE:Preboot execution environment ,是Intel定义的一种远程启动方法的工业标准, 它是Intel针对所有的Office PC的PC98 / PC99的需求以及有线管理的需要而提出的,形象地说:它还没有出世就已经符合PC98 / PC 99 规范。而DTK terminal中已经包含了这种技术,当你不需要这种技术时,它立即就是一台性能卓越的个人电脑。

2. 工作原理:

WBT:它的控制管理工作主要是在Client端。它最大限度地利用了Microsoft的现有网络技术和Windows优势,在客户端Boot OS后,在Server端,提供它的软硬件资源,特殊的硬件换取的是较高的运行速度和良好的一致性。它使用了Server端的内存和CPU资源,所以,当Client多到20台以上时,你面临的问题多了起来:是否要4颗CPU,起码的8M×20+128M=288M的内存,等等,Client端只是完成了OS的Boot,Client端的内存和CPU资源,都是借助于Server端的内存和其他资源。它的工作原理很简单:首先,Client端自己启动OS,利用这个OS(通常是Windows CE),向Server请求CPU和内存资源,然后是开始Application的运行。这个Application运行的速度和质量主要依赖于Server的硬件配置。

PXE:DTK terminal本身就是一台PC机,在这种机器里,包含了Intel的最新的PXE技术。它是由Client端的Boot rom 芯片(通常是网卡上的)向Server请求连接,如果成功,那么就把Server的共享的硬盘资源的一部分当作自己的本地硬盘,并且在上面虚拟一块内存。工作原理是这样:首先,Client端的Bootrom 向网络广播一个请求帧,Server端侦听到后,查找一下自己是否可以响应这个请求,可以的话,则发送响应的帧,Client收到后,告诉Server:可以给我传送启动文件了,等收到所有的启动文件后,开始启动,由这个OS来完成后续的起动工作,从而建立起和Server 的联系。

3. 引导方式上:

WBT:它有自己的操作系统,通常是Windows CE ,所以引导时与Server端无关,只有引导起来后,这个OS才和Server联系 。

PXE:它是利用网卡上的Boot的一块芯片,向网络请求Download操作系统,可以是Windows95 /98 ,把OS从Server端下载到本地Client端,然后由这个OS自己来控制和server端的通讯联系,完成引导以及其他工作。

4. 兼容性:

WBT:它对于windows家族的产品来说,兼容性一般用户可以接受,但是,大的比如3D game它是不可以运行的--它太瘦了。和其他的OS的兼容性是非常令人失望的。

PXE:它的DTK terminal就是PC机,可以跑PC上所有能跑的东西,不仅windows的Application,还有OS/2、linux 的、SCO UNIX的等等,经历了严格的兼容性测试。

5. 实用性:

在没有彻底体验这两种Terminal之前,谈论实用性是纸上谈兵。

WBT:可以跑大多数的基于Windows的Application ,但是,一些大的应用程序,以及大多数的Game,特别是3D游戏,是不可以跑的,或者说:跑起来不但人难受而且机器也难受,这是因为它本身的CPU和内存所限制。假如你要升级WBT的BIOS 、OS、 Application等,因为它们存放在Flash Rom中,你必须重新烧录FlashRom。

PXE:因为他本身就是一台PC机,所以可以跑基于Windows的所有Application。它的应用范围可以扩充到PC机所能够达到的领域:电子商务、教育、银行、证券、工厂企业、科研,特别是资料保密性要求很高的单位,远远胜出WBT。把PXE终端加上一个硬盘,它就是一台很高性能的PC机。假如你要升级Apllication或OS等,只是重新把这些Software传到Server端的硬盘共享目录就OK

6. 扩展和扩充性:

WBT:由于它的特殊的结构,它不可能再扩展。当用户要提升它的性能时,服务器必须有相应的扩充,它的内存要扩大时,服务器的内存必须作相应的调整。假如有40台Clients,每台8M的内存,要换成16M的内存,那么,在Server端,必须有16M×40+Server自己的内存64M=704M以上的内存,CPU的资源必须要重新考虑:是否再加两颗CPU,牵一发而动全身。当然,这样的Terminal就是Terminal,你不能把他当作其他的比如PC机一样的用途。可以认为它只局限于终端,而且,只能是用Windows 的终端,想换成其他的OS,比如当前正红的Linux,门都没有.

PXE:依照它的结构,要把40台Client的内存扩展成多大,是于服务器的CPU 和内存无关的,只是于硬盘空间的大小有关。假如40台Client端是32M ,要求扩展到64M,在Server端什么也不用动,只要求服务器的空闲硬盘空间还有32 M×40=1280M 即可。这样的机器可以叫做Terminal,也可以是PC,更应该是NC等,由你发挥,尽情扩展。

7. 性能价格比

WBT的价格大体和DTK terminal 的价格差不多,WBT对硬件的要求少,但是它有特殊的要求;

DTK terminal 对硬件资源的占用要多一些,但是大众化的硬件比较便宜:网卡、声卡、显卡等都集成到一块主板上。而性能上,一个是瘦客户机,一个是PC机:后者高出一个档次。

好了PXE看来似乎是一种完美解决方案,但它有它的缺点:

1. 在用户数比较多的情况下,对服务器的要求就显现出来了,需要较强的服务器甚至于服务器集群.

2. 服务器端操作系统为Windows NT 4.0,软件成本高.

3. 终端只能运行WIN98,还不能跑WIN Me,WIN 2000.也就是说在WIN Me WIN 2000上的应用程序,开发工具,多媒体等功能还不能实现.

4. 除了Windows 操作系统,要起动其它操作系统就要服务器集群才能解决.

5. 多媒体功能还是不够强大,在不增加硬件的情况下,不能实现VOD全屏播放.

6. WIN NT 相对大多数用户的管理人员来说还是太难,太复杂.

7. 只是实现了真正的远程启动,并增强了与各种外部设备的兼容性.但并没有跳出THIN Client/FAT Server的架构模式.

8. 用户行业较受限制,CAD,三维动画制作,影像编辑,广告公司等就不能应用.

幻影卫士新闻

事实上,现在大行其道的所谓桌面云、桌面虚拟化、应用虚拟化,且无论是服务器运算还是本地化运算的模式,无不脱胎于以上几种技术基础,基础理论架构甚至都未有根本性的变化,随着用户需求的不断发展,这些老理论在电脑网络高速发展和普及的今天,有了一个光明的未来,同时也蕴涵了无限的商机