DHCP服务器标识符和DHCP中继

我有一个DHCP服务器通过DHCP中继服务多个子网。 当它发送DHCP提供时,它将服务器标识符(选项54)设置为它自己的IP地址。

当客户需要更新时,他们尝试单播到该IP地址,这些IP地址都不能路由到。

当使用中继时,如何单播到DHCP服务器应该工作? 在更新状态期间客户端的预期行为是否无法通过单播进行更新,然后在时间T2之后的REBINDING状态期间是否通过广播进行更新?

是的,一点没错。

客户端无法将单播路由到他们的DHCP服务器有点奇怪,但这不是问题; 他们只会在租赁期内稍后续约(这会让您在DHCP服务器上的停机时间稍微缩短一些)。

通过从DHCP客户端到DHCP服务器的单播消息来促进续租(在T1阶段)。 为什么来自客户子网的单播stream量不能路由到服务器子网? 如果来自客户端子网的DHCPDiscover消息未被路由(中继)到服务器子网,原始广播如何中继到服务器子网? 如果没有stream量在子网之间路由,那么客户如何获得一个IP地址呢?

在一天结束时,来自DHCP客户子网的stream量通过路由器(通过在原始DHCPDiscover阶段期间和随后在T2阶段期间来自DHCP中继代理的单播消息的方式)和/或经由直接来自单播在T1更新阶段的DHCP客户端。

如您所述,如果客户端到达T2阶段,则它将提交一个广播更新请求,DHCP中继代理应该将其中继(单播)给DHCP服务器。

编辑

这是一个理论问题还是你真的有这个问题?

编辑2

换个angular度看我的答案:当客户端在T1阶段发起续租请求时,续约请求是直接从客户端到服务器的单播消息(单播是直接的一对一通信),所以DHCP中继代理根本不应该参与。 如果客户端达到T2更新阶段,那么更新请求通过广播消息发送,并且应该由DHCP中继代理(实际上是来自DHCP中继代理的单播消息)中继。

如果T1阶段单播消息没有从客户端子网路由到服务器子网,则这是路由/networking问题,而不是DHCP问题。

好吧看来我不能评论以前的答案,但只是垃圾邮件给你一个额外的答案。

我认为这不完全是一个路由问题。 看下面这个非常基本的例子来理解:

  1. 我在第2层和第3层都发送了DISCOVER广播,
  2. 我也收到“双”广播的提议,
  3. 我再次发送了“双倍”广播的请求(以通知可能的辅助DHCP服务器,我放弃了他们的报价)
  4. 服务器的ACK是广播或单播的。

=>我在哪里需要知道服务器的MAC地址? 无处。 我不能确定我收到的数据包的源MAC,不pipe是广播还是单播,都是服务器的MAC。 无论如何,T1超过arpcaching超时的可能性很大。

  1. T1到期。 我想续约。 我应该发送一个L3单播消息到DCHP服务器(siaddr)。 说我没有问选项3.我将select什么目标MAC?

通常我会ARP的siaddr。 如果单播服务器IP不在我的链路上呢? 那么我最终会放弃请求和任何连续的重试,直到我进入REBINDING状态。

这里没有真正的路由错误。 这是一个拓扑问题,我甚至无法实施一个解决scheme,我会将续订发送到'giaddr'IP,因为这违反了标准。