複製鏈接
請複製以下鏈接發送給好友

dhcp+

鎖定
在常見的小型網絡中(例如家庭網絡和學生宿舍網),網絡管理員都是採用手工分配IP地址的方法,而到了中、大型網絡,這種方法就不太適用了。在中、大型網絡,特別是大型網絡中,往往有超過100台的客户機,手動分配IP地址的方法就不太合適了。因此,我們必須引入一種高效的IP地址分配方法,幸好,DHCP(DynamicHostConfigurationProtocol)為我們解決了這一難題。
中文名
dhcp+
外文名
DynamicHostConfigurationProtocol
用    法
家庭網絡和學生宿舍網
性    質
大型網絡中

dhcp+簡介

DHCP+認證技術是一種基於DHCP協議控制終端用户的IP地址分配,實現控制用户接入上網的認證鑑權技術。
DHCP協議是RFC組織通過RFC 2131、2132定義的標準客户機服務器工作機制,主要實現客户機向服務器請求分配IP地址的流程。
DHCP協議主要解決以下問題:
將IP地址和TCP/IP的設置統一管理起來
避免不必要的地址衝突
節省了網絡管理員手工設置和分配地址的麻煩
略微達到節省IP地址的目的
但是作為接入認證技術,DHCP協議本身存在問題,很多業務功能沒有定義、無法實現。主要包括:用户的上下網偵測和Session維護、用户上網時長的採集等功能。
同時,考慮到電信運營的需要,DHCP+認證系統還需要解決安全性問題,如防IP地址盜用、防偽DHCP服務器、防DOS攻擊、DHCP廣播域控制等。
DHCP+認證技術主要是通過對DHCP協議進行擴展,來實現上述功能和業務要求。發展出的技術包括DHCP+Web認證和DHCP+Client認證兩種方式。
DHCP+Web認證和DHCP+Client認證比較,DHCP+Client認證方式,更加具有優勢,主要體現在以下幾點:
計費準確率高;
安全性高,具備防偽DHCP、防DOS攻擊的能力;
對用户控制力度更強,可以制止用户私拉盜接行為。
因此,在運營商採用DHCP+認證技術進行寬帶接入業務開展時,更加適用。
DHCP+ 的認證過程如下:DHCP 用户通過廣播找到DHCP服務器,從迴應的多個DHCP服務器中選一個提出申請,該服務器接受之後,通過認證用户的有關信息,確認是合法用户之後,就把相關參數,如IP地址、DNS服務器子網掩碼網關的地址等傳送給用户。用户得到這些參數之後,就能直接進入Internet網進行通信,而所有的通信流無需經過DHCP服務器

dhcp+優缺點

dhcp+優點

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

dhcp+缺點

但同時也存在不少缺點:DHCP不能發現網絡上非DHCP客户機已經在使用的IP地址;當網絡上存在多個DHCP服務器時,一個DHCP服務器不能查出已被其它服務器租出去的IP地址;DHCP服務器不能跨路由器與客户機通信,除非路由器允許BOOTP轉發。

dhcp+工作流程

dhcp+發現階段

工作流程 工作流程
發現階段,即DHCP客户機尋找DHCP服務器的階段。
DHCP客户機以廣播方式(因為DHCP服務器的IP地址對於客户機來説是未知的)發送DHCPdiscover發現信息來尋找DHCP服務器,即向地址255.255.255.255發送特定的廣播信息。網絡上每一台安裝了TCP/IP協議的主機都會接收到這種廣播信息,但只有DHCP服務器才會做出響應。

dhcp+提供階段

圖2 圖2
提供階段,即DHCP服務器提供IP地址的階段。在網絡中接收到DHCPdiscover發現信息的DHCP服務器都會做出響應,它從尚未出租的IP地址中挑選一個分配給DHCP客户機,向DHCP客户機發送一個包含出租的IP地址和其他設置的DHCPoffer提供信息(如圖2)。

