PXE
PXE是PrebooteXecutionEnvironment的缩写(也有人解读为Pre-ExecutionEnvironment;有
时候大家都叫它“pixie”)PXE是一个独立于数据存储设备(象本地硬盘)和安装好的操作系统,
通过网卡启动机器的环境。
PXE是Intel在WiredforManagement(包括了PXE和WOLwake-on-lan)框架规格说明书中提
出来的标准(version2.1),IntelandSystemsoft在1999年9月20日发布了这个标准。它用到了几
个网络协议,包括IPv4,UDP,DHCP,TFTP,还用到了这些概念全球唯一标示(GUID),统一用户
标示(UUID)和统一网络接口,以及PXE客户端扩展的固件(通过PXE启动的电脑设备等)还有就是一
些预定义的API。
Chain
在客户端的固件首先尝试通过DHCP在网络中请求找到PXE重定向服务,以便接受到PXE启动服务器
的信息。客户端固件从PXE重定向服务中获取到启动服务器上的网络启动辅助程序NBP,并通过TFTP
把它下载到机器的内存中,校验通过后最终执行程序。如果所有的PXE客户端都用同一个NBP,它
可以通过BOOTP指定位置,就可以把DHCP给省了,不过TFTP启动服务器还是要的。
[edit]
Availability
PXE从设计之初就是考虑支持多种系统架构的。The2.1version支持包括IA-64andDECAlpha.
在内的6种系统架构。虽然这个标准只是在IA-32上达到完全覆盖.Intel已经在IA-64的EFI带上
PXE,变成一个既成事实的标准。
[edit]
Protocol
PXE大体上看是DHCPandTFTP的整合,虽然对他们两个做了一些小小的改动.DHCP是被用来定位
启动服务器的位置,而TFTP是用来瞎子啊初始化的NBP包括一些附带的文件。
初始化一个PXE启动会话thePXEfirmware广播一个附带由PXE规格配置的DHCPDISCOVER扩
展包到67/UDP端口(DHCPrverport).PXE能够设置辨识固件,不过它们对标准的DHCP服务器
无效。
[edit]
ProxyDHCP
如果PXE重定向服务(ProxyDHCP)获取到一个DHCPDISCOVER扩展包,就会应答一个
DHCPOFFER扩展包给客户端的68/UDP端口(DHCPclientport).
AnextendedDHCPOFFERcontainsmainly:
▪PXE发现控制的字段包含找到PXE启动设备的推荐使用的方式multicasting,broadcasting,or
unicasting
▪一个当前可用的PXE启动服务的IP列表
▪一个PXE启动菜单列出对应的PXE启动服务器类型
▪一个PXE启动提示告诉用户选择指定的启动项
▪开始第一个启动菜单如果选择超时会有一个超时机制
代理DHCP服务也可以和标准的DHCP服务运行在同一个主机上。当然这两个服务不同同时使用
67/UDP端口,代理DHCP是运行在4011/UDP端口上,而且会认为从PXE客户端返回的
DHCPDISCOVER包是一个DHCPREQUESTs包.标准的DHCP不会发一个包含有PXE设置的
DHCPOFFER包,所以它们之间不会冲突。
[edit]
Bootrvercontact
要连上PXEBootServer启动的系统必须要有一个IP地址(可以是从DHCP获取).
它多次广播包含有PXE特定设置的DHCPREQUEST包(extendedDHCPREQUEST)到4011/UDP
端口或者67/UDP.这个数据包包含有PXE启动服务器的类型信息和PXEBootLayer信息。一个
daemon可以运行多种启动服务器类型。扩展的DHCPREQUEST包可能是DHCPINFORM类型的.
PXEBootServer收到一个扩展的DHCPREQUEST对应特定的请求类型包DHCPACK包含有以下
的信息:
▪一个可以通过TFTP下载到NBP的全路径
▪PXEBootServer类型还有应答给对方的PXEBootLayer信息
▪在组播的TFTP配置中,如果MTFTP已经在PXE的规格中指定就必须使用.
启动的服务器端只接受一个DHCPOFFER包.
2.1版的PXEBootServer支持”BootIntegrityServices”([2])运行客户端通过下载NBP同级目
录的下校验码文件来校验下载的NBPs.
去获取这个凭证文件必须支持扩展DHCPREQUEST到扩展DHCPACK包之间的转换。
[edit]
Networkbootstrapprogram
当获取到一个DHCPACK的扩展包,theNetworkBootstrapProgram就会被加载到RAM然后
被校验,校验如果没有设置就会略过,然后NBP就会被执行.它就会访问PXE固件扩展的API(Pre-
boot,UDP,TFTP,UniversalNetworkDeviceInterface(UNDI)).它的一些功能和任务在PXE规格
并没有被提及.
[edit]
Integration
ThePXEClient/ServerProtocolwasdesignedso:
▪它可以被用在一个存在DHCP环境的网络而不被干扰
▪它也可以被完全集成到DHCP标准服务中
▪可以非常容易的扩展组合,所有的服务(DHP,ProxyDHCP,BootServer)都可以单独运作,也可
以整合在一起运行。
另外PXE固件扩展在IA-32BIOS被设计成一个可选的ROM,所以你可以让你的PC兼容PXE只需
要装一个支持PXE的网卡.现在在AMD64上一样支持。设计的目的是利用现有的DHCPandTFTP
无法严格的遵照规范.在一些方面PXE协议要求DHCP/TFTP服务器做一些通讯方面的修改,其中一
个特殊的例子就是使用组播,DHCP提供组播的组信息而不是又go额开放的rRFC-2090组播TFTP
转换.尽量避免对常用PXE客户端实现影响操作与隔离DHCP和单播TFTP服务器。
[edit]
PXE是RPL的升级品,它是PrebootExecutionEnvironment的缩写。它们的不同之处在于RPL是静
态路由,而PXE是动态路由。其通信协议采用TCP/IP,与Internet连接高效而可靠,PXE无盘工作站
的启动过程分析如下:
¨客户端个人电脑开机后,在TCP/IPBootrom获得控制权之前先做自我测试。
¨Bootprom送出BOOTP/DHCP要求以取得IP。
¨如果服务器收到个人电脑所送出的要求,就会送回BOOTP/DHCP回应,内容包括
客户端的IP地址,预设网关,及开机影像文件。否则,服务器会忽略这个要求。
¨Bootprom由TFTP通讯协议从服务器下载开机影像文件。
¨个人电脑通过这个开机影像文件开机,这个开机文件可以只是单纯的开机程式也可
以是操作系统。
¨开机影像文件将包含kernelloader及压缩过的kernel,此kernel将支持NTFSroot
系统。
¨远程客户端根据下载的文件启动机器。
本文发布于:2022-12-31 10:16:04,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/64827.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |