李 勇, 范全潤, 張順吉, 孔德劍, 李 蘋, 吳麗華
(曲靖師范學院信息工程學院,云南曲靖655011)
隨著4G/5G、物聯(lián)網、移動終端互聯(lián)等現代通信技術的不斷發(fā)展,越來越多的用戶選擇將終端、傳感器等設備接入互聯(lián)網,使得IPv4 中地址數量不足的問題日益嚴峻。動態(tài)主機配置協(xié)議(Dynamic Host Configuration Protocol,DHCP)既可以有效地緩解互聯(lián)網中IP地址可分配數量不足的問題,又可以極大地減少網絡管理員配置管理主機的工作量、提高主機配置管理效率,被廣泛應用在各種園區(qū)網絡組建中。DHCP成了近年來網絡工程實踐和研究領域中的一個熱點、也是高校計算機專業(yè)學生必須掌握的一項網絡工程實踐技能,得到了研究者的廣泛關注。針對局域網內可分配使用的IP 地址數量不足的問題,文獻[1-3]中對IP 地址的使用問題進行了詳細分析,基于DHCP服務提出了可行的IP地址分配方案、緩解了IP地址使用數量不足的問題。文獻[4-9]中針對由IP地址沖突、ARP 地址欺騙、私設DHCP 服務器等原因引發(fā)的網絡安全故障問題,進行了深入研究與分析,提出了不同的安全防范策略與方法、提升了網絡的安全性能。文獻[10-13]中對DHCP服務器的配置、管理與應用問題進行了詳細分析,給出了能夠有效提高DHCP服務器管理水平與使用效率的技術方案。
針對如何加深計算機專業(yè)學生對DHCP工作原理的理解、提升其網絡工程實踐能力,傳統(tǒng)的實驗室環(huán)境下由于場地、設備數量有限,且在實驗室物理設備上進行DHCP 實驗的可操作性差,因此,教學效果并不佳[14]。企業(yè)網絡仿真平臺(Enterprise Network Simulation Platform,eNSP)可以模擬PC 終端、企業(yè)級交換機和路由器等大部分設備的功能,不必拘于特定的實驗場地、設備數量、時間等因素的限制,通過該仿真平臺,可以方便學生利用課余時間隨時快速的部署實驗網絡環(huán)境,對實驗課堂上的內容進一步鞏固練習,有利于加深其對DHCP工作原理的理解和對DHCP配置命令的掌握。本文的主要工作是在eNSP環(huán)境下設計網絡場景,介紹在eNSP 環(huán)境下進行DHCP 實驗仿真的詳細過程,為開展DHCP 服務的實驗教學提供一種有效的參考方式。
DHCP是局域網內的一種應用層協(xié)議,基于用戶數據報協(xié)議(User Datagram Protocol,UDP)進行工作,常用于局域網內為客戶主機提供集中統(tǒng)一的IP地址、網關地址、域名解析服務器地址等參數的分配服務,由DHCP客戶端和DHCP 服務器兩部分析組成,其具體的工作過程如圖1 所示。