dhcp+選擇階段

選擇階段,即DHCP客户機選擇某台DHCP服務器提供的IP地址的階段。如果有多台DHCP服務器向DHCP客户機發來的DHCPoffer提供信息,則DHCP客户機只接受第一個收到的DHCPoffer提供信息,然後它就以廣播方式回答一個DHCPrequest請求信息,該信息中包含向它所選定的DHCP服務器請求IP地址的內容。之所以要以廣播方式回答,是為了通知所有的DHCP服務器,他將選擇某台DHCP服務器所提供的IP地址。

dhcp+確認階段

工作流程 工作流程
確認階段,即DHCP服務器確認所提供的IP地址的階段。當DHCP服務器收到DHCP客户機回答的DHCPrequest請求信息之後,它便向DHCP客户機發送一個包含它所提供的IP地址和其他設置的DHCPack確認信息,告訴DHCP客户機可以使用它所提供的IP地址。然後DHCP客户機便將其TCP/IP協議網卡綁定,另外,除DHCP客户機選中的服務器外,其他的DHCP服務器都將收回曾提供的IP地址。

dhcp+重新登錄

重新登錄。以後DHCP客户機每次重新登錄網絡時,就不需要再發送DHCPdiscover發現信息了,而是直接發送包含前一次所分配的IP地址的DHCPrequest請求信息。當DHCP服務器收到這一信息後,它會嘗試讓DHCP客户機繼續使用原來的IP地址,並回答一個DHCPack確認信息。如果此IP地址已無法再分配給原來的DHCP客户機使用時(比如此IP地址已分配給其它DHCP客户機使用),則DHCP服務器給DHCP客户機回答一個DHCPnack否認信息。當原來的DHCP客户機收到此DHCPnack否認信息後,它就必須重新發送DHCPdiscover發現信息來請求新的IP地址。

dhcp+更新租約

更新租約。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在DHCP上下了很大的功夫,不僅解決了NT4.0中的種種問題,而且還增加了許多新的特性。例如和DNS的集成,加強的DHCP監視和管理,DHCP集羣服務器,DHCP目錄授權等等。

dhcp+地址範圍

注意:如果您的校園網絡是以工作組的形式存在的,可以在第6步的“配置DHCP選項”窗口中選擇“否,我想稍後配置這些選項”,此時設置過程跳過第7、8步。如果您的校園網絡是以域的形式存在的,建議您的網絡配置順序為:活動目錄的建立→WINS的建立→DNS的建立→DHCP的建立,這樣可以減少很多麻煩。

dhcp+測試

經過上述設置,DHCP服務已經正式啓動,我們需要在客户機上進行測試。只需把客户機的IP地址選項設為“自動獲取IP地址”,隨後重新啓動客户機。在客户機的“運行”對話框中鍵入“Ipconfig/all”,即可看到客户機分配到的動態IP地址

dhcp+過程

在Linux上配置DHCP需要的文件有/etc/dhcpd.conf,/var/state/dhcp/
dhcpd.leases,相關工具有/etc/rc.d/init.d/dhcpd。下面是在RedHatLinux上配置DHCP的實例:
1.設置DHCP服務器的FQDN名
optiondomain-name"name"
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;
{
range10.0.0.210.10.10.10;//指定子網的IP範圍
optionbroadcast-address10.0.0.255;//指定子網的廣播地址
optionrouters10.0.0.1;//指定網關的IP
}
6.給客户綁定靜態IP
hostclinet{
hardwareethernet00:50:BA:CA:2E:D2;//客户機的MAC地址
fixed-address10.10.10.10;//分給客户的地址
}

dhcp+發放過程

