DHCP協(xié)議
DHCP是Dynamic Host Configuration Protocol(動態(tài)主機配置協(xié)議)的縮寫。在常見的小型網(wǎng)絡(luò)中,IP地址的分配一般都采用靜態(tài)方式,但在大中型網(wǎng)絡(luò)中,為每一臺計算機分配一個靜態(tài)IP地址的工作量非常巨大且容易出錯。因此在大中型網(wǎng)絡(luò)中使用DHCP服務(wù)是很有效率的。使用DHCP服務(wù),網(wǎng)絡(luò)管理員可以驗證IP地址和其它配置參數(shù),而不用去檢查每個主機;DHCP不會同時租借相同的IP地址給兩臺主機;DHCP管理員可以約束特定的計算機使用特定的IP地址;可以為每個DHCP作用域設(shè)置很多選項;客戶機在不同子網(wǎng)間移動時不需要重新設(shè)置IP地址。
2.三層交換技術(shù)
三層交換技術(shù)也稱為IP交換技術(shù),是一種利用三層協(xié)議中的信息來加強第二層交換功能的機制,。三層交換技術(shù)具有路由的基本特征。數(shù)據(jù)報文轉(zhuǎn)發(fā)是路由器和三層交換機最基本的功能。路由器具有配置復(fù)雜、價格高、吞吐量相對較低和吞吐量變化相對較高等缺點。三層交換技術(shù)在很大程度上彌補了路由器的這些缺點。
3.實現(xiàn)DHCP中繼
1) DHCP工作原理
DHCP服務(wù)器的工作流程如下:
DHCP客戶機以廣播方式發(fā)送dhcpdiscover信息來尋找DHCP服務(wù)器,即向地址255.255.255.255發(fā)送特定的廣播信息。網(wǎng)絡(luò)上每一臺TCP/IP協(xié)議的主機都會接收到這種廣播信息,但只有DHCP服務(wù)器才會做出響應(yīng)。
在網(wǎng)絡(luò)中接收到dhcpdiscover信息的DHCP服務(wù)器會做出響應(yīng),它從尚未出租的IP地址中挑選一個分配給DHCP客戶機,向DHCP客戶機發(fā)送一個包含出租的IP地址和其他設(shè)置的dhcpoffer提供信息。
DHCP客戶機接受收到的dhcpoffer提供信息,然后回答一個dhcprequest請求信息,該信息中包含向它所選定的DHCP服務(wù)器請求IP地址的內(nèi)容。
當(dāng)DHCP服務(wù)器收到DHCP客戶機回答的dhcprequest請求信息之后,它便向DHCP客戶機發(fā)送一個包含它所提供的IP地址和其他設(shè)置的dhcpack確認(rèn)信息,告訴DHCP客戶機可以使用它所提供的IP地址。然后DHCP客戶機便將其TCP/IP協(xié)議與網(wǎng)卡綁定。
DHCP服務(wù)器向DHCP客戶機出租的IP地址一般都有一個租借期限,當(dāng)租約過了一半時,客戶機將和設(shè)置它的TCP/IP配置的DHCP更新租約。當(dāng)租期過了87.5%時,如果客戶機仍然無法與當(dāng)初的DHCP聯(lián)系上,該客戶機必須停止使用該IP地址,并從發(fā)送一個dhcpdiscover數(shù)據(jù)包開始,再一次重復(fù)整個過程。
2) 三層交換的工作原理
假設(shè)兩個使用IP協(xié)議的站點A、B通過三層交換機進行通信,發(fā)送站點A在開始發(fā)送時,把自己的IP地址與B站的IP地址比較,判斷B站是否與自己在同一子網(wǎng)內(nèi)。若目的站B與發(fā)送站A在同一子網(wǎng)內(nèi),則進行二層的轉(zhuǎn)發(fā)。若兩個站點不在同一子網(wǎng)內(nèi),如發(fā)送站A要與目的站B通信,發(fā)送站A要向“缺省網(wǎng)關(guān)”發(fā)出地址解析封包,而“缺省網(wǎng)關(guān)”的IP地址其實是三層交換機的三層交換模塊。當(dāng)發(fā)送站A對“缺省網(wǎng)關(guān)”的IP地址廣播出一個ARP請求時,如果三層交換模塊在以前的通信過程中已經(jīng)知道B站的MAC地址,則向發(fā)送站A回復(fù)B的MAC地址。否則三層交換模塊根據(jù)路由信息向B站廣播一個ARP請求,B站得到此ARP請求后向三層交換模塊回復(fù)其MAC地址,三層交換模塊保存此地址并回復(fù)給發(fā)送站A,同時將B站的MAC地址發(fā)送到二層交換引擎的MAC地址表中。從這以后,從A向B發(fā)送的數(shù)據(jù)包便全部交給二層交換處理,信息得以高速交換。
實際應(yīng)用中經(jīng)常會出現(xiàn)A、B兩站點不在同一子網(wǎng)內(nèi)的情況,這就要求我們掌握三層交換機的虛網(wǎng)配置,cisco標(biāo)準(zhǔn)命令格式如下:
Switch>enable
Switch#vlan database
Switch(Vlan)#vlan 2 name server
Switch(vlan)#exit /*創(chuàng)建虛網(wǎng)*/ Switch#config terminal
Switch(Config)#interface vlan 2
Switch(Config-vlan)#ip address 192.168.1.1 255.255.255.0
Switch(Config-vlan)#no shutdown /*設(shè)置vlan IP地址*/ Switch(Config-vlan)exit
Switch(Config)#interface range fastethernet 0/1 – 24
Switch(Config-if-range)#switchport mode access
Switch(Config-if-range)#spanning-tree portfast
Switch(Config-if-range)#exit /*設(shè)置端口全局參數(shù)*/ Switch(Config)#interface range fastethernet 0/1 – 2
Switch(Config-if-range)#switchport access vlan 2
Switch(Config-if-range)#exit /*端口劃分*/ 3)技術(shù)分析
從DHCP的工作原理我們可以看出,在客戶機和服務(wù)器之間進行聯(lián)系的消息以廣播的形式進行,這在一個基于共享或沒有劃分VLAN的交換網(wǎng)絡(luò)中是很容易實現(xiàn)的。當(dāng)網(wǎng)絡(luò)劃分了多個VLAN后,廣播信息只限于客戶機所在的VLAN。如果客戶機和DHCP服務(wù)器不在同一個VLAN中,請求信息將不能傳送到DHCP服務(wù)器,也就不能自動地獲得IP地址及相關(guān)配置參數(shù)。針對這個問題,我們可以在每個VLAN中都設(shè)置一臺DHCP服務(wù)器,客戶機通過位于同一個VLAN的DHCP服務(wù)器獲得IP地址、子網(wǎng)掩碼、默認(rèn)網(wǎng)關(guān)和DNS服務(wù)器地址等信息。但這種解決方式需要設(shè)置多臺計算機作為DHCP服務(wù)器,不僅需要較多的資金投入而且服務(wù)器的維護工作量也比較大。三層交換機中的DHCP中繼功能很好地解決了這些問題。通過啟動每個VLAN及三層交換機中相關(guān)端口的DHCP中繼功能,VLAN的接口地址(默認(rèn)網(wǎng)關(guān))收到該VLAN中客戶機發(fā)出的DHCP請求廣播信息后,由該默認(rèn)網(wǎng)關(guān)充當(dāng)DHCP代理的角色將請求信息轉(zhuǎn)發(fā)給DHCP服務(wù)器。在DHCP中繼中,每個VLAN的接口地址都作為該VLAN的DHCP代理。利用DHCP中繼功能只需要在網(wǎng)絡(luò)中設(shè)置一臺DHCP服務(wù)器即可,并且DHCP服務(wù)器可以位于任何一個VLAN中,只需要在設(shè)置DHCP中繼參數(shù)的時候,指定DHCP服務(wù)器的地址就可以了。
4) 配置三層交換機為DHCP中繼代理
首先要啟用DHCP中繼代理,否則即使在vlan中指定DHCP服務(wù)器,客戶機也無法獲取IP地址。Cisco標(biāo)準(zhǔn)命令格式如下:
Switch>enable
Switch#config terminal
Switch(config)service dhcp
switch(config)ip dhcp relay information option
中繼代理啟用后,只需要在設(shè)置DHCP中繼參數(shù)的時候,指定DHCP服務(wù)器的地址即可。假設(shè)DHCP服務(wù)器在vlan1中,它的IP地址為192.168.1.10。則cisco標(biāo)準(zhǔn)命令格式如下:
Switch(config)interface vlan 2 /*服務(wù)器所在vlan不需要指定地址*/ Switch(config-if)ip helper-address 192.168.1.10 /*在vlan2中設(shè)定DHCP服務(wù)器地址*/ Switch(config-if)exit
應(yīng)用實例
1.需求分析
A大學(xué)的幾位大學(xué)生自主創(chuàng)業(yè),籌建一科研性企業(yè),該企業(yè)由行政部、研發(fā)部和財務(wù)部組成。為了適應(yīng)社會發(fā)展的形勢,計劃組建一個小型局域網(wǎng)??紤]到公司將來的發(fā)展規(guī)模和機密信息的安全性問題,提出如下要求:
1.初期投資盡量節(jié)約。
2.研發(fā)部和財務(wù)部不允許互相訪問,但都可以訪問服務(wù)器所在的行政部。
3.拒絕來自外部的一切訪問。
4.允許內(nèi)部用戶訪問外網(wǎng)。
3.詳細(xì)設(shè)計
考慮到該公司剛成立,經(jīng)濟能力一般,所以使用一臺cisco 4006交換機,劃分三個vlan:vlan2為行政部所在網(wǎng)絡(luò)也是服務(wù)器所在網(wǎng)絡(luò),命名為server,IP地址段為210.28.182.0,子網(wǎng)掩碼:255.255.255.0,網(wǎng)關(guān):210.28.182.1。域服務(wù)器為windows 2000高級服務(wù)器, 同時兼作DHCP服務(wù)器、DNS服務(wù)器,IP地址為210.28.182.10。vlan3為研發(fā)部所在網(wǎng)絡(luò),IP地址段為210.28.183.0,子網(wǎng)掩碼:255.255.255.0,網(wǎng)關(guān):210.28.183.1命名為research。vlan4為財務(wù)部所在網(wǎng)絡(luò),命名為finance,IP地址段為210.28.184.0,子網(wǎng)掩碼:255.255.255.0,網(wǎng)關(guān):210.28.184.1。3550作DHCP服務(wù)器,端口1-8劃到vlan 2,端口9-16劃分到vlan 3,端口17-24劃分到vlan 4。
4.具體配置
配置命令及步驟如下:
第一步:配置enable口令和主機名:
Switch>
Switch>enable
Switch#config terminal
Switch(config)#enable secret cisco
Switch(config)#hostname C4006
C4006(config)#exit
第二步:創(chuàng)建VLAN:
C4006#vlan database
C4006(Vlan)#vlan 2 name server
C4006(Vlan)#vlan 3 name research
C4006(vlan)#vlan 4 name finance
C4006(vlan)#exit
第三步:啟用DHCP中繼代理:
C4006#config terminal
C4006(Config)#service dhcp
C4006(Config)#ip dhcp relay information option
第四步:設(shè)置VLAN IP地址:
C4006#config terminal
C4006(Config)#interface vlan 2
C4006(Config-if)#ip address 210.28.182.1 255.255.255.0
C4006(Config-if)#no shutdown
C4006(Config-if)#interface vlan 3
C4006(Config-if)#ip address 210.28.183.1 255.255.255.0
C4006(Config-if)#no shutdown
C4006(Config-if)#interface vlan 4
C4006(Config-if)#ip address 210.28.184.1 255.255.255.0
C4006(Config-if)#no shutdown
C4006(Config-if)exit
第五步:設(shè)置端口全局參數(shù)
C4006(Config)#interface range fastethernet 0/1 – 24
C4006(Config-if-range)#switchport mode access
C4006(Config-if-range)#spanning-tree portfast
第六步:劃分端口
C4006(Config)#interface range fastethernet 0/1 – 8
C4006(Config-if-range)#switchport access vlan 2
C4006(Config)#interface range fastethernet 0/9 – 16
C4006(Config-if-range)#switchport access vlan 3
C4006(Config)#interface range fastethernet 0/17 – 24
C4006(Config-if-range)#switchport access vlan 4
C4006(Config-if-range)#exit
第七步:配置DHCP服務(wù)器地址
C4006(Config)interface vlan 3
C4006(Config-if)ip helper-address 210.28.182.10
C4006(Config)interface vlan 4
C4006(Config-if)ip helper-address 210.28.182.10
第八步:設(shè)置訪問控制
C4006(Config)ip routing
C4006(Config)#access-list 101 permit ip 210.28.182.0 0.0.0.255 210.28.183.0 0.0.0.255
C4006(Config)#access-list 101 permit ip 210.28.183.0 0.0.0.255 210.28.182.0 0.0.0.255
C4006(Config)#access-list 101 permit udp any any eq bootpc
C4006(Config)#access-list 101 permit udp any any eq tftp
C4006(Config)#access-list 101 permit udp any eq bootpc any
C4006(Config)#access-list 101 permit udp any eq tftp any
C4006(Config)#access-list 102 permit ip 210.28.182.0 0.0.0.255 210.28.184.0 0.0.0.255
C4006(Config)#access-list 102 permit ip 210.28.184.0 0.0.0.255 210.28.182.0 0.0.0.255
C4006(Config)#access-list 102 permit udp any eq tftp any
C4006(Config)#access-list 102 permit udp any eq bootpc any
C4006(Config)#access-list 102 permit udp any eq bootpc any
C4006(Config)#access-list 102 permit udp any eq tftp any
C4006(Config)#exit
第九步:啟用訪問控制列表
C4006(Config)#interface vlan 3
C4006(Config-if)#ip access-group 101 out
C4006(Config-if)#interface vlan 4
C4006(Config-if)#ip access-group 102 out
第十步:保存配置文件
C4006(Config-if)#end
C4006#copy running-config startup-config
總 結(jié)
實現(xiàn)DHCP中繼代理的方法有多種,包括使用Windows 2000 路由、遠(yuǎn)程訪問服務(wù)、路由器以及 Windows 2003 Server中提供的 DHCP 中繼代理。但是使用三層交換技術(shù)實現(xiàn)DHCP中繼代理是最經(jīng)濟、實用、高效的方法。