DHCP(動態主機配置協定)通過以下四個階段分配IP位址:
發現階段。DHCP客戶端尋找DHCP伺服器的過程。客戶端以廣播方式傳送DHCP-DISCOVER報文。DHCP伺服器接收到客戶端的DHCP-DISCOVER報文後,根據IP位址分配的優先次序選出一個IP位址,與其他參數一起通過DHCP-OFFER報文傳送給客戶端。
選擇階段。DHCP客戶端選擇IP位址的階段。如果有多台DHCP伺服器向該客戶端發來DHCP-OFFER報文,客戶端只接受第一個收到的DHCP-OFFER報文,然後以廣播方式傳送DHCP-REQUEST報文,該報文中包含DHCP伺服器在DHCP-OFFER報文中分配的IP位址。
確認階段。DHCP伺服器確認IP位址的階段。DHCP伺服器收到客戶端發來的DHCP-REQUEST報文後,只有DHCP客戶端選擇的伺服器會進行如下操作:如果確認將地址分配給該客戶端,則返回DHCP-ACK報文;否則返回DHCP-NAK報文,表明地址不能分配給該客戶端。
確認階段。客戶端收到伺服器返回的DHCP-ACK確認報文後,會以廣播的方式傳送免費ARP報文,探測是否有主機使用伺服器分配的IP位址。如果在規定的時間內沒有收到回應,客戶端才使用此地址。
此外,DHCP分配的IP位址是有限期的,這個期限稱為租約時間。在租約期滿之前,客戶端設備可以一直使用分配的IP位址。如果客戶端設備在租約期滿之前重新請求IP位址,DHCP伺服器可以選擇重新分配相同的IP位址,也可以分配一個新的IP位址。