圖1 DHCP服務的工作過程
圖1 中DHCP服務的工作過程主要包括如下5 個階段:
(1)發(fā)現階段(Discover)。DHCP 客戶端在局域網內以廣播的方式發(fā)送DHCP Discover報文,向DHCP服務器請求分配IP地址參數。
(2)響應階段(Offer)。局域網內所有收到Discover報文的服務器向DHCP客戶機發(fā)送1 個包含可出租IP地址參數的DHCP offer租約報文。
(3)請求階段(Request)。DHCP 客戶端收到Offer報文后,以先到先采用為原則,接受第1 個DHCP offer租約報文中的租約信息,并以廣播的方式發(fā)送DHCP Request報文,請求分配第1 個DHCP offer租約報文中的IP地址參數。
(4)確認階段(ACK)。提供第1 個DHCP offer租約報文的DHCP服務器收到DHCP Request報文后,回答1 個DHCP ACK 報文,確認將IP 地址參數租用給DHCP客端。
(5)更新階段(Renew)。當DHCP客戶端使用完IP地址參數時需要主動向服務器端釋放分配的IP 地址參數、再次登錄網絡時需要重新請求分配IP 地址,租用的IP地址參數使用時間超過租約周期50%時需要申請更新租約,針對這些情況,DHCP服務器端將對應地做出確認或否認應答,本文將后續(xù)這些過程概括稱之為更新階段。
根據DHCP 服務配置實現方式的不同,可將其分為基于接口地址池的DHCP 服務、基于全局地址池的DHCP服務以及基于中繼的DHCP 服務3 種,下面依次介紹這3 種DHCP服務方式。
基于接口地址池的DHCP服務在接口上創(chuàng)建接口地址池,連接在同一個接口網段中的所有用戶都可以從該接口地址池中獲取IP地址參數,接口地址池綁定在特定的接口上,可以限制用戶的使用條件,一定程度上保障了網絡的安全性、同時作用范圍也有限。啟用基于接口地址池的DHCP服務的配置命令如下:
[Router]dhcp enable
[Router]interfaceinterface-number
[Router-interface-number]dhcp select interface
基于全局地址池的DHCP服務在DHCP服務器上創(chuàng)建公共地址池,將接口配置為全局地址池工作模式,從所有接口上連接的用戶都可以選擇該公共地址池中的IP地址參數,可以極大的方便用戶從不同接口接入DHCP服務器同時又可以從同一個公共地址池中獲取IP地址參數。啟用基于地址池的DHCP 服務的配置命令如下:
[Router]dhcp enable
[Router]interfaceinterface-number
[Router-interface-number]dhcp select global
DHCP的本質是一種局域網內的服務協(xié)議,只適用于在同一個局域網內的DHCP客戶端向DHCP服務器端請求獲取IP 地址參數。當局域網內的不同網段都需要動態(tài)獲取IP地址參數時,需要在所有網絡都設置一個DHCP服務器,不利于管理和維護。通過設置DHCP中繼設備,可以使DHCP 客戶端能夠向不同網段的DHCP服務器申請獲取IP 地址參數,既實現了DHCP服務跨網段問題,又節(jié)省了成本、方便了集中管理與維護。基于中繼的DHCP服務的實現方式有如下兩種:
(1)在面向DHCP 客戶端的接口下直接配置DHCP服務器,配置命令為:
[Router]dhcp enable
[Router]interfaceinterface-number
[Router-interface-number]dhcp select relay
[Router-interface-number]dhcp relay server-ip ip-address
(2)在面向DHCP客戶端的接口下調用全局定義的DHCP服務器組,配置命令為:
[Router]dhcp server group dhcp-group
[Router-dhcp-server-group-dhcp-group]dhcp-serverip-address
[Router-dhcp-server-group-dhcp-group]interfaceinterfacenumber
[Router-interface-number]dhcp select relay
[Router-interface-number]dhcp relay server-select dhcp-group
上述兩種基于中繼的DHCP 服務配置方式相比較,第1 種方式簡單、但重復配置的工作量較大;第2種方式配置略顯復雜,但配置工作量小,管理方便。
由于篇幅所限、且基于接口地址池和基于全局地址池的DHCP服務配置實現簡單,本文接下來介紹基于中繼的DHCP服務的實驗仿真過程,以加深學生對DHCP服務方式工作原理的理解,使其熟練掌握實現DHCP服務的配置方法、理解DHCP服務的應用場景、并學會使用DHCP服務解決組網工程實踐中的問題。
本實驗模擬某公司網絡的場景,分公司網絡由交換機S1和網關路由器R1組成,R1通過公網路由器R2訪問公司總部的DHCP服務器R3,公司內部所有員工的主機IP地址由R3集中管理。根據公司網絡應用場景可知,需要將內部網絡路由器R1配置為DHCP中繼設備、采用基于中繼的DHCP 服務來實現公司的網絡需求。在eNSP仿真平臺上設計基于中繼的DHCP 服務的實驗結構如圖2 所示,實驗過程中各設備接口使用的IP參數規(guī)劃見表1。

