東坡下載:內(nèi)容最豐富最安全的下載站!

首頁IT技術(shù)常見問題 → DHCP服務(wù)器如何檢測穿過中繼代理的IP地址沖突

DHCP服務(wù)器如何檢測穿過中繼代理的IP地址沖突

相關(guān)文章發(fā)表評論 來源:本站原創(chuàng)時間:2013/8/21 20:43:50字體大。A-A+

更多

作者:不詳點擊:1081次評論:1次標(biāo)簽: DHCP IP地址

1關(guān)于DHCP服務(wù)器的沖突檢測的總結(jié)

2取證DHCP中繼代理的工作原理與IP地址沖突(因為不在一個子網(wǎng),所以gratuitous ARP肯定不行老)

關(guān)于DHCP服務(wù)器的沖突檢測

業(yè)內(nèi)常有工程師提出這樣一個問題:當(dāng)在一個子網(wǎng)內(nèi)為了提高DHCP的冗余,同時架設(shè)了兩臺DHCP服務(wù)器而且配置了相同的地址池范圍(比如都是分配192.168.2.1-192.168.2.254/24);那么,兩臺DHCP服務(wù)器會把同一個IP地址作兩次分配給不同的主機(jī)嗎?,比如:DHCP服務(wù)器A分配一個192.168.2.5的IP;DHCP服務(wù)器B又分配一個192.168.2.5的IP,這樣就會在網(wǎng)絡(luò)上造成IP地址沖突。答案是不會造成IP地址沖突,因為現(xiàn)在的DHCP多數(shù)都采取了沖突檢測特征,就是說,在DHCP服務(wù)器準(zhǔn)備向網(wǎng)絡(luò)上的某臺主機(jī)提供IP地址之前,做沖突檢測,檢測的方式大致有兩種:一是DHCP服務(wù)器向網(wǎng)絡(luò)上發(fā)送一個關(guān)于機(jī)會IP(準(zhǔn)備分配給DHCP客戶端的IP地址)的ARP請求,無應(yīng)答就表示地址沒有被使用,當(dāng)然也不希望得到ARP的回應(yīng),如果得到回應(yīng)則表示該地址已被使用,那么DHCP不會把該地址分配出去;另一種方案是DHCP服務(wù)器在分配某個IP地址之前向網(wǎng)絡(luò)上發(fā)送一個ICMP的回顯報文,如果沒有主機(jī)應(yīng)答,證明該IP地址沒有被使用,可以被分配出去,相反之則不能。

DHCP是基于廣播和單播工作的,至少客戶端發(fā)出的discover消息肯定是廣播,因為它要尋找網(wǎng)絡(luò)中的DHCP服務(wù)器,都知道路由器是隔斷網(wǎng)絡(luò)廣播的三層設(shè)備,那么,位于路由器不同接口上的DHCP服務(wù)器與客戶端將無法進(jìn)行正常工作,因為客戶端的Discover消息被路由器給切斷。此時,在這種跨網(wǎng)段的DHCP部署環(huán)境中,提出一種概念叫做中繼代理(Relay Agent),在思科的IOS中叫幫助地址(Helper address)它能幫助DHCP客戶端跨越路由器申請IP地址及其它TCP/IP參數(shù),從而解決由于廣播域的分隔,導(dǎo)致DHCP不能正常工作的問題。關(guān)于DHCP中繼代理的工作原理如下圖9.23所示。

第一步:DHCP客戶端發(fā)送DHCP的Discover廣播尋找本地子網(wǎng)上的DHCP服務(wù)器,毫無疑問,這個尋找將失敗,因為本地子網(wǎng)上根本沒有部署DHCP服務(wù)器,但是,此時DHCP的中繼代理路由器R1的E1/0(192.168.5.1)會收到這個Discover廣播消息。

第二步:中繼代理路由器會幫助DHCP客戶端到指定的DHCP服務(wù)器去申請IP地址,這里所謂指定的DHCP服務(wù)器,事實上,就是在中繼路由器上申明了誰是DHCP服務(wù)器,比如申明192.168.4.1為DHCP服務(wù)器,那么DHCP的中繼路由器會將Discover消息單播到DHCP服務(wù)器(192.168.4.1),注意,此時中繼使用單播的方式把Discover消息發(fā)送到DHCP服務(wù)器,因為中繼明確的知道它該向哪臺DHCP服務(wù)器進(jìn)行申請,

