如果我有一个 DHCP 服务器,如上面的网络图所示,位于 fa0/1 的广播域上,并且我创建了三个范围,例如:
name: "scope_fa01"
range: from 192.168.1.1 to 192.168.1.100
gateway: 192.168.1.254
name: "scope_fa02"
range: from 192.168.2.1 to 192.168.2.100
gateway: 192.168.2.254
name: "scope_fa03"
range: from 192.168.3.1 to 192.168.3.100
gateway: 192.168.3.254
DHCP 服务器如何知道哪个路由器接口(fa0/1、fa0/2、fa0/3)是哪个网关以及属于哪个范围?我是否必须先为每个路由器静态分配 IP 地址?
答案1
后面的 PCfa0/1
将在其所属的子网上发送 DHCPDISCOVER 广播,以发现 DHCP 服务器。为了使DHCP 服务器fa0/2
能够fa0/3
访问 DHCP 服务器,必须配置 DHCP 中继代理。
在仅管理一个 IP 子网的小型网络中,DHCP 客户端直接与 DHCP 服务器通信。但是,DHCP 服务器也可以为多个子网提供 IP 地址。在这种情况下,尚未获取 IP 地址的 DHCP 客户端无法使用 IP 路由直接与 DHCP 服务器通信,因为它没有可路由的 IP 地址,不知道路由器的链路层地址,也不知道 DHCP 服务器的 IP 地址。
为了允许 DHCP 服务器不直接提供服务的子网上的 DHCP 客户端与 DHCP 服务器通信,可以在这些子网上安装 DHCP 中继代理。DHCP 客户端在本地链路上广播;中继代理接收广播并使用单播将其传输到一个或多个 DHCP 服务器。中继代理将其自己的 IP 地址存储在 DHCP 数据包的 GIADDR 字段中。DHCP 服务器使用 GIADDR 值来确定中继代理接收广播的子网,并在该子网上分配 IP 地址。当 DHCP 服务器回复客户端时,它会再次使用单播将回复发送到 GIADDR 地址。然后,中继代理在本地网络上重新传输响应。
在这种情况下,中继代理和 DHCP 服务器之间的通信通常使用源 UDP 端口和目标 UDP 端口 67。来源
答案2
我研究这些事情已经有一段时间了,但从您的图表来看,您的 DHCP 服务器只会通过交换机向其自己的域发送信息,或者向一个路由器接口 fa0/1 发送信息,不需要知道除此之外的信息。就像如果任何计算机想要向网络上的任何其他计算机发送信息,它可以并且不需要知道除了它自己连接的路由器接口之外的任何路由器接口。