2024-04-08
DHCP(Dynamic Host Configuration Protocol,動(dòng)態(tài)主機(jī)配置協(xié)議)通常被應(yīng)用在大型的局域網(wǎng)絡(luò)環(huán)境中,主要作用是集中地管理、分配IP地址,使網(wǎng)絡(luò)環(huán)境中的主機(jī)動(dòng)態(tài)的獲得IP地址、Gateway地址、DNS服務(wù)器地址等信息,并能夠提升地址的使用率,使用DHCP服務(wù)功能可以大大減少手動(dòng)配置IP的工作。它會(huì)將地址池中的空余地址逐一分配,這就避免我們手動(dòng)配置IP地址時(shí),卻不知道哪些地址是空閑可用,哪些是正在使用以及哪些過期不用的迷之尷尬。
它采用了客戶端/服務(wù)器模型,主機(jī)地址的動(dòng)態(tài)分配任務(wù)由網(wǎng)絡(luò)主機(jī)驅(qū)動(dòng)。當(dāng)DHCP服務(wù)器接收到來自網(wǎng)絡(luò)主機(jī)的申請(qǐng)地址信息時(shí),就會(huì)向目的網(wǎng)絡(luò)主機(jī)發(fā)送相關(guān)的地址配置信息(主機(jī)地址、掩碼、網(wǎng)關(guān)、以及DNS),從而實(shí)現(xiàn)網(wǎng)絡(luò)主機(jī)信息的動(dòng)態(tài)配置,實(shí)現(xiàn)統(tǒng)一上網(wǎng),統(tǒng)一布局。
一、DHCP具有的功能:
1.保證同一網(wǎng)絡(luò)內(nèi)任何IP地址在同一時(shí)刻只能由一臺(tái)DHCP客戶機(jī)所使用。
2.DHCP可以給用戶隨機(jī)空閑可以用的IP地址,或者與MAC地址進(jìn)行綁定,從而獲得永久且固定的IP地址。
3.DHCP應(yīng)當(dāng)可以同用其他方法獲得IP地址的主機(jī)共存(如手工配置IP地址的主機(jī))。
4.DHCP服務(wù)器應(yīng)當(dāng)向現(xiàn)有的BOOTP客戶端提供服務(wù)。
二、DHCP對(duì)IP地址的分配機(jī)制:
1.自動(dòng)分配方式(Automatic Allocation):DHCP服務(wù)器為主機(jī)指定一個(gè)永久性的IP地址,一旦DHCP客戶端第一次成功從DHCP服務(wù)器端租用到IP地址后,就可以永久性的使用該地址。
2.動(dòng)態(tài)分配方式(Dynamic Allocation):DHCP服務(wù)器給主機(jī)指定一個(gè)具有時(shí)間限制的IP地址,時(shí)間到期或主機(jī)明確表示放棄該地址時(shí),該地址可以被其他主機(jī)使用。
3.手工分配方式(Manual Allocation):客戶端的IP地址是由網(wǎng)絡(luò)管理員指定的,DHCP服務(wù)器只是將指定的IP地址告訴客戶端主機(jī)。
三種地址分配方式中,只有動(dòng)態(tài)分配可以重復(fù)使用客戶端不再需要的地址。
三、DHCP的工作流程:
1.發(fā)現(xiàn)階段:就是DHCP Client 尋找 DHCP Server 的階段,客戶端廣播一個(gè)DHCP Discover 消息,消息內(nèi)包含著自身的MAC地址,以及想要請(qǐng)求的參數(shù)列表項(xiàng)、廣播標(biāo)志位等信息;而二層廣播域中運(yùn)行了DHCP Server服務(wù)的設(shè)備或者服務(wù)器,接收到該客戶端發(fā)送的消息,會(huì)對(duì)DHCP Discover消息進(jìn)行回復(fù)。
2.提供階段:DHCP Server向DHCP Client提供IP地址,每一個(gè)接收到DHCP Discover消息的DHCP Server都會(huì)從自己維護(hù)的地址池中選擇一個(gè)合適的IP地址(DHCP服務(wù)ip地址分配順序:MAC地址綁定的IP 地址>已使用的IP地址>空閑狀態(tài)的IP地址>超過租期的IP地址>產(chǎn)生沖突的IP地址),并通過DHCP Offer消息將這個(gè)地址發(fā)送給對(duì)端DHCP Client。
3.選擇階段:在網(wǎng)絡(luò)中,客戶自動(dòng)獲取地址,往往是“就近原則”,最快收到的哪臺(tái)服務(wù)器的回復(fù),哪臺(tái)服務(wù)器將成為我們客戶端的服務(wù)器;實(shí)現(xiàn)客戶端對(duì)服務(wù)器一對(duì)一。假設(shè)DHCP Client會(huì)在收到的若干個(gè)Offer消息,那么會(huì)根據(jù) “就近原則”來選擇接受哪一個(gè)Offer。通常情況下,會(huì)接受最先收到的那一個(gè)Offer。假設(shè)客戶端最先收到的消息來自于路由器R,客戶端則會(huì)廣播一個(gè)DHCP Request消息,目的是為了向路由器R(DHCP Server)發(fā)送請(qǐng)求,請(qǐng)求獲取到發(fā)送給自己的DHCP Offer中的IP地址,同時(shí)這個(gè)消息中帶有 “R”的標(biāo)識(shí),表示PC只愿意接受路由器R下發(fā)的 IP地址。路由器R收到之后后,知道PC愿意接受自己的Offer,而其他DHCP Server收到這個(gè)帶有R標(biāo)記的消息后,就好比客戶端有了自己的歸屬,其他人就應(yīng)該學(xué)會(huì)放手。其實(shí)很簡(jiǎn)單,當(dāng)客戶端有服務(wù)器給分配地址了,如果其他服務(wù)器還依舊給客戶端分地址,很大程度很造成客戶端頻繁更換地址,地址出問題了,客戶端不知道找誰好。因此,在網(wǎng)絡(luò)中,默認(rèn)是選擇服務(wù)器之后,便只從這個(gè)服務(wù)器獲取服務(wù)。不會(huì)同時(shí)對(duì)多個(gè)相同服務(wù)的服務(wù)器獲取服務(wù)。
4.確認(rèn)階段:即DHCP服務(wù)器確認(rèn)所分配IP地址的階段;路由器R會(huì)向DHCP Client發(fā)送一個(gè)DHCP Ack消息。而收到該類型消息的客戶端,則會(huì)廣播一個(gè)免費(fèi)的APR報(bào)文,探測(cè)本網(wǎng)段是否有其他終端使用服務(wù)器分配的IP地址,如果此時(shí)探測(cè)到本網(wǎng)段中有IP地址沖突,則會(huì)向DHCP服務(wù)器發(fā)送DHCP Decline報(bào)文。同時(shí)為了保證同一網(wǎng)絡(luò)中,IP地址的唯一性,過程中DHCP server有可能因?yàn)槠渌颍ㄈ鏒HCP客戶端移到另一個(gè)網(wǎng)絡(luò),DHCP server未查到該客戶端的租約信息)而發(fā)送一個(gè)DHCP Nak消息。如果 PC接受到了Nak消息,則表示嘗試獲取IP地址失敗,重新回到發(fā)現(xiàn)階段開始新一輪申請(qǐng)。
文字的表述中,4個(gè)流程看起來也是真的很大的工作量,但是在我們上網(wǎng)的時(shí)候,DHCP的使用卻在一瞬間的時(shí)間中完成了對(duì)于IP地址的配置。
400-1144-149