複製鏈接
請複製以下鏈接發送給好友

DHCP客户機

鎖定
DHCP客户機(DHCP client),TCP/IP客户機上的軟件組件,通常作為協議棧軟件部分實現,此軟件將地址請求,租用續借和其他DHCP消息傳給DHCP服務器中。
中文名
DHCP客户機
外文名
DHCP client

DHCP客户機原理詳解

DHCP原理詳解
DHCP的工作流程分為四步:
一、客户機請求IP(DHCPdiscover)
二、服務器響應(DHCPoffer)
三、客户機選擇IP(DHCPrequest)
四、服務器確認IP租約(DHCPack/DHCPnak)

DHCP客户機具體説明

客户機請求IP
(DHCPdiscover)
當客户機設置使用DHCP協議獲取IP時,客户機將使用0.0.0.0作為源地址,使用255.255.255.255作為目標地址來廣播請求IP地址的信息。廣播信息中包含DHCP客户機的MAC地址和計算機名。(這裏的MAC地址可不是FFFF.FFFF.FFFF的MAC 廣播哦~) [1] 
服務器響應
(DHCPoffer)
由於是廣播所以同一網段內的計算機都會“聽”到!DHCP服務器當然也不例外。DHCP服務器“聽”到後,它首先會針對該次請求的信息所攜帶的MAC地址與DHCP主機本身的設置值進行對比。如果DHCP主機的設置中有針對該MAC 提供的靜態IP(每次都給一個固定IP),則提供給客户機相關的固定IP與相關的網絡參數;如果該信息的MAC並不在DHCP主機的設置中,則DHCP主機會選取當前網段內沒有使用的IP給客户機使用!當然這裏的響應,服務器也是採用255.255.255.255的廣播,因為此時客户機還沒IP哦~
這裏有幾個要注意的地方:
1、如果同一網段內有多台DHCP服務器,那麼客户機是看誰先響應,誰先響應就選擇誰。
2、在DHCP主機發給客户端的信息中,會附帶一個“租約期限”信息,用來告訴客户機這個IP能用多久!
客户機選擇IP
(DHCPrequest)
當客户機接收到響應的信息之後,首先會以ARP在網段內廣播(ARP使用全1的廣播MAC地址),以確定來自DHCP服務器的IP沒被佔用!如果該IP被佔用,那麼客户機對於這次的DHCP信息將不接受,而是再次發送DHCP請求。若該IP沒有被佔用,客户機則接受DHCP服務器所給的網絡參數。同時,客户機發出一個廣播,通知所挑選的DHCP服務器(有多台DHCP服務器存在時),當然此時也是通知其它的DHCP服務器,讓這些DHCP服務器將本預分配給客户機的IP釋放掉!(這裏的概念一定要弄清楚!)注意,這一步客户機並還沒有應用從DHCP服務器獲取到IP哦!所以這一步源地址還是0.0.0.0,目標地址是255.255.255.255。
服務器確認IP租約
(DHCPack/DHCPnak)
終於到最後一步了,DHCP服務器收到客户機選擇IP的廣播後,則以DHCPack消息的形式向客户機廣播成功的確認。DHCPack包含:IP、掩碼網關、DNS等。當然上面還有一個DHCPnak,一看就知道是不成功的意思!那麼,哪些情況才會有這種廣播呢?
例如,IP地址已無效或這個地址已被其它的客户機使用了!
此時,當客户機收到DHCP服務器的DHCPack消息後,客户機便使用了DHCP服務器所給的網絡參數!這裏的四個步驟可都是用的廣播哦,不知道大家有沒有注意!呵呵~到此,我們的DHCP原理就講完了,下面我還給補充了點東東,希望對大家有用:
1、當我們的客户機無法找到DHCP服務器時,它將從TCP/IP的B類網段169.254.0.0中挑選一個IP地址作為自己的IP地址,而繼續每隔5分鐘嘗試與DHCP服務器進行通信。(這裏的這個B類地址被稱為APIPA,即自動分配私有IP地址!)
2、IP租約的更新,當客户機重新啓動或租期達50%時,客户機不會從第一步(DHCPdiscover)開始重新申請IP,而是從第三步(DHCPrequest)開始哦~只有當租期達87.5%時,它才從第一步(DHCPdiscover)開始重新申請!
3、客户機這裏還有兩條命令,希望大家給記住:
ipconfig/release :是用來IP租約的釋放。使用DHCPrelease消息!
ipconfig/renew :是用來IP租約的更新。使用DHCPdiscover消息!
4、客户機必須要經過四步的情況:
(1)第一次扮演DHCP客户機角色。
(2)IP被DHCP服務器收回。
(3)客户機自己釋放了IP,並重租一個IP時。
(4)客户機更換網卡了。
(5)客户機轉移到另一網段時。
參考資料