DHCP協議詳解 zz

2022-02-08 06:54:46 字數 4945 閱讀 3646

在常見的小型網路中(例如家庭網路和學生宿舍網),網路管理員都是採用手工分配ip位址的方法,而到了中、大型網路,這種方法就不太適用了。在中、大型網路,特別是大型網路中,往往有超過100臺的客戶機,手動分配ip位址的方法就不太合適了。因此,我們必須引入一種高效的ip位址分配方法,幸好,dhcp(dynamichostconfigurationprotocol)為我們解決了這一難題。

dhcp的優缺點

dhcp服務優點不少:網路管理員可以驗證ip位址和其它配置引數,而不用去檢查每個主機;dhcp不會同時租借相同的ip位址給兩台主機;dhcp管理員可以約束特定的計算機使用特定的ip位址;可以為每個dhcp作用域設定很多選項;客戶機在不同子網間移動時不需要重新設定ip位址。

但同時也存在不少缺點:dhcp不能發現網路上非dhcp客戶機已經在使用的ip位址;當網路上存在多個dhcp伺服器時,乙個dhcp伺服器不能查出已被其它伺服器租出去的ip位址;dhcp伺服器不能跨路由器與客戶機通訊,除非路由器允許bootp**。

工作流程

dhcp服務的工作過程是這樣的:

1.發現階段,即dhcp客戶機尋找dhcp伺服器的階段。dhcp客戶機以廣播方式(因為dhcp伺服器的ip位址對於客戶機來說是未知的)傳送dhcpdiscover發現資訊來尋找dhcp伺服器,即向位址255.255.255.255傳送特定的廣播資訊。網路上每一台安裝了tcp/ip協議的主機都會接收到這種廣播資訊,但只有dhcp伺服器才會做出響應。

2.提供階段,即dhcp伺服器提供ip位址的階段。在網路中接收到dhcpdiscover發現資訊的dhcp伺服器都會做出響應,它從尚未出租的ip位址中挑選乙個分配給dhcp客戶機,向dhcp客戶機傳送乙個包含出租的ip位址和其他設定的dhcpoffer提供資訊。

3.選擇階段,即dhcp客戶機選擇某台dhcp伺服器提供的ip位址的階段。如果有多台dhcp伺服器向dhcp客戶機發來的dhcpoffer提供資訊,則dhcp客戶機只接受第乙個收到的dhcpoffer提供資訊,然後它就以廣播方式回答乙個dhcprequest請求資訊,該資訊中包含向它所選定的dhcp伺服器請求ip位址的內容。之所以要以廣播方式回答,是為了通知所有的dhcp伺服器,他將選擇某台dhcp伺服器所提供的ip位址。

4.確認階段,即dhcp伺服器確認所提供的ip位址的階段。當dhcp伺服器收到dhcp客戶機回答的dhcprequest請求資訊之後,它便向dhcp客戶機傳送乙個包含它所提供的ip位址和其他設定的dhcpack確認資訊,告訴dhcp客戶機可以使用它所提供的ip位址。然後dhcp客戶機便將其tcp/ip協議與網絡卡繫結,另外,除dhcp客戶機選中的伺服器外,其他的dhcp伺服器都將收回曾提供的ip位址。

5.重新登入。以後dhcp客戶機每次重新登入網路時,就不需要再傳送dhcpdiscover發現資訊了,而是直接傳送包含前一次所分配的ip位址的dhcprequest請求資訊。當dhcp伺服器收到這一資訊後,它會嘗試讓dhcp客戶機繼續使用原來的ip位址,並回答乙個dhcpack確認資訊。如果此ip位址已無法再分配給原來的dhcp客戶機使用時(比如此ip位址已分配給其它dhcp客戶機使用),則dhcp伺服器給dhcp客戶機回答乙個dhcpnack否認資訊。當原來的dhcp客戶機收到此dhcpnack否認資訊後,它就必須重新傳送dhcpdiscover發現資訊來請求新的ip位址。

