DHCP(Dynamic Host Configutation Protocol)——动态主机配置协议详解
DHCP原理与配置
前言
在大型网络中,会有大量的主机或设备需要获取IP地址等网络参数,如果采用手工配置,工作量大且不好管理,如果有用户擅自修改网络参数,还有可能会造成IP地址冲突等问题。使用DHCP来分配IP地址等网络参数,可以减少管理员的工作量,避免用户手工配置网络参数时造成的地址冲突。
DHCP应用场景
DHCP可以为网络终端分配IP地址,解决了手工配置IP地址时的各种问题。
DHCP报文类型
1、DHCP客户端初次接入网络时,会发送DHCP Discover包(广播) 目的MAC为FF-FF-FF-FF-FF-FF,目的IP为255.255.255.255 ,用于查找和定位DHCP服务器。
2、DHCP服务器接收到DHCP发现报文后,会回复一个DHCP OFFER(ICMP单播包),包含IP范围,子网掩码,DNS,lease day,exclude的ip等信息,目的MAC为主机MAC,目的IP为分配的IP。
3、DHCP客户端接收到DHCP OFFER包后,会发送一个DHCP Request报文(广播) 目的是告诉服务器这个IP地址我要了,同时告诉广播内的所有主机这个IP地址被占用了,另外在DHCP客户端获取IP地址并重启后,也会发送DHCP Request报文,在租约到期时,也会发送DHCP Request报文申请延长IP地址租期。
4、DHCP服务器收到DHCP Request报文后会回复DHCP ACK报文,表示对Request报文的响应,客户端收到之后,会使用第二步收到的IP信息。
5、如果DHCP收到Request报文后,没有找到相应的租约记录,则发送DHCP NAK报文作为应答,告知DHCP服务器无法分配IP地址。
6、DHCP客户端通过发送DHCP释放报文(DHCP Release)来释放IP地址。收到DHCP释放报文后,DHCP服务器可以把该IP地址分配给其他DHCP客户端。
地址池
DHCP 地址池有两种形式
全局地址池
全局地址池是指在vlanif接口下配置DHCP select global
接口地址池
接口地址池无需配置IP pool,只需要在对应接口下配置 DHCP select interface即可,网段和网关均为对应接口的地址,但不会继承DNS等
接口地址池的优先级比全局地址池高,配置了全局地址池后,如果又在接口上配置了接口地址池,客户端将会从接口地址池中获取IP地址
DHCP工作原理
如果有多个DHCP服务器,则每个DHCP服务器都会响应Discover报文,但客户端只会选择第一个响应的DHCP服务器提供的IP地址,在接受到Offer包后,会向全局发送免费ARP,如果在指定时间没有接到ARP应答,表示广播中没有人使用该IP地址,则主机配置使用,如果有主机使用,那么DHCP Server会发送DHCP NAK报文来告知客户端该IP地址已经被占用,然后DHCP客户端会重新发送DHCP Discover报文向服务器申请IP地址。
DHCP租期更新
申请到IP地址后,DHCP客户端中会保存三个计时器,分别用来控制租期更新、租期重新绑定和租期失效,DHCP如果没有指定则默认缺省值,缺省租期为1天,默认情况下,还剩下50%的租期时,会发送DHCP Request报文来请求更新租期,DHCP服务器会发送ACK报文来响应。
DHCP重绑定
1、DHCP客户端发送请求没有收到应答报文时,在租期还剩12.5%的时候超时,超时后,DHCP客户端会认为DHCP服务器不可用,开始重新发送新的Discover报文。
2、如果收到了DHCP ACK报文,则客户端重新进入绑定状态,复位租期更新定时器和重绑定定时器。如果收到DHCP非确认报文,此时,主机将停止使用现有IP地址,重新申请地址。
DHCP地址释放
DHCP接口地址池的配置及实验
接口地址池实验拓扑
解析
在本实验中,AR1的0/0/0接口配置了10.0.0.1的IP地址,并在接口配置了DHCP select interface,地址池模式为接口地址池,默认的地址池name是接口名,接口连接的主机通过接口地址池获取的网段和网关均与接口一致。
DHCP Enable命令 用来使能DHCP服务器,所有设备必须先开启DHCP才能使用其他命令。
DHCP全局地址池
问题总结
1、地址池中的哪些IP地址一般会被保留?
在IP地址池中,一般固定服务器、网络打印机、视频会议、DHCP服务器等等IP地址都是需要排除在DHCP地址池中的,可以在exclude配置。
2、DHCP地址池中的IP地址租期默认是多长时间?
默认是86400秒,也就是一天。