第一次登錄之後:
一旦 DHCP客户端成功地從服務器哪裏取得 DHCP 租約之後,除非其租約已經失效並且 IP 地址也重新設定回 0.0.0.0 ,否則就無需再發送 DHCP discover 信息了,而會直接使用已經租用到的 IP 地址向之前之 DHCP 服務器發出 DHCP request 信息,DHCP 服務器會盡量讓客户端使用原來的 IP 地址,如果沒問題的話,直接響應 DHCPack 來確認則可。如果該地址已經失效或已經被其它機器使用了,服務器則會響應一個 DHCPNACK封包給客户端,要求其從新執行 DHCP discover。
至於 IP 的租約期限卻是非常考究的,以 NT 為例子:DHCP 工作站除了在開機的時候發出 DHCP request 請求之外,在租約期限一半的時候也會發出 DHCP request ,如果此時得不到 DHCP服務器的確認的話,工作站還可以繼續使用該 IP ;然後在租約期限的八分之七的時候(即租約的87.5%),還得不到確認的話,那麼工作站就不能擁有這個 IP 了。

dhcp+網絡設備

有時候,在一些中高端的網絡設備(路由器交換機)上已經集成了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//為客户機配置域後綴
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+跨網運作

DHCDISCOVER 是以廣播方式進行的,其情形只能在同一網絡之內進行,因為 router 是不會將廣播傳送出去的。但如果 DHCP服務器安設在其它的網絡上面呢?由於 DHCP客户端還沒有 IP 環境設定,所以也不知道 Router 地址,而且有些 Router 也不會將 DHCP 廣播封包傳遞出去,因此這情形下 DHCP DISCOVER 是永遠沒辦法抵達 DHCP 服務器那端的,當然也不會發生 OFFER 及其它動作了。要解決這個問題,我們可以用 DHCP Agent (或 DHCP Proxy )主機來接管客户的 DHCP 請求,然後將此請求傳遞給真正的 DHCP服務器,然後將服務器的回覆傳給客户。這裏,Proxy主機必須自己具有路由能力,且能將雙方的封包互傳對方。
若不使用 Proxy,也可以在每一個網絡之中安裝 DHCP服務器,但這樣的話,一來設備成本會增加,而且,管理上面也比較分散。當然,如果在一個十分大型的網絡中,這樣的均衡式架構還是可取的。
分配地址
DHCP服務器有3種為DHCP客户機分配TCP/IP地址的方式:
● 手工分配:在手工分配中,網絡管理員在DHCP服務器通過手工方法配置DHCP客户機的IP地址。當DHCP客户機要求網絡服務時,DHCP服務器把手工配置的IP地址傳遞給DHCP客户機。
● 自動分配:在自動分配中,不需要進行任何的IP地址手工分配。當DHCP客户機第一次向DHCP服務器租用到IP地址後,這個地址就永久地分配給了該DHCP客户機,而不會再分配給其他客户機。
● 動態分配:當DHCP客户機向DHCP服務器租用IP地址時,DHCP服務器只是暫時分配給客户機一個IP地址。只要租約到期,這個地址就會還給DHCP服務器,以供其他客户機使用。如果DHCP客户機仍需要一個IP地址來完成工作,則可以再要求另外一個IP地址。
動態分配方法是惟一能夠自動重複使用IP地址的方法,它對於暫時連接到網上的DHCP客户機來説尤其方便,對於永久性與網絡連接的新主機來説也是分配IP地址的好方法。DHCP客户機在不再需要時才放棄IP地址,如DHCP客户機要正常關閉時,它可以把IP地址釋放給DHCP服務器,然後DHCP服務器就可以把該IP地址分配給申請IP地址的DHCP客户機。
使用動態分配方法可以解決IP地址不夠用的困擾,例如C類網絡只能支持254台主機,而網絡上的主機有三百多台,但如果網上同一時間最多有200個用户,此時如果使用手工分配或自動分配將不能解決這一問題。而動態分配方式的IP地址並不固定分配給某一客户機,只要有空閒的IP地址,DHCP服務器就可以將它分配給要求地址的客户機;當客户機不再需要IP地址時,就由DHCP服務器重新收回。

dhcp+封包格式

