張璐璐,吳麗杰,魯 玉
(安徽糧食工程職業(yè)學(xué)院,安徽合肥 230011)
DHCP(Dynamic Host Configuration Protocol,動態(tài)主機配置協(xié)議),是基于TCP/IP協(xié)議簇的一種動態(tài)地址分配方案,是一個局域網(wǎng)的網(wǎng)絡(luò)協(xié)議。它使用UDP協(xié)議工作,主要作用是集中的管理、分配IP地址,并能夠提升地址的使用率。當(dāng)連接到網(wǎng)絡(luò)上的計算機啟動時,DHCP能自動地為這臺計算機配置有關(guān)的網(wǎng)絡(luò)參數(shù),如IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)和DNS等。這樣,可把所有TCP/IP協(xié)議的配置信息集中存儲到DHCP服務(wù)器上。集中的存儲和管理能夠避免IP地址的沖突,同時把管理員從繁重的手工配置勞動中解放出來。網(wǎng)絡(luò)的規(guī)模越大,DHCP的優(yōu)勢就越明顯。DHCP通常被應(yīng)用于大型的局域網(wǎng)絡(luò)環(huán)境中,采用C/S模型。當(dāng)DHCP服務(wù)器接收到來自網(wǎng)絡(luò)主機申請地址的請求信息時,才會向網(wǎng)絡(luò)主機發(fā)送相關(guān)的地址配置信息[1]。
DHCP的工作過程分為4個階段,如圖1所示。
圖1 單服務(wù)器DHCP工作過程流程圖
第一階段DHCP Discover,即DHCP Client尋找DHCP Server的階段??蛻魴C以廣播方式發(fā)送DHCP Discover發(fā)現(xiàn)信息來尋找服務(wù)器。網(wǎng)絡(luò)中每一臺主機都會接收到這種廣播信息,但只有服務(wù)器才會作出響應(yīng);第二階段DHCP Offer,即DHCP Server提供地址信息的階段。網(wǎng)絡(luò)中DHCP Server接收到DHCP Discover發(fā)現(xiàn)信息會作出響應(yīng):它從未租用的地址中挑選一個分配給DHCP Client,并向DHCP Client發(fā)送包含出租地址和其他設(shè)置的DHCP Offer提供信息;第三階段DHCP Request,即DHCP Client接受DHCP Server提供的地址信息的階段。若多臺DHCP Server向DHCP Client發(fā)來DHCP Offer提供信息,DHCP Client只接受首次收到的DHCP Offer提供信息,然后以廣播方式回答一個DHCP Request請求信息,其中包含提供選定地址的DHCP Server的IP地址,從而能準(zhǔn)確地被DHCP Server接受并回應(yīng);DHCP Ack,即DHCP Server向DHCP Client發(fā)送確認(rèn)信息的階段。當(dāng)DHCP Server收到DHCP Client的DHCP Request請求信息之后,它便向DHCP Client發(fā)送DHCP Ack確認(rèn)信息,其中包含它所提供的IP地址信息等,告知DHCP Client可使用次IP地址信息。最后DHCP Client將IP地址與網(wǎng)卡綁定,完成IP相關(guān)信息的租借過程。多服務(wù)器的DHCP工作過程如圖2所示。
圖2 多服務(wù)器的DHCP工作過程
思科包跟蹤程序(Cisco Packet Tracer)屬于思科公司的內(nèi)部軟件,它是一種能模擬網(wǎng)絡(luò)環(huán)境從而幫助網(wǎng)絡(luò)技術(shù)學(xué)習(xí)的模擬工具。針對網(wǎng)絡(luò)技術(shù)的各個知識點,該軟件不僅能模擬網(wǎng)絡(luò)環(huán)境設(shè)計網(wǎng)絡(luò),還能配置網(wǎng)絡(luò)設(shè)備,從而還原各種網(wǎng)絡(luò)協(xié)議,更能依據(jù)網(wǎng)絡(luò)設(shè)備的通訊情況來排除網(wǎng)絡(luò)故障等,從而使得學(xué)習(xí)者得到實戰(zhàn)級的鍛煉。使用該軟件可以學(xué)習(xí)IOS的多種配置、鍛煉網(wǎng)絡(luò)故障排查能力。該軟件界面簡潔,便于使用,用戶只需要在用戶圖形界面上拖曳網(wǎng)絡(luò)設(shè)備即可建立網(wǎng)絡(luò)拓?fù)?,且有實時和模擬兩種狀態(tài),可提供靜態(tài)或動態(tài)的數(shù)據(jù)包在網(wǎng)絡(luò)中行進的詳細(xì)過程,從而能觀測網(wǎng)絡(luò)實時運行情況。CPT作為網(wǎng)絡(luò)仿真程序其功能強大,不僅有多種允許使用的網(wǎng)絡(luò)設(shè)備,還可以幾乎無限數(shù)量地創(chuàng)建網(wǎng)絡(luò),從而能鼓勵、實踐、發(fā)現(xiàn)和排除網(wǎng)絡(luò)故障[2]。CPT允許模擬實驗與網(wǎng)絡(luò)行為,測試有多種可能性方案的問題,并要通過逐漸深入的學(xué)習(xí)網(wǎng)絡(luò)技術(shù),CPT提供的仿真、可視化、編輯、評估和協(xié)作的能力則更為重要,有利于對復(fù)雜的技術(shù)概念的理解和驗證。
本實驗以華辰企業(yè)實際網(wǎng)絡(luò)管理需求為背景,以雙DHCP服務(wù)器的方式實現(xiàn)企業(yè)內(nèi)部基本的網(wǎng)絡(luò)信息的自動分配。實驗以3臺主機、2臺對等服務(wù)器簡單模擬企業(yè)環(huán)境,實現(xiàn)DHCP服務(wù),完成3臺主機的IP等信息的自動獲取,并保證網(wǎng)絡(luò)的穩(wěn)定,繼而滿足企業(yè)內(nèi)某一部門網(wǎng)絡(luò)管理的需求。
通過思科仿真軟件CPT,只需要一臺計算機便可模擬出實驗所需要的環(huán)境和設(shè)備。需要模擬出:兩臺服務(wù)器Cisco Server,充當(dāng)DHCP Server;一臺交換機Cisco2950,組建局域網(wǎng);三臺PC,作為測試終端DHCP Client1-3。圖3為此次實驗環(huán)境的拓?fù)涫疽狻?/p>
圖3 多服務(wù)器的DHCP實現(xiàn)
該實驗的IP均在192.168.1.0/24網(wǎng)段內(nèi),其中DHCP Server1固定IP為192.168.1.2,開始IP地址:192.168.1.6;DHCP Server2固定IP為192.168.1.3,開始IP地址:192.168.1.200,其中DHCP Server1服務(wù)配置頁面如圖4所示。
圖4 DHCP Server中服務(wù)配置
對于DHCP Client1-3只需要在桌面系統(tǒng)的IP地址配置中選擇自動獲取即可自動獲取IP地址等信息。當(dāng)DHCP Server1掉線或有誤時,DHCP Server2亦可完成IP地址信息的自動分配,確保了網(wǎng)絡(luò)的穩(wěn)定性。
刪除DHCP Server1在網(wǎng)絡(luò)中的連線,模擬DHCP Server1故障中斷。原來已經(jīng)從DHCP Server1中獲取地址信息的DHCP Client,在DHCP租約時間到期50%前不會改變,之后DHCP Client便會向為DHCP Server1發(fā)送更新請求,如果更新失敗,暫時不采取任何措施。在當(dāng)前租約期限過去87.5%時,客戶機再次嘗試更新,如果更新失敗,則DHCP Client將廣播DHCP Request包,接受DHCP Server2的租約[3]。圖5為刪除DHCP Server1在網(wǎng)絡(luò)中的連線后,DHCP Server2單獨服務(wù),DHCP Client1的信息自動獲取情況。
圖5 單個服務(wù)器下Client1的信息獲取
對于DHCP Server1和DHCP Server2的配置,需要做以下說明:DHCP Server1、DHCP Server2的DHCP服務(wù)配置在實際網(wǎng)絡(luò)環(huán)境中應(yīng)完全相同,實驗中地址池及DNS服務(wù)器配置不同是為了方便客戶端驗證使用了哪個DHCP Server;為了避免IP沖突,應(yīng)把DHCP Server以及網(wǎng)關(guān)的IP地址從地址池中排除,但DHCP Server有檢測機制,可以排除已使用的IP地址。
圖6 路由器作DHCP Server
在實際的網(wǎng)絡(luò)運維中,情況更為復(fù)雜。例如,自動分配的IP地址序列往往不能連續(xù),需要剔除特殊的IP地址,網(wǎng)絡(luò)拓?fù)涫纠鐖D6所示。網(wǎng)絡(luò)劃分為多個網(wǎng)段,DHCP需要跨網(wǎng)段提供服務(wù),即DHCP Relay,網(wǎng)絡(luò)拓?fù)淙鐖D7所示。這些或者更為復(fù)雜的情況下,DHCP服務(wù)往往是由路由器或三層交換機來提供。
3.2.1 路由器提供DHCP服務(wù)
華辰企業(yè)某部門內(nèi)部使用Cisco 2811作為IOS DHCP Server,它和內(nèi)網(wǎng)相連的fastethernet0端口的IP地址為172.25.1.1/24,二層交換機采用Cisco 2950。如圖6所示,連接各個網(wǎng)絡(luò)設(shè)備與計算機設(shè)備,配置設(shè)備及端口的地址和默認(rèn)網(wǎng)關(guān),并將測試主機設(shè)置為IP配置自動獲取。其中用作DHCP Server的Cisco 2811路由器Route1的主要配置命令如下:
Router1#configure terminal
Router1(config)#service dhcp //開啟DHCP服務(wù)
Router1(config)#ip dhcp pool 172.25.1.0/24 //定義DHCP地址池
Router1(config)#network 172.25.1.0 255.255.255.0 // 用network命令來定義網(wǎng)絡(luò)地址的范圍
Router1(config)#default-router 172.25.1.1 //定義要分配的網(wǎng)關(guān)地址
Router1(config)#exit
Router1#ip dhcp excluded-address 172.25.1.1 172.25.1.50 //該范圍內(nèi)的ip地址不能分配給客戶端
Router1#ip dhcp excluded-address 172.25.1.66 //單個ip地址不能分配給客戶端
Router1#show ip dhcp binding//查看DHCP客戶機地址分配情況
IP address Client-ID/ Lease expiration Type
Hardware address
172.25.1.51 0060.70D8.2667 --
在實驗中可能出現(xiàn)DHCP Client從 DHCP Server動態(tài)獲取的地址信息與其他主機地址相沖突的現(xiàn)象。這多是因為在網(wǎng)絡(luò)上有主機手動配置了IP地址。具體修正方法為:斷開故障DHCP Client的網(wǎng)線,在另一臺客戶機上執(zhí)行ping命令,并設(shè)置較長的超時時間,用以檢測網(wǎng)絡(luò)中是否存在該地址信息的主機;在DHCP Server上執(zhí)行ip dhcp excluded-address命令,禁止該地址參與動態(tài)分配;連接好故障DHCP Client的網(wǎng)線,將故障DHCP Client釋放并重新獲取IP地址。DHCP Client分別執(zhí)行ipconfig/release和ipconfig/renew命令即可。
3.2.2 DHCP中繼服務(wù)
由DHCP工作過程可知,DHCP Discover、DHCP Offer等各類報文信息均采用廣播的方式發(fā)送。所以一般DHCP服務(wù),即動態(tài)IP地址的分配只適用于DHCP Server和DHCP Client均處于同一個子網(wǎng)。如果網(wǎng)絡(luò)環(huán)境中有多個子網(wǎng)的存在,僅為了動態(tài)主機配置,就需要在每個網(wǎng)段上均設(shè)置DHCP Server,這將會造成極大的資源浪費。DHCP中繼能很好地解決這一問題:DHCP Client通過DHCP Relay與各個網(wǎng)段的DHCP Server進行通信,最終獲取地址信息[4]。如是,多個子網(wǎng)的DHCP Client可使用同一DHCP Server,既節(jié)省成本,又便于集中管理。DHCP Relay的原理:當(dāng)DHCP服務(wù)需要跨越不同網(wǎng)絡(luò)時,使用DHCP Relay可實現(xiàn)DHCP Client從不同網(wǎng)段的DHCP Server獲取IP地址。DHCP Relay在接收到DHCP Client發(fā)出的廣播DHCP消息后,會重新生成一個單播DHCP消息并直接轉(zhuǎn)發(fā)至遠(yuǎn)程網(wǎng)段的DHCP Server處。
華辰公司需要配置DHCP Server使內(nèi)網(wǎng)中多個網(wǎng)段的主機能主動獲取IP地址等信息,要求把路由器配置為DHCP Server,并使用三層交換機來實現(xiàn)DHCP Relay功能。如圖7所示,DHCP Server采用Cisco 2620xm,DHCP中繼采用Cisco 3560,接入層交換機采用Cisco 2950。兩臺服務(wù)器主機分別提供DNS及FTP服務(wù),PCA和PCB是用來測試各種服務(wù)的客戶端。
圖7 路由器實現(xiàn)DHCP Relay
如圖7所示,連接各個網(wǎng)絡(luò)設(shè)備與計算機設(shè)備,配置設(shè)備及端口的地址和默認(rèn)網(wǎng)關(guān),并將測試主機設(shè)置為IP配置自動獲取;在三層交換機L3-Switch和二層交換機SWA上分別劃分VLAN10和VLAN20兩個VLAN;在交換機之間建立TRUNK鏈路,使兩設(shè)備VLAN10和VLAN20間可以互通;把兩設(shè)備中對應(yīng)的端口分別加入到VLAN10和VLAN20中[5];在路由器DCHP-Server上設(shè)置靜態(tài)路由,配置各網(wǎng)段的下一跳路由,在DHCP Relay(L3-Switch)上設(shè)置靜態(tài)路由,配置各網(wǎng)段的下一跳路由;在DCHP-Server上配置DHCP服務(wù),參數(shù)分配如下:名稱VLAN10-DHCP,動態(tài)地址172.16.10.0網(wǎng)段,租期3小時,網(wǎng)關(guān)172.16.10.254,DNS 8.8.8.8;名稱VLAN20-DHCP,動態(tài)地址172.16.20.0網(wǎng)段,租期5小時,網(wǎng)關(guān)172.16.20.254,DNS 8.8.8.8。最后啟用DHCP Relay(L3-Switch)的DHCP服務(wù),指定DHCP服務(wù)器的地址;在DHCP Client(PCA與PCB)上測試DCHP的服務(wù),在DHCP-Serve上查看地址綁定信息。其中各主要設(shè)備的配置命令如下:
(1)路由器DCHP-Server的主配命令
DHCP-Server(config)#service dhcp //開啟DHCP服務(wù)
DHCP-Server(config)#ip dhcp pool VLAN10-DHCP //創(chuàng)建一個名為VLAN10-DHCP的DHCP地址池
DHCP-Server(dhcp-config)#network 172.16.10.0 255.255.255.0 //指定VLAN10-DHCP地址池的網(wǎng)絡(luò)號和掩碼
DHCP-Server(dhcp-config)#default-router 172.16.10.254 //為VLAN10-DHCP客戶指定缺省的默認(rèn)路由器,即PC中的網(wǎng)關(guān)
DHCP-Server(dhcp-config)#dns-server 8.8.8.8 //為VLAN10-DHCP客戶指定DNS服務(wù)器的IP
DHCP-Server(dhcp-config)#lease 0 3 0 // 指定VLAN10-DHCP客戶的持續(xù)時間為3小時
DHCP-Server(dhcp-config)#exit
DHCP-Server(config)#
DHCP-Server(config)#service dhcp //開啟DHCP服務(wù)
DHCP-Server(config)#ip dhcp pool VLAN20-DHCP //創(chuàng)建一個名為VLAN20-DHCP的DHCP地址池
DHCP-Server(dhcp-config)#network 172.16.20.0 255.255.255.0 //指定VLAN20-DHCP地址池的網(wǎng)絡(luò)號和掩碼
DHCP-Server(dhcp-config)#default-router 172.16.20.254 //為VLAN20-DHCP客戶指定缺省的默認(rèn)路由器,即PC中的網(wǎng)關(guān)
DHCP-Server(dhcp-config)#dns-server 8.8.8.8 //為VLAN20-DHCP客戶指定DNS服務(wù)器的IP
DHCP-Server(dhcp-config)#lease 0 5 0 // 指定VLAN20-DHCP客戶的持續(xù)時間為5小時
DHCP-Server(dhcp-config)#exit
DHCP-Server(config)#
DHCP-Server(config)#ip dhcp excluded-address 172.16.10.254 //保留VLAN10-DHCP中地址172.16.10.254不分配
DHCP-Server(config)#ip dhcp excluded-address 172.16.10.2//保留VLAN10-DHCP中地址172.16.10.2不分配
DHCP-Server(config)#ip dhcp excluded-address 172.16.20.254//保留VLAN20-DHCP中地址172.16.20.254不分配
(2)三層交換機DCHP中繼的主配命令
L3-Switch(config)#service dhcp //開啟DHCP服務(wù)
L3-Switch(config)#ip help-address 10.1.1.1 //指定DHCP Server的地址,表示會向該服務(wù)器發(fā)送DHCP請求包
該實驗的自動分配結(jié)果可在路由器DHCP-Server上進行查看:
DHCP-Server#show ip dhcp binding
IP address Client-ID/ Lease expiration Type
Hardware address
172.16.10.1 00D0.BA8C.4EC6 -- Automatic
172.16.20.1 0030.F256.2150 -- Automatic
實驗配置的注意事項:DCHP Server配置時,應(yīng)設(shè)置網(wǎng)關(guān)和DNS,這樣可以保證正常訪問外網(wǎng),還應(yīng)排除固定地址,以防止IP沖突引起網(wǎng)絡(luò)的不穩(wěn)定;配置完成后應(yīng)先在PCA與PCB上測試DCHP的服務(wù),然后才能在DCHP Server中查看到綁定的信息。
實驗中可能出現(xiàn)客戶端無法通過DHCP Relay獲得地址信息的現(xiàn)象。這多是因為DHCP Relay或DHCP Server的配置有誤[6]。具體修正方法為:檢查DHCP Server和DHCP Relay是否開啟DHCP服務(wù);檢查DHCP Server是否已經(jīng)配置了對應(yīng)于DHCP Client所在網(wǎng)段的地址池;檢查DHCP Relay和DHCP Server是否已經(jīng)配置有相互可達(dá)的路由;檢查DHCP Relay是否在接口(連接DHCP Client所在網(wǎng)段)上配置有正確的DHCP Server。
在實際情況中,網(wǎng)絡(luò)管理較多使用WINDOWS或LINUX平臺搭建DHCP服務(wù)器,但是在WINDOWS或LINUX平臺上搭建DHCP服務(wù)器會涉及服務(wù)集群、數(shù)據(jù)同步等較為復(fù)雜的系統(tǒng)問題,還會涉及服務(wù)器型號兼容、硬件配置等環(huán)境問題。由于在網(wǎng)絡(luò)中Cisco設(shè)備有較為普遍的使用,采用Cisco IOS配置DHCP Server提供DHCP服務(wù),無需以上問題的困擾,且配置簡單,冗余原理、中繼原理清晰,具有更高的穩(wěn)定性。本文通過思科軟件CPT模擬了DHCP服務(wù)在不同環(huán)境中的多個實驗,充分展示了DHCP服務(wù)的原理及配置方式。為了更加貼合無線網(wǎng)絡(luò)遍及的現(xiàn)實環(huán)境,后續(xù)還可以考慮采用無線路由和無線AP來提供DHCP服務(wù)。
[參考文獻]
[1]Mark A Dye.思科網(wǎng)絡(luò)學(xué)院教程CCNA Exploration:網(wǎng)絡(luò)基礎(chǔ)知識[M].北京:人民郵電出版社,2010.
[2]薛琴.基于Packet Tracer的計算機網(wǎng)絡(luò)仿真實驗教學(xué)[J].實驗室研究與探索,2010(2):57-59.
[3]楊功元.Packet Tracer使用指南及實驗實訓(xùn)教程[M].北京:電子工業(yè)出版社,2012.
[4]劉曉輝.網(wǎng)絡(luò)設(shè)備規(guī)劃、配置與管理大全[M].北京:電子工業(yè)出版社,2009.
[5]張璐璐,吳月勤,張婷.基于稀疏表示的圖像復(fù)原問題模型研究[J].長春師范大學(xué)學(xué)報,2017(2):17-22.
[6]謝希仁.計算機網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2013.