DHCP动态路由配置协议,是C/S架构,由DHCP服务器为客户端动态分配IP信息。
DHCP客户端首次接入网络数据交互过程:
如何解决IP地址的冲突:
▫ DHCP服务器端:收到DHCP DISCOVER报文时,给客户端分配IP地址前会发送Ping探测,
如果能Ping通则标识该地址不可用,记录进conflict池并选择其他IP地址分配给客户端。
▫ DHCP客户端:获取IP地址成功后,会立即发送免费ARP报文,如果收到响应,则发送
DHCP DECLINE报文通知DHCP服务器该IP地址冲突,DHCP服务器标识该地址不可用,
客户端发送DHCP DISCOVER报文重新申请IP地址。
DHCP 客户端重用曾经使用过的地址数据包交互过程:
DHCP客户端非首次接入网络时,可以重用曾经使用过的地址。例如,电脑之前在此环境下获取过IP,现关机再开机,则可以请求分配曾经使用过的IP地址。是否支持重用曾经使用过的IP地址,因不同客户端而异。
▫ 客户端广播发送包含前一次分配的IP地址的DHCP REQUEST报文,报文中的Option 50(请求的IP地址选项)字段填入曾经使用过的IP地址。
▫ DHCP服务器根据收到的DHCP REQUEST报文中携带的MAC地址来查找有没有相应的租约记录。如果有则返回DHCP ACK报文,通知DHCP客户端可以继续使用这个IP地址,如果没有租约记录,则不响应。
DHCP地址续租
DHCP客户端根据IP地址的剩余租期的不同而产生不同形式的续租请求。
• 当租期达到50%(T1)时,DHCP客户端会自动以单播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP ACK报文,
则租期更新成功。
• 当租期达到87.5%(T2)时,如果仍未收到DHCP服务器的应答,DHCP客户端会自动以广播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功。
• 如果租期时间到时都没有收到服务器的回应,客户端停止使用此IP地址,重新发送DHCP DISCOVER报文请求新的IP地址。
DHCP续租的几种情况:
• DHCP服务器给每个分配给客户端的IP地址定义一个使用期限,该使用期限被称为租期。在
租期到期前,DHCP客户端如果仍需要使用该IP地址,可以请求延长租期;如果不需要,可
以主动释放该IP地址。在没有其他空闲地址可用的情况下,DHCP服务器会把客户端主动释
放的IP地址分配给其他客户端。
• DHCP客户端无论在T1还是T2时刻发送DHCP REQUEST报文后,如果收到DHCP NAK报文,
则重新发送DHCP DISCOVER报文请求新的IP地址。
• 客户端在租期时间到之前,如果用户不想使用分配的IP地址(例如客户端网络位置需要变
更),会触发DHCP客户端向DHCP服务器发送DHCP RELEASE报文,通知DHCP服务器释
放IP地址的租期。DHCP服务器会保留这个DHCP客户端的配置信息,将IP地址列为曾经分
配过的IP地址中,以便后续重新分配给该客户端或其他客户端。客户端可以通过发送DHCP
INFORM报文向服务器请求更新配置信息。
DHCP分配IP地址顺序:
已使用过的IP:客户端以前曾经使用过的IP地址,即客户端发送的请求报文中请求IP地址选项的地址。
查看DHCP POOL状态
Statstic | 含义 |
Total | DHCP池总的IP数 |
Used | 已分配给终端正常使用的IP |
Idle | 空闲的IP,等待被分配的IP |
Expired | 已经分配出去,已经过期,但还未回收的地址,如电脑ipconfig /release |
Conflict | 冲突IP |
Disable | 禁用IP,DHCP服务器池配置的excluded-ip-address IP段 |
DHCP配置命令:
#
dhcp enable
#
ip pool dhcppool
gateway-list 192.168.0.1
network 192.168.0.0 mask 255.255.255.0
excluded-ip-address 192.168.0.2
excluded-ip-address 192.168.0.248 192.168.0.249
excluded-ip-address 192.168.0.251 192.168.0.254
lease day 0 hour 1 minute 0
dns-list 192.168.0.1#
interface GigabitEthernet0/0/0
ip address 192.168.0.1 255.255.255.0
dhcp select global
#