PXE 服务器工作原理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xy010902100449/article/details/46883457

1、工作原理

启动预启动执行环境 (PXE) 启动后,PXE ROM 请求 IP 地址从动态主机配置协议 (DHCP) 服务器,使用普通的 DHCP 发现过程。 作为初始 DHCP 发现请求的一部分,客户端计算机将自身标识为启用 PXE 的指示 PXE 客户端需要提供服务的服务器。 客户端从 DHCP 服务器获得有效的 IP 地址之后,客户端将尝试查找并与下载网络启动程序 (NBP) 的 PXE 服务器建立连接。

默认情况下 Windows 部署服务 PXE 服务器不需要授权服务的客户端计算机。 但是,您可以启用 DHCP 授权,也被称作是无管理系统检测。 启用授权检查和 PXE 服务器被配置为侦听端口 67 时,才发生授权检查。 这意味着授权检查进行仅在没有 DHCP 的计算机运行的 Windows 部署服务的方案中。 如果在同一台物理计算机上运行的 Windows 部署服务和 DHCP,这意味着在 DHCP 服务器正在侦听端口 67 和负责确保授权。

Windows 部署服务将检查授权后,轮询机制运行以确保授权状态已不更改每隔一小时。 可以通过使用注册表设置的轮询周期修改值 (请参阅部分中的 DHCP 授权 Windows 部署服务注册表项 主题)。 或者,您可以重新启动 PXE 服务器立即拾取改为授权设置。 如果 PXE 服务器就会被视为未经授权,它不会进行应答客户端请求。

2、PXE 服务器和提供程序的交互方式

这里写图片描述

3、TFTP Windows 部署服务中的工作方式

普通文件传输协议 (TFTP) 是用于在网络启动,包括启动映像的过程中下载所有文件的网络协议。 TFTP 是一个缓慢的协议,因为它需要一个 ACK (确认) 数据包对于每个发送的数据块。 服务器将不会发送下一个块序列中直到收到 ACK 数据包以前一个块。 因此,在较慢的网络上的往返时间可能会很长。 但是,这改进了 Windows Server 2008 中由于的 TFTP x11 窗口。 TFTP x11 窗口使您能够定义多少填满一个窗口所需的数据块。 数据块是发回至回,直到填充窗口,然后发送 ACK 数据包。 其结果是更少的 ACK 数据包和更快的下载时间,为该客户端。

使用 BCDEdit 命令行工具,可以更改 TFTP 数据块的大小和 TFTP 窗口大小以优化您的环境中的性能。 有关说明,请参阅如何修改 BCD 存储区使用 Bcdedit ( http://go.microsoft.com/fwlink/?LinkId = 115267 ).
尽管 TFTP 块大小配置将使 TFTP 下载速度更快,需要注意的两项内容:
TFTP 实现在操作系统加载程序 (Bootmgr.exe),但发送和接收功能与用户数据协议 (UDP) 在 BIOS 中实现。 BIOS 缓冲构成单个 TFTP 块的网络数据包。 如果使 TFTP 数据块的大小太大,BIOS 所使用的缓冲区将填满,被覆盖,从而导致无法下载。 内存缓冲区行为是唯一的 BIOS 制造商,并且您不能通过使用 Bootmgr.exe 来调整它。 因此,结果可能会极大地根据有所不同的品牌和型号的计算机。 遗憾的是,没有办法来计算的块大小上限试错法以外的特定计算机。

已配置的数据块的大小将应用于所有客户端。 您可以设置此值为网络上的所有客户端都支持块大小达到最高。 请注意客户端无法回退到默认块大小是否已配置的数据块的大小太大。

4、PXE 搭建

PXE服务器就是DHCP服务器+TFTP服务器。网络启动过程大概是这样的(可能并不严谨):客户端发送动态获得IP地址的广播包到网络上,DHCP服务器在收到该广播包后,发送给客户端分配IP地址的回应包,客户端收到回应包后设置自己的IP地址,然后从DHCP服务器获得启动服务器的IP地址(DHCP服务器066选项,这就是TFTP服务器的IP地址)及启动文件名(DHCP服务器067选项,这里的启动文件名就是pxelinux.0或者支持pxe的grub4dos的grldr,当然,也可以是startrom.n12或者使用3com Image Edit创建的pxe启动菜单文件,总之,它应该是一种由pxe启动规范规定的固定格式的可执行文件),然后客户端到联系启动服务器(TFTP服务器)获得启动文件并执行,这样基本上就完成了pxe启动过程。

 在Unix或者Linux系统下,DHCP服务器和TFTP服务器一般都是分开设置的,两台服务器甚至可以在两台不同的机器上,其实Windows下的设置也是一样的,但在Windows下,我们可以通过使用HaneWin DHCP服务器软件或TFTPD32一个软件就搞定(我个人推荐使用HaneWin DHCP服务器软件,但TFTPD32设置起来更简单一些,就是效率有些低),详细的设置方法请自己摸索,你只要知道,在设置PXE服务器时,要设置好DHCP和TFTP两个服务器,其中DHCP服务器要设置启动服务器名(066选项)和启动文件名(067选项)。

展开阅读全文

没有更多推荐了,返回首页