溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux下DHCP工作原理是什么

發(fā)布時(shí)間:2022-01-27 14:13:19 來源:億速云 閱讀:138 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Linux下DHCP工作原理是什么的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇Linux下DHCP工作原理是什么文章都會(huì)有所收獲,下面我們一起來看看吧。

DHCP原理

Linux下DHCP工作原理是什么

DHCP租約四部曲

A:客戶端進(jìn)行IP請(qǐng)求

當(dāng)一個(gè)DHCP客戶機(jī)啟動(dòng)時(shí),會(huì)自動(dòng)將自己的IP地址配置成0.0.0.0,由于使用0.0.0.0不能進(jìn)行正常通信,所以客戶機(jī)就必須通過DHCP服務(wù)器來獲取一個(gè)合法的地址。由于客戶機(jī)不知道DHCP服務(wù)器的IP地址,所以它使用0.0.0.0的地址作為源地址,使用UDP68端口作為源端口,使用255.255.255.255作為目標(biāo)地址,使用UDP67端口作為目的端口來廣播請(qǐng)求IP地址信息。廣播信息中包含了DHCP客戶機(jī)的MAC地址和計(jì)算機(jī)名,以便使DHCP服務(wù)器能確定是哪個(gè)客戶機(jī)發(fā)送的請(qǐng)求。

B:服務(wù)器響應(yīng)

當(dāng)DHCP服務(wù)器接收到客戶機(jī)請(qǐng)求IP地址的信息時(shí),它就在自己的IP地址池中查找是否有合法的IP地址提供給客戶機(jī)。如果有,DHCP服務(wù)器就將此IP地址做上標(biāo)記,加入到DHCPOFFER的消息中,然后DHCP服務(wù)器就廣播一則包括下列信息的DHCPOFFER消息:DHCP客戶機(jī)的MAC地址;DHCP服務(wù)器提供的合法IP地址;子網(wǎng)掩碼;默認(rèn)網(wǎng)關(guān)(路由);租約的期限;DHCP服務(wù)器的IP地址。因?yàn)镈HCP客戶機(jī)還沒有IP地址,所以DHCP服務(wù)器使用自己的IP地址作為源地址,使用UDP67端口作為源端口,使用255.255.255.255作為目標(biāo)地址,使用UDP68端口作為目的端口來廣播DHCPOFFER信息。

C:客戶機(jī)選擇IP

DHCP客戶機(jī)從接收到的第一個(gè)DHCPOFFER消息中選擇IP地址,發(fā)出IP地址的DHCP服務(wù)器將該地址保留,這樣該地址就不能提供給另一個(gè)DHCP客戶機(jī)。當(dāng)客戶機(jī)從第一個(gè)DHCP服務(wù)器接收DHCPOFFER并選擇IP地址后,DHCP租約的第三過程發(fā)生??蛻魴C(jī)將DHCPREQUEST消息廣播到所有的DHCP服務(wù)器,表明它接受提供的內(nèi)容。DHCPREQUEST消息包括為該客戶機(jī)提供IP配置的服務(wù)器的服務(wù)標(biāo)識(shí)符(IP地址)。DHCP服務(wù)器查看服務(wù)器標(biāo)識(shí)符字段,以確定它自己是否被選擇為指定的客戶機(jī)提供IP地址,如果那些DHCPOFFER被拒絕,則DHCP服務(wù)器會(huì)取消提供并保留其IP地址以用于下一個(gè)IP租約請(qǐng)求。

在客戶機(jī)選擇IP的過程中,雖然客戶機(jī)選擇了IP地址,但是還沒有配置IP地址,而在一個(gè)網(wǎng)絡(luò)中可能有幾個(gè)DHCP服務(wù)器,所以客戶機(jī)仍然使用0.0.0.0的地址作為源地址,使用UDP68端口作為源端口,使用255.255.255.255作為目標(biāo)地址,使用UDP67端口作為目的端口來廣播DHCPREQUEST信息。

D:服務(wù)器確認(rèn)租約

DHCP服務(wù)器接收到DHCPREQUEST消息后,以DHCPACK消息的形式向客戶機(jī)廣播成功的確認(rèn),該消息包含有IP地址的有效租約和其他可能配置的信息。雖然服務(wù)器確認(rèn)了客戶機(jī)的租約請(qǐng)求,但是客戶機(jī)還沒有收到服務(wù)器的DHCPACK消息,所以服務(wù)器仍然使用自己的IP地址作為源地址,使用UDP67端口作為源端口,使用255.255.255.255作為目標(biāo)地址,使用UDP68端口作為目的端口來廣播DHCPACK信息。當(dāng)客戶機(jī)收到DHCPACK消息時(shí),它就配置了IP地址,完成了TCP/IP的初始化。

服務(wù)器確認(rèn)租約:DHCPNACK(DHCPNAK)

如果DHCPREQUEST不成功,例如客戶機(jī)試圖租約先前的IP地址,但該IP地址不再可用,或者因?yàn)榭蛻魴C(jī)移到其他子網(wǎng),該IP無效時(shí),DHCP服務(wù)器將廣播否定確認(rèn)消息DHCPNACK。當(dāng)客戶機(jī)接收到不成功的確認(rèn)時(shí),它將重新開始DHCP租約過程。

DHCP續(xù)租

Linux下DHCP工作原理是什么

DHCP客戶機(jī)會(huì)在租期過去50%的時(shí)候,直接向?yàn)槠涮峁㊣P地址的DHCP服務(wù)器發(fā)送DHCPREQUEST消息包。如果客戶機(jī)接收到該服務(wù)器回應(yīng)的DHCPACK消息包,客戶機(jī)就根據(jù)包中所提供的新的租期以及其它已經(jīng)更新的TCP/IP參數(shù),更新自己的配置,IP租用更新完成。如果沒有收到該服務(wù)器的回復(fù),則客戶機(jī)繼續(xù)使用現(xiàn)有的IP地址,因?yàn)楫?dāng)前租期還有50%。

如果在租期過去50%的時(shí)候沒有更新,則DHCP客戶機(jī)將在租期過去75%的時(shí)候再次向?yàn)槠涮峁㊣P地址的DHCP服務(wù)器聯(lián)系。如果還不成功,到租約的100%時(shí)候,DHCP客戶機(jī)必須放棄這個(gè)IP地址,重新申請(qǐng)。如果此時(shí)無DHCP服務(wù)器可用,DHCP客戶機(jī)會(huì)使用169.254.0.0/16中隨機(jī)的一個(gè)地址,并且每隔5分鐘再進(jìn)行嘗試。

關(guān)于“Linux下DHCP工作原理是什么”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“Linux下DHCP工作原理是什么”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI