1. dhcp伺服器的分配過程
當作為DHCP客戶端的計算機啟動時,將從DHCP伺服器獲得其TCP/IP配置信息,並得到IP地址的租期,即使用時間。一個設置為「自動獲取地址」的計算機從DHCP伺服器上獲取IP地址的過程如下:
(1)DHCP客戶端計算機啟動後,如果客戶端發現本機上沒有任何IP地址等相關參數,會使用0.0.0.0作為自己的IP地址,255.255.255.255作為伺服器的地址,廣播發送包括網卡的MAC地址和NetBIOS名稱的DHCP發現信息。
當發送第一個DHCP發現信息後,DHCP客戶端將等待1秒。在此期間,如果沒有DHCP伺服器響應,DHCP客戶端將分別在第9秒、第13秒和第16秒時重復發送一次DHCP發現信息。如果仍然沒有得到DHCP伺服器的應答,客戶端則會顯示錯誤信息,並從Microsoft保留IP地址段(169.254.0.1~169.254.255.254)自動選擇一個地址,並設置子網掩碼為255.255.0.0。以後,系統會繼續每隔5分鍾廣播一次發現信息,直到得到一個應答為止。
(2)當網路中的任何一個DHCP伺服器(同一網路中可存在多個DHCP伺服器)在收到DHCP客戶端的DHCP發現信息後,就從IP地址池中選取一個沒有出租的IP地址連同其他TCP/IP網路配置(包括子網掩碼、網關地址、租用期、DNS地址、WINS伺服器地址、提供響應的DHCP伺服器的IP地址等),然後利用廣播方式提供給DHCP客戶端。
(3)當DHCP客戶端收到應答信息後,將以廣播方式向網路中所有的DHCP伺服器發送DHCP請求信息(在DHCP請求信息中包含有所選擇的DHCP伺服器的IP地址),既通知它已選擇的DHCP伺服器,也通知其他DHCP伺服器,以便釋放它們保留的IP地址。
同時,客戶端還會向網路發送一個ARP(Address Resolution Protocol,地址解析協議)包,查詢網路上面有沒有其他機器使用該IP地址;如果發現該IP地址已經被佔用,客戶端則會送出一個DHCPDISCOVER數據包給DHCP伺服器,拒絕接受其DHCPDISCOVER,並重新發送DHCPDISCOVER信息。
(4)一旦被選擇的DHCP伺服器接受到DHCP客戶端的DHCP請求信息後,就將已保留的IP地址標識為已租用,並以廣播方式發送一個DHCP應答信息給DHCP客戶端,以確認IP租約的正式生效。
以上過程可簡單地概括為發現、提供、DHCP請求、DHCP應答