美文网首页
DHCP 协议

DHCP 协议

作者: 追风骚年 | 来源:发表于2023-03-15 11:03 被阅读0次

    这里不想具体讨论的协议字段,看到其中的几个点还蛮有趣,特此记录。

    DHCP 是基于 udp 协议,DHCP server 使用的是 67 端口,DHCP client 使用的是 68 端口,协议具体会有 4 个交互步骤。

    1. 新设备加入网络中,client 会向 255.255.255.255 广播一个 DHCPDISCOVER 的报文。
    2. 网络内的 server 会向 255.255.255.255 广播一个 DHCPOFFER 的报文
    3. client 会再次向 255.255.255.255 广播一个 DHCPREQUEST 报文
    4. server 会回复一个 255.255.255.255 广播一个 DHCPACK 报文

    问题一:
    为什么需要两次交互,在第一次 DHCPOFFER 的报文的时候就已经发送了合适的 ip 地址给到客户端?

    答:DHCP 协议在一开始就考虑到网络内存在多台 server ,每个 server 可能都会提供一个合适的 ip 地址,其实 DHCPREQUEST 就是告诉全网 client 现在已经选择一个 ip 地址了,被选择的 server 会发送DHCPACK,而没有被选择到的 server 会回收发出去的 ip。

    问题二:
    为什么 DHCPREQUEST 依然使用广播,其实他已经有一个 ip 了?
    其实这个和上面解释差不多,因为 client 需要通知所有 server 。

    问题三:
    整个交互过程中,没有用到 ip,那到底是如何标志客户端唯一 ?
    每个包发出的时候会携带它的网卡 id,网卡是唯一的。

    问题四:
    DHCPACK 还依然使用广播,不使用 client ip?
    因为这时候 client 还没有确定使用这个 ip,只有等这个包到达的时候才会使用这个 ip 地址。

    参考文档

    相关文章

      网友评论

          本文标题:DHCP 协议

          本文链接:https://www.haomeiwen.com/subject/kpjlrdtx.html