找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

638

积分

0

好友

82

主题
发表于 4 小时前 | 查看: 1| 回复: 0

上网必须得有IP地址,就像我们出门必须携带身份证一样。但IP地址并非计算机与生俱来的属性。当你购买一台全新的笔记本电脑时,它本身并没有IP。

那么,为什么这台新电脑在有免费WiFi的地方就能直接上网呢?答案就在于DHCP(动态主机配置协议)。新接入网络的主机会主动与局域网内的DHCP服务通信,从而获取属于自己的网络身份。

一、应用层协议

DHCP是“Dynamic Host Configuration Protocol”的缩写,意为“动态主机配置协议”。它是一个工作在应用层协议的网络协议。

二、C/S模式

我们常说的“自动获取IP地址”选项,其本质就是DHCP的客户端。当你勾选此选项后,客户端便会主动寻找并连接当前局域网内的DHCP服务器。

Windows系统中通过DHCP自动获取IP地址的设置界面

在家庭或小型办公环境中,DHCP服务器的角色通常由无线路由器来扮演。

三、广播通信

对于刚接入网络的主机来说,它根本不知道DHCP服务器在哪里。因此,它会使用广播的形式来发送请求。

  • 此时广播的目的IP地址是 255.255.255.255,表示局域网内的所有设备都能接收。
  • 源IP地址则是 0.0.0.0,表明发送该广播的主机还没有获得任何IP地址。

四、第一次握手:DHCP Discover

新主机会通过UDP协议,向67号端口广播一个名为 “DHCP Discover” 的报文,即“发现报文”。这可以看作是客户端与服务器的第一次握手,意在询问:“网络里有DHCP服务器吗?我需要一个IP地址。”

DHCP第一次握手:客户端发送DHCP Discover广播

五、第二次握手:DHCP Offer

局域网内的DHCP服务器收到“发现报文”后,会从自己管理的IP地址池中,挑选一个未被占用的地址准备分配给新主机。

由于新主机尚无IP,服务器的这次回应同样采用广播方式。这个回应的报文称为 “DHCP Offer”(提供报文),即第二次握手,它告诉客户端:“我这儿有一个IP地址,你可以用。”

DHCP第二次握手:服务器回应DHCP Offer广播

六、第三次握手:DHCP Request

新主机收到“提供报文”后,如果决定接受这个IP地址,便会发送第三个广播报文进行确认。这个报文叫做 “DHCP Request”(请求报文),即第三次握手。

你可能会问,既然客户端已经知道了服务器的地址,这次为什么还要广播呢?这是因为一个网络内可能存在多个DHCP服务器(例如,为了冗余备份)。当一个IP地址被使用时,需要通知到所有服务器,以便它们同步地址分配状态,避免冲突。因此,第三次握手依然是广播。

DHCP第三次握手:客户端发送DHCP Request广播确认地址

七、第四次握手:DHCP ACK

最后,被选中的那台DHCP服务器会向新主机发送一个 “DHCP ACK” 报文进行最终确认。收到这个确认报文后,新主机便可以正式启用刚刚获取到的IP地址了。这最后一次交互就是第四次握手。

DHCP第四次握手:服务器发送DHCP ACK完成地址分配

八、结语

由此可见,并非只有传输层的TCP协议才有“握手”过程,应用层的DHCP协议同样拥有自己清晰的四次握手流程,以完成IP地址的自动分配。

此外,DHCP服务器提供的不仅仅是IP地址,通常还包括默认网关地址、子网掩码以及本地DNS服务器的地址,这些信息共同构成了主机接入网络所需的完整配置。这整个过程高效而自动化,让我们的网络连接变得如此简单便捷。如果你想了解更多网络底层原理或交流技术心得,欢迎来云栈社区一起探讨。




上一篇:AI智能体兴起推动CPU需求增长,解析域外CPU的新增量市场
下一篇:AI全流程主导恶意软件开发:首曝VoidLink框架结构与技术影响
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-24 21:42 , Processed in 0.371578 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表