无盘工作站启动原理与实验要点

一、无盘工作站启动原理
无盘工作站之所以能够启动,是由硬件(工作站端)和软件(服务器端)共同配合的结果。软件上,就是服务器上的远程启动相关服务和无盘系统软件;硬件上,则 是工作站网卡上的BootROM芯片。当然,对于不是很老的主板,其BIOS中空闲较多并支持写入,可以将BootROM芯片代码写入主板BIOS中,节 省了一个芯片。

较常用的无盘启动芯片有RPL和PXE两种。这两种较为通用,其它还有一些厂商开发的专用芯片,不是很普及,以下的讨论中均以RPL和PXE为主。

RPL芯片可用于10M和100M的网卡,有针对NT(2000)的,有针对NetWare的。不同的网卡用的也不一样,需要配套。所以做无盘时不是任何 网卡都能做的。10M的NE2000和8029网卡、100M的8139网卡等都支持RPL芯片,并且也都容易找到相应的RPL芯片。

PXE芯片一般用于100M的网卡,以在8139网卡上的应用最为成熟和典型,甚至很容易就可找到用于8139网卡的PXE芯片代码(用于写入主板或空白 BOOT片)。现在较常见的是那种RPL/PXE双启动的BootROM芯片,价格在6元左右。

1、RPL芯片的启动原理。

(1)发现阶段。当Client启动后,其网卡上的BootROM会向Server广播一个引导请求帧,即FIND帧,该帧包含有Client的网卡号 (MAC地址),网络上所有Server都会发现这个FIND帧。

(2)提供阶段。Server远程启动服务收到Client广播的FIND帧,根据帧中所带的ID号,检查远程启动数据库中是否有该卡号的配置记录,如果 不存在,则引导过程不能继续;如果存在,远程启动服务发送一个FOUND帧,这个帧中包含了服务器的岗卡ID(即Server的MAC地址),然后就调用 BOOTP(Boot Protocol)或者DHCP(Dynamic Host Configuration Protocol)。

(3)选择阶段。Client收到第一个响应后(因为可能网络中不止一个服务器在运行远程启动服务,Client只对收到的第一个FOUND帧回应,包 括:分配给Client的机器名称、IP地址、Server的IP地址、BOOT所需的映像文件等),则发送一个 SEND.FILE.REQUEST Frame给第一个回应的远程启动服务器,请求传送启动所需的文件。

(4)确认阶段。当远程启动服务器收到SEND.FILE.REQUEST Frame的请求后,根据其远程启动数据库的Client记录查找对应的 BOOT BLOCK,将Client启动所需的文件传送给Client,即给工作站一个FILE.DAT.RESPONSE帧,这个帧 包含了 Client启动所需的BOOT BLOCK。

(5)启动阶段。Client接收到完整的启动文件后,开始执行文件中的程序,将执行点转向启动块的入口,启动Client,同时使用另外一个 INTERNET协议:TFTP(Trivial Transfer Protocol)。然后引导不同的OS。

2、PXE芯片的启动原理。

PXE是RPL的升级品,它是Preboot Execution Environment的缩写。它们的不同之处为:一个是静态路由,一个动态路由。不难理解:RPL是根据网卡上的ID号加上其它的记录组成的Frame 向server发出请求,而server那里早已经有了这个ID数据,匹配成功则进行远程启动;PXE是则是根据服务器端收到的工作站MAC地址(就是网 卡号),使用DHCP服务给这个MAC地址指定一个IP地址,每次重启动可能同一台工作站有与上次启动有不同的IP,动态分配地址。下面以工作站引导过程 说明PXE的启动原理:
(1)用户端电脑开机后, PXE Boot ROM 获得控制权之前先做自我测试,然后以广播形式发出一个请求FIND帧。
(2)如果服务器收到个人电脑所送出的要求, 就会送回 DHCP 回应, 内容包括用户端的 IP 地址, 预设通讯通道, 及开机映像文件。 否则, 服务器会忽略这个要求。
(3)工作站收到服务器发回的响应后则会回应一个FRAME,以请求传送启动所需文件。
(4)之后,将有更多的讯息在用户端与服务器之间作应答, 用以决定启动参数。 BootPROM 由 TFTP 通讯协议从服务器下载开机映像档, 这个映像档就是软盘的映象文件。
(5)工作站使用TFTP 协议接收启动文件后,将控制权转交启动块,引导操作系统,完成远程启动。

3、PXE与RPL无盘启动方案的比较
(1)虽然它们都是无盘启动,但是,RPL,毫无疑问,适合做无盘win95或假WIN98,不易做成内核为win98的无盘站。RPL唯一的好处是:比 较成熟,关于它的文章漫天皆是。
(2)就构架整个网络来说,PXE要简单得多。这集中反映在对每台客户机的配置上:RPL要求每一台客户机都要执行安装过程,而PXE配置时,只需要每一 台客户机的MAC地址,把它写到netnames.db这个文件中就可以了,甚至连这个都可以自动完成。
(3)就性能价格比来讲,PXE是RPL 的替代品,是无盘win95的“掘墓人”,从此,无盘启动技术进入了win98的时代。
(4)就适用范围来讲,有盘windows 98能延伸到什么地方,也就是这个技术也可以延伸到的地方。而win95 由于它内核上的限制,不能较好地与INTERNET接轨,其应用受到了极大的限制。
(5)就可维护性讲,PXE空前绝后!PXE的每个工作站的配置都是从公共的windows目录下读取,删除了,无非是重新启动一次,不用在工作站作任何 的动作,系统将自动复原。
(6)应用软件的安装。当你看中某个新的软件,并且打算把它安装在无盘工作站上时,用PXE安装,比如想在无盘win98中新加一个游戏,或以前没有 office2000,现在要安装office2000,很简单:用你那个上传的本地硬盘安装好后,上传一下,所有工作站都可以用了。而win95的应用 软件的安装就没有这么简单。

现在客户端用的多的是PXE的芯片。
服务端“网众”的算是最为出色的。因为你最大的优势有linux版本的和硬盘直接读入。Linux就不用说了,速度上绝对的优势。从硬盘直接读入的优势就是速度快,同样他也支持img镜像的(慢)。

1.服务端的实验在VMware 虚拟机上完全可以做。。
服务器有两个重要的组成。boot服务和io服务。
boot服务需要加密狗才能使用。windows已被破解。而linux现在还没有人破解。(至少我没有找到)
io服务可以不授权使用。这样。我们可以在windows平台做boot服务,linux做io服务。
安装工作站的时候要注意安装NWLINK ipx/spx/Netbios 协议。网卡属性——>安装——>协议——>NWLINK ipx/spx/Netbios。有时候不安装有可能找不到服务端的虚拟磁盘。
2.客户端来测试,能接受boot服务器的数据。但不能加载io服务器的硬盘镜像。。why?嘿嘿。因为没有PXE芯片。