6.更新租約。dhcp伺服器向dhcp客戶機出租的ip位址一般都有乙個租借期限,期滿後dhcp伺服器便會收回出租的ip位址。如果dhcp客戶機要延長其ip租約,則必須更新其ip租約。dhcp客戶機啟動時和ip租約期限過一半時,dhcp客戶機都會自動向dhcp伺服器傳送更新其ip租約的資訊。

為了便於理解,我們把dhcp客戶機比做餐館裡的客人,dhcp伺服器比做服務員(乙個餐館裡也可以有多個服務員),ip位址比做客戶需要的食物。那麼可以這樣描述整個過程:客人走進餐館,問:「有沒有服務員啊?」(dhcpdiscover),多個服務員同時回答:「有,我這有雞翅」「有,我這有漢堡」(dhcpoffer)。客人說:「好吧,我要乙份漢堡」(dhcprequest,這個客人比較死板,總是選擇第一次聽到的食物),端著漢堡的服務員回應了一聲:「來啦」(dhcpack),並把食物端到客人面前,供其享用(將網絡卡和ip位址繫結)。客人下次來的時候,就直接找上次那個服務員點自己喜歡的漢堡了(dhcprequest),如果還有漢堡,服務員會再次確認並上菜(dhcpack),而如果已經賣完了,服務員則會告訴客人:「不好意思,已經賣完了」(dhcpnack)。當然,服務員隔一段時間會來收拾一次桌子,除非客人特別說明這菜還要繼續吃的,服務員會將剩菜端走。

接下來,我們就向大家說明如何在伺服器上配置dhcp服務,我們選取了兩種最為常見的伺服器作業系統windows2000server和linux作為講解例項,另外我們還會介紹如何在常見的網路裝置上配置dhcp。

windows2000server

windows2000server在dhcp上下了很大的功夫,不僅解決了nt4.0中的種種問題,而且還增加了許多新的特性。例如和dns的整合,加強的dhcp監視和管理,dhcp集群伺服器,dhcp目錄授權等等。

下面是在windows2000中配置dhcp服務的例項

1.安裝dhcp服務。用管理員賬號登入,在控制面板中雙擊「新增/刪除程式」,選擇「新增/刪除windows元件」,啟動windows元件嚮導,選中「網路服務」,單擊「詳細資訊」,選中「動態主機分配協議」,單擊「確定」,即可在該伺服器上安裝dhcp服務。

2.要想使剛安裝的dhcp伺服器能為客戶機分配ip位址,必須首先在域中為該伺服器授權。使用管理員賬號登入計算機,在「管理工具」選單中開啟dhcp控制台;在控制樹中,右鍵單擊想要授權的伺服器,在彈出選單中,單擊「授權」,即可完成對該伺服器的授權。

注意:授權(authorize),這個功能非常實用和必要,因為在舊版本的dhcp伺服器中任何使用者都可以建立一台dhcp伺服器,該伺服器也可以為使用者分配ip位址,這樣就可能造成位址衝突,在windows2000server中這個問題得到了有效的解決:任何dhcp伺服器只有在目錄服務中被授權之後才能為客戶分配ip位址,否則即使該伺服器收到租用請求,也不能為客戶機分配ip位址。

3.建立並配置作用域。在控制樹中,右鍵單擊要用來分配位址的伺服器,選中「新建作用域」,在接下來的嚮導中,依次設定作用網域名稱、作用域的起始位址、輸入子網掩碼、排除的位址或位址範圍、dhcp租約期限資訊。名稱項只是作提示用,可填任意內容。ip位址範圍中有起始位址、結束位址和子網掩碼的選項,我們可以分別填入10.0.0.1,10.255.255.254,255.0.0.0。如果有必要,可在後面的選項中輸入要保留的ip位址或ip位址範圍。租約期限選項可設定dhcp伺服器所分配的ip位址的有效期,比如設8天。最後,分配好dns、wins伺服器,並啟用作用域。

redhatlinux

