DHCP协议以及原理(速成)


DHCP产生背景

这里也就是为什么会出现DHCP这个协议的原因

在大型企业网络中,会有大量的主机或设备需要获取IP地址等网络参数。如果采用手工配置,工作量大且不好管理,如果有用户擅自修改网络参数,还有可能会造成IP地址冲突等问题。使用动态主机配置协议DHCP(Dynamic Host Configuration Protocol)来分配IP地址等网络参数,可以减少管理员的工作量,避免用户手工配置网络参数时造成的地址冲突。


废话不多说,直接进入主题

一、DHCP可以干什么?

DHCP服务器可以为客户机分发IP地址、子网掩码、网关(gateway)、DNS、租期等参数。

DHCP优点:

1.DHCP可以大大简化配置客户机的TCP/IP的工作
2.防止用户误操作导致出现错误
3.避免了客户机获取IP地址重复

二、DHCP分配IP方式

1、动态分配:客户端第一次从DHCP Server获得IP地址后,该IP地址并非永久,每次使用完后,客户端会释放这个IP地址,以保证该IP地址可以被重复利用
2、自动分配(即MAC与IP地址绑定):客户端第一次从DHCP Server获得IP地址后就永远的使用该地址,该地址没有期限。

三、DHCP协议报文

请添加图片描述
注:NAK报文表示DHCP Server拒绝服务请求。第一种情况:当DHCP Server中地址池里的IP地址被分配完后,若有其他的客户端请求申请IP地址则无法为其提供IP地址将会回复NAK报文。第二种情况:在客户端需要续租IP地址租约时向DHCP Server 发送Requst报文,但是Server端没有相应的租约记录则会回复NAK报文。

工作原理

请添加图片描述

1、DHCP客户端初次接入网络时因为没有IP地址,所以将会以广播方式会发送DHCP发现报文(DHCP Discover),用于查找和定位DHCP服务器。
2、DHCP服务器在收到DHCP Discover报文后,会在尚未分配的IP地址池中挑选一个IP地址发送给客户端,会发送DHCP提供报文(DHCP Offer),此报文中包含IP地址等配置信息。(注:此时因为客户端没有IP地址,所以无法进行单播报文的回应,因此此时返回给DHCP Server的报文是以广播形式返回的)
3、在DHCP客户端收到DHCP服务器发送的DHCP Offer报文后,(注:若此时网络中存在多台DHCP Server,则会选择第一个接收到DHCP Server 发送的报文)会以广播方式发送DHCP请求报文(DHCP Request),另外在DHCP客户端获取IP地址并重启后,同样也会发送DHCP Request报文,用于确认分配的IP地址等配置信息。DHCP客户端获取的IP地址租期快要到期时,也发送DHCP请求报文向服务器申请延长IP地址租期。

4、DHCP客户端收到DHCP确认报文后,会发送免费ARP报文,检查网络中是否有其他主机使用分配的IP地址。如果指定时间内没有收到ARP应答,DHCP客户端会使用这个IP地址。如果有主机使用该IP地址,DHCP客户端会向DHCP服务器发送DHCP拒绝(DHCP NAK)报文,通知服务器该IP地址已被占用。然后DHCP客户端会向服务器重新申请一个IP地址(即向DHCP Server 发送DHCP Discover报文重新申请IP地址)。
5、在客户端向DHCP Server续租IP地址时:如果DHCP服务器收到DHCP-REQUEST报文后,没有找到相应的租约记录,则发送DHCP-NAK报文作为应答,告知DHCP客户端无法分配合适IP地址。
6、DHCP客户端通过发送DHCP释放报文(DHCP Release)来释放IP地址。收到DHCP释放报文后,DHCP服务器可以把该IP地址分配给其他DHCP客户端。

IP地址续租问题

请添加图片描述当客户端收到DHCP Server发送的IP地址后,默认租期为一天。默认情况下,当租期还剩下50%时,客户端回向分配IP地址的DHCP Server发送DHCP Request报文来申请延长IP地址的租期。此时DHCP Server回返回DHCP ACK报文,给予客户端一个新的租期

DHCP重绑定请添加图片描述
当客户端的向DHCP Server发送Request报文请求续租时,若没有收到DHCP Server的ACK报文,默认情况下当租约到达87.5%时会超时(也就是当到达87.5%时候还是没有收到DHCP Server的响应报文),那么客户端必须停止使用该IP地址,向DHCP Server发送Release报文并进入初始化状态重新发送Discover报文申请IP地址;

若收到了ACK报文,则客户端回重新进入绑定状态,初始化定时器和重绑定定时器,若收到的是NAK报文(收到NAK报文的这种情况可能为DHCP Server没有对应IP地址的租约记录),则客户端会进入初始化状态,此时的客户端必须停止使用现有的IP地址,发送Discover报文重新申请IP地址

IP地址释放
请添加图片描述
1、若IP地址的租约到期前没有收到DHCP Server的响应,那么客户端会停止使用该IP地址。
2、若客户端不想使用分配的IP地址,则可以主动向DHCP Server发送Release报文释放该IP地址。
:在到达租约87.5%时若DHCP Server还是没有进行响应,那么客户端必须停止使用该IP地址,向DHCP Server发送Release报文并进入初始化状态重新发送Discover报文申请IP地址

猜你喜欢

转载自blog.csdn.net/qq_45714440/article/details/128007615