在常見的小型網絡中(例如家庭網絡和學生宿舍網),網絡管理者都是采用手工配置設定IP位址的方法,而到了中、大型網絡,這種方法就不太适用了。在中、大型網絡,特别是大型網絡中,往往有超過100台的客戶機,手動配置設定IP位址的方法就不太合适了。是以,我們必須引入一種高效的IP位址配置設定方法,幸好,DHCP(Dynamic Host Configuration Protocol)為我們解決了這一難題。
DHCP的優缺點
DHCP服務優點不少:網絡管理者可以驗證IP位址和其它配置參數,而不用去檢查每個主機;DHCP不會同時租借相同的IP位址給兩台主機;DHCP管理者可以限制特定的計算機使用特定的IP位址;可以為每個DHCP作用域設定很多選項;客戶機在不同子網間移動時不需要重新設定IP位址。
但同時也存在不少缺點:DHCP不能發現網絡上非DHCP客戶機已經在使用的IP位址;當網絡上存在多個DHCP伺服器時,一個DHCP伺服器不能查出已被其它伺服器租出去的IP位址;DHCP伺服器不能跨路由器與客戶機通信,除非路由器允許BOOTP轉發。
工作流程
DHCP服務的工作過程是這樣的:
1.發現階段,即DHCP客戶機尋找DHCP伺服器的階段。DHCP客戶機以廣播方式(因為DHCP伺服器的IP位址對于客戶機來說是未知的)發送DHCP discover發現資訊來尋找DHCP伺服器,即向位址255.255.255.255發送特定的廣播資訊。網絡上每一台安裝了TCP/IP協定的主機都會接收到這種廣播資訊,但隻有DHCP伺服器才會做出響應(如圖1)。

2.提供階段,即DHCP伺服器提供IP位址的階段。在網絡中接收到DHCP discover發現資訊的DHCP伺服器都會做出響應,它從尚未出租的IP位址中挑選一個配置設定給DHCP客戶機,向DHCP客戶機發送一個包含出租的IP位址和其他設定的DHCP offer提供資訊(如圖2)。
3.選擇階段,即DHCP客戶機選擇某台DHCP伺服器提供的IP位址的階段。如果有多台DHCP伺服器向DHCP客戶機發來的DHCP offer提供資訊,則DHCP客戶機隻接受第一個收到的DHCP offer提供資訊,然後它就以廣播方式回答一個DHCP request請求資訊,該資訊中包含向它所標明的DHCP伺服器請求IP位址的内容。之是以要以廣播方式回答,是為了通知所有的DHCP伺服器,他将選擇某台DHCP伺服器所提供的IP位址(如圖3)。
4.确認階段,即DHCP伺服器确認所提供的IP位址的階段。當DHCP伺服器收到DHCP客戶機回答的DHCP request請求資訊之後,它便向DHCP客戶機發送一個包含它所提供的IP位址和其他設定的DHCP ack确認資訊,告訴DHCP客戶機可以使用它所提供的IP位址。然後DHCP客戶機便将其TCP/IP協定與網卡綁定,另外,除DHCP客戶機選中的伺服器外,其他的DHCP伺服器都将收回曾提供的IP位址(如圖4)。
5.重新登入。以後DHCP客戶機每次重新登入網絡時,就不需要再發送DHCP discover發現資訊了,而是直接發送包含前一次所配置設定的IP位址的DHCP request請求資訊。當DHCP伺服器收到這一資訊後,它會嘗試讓DHCP客戶機繼續使用原來的IP位址,并回答一個DHCP ack确認資訊。如果此IP位址已無法再配置設定給原來的DHCP客戶機使用時(比如此IP位址已配置設定給其它DHCP客戶機使用),則DHCP伺服器給DHCP客戶機回答一個DHCP nack否認資訊。當原來的DHCP客戶機收到此DHCP nack否認資訊後,它就必須重新發送DHCP discover發現資訊來請求新的IP位址。
6.更新租約。DHCP伺服器向DHCP客戶機出租的IP位址一般都有一個租借期限,期滿後DHCP伺服器便會收回出租的IP位址。如果DHCP客戶機要延長其IP租約,則必須更新其IP租約。DHCP客戶機啟動時和IP租約期限過一半時,DHCP客戶機都會自動向DHCP伺服器發送更新其IP租約的資訊。
為了便于了解,我們把DHCP客戶機比做餐館裡的客人,DHCP伺服器比做服務員(一個餐館裡也可以有多個服務員),IP位址比做客戶需要的食物。那麼可以這樣描述整個過程:客人走進餐館,問:“有沒有服務員啊?”(DHCP discover),多個服務員同時回答:“有,我這有雞翅”“有,我這有漢堡”(DHCP offer)。客人說:“好吧,我要一份漢堡”(DHCP request,這個客人比較死闆,總是選擇第一次聽到的食物),端着漢堡的服務員回應了一聲:“來啦”(DHCP ack),并把食物端到客人面前,供其享用(将網卡和IP位址綁定)。客人下次來的時候,就直接找上次那個服務員點自己喜歡的漢堡了(DHCP request),如果還有漢堡,服務員會再次确認并上菜(DHCP ack),而如果已經賣完了,服務員則會告訴客人:“不好意思,已經賣完了”(DHCP nack)。當然,服務員隔一段時間會來收拾一次桌子,除非客人特别說明這菜還要繼續吃的,服務員會将剩菜端走。
我們就向大家說明如何在伺服器上配置DHCP服務,我們選取了兩種最為常見的伺服器作業系統 Windows 2000 Server和Linux作為講解執行個體,另外我們還會介紹如何在常見的網絡裝置上配置DHCP。
Windows 2000 Server
Windows 2000 Server在DHCP上下了很大的功夫,不僅解決了NT 4.0中的種種問題,而且還增加了許多新的特性。例如和DNS的內建,加強的DHCP監視和管理,DHCP叢集伺服器,DHCP目錄授權等等。
下面是在Windows2000中配置DHCP服務的執行個體
1.安裝DHCP服務。用管理者賬号登入,在控制台中輕按兩下“添加/删除程式”,選擇“添加/删除Windows元件”,啟動Windows元件向導,選中“網絡服務”,單擊“詳細資訊”,選中“動态主機配置設定協定”,單擊“确定”,即可在該伺服器上安裝DHCP服務。
2.要想使剛安裝的DHCP伺服器能為客戶機配置設定IP位址,必須首先在域中為該伺服器授權。使用管理者賬号登入計算機,在“管理工具”菜單中打開DHCP控制台;在控制樹中,右鍵單擊想要授權的伺服器,在彈出菜單中,單擊“授權”,即可完成對該伺服器的授權。
小知識:授權(Authorize),這個功能非常實用和必要,因為在舊版本的DHCP伺服器中任何使用者都可以建立一台DHCP伺服器,該伺服器也可以為使用者配置設定IP位址,這樣就可能造成位址沖突,在Windows 2000 Server中這個問題得到了有效的解決:任何DHCP伺服器隻有在目錄服務中被授權之後才能為客戶配置設定IP位址,否則即使該伺服器收到租用請求,也不能為客戶機配置設定IP位址。