在linux上配置dhcp需要的檔案有/etc/dhcpd.conf,/var/state/dhcp/dhcpd.leases,相關工具有/etc/rc.d/init.d/dhcpd。下面是在redhatlinux上配置dhcp的例項:

1.設定dhcp伺服器的fqdn名optiondomain-name"clinet.com"

2.設定dns的伺服器位址optiondomain-name-servers10.1.1.1;

3.設定子網掩碼optionsubnet-mask255.255.0.0;

4.設定租約時間

如果客戶端不能請求乙個指定的租用期,就使用該引數來定義該位址租用的時間長度default-lease-time1200;

如果客戶端可以請求乙個制訂的租用期,就使用該命令來定義最長的租用時間max-lease-time87600

5.設定子網的網段及相關範圍配置

subnet10.0.0.0netmask255.0.0.0;

6.給客戶繫結靜態ip

hostclinet

網路裝置

有時候,在一些中高階的網路裝置(路由器、交換機)上已經整合了dhcp服務,我們便可以在網路裝置上實現dhcp服務,不使用專門的主機做dhcp伺服器,以節省成本。

下面是在cisco路由器上配置dhcp的例項

1.指定不自動分配的ip位址範圍

ipdhcpexcluded-address10.1.1.110.1.1.19//指定從10.1.1.1到10.1.1.19的ip位址是手工分配的

2.設定dhcp位址池

ipdhcppoolglobal//這條命令指定了dhcp位址池的名稱

network10.1.0.0255.255.0.0//動態分配的ip位址範圍,這裡是10.1.0.0網段所有的ip位址(前面指定的非自動分配位址除外)

3.設定dhcp附加資訊

domain-nameclient.com//為客戶機配置域字尾

dns-server10.1.1.110.1.1.2//為客戶機配置dns伺服器的位址,這裡是10.1.1.1和10.1.1.2

netbios-name-server10.1.1.510.1.1.6//為客戶機配置wins伺服器位址,這裡是10.1.1.5和10.1.1.6

netbios-node-typeh-node//為客戶機配置節點模式(影響名稱解釋的順利如h-node是先通過wins伺服器解釋)

default-router10.1.0.10010.1.0.101//為客戶機配置預設閘道器

4.設定租約期限

lease8//設定租約時間為8天

5.有時候我們需要為dhcp伺服器設定子位址池,例如我們希望10.1.1.0/24這個網段的客戶機的閘道器為10.1.1.100,我們這樣設定:

ipdhcppoolsubglobal

network10.1.1.0255.255.255.0//global的子位址池,將從global繼承網域名稱等選項

default-router10.1.1.10010.1.1.101//為客戶機配置預設閘道器

6.相關的dhcp除錯命令

noservicedhcp//停止dhcp服務

showipdhcpbinding//顯示位址分配情況

showipdhcpconflict//顯示位址衝突情況。

dhcp伺服器配置詳解

DHCP協議詳解

在常見的小型網路中 例如家庭網路和學生宿舍網 網路管理員都是採用手工分配ip位址的方法,而到了中 大型網路,這種方法就不太適用了。在中 大型網路,特別是大型網路中,往往有超過100臺的客戶機,手動分配ip位址的方法就不太合適了。因此,我們必須引入一種高效的ip位址分配方法,幸好,dhcp dynam...

dhcp協議詳解

dhcp,動態主機配置協議,前身是bootp協議,是乙個區域網的網路協議,使用udp協議工作,常用的2個埠 67 dhcp server 68 dhcp client dhcp通常被用於區域網環境,主要作用是集中的管理 分配ip位址,使client動態的獲得ip位址 gateway位址 dns伺服器...

DHCP協議詳解

dhcp協議詳解 定義 dhcp dynamic host configuration protocol 動態主機配置協議,主要作用是為區域網內的主機自動分配ip位址。dchp工作在應用層,是bootp bootscrap protocol 的一種擴充套件,使用udp協議進行運輸,udp67和udp...