【電腦網路】DHCP:動態主機設定通訊協定

來源:互聯網
上載者:User

標籤:

  DHCP(Dynamic Host Configuration Protocol,動態主機設定通訊協定)是一個區域網路的網路通訊協定,使用UDP協議工作, 主要有兩個用途:給內部網路或網路服務供應商自動分配IP地址,給使用者或者內部網路系統管理員作為對所有電腦作 中央管理的手段,在RFC 2131中有詳細的描述。DHCP有3個連接埠,其中UDP67和UDP68為正常的DHCP服務連接埠,分別作為DHCP Server和DHCP Client的服務連接埠;546號連接埠用於DHCPv6 Client,而不用於DHCPv4,是為DHCP failover服務,這是需要特別開啟的服務,DHCP failover是用來做“雙機熱備”的。

  DHCP(Dynamic Host Configuration Protocol,動態主機設定通訊協定)通常被應用在大型的區域網路絡環境中,主要作用是集中的管理、分配IP地址,使網路環境中的主機動態獲得IP地址、 Gateway地址(預設閘道)與本地DNS伺服器位址等資訊,並能夠提升地址的使用率。DHCP協議採用用戶端/伺服器模型,主機地址的動態分配任務由網路主機驅動。當DHCP伺服器接收到來自網路主機申請地址的資訊時,才會向網路主機發送相關的地址配置等資訊,以實現網路主機地址資訊的動態配置。

  

DHCP工作過程主要分為下面幾步:

  1. 新到達的主機的首要任務是發現一個要與其互動的DHCP伺服器。這可通過DHCP發現報文(DHCP discover message)來完成,客戶機在UDP分組中向連接埠67發送該發現報文。但是這個資料給誰呢?該主機甚至不知道它所連結網路的IP地址,更不用說用於該網路的DHCP伺服器位址了。在這種情況下,DHCP客戶機產生包含DHCP發現報文的IP資料報,其中使用廣播目的地址255.255.255.255並且使用“本主機”源地址0.0.0.0. DHCP客戶機將該IP資料包傳遞給鏈路層,鏈路層將該幀廣播到所有與該子網。

  2. DHCP伺服器收到一個DHCP發現報文時,用一個DHCP提供報文(DHCP offer message)對客戶機做出響應,仍然使用IP廣播位址255.255.255.255。為什麼還是使用廣播位址呢?因為在子網中可能有多個DHCP伺服器,這些DHCP伺服器都會發出DHCP應答保溫壺。客戶機只選擇其中的一個DHCP伺服器的應答報文,一般是最先到達的那個。

  3. 客戶機從一個或多個伺服器中選擇一個,並用DHCP請求報文(DHCP request message)對選中的伺服器進行響應,DHCP Client會發出一個廣播的DHCP Request報文,在選項欄位中會加入選中的DHCP Server的IP地址和需要的IP地址。

  4. DHCP Server收到DHCP Request報文後,判斷選項欄位中的IP地址是否與自己的地址相同。如果不相同,DHCP Server不做任何處理只清除相應IP地址分配記錄;如果相同,DHCP Server就會向DHCP Client響應一個DHCP ACK報文,並在選項欄位中增加IP地址的使用租期資訊。

  5. DHCP Client接收到DHCP ACK報文後,檢查DHCP Server分配的IP地址是否能夠使用。如果可以使用,則DHCP Client成功獲得IP地址並根據IP地址使用租期自動啟動續延過程;如果DHCP Client發現分配的IP地址已經被使用,則DHCP Client向DHCPServer發出DHCP Decline報文,通知DHCP Server禁用這個IP地址,然後DHCP Client開始新的地址申請過程。

  6. DHCP Client在成功擷取IP地址後,隨時可以通過發送DHCP Release報文釋放自己的IP地址,DHCP Server收到DHCP Release報文後,會回收相應的IP地址並重新分配。 

  在使用租期超過50%時刻處,DHCP Client會以單播形式向DHCP Server發送DHCPRequest報文來續租IP地址。如果DHCP Client成功收到DHCP Server發送的DHCP ACK報文,則按相應時間延長IP地址租期;如果沒有收到DHCP Server發送的DHCP ACK報文,則DHCP Client繼續使用這個IP地址。在使用租期超過87.5%時刻處,DHCP Client會以廣播形式向DHCP Server發送DHCPRequest報文來續租IP地址。如果DHCP Client成功收到DHCP Server發送的DHCP ACK報文,則按相應時間延長IP地址租期;如果沒有收到DHCP Server發送的DHCP ACK報文,則DHCP Client繼續使用這個IP地址,直到IP地址使用租期到期時,DHCP Client才會向DHCP Server發送DHCP Release報文來釋放這個IP地址,並開始新的IP地址申請過程。   需要說明的是:DHCP用戶端可以接收到多個DHCP伺服器的DHCPOFFER資料包,然後可能接受任何一個DHCPOFFER資料包,但用戶端通常只接受收到的第一個DHCPOFFER資料包。另外,DHCP伺服器DHCPOFFER中指定[1] 的地址不一定為最終分配的地址,通常情況下,DHCP伺服器會保留該地址直到用戶端發出正式請求。   正式請求DHCP伺服器分配地址DHCPREQUEST採用廣播包,是為了讓其它所有發送DHCPOFFER資料包的DHCP伺服器也能夠接收到該資料包,然後釋放已經OFFER(預分配)給用戶端的IP地址。   如果發送給DHCP用戶端的地址已經被其他DHCP用戶端使用,用戶端會向伺服器發送DHCPDECLINE資訊包拒絕接受已經分配的地址資訊。在協商過程中,如果DHCP用戶端發送的REQUEST訊息中的地址資訊不正確,如用戶端已經遷移到新的子網或者租約已經到期,DHCP伺服器會發送DHCPNAK訊息給DHCP客戶 端,讓用戶端重新發起地址請求過程。

  

 

參考資料:

  1. http://baike.baidu.com/item/DHCP

  2. 《電腦網路--自頂向下方法》

【電腦網路】DHCP:動態主機設定通訊協定

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.