曹茸
(西安歐亞學(xué)院信息工程學(xué)院,陜西西安710065)
DHCP(Dynamic Host Configuration Protocol)即動(dòng)態(tài)主機(jī)配置協(xié)議[1-2],用于給網(wǎng)絡(luò)中的PC動(dòng)態(tài)分配IP信息,其IP租期到期則是自動(dòng)收回租用,以便于分配給其他主機(jī)的功能大大提高了IP地址的使用率,解決了BOOTP網(wǎng)絡(luò)缺乏“動(dòng)態(tài)性”的弊端,且DHCP向下兼容BOOTP。隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大和復(fù)雜程度的提高,DHCP服務(wù)和DHCP中繼代理服務(wù)功能將得到廣泛應(yīng)用。
DHCP的工作過(guò)程主要包括發(fā)現(xiàn)、提供、請(qǐng)求、確認(rèn)和更新租期等過(guò)程,如圖1所示。

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