DHCP IP

管理IP位址起手式 DHCP協定細說從頭

2013-12-20
相信很多人都聽過DHCP這個名詞,相信也有不少人知道當要設定IP位址的時候就會聽到DHCP,但是到底DHCP涵蓋什麼範圍?DHCP會做哪些事情?它的原理以及發展歷史是什麼?筆者相信應該只有非常少數的人知道,因此筆者在這篇文章中就來分享一下DHCP的整體概念。
靜態分配方式
在靜態分配方式的情況下,DHCP伺服器會根據已經定義好的MAC位址與IP位址的對應表來分配,而這個對應表格是手動輸入的。只有擁有MAC位址備對應到的用戶端才可以取得相對應的IP位址。必須注意的是,部分DHCP伺服器並不支援靜態分配方式。

自動分配方式
在自動分配方式的情況下,DHCP伺服器一樣可以針對事先已經定義好的IP位址範圍來分配IP位址給用戶端。但是差別在於IP位址的使用是沒有期限,而且在這種方式之下,DHCP伺服器會另外存在一個表格,用來記錄每個用戶端曾經使用過哪些IP位址,以避免分配重複的IP位址給同樣的用戶端。

從DHCP伺服器取得設定過程

用戶端從DHCP伺服器端取得IP位址以及相關網路設定的過程,可以說分為四個主要的步驟:

  1. 1. Discovery(尋找或是請求)
    2. Offer(提供)
    3. Request(選擇需求)
    4. Acknowledge(最後確認)


  2.  

在詳細介紹之前,讓讀者知道一下DHCP所使用的埠(Port)在DHCP伺服器端是UDP 67,而用戶端是UDP 68。

以上四個步驟是有先後順序的,而第一步驟和第三步驟都是由用戶端發送到DHCP端,第二步驟以及第四步驟則是由DHCP伺服器端發送到用戶端。因此,第一步驟以及第三步驟為廣播封包(Broadcast),第二步驟以及第四步驟則為單一對象的封包(Unicast)。

第一步驟:Discovery(用戶端→DHCP伺服器)

這個步驟最主要的目的在於尋求DHCP伺服器位置。如同上面所提到,使用廣播封包來完成,另外當然也可以在各個網路之間設定DHCP Relay Agent,以達到跨網路尋求的步驟。

第二步驟:Offer(DHCP伺服器→用戶端)

一旦DHCP伺服器收到Discovery之後,DHCP伺服器會回傳一個MAC位址、IP位址資料以及相關網路設定資料(例如子網路遮罩、時效、預設閘道位址以及DHCP伺服器位址等等)。

第三步驟:Request(用戶端→DHCP伺服器)

當用戶端取得Offer的網路封包之後,此時這個用戶端就知道要合作的DHCP伺服器在哪裡。不過,剛剛有提到接下來這個步驟依然是廣播封包(Broadcast),因為用戶端也必須要讓其他DHCP伺服器知道有DHCP伺服器已經在幫忙了。

這樣一來,如果有準備要合作的DHCP伺服器收到這個封包,就知道不需要繼續幫忙,並且把嘗試要丟出去的IP位址與資料再度收回來,保留給其他用戶端使用。

第四步驟:Acknowledge(DHCP伺服器→用戶端)

最後這個步驟就是確認時效以及所有其他設定資料。到這裡為止,TCP/IP在DHCP協定的運作下,就大功告成了!

結語

在這篇文章中,筆者已經為各位讀者介紹了DHCP協定的歷史、發展原因、IP位址相關基本知識、DHCP Relay Agent、DHCP伺服器分配IP位址的方式,以及用戶端與伺服器端之間詳細的來回步驟解釋。

其實,DHCP協定還有好多事情可以介紹,預計會在以後的文章中陸續介紹。至少,到這裡,讀者已經比大部分的人都了解DHCP了。

<本文作者:胡凱智,目前在美商Mozilla擔任資深全球專案經理,曾於趨勢科技任職七年多,有兩年美國矽谷工作經驗,在美國專利局擁有軟體專利。讀者可在其部落格獲取更多網路知識及交流建議:http://tw.myblog.yahoo.com/kaichih-hu>

 


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!