第三步:DHCP服務(wù)器會以單播的方式回應(yīng)中繼的Discover消息,并發(fā)送Offer消息,該消息中包括了DHCP可以給中繼提供的機(jī)會IP(192.168.5.2),關(guān)于DHCP服務(wù)器提供給中繼的Offer消息如下圖9.24所示,這個Offer消息以單播的形式發(fā)送,因為,DHCP服務(wù)器知道中繼是誰,并且在該消息中包括了中繼的IP地址,值得提出的是,DHCP服務(wù)器向中繼提供機(jī)會IP(192.168.5.2)之前,它還是會做一個IP地址沖突檢測,它需要知道192.168.5.2這個IP地址,在網(wǎng)絡(luò)上是否有主機(jī)正在使用它,它的檢測方式是發(fā)送一個目標(biāo)地址為192.168.5.2的ICMP回顯消息,如果沒有回應(yīng),說明該地址沒有被使用,可以被分配出去,反之則不能;DHCP服務(wù)器還會檢測與中繼的連通性,確保中繼能成功的得到這個Offer消息,關(guān)于這個過程可以通過如下圖9.25所示的數(shù)據(jù)幀證實。在這里DHCP服務(wù)器為什么不使用ARP進(jìn)行IP地址沖突探測?原因很簡單,因為在通過中繼申請IP地址的DHCP環(huán)境中,DHCP提供的IP地址通常都不是本地子網(wǎng)的IP地址范圍,ARP不能穿越路由器工作。

第四步:中繼向DHCP服務(wù)器發(fā)起DHCP的Request請求消息,該消息仍然以單播的方式發(fā)送,這與本地子網(wǎng)上DHCP的工作原理不同,在本地子網(wǎng)上的這個過程應(yīng)該是以廣播的形式進(jìn)行發(fā)送,而在中繼的環(huán)境中,中繼以單播發(fā)送,因為在這種情況下,通信雙方是很明確的,不可能存在有其它的DHCP服務(wù)器向中繼提供IP,兩個原因:第一個原因是中繼設(shè)備上會明確指示它該向哪臺DHCP服務(wù)器申請IP;第二個原因是中繼發(fā)起DHCP的Discover消息時,就是單播發(fā)送的,不會有第二臺DHCP服務(wù)器來為中繼提供IP,因為它不會自作多情。

第五步:DHCP服務(wù)器收到中繼的單播Request消息后,會回應(yīng)一個ACK消息給中繼,指示IP地址的租期正式生效,注意該消息仍然是以單播的形式發(fā)送,前面已經(jīng)描述了原因,這里不再重復(fù)描述。

第六步:事實上述第二步到第五步對于DHCP客戶端而言是完全透明的,它看不見中繼為它完成IP地址申請的過程。它只能看見中繼與自己的DHCP消息交互過程,當(dāng)DHCP的中繼成功的從DHCP服務(wù)器獲得地址后,中繼會給DHCP客戶端發(fā)送一個DHCP的Offer消息,告訴DHCP的客戶端可以提供給它的IP地址,注意,此時中繼就無需再檢測該IP地址在網(wǎng)絡(luò)上是否有沖突的可能性了,因為這個過程在上述的第三步中已經(jīng)做了檢測。

第七步:DHCP客戶端在收到DHCP中繼所提供的Offer消息后,會向DHCP的中繼發(fā)送一個DHCP的Request消息,正式請求IP地址。該消息以廣播的形式發(fā)送,為什么是會以廣播形式發(fā)送,在標(biāo)準(zhǔn)的DHCP環(huán)境已經(jīng)有明確說明。

第八步:DHCP中繼收到客戶端的Request消息后,會回應(yīng)一個ACK消息給DHCP客戶端,申明租約正式生效,然后DHCP客戶端在得到ACK消息后,會將DHCP中繼頒發(fā)給它的IP地址使用“免費(fèi)的ARP(請求的目標(biāo)IP和源IP地址一樣,它不希望得到任何回應(yīng))”做一個最終的地址沖突檢測。然后正式使用該IP地址。

注意:DHCP中繼,就其本身而言,它沒有任何資格頒發(fā)IP地址及其它TCP/IP屬性,它只是代理DHCP客戶端向DHCP服務(wù)器做申請,中繼與DHCP服務(wù)器交互DHCP消息的過程對于DHCP客戶端而言是透明的。

擴(kuò)展知識

相關(guān)評論

閱讀本文后您有什么感想? 已有 人給出評價!

  • 2791 喜歡喜歡
  • 2101 頂
  • 800 難過難過
  • 1219 囧
  • 4049 圍觀圍觀
  • 5602 無聊無聊
熱門評論
最新評論
第 1 樓 本機(jī)地址CZ88.NET 網(wǎng)友 客人 發(fā)表于: 2016/3/6 14:30:10
“它的检测方式是发送一个目标地址为192.168.5.2的ICMP回显消息,如果没有回应,说明该地址没有被使用,可以被分配出去,反之则不能”,如果DHCP服务器没有去往192.168.5.0的路由,也会将IP分配出去吗?

支持( 0 ) 蓋樓(回復(fù))

發(fā)表評論 查看所有評論(1)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)