微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PXE

《PXE》要点:
本文介绍了PXE,希望对您有用。如果有疑问,可以联系我们。

PXE是 Preboot eXecution Environment 的缩写 (也有人解读为 Pre-Execution Environment; 有时候大家都叫它 “pixie”) PXE是一个独立于数据存储设备(象本地硬盘)和安装好的操作系统,通过网卡启动机器的环境.

PXE 是Intel在 Wired for Management (包括了PXE和WOL wake-on-lan)框架规格说明书中提出来的标准 (version 2.1),Intel and Systemsoft 在 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 从设计之初就是考虑支持多种系统架构的.The 2.1 version 支持包括 IA-64 and DEC Alpha.在内的6种系统架构. 虽然这个标准只是在 IA-32 上达到完全覆盖. Intel 已经在 IA-64的 EFI 带上PXE,变成一个既成事实的标准.
[edit]
Protocol
PXE大体上看是 DHCP and TFTP的整合,虽然对他们两个做了一些小小的改动. DHCP是被用来定位启动服务器的位置,而 TFTP 是用来瞎子啊初始化的NBP包括一些附带的文件.
初始化一个 PXE 启动会话 the PXE firmware广播一个附带由PXE规格配置的 DHCPdisCOVER 扩展包到 67/UDP 端口(DHCP server port). PXE能够设置辨识固件,不过它们对标准的DHCP服务器无效.
[edit]
Proxy DHCP
如果 PXE 重定向服务 (Proxy DHCP) 获取一个 DHCPdisCOVER扩展包,就会应答一个 DHCPOFFER 扩展包给客户端的 68/UDP端口 (DHCP client port).
An extended DHCPOFFER contains mainly:
▪ 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]
Boot server contact
要连上 PXE Boot Server启动的系统必须要有一个IP地址(可以是从DHCP 获取).
它多次广播 包含有PXE 特定设置的DHCPREQUEST包 (extended DHCPREQUEST) 到 4011/UDP 端口或者 67/UDP. 这个数据包包含有PXE启动服务器的类型信息和PXE Boot Layer信息.一个daemon可以运行多种启动服务器类型.扩展的 DHCPREQUEST 包可能是 DHCPINFORM类型的. PXE Boot Server收到一个扩展的 DHCPREQUEST 对应特定的请求类型包 DHCPACK 包含有以下的信息:
一个可以通过TFTP下载到 NBP的全路径
▪ PXE Boot Server类型还有应答给对方的PXE Boot Layer信息
▪ 在组播的TFTP 配置中,如果MTFTP 已经在 PXE 的规格中指定就必须使用.
启动的服务器端只接受一个DHCPOFFER包.
2.1 版的 PXE Boot Server支持”Boot Integrity Services” ([2]) 运行客户端通过下载 NBP同级目录的下校验码文件来校验下载的 NBPs.
获取这个凭证文件必须支持扩展DHCPREQUEST到扩展 DHCPACK包之间的转换.
[edit]
Network bootstrap program
获取一个 DHCPACK的扩展包,the Network Bootstrap Program 就会被加载到 RAM 然后被校验,校验如果没有设置就会略过,然后NBP就会被执行. 它就会访问 PXE固件扩展的API(Pre-boot,Universal Network Device Interface (UNDI)). 它的一些功能和任务在PXE 规格并没有被提及.
[edit]
Integration
The PXE Client/Server Protocol was designed so:
▪ 它可以被用在一个存在DHCP环境的网络而不被干扰
▪ 它也可以被完全集成到DHCP标准服务中
▪ 可以非常容易的扩展组合,所有的服务(DHP,Proxy DHCP,Boot Server)都可以单独运作,也可以整合在一起运行.

另外 PXE 固件扩展在IA-32 BIOS 被设计成一个可选的 ROM,所以你可以让你的PC兼容 PXE 只需要装一个支持PXE的网卡. 现在在AMD64上一样支持.设计的目的是利用现有的 DHCP and TFTP 无法严格的遵照规范. 在一些方面PXE协议要求DHCP/TFTP服务器做一些通讯方面的修改,其中一个特殊的例子就是使用组播,DHCP 提供组播的组信息 而不是又go额开放的rRFC-2090组播 TFTP 转换. 尽量避免对常用 PXE 客户端实现影响操作与隔离DHCP和单播TFTP服务器.
[edit]

PXE是RPL的升级品,它是Preboot Execution Environment的缩写.它们的不同之处在于RPL是静态路由,而PXE是动态路由.其通信协议采用TCP/IP,与Internet连接高效而可靠,PXE无盘工作站的启动过程分析如下:
  ¨ 客户端个人电脑开机后,在 TCP/IP Bootrom 获得控制权之前先做自我测试.
  ¨ Bootprom 送出 BOOTP/DHCP 要求以取得 IP.
  ¨ 如果服务器收到个人电脑所送出的要求,就会送回 BOOTP/DHCP 回应,内容包括
  客户端的 IP 地址,预设网关,及开机影像文件.否则,服务器会忽略这个要求.
  ¨ Bootprom 由 TFTP 通讯协议从服务器下载开机影像文件.
  ¨ 个人电脑通过这个开机影像文件开机,这个开机文件可以只是单纯的开机程式也可
  以是操作系统.
  ¨ 开机影像文件将包含 kernel loader 及压缩过的 kernel,此 kernel 将支持NTFS root
  系统.
  ¨ 远程客户端根据下载的文件启动机器.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