曹茸
(西安歐亞學(xué)院信息工程學(xué)院,陜西西安710065)
DHCP(Dynamic Host Configuration Protocol)即動態(tài)主機配置協(xié)議[1-2],用于給網(wǎng)絡(luò)中的PC動態(tài)分配IP信息,其IP租期到期則是自動收回租用,以便于分配給其他主機的功能大大提高了IP地址的使用率,解決了BOOTP網(wǎng)絡(luò)缺乏“動態(tài)性”的弊端,且DHCP向下兼容BOOTP。隨著網(wǎng)絡(luò)規(guī)模的擴大和復(fù)雜程度的提高,DHCP服務(wù)和DHCP中繼代理服務(wù)功能將得到廣泛應(yīng)用。
DHCP的工作過程主要包括發(fā)現(xiàn)、提供、請求、確認和更新租期等過程,如圖1所示。
圖1 DHCP的工作過程
各過程的功能如下[4]:
(1)DHCP Discover:DHCP客戶端連入網(wǎng)絡(luò)后,要獲取IP信息,先以0.0.0.0的IP地址帶著自己的MAC地址,向本網(wǎng)絡(luò)發(fā)送255.255.255.255的廣播信息,尋找網(wǎng)絡(luò)的DHCP服務(wù)器。
(2)DHCP Offer:網(wǎng)絡(luò)中的所有主機偵聽到該廣播信息,只有所有DHCP服務(wù)器給予相應(yīng),采用單播方式回應(yīng)客戶端請求,包括可以提供的IP信息。
(3)DHCP Request:客戶端默認選擇最早收到的IP租用信息,并通過廣播方式在網(wǎng)絡(luò)上發(fā)送報文,以便于讓網(wǎng)絡(luò)中所有DHCP服務(wù)器知道自己選擇了哪個服務(wù)器提供的IP租用信息。沒有被選中的IP信息被相應(yīng)的服務(wù)器收回,以便于提供給別的主機。
(4)DHCP Ack:被選中的DHCP服務(wù)器收到客戶端的Request報文,確認無誤后,給客戶端發(fā)送確認(Ack)報文。
此時,客戶端可以使用該IP信息,租用時間開始計時,當(dāng)客戶端使用IP的時間到達租期的50%時[4],客戶端進入Renewing狀態(tài),試圖以單播形式給提供租用的DHCP服務(wù)器發(fā)送DHCP Request報文,以更新租期。當(dāng)服務(wù)器收到請求并給予響應(yīng)時,客戶端更新租期;否則,更新失敗,客戶端接著使用剩余租期時間。當(dāng)?shù)竭_租期的87.5%時間時,客戶端將進入重新綁定(Rebinding)狀態(tài),客戶端以廣播方式向網(wǎng)絡(luò)中所有DHCP服務(wù)器發(fā)送DHCP Request報文,請求更新租期,如果還沒有得到響應(yīng),繼續(xù)使用現(xiàn)有IP信息,并將每隔一定時間重發(fā)DHCP Request報文,以便于更改租期,如果租期結(jié)束還沒有收到響應(yīng)報文,客戶端被迫放棄現(xiàn)有IP信息。IP請求過程重新開始。
在DHCP網(wǎng)絡(luò)中,DHCP服務(wù)器的放置位置通常有[5]:
(1)分布式,每個物理網(wǎng)絡(luò)至少有一臺DHCP服務(wù)器。(2)集中式,多個物理網(wǎng)絡(luò)共用一臺DHCP服務(wù)器。(3)混合式,多個物理網(wǎng)絡(luò)共用幾臺DHCP服務(wù)器。
3種方法的比較如下:
分布式:每個物理網(wǎng)絡(luò)至少配置一臺DHCP服務(wù)器,僅管理該網(wǎng)絡(luò)的IP分配,功能專一,響應(yīng)速度快。當(dāng)物理網(wǎng)絡(luò)主機數(shù)量很少時,將造成硬件資源的極大浪費。
集中式:DHCP服務(wù)器放置在網(wǎng)絡(luò)的中央位置,多個物理網(wǎng)絡(luò)共用一臺DHCP服務(wù)器,節(jié)省硬件資源,但需要DHCP中繼代理的轉(zhuǎn)發(fā)功能,且當(dāng)距離相隔較遠的低速網(wǎng)絡(luò)時,響應(yīng)速度較慢。
混合式:既解決了分布式硬件資源的浪費,又解決了集中式低速網(wǎng)絡(luò)流量的問題。需要DHCP中繼代理。
目前,網(wǎng)絡(luò)中更常使用混合式布局。為保證網(wǎng)絡(luò)的正常運轉(zhuǎn),DHCP作用域分配遵循80/20原則[5],如圖2所示,DHCP Server A中的作用域保證了子網(wǎng)2中的80%的地址分配,兼顧子網(wǎng)1中的20%的地址分配;同理DHCP Server B的作用域保證了本子網(wǎng)80%的地址分配,其余的20%地址由DHCP Server A承擔(dān)。這樣,即使DHCP Server A出現(xiàn)故障時,也能由DHCP Server B保證至少20%的可用地址。
圖2 DHCP作用域的80/20原則
DHCP的中繼代理功能,可由支持RFC1542的路由器完成,也可由Win Server服務(wù)器完成。如圖3所示,以VPN Win03為DHCP服務(wù)器,H3C MSR30-20為DHCP中繼代理,描述DHCP中繼代理的工作原理。
圖3 網(wǎng)絡(luò)拓撲圖
DHCP Client C獲取IP的過程如下:(1)DHCP Client C在子網(wǎng)1中發(fā)送DHCPDiscover廣播報文。(2)SwA沒有隔斷廣播風(fēng)暴的功能,RTA將接收該IP為0.0.0.0的報文信息,并在代理文件中填入RTA自己的IP地址,將消息單播轉(zhuǎn)發(fā)到子網(wǎng)2上的DHCP Server A。(3)子網(wǎng)2上的DHCP Server A收到此消息時,會從DHCP作用域中找到網(wǎng)關(guān)是192.168.1.1/24的可用IP地址租約。(4)DHCP Server A處理IP地址租約(DHCP Offer)并將其以單播形式回送給網(wǎng)關(guān)IP地址字段中標識的中繼代理(192.168.1.1/24)RTA。(5)RTA將地址租約(DHCP Offer)以廣播的形式轉(zhuǎn)發(fā)給DHCP客戶端。
以圖3為例,構(gòu)建物理網(wǎng)絡(luò),在Win XP主體機上配置VPNWin03的DHCP服務(wù)功能,啟動RTA的中繼代理功能。實現(xiàn)DHCP Server A向DHCP Client C分配IP信息。
在XP系統(tǒng)上安裝VPN WIN03,在VPN上安裝DNS、AD和DHCP服務(wù)器,并完成相關(guān)設(shè)置,授權(quán)激活作用域,將主體機XP連入到SwA。如圖4所示,MAC為00E0-4C72-072F的DHCP Client A獲取正確的IP信息。而MAC為0014-2AFF-E890的DHCP Client C只獲取了169.254.0.0網(wǎng)段的IP信息,如圖5所示。
在MSR30-20上配置DHCP中繼代理后,DHCP Client C獲取IP信息如圖6所示[4],DHCP服務(wù)器中作用域192.168.1.0/24的IP地址的分配情況如圖7所示。
連接MSR30-20的console口進行如下配置:
[RTA]dhcp enable
[RTA]dhcp relay server-group 1 ip 192.168.2.2
[RTA]interface GigabitEthernet 0/0
[RTA-GigabitEthernet0/0]dhcp select relay
[RTA-GigabitEthernet0/0]dhcp relay server-select 1
實驗證明,圖3所示方案可行,而且將支持RFC1542的路由器作為DHCP中繼代理,VPNWin03系統(tǒng)作為DHCP Server,通過同一個實驗完成DHCP和中繼代理功能,解決了實驗環(huán)境中只有XP等系統(tǒng)沒有Win03系統(tǒng)的問題,彌補了教學(xué)中將路由器和Win03 DHCP功能割裂開講解的不足。
[1] 黃彩鳳.DHCP基本原理及配置[J].鐵道通信信號,2009,45(7):44-46.
[2] 張子陸.簡述DHCP服務(wù)器配置[J].福建電腦,2010(5):177-178.
[3] 韓麗,崔建濤.DHCP中繼代理在虛擬機上的實現(xiàn)[J].太原理工大學(xué)學(xué)報,2010,41(2):163-165.
[4] 杭州華三通信技術(shù)有限公司.H3C網(wǎng)絡(luò)學(xué)院路由交換:第1卷(上冊)[M].北京:H3C通信技術(shù)有限公司,2010.
[5] 微軟公司.網(wǎng)絡(luò)基本架構(gòu)的規(guī)劃和維護[M].北京:高等教育出版社,2005.
[6] 梁金.DHCP協(xié)議及DHCP Relay[J].科技資訊,2010(12):29.
[7] 何智勇,沈蘇彬,毛燕琴.DHCP協(xié)議優(yōu)化方案研究[J].計算機技術(shù)與發(fā)展,2010,20(9):5-9.
[8] 豐碩,林美蓉.淺談解決DHCP動態(tài)更改IP地址問題[J].電腦知識與技術(shù),2010,6(11):2589-2590.