我正在学习网络,我们在课堂上讨论 DHCP。我知道当主机刚加入网络时,它还没有 IP,所以它会发送一个发现消息。
我们正在使用 wireshark 查看 DHCP 消息的输入和输出。有一件事我不明白,那就是为什么我的主机会向 255.255.255.255 广播。发生了什么?是什么促使我的 DHCP 服务器或在这种情况下我的路由器做出响应?
我希望有人可以向我解释这一点。
答案1
网络广播
网络接口卡通常被编程为监听三种类型的消息。它们是发送到其特定地址的消息、广播到所有 NIC 的消息以及符合特定卡的多播条件的消息。寻址有三种类型:
- 单播 – 向单个接口卡的传输。
- 多播 – 向网络上的一组接口卡进行传输。
- 广播 - 向网络上的所有接口卡进行传输。RFC 919 和 922 描述了 IP 广播数据报。
- 有限广播 - 发送到作为源 NIC 的某个网段上的所有 NIC。它以 255.255.255.255 TCP/IP 地址表示。此广播不由路由器转发,因此只会出现在一个网段上。
- 直接广播 - 发送给网络上的所有主机。路由器可以配置为在大型网络上转发定向广播。对于网络 192.168.0.0,广播为 192.168.255.255。\
DHCP 客户端通过向 UDP 端口 67 上的本地子网发出 DHCPDISCOVER 消息来启动 DHCP 进程。由于客户端不知道自己属于哪个子网,因此使用有限广播地址(目标地址 255.255.255.255)如果 DHCP 服务器位于不同的子网,则必须使用 DHCP 中继代理。
动态主机配置协议 (DHCP) 的工作原理
DHCP 的工作原理是在一段时间内将 IP 地址和 IP 信息出租给网络客户端。
为了完成租赁,需要进行以下谈判过程:
- 在启动过程中,配置为 DHCP 客户端的客户端计算机会发出一个名为“DHCP 发现”的广播数据包。此发现数据包包含客户端的计算机名称和媒体访问控制 (MAC) 地址,以便 DHCP 服务器可以对其做出响应。基本上,发现数据包表示“我正在寻找可以租用 IP 地址的 DHCP 服务器”。
- 网络上的 DHCP 服务器会用“DHCP 提议”来响应广播。本质上,“DHCP 提议”表示“我是 DHCP 服务器,我有一份租约给您”。如果有多个 DHCP 服务器响应该请求,则客户端会接受收到的第一个提议。
- 客户端通过广播消息(称为“DHCP 请求”)做出响应。此消息的基本含义是:“我接受您的租约提议并希望获得一个 IP 地址。”如果其他 DHCP 服务器也发出了提议,它们也会发现广播消息不接受其租约提议,因此它们会撤销其提议。
- 被接受的 DHCP 服务器将以“DHCP 确认”消息进行响应,该消息确认租约接受,并包含客户端的 IP 地址租约以及您配置服务器提供的其他 IP 地址信息。客户端现在是 TCP/IP 客户端,可以加入网络。
DCHP 租赁生命周期
DHCP 中使用动态地址分配意味着一种全新的 IP 地址思维方式。
- 客户端不再拥有 IP 地址,而是租用它。
- 这意味着当客户端计算机设置为使用 DHCP 动态寻址时,它永远不能假定它永久地具有 IP 地址。
- 每次启动时,它都必须与 DHCP 服务器进行通信以开始或确认 IP 地址的租用。
- 它还必须随着时间的推移执行其他活动来管理此租约并可能终止它。
通常,客户端可以保留其 IP 地址几天(或您配置的任何时间)。当租约时间的一半到期时,客户端会尝试续订其 IP 地址租约。客户端获得 IP 地址租约后,会尝试通过反复续订来保留租约。如果不成功,客户端只需获得新的 IP 地址租约即可。
DHCP 租约遵循“生命周期”,通常包含以下阶段:
- 分配:客户端开始时没有有效租约,因此没有 DHCP 分配的 IP 地址。它通过分配过程获取租约。
- 重新分配:如果客户端已从现有租约中获得了 IP 地址,则当客户端重新启动或关机后启动时,它将联系授予其租约的 DHCP 服务器以确认租约并获取操作参数。它类似于完整分配过程,但更短。
- 正常运行:租约生效后,客户端正常运行,在租约的“主要部分”期间使用其分配的 IP 地址和其他参数。客户端被称为与租约和地址绑定。
- 续订:在租约时间的一定部分到期后,客户端将尝试联系最初授予租约的服务器,以续订租约,以便可以继续使用其 IP 地址。
- 重新绑定:如果与原始租赁服务器的续订失败(例如,因为服务器已脱机),则客户端将尝试重新绑定到任何活动的 DHCP 服务器,并尝试与允许其这样做的任何服务器延长其当前租约。
- 释放:客户端可以随时决定不再使用分配给它的 IP 地址,并可以终止租约,释放 IP 地址。例如,如果设备移动到其他网络,则可以这样做。
下图以跨越三个租约的示例说明了 DHCP 生命周期:
- 初始租约期限为八天,从第 0 天开始。
- T1和T2定时器分别设置为4天和7天。
- 当 T1 计时器到期时,客户端进入续订期,并在第 5 天成功续订新的 8 天租约。
- 当第二个租约 T1 计时器到期时,客户端将无法与原始服务器续订。
- 当其 T2 计时器响起时,它将进入重新绑定期,并被授予与另一台服务器的 8 天续租期。
- 租赁三天后,它将被转移到不同的网络,不再需要租赁的 IP 地址,并自愿释放它。
进一步阅读