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