延迟 DHCP 向负载平衡 DHCP 服务器提供和播发响应
通过延迟对客户端的响应来平衡 DHCP 本地服务器的负载
在具有多个 DHCP 本地服务器和多个 DHCP 客户端的网络环境中,您可能希望通过允许某些本地服务器响应特定客户端,同时阻止其他本地服务器立即响应这些客户端来对流量进行负载均衡。从 Junos OS 16.1R1 版开始,您可以在 DHCP 本地服务器上配置特定于客户端的响应延迟。当 DHCPv4 客户端向服务器网络发送发现消息或 DHCPv6 客户端向服务器网络发送请求消息时,网络上所有对应的(同家族)DHCP 服务器会同时接收请求,但配置了延迟的服务器在延迟计时器到期之前不会响应客户端。
当延迟计时器过期时,本地服务器会向客户端发送产品/服务或播发消息。如果客户端已绑定,则意味着另一个服务器(没有延迟或延迟较短的服务器)通过向客户端提供或播发消息进行响应。在这种情况下,配置了延迟的服务器将释放客户端。
但是,如果客户端未收到来自任何服务器的响应,它将发送第二条发现或请求消息。如果配置的服务器在原始延迟超时之前从客户端收到第二条消息,则会立即向客户端发送响应。此行为使配置的服务器能够充当用于处理客户端的服务器的冗余服务器或备份服务器。
表 1 列出了可用于识别响应延迟的 DHCP 客户端的特征,以及您在配置中指定的相应 DHCPv4 和 DHCPv6 选项。
客户端特征 |
DHCPv4 |
DHCPv6 |
---|---|---|
代理电路 ID — 一个字符串,用于标识客户端和 DHCP 中继代理之间的本地电路,用于唯一标识特定客户端。 |
Option 82, 子选项 1 |
选项 18 |
代理远程 ID — 一个字符串,根据客户端的特征(如呼叫方 ID 或用户名)唯一标识客户端。 |
Option 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
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。