DHCP作用 DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個區域網的網路協議,使用UDP協議工作, 主要有兩個用途:給內部網路或網路服務供應商自動分配IP地址、子網掩碼、網關以及DNS、(網路批量安裝)等tcp/ip信息,給用戶或者內部網路 ...
DHCP作用
DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個區域網的網路協議,使用UDP協議工作, 主要有兩個用途:給內部網路或網路服務供應商自動分配IP地址、子網掩碼、網關以及DNS、(網路批量安裝)等tcp/ip信息,給用戶或者內部網路管理員作為對所有電腦作中央管理的方法。
DHCP原理
DHCP租約四部曲
A:客戶端進行IP請求
當一個DHCP客戶機啟動時,會自動將自己的IP地址配置成0.0.0.0,由於使用0.0.0.0不能進行正常通信,所以客戶機就必須通過DHCP伺服器來獲取一個合法的地址。由於客戶機不知道DHCP伺服器的IP地址,所以它使用0.0.0.0的地址作為源地址,使用UDP68埠作為源埠,使用255.255.255.255作為目標地址,使用UDP67埠作為目的埠來廣播請求IP地址信息。廣播信息中包含了DHCP客戶機的MAC地址和電腦名,以便使DHCP伺服器能確定是哪個客戶機發送的請求。
B:伺服器響應
當DHCP伺服器接收到客戶機請求IP地址的信息時,它就在自己的IP地址池中查找是否有合法的IP地址提供給客戶機。如果有,DHCP伺服器就將此IP地址做上標記,加入到DHCPOFFER的消息中,然後DHCP伺服器就廣播一則包括下列信息的DHCPOFFER消息:DHCP客戶機的MAC地址;DHCP伺服器提供的合法IP地址;子網掩碼;預設網關(路由);租約的期限;DHCP伺服器的IP地址。因為DHCP客戶機還沒有IP地址,所以DHCP伺服器使用自己的IP地址作為源地址,使用UDP67埠作為源埠,使用255.255.255.255作為目標地址,使用UDP68埠作為目的埠來廣播DHCPOFFER信息。
C:客戶機選擇IP
DHCP客戶機從接收到的第一個DHCPOFFER消息中選擇IP地址,發出IP地址的DHCP伺服器將該地址保留,這樣該地址就不能提供給另一個DHCP客戶機。當客戶機從第一個DHCP伺服器接收DHCPOFFER並選擇IP地址後,DHCP租約的第三過程發生。客戶機將DHCPREQUEST消息廣播到所有的DHCP伺服器,表明它接受提供的內容。DHCPREQUEST消息包括為該客戶機提供IP配置的伺服器的服務標識符(IP地址)。DHCP伺服器查看伺服器標識符欄位,以確定它自己是否被選擇為指定的客戶機提供IP地址,如果那些DHCPOFFER被拒絕,則DHCP伺服器會取消提供並保留其IP地址以用於下一個IP租約請求。
在客戶機選擇IP的過程中,雖然客戶機選擇了IP地址,但是還沒有配置IP地址,而在一個網路中可能有幾個DHCP伺服器,所以客戶機仍然使用0.0.0.0的地址作為源地址,使用UDP68埠作為源埠,使用255.255.255.255作為目標地址,使用UDP67埠作為目的埠來廣播DHCPREQUEST信息。
D:伺服器確認租約
DHCP伺服器接收到DHCPREQUEST消息後,以DHCPACK消息的形式向客戶機廣播成功的確認,該消息包含有IP地址的有效租約和其他可能配置的信息。雖然伺服器確認了客戶機的租約請求,但是客戶機還沒有收到伺服器的DHCPACK消息,所以伺服器仍然使用自己的IP地址作為源地址,使用UDP67埠作為源埠,使用255.255.255.255作為目標地址,使用UDP68埠作為目的埠來廣播DHCPACK信息。當客戶機收到DHCPACK消息時,它就配置了IP地址,完成了TCP/IP的初始化。
伺服器確認租約:DHCPNACK(DHCPNAK)
如果DHCPREQUEST不成功,例如客戶機試圖租約先前的IP地址,但該IP地址不再可用,或者因為客戶機移到其他子網,該IP無效時,DHCP伺服器將廣播否定確認消息DHCPNACK。當客戶機接收到不成功的確認時,它將重新開始DHCP租約過程。
DHCP續租
DHCP客戶機會在租期過去50%的時候,直接向為其提供IP地址的DHCP伺服器發送DHCPREQUEST消息包。如果客戶機接收到該伺服器回應的DHCPACK消息包,客戶機就根據包中所提供的新的租期以及其它已經更新的TCP/IP參數,更新自己的配置,IP租用更新完成。如果沒有收到該伺服器的回覆,則客戶機繼續使用現有的IP地址,因為當前租期還有50%。
如果在租期過去50%的時候沒有更新,則DHCP客戶機將在租期過去75%的時候再次向為其提供IP地址的DHCP伺服器聯繫。如果還不成功,到租約的100%時候,DHCP客戶機必須放棄這個IP地址,重新申請。如果此時無DHCP伺服器可用,DHCP客戶機會使用169.254.0.0/16中隨機的一個地址,並且每隔5分鐘再進行嘗試。