DHCP的工作機制,DHCP服務(wù)采用UDP協(xié)議,其中DHCP服務(wù)器采用67號端口,DHCP客戶機采用68號端口。
1.DHCP租借過程
下面介紹DHCP客戶機是如何獲得IP地址的,這個過程又稱為DHCP租借過程。以下是從客戶機發(fā)出獲得IP地址的請求開始來介紹一個完整的DHCP租借過程的。
(1)DHCP發(fā)現(xiàn)——DHCP DISCOVERDHCP
客戶機發(fā)出“DHCP發(fā)現(xiàn)”廣播包,即目的IP地址為255.255.255.255的數(shù)據(jù)包,這樣的廣播包會被同一個網(wǎng)段的所有主機收到。
(2)DHCP提供——DHCP OFFER
收到“DHCP發(fā)現(xiàn)”廣播包的客戶機會忽略該信息,而DHCP服務(wù)器會給予響應(yīng),稱為DHCP提供。需要注意的是可能有多臺DHCP服務(wù)器都給出響應(yīng),它們分別從自己的IP地址池中找出一個未分配IP地址并附帶上子網(wǎng)掩碼等參數(shù)一并提供客戶機。很明顯,此時“DHCP提供”包也是以廣播包的形式發(fā)出的。
(3)DHCP請求——DHCP REQUESTDHCP
客戶機收到“DHCP提供”包后(可能有多臺DHCP服務(wù)器發(fā)來DHCP提供包),DHCP客戶機將準備采用收到的第一個提供包中所提供的IP地址等信息。于是,正式向該DHCP服務(wù)器發(fā)出“DHCP請求”包,但此時仍然采用的是廣播包。這樣做目的是可以保證所有發(fā)出“DHCP提供”包的服務(wù)器收到該請求包,另一個暗含的目的是同時“謝絕”其他DHCP服務(wù)器的“提供”,以便其他DHCP服務(wù)器及時收回自己的IP地址。
(4)DHCP確認——DHCP ACK
當收到“DHCP請求”包之后,該DHCP服務(wù)器正式發(fā)出“DHCP確認”包,予以確認。很明顯,此時仍然要采用廣播包的形式。
當客戶收到“DHCP確認”包后,DHCP的租借過程成功完成,此時DHCP客戶機才有了IP地址等網(wǎng)絡(luò)參數(shù)。不過,客戶機并不是永久獲得了該IP地址,而是“租借”一段時間,即獲得的IP地址是有使用期限的,稱為租期。DHCP服務(wù)器在分配給客戶機IP地址的同時設(shè)置了租期的長短。因此,客戶機只能在租期范圍內(nèi)使用獲得的IP地址。
2.DHCP租期更新機制
為了能夠及時地延長租期,DHCP服務(wù)制定了DHCP租期更新機制。
(1)RENEW更新
在T1時間點即50%租期的時刻,DHCP客戶機發(fā)出DHCP REQUEST數(shù)據(jù)包,向DHCP服務(wù)器請求續(xù)租,如果收到DHCP服務(wù)器的響應(yīng),則續(xù)租成功。否則,進入下一個更新階段。
(2)REBIND更新
如果在T1時間點沒有收到DHCP服務(wù)器的響應(yīng),則DHCP客戶機可以繼續(xù)使用當前IP地址,直到T2時間點,即87.5%租期時刻,DHCP客戶發(fā)出DHCP DISCOVER數(shù)據(jù)包,如果收到原DHCP服務(wù)器的響應(yīng),則續(xù)租成功,如果收到其他DHCP服務(wù)器的響應(yīng),則在使用完剩下12.5%的租約后采用新的租期。