圖2 基于中繼的DHCP服務的實驗網絡結構

表1 實驗設備接口IP參數規(guī)劃列表
基于中繼的DHCP服務的實驗仿真步驟如下。
步驟1根據表1 中實驗設備接口的IP參數規(guī)劃列表,完成路由器R1、R2、R3中接口的IP地址配置。
步驟2在路由器R1、R2、R3上啟用OSPF 協(xié)議,構建OSPF網絡,使不同網段之間互相連通,主要配置命令如下:
[R1]ospf 1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 200.1.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 100.1.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 200.1.1.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 100.1.1.0 0.0.0.255
配置完成后,查看R1、R2、R3中路由表,可以清楚地觀察到,R1、R2、R3中均可以正常的獲得全網中的路由信息,證明網絡的連通性配置成功,連通性測試和路由信息表的查看在此省略。
步驟3將R3配置為DHCP服務器,主要配置命令如下:
[R3]dhcp enable
[R3]ip pool dhcp
[R3]ip pool dhcp-pool
[R3-ip-pool-dhcp-pool]network 10. 1. 1. 0 mask 255. 255.255.0
[R3-ip-pool-dhcp-pool]gateway-list 10.1.1.254
[R3-ip-pool-dhcp-pool]int g0/0/1
[R3-GigabitEthernet0/0/1]dhcp select global
配置完成后,可以看到R3中創(chuàng)建的地址池如圖3所示,包含有253 個可用地址、可以用于主機分配。

圖3 R3 中創(chuàng)建的地址池
步驟4將R1配置為DHCP中繼設備,本文在此采用面向DHCP 客戶端的接口下調用全局定義的DHCP服務器組的方式實現,主要配置命令如下:
[R1]dhcp server group dhcp-group
[R1-dhcp-server-group-dhcp-group]dhcp-server 100.1.1.1
[R1-dhcp-server-group-dhcp-group]int g0/0/1
[R1-GigabitEthernet0/0/1]dhcp select relay
[R1-GigabitEthernet0/0/1]dhcp relay server-select dhcp group
步驟5將分公司內部員工主機DHCP Client1 和DHCP Client2 配置為使用DHCP方式獲取IP地址,配置完成后,打開用戶主機的“命令行”,使用“ipconfig”命令查看DHCP Client1 主機獲取到的IP 地址參數如圖4 所示,表明基于中繼的DHCP服務配置成功。

圖4 DHCP Client1主機獲取到的IP地址參數
本文詳細地介紹了基于中繼的DHCP 服務在eNSP模擬器中的設計與實現過程,使用學生能夠更好地理解中繼DHCP服務的工作原理和實現過程、熟練地掌握實現中繼DHCP 服務的配置命令、學會運用基于中繼的DHCP服務去解決網絡工程實踐中的問題。除此之外,學生還可以參考這種實驗方式,利用課余時間自行設計實驗網絡結構,完成其他兩種DHCP 服務的實驗仿真、學會靈活運用這3 種實現DHCP 服務的方式去解決不同實際問題,起到了舉一反三的實驗教學效果[14]。
隨著互聯(lián)網用戶數量的日益增加,IPv4 中地址數量不足的問題變得更加嚴峻,使得DHCP 服務在組網工程實踐中的應用日益廣泛。本文介紹了近年來有關DHCP服務的一些研究成果;介紹了DHCP 服務的基本工作過程和3 種不同的實現方式;在eNSP 模擬器中進行了基于中繼的DHCP 服務的實驗仿真,給出了詳細的實驗設計、配置步驟和實驗分析,使學生深刻地理解了DHCP服務的工作過程、掌握了DHCP 服務實現的配置方式,起到了良好的實驗教學效果。