配备以太网网络接口卡(NIC)的某些HP打印机使用引导程序协议(BOOTP)获取IP地址和相关网络信息。BOOTP允许无盘客户机在引导时动态配置自身。这包括发现其自己的IP地址和引导信息。使用BOOTP,主机可以在网络上广播请求并从BOOTP服务器获取所需信息。BOOTP服务器分配的所有IP地址都是永久的。
默认情况下,路由器不转发任何广播,因此,如果BOOTP客户端的广播被Cisco路由器分隔,则它们不会到达BOOTP服务器。本文档提供了当BOOTP服务器和HP打印机或BOOTP客户端被路由器分隔时可能需要的特殊预防措施。
本文档没有任何特定的前提条件。
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您是在真实网络上操作,请确保您在使用任何命令前已经了解其潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
客户端广播BOOTP请求(MAC和IP)。如果思科路由器看到此情况,并配置了帮助地址,并且正在转发UDP端口67,它将执行以下操作:
路由器将接收广播的接口的IP地址放在“giaddr”字段(即网关IP地址)中。 这将是BOOTP服务器将发送BOOTP响应的地址。
路由器将此数据包作为IP单播转发到IP帮助地址。
BOOTP服务器获取数据包,在其表中查找客户端的MAC地址,并发送包含客户端的IP地址和引导文件信息的应答。
回复直接单播到思科路由器的IP地址(giaddr)。
当路由器收到BOOTP响应(UDP端口68)时,它从数据包的数据部分检索原始客户端的MAC地址和IP地址,并将数据包作为MAC和IP单播发送出任何直接连接到客户端IP子网的接口(除非客户端设置了“广播应答”位);在这种情况下,它是MAC级广播)。
某些协议分析器不了解网关的功能。指示涉及网关(路由器)的位会导致数据包在实际有效时被标记为无效数据包。
BOOTP服务器分配的IP地址可能不正确,尤其是当客户端已移动时。在这种情况下,它可能会从错误的接口发出,或者如果目标子网未直接连接到该路由器(最常见的问题),则会被丢弃。
只有遇到的第一个路由器充当网关。在网关和BOOTP服务器之间,数据包会正常路由。
RFC 1532中提到了其他几个选项
确保:
帮助地址设置为指向正确的BOOTP服务器。在接收客户端BOOTP广播的路由器接口上使用ip helper-address接口配置命令,将其转发到服务器。
BOOTP服务器分配有效的IP地址。
路由器正在帮助UDP 67(默认打开)。
debug udp 提供了有关路由器所执行操作的非常详细的信息。