首页 文章

如果服务器ID不能填写,客户端如何单播RENEW DHCP REQUEST?

提问于
浏览
2

当客户端试图更新它的租用时间时,如果根据RFC2131 4.3.2服务器id不得填充,它如何单播到服务器

“在RENEWING状态期间生成的DHCPREQUEST:'服务器标识符'不得填写,'请求的IP地址'选项不得填写,'ciaddr'必须填写客户端的IP地址 . 在这种情况下,客户端完全配置,并试图扩展其租约 . 此消息将是单播的,因此没有中继代理将参与其传输 . 因为'giaddr'因此未填写,DHCP服务器将信任'ciaddr'中的值,并使用它在回复客户时 .

客户可以选择在T1之前续订或延长其租约 . 服务器可以选择不扩展租约(作为网络管理员的策略决策),但无论如何都应返回DHCPACK消息 .

2 回答

  • 2

    siaddr ,"server identifier"字段位于DHCP消息内,该消息使用UDP发送出去,UDP在IP报头中有自己的目标IP地址字段,因此客户端将续订数据包单播到服务器的已知IP .

  • 1

    客户端可以通过单播发送续订DHCP请求消息,即使不能设置“服务器标识符”,因为“服务器标识符”不是发送数据包所必需的 . 使用单播发送数据包时,您只需指定目标IP地址,在这种情况下,DHCP服务器的IP地址和此信息客户端从初始化阶段就知道 .

    “服务器标识符”实际上是选项54,“DHCP选项54- DHCP服务器标识符”,用于在初始化阶段中多个DHCP服务器响应DHCP OFFER消息到DHCP DISCOPVER消息时选择DHCP服务器 . 这就是为什么必须在SELECTING阶段指定它,但它不是必需的,或者实际上不能在RENEWING和REBINDING阶段设置,因为客户端已经知道它选择了哪个DHCP服务器 .

    “服务器标识符”不是DHCP消息的“siaddr”字段 . “Siaddr”不是其中一个选项,而是在DHCP消息中填写的标准,仅由DHCP服务器填充 . “服务器标识符”和“siaddr”都具有DHCP服务器的IP地址的值,我相信这一事实使您认为它们用于发送DHCP消息 . 但是,在发送和转发数据包期间不使用它们,仅使用IP报头内部的目标IP地址 .

    “服务器标识符”和“siaddr”实际上用于查找DHCP服务器的IP地址,然后用于通过单播将DHCP请求消息直接发送到DHCP服务器 .

相关问题