一、为什么需要DHCP?
1、许多设备(主机、无线WiFi终端等)需要动态地址的分配;
2、人工手工配置任务繁琐、容易出错,比如:IP地址冲突;
3、网络规模扩大、复杂度提高,网络配置越来越复杂,计算机的位置变化和数量超过可分配IP地址的数量,造成IP地址变法频繁以及IP地址不足的情况。
二、什么是DHCP?
DHCP即动态主机配置协议,是一种能够为网络中的主机提供TCP/IP配置的应用层协议;
DHCP基于C/S模型,Client能够从DHCP Server获取到IP地址以及其他参数,从而降低手工配置带来的工作量和出错率。
三、DHCP有什么作用?
1、即插即用性:客户端无需配置即可获取IP及相关参数,简化客户端网络配置,降低维护成本;
2、统一管理:所有IP地址及相关参数信息由DHCP服务器统一管理、统一分配;
3、使用效率高:通过IP地址租期管理,提高IP地址的使用效率;
4、可跨网段实现:通过DHCP中继,使处于不通子网中的客户端和DHCP服务器之间实现协议报文交互。
四、DHCP的分配方式
五、DHCP的协议报文
DHCP Discover | 广播发送,目的是发现网络中的DHCP服务器,所有收到Discover的服务器都会发出响应 |
DHCP Offer | DHCP服务器接受到DHCP Discover报文后,使用Offer向客户端提供可用的IP地址及参数。目的是告知客户端本服务器可以为其提供IP地址 |
DHCP Request | 用于向服务器请求IP参数或续租,回应第一个Offer时,广播发送;租期50%时,单播发送,租期87.5%时,广播发送 |
DHCP Ack | 服务器收到Request报文后,发送ACK报文作为回应,通知服务器可以使用分配的IP地址和参数 |
DHCP Nak | 如果DHCP服务器收到Request报文后,由于某些原因不能正常分配IP地址,则发送NAK作为回应,告知用户无法分配合适的IP |
DHCP Release | 当客户端不再需要分配的IP地址时,主动向服务器发送Release报文,告知不再需要IP地址,服务器就会释放呗绑定的租约 |
DHCP Decline | 客户端收到ACK后,发现服务器分配的IP地址冲突或者无法使用时,发送Decline报文,通知服务器所分配的IP地址不可用 |
DHCP Inform | 如果客户端需要更详细的配置信息,发送Inform报文给服务器,服务器根据租约查找,并发送ACK报文回应 |
六、DHCP工作过程
1、首先,客户端广播发送DHCP Discover报文,寻找网络中的DHCP Server,所有接受到该报文的DHCP Server要响应客户端;(有Server在吗?)
2、服务器A和服务器B收到Discover报文,先后单播发送Offer报文回应客户端,告知可用的IP地址及相关参数信息;(你可以用此IP和相关参数)
3、客户端选择最先收到Offer报文的DHCP服务器,广播发送DHCP Request报文;(我要用Server B提供的IP和相关参数)
4、Server B发DHCP Ack及其他参数,客户端可以开始使用该IP和相关参数。
七、租期问题
1、当到达租约长度的50%时,Client向提供租约的Server发生DHCP Request,要求更新现有租约。 收到Server返回的DHCP ACK则更新租约。如果Client无法与Server取得联系,则继续使用。
2、到达租约长度的87.5%时,Client广播DHCP Request,以求更新现有IP地址的租约。 收到任意Server返回的DHCP ACK则更新租约。如果依然得不得Server的相应,则继续使用。
3、当租约过期时,Client释放现有IP地址。
八、什么是DHCP中继?
使得一个DHCP服务器同时为多个网段服务称为肯的技术。
配置DHCP中继的网络设备可以在不同网段上从DHCP总服务器获取IP地址分配给下面的各个主机。
路由器和交换机都可充当中继。DHCP中继在两个网段间代理客户端和服务器请求,中继服务器需要开启DHCP功能,然后路由可达。DHCP中继可以只在一台路由器上配置DHCP服务,其他路由器中继到该台路由器(即使跨网段)上为对于的终端提供IP地址,解决多个DHCP服务器带来的问题。
九、为什么需要DHCP中继?
为了进行动态主机配置,每个网段需要一个DHCP服务器,很不经济;
多个网段的DHCP客户端可使用同一份DHCP服务器,节约成本且便于集中管理。
DHCP服务器 | 能提供DHCP功能的服务器或具有DHCP功能的网络设备 |
DHCP中继 | 一般为路由器或交换机 |
DHCP客户端 | 需要动态获取IP地址的主机 |
十、DHCP中继(DHCP Relay)工作工程
注:实心箭头代表广播,空心箭头代表单播;上图中继和服务器之间可能隔着复杂的网络。
过程同DHCP工作过程类似,只是类似多了一个中间商而已。
俺是菜菜,如果错误,欢迎批评指正!!!