技术,思考的艺术

ASP.net ,C#,VB.NET,SQL + B2B,SCM,CRM,ERP
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

无盘网络技术详解

Posted on 2004-10-31 13:53  1werwerfer  阅读(10972)  评论(13编辑  收藏  举报

无盘网络技术详解

(一)无盘网络工作原理

总的来说,无盘工作站是由网卡的启动芯片(Boot ROM,有此网卡的启动程序已嵌入主板的BIOS中,无需启动芯片)以不同的形式向服务器发出启动请求号,服务器收到后,根据不同的机制,向工作站发送启动数据,工作站下载完启动数据后,系统控制权由Boot ROM转到内存中的某些特定区域,并引导操作系统。根据不同的启动机制,目前比较常用无盘工作站可分为RPL、PXE和 虚拟硬盘等启动类型,而Windows 2000终端从其原理来说,并不属于无盘工作站,它也可以用终端卡或硬盘引导系统,进入工作站操作系统后,再连接Windows2000 服务器,而这个连接程序与一般的应用软件并没有什么本质区别,我们把它归结到无盘网络的原因是:目前大多数的终端都是先通过RPL或PXE启动无盘到DOS或Windows3x,再从无盘站中连接,成为终端,总之本文所指无盘网络,泛指工作站中没有软驱和硬盘的网络,无论它是采取何种方式达到这一目的的,目前台湾顺昱公司研发的基于Electronic Disk Communication电子硬盘(eDisk)系统,我们将它称为伪无盘系统,但因它也具备无盘网络的特点,所以也可以把它归结到无盘网络中来。
近年来,无盘技术发展十分迅速,产生了大量的分支,因此根据角度的不同,主要有以下几种分类方式:
1. 按启动类型主要有:RPL、PXE和Bootp。
2. 按工作站的操作系统:DOS无盘系统、Windows 32无盘系统、Windows 95无盘系统、Windows 98无盘系统、纯Windows 2000及 XP 无盘系统、Windows 2000终端及Windows XP远程桌面。
3. 按服务器操作系统:基于Windows 2000的无盘系统、基于Windows NT 4.0的无盘系统、基于Windows XP下的无盘系统、基于Novell NetWare的无盘系统及基于Linux的无盘系统,甚至还有基于Windows 98的无盘系统,也就是说用Windows 98作服务器。
4. 根据系统是否具有移植能力可以分为:PNP(即插即用)系统非PNP系统。
5. 根据所使用工具的不同进行分类: 使用Intel PDK+Litenet的无盘系统、使用国产相关第三方工具的无盘系统、使用Boot-NIC+3COM PXE的无盘系统。
6. 按虚拟磁盘分类:3Com VLD、Boot-NIC、BXP和Edisk等。
以上分类是可以组合有的,例如:基于Windows 2000 Server+3Com Dabs+Litenet15的PXE无盘Windows 98系统,请注意它们间的组合并不是任意的,例如基于Windows NT的RPL 纯无盘Windows 2000就是不存在的。
1. RPL启动工作原理
RPL为Remote Initial Program Load的缩写,启动过程分析如下:
客户机开机后,初始化网卡,网卡BootROM上固化的软件向网络广播一个FIND帧,即引导请求帧,该帧中包含有客户机的网卡ID号。
服务器端的远程启动服务接收到客户机广播的FIND 帧后,根据帧中所带的网卡ID号在远程启动数据库中查找相应的工作站记录,如果不存在这样一个记录,引导过程不能继续;如果此工作站记录已经存在,远程启动服务则发送一个FOUND 帧给客户机的RPLROM,FOUND帧中已包含了服务器的网卡ID。
当网络上有数台服务器在运行远程启动服务时,RPLROM有可能会接收到多个FOUND帧,但RPLROM只对它收到的第一个FOUND帧有反应,它将根据第一个FOUND帧中所带的服务器网卡ID号,返回一个SEND.FILE.REQUEST帧给对应的服务器。SEND.FILE.REQUEST帧是一个要求服务器发送文件的请求。
服务器端的远程启动服务在收到SEND.FILE.REQUEST帧后,将根据远程启动数据库中的工作站记录查找对应的启动块(BootBlock)——在实际配置时我们知道,它位于NETBEUI目录,名为DOSBB.CNF和W95BB.CNF——用FILE.DAT.RESPONSE帧将启动块送回客户机端的RPLROM。
RPLROM在收齐所有的FILE.DAT.RESPONSE帧后,将执行点转向启动块的入口,启动工作站。工作站以Windows 95实模式启动后,将创建一个RAM盘,并将Windows 95实模式文件从远程启动服务器拷贝到RAM盘,加载Windows 95实模式网络设备启动并建立一个到SBS服务器的连接。最后,连接到该客户机的计算机目录(Machine Directory)所在的服务器上,并根据计算机目录中的有关设置及数据完成Windows 95启动过程。
2 PXE启动原理
推出了PXE远程无盘引导技术是由Intel推出的,配合Qualystem公司的LiteNet,最初选用台湾DTK公司的E-Terminal,成功地实现了Windows 98的远程启动和运行,并使可靠性和稳定性都大大提高。Windows 98的各种应用软件只需通过简单的几个步骤即可加到无盘工作站上,并可随时升级和扩充,其简便的安装方式和构架,很快得到了业内人士的认可,并广泛流行起来。
PXE是RPL的升级品,它是Preboot Execution Environment的缩写,意思为预置启动环境。它们的不同之处在于RPL是静态路由,而PXE是动态路由。其通信协议采用TCP/IP,与Internet连接高效而可靠,PXE无盘工作站的启动过程分析如下:
¨ 客户端个人电脑开机后, 在 TCP/IP Bootrom 获得控制权之前先做自我测试。
¨ Bootprom 送出 BOOTP/DHCP 要求以取得 IP。
¨ 如果服务器收到个人电脑所送出的要求, 就会送回 BOOTP/DHCP 回应,内容包括:客户端的 IP 地址,预设网关,及开机影像文件。否则, 服务器会忽略这个要求。
¨ Bootprom 由 TFTP 通讯协议从服务器下载开机影像文件。TFTP协议为Trivial File Transfer Protocol缩写,意为:简单文件传输协议,TFTP可以看成一个简化了的FTP,主要的区别是没有用户权限管理的功能,也就是说TFTP不需要认证客户端的权限,这样远程启动的客户机在启动一个完整的操作系统之前就可以通过TFTP下载启动映象文件,而不需要证明自己是合法的用户。
¨ 客户机通过这个开机影像文件开机,这个开机文件可以只是单纯的开机程序也可以是操作系统。
¨ 开机影像文件将包含 kernel loader 及压缩过的 kernel, 此 kernel 将支持NTFS root系统。
¨ 并开机影像文件在工作站内存模拟成磁盘,从这个模拟磁盘启动。
¨ 在实模式下连接服务器,将无盘启动预置好各种环境,例如操作系统所在路径,相关注册表的调整等。
¨ 实模式向保护模式下切换。(最后两点只有无盘Windows 98时才存在)
PXE有以下优点:
¨ 因为其能支持Windows 98远程启动,所以现有的各种应用软件都能得到非常好的应用。由于系统本机内存为64MB,虚拟内存大小可在服务器自由设定,另具有3D图形视觉增强和AC97 CODEC软件音频功能,相对终端或RPL Windows 95来说增强了多媒体功能。
¨ PXE还有一个最大的优点就是安全性,不管多少个台工作站,系统和应用软件只需安装一套 ,对用户的权限是在服务器上设定的,用户可以在自己的目录下随便操作,若有了误操作,重新启动便可以完全恢复。
¨ 操作维护简便,升级软件只需向服务器重新传一遍系统,所有工作站便已全部升级了。工作站的ip地址由服务器自动给予,不用逐台设置。
¨ 多种操作系统及网络产品都支持PXE,作为新一代远程启动技术的代表各大公司的软硬产品都支持PXE系统。例如:Intel公司的PXE PDK、3Com Dabs和Linux。很多内置网卡的主板都预置这PXE启动代码,这给PXE技术的发展奠定的良好的基矗
3. BOOTP协议原理
BOOTP的是BOOTSTRAP PROTOCOL的简称,是一种比较早出现的远程启动的协议,Bootp最早出在UNIX系统中,负责Unixt终端的远程启动,直到目前仍是UNIX及之后的Linux系统中最常用的方式,它在基于Windows的无盘网络运用较少,但随着Windows 2000不支持RPL远程启动,并且以TCP/IP作为默认安装网络协议,逐步表明今后的Windows也将以TCP/IP协议作为主要的发展方向,纯TCP/IP的网络将是今后发展的方向。
我们经常用到的DHCP服务就是从BOOTP服务扩展而来的。BOOTP协议使用TCP/IP网络协议中的UDP 67/68两个通讯端口。 BOOTP主要是用于无磁盘的客户机从服务器得到自己的IP地址、服务器的IP地址、启动映象文件名、网关IP等等。它的简单启动过程为:
¨ 由BOOTROM芯片中的BOOTP启动代码启动客户机,此时客户机还没有IP地址,它就用广播形式以IP地址0.0.0.0向网络中发出IP地址查询的请求,这个请求帧中包含了客户机的网卡MAC地址。
¨ 网络中的运行BOOTP服务的服务器接收到的这个请求帧,根据这帧中的MAC地址在BOOTPTAB启动数据库中查找这个MAC的记录,如果没有此MAC的记录则不响应这个请求,如果有就将FOUND帧发送回客户机。FOUND帧中包含的主要信息有客户机的IP地址、服务器的IP地址、硬件类型、网关IP地址、客户机MAC地址和启动映象文件名。
¨ 客户机就根据ROUND帧中的信息通过TFTP服务器下载启动映象文件,并将此文件在工作站内存模拟成磁盘,从这个模拟磁盘启动。
在PXE启动中可以采用动态分配IP的DHCP方式,也可以采用固定IP方式的BOOTP方式,但它的应用场合不同,若为单一的无盘网络可采用DHCP方式简化管理,若为多个网络互连的结构,则使用指定IP的Bootp方式更为合理一些。
4 Windows 2000终端(WBT)的特点及纯软件终端启动原理
WBT(Windows Based Termintal)是Windows2000 Server/Advanced Server推出的一项标准服务,它允许用户以Windows界面的客户端访问服务器,运行服务器中的应用程序,使用户就像用自己的计算机一样。 在WBT的网络中,所有应用软件的安装、配置、运行和存储等均在服务器上进行,客户机(终端)只作为输入输出设备。当终端用户登录到服务器后,就可以像使用本地资源一样使用服务器上的资源,运行服务器上Windows应用程序。多个终端用户可以同时登录到服务器上,互不影响地工作。这样的网络十分容易进行集中管理,很适合学校和中小企业的局域网构建。WBT的这一特点跟早期的UNIX的字符终端类似,但WBT的优势在于它是基于Windows的,具有友好的图形界面和Windows的易用性。另外,在WBT的网络环境下,网络传输的数据主要是键盘和鼠标的输入信息与显示器的输出信息,数据的处理都在服务器上进行,这就大大减少了网络的传输量。
此方案中将原本要淘汰的386、486计算机作为终端使用,有利于资源的再利用;同时,安装软件及运算等都在服务器上进行,一般情况只需维护一台服务器就行,对于软件及防病毒的管理也降低了,所以利用该方案大大降低了总体拥有成本,节省了大量的资金。它有以下一些特点:
¨ 运算、存储都在服务器内进行,安装软件只需安装在服务器上一份,所有终端就都可以使用;所有终端用户的文件都各自独立地存放在服务器上,即使掉电,也不会造成资料丢失;
¨ 机房维护由维护每一台PC,转变为维护一台服务器,维护成本大大降低;总拥有成本(TCO)大大降低;
¨ Windows2000 服务器版本是最新的服务器操作系统,性能非常稳定,整个系统的稳定性得到可靠保障;
¨ Windows2000 终端的界面是标准的 Windows风格界面,使用最新的Windows2000 的界面,用户非常熟悉,无需特殊培训;
¨ 能满足对因特网的需求;应用当今流行软件时单机反映速度快;使用 Windows终端与使用PC完全相同,所以在 Windows终端上的学习经验,可以应用到PC上;
¨ 管理和控制性强:终端服务器能够对终端进行管理,设定终端机运行的软件,同时能对终端机进行随时监控。
纯软件终端的启动原理:它的启动原理前一部分与RPL或PXE无盘启动原理完全相同,这里就不再详述了,后一部分的连接是基于Windows 2000多用户、多任务的基础上的终端服务,在工作站上安装由微软提供的32位的连接程序,或由第三方的提供的16位或32位在DOS、Windows 3x或Windows 9x无盘站安装连接程序,并设置好连接属性,然后在启动无盘站时将其连接命令加到DOS站的开机批处理,或加到无盘Windows 的启动组,使其自动连接Windows 2000服务器。在终端安装Windows CE,服务器端安装Windows 2000专业版,终端启动以后透过RDP协议运行服务器端的应用程序,服务器端进行应用程序运算后同样透过RDP协议将结果在终端显示。
5 基于虚拟硬盘的无盘网络
所谓虚拟硬盘方式,指的是在工作站启动时,用软件将部分内存结合服务器的一块硬盘空间,为工作站虚拟出一个或多个本地硬盘的方式,例如:早期的3Com VLD系统、较新的Boot-NIC系统和最新的BXP系统,也有一些基于硬件的虚拟硬盘的解决方案,例如:Edisk 系统。目前只有基于虚拟硬盘的无盘网络能够很好地解决系统文件共享冲突的问题,且很容易实现多种操作系统的无盘启动,即工作站可以无盘启动Windows 2000、Windows XP 甚至是Linux。
基于虚拟硬盘的无盘网络的工作原理:
对于纯软件方式,一般是先在有盘工作站作好一个为系统,再上传至服务器为工作站准备的虚拟硬盘文件中。无盘启动时,先以PXE的方式启动到实模式下,连接服务器,并根据配置文件连接虚拟硬盘映象文件,再将控制权转到虚拟硬盘中,从而完成保护模式下的切换。
对于基于硬件的虚拟硬盘方式,它是通过最标准、最普及的以太网络(Ethernet)用来传输eHD与eDisk间的数据,它们是建立在eDC传输协议基础之上的。(eDC全名是Electronic Disk Communication.台湾顺昱公司研发出一种传输协议),实现了Client SAN即客户端储存局域网络架构,它具有早期大型机体系的集中管理集中存储的优点,又有NC的分布式计算的特性(即完全利用了Client的硬件资源),还有对个人用户来说完全和PC一样,不论软硬件的使用,功能和兼容性.即整个客户端储存局域网络Client SAN的应用效果和使用方法与真正PC联网一样,但又管理容易,大幅度降低了企业IT环境的服务可用性总成本(total cost of service availability , TCSA)但一次性软硬件投资较大,在一些对多媒体性能要求较高的场合可以考虑使用。

(二)无盘网络的发展及现状
最早使用的无盘网络,应该是UNIX的字符终端,本文所指无盘网络是广义上的定义,也是就是说只客户机上无软硬盘,我们就称为无盘网络。
从1994年至1996年,绝大多数无盘网络基本构架都是采用Novell Netware 3.11或Novell Netware 3.12作服务器的操作平台,工作站以IPX方式登录。当时我们称它为IPX无盘网络,主要是用于教学网络,应用程序主要以DOS为主。
从1996年至1999年,以RPL方式登录的无盘网络占绝大多数,服务器端可以选择Novell Netware 4.1或Windows NT 4.0 Server,在此期间,由于微软的大力支持,在它的Windows 95产品系列中,推出了网络版的Windows 95即所谓的完全版,它包含了网络安装命令Netsetup,之后的几年RPL几乎成为了无盘网络的代名词,1998年微软推出的Windows 98,没过多久,又推出了Windows 98第二版,其内核较Windows95有较大变化,与Internet联系更加紧密,功能也有所增强,遗憾的是Windows98不再提供Netsetup命令,也就是说Windows98无法安装在无盘站上,尽管众多的爱好者不断的努力,无盘仍然不能运行Windows98,期间,也有人声称成功安装无盘Windows 98,其实,只是改头换面的Windows 95,其内核仍然是Windows 95,我们把它称之为伪Windows 98。
从2000年至今,无盘网络技术得到了前所未有的飞速发展,由于Inter、3COM和QUALSTEM等大公司的界入,使无盘技术得到了飞速的发展,大量高质量的无盘支持软件不断出现,例如Inter PXE PDK、3COM DABS、3COM虚拟硬盘和QUALSTEM的Litenet。与之相对应的无盘方案也层出不穷,令人目不暇接,无盘站不能运行Windows 98已成为过去,新的无盘启动机制反过来被用到了RPL中,使得RPL工作站上也可以运行Windows 98了。与此同时,微软公司在其划时代的产品Windows2000中将终端技术收为标准组件,加上第三方软件Mateframe对终端的支持,使其可以在无盘DOS或无盘Windows3x下连接Windows2000 Server而形成所谓的纯软件Windows 2000 终端。目前在无盘技术方面有三个主流即:RPL无盘Windows98、PXE 无盘Windows 98系统和纯软件的Windows 2000 终端。可以看出在无盘组网方面用户有了更多的选择,而且无盘技术的应用领域更广,几乎所有有盘站能运行的软件在无盘站都能运行。
随着微软升级的步伐,Windows家族已步入了XP时代。但在无盘领域,基于PXE的无盘Windows98刚刚开始推广,许多无盘网络仍停留在Windows95、甚至DOS操作平台。无盘网络似乎总是跟不上操作系统的发展,直到最近Venturcom公司推出的一系列的嵌入式远程引导软件产品,这一状况得到了很大的改变。在2002年初,Venturcom与Microsoft合作开发的Boot-NIC 0,专门用于远程启动Windows 2000;另一个BXP产品则专为无盘Windows XP而设计。无盘可以2000了、甚至可以XP了,这个消息虽不如当年无盘可以运行Windows98那样令人兴奋,但也足以使人耳目一新,“98老矣、尚能饭否”的时代距离我们也不会太久。无盘Windows 2000的应用前景十分广阔,特别适合办公网络和教学培训网络,有着其它无盘系统无可比拟的可靠性和先进性。

(三)各种无盘解决方案及其对比
面对各种无盘解决方案读者可能无可适从,本节将对PXE、 RPL、Windows 2000 自带的终端(下面称为标准WBT) 与基于MetaFrame的终端(下面称为Meta WBT)之间的区别作一详细的介绍。我们把标准WBT和Meta WBT合称为终端。另外,对初学者极易混淆的纯无盘Windows 2000与Windows 2000终端单列出来进行比较。
标准WBT名气最大,是软件巨人微软推出,捆绑在Windows 2000里面。它也是微软针对嵌入式产品推出的重量级产品,微软希望籍此在嵌入式产品市场中抢得垄断地位。
标准WBT的优点是对终端的硬件要求不高,只须运行Windows CE以及处理一些简单I/O动作。不须对现有终端作更多改造升级或再投资,通常586机器即可满足要求,无须硬盘,在网卡的bootrom中增加Windows CE或PCI槽中插一片带Windows CE的DOS即可,终端的其它方面无须改动,保护现有投资。缺点:对服务器硬件要求高,因为所有的终端运行的应用程序都在服务器上运行,CPU及内存资源消耗相当大。同时,由于Windows CE本身受限的缺陷,即“客户机过瘦”,对各种外设的支持不足,相应的驱动程序较难找到,多媒体方面的性能较弱。大型软件的运行速度较慢。由于微软的惯例,客户端只限于Windows CE设备,服务器须是Windows 2000服务器,从而大大限制了它的应用场合。
MetaFrame国内较少见,大家较为陌生,是美国Citrix公司开发,支持16位,32位Windows PC,Windows终端,网络电脑,Windows CE设备,及范围很广的非Windows终端,web 浏览器等。服务器端是MetaFrame Server, 其实质是用Windows 2000 Server上装有MetaFrame服务端程序。服务器可以采用多个服务器群集的方式,但须指定一个主服务器(Master metal frame Server)由于客户端程序可以跨平台工作,所以在未来ASP中竞争更强。工作方式也与标准WBT极为相似,客户端须自举启动(不一定选择Windows CE,可以用其它OS,包括DOS、UNIX等),然后可以透过ICA协议在服务器执行应用程序,服务器端也通过ICA传输用户界面,包括运行结果。服务器可以置在远端,然后终端通过ISDN,MODEN拨号,局域网,甚至无线传输等方式,以ICA协议与远端的服务器通信。这与标准WBT相比有着很大的优势,意味着ASP供应商可以透过Intenet提供应用服务。MetaFrame还有一个工具很诱人,管理员可以远程操控客户端界面,控制客户端的键盘,鼠标以及输出界面。MetaFrame 的缺点与标准WBT一样,对服务器硬件资源要求较高。 实质上,MetaFrame与 WBT的核心技术是将用户界面程序与逻辑运行程序剥离,逻辑运行程序在服务器端运行,用户界面程序通过ICA或RDP协议传输到客户端,同时ICA或RDP将用户交互响应的信息(如键盘,鼠标操作等)送回至逻辑运行程序处理。但客户端系统的自举还须靠本地原有的OS如Windows CE等完成,故严格而言,并不算是远程启动技术。
PXE是真正意义上的远程启动技术。 PXE是Intel公司开发,虽然推出时间不短,但真正有价值的应用却是今年内才体现。据网站记载,国内DTK公司,长城电脑都已成功在Intel PXE技术上研发Windows 98无盘工作站,并在教育系统中大力推广。 工作站具有一个带有Intel PXE bootrom的网卡或集成到BIOS的英特尔PXE代码。当一个终端启动后,服务器的操作系统(OS)将被加载至其内存中。 在远程启动软件外接附件的帮助下,服务器操作系统远程启动服务可以支持学生站运行Windows 95和Windows 98。当终端启动时,PXE代码将从服务器检索启动和配置软件,这一过程就是远程启动。
与终端技术不同的是,PXE运行应用程序用到的是本地的资源,及内存,只是相当于硬盘由网络代替了,服务器的负荷也大为减少,配置要求相对较低,这是比WBT先进的一大优点。由于工作站上运行的是真正的Windows 98,所以支持的应用软件十分丰富。工作站加上硬盘后就变成一个标准的PC机,可以在其它场合应用,从而保护了客户的投资。可惜的是,PXE现在还不支持拨号,ISDN等方式,因而不能透过Internet实现远程启动,因此作为ASP工具不太合适。但如果应用于电子教室,办公室,酒店,网吧,证券等场合则相当具有竞争力。在速度方面,与终端不相上下,但在多媒体方面,PXE占优势。
综上所述,三者各具优势,用户可根据自身的需求选择适当的技术和产品。一般而言,若ASP,远程教育选择Metal frame最为合适,局域网场合选用PXE较为合适,而PDA,手持设备等则选Windows CE为佳。
PXE与RPL在运行应用程序所使用的资源除硬盘外,都是本地的资源,从其运行模式来看两者有很多相似之处,但内核是截然不同的,以下从几个方面进行比较:
¨ 发展前景
PXE:Intel新推出的软件,从理论上来讲应该是很先进的,尽管还存在一些问题,但其优越的一面已经在应用中得到了充分的体现,而且Intel公司还将继续提供这方面的支持,并且公开源码,相信以后会更加改进。
RPL:Microsoft产品,已经很成熟了,而且许多爱好者都比较熟,技术资料到处都是,但Microsoft已经放弃了此产品开发与支持,不会再有更新的升级产品了。
¨ 工作站启动速度
从少量机器来看,PXE与RPL似乎没有太多的区别,但如果机器数量较多,PXE会快一些,其原因主要是RPL采用NETBEUI通信协议,若传送过程中有错误帧,RPL会要求整个数据包重发,而PXE采用基于TCP/IP的MTFTP(多点传送)的通信协议,若在传送过程中有错误帧,PXE并不是将整个数据包重发,只是将某一出错线程的数据重发,这样使整个网络的启动的速度加快。在工作站较多的情况下,出错的概率较高,因此在这种情况下启动速度的差别较大。
¨ 安装方面
PXE安装是基于本地上传的,也就是说,只要在一个工作站上安装好一台有盘工作站,然后通过上传软件,将整个硬盘上传服务器的一个共享目录下,安装步骤比较少,整个过程也很简单,安装成功率很高。传统方式下的RPL Windows 95无盘站的安装过程十分繁琐,且很容易出错,安装成功率很低。目前的RPL技术吸取了PXE的本地上传方式,使安装的方法接近PXE的安装,但需掌握RPL和PXE两项技术才能进行安装。当然目前出现的许多RPL98的安装工具,给安装无盘RPL Windows 98带来方便。
¨ 运行速度
PXE要快一些,特别是在运行一些大的应用软件或上网时更加明显,主要原因是由于PXE的默认协议为TCP/IP。而在低配置无盘网络中,RPL无盘Windows 95要快一些。
¨ 日后维护方面
PXE和改良的RPL在日后的维护方面十分方便,软件的维护量极低,所需的维护只是升级应用软件,删除客户机无用文件。若一段时间不用应用程序,且硬盘作好磁盘配额,那么在这段时间内可以作到软件零维护,对机房管理人员来说可以说是一个解放。传统的RPL网络的维护量极大,客户机可以轻意的破坏系统,虽然可以通过各种手段加以限制,但无法从根本上解决,而且由于各种限制的存在使Windows 界面面目全非。
¨ 硬件兼容性
PXE软件可以大多数的网卡和主板,但PXE的启动芯片支持的网卡并不多,对主板的BIOS要求为AWORD的,其它的BIOS版本则有不兼容的现象,这是目前制约PXE发展的重要因素。RPL的硬件兼容性则很好几乎所有的网卡和主板都能支持。
三种主流无盘网络系统(四种方案)对比如表1所示。
表1 四种无盘启动技术的比较表

纯无盘Windows 2000与Windows 2000终端的比较:
它们是完全不相同的两种技术,从技术内核、应用场合、对硬件的要求和使用效果等多方面都是截然不同的。在内核方面Boot-NIC是以虚拟磁盘为中心的,终端则是以远程桌面协议为核心;在应用场合方面,Boot-NIC应用场合很广,在企事业单位的办公网络、学校的教学网络和网吧中都可以使用,终端一般只适合老机房的改造(以学校的教学网为主),使一些旧的微机例如386、486和早期586得以延长使用期;在对硬件的要求方面,Boot-NIC对工作站的要求是较其它类型无盘系统更高一些的,但也不是无法承受,目前新配的机房设备一般都可以满足,实验表明CPU 赛阳433以上、内存128以上即可,它对服务器的要求也不是很高(PIII866以上、内存256以上)上述配置可作一40台的无盘Windows 2000,终端对服务器的要求极高,对工作站的要求极低;在使用效果方面,Boot-NIC是目前所有无盘系统最好的,与有盘Windows 2000的使用方法完全相同,且没有任何的限制,但安全性又是最好的,终端的使用效果则是在所有无盘系统中最差的,但听到最多的句话就是:“这些老486能有这样的效果已经不容易了”。

(四)无盘网络对硬件和网络的要求
各种不同类型的无盘网络对系统硬件和网络的要求是不同的,即使是同一类型的无盘网络由于应用场合的不同,对系统配置要求也不尽相同。本节的内容就实际应用较多的几种类型粗略地谈一下无盘网络对系统的要求。
1. 工作站为无盘Windows 98的各类无盘网络
就目前而言,无盘工作站的操作平台多数仍为Windows 98系统,工作站配置的要求与有盘站上Windows 98相同,一般最低要求为:CPU MII233以上、内存 32MB以上、VGA以上显卡,若工作站要作图像处理或需运行 3D游戏则上述配置是不能胜任的,实际上的无盘Windows 98系统只是共享服务器的硬盘空间,其它资源仍是使用本地资源。若需图像处理或进行曲3D游戏建议工作站配置:CPU 赛阳II566以上、内存 128MB以上、具有3D功能的显卡。有些机动方式对工作站的主板的BIOS版本也有要求,例如PXE系统对Aword的BIOS的支持很多,但对AMI及其它的BIOS便存在一些兼容性的问题。
对于无盘Windows 98系统的服务器配置要求,主要根据无盘网络的规模和使用的服务器操作系统来选择其配置。下面Windows 2000 Server为服务器操作平台,说明现不同规模的无盘网络对服务器的要求:
? 20台以下的小规模无盘网络
对服务器的要求不高,一般的配置即可满足要求。具体的:CPU 赛阳667以上、内存128MB以上、普通IDE 5400转/分硬盘以上。其它方面例如显卡等无特殊要求。
? 40台左右的中规模无盘网络
对服务器的要求较高,因为在此类网络中,一般只安装一台文件服务器,在工作站较多时它的负荷较大,因此在经济条件许可的情况下,应尽量提高此配置水平,目前建议以下配置:CPU PIII 866以上、内存256MB以上、使用7200转/分硬盘(或使用SCSI 硬盘)若工作站读写硬盘频繁,建议加大服务器内存容量,并安装SuperCache这类的基于内存虚拟技术的软件,提高服务器的整体性能。
? 70台以上的大型无盘网络
对于大型无盘网络来说,使用极高配置的单一服务器,不如使用多台低配置的服务器的效果好。在多服务器群集时服务器的配置与中型无盘网络中类似。
对网络的要求,主要是对整个网络系统的带宽的要求,目前网络交换设置幅下降的情况下,建议使用基于交换机制的星形结构,中小型无盘网络使用100M交换网,对于大型无盘网络,主干建议使用1000M交换系统,对网线、网头及服务器网卡等,强烈建议使用质量优良的品牌。
2. 无盘Windows 2000终端
总的来说,Windows 2000终端对服务器的要求很高,对工作站的要求则极低。WBT跟早期的多用户分时主机有点类似,但WBT的优势在于它是基于Windows的,具有友好的图形界面和Windows的易用性, 能够让用户同时得到使用Windows NT操作系统和运行基于Windows的应用程序的体验。另外,在WBT的网络环境下,网络传输的数据主要是键盘和鼠标的输入信息与显示器的输出信息,数据的处理都在服务器上进行,这就大大减少了网络的传输量,因此Windows 2000终端对网络没什么要求,一般的10Mbps共享式网络就完全可以胜任。由于工作站资源只是作为主机的缓冲器,所以对工作站的要求是极低的,一般386cpu 、1MB 内存的工作站也可以正常的运行,而且提高工作站的配置并不能提升工作站的运行性能,工作站的性能的提高主要依靠服务器的硬件性能的提升,它所有运行的程序都使用服务器CPU及内存,实验表明工作站每打开一个应用程序服务器的可用内存就会相应的减少,例如工作站打开一个PhotoShop窗口,服务器可用内存便减少20多MB,因些对于服务器内存有一公式:256+32*N(N为工作站的台数)可见,在工作站较多时,对服务器的内存容量的要求很高,所以有人称Windows 2000终端系统为瘦客户端THIN-Client,胖服务器FAT-Server系统。 目前情况下对于一个40台左右工作站的终端建议的服务器配置为:双PIII1000以上CPU、5G以下内存、SCSI 36.4硬盘。网络设备中心交换设置建议使用交换机、二级连接设备使用一般的HUB,拓朴结构使用星形结构。
3. 工作站为纯Windows 2000
在对硬件的要求方面,基于Boot-NIC的纯无盘Windows 2000系统对工作站的要求是较其它类型无盘系统更高一些的,但也不是无法承受,目前新配的机房设备一般都可以满足,实验表明CPU 赛阳433以上、内存128以上即可,对服务器的要求也不是很高(PIII866以上、内存256以上)上述配置可作一40台的无盘Windows 2000,但要取得较好的使用效果,应尽可能提高服务器、工作站及网络设备的性能,毕竟Windows 2000系统比Windows 98系统庞大的多。
4. 工作站以DOS或Windows 32
早期使用的DOS或Windows 32的无盘工作站,一般是基于Novell Netware操作平台下的。它对服务器和工作站的要求都是很低的,但由于DOS和Windows32都属于淘汰的操作平台,目前已很少使用了,只有在一些贫困边远的地区才能看到。此类机器一部分因使用期限已到而报废,例如286、386SX等机型,而一些使用期限还没到、机器的物理状况良好的机器,则被改装为Windows 2000终端继续使用。

(五) 远程引导芯片(Boot Rom)相关知识

5.1 认识远程引导芯片

1. 基本概念

远程引导芯片(Boot Rom)一般情况下为写有远程启动代码的EPROM芯片,其内容与无盘网络的类型和网卡型号有关,它不具备通用性。无盘站在启动时,首先由它发出启动请求信号,并与服务器建立对话,当得到回应信息后,将控制权交到工作站的虚拟盘,完成无盘启动的第一步骤。

2. 远程引导芯片的分类

按服务器的操作平台分Windows NT(Windows 2000)、Novell和Linux。
按启动机制分:IPX、RPL、PXE及BOOTP等。
有些远程引导芯片只能启动一种无盘系统,有的可以引导多种无盘系统,因此又可以分为专用芯片和双启芯片或多启芯片。
而网卡芯片的设置也是多种多样的,有无设置项的、有自动选择的、有带设置界面的等。
如果要组建无盘工作站,所购买的网卡必须具有远程引导芯片插槽,而且要配备专用的远程启动芯片,如图1所示。由于远程启动芯片在一般情况下是不能通用的,所以在购买时,必须购买与自己的网络操作系统相吻合的远程引导芯片。

图1 网卡Boot Rom插槽及远程引导芯片

3. 如何获得远程引导芯片

? 对于一些常用的网卡芯片,如RTL8139、RTL8029等,在电子市场都可以直接购买到。
? 若使用的网卡不常用,或网卡是常用的、但启动方式不符合要求,例如使用Bootp方式启动的芯片,市场上就很难买到,这种情况下只有得到相关的启动代码,自己动手制作远程引导芯片,具体方法请见5.2内容。

5.2 制作远程引导芯片

1.准备工作
要自己动手制作远程引导芯片前,需要作以下一些准备:一台编程器、EPROM擦除器EPROM空片若干和网卡启动芯片代码。
几乎所有的编程器可以对EPROM进行读写,许多人对编程器的认识是从CIH病毒流行时开始的,CIH病毒会破坏主板的BIOS程序,有些电脑公司便作起了修复BIOS的业务,从网上下载主板的BIOS内容,通过编程器将代码写入主板的BIOS芯片中,所以有些电脑公司的技术员把编程器称为“写片机”,其实编程器的主要作用是单片机开发,写芯片只是的作用之一,因此当年用来写BIOS的“写片机”完全可以用制作远程引导芯片。
编程器的型号很多,价格从200无至数千元不等,若不作单片机开发,只是作为写片机,那么高档的编程器的绝大部分功能都是用不上的,因此只需购买较低档的编程器,若要大量复制芯片,则可以选用芯片复制机,它无需连接电脑就可以快速大量地复制芯片。本例中使用的编程器为TOP851型,如图2所示。

图2 编程器
EPROM芯片为紫外线擦除式的只读存贮器,有以下一些型号:2764、27128、27256、27512、27010它们内部是TTL电路,一些为CMOS材料作成的,型号有27c64、27c128等,两种类型的EPROM都可以用于制作启动芯片,只是它的写片电压不一样,TTL的为21V,CMOS的为12V,在写片时请注意选择电压。本例所使用的芯片为27c512,如图3所示。

图3 芯片
写入EPROM中的内容是不能被修改的,若要删除其内容,必须使用EPROM擦除器擦除芯片内容后,重新写入。芯片在擦除器中受紫外线照射5至10分钟后,内部数据全部变为“1”,也就是说EPROM内的数据已清空,此时的芯片称为空片,编程器只能对空片进行写入操作,所以在写片之前要对有内容的芯片擦除操作。本例使用的擦除器如图4所示。

图4 EPROM擦除器
2.获得网卡远程启动代码
? 有些网卡的驱动盘上提供了相应的启动代码,一般存放在BootRom目录中,文件的扩展名rom或Bin。文件大小一般为8K的整数倍。
? 网卡生产厂商的网站上,一般都会提供最新的远程启动代码,例如:RTL系列的网卡在 http://www.realtek.com.tw/网站中都可以找到。
? 以上两种方式可获得的芯片代码都是目前比较流行的无盘网络系统的远程启动代码。若使用非主流型的无盘网络系统,例如在Linux操作系统下BOOTP无盘系统所需的远程启动代码,则很难通过上述方法获得。在Linux上比较广泛使用的一个免费的TCP/IP BOOTPROM的编译软件,它可以从etherboot.sourceforge.net下载源代码,在Linux下编译出大多数网卡的BOOTPROM代码。针对大多数的人不熟习Linux系统,在 http://rom-o-matic.net/网站上还可以通过web的方式免费定制网卡的远程启动代码。下面我们以定制RTL8139的Bootp远程启动代码为例,说明如何定制远程启动代码。
¨ 打开IE浏览器,输入网址:http://rom-o-matic.net进入后可以看到BootRom的版本号。如图5所示。

图 5 Boot Rom版本信息
在Production Releases列表中的5.0.8、5.0.7、5.0.6等,分别链接不同的etherboot的版本,本例中选择最新新的版本5.0.8。
¨ 出现“ROM-o-matic dynamically generates Etherboot ROM images.”设置页面如图6所示。

图6 设置界面
各选项的含义和选择:
Choose NIC/ROM type
此选项为网卡型号的选择项,可根据所使用的网卡进行选择,它所提供的网卡的型号比较多,国内常见的网卡都可以找到的选项,根据本例使用的网卡选择RTL8139。若要查看相的文档,可以单击“here”的链接。
For custom ROM configuration press
此选项为定义网卡BOOTPROM的配置,点击“Configure”按钮则,出现“Make configuration selections and then press to save your changes.”如图7所示页面。

图7 ROM选项配置界面
这个页面可以设置BOOTPROM的一些选项,下面主要介绍几个比较常用的选项。
ASK_BOOT
这个选项是设置BOOTPROM启动时是还询问从网络启动还是从本地盘启动(“Boot from Network or from Local?”),默认值为3,即在启动时询问这个问题并等待3秒。如果设为0或者-1则启动时不询问。
ANS_DEFAULT
这个选项是设置上面那个问题的默认答案,即当设为不询问或启动时没有选择的情况下是由网络启动还是由本地盘启动。默认的是从网络启动。
NO_DHCP_SUPPORT
这个选项是设置是否支持DHCP服务,默认是支持DHCP服务,若制作BOOTP芯片,则此选项要选中,若制作芯片需DHCP则不选中些选项。
所有设置项选择完毕后,单击“Save Changes”按钮,回到上级的设置页面。
Choose ROM output format
为远程启动代码的输出格式的选项
常用的有两种输出格式:一是Floppy Bootable ROM Image(.lzdsk),如果选择这种格式,就是下载模拟ROM启动的软盘映象文件,这种格式的代码文件可以制作BOOTP启动模拟软盘,在制作BOOTROM或写BIOS前可以用模拟软盘测试ROM代码是否正确,也可以在没有条件制作BOOTROM时用它启动;二是Binary ROM Image(.lzrom),这种格式就是BOOTPROM的二进制代码格式文件,可以用编程器直接写入EPROM中,得到我们所需要的启动芯片。
在“To generate and download ROM image press:”栏中,单“Get ROM”按钮,出现如图8所示的对话框,系统提示“文件下载”。

图8 代码下载
单击“保存”按钮,将远程引导代码,保存到相关目录下,便完成了定制芯片代码的操作了。得到的文件名为eb-5[1].0.8-rtl8139.lzrom,大小16KB,因此需要27c128以上容量的EPROM才能完整写入。
@ 注意:EPROM上标注的容量是按位(Bit)计算的,而文件大小是按字节计算的(Baty)所以16KB的代码文件必须使用27c128或以上容量的芯片。
3.使用编程器写入代码
? 将空片插入编程器的芯片槽中,注意芯片的方向应与编程器一致,一般的编程器上都会有相应的标记。若芯片中有内容,则可以使用擦除器,将内容清空。新购的芯片一般都是空片。
? 打开编程器管理界面,如图9所示,在芯片类型栏中,选择“紫外擦除存储器”,根据芯片上标注的型号,在型号下拉列表中选择型号,若列表中没有您的芯片型号,可以选择???,即通用型,本例中选择的是通用型27c512,在列表中双击此型号,即可选中。

图9 编程器界面
? 装载芯片远程引导代码,单击“装载”按钮,出现“打开”对话框,找到相关的远程引导代码文件后,单击“打开”按钮,出现文件格式及装入方式对话框,如图10所示,选择BIN的文件格式和全部装入后,单击“确定”按钮。此时在界面的工作区出现相应的代码内容,装载即完成。

图10 代码格式和装入方式选择
? 写入芯片,单击“读写”按钮,出现如图11所示界面,烧写芯片一般要经过以下几个步骤:校空、写入和校验。在制作时可以选择组合操作,在组合选择框中将“检查空”、“烧写”和“校对”全部选中后,单击“自动”按钮。系统自动完成上述三个操作后,芯片就制作完成了。

图11 读写芯片操作界面
? 测试芯片,将写好的芯片它插到网卡的Boot Rom插槽中,启动工作站,若出现相关的远程启动信息,说明芯片已制作成功。
? 有些网卡在出厂默认设置是关闭网卡中的远程引导功能的,或默认设置中的芯片容量与使用的芯片容量不一致,可能导致无盘工作无法正常引导,这时可以用网卡的设置程序(一般在网卡的驱动盘的根目录)设置Remote Boot Enable,使BOOTROM有效。以RTL8139为例简单说明如下:
在有盘站上运行网卡设置盘中的rest8139.exe程序,按空格键进入操作界面,如图12所示。

图12 网卡设置界面
在“Main Menu”菜单中有四个选项,其中第一个选项为查看当前配置情况,第二个项为更改设置选项。进入第一个选项,即“View Current Configuration”,可以看到当前的配置列表,如图13所示。

图13 当前配置信息
若Boot ROM Size项目中为Disable或容量与启动芯片的容量不相同时(注意这里显示的容量为字节,需乘以8后才为芯片上标注的数值),就要进入主菜单中的第二个选项即“Setup New Configuration”中进行设置。设置界面如图14所示。

图14 设置网卡Boot Rom容量

5.3 将网卡的BootRom代码写入主板BIOS

在实际安装无盘网络时,一般我们采用网卡+启动芯片的方式,如果只是为实验一下无盘技术,但又无法找到相应的启动芯片时,且没有专业的编程器时,可以将网卡的启动代码写入到主板的BIOS芯片中,具体方法如下:
1.注意事项:
? 主板的BIOS要一定的容量,有些主板(例MVP3)的BIOS容量为1M Bate也就是128Kb,它的容量较小,除去系统已经使用的空间后,空闭空间只有10多KB,而PXE/RPL启动代码的长度为 52Kb,因此此类较老的主板是无法将原代码写入的。
? 不要将网卡启动芯片代码写入BIOS,具体区分为:网卡的启动芯片代码为64KB,而用于写入主板BIOS的代码为:52KB。
? 刷新BIOS有一定的危险性,在写BIOS之前先应将原BIOS进行备份,在写入时要防止停电。


2.所用文件说明:
? cbrom208. execbrom208.exe为AWORD的BIOS工具程序,可以用来分析、操作BIOS文件的工具
? awd.exe awd.exe为AWORD主板BIOS刷新程序,在需在纯DOS下运行。
? 8139pxe.lom 为RTL8139网卡的启动代码文件,如果你的网卡不是RTL8139则不能使用这个文件,可以使用网卡生产厂商提供的启动代码。

3.具体操作步骤
? 将所需文件复制到工作站的硬盘上
在可以正常启动的工作站(DOS或WINDOWS 9X)上,新建一个目录例如C:\yxz,将前述三个文件复制到这个目录下。
? 备份主板BIOS代码
启动工作站,进入纯DOS状态,在WINDOWS 98下进入纯DOS的方法如下:开机按F8进入开机菜单,选择
第5项,即“Command prompt only”,请注意,不能进入WINDOWS 98后再进入MS-DOS方式进行刷新操作。
进入c:\yxz目录执行以下命令:
AWD /sy /pn biosbf.bin
(开关参数/sy 的作用是将读出的BIOS代码以文件的形式存放,开关参数/pn 为不进行BIOS刷新操作,biosbf.bin为输出的备份文件名),执行完以上命令后,将生成的文件复制到其它目录、最好是复制到一张质量较好的软盘上,以备不测时可以恢复系统BIOS。
? 将启动代码并入biosbf.bin
此步骤的目的是将原BIOS代码与网卡启动代码合并到一起,为刷新BIOS作好准备。
执行以下命令:
cbrom208 biosbf.bin /pci 8139pxe.lom

? 将已带启动信息的BIOS代码写入主板BIOS芯片中
在写入之前可以使用cbrom208 biosbf.bin /d命令查看BIOS空间是否足够及启动代码是否合并。写入命令为:
awd biosbf.bin /py /sn /r
完毕后,插上网卡,重启系统,按SHIFT+F10即可进入网卡启动设置界面,选择PXE或RPL方式启动,以及是否允许BOOTROM启动等设置。