
计算机网络 动态主机配置协议 DHCP——详记
发布日期:2021-05-10 03:17:59
浏览次数:13
分类:精选文章
本文共 2054 字,大约阅读时间需要 6 分钟。
- 在协议软件中,给协议参数赋值的动作叫做协议配置。
- 一个协议软件在使用之前必须是已正确配置的。
- 连接到互联网的计算机的协议软件需要配置的参数包括:
- IP 地址
- 子网掩码
- 默认路由器的 IP 地址
- 域名服务器的 IP 地址
协议配置
- 在协议软件中给这些参数赋值的动作叫做协议配置。
- 一个软件协议在使用之前必须是已正确配置的。
- 具体的配置信息有哪些则取决于协议栈。
- 需要配置的项目
- IP 地址
- 子网掩码
- 默认路由器的 IP 地址
- 域名服务器的 IP 地址
- 这些信息通常存储在一个配置文件中,计算机在引导过程中可以对这个文件进行存取。
动态主机配置协议 DHCP
- 互联网广泛使用的动态主机配置协议 DHCP (Dynamic Host Configuration Protocol) 提供了即插即用连网 (plug-and-play networking) 的机制。
- 这种机制允许一台计算机加入新的网络和获取 IP 地址,而不用手工配置。
- DHCP给运行服务器软件、且位置固定的计算机指派一个永久地址,给运行客户端软件的计算机分配一个临时地址。
DHCP 使用客户 - 服务器方式
- 需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文 (DHCPDISCOVER),这时该主机就成为 DHCP 客户。
- 本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文。
- DHCP 服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的 IP 地址池 (address pool) 中取一个地址分配给该计算机。DHCP服务器的回答报文叫做提供报文(DHCPOFFER)。
DHCP 工作方式
- DHCP 使用客户-服务器方式,采用请求/应答方式工作。
- DHCP 基于 UDP 工作,DHCP 服务器运行在 67 号端口, DHCP客户运行在 68 号端口。
需要IP地址的主机向DHCP服务器广播发送发现报文 (DHCPDISCOVER) 。

DHCP 中继代理(relay agent)
- 并不是每个网络上都有DHCP服务器,这样会使DHCP服务器的数量太多。现在是每一个网络至少有一个 DHCP 中继代理,它配置了 DHCP 服务器的 IP 地址信息。
- 当 DHCP 中继代理收到主机发送的发现报文后,就以单播方式向 DHCP 服务器转发此报文,并等待其回答。收到 DHCP 服务器回答的提供报文后,DHCP 中继代理再将此提供报文发回给主机。
DHCP 中继代理以单播方式转发发现报文

租用期 (lease period)
- DHCP 服务器分配给 DHCP 客户的 IP 地址的临时的,因此 DHCP 客户只能在一段有限的时间内使用这个分配到的 IP 地址。DHCP 协议称这段时间为租用期。
- 租用期的数值应由 DHCP 服务器自己决定。
- DHCP 客户也可在自己发送的报文中(例如,发现报文)提出对租用期的要求。
DHCP 协议的工作过程
1️⃣:DHCP 服务器被动打开 UDP 端口 67,
等待客户端发来的报文。2️⃣:DHCP 客户从 UDP 端口 68
发送 DHCP 发现报文 DHCPDISCOVER。3️⃣:凡收到 DHCP 发现报文的 DHCP 服务器
都发出 DHCP 提供报文 DHCPOFFER,因此 DHCP 客户可能收到多个 DHCP 提供报文 。4️⃣:DHCP 客户从几个 DHCP 服务器中选择
其中的一个,并向所选择的 DHCP 服务 器发送 DHCP 请求报文 DHCPREQUEST。5️⃣:被选择的 DHCP 服务器发送确认报文
DHCPACK,进入已绑定状态,并可 开始使用得到的临时 IP 地址了。DHCP 客户现在要根据服务器提供的租用期 T 设置两个计时器 T1 和 T2,它们的超时时间分别是 0.5T 和 0.875T。当超时时间到就要请求更新租用期。6️⃣:租用期过了一半(T1 时间到),DHCP 发送
请求报文 DHCPREQUEST,要求更新租用期。7️⃣:DHCP 服务器若同意,则发回确认报文
DHCPACK。DHCP 客户得到了新的租 用期,重新设置计时器。8️⃣:DHCP 服务器若不同意,则发回否认报 DHCPNACK。
这时 DHCP 客户必须立即停止使用原来的 IP 地址, 而必须重新申请 IP 地址(回到步骤 2️⃣)。若 DHCP 服务器不响应步骤 6️⃣ 的请求报文 DHCPREQUEST,则在租用期过了 87.5% 时,DHCP 客户必须重新发送请求报文 DHCPREQUEST(重复步骤 6️⃣),然后又继续后面的步骤。9️⃣:DHCP 客户可随时提前终止服务器所提供的
租用期,这时只需向 DHCP 服务器发送释 放报文 DHCPRELEASE 即可。发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月08日 15时50分23秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
我用wxPython搭建GUI量化系统之wx.TextCtrl实现文本框
2021-05-10
我用wxPython搭建GUI量化系统之最小架构的运行
2021-05-10
我用wxPython搭建GUI量化系统之Sizer布局管理与页面切换
2021-05-10
我用wxPython搭建GUI量化系统之多只股票走势对比界面
2021-05-10
我用wxPython搭建GUI量化系统之Pandas特性的财务选股工具
2021-05-10
我用wxPython搭建GUI量化系统之财务选股工具添加日历和排序
2021-05-10
我用wxPython搭建GUI量化系统之财务选股工具与股票行情界面切换
2021-05-10
搭建量化系统|wxPython布局管理实现多只股票走势对比界面
2021-05-10
星球年度汇总-基金持仓前十股票分析工具-更新1
2021-05-10
对双向链表的学习
2021-05-10
scikit-learn sklearn 使用汇总
2021-05-10
2019年达观杯文本智能信息抽取挑战赛 四到十名队伍分享
2021-05-10
一文掌握Python正则表达式
2021-05-10
2020年科大讯飞 温室温度预测前三名队伍分享
2021-05-10
selenium+python之切换窗口
2021-05-10
网页前端查询页面时间显示1605783213000
2021-05-10
Unknown database ‘modd‘
2021-05-10
重载和重写的区别:
2021-05-10
finally,final,finalize() 的区别
2021-05-10