dhcp 全称动态主机配置协议,属于应用层协议,工作在 UDP 协议之上,服务器端口号是 67,客户端端口号是 68,核心作用就是自动给局域网内的终端设备分配 IP 地址 子网掩码 默认网关 DNS 服务器地址等网络参数,不需要人工手动填写静态 IP,大幅降低网络管理工作量,家庭路由器 企业局域网都默认开启 dhcp 服务,协议依靠广播方式完成设备和服务器之间的交互,完整流程分为四个报文阶段,也就是常说的四步交互,同时还支持地址租约机制,IP 不是永久分配,租约到期之后客户端需要续约,如果跨三层网段,还需要搭配 dhcp 中继完成广播转发,它是计算机网络 软考 网工考试的高频考点,下面从协议定位 工作流程 核心机制 优缺点 相关概念做完整简述。
一 协议基本定位
dhcp 是 bootp 协议的升级版本,解决 bootp 静态绑定灵活性不足的问题,支持动态地址池分配,地址可以循环复用。
协议核心目标
1 自动分配 IP,避免人工配置出错
2 提高 IP 地址利用率,离线设备 IP 可以回收
3 统一下发网关 DNS 等配套参数
4 支持静态保留,也就是把指定 IP 固定绑定到某台设备的 MAC 地址
二 dhcp 四步交互完整流程
| 报文阶段 | 报文名称 | 方向 | 作用 |
|---|---|---|---|
| 第一步 | discover | 客户端广播 | 客户端还没有 IP,发送广播包寻找局域网内 dhcp 服务器 |
| 第二步 | offer | 服务器广播或者单播 | dhcp 服务器收到请求之后,从地址池挑选可用 IP,发送 offer 应答,携带 IP 子网掩码 租约等参数 |
| 第三步 | request | 客户端广播 | 客户端选择其中一个 offer,广播发送 request,正式请求这个 IP 地址 |
| 第四步 | ack | 服务器应答 | 服务器确认分配,返回 ack 报文,客户端正式获得 IP,完成配置 |
补充 如果服务器拒绝分配,会返回 nack 报文,客户端需要重新发起 discover 请求。
三 核心机制说明
租约机制
分配出去的 IP 带有有效期,也就是租约时间,租约达到一半的时候客户端主动向服务器发送续约请求,如果续约失败,等到租约全部到期,IP 就会被服务器回收,重新放回地址池供其他设备使用。
地址分配三种模式
1 动态分配 从地址池临时分配 IP,租约到期回收,最常用
2 静态分配 也叫地址保留,根据 MAC 地址固定绑定指定 IP,设备每次上线都拿到同一个 IP
3 手动分配 管理员预先指定 IP,通过 dhcp 下发,介于静态和动态之间
dhcp 中继
dhcp 原生依靠广播通信,广播报文默认不能跨三层网段,如果 dhcp 服务器和客户端不在同一个网段,就需要在三层交换机或者路由器上配置 dhcp relay 中继,把广播报文转发到远端 dhcp 服务器,解决跨网段分配问题。
四 协议优点与缺点
优点
1 部署简单,终端接入网络自动获取参数,不需要手动配置
2 IP 资源动态复用,适合设备数量多的网络
3 统一管理网关 DNS,批量修改网络参数只需要修改 dhcp 服务器配置
4 支持 MAC 地址绑定,兼顾固定 IP 需求
缺点
1 依赖广播,局域网如果出现多台 dhcp 服务器,会产生双 dhcp 冲突
2 服务器故障的时候,所有新接入设备无法获取 IP,网络瘫痪
3 地址池耗尽之后,新设备无法拿到 IP
4 跨网段必须额外配置中继,组网复杂度上升
五 常见相关概念
dhcp 地址池 服务器预先划定一段可用 IP 区间,用来对外分配
租约 分配 IP 的有效使用时长
nack 否定应答,服务器拒绝本次 IP 分配
option 字段 dhcp 报文里面的扩展选项,可以携带 DNS 网关 域名等额外参数
六 整体总结
dhcp 本质就是自动下发网络参数的应用层协议,核心是四步广播交互加上租约回收机制,日常家庭路由 企业办公网都依赖它实现即插即用,学习的时候重点掌握四报文顺序 UDP 端口号 租约 中继 双 dhcp 冲突这些考点,也是网工考试选择题简答题高频出题点。
【常见问题】
问题 1 dhcp 简述里面四步交互顺序是什么
回答 1 dhcp 简述里面四步交互顺序是 discover 发现,offer 提供,request 请求,ack 确认,也就是发现 提供 请求 确认四个报文依次完成 IP 分配。
问题 2 dhcp 简述里面服务器和客户端 UDP 端口号是多少
回答 2 dhcp 简述里面服务器 UDP 端口是 67,客户端 UDP 端口是 68,协议属于应用层,底层依靠 UDP 传输。
问题 3 dhcp 简述里面租约是什么意思
回答 3 dhcp 简述里面租约就是分配 IP 的有效使用期限,租约过半客户端主动续约,租约到期之后 IP 会被服务器回收,重新放回地址池循环使用。
问题 4 dhcp 简述里面为什么需要 dhcp 中继
回答 4 dhcp 简述里面 dhcp 依靠广播通信,广播不能跨三层网段,客户端和 dhcp 服务器不在同一网段的时候,需要 dhcp 中继转发广播报文,才能正常完成 IP 分配。
【免责申明】
本内容为计算机网络 dhcp 协议学习参考简述,仅用于课程学习和网工备考,不同教材对 option 字段 分配模式描述细节略有差异,大型企业 dhcp 还包含超级作用域 授权等进阶机制,本内容不保证适配全部考试教材版本。


