一、DHCP作用和相关概念
DHCP全称Dynamic Host Configuration Protocol,中文名:动态主机配置协议。主要作用有自动分配IP地址。
相关概念有:
地址池:包括了ip地址、子网掩码、网关、DNS和租期等。
DHCP协议工作在传输层,依赖UDP协议,当 Client传送封包给 Server时,采用的是UDP 68 Port,从 Server传送给 Client则是使用UDP 67 Port。
DHCP有减少工作量、避免IP冲突、提高地址利用率的优点。
二、DHCP原理
1)client广播发送DHCP DISCOVERY
client广播请求ip地址,广播内容包含了client的mac地址、是否需要子网掩码、dns服务器地址等。此时使用udp的68号端口向server的67号端口发送。
2)server单播发送DHCP OFFER
server向该client在二层单播拟分配的ip地址、子网掩码、网关、dns服务器地址、租期、续租时间等内容,同时还向client告知了自己的ip地址。此时使用udp的67号端口向client的68号端口发送。
3)client广播发送DHCP REQUEST
client如果希望使用这个地址,就会广播发送一个请求包,这个请求包包含了自己的mac地址,服务器的ip地址,需要的ip地址等内容。这里广播的意义在于如果网络中还存在其他服务器,client的广播行为可以告知其他服务器已经选用了某个服务器,避免其他服务器为其分配地址,造成地址池浪费。
4)server单播发送DHCP ACK
server如果认为自己能够为该client分配其请求的地址,就会向该client二层发送ack信息,包括了分配的ip地址、子网掩码、网关、dns服务器、租期、续约时间等内容,还包括了自己的ip地址。
5)client发送免费arp三次
client收到了该ack后,为了再次判断网络中是否有人已经使用了该地址,就会向该ip发送三次免费arp,免费arp的原理是源目ip地址都是自己的ip地址,目的mac地址是全0,表示二层广播,如果收到了arp应答,就表明网络中存在使用该ip地址的设备,这时我们不希望看到的。三次arp均未收到响应后,就会正式使用该ip地址了。
6)dhcp地址池和续约
dhcp服务器中地址池中的ip地址有userd