DHCP(动态主机配置协议)
DHCP:Dynamic Host Configuration Protocol,应用层协议,基于UDP,端口:客户端68,服务端67,作用是自动给局域网内主机分配IP地址、子网掩码、网关、DNS等网络参数,避免手工配置IP冲突、配置麻烦的问题。
核心作用
- 自动分配IP地址,实现IP地址租期管理
- 下发子网掩码、默认网关、DNS服务器、域名等参数
- IP地址池统一管理,地址复用,减少IP冲突
DHCP四个报文流程(DORA)
客户端刚接入网络,没有IP,发送广播报文
- Discover(发现):客户端广播,寻找DHCP服务器;源IP
0.0.0.0,目的255.255.255.255 - Offer(提供):DHCP服务器回复广播,给出可用IP、租期等信息;一台网络可以有多台DHCP服务器,客户端会收到多个Offer
- Request(请求):客户端广播,正式请求使用某一台服务器提供的IP;同时通知其他DHCP服务器拒绝它们的Offer
- Acknowledge(确认):DHCP服务器广播回复Ack,正式分配IP,附带租期、网关、DNS,客户端拿到参数完成配置。
失败情况:NAK,服务器拒绝分配IP;Decline客户端检测IP冲突拒绝该IP。
IP租期
- 拿到IP不是永久使用,有租期,到期前要续租
- 50%租期(T1):客户端单播向原DHCP服务器发起续租Request
- 成功:服务器Ack,租期刷新
- 无响应:等待到87.5%租期
- 87.5%租期(T2):广播发起续租,寻找任意DHCP服务器
- 租期到期还没续租成功:IP释放,重新走DORA流程申请IP。
DHCP常见角色
- DHCP Server:服务器,维护地址池,分配IP
- DHCP Client:终端电脑、手机,申请IP
- DHCP Relay(DHCP中继)
DHCP报文是广播,广播报文不能跨VLAN/跨三层。如果DHCP服务器在另一个网段,需要中继代理,把客户端广播报文单播转发给远端DHCP服务器,再把服务器应答传回客户端。解决不同VLAN共用一台DHCP服务器。
地址分配三种方式
- 自动分配:分配永久IP地址
- 动态分配(最常用):分配带租期IP,到期回收复用
- 静态分配(保留/地址绑定):MAC地址绑定固定IP,设备每次拿到固定IP(打印机、服务器常用)
相关报文小补充
- Release:客户端主动释放IP
- Inform:客户端已有IP,只向DHCP服务器请求DNS、网关等其他配置参数,不申请IP。
常见故障
- 客户端获取
169.255.x.x地址:DHCP服务器没有响应,Windows自动私有地址APIPA,代表收不到DHCP服务器的Offer。 - IP冲突:同一IP分给两台设备;DHCP会做冲突检测,也可以客户端免费ARP检测。
- 跨VLAN拿不到IP:大概率DHCP中继没有配置。
和静态IP对比
| 模式 | 优点 | 缺点 |
|---|---|---|
| DHCP动态IP | 统一管理,不用手动设置,避免冲突 | IP会变化,依赖DHCP服务,服务故障终端无法上网 |
| 静态IP | IP固定,无需服务器维护 | 手工配置,容易IP冲突,大规模网络维护麻烦 |
拓展小考点
- DHCP基于UDP,广播报文;服务器端口67,客户端68
- APIPA地址段:
169.255.0.0/16,DHCP失效自动分配 - DORA四步流程,中继解决跨网段DHCP
- 租期50%单播续租,87.5%广播续租
注意:本文归作者所有,未经作者允许,不得转载