-
DHCP
鎖定
DHCP(動態主機配置協議)是一個局域網的網絡協議。指的是由服務器控制一段IP地址範圍,客户機登錄服務器時就可以自動獲得服務器分配的IP地址和子網掩碼。默認情況下,DHCP作為Windows Server的一個服務組件不會被系統自動安裝,還需要管理員手動安裝並進行必要的配置。
[1]
- 中文名
- 動態主機配置協議
- 外文名
- Dynamic Host Configuration Protocol
- 類 型
- 計算機網絡應用層協議
- 簡 稱
- DHCP
- 隸 屬
- Windows Server
- 操作方法
- 管理員手動安裝
DHCP功能概述
DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)通常被應用在大型的局域網絡環境中,主要作用是集中地管理、分配IP地址,使網絡環境中的主機動態的獲得IP地址、Gateway地址、DNS服務器地址等信息,並能夠提升地址的使用率。
[2]
DHCP協議採用客户端/服務器模型,主機地址的動態分配任務由網絡主機驅動。當DHCP服務器接收到來自網絡主機申請地址的信息時,才會向網絡主機發送相關的地址配置等信息,以實現網絡主機地址信息的動態配置。DHCP具有以下功能:
[2]
1) 自動分配方式(Automatic Allocation),DHCP服務器為主機指定一個永久性的IP地址,一旦DHCP客户端第一次成功從DHCP服務器端租用到IP地址後,就可以永久性的使用該地址。
[2]
DHCP消息的格式是基於BOOTP(Bootstrap Protocol)消息格式的,這就要求設備具有BOOTP中繼代理的功能,並能夠與BOOTP客户端和DHCP服務器實現交互。BOOTP中繼代理的功能,使得沒有必要在每個物理網絡都部署一個DHCP服務器。RFC 951和RFC 1542對BOOTP協議進行了詳細描述。
[2]
DHCP封包格式
DHCP封包在傳輸層(Transport Layer)是採用UDP協議,而當 Client傳送封包給 Server時,採用的是UDP 67 Port,從 Server傳送給 Client則是使用UDP 68 Port。
OP:
若是 client 送給 server 的封包,設為 1 ,反向則為 2。
HTYPE:
HLEN:
HOPS:
TRANSACTION ID:
SECONDS:
FLAGS:
ciaddr:
yiaddr:
siaddr:
giaddr:
chaddr:
sname:
file:
DHCP工作原理
2、所有的DHCP Server都能夠接收到DHCP Client發送的DHCP Discover報文,所有的DHCP Server都會給出響應,向DHCP Client發送一個DHCP Offer報文。
[4]
DHCP Offer報文中“Your(Client) IP Address”字段就是DHCP Server能夠提供給DHCP Client使用的IP地址,且DHCP Server會將自己的IP地址放在“option”字段中以便DHCP Client區分不同的DHCP Server。DHCP Server在發出此報文後會存在一個已分配IP地址的紀錄。
[4]
4、DHCP Server收到DHCP Request報文後,判斷選項字段中的IP地址是否與自己的地址相同。如果不相同,DHCP Server不做任何處理只清除相應IP地址分配記錄;如果相同,DHCP Server就會向DHCP Client響應一個DHCP ACK報文,並在選項字段中增加IP地址的使用租期信息。
[4]
5、DHCP Client接收到DHCP ACK報文後,檢查DHCP Server分配的IP地址是否能夠使用。如果可以使用,則DHCP Client成功獲得IP地址並根據IP地址使用租期自動啓動續延過程;如果DHCP Client發現分配的IP地址已經被使用,則DHCP Client向DHCPServer發出DHCP Decline報文,通知DHCP Server禁用這個IP地址,然後DHCP Client開始新的地址申請過程。
[4]
6、DHCP Client在成功獲取IP地址後,隨時可以通過發送DHCP Release報文釋放自己的IP地址,DHCP Server收到DHCP Release報文後,會回收相應的IP地址並重新分配。
[4]
在使用租期超過50%時刻處,DHCP Client會以單播形式向DHCP Server發送DHCPRequest報文來續租IP地址。如果DHCP Client成功收到DHCP Server發送的DHCP ACK報文,則按相應時間延長IP地址租期;如果沒有收到DHCP Server發送的DHCP ACK報文,則DHCP Client繼續使用這個IP地址。
[4]
在使用租期超過87.5%時刻處,DHCP Client會以廣播形式向DHCP Server發送DHCPRequest報文來續租IP地址。如果DHCP Client成功收到DHCP Server發送的DHCP ACK報文,則按相應時間延長IP地址租期;如果沒有收到DHCP Server發送的DHCP ACK報文,則DHCP Client繼續使用這個IP地址,直到IP地址使用租期到期時,DHCP Client才會向DHCP Server發送DHCP Release報文來釋放這個IP地址,並開始新的IP地址申請過程。
[4]
需要説明的是:DHCP客户端可以接收到多個DHCP服務器的DHCPOFFER數據包,然後可能接受任何一個DHCPOFFER數據包,但客户端通常只接受收到的第一個DHCPOFFER數據包。另外,DHCP服務器DHCPOFFER中指定的地址不一定為最終分配的地址,通常情況下,DHCP服務器會保留該地址直到客户端發出正式請求。
[4]
正式請求DHCP服務器分配地址DHCPREQUEST採用廣播包,是為了讓其它所有發送DHCPOFFER數據包的DHCP服務器也能夠接收到該數據包,然後釋放已經OFFER(預分配)給客户端的IP地址。
[4]
在協商過程中,如果DHCP客户端發送的REQUEST消息中的地址信息不正確,如客户端已經遷移到新的子網或者租約已經過期,DHCP服務器會發送DHCPNAK消息給DHCP客户 端,讓客户端重新發起地址請求過程。
[4]
DHCPDHCP設備
由於DHCP是C/S模式運行的,所以使用DHCP的設備為客户端,而提供DHCP服務的為服務端。DHCP客户端可以讓設備自動地從DHCP服務器獲得IP地址以及其他配置參數。使用DHCP客户端可以帶來如下好處:
(1)降低了配置和部署設備時間;
(2)降低了發生配置錯誤的可能性;
(3)可以集中化管理設備的IP地址分配。DHCP服務器指的是由
需要注意的是,DHCP也可以用在不同的子網上,這時候需要使用稱為DHCP中繼代理( DHCP Relay, DHCPR,也叫DHCP中繼)的設備。當DHCP客户端與服務器不在同一個子網上,就必須有DHCP中繼代理來轉發DHCP請求和應答消息。DHCP中繼代理的數據轉發,與通常路由轉發是不同的,通常的路由轉發相對來説是透明傳輸的,設備一般不會修改IP包內容。
[5]
有了DHCP中繼,可以實現DHCP的跨網運作。由於 DHCP DISCOVER是以廣播方式進行的,其情形只能在同一網絡之內進行,因為路由器是不會將廣播傳送出去的。但如果DHCP服務器架設在其他的網絡上面,可以用DHCP中繼來接管客户的DHCP請求,然後將此請求傳遞給真正的DHCP服務器,然後將服務器的回覆傳給客户。這裏,DHCP中繼主機必須自己具有路由能力,且能將雙方的數據報互傳對方。如果不使用中繼,也可以在每一個網絡中安裝DHCP服務器,但這樣的話,一來設備成本會增加,而且管理上面也比較分散。當然,如果在大型的網絡中,這樣的均衡式架構還是可取的。
[5]
DHCPDHCP服務
DHCP安裝DHCP服務
第2步:在“組件”列表中找到並勾選“網絡服務”複選框,然後單擊“詳細信息”按鈕,打開“網絡服務”對話框。接着在“網絡服務的子組件”列表中勾選“動態主機配置協議(DHCP)”複選框,依次單擊“確定→下一步”按鈕開始配置和安裝DHCP服務。最後單擊“完成”按鈕完成安裝。
[4]
提示:如果是在Active Directory(活動目錄)域中部署DHCP服務器,還需要進行授權才能使DHCP服務器生效。本例的網絡基於工作組管理模式,因此無需進行授權操作即可進行創建IP作用域的操作。
[4]
DHCPDHCP服務器
2. 在控制枱窗口中,用鼠標左鍵點擊選中服務器名,然後單擊右鍵,在快捷菜單中選中“授權”,此時需要幾分鐘的等待時間。注意:如果系統長時間沒有反應,可以按F5鍵或選擇菜單工具中的“操作”下的“刷新”進行屏幕刷新,或先關閉DHCP控制枱,在服務器名上用鼠標右鍵點擊。如果快捷菜單中的“授權”已經變為“撤消授權”,則表示對DHCP服務器授權成功。此時,最明顯的標記是服務器名前面紅色向上的箭頭變成了綠色向下的箭頭。這樣,這台被授權的DHCP服務器就有分配IP的權利了。
[4]
DHCPIP作用域
第3步:打開“IP地址範圍”嚮導頁,分別在“起始IP地址”和“結束IP地址”編輯框中鍵入事先確定的IP地址範圍(本例為“10.115.223.2~10.115.223.254”)。接着需要定義子網掩碼,以確定IP地址中用於“網絡/子網ID”的位數。由於本例網絡環境為城域網內的一個子網,因此根據實際情況將“長度”微調框的值調整為“23”,單擊“下一步”按鈕。
[4]
第4步:在打開的“添加排除”嚮導頁中可以指定排除的IP地址或IP地址範圍。由於已經使用了幾個IP地址作為其它服務器的靜態IP地址,因此需要將它們排除。在“起始IP地址”編輯框中鍵入排除的IP地址並單擊“添加”按鈕。重複操作即可,接着單擊“下一步”按鈕。
[4]
第6步:打開“配置DHCP選項”嚮導頁,保持選中“是,我想現在配置這些選項”單選框並單擊“下一步”按鈕。在打開的“路由器(默認網關)”嚮導頁中根據實際情況鍵入網關地址(本例為“10.115.223.254”)並依次單擊“添加→下一步”按鈕。
[4]
第7步:在打開的“域名稱和DNS服務器”嚮導頁中沒有做任何設置,這是因為網絡中沒有安裝DNS服務器且尚未升級成域管理模式.依次單擊“下一步”按鈕,跳過“WINS服務器”嚮導頁打開“激活作用域”嚮導頁。保持“是,我想現在激活此作用域”單選框選中狀態,並依次單擊“下一步”→“完成”按鈕結束配置。
[4]
設置DHCP客户端:安裝了DHCP服務並創建了IP作用域後, 要想使用DHCP方式為客户端電腦分配IP地址,除了網絡中有一台DHCP服務器外,還要求客户端電腦應該具備自動向DHCP服務器獲取IP地址的能力,這些客户端電腦就被稱作DHCP客户端。
[4]
因此我們對一台運行Windows XP的客户端電腦面前進行了如下設置:在桌面上右擊“網上鄰居”圖標,執行“屬性”命令。在打開的“網絡連接”窗口中右擊“本地連接”圖標並執行“屬性”,打開“本地連接 屬性”對話框。然後雙擊“Internet協議(TCP/IP)”選項,點選“自動獲得IP地址”單選框,並依次單擊“確定”按鈕。
[4]
DHCP創建用户
創建新用户或供應商選項類啓動 DHCP 管理器。單擊控制枱樹中的適用的 DHCP服務器分支。右擊在的服務器,然後單擊創建新的用户類的”定義用户類“,或者單擊“定義供應商類"創建一個新的供應商類。單擊"添加"。在"新的類"的對話框鍵入一個描述性的標識名稱,為新的選項,在"顯示名稱"框。還可能會將其他信息添加到"説明"框。鍵入數據以匹配的類 ID 由ID或ASCII下的 DHCP客户端提供 DHCP服務器服務使用。若要為十六進制字節數字值輸入數據,請單擊文本框的左側。若要輸入信息交換 (ASCII)文本字符值為美國標準碼數據,單擊文本框的右側。單擊"確定",然後單擊"關閉"。使用新的類 ID 配置 DHCP 作用域在 DHCP 管理器,雙擊相應的 DHCP 作用域。右鍵單擊"作用域選項",然後單擊"配置選項"。單擊"高級",單擊以選中複選框或要使用新的供應商或用户類在功能旁邊的框。單擊"確定"。為客户端計算機設置指定的 DHCP 類 ID 字符串連接到基於 Windows 2000 的 DHCP服務器的客户端計算機使用下面的命令可以設置指定的 DHCP類別ID 字符串:ipconfig / setclassid adapter_name class_id。
[5]
例如配置名為"Local Area Connection"的適配器名為"myuserclass 用户類 ID,請在命令提示符下鍵入 ipconfig / setclassid本地連接myuserclass ,然後按 ENTER 鍵。
[5]
DHCP相關介紹
DHCPDHCP服務器
DHCPDHCP中繼代理
DHCPRelay(DHCPR)DHCP中繼 也叫做DHCP中繼代理。DHCP中繼代理,就是在DHCP服務器和客户端之間轉發DHCP數據包。當DHCP客户端與服務器不在同一個子網上,就必須有DHCP中繼代理來轉發DHCP請求和應答消息。DHCP中繼代理的數據轉發,與通常路由轉發是不同的,通常的路由轉發相對來説是透明傳輸的,設備一般不會修改IP包內容。而DHCP中繼代理接收到DHCP消息後,重新生成一個DHCP消息,然後轉發出去。
[7]
- 參考資料
-
- 1. 王靈霞,劉永純編.網絡管理與運維實戰寶典:中國鐵道出版社,2016.07:第220頁
- 2. 魯凌雲編著. 計算機網絡基礎應用教程. 北京市:清華大學出版社, 2012.03.
- 3. 施威銘研究室著.Internet協議概念與實踐:清華大學出版社,2001年10月第1版:第296頁
- 4. 顧潤龍,劉智濤,侯玉香主編.LINUX操作系統及應用技術:航空工業出版社,2016.08:第170頁
- 5. 徐勁松主編.計算機網絡應用技術:北京電子大學出版社,2015.01:第112頁
- 6. 楊佩璐編著.dos/bios高手真經:中國鐵道出版社,2014.10:第221頁
- 7. 李錫澤,何偉,嶽昴主編.網絡構建與管理:武漢大學出版社,2015.04:第169頁