DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。
DHCP采用C/S架构,C-client(客户机),S-server(服务器),客户机/服务器架构
DHCP服务对应传输层UDP协议,因为是C/S架构,所以客户机端口号是67,服务器端口号是68
工作原理
1、DHCP客户机向局域网中所有DHCP服务器发送DHCP discovery请求。DHCP客户机向DHCP服务器发送DHCP请求,来请求DHCP服务器下发IP地址。
2、局域网中所有DHCP服务器回复DHCP offer,为客户机提供IP地址。
3、客户机选择第一台DHCP服务器回复的ip地址,并且要发送DHCP request,通告给局域网中所有的DHCP服务器,它选择了哪个IP和哪个DHCP(发送DHCP request的原因有两层,第一层是通告所有DHCP,让未被选中的服务器,把未使用的地址收回,第二层是通告给被选中的服务器,这个IP地址客户机要使用了)。
4、被选中的DHCP服务器收到DHCP request消息后,会给DHCP客户机回复一个DHCP ACK,告知客户端此ip地址可以被使用了,客户机将此IP与自己的MAC地址绑定,方便下次使用,而其他DHCP服务器将收回分配给该客户机的ip地址。
租期
DHCP客户机使用的ip地址的使用是有期限的,一般DHCP客户机使用分配的IP地址到了租期的50%时,会主动向DHCP发送续约请求,DHCP服务器接收到续约请求后,会检查此ip有没有被别的客户机抢占,如果没有就继续续约,如果此IP地址被其他客户机使用,就续约不成功,此时客户机将会重新发起DHCP discovery请求,请求获取新的IP。
DHCP实现的两种情况
一:DHCP客户机和DHCP服务器在同一个网段
二:DHCP客户机和DHCP服务器不在同一个网段------DHCP中继,只能用由路由器实现,DHCP无法单独实现。
DHCP DISCOVER:DHCP客户端首次登陆网络时进行DHCP交互过程发送的第一个报文,用来寻找DHCP服务器
DHCP ACK :服务器对客户端的DHCP REQUEST报文的确认响应文件,客户端收到此报文后,才真的获得了IP地址和相关的配置信息。
DHCP NAK:服务器对客户端的DHCP REQUEST报文的拒绝响应文件,例如DHCP服务器收到DHCP REQUEST报文后,没有找到响应的租约记录,则发送DHCP NAK报文作为应答,告知DHCP客户端无法分配合适的IP地址。