以下為對數據包各字段的簡要説明:
OP 若是 client 送給 server 的封包,設為 1 ,反向為 2 。
HTYPE 硬件類別,Ethernet 為 1 。
HLEN 硬件地址長度, Ethernet 為 6 。
HOPS 若封包需經過 router 傳送,每站加 1 ,若在同一網內,為 0 。
TRANSACTION ID DHCP REQUEST 時產生的數值,以作 DHCPREPLY 時的依據。
SECONDS Client 端啓動時間(秒)。
FLAGS 從 0 到 15 共 16 bits ,最左一 bit 為 1 時表示 server 將以廣播方式傳送封包給 client ,其餘尚未使用。
ciaddr 要是 client 端想繼續使用之前取得之 IP 地址,則列於這裏。
yiaddr 從 server 送回 client 之 DHCP OFFER 與 DHCPACK封包中,此欄填寫分配給 client 的 IP 地址。
siaddr 若 client 需要透過網絡開機,從 server 送出之 DHCP OFFER、DHCPACK、DHCPNACK封包中,此欄填寫開機程序代碼所在 server 之地址。
giaddr若需跨網域進行 DHCP 發放,此欄為 relay agent 的地址,否則為 0 。
chaddr Client 之硬件地址。
sname Server 之名稱字符串,以 0x00 結尾。
file 若client 需要透過網絡開機,此欄將指出開機程序名稱,稍後以 TFTP 傳送。
options 允許廠商定議選項(Vendor-Specific Area),以提供更多的設定信息(如:Netmask、Gateway、DNS、等等)。其長度可變,同時可攜帶多個選項,每一選項之第一個 byte 為信息代碼,其後一個 byte 為該項數據長度,最後為項目內容。
CODE LEN VALUE
此字段完全兼容 BOOTP ,同時擴充了更多選項。其中,DHCP封包可利用編碼為 0x53 之選項來設定封包類別:
項值  類別
1  DHCP DISCOVER
2  DHCP OFFER
3  DHCP REQUEST
4  DHCPDECLINE
5  DHCPACK
6  DHCPNACK
7  DHCPRELEASE

dhcp+安裝過程

首先,DHCP服務器在一台安裝有Windows 2000 Server/AdvancedServer系統的計算機上;其次,擔任DHCP服務器的計算機需要安裝TCP/IP協議,併為其設置靜態IP地址子網掩碼、默認網關等內容。默認情況下,DHCP作為Windows 2000 Server的一個服務組件不會被系統自動安裝,必須把它添加進來:
1.依次點擊“開始→設置→控制面板→添加/刪除程序→添加/刪除Windows組件”,打開相應的對話框。
2.用鼠標左鍵點擊選中對話框的“組件”列表框中的“網絡服務”一項,單擊[詳細信息]按鈕,出現帶有具體內容的對話框。
3.在對話框“網絡服務的子組件”列表框中勾選“動態主機配置協議(DHCP)”,單擊[確定]按鈕,根據屏幕提示放入Windows 2000 安裝光盤,複製所需要的程序。
4.重新啓動計算機後,在“開始→程序→管理工具”下就會出現“DHCP”一項,説明DHCP服務安裝成功。

dhcp+授權操作

出於對網絡安全管理的考慮,並不是在Windows 2000Server中安裝了DHCP功能後就能直接使用,還必須進行授權操作,未經授權操作的服務器無法提供DHCP服務。對DHCP服務器授權操作的過程如下:
1.依次點擊“開始→程序→管理工具→DHCP”,打開DHCP控制枱窗口。
2.在控制枱窗口中,用鼠標左鍵點擊選中服務器名,然後單擊右鍵,在快捷菜單中選中“授權”,此時需要幾分鐘的等待時間。注意:如果系統長時間沒有反應,可以按F5鍵或選擇菜單工具中的“操作”下的“刷新”進行屏幕刷新,或先關閉DHCP控制枱,在服務器名上用鼠標右鍵點擊。如果快捷菜單中的“授權”已經變為“撤消授權”,則表示對DHCP服務器授權成功。此時,最明顯的標記是服務器名前面紅色向上的箭頭變成了綠色向下的箭頭。這樣,這台被授權的DHCP服務器就有分配IP的權利了。

