pxe启动是什么原理,如何实现?

来源:百度知道 编辑:UC知道 时间:2024/05/16 09:01:04
近来关注网刻,经常看见PXE,不知道怎么用,望高手指点。

无盘启动的工作原理

说起原理,许多人不齿的,但为了照顾刚进门的兄弟姐妹,或者说:满足想仿效黑客那样分析网络问题的计算机爱好者,还是讲一点,因为对于想成为黑客的人讲,这一步是必须走的。

一部机器通过网络启动,它必须得到这些信息:

一个identity;(有许多client同时启动,每台都有唯一识别号,不然,这台机器在网络中就没有身份。)

某个操作系统的映像文件;(把操作系统引导(boot)下来。)

可以操作的文件系统。

下面,按工作站引导过程说明它的原理:

当客户机启动后,其网卡上的BootRom 会广播一个FIND帧,说白了,那是一个引导请求帧,该帧中包含有客户机的网卡号,就是MAC地址:00E09C410021这样的东西。

server端远程启动服务收到客户机广播的FIND帧后,根据帧中所带的网卡ID号,检查远程启动数据库中是否有该卡号的配置记录:如果不存在这个记录,引导过程不能继续;如果此工作站的记录已经存在,远程启动服务发送一个FOUND帧,同样,这个帧中包含了服务器的网卡ID,也就是server端的MAC地址,然后就调用BOOTP(bootprotocol)或者DHCP(Dynamic Host Configuration Protocol ),这个DHCP其实是BOOTP的进化,所以,假如不考虑其他的规定,我认为能适用于BOOTP的一定能适用于DHCP,它们都是处理以太网的地址。

工作站收到第一个响应后(这样说,是假如网络上有不止一台的sever在运行远程启动服务,工作站只对收到的第一个FOUND帧有响应,并且,这个响应包括:分配给工作站端的机器名字、IP地址、服务器端的IP地址、以及启动时的映像文件等。),则发送一个SEND.FILE.REQUESTFrame给第一个响应的远程启动服务器,以请求传送启动所需的文件。

当远程启动服务器收到SEND.FILE.REQUESTFrame的要求后,会根据其远程启动数据库中的工作站记录查找对应的启动块,就是bootblock,将工作站所需的启动文件传送给工作站(就是启动所要的那个映像文件