Cisco Network Registrar动态主机配置协议(CNR - DHCP)服务器在头端重新启动时可能会被请求淹没,例如在电源故障和恢复后。这些更改使DHCP服务器能够更快、更高效地为请求提供服务。
在本例中,max-dhcp-requests更改为50。值50可能不是最佳值。例如,如果系统的CPU低,则值50可能高。没有计算最佳值的数学公式。使用50查看这是否对系统有益,并从那里进行调整。
读者应基本了解uBR系列路由器上的DOCSIS协议和Cisco IOS命令行。
本文档中的硬件使用来自Cisco uBR7200、uBR7100或uBR10k CMTS和符合DOCSIS的电缆调制解调器。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
对DHCP配置进行以下更改:
nrcmd> dhcp set max-dhcp-requests=50
保存此配置更改:
nrcmd> save
使用以下命令重新启动服务器:
nrcmd> dhcp reload
注意:除此特定参数外,请谨慎调整字段中的服务器参数。请参阅DHCP。
在大多数环境中,将max-dhcp-requests值从500减到50是帮助服务器响应长期DHCP消息突发(如同时重启多个uBR)的最佳方法。
当头端重新启动时,服务器可能会被请求淹没。如果降低max-dhcp-requests的值,则可以防止服务器在其接收队列中存储过多消息,尤其是过时的DHCP消息。如果服务器在接收队列中保留的消息太多,则处理过时的DHCP消息(某些客户端丢弃并重试)的时间比处理最近的DHCP消息(所有客户端都会接受)的时间要多。 最佳值取决于:
服务器硬件
CPU
磁盘速度
网络特性
参数max-dhcp-requests控制DHCP服务器为保留传入请求而分配的缓冲区数。在头端重新启动后,所有已分配的缓冲区都会快速填满。缓冲区填充后,DHCP服务器会丢弃其他请求,仅在处理请求并释放缓冲区时接受新请求。服务器会快速响应到达的前几个请求。下一个保留在缓冲区队列中几秒。当DHCP服务器处理并响应时,发送请求的客户端已超时。因此,DHCP服务器的资源被浪费。
客户端超时后,会重试,但DHCP服务器的传入缓冲区队列会快速填满。如果设置缓冲区数,使得在队列中工作并到达请求需要超过四秒的客户端超时时间,则对请求的响应太迟。当队列已满时,请重试请求已丢弃的客户端。