admin 管理员组文章数量: 887021
2024年3月26日发(作者:xmld是什么文件)
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, UDP, TFTP, 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
系统。
¨ 远程客户端根据下载的文件启动机器。
版权声明:本文标题:PXE数据存储设备(象本地硬盘)和安装好的操作系统,通过网卡启动机器的 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1711427082h596067.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论