马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
【导语】DHCP(动态主机配置协议)基于 UDP 67/68 端口,是典型的 C/S 架构协议:客户端是需要获取 IP 的设备,服务器是发放 IP 的设备。本文以云计算网络笔记的形式详解 DHCP 的完整工作流程:首次获取 IP 经历 discover(客户端广播,源 IP 0.0.0.0、目标 255.255.255.255)、offer(服务器回复携带可用 IP)、request(客户端广播确认收到的第一个 offer,同时拒绝其他服务器)、ACK(服务器最终确认)四步;再次获取 IP 则只需 request+ACK 两步,若收到 NAK 则重新走四步流程。租期管理部分讲解默认 24 小时租期与 T1(50% 单播续租)、T2(87.5% 广播续租)两个时间点,并附华为设备 DHCP 配置命令(dhcp enable、ip pool、network、gateway-list、dns-list、dhcp select global),以及客户端获址后三次 ARP 自检 IP 是否冲突的机制。
核心观点
- 协议基础:DHCP 基于 UDP 67/68 端口、C/S 架构;客户端 discover 广播包源 IP 为 0.0.0.0、目标 MAC 为全 F 广播。
- 首次获址四步:discover(广播寻找服务器)→ offer(服务器暂存一个有效 IP 回复)→ request(客户端广播确认第一个收到的 offer 并拒绝其他 IP)→ ACK(服务器确认,类似“确认收到”)。
- 续租机制:默认租期 24h;T1=50%(12h)客户端单播 request 续租;T2=87.5%(21h)改为广播续租;收到 NAK 则重新走首次获址四步。
- 华为配置:dhcp enable 开启协议 → ip pool AA 创建地址池 → network 定义范围 → gateway-list 定义网关 → dns-list 定义 DNS → 接口下 dhcp select global 调用全局服务。
- 地址自检:客户端获取 IP 后发送三次 ARP 包,检测自己的 IP 地址是否已存在于网络中,避免地址冲突。
适用场景
云计算网络基础学习、华为路由器 DHCP 配置实操、企业内网自动分配 IP、网络工程师认证备考、地址冲突排查。
关键信息
DHCP, 动态主机配置协议, UDP67/68, discover, offer, request, ACK, 租期, 华为配置, IP地址分配
DHCP-动态主机配置协议-UDP协议 67/68端口
典型的C/S架构协 DHCP客户端-----需要获取IP的设备
DHCP服务器-----需要发放IP的设备
第一种获取IP所在的:
- DHCP客户端向 DHCP服务器去要所在-----广播
源IP:0.0.0.0(代表自己) 目标IP:255.255.255.255
源MAC:自己 目标MAC:全F(全F就是MAC所在的最大值,类似于广播的意思)
这个包叫做 DHCP----discover包
- DHCP服务器向DHCP客户端举行回复:DHCP---offer包 单播/广播 ,这个数据包中会携带一个有效的IP所在 而且暂时给DHCP客户端所保存。
3. DHCP客户端向DHCP的服务器发送一个 DHCP---request 包 ,广播 (因为DHCP客户端并不知道此广播域中有多少个DHCP服务器,在接受一个IP的同时,也是拒绝其他的IP;同时注意,此时数据包的源IP仍然是 0.0.0.0 ) 吸收到的第一个offer包作为本机的IP所在(代表该服务器离客户端近来)
4. DHCP服务器向DHCP客户端发送一个 DHCP--ACK包 单播/广播 “类似于 确认收到”
第二种:再次获取IP所在(理想状态):
- DHCP客户端向DHCP的服务器发送一个 DHCP---request 包
- DHCP服务器向DHCP客户端发送一个 DHCP--ACK包
特殊情况:
- DHCP客户端向DHCP的服务器发送一个 DHCP---request 包
- DHCP服务器向DHCP客户端发送一个 DHCP----NAK 包(拒绝)
要想获取所在,只能重复上面第一次获取IP的(1-4)步骤
租期:24h
T1:租期的50% 12h DHCP客户端向DHCP服务器 发送一个 DHCP--request包 ----单播 续租
T2:租期的87.5% 21h DHCP客户端向DHCP服务器 发送一个 DHCP--request包 ----广播 续租
先辈入接口定义网关
DHCP配置命令:
[R1]dhcp enable 开启DHCP协议
[R1]ip pool AA 创建IP所在池
[R1-ip-pool-AA]network 192.168.1.0 mask 24 定义所在池中的IP所在的范围
[R1-ip-pool-AA]gateway-list 192.168.1.1 定义该所在池中,全部IP所在的网关
[R1-ip-pool-AA]dns-list 8.8.8.8 114.114.114.114 定义该所在池中 全部IP所在对应的dns
[R1-GigabitEthernet0/0/0] 进入相应网关所在的接口
[R1-GigabitEthernet0/0/0]dhcp select global 再此接口上调用DHCP全局服务
根服务器所在
这三次ARP包的作用:自检自己的IP所在是否存在
1.先辈入接口定义网关(子网划分)
192.168.00000001.1 0000000 25
192.168.1.1 25
255.255.11111111.1 0000000 25
192.168.1.128 25
[Huawei]interface g 0/0/0 进入 g 0/0/0 接口
[Huawei-GigabitEthernet0/0/0] (进入成功)
[Huawei-GigabitEthernet0/0/0]ip address 192.168.1.1 24 可能
[Huawei-GigabitEthernet0/0/1]ip address 192.168.2.1 255.255.255.0
在此设备的g0/0/0接口里, 配置IP所在为 192.168.1.1/24
2.[R1]dhcp enable 开启DHCP协议
3.[R1]ip pool AA 创建IP所在池
4.[R1-ip-pool-AA]network 192.168.1.0 mask 24 定义所在池中的IP所在的范围
5.[R1-ip-pool-AA]gateway-list 192.168.1.1 定义该所在池中,全部IP所在的网关
6.[R1-ip-pool-AA]dns-list 8.8.8.8 114.114.114.114 定义该所在池中 全部IP所在对应的dns
7.[R1-GigabitEthernet0/0/0] 进入相应网关所在的接口
8.[R1-GigabitEthernet0/0/0]dhcp select global 再此接口上调用DHCP全局服务
9.将静态改为DHCP并应用
10.进入命令行,ipconfig检查
查询ip
|