動態主機配置協議DHCP
1.1.動態主機配置協議 DHCP(Dynamic Host Configuration Protocol)
- 動態主機配置協議 DHCP 提供了即插即用連網(plug-and-play networking)的機制。
- 這種機制允許一台計算機加入新的網絡和獲取IP地址而不用手工參與。
1.2.靜態IP地址
處於相對固定網段中的計算機的IP地址。比如學校每間教室的多媒體計算機,學校機房的服務器等,它們的位置相對固定,所處的網段也固定,那么學生可通過靜態的唯一的IP地址來訪問這些計算機。
1.3.動態IP地址
所處網段經常發生變化的計算機的IP地址。比如學生使用的筆記本電腦,在學校時所處的網段與在家時所處的網段不同,筆記本電腦在兩地上網時的IP地址自然也不同。
打開計算機的IPv4屬性窗口:
紅色框表示的是動態的IP地址,該選項會根據計算機所處網段的不同通過DHCP協議動態地配置IP地址;藍色框表示靜態IP地址。
1.4.DHCP服務器請求IP地址的過程
- 需要 IP 地址的計算機在啟動時就向 DHCP 服務器廣播發送發現報文(DHCPDISCOVER),這時該主機就成為 DHCP 客戶。
- 本網段中的所有計算機都能收到此廣播報文,但只有 DHCP 服務器才回答此廣播報文。
- DHCP 服務器先在其數據庫中查找該計算機的配置信息。若找到,則返回找到的信息。若找不到,則從服務器的 IP 地址池(address pool)中取一個地址分配給該計算機。DHCP 服務器的回答報文叫做提供報文(DHCPOFFER)。
- 當同一網段內多台DHCP服務器都收到計算機發出的廣播報文時,都會給計算機提供一個IP地址。計算機選擇其中之一並向該DHCP服務器發送確認信息。收到確認信息的DHCP服務器再把分配的IP地址對應的子網掩碼、網關和DNS地址等配置信息發送給計算機。沒有收到確認信息的DHCP服務器則收回發出去的IP地址供其他發出申請的計算機使用。
- DHCP服務器分配地址時一個沒有認證的過程,存在惡意安裝錯誤DHCP服務器,給計算機分配錯誤地址的情況。所以,網段中的DHCP服務器數量要進行嚴格的管理。
- 可以再計算機中配置自己的DHCP服務器,這里不拓展。
租用期(lease period)
- DHCP 服務器分配給 DHCP 客戶的 IP 地址的臨時的,因此 DHCP 客戶只能在一段有限的時間內使用這個分配到的 IP 地址。DHCP 協議稱這段時間為租用期。
- 租用期的數值應由 DHCP 服務器自己決定。
- DHCP 客戶也可在自己發送的報文中(例如,發現報文)提出對租用期的要求。
釋放租約
可以使用以下命令:
ipconfig /all
查看本計算機的DHCP服務器相關配置:
-
可以看到本計算機使用的是動態IP地址,即啟用了DHCP,計算機能夠動態地獲得IP地址。
-
也可以看到獲得租約地時間和租約過期地時間;
-
還能看到給本計算機提供動態IP地址分配地DHCP服務器地IP地址為:192.168.43.1;
使用以下命令可釋放租約,把DHCP分配地IP地址釋放:
ipconfig /release
釋放租約前:
釋放租約后:
可使用以下命令請求DHCP服務器重新分配地址:
ipconfig /renew
1.5.DHCP 中繼代理(relay agent)
- 並不是每個網絡上都有 DHCP 服務器,這樣會使 DHCP 服務器的數量太多。現在是每一個網絡至少有一個 DHCP 中繼代理,它配置了 DHCP 服務器的 IP 地址信息。
- 當 DHCP 中繼代理收到主機發送的發現報文后,就以單播方式向 DHCP 服務器轉發此報文,並等待其回答。收到 DHCP 服務器回答的提供報文后,DHCP 中繼代理再將此提供報文發回給主機。
1.6.跨網段地址分配
如圖三個網段:192.168.1.0 、192.168.2.0 、192.168.3.0 只有一台DHCP服務器。可以更改如下配置使一台DHCP服務器給三個網段地計算機分配地址。
- 在DHCP服務器中創建三個網段:192.168.1 、 192.168.2 、 192.168.3 的作用域(地址池)。
- 在路由器的 6/1 和 6/0 端口分別配置如下命令:
ip helper-address 192.168.1.9
這條命令便可實現跨網段的地址分配。注意要在路由器對應網段的端口處配置。192.168.1.9為DHCP服務器的地址。
配置了該命令的路由器也稱為DHCP中繼代理。
-
過程
192.168.1網段的計算機通過廣播的形式向DHCP服務器請求地址;通過配置路由器中連接其他網段的端口上述命令,這些網段中的計算機可通過單播的形式通過路由器轉發向DHCP服務器請求地址。DHCP服務器通過區分收到的請求地址信息是單播還是廣播來判定是本網段計算機請求地址還是其他網段計算機請求地址。
最后DHCP服務器從三個網段的地址池中選出地址分別分配給三個網段。
DHCP服務器必須是靜態地址
因為DHCP服務器是根據該靜態地址為本網段的計算機分配地址的。
補充
可以發現計算機向本網段的DHCP服務器請求地址時采用的是廣播的方式,相當於知道MAC地址請求IP地址。這與之前講的ARP協議通過IP地址請求MAC地址正好相反,可以說是逆向ARP協議,即RARP(反向地址轉換)協議。