延迟 DHCP 提供和通告响应以平衡负载 DHCP 服务器
通过延迟对客户端的响应来平衡 DHCP 本地服务器负载
在具有多个 DHCP 本地服务器和大量 DHCP 客户端的网络环境中,您可能希望通过允许某些本地服务器响应特定客户端,同时防止其他本地服务器立即响应这些客户端来平衡流量负载。从 Junos OS 16.1R1 版开始,您可以在 DHCP 本地服务器上配置特定于客户端的响应延迟。当 DHCPv4 客户端向服务器网络发送发现消息或 DHCPv6 客户端向请求消息时,网络上所有对应的(同一家族)DHCP 服务器同时接收请求,但配置了延迟的服务器在延迟计时器到期之前不会响应客户端。
当延迟计时器到期时,本地服务器向客户端发送报价或播发消息。如果客户端已经绑定,则意味着另一台服务器(没有延迟或延迟较短的服务器)向客户端发送要约或通告消息。在这种情况下,配置了延迟的服务器将释放客户端。
但是,如果客户端未收到来自任何服务器的响应,则会发送第二个发现或请求消息。如果配置的服务器在原始延迟超时之前收到来自客户端的第二条消息,则会立即向客户端发送响应。此行为使配置的服务器能够充当用于处理客户端的服务器的冗余服务器或备份服务器。
表 1 列出了可用于识别响应延迟的 DHCP 客户端的特征,以及您在配置中指定的相应 DHCPv4 和 DHCPv6 选项。
客户端特征 |
DHCPv4 |
DHCPv6 |
|---|---|---|
代理电路 ID — 一个字符串,用于标识客户端与 DHCP 中继代理之间的本地电路,可唯一标识特定客户端。 |
选项 82,子选项 1 |
选项 18 |
代理远程 ID — 根据客户端特征(例如呼叫方 ID 或用户名)唯一标识客户端的字符串。 |
选项 82,子选项 2 |
选项 37 |
用户类标识符 — 表示客户端所属的类或组的字符串。例如,不同的用户类可以标识营销组与会计组。 |
选项 77 |
选项 15 |
供应商类标识符 — 运行客户端的设备供应商的 IANA 注册企业编号。 |
选项 60 |
选项 16 |
延迟 DHCP 本地服务器响应的好处
使某些客户端更可由其他服务器提供服务,从而在多个 DHCP 服务器之间分配负载。
通过允许服务器在首选服务器不响应的情况下响应来启用服务器之间的冗余。
配置本地服务器对 DHCP 发现和请求消息的响应延迟
您可以配置 DHCPv4 或 DHCPv6 本地服务器,以分别延迟响应来自客户端的发现消息和请求消息。只有当延迟计时器到期时,服务器才会响应客户端。您可以在全局、组和接口级别配置延迟。要确定向哪些客户端发送延迟响应,请将服务器配置为识别客户端消息中接收的特定十六进制或 ASCII 字符串。本地服务器会将配置的字符串与客户端消息中收到的 DHCP 选项值进行比较,并根据收到的值是否与配置的值匹配、不匹配或以配置的值开头而延迟响应。
要配置对从 DHCPv4 客户端收到的要约消息的延迟响应:
要配置对从 DHCPv6 客户端收到的播发消息的延迟响应:
指定 DHCPv6 本地服务器在响应客户端之前的延迟时间。
[edit system services dhcp-local-server dhcpv6 overrides] user@host# set delay-advertise delay-time seconds
指定在 DHCPv6 播发消息中收到的选项,用于标识要接收延迟响应的客户端。
[edit system services dhcp-local-server dhcpv6 overrides] user@host# edit delay-advertise based-on (option-15 | option-16 | option-18 | option-37)
指定如何匹配收到的选项。
当收到的 ASCII 或十六进制字符串与配置的字符串完全相同时匹配。
[edit system services dhcp-local-server dhcpv6 overrides based-on (option-15 | option-16 | option-18 | option-37)] user@host# set equals ascii ascii-string user@host# set equals hexadecimal hexadecimal-string
当收到的 ASCII 或十六进制字符串与配置的字符串不完全相同时进行匹配。
[edit system services dhcp-local-server dhcpv6 overrides based-on (option-15 | option-16 | option-18 | option-37)] user@host# set not-equals ascii ascii-string user@host# set not-equals hexadecimal hexadecimal-string
当收到的 ASCII 或十六进制字符串以配置的字符串开头时匹配。
[edit system services dhcp-local-server dhcpv6 overrides based-on (option-15 | option-16 | option-18 | option-37)] user@host# set starts-with ascii ascii-string user@host# set starts-with hexadecimal hexadecimal-string
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。