dhcp+地址範圍

當DHCP服務器被授權後,還需要對它設置IP地址範圍。通過給DHCP服務器設置IP地址範圍後,當DHCP客户機在向DHCP服務器申請IP地址時,DHCP服務器就會從所設置的IP地址範圍中選擇一個還沒有被使用的IP地址進行動態分配。添加IP地址範圍的操作如下:
1.點擊“開始→程序→管理工具→DHCP”,打開DHCP控制枱窗口。
2.選中DHCP服務器名,在服務器名上點擊鼠標右鍵,在出現的快捷菜單中選擇“新建作用域”,在出現的窗口中單擊[下一步]按鈕,在出現的對話框中輸入相關信息,單擊[下一步]按鈕。
3.根據自己網絡的實際情況,對各項進行設置,然後單擊[下一步]按鈕。
4.在對話框中,輸入需要排除的IP地址範圍。由於 網絡中有很多網絡設備需要指定靜態IP地址(即固定的IP地址),如服務器、交換機路由器等,此時必須把這些已經分配的IP地址從DHCP服務器的IP地址範圍中排除,否則會引起IP地址的衝突,導致網絡故障。
5.單擊[下一步]按鈕,在出現的“租約期限”窗口中可以設置IP地址租期的時間值。一般情況下,如果網絡中的IP地址比較緊張的時候,可以把租期設置短一些,而IP地址比較寬鬆時,可以把租期設置長一些。設置完後,單擊[下一步]按鈕,出現“配置DHCP選項”窗口。
6.在“配置DHCP選項”窗口中,如果選擇“是,我想現在配置這些選項”,此時可以對DNS服務器、默認網關、WINS服務器地址等內容進行設置;如果選擇“否,我想稍後配置這些選項”,可以在需要這些功能時再進行配置。此處,我們選擇前者,單擊[下一步]按鈕。
7.在出現的窗口中,輸入網絡中路由器的IP地址(即默認網關的IP地址)或是NAT服務器網絡地址轉換服務器)的IP地址,如WinRoute、SyGate等。這樣,客户機從DHCP服務器那裏得到的IP信息中就包含了默認網關的設定了,從而可以接入Internet。
8.單擊[下一步]按鈕,在此對話框中設置有關客户機DNS域的名稱,同時輸入DNS服務器的名稱和IP地址。,然後單擊[添加]按鈕進行確認。單擊[下一步]按鈕,在出現的窗口中進行WINS服務器的相關設置,設置完後單擊[下一步]按鈕。
9.在出現的窗口中,選擇“是,我想現在激活此作用域”後,單擊[下一步]按鈕,在出現的窗口中單擊[完成]按鈕,設置結束。此時,就可以在DHCP管理器中看到我們剛剛建好的作用域。

dhcp+特點

●管理員可以集中為整個互聯網指定通用和特定子網的TCP/IP參數,並且可以定義使用保留地址的客户機的參數。
● 提供安全可信的配置。DHCP避免了在每台計算機上手工輸入數值引起的配置錯誤,還能防止網絡上計算機配置地址的衝突。
● 使用DHCP服務器能大大減少配置花費的開銷和重新配置網絡上計算機的時間,服務器可以在指派地址租約時配置所有的附加配置值。
●客户機不需手工配置TCP/IP。
●客户機在子網間移動時,舊的IP地址自動釋放以便再次使用。在再次啓動客户機時,DHCP服務器會自動為客户機重新配置TCP/IP。
● 大部分路由器可以轉發DHCP配置請求,因此,互聯網的每個子網並不都需要DHCP服務器。