網絡中存在2台DHCP服務器問題


網絡中存在2台DHCP服務器,客戶機是通過UDP廣播尋找服務器:源地址為0.0.0.0目的地址為255.255.255.255,  按照邏輯 哪台server響應快,使用哪個IP。

DHCP獲取IP原理:

  DHCP,動態主機配置協議,前身是BOOTP協議,是一個局域網的網絡協議,使用UDP協議工作,常用的2個端口:67(DHCP server),68(DHCP client)。DHCP通常被用於局域網環境,主要作用是集中的管理、分配IP地址,使client動態的獲得IP地址、Gateway地址、DNS服務器地址等信息,並能夠提升地址的使用率。簡單來說,DHCP就是一個不需要賬號密碼登錄的、自動給內網機器分配IP地址等信息的協議。

  在DHCP過程中有兩個對象DHCP客戶端和DHCP服務端,而且DHCP在三層是通過UDP協議實現,DHCP服務運行在67和68端口。

DHCP實現的簡單過程,如圖1所示,

                        圖1

文字描述:

1.發現階段

    在DHCP服務配置完成后,DHCP Client啟動時,由於沒有IP地址,會自動發送以discover的廣播報文,源地址為0.0.0.0目的地址為255.255.255.255。網絡上的所有支持TCP/IP的主機都會收到該DHCP Discovery報文,但是只有DHCP Server會響應該報文。

2.DHCP Server offer響應階段

    DHCP Server收到discover報文后,通過解析報文,查詢dhcpd.conf配置文件,如果在地址池中能找到合適的IP地址,DHCP Server會給DHCP Client發送offer報文,告訴DHCP Client,該DHCP Server擁有資源,可以提供DHCP服務。

3.DHCP Client請求使用階段

當DHCP Client收到offer報文時,知道在本網段中有可用的DHCP Server可以提供DHCP服務,因此,它會發送一個request請求報文,向該DHCP Server請求IP地址、掩碼、網關、DNS等信息,以便登陸網絡。

4.DHCP Server確認使用階段(獲得IP地址)

當DHCP Server收到DHCP Client發送的DHCP Request后,確認要為該DHCP Client提供的IP地址后,便向該DHCP Client響應一個包含該IP地址以及其他Option的報文,來告訴DHCP Client可以使用該IP地址了。然后DHCP Client即可以將該IP地址與網卡綁定。另外其他DHCP Server都將收回自己之前為DHCP Client提供的IP地址。

5. DHCP Client重新登錄網絡階段

當DHCP Client重新登錄后,發送一個以前的DHCP Server分配的IP地址信息的DHCP Request報文,當DHCP Server收到該請求后,會嘗試讓DHCP客戶端繼續使用該IP地址。並回答一個ACK報文。

如果該IP地址無法再次分配給該DHCP Client后,DHCP回復一個NAK報文,當DHCP Client收到該NAK報文后,會重新發送DHCP Discovery報文來重新獲取IP地址。

6. DHCP Client續約階段

DHCP獲取到的IP地址都有一個租約,租約過期后,DHCP Server將回收該IP地址,所以如果DHCP Client如果想繼續使用該IP地址,則必須更新器租約。更新的方式就是,當當前租約期限過了一半后,DHCP Client都會發送DHCP Renew報文來續約租期。

通過wireshark抓包也可以看到DHCP的工作過程,如圖2

 

                        圖2

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM