DHCP簡介

DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個局域網的網絡協議,使用UDP協議工作, 主要有兩個用途:給內部網絡或網絡服務供應商自動分配IP地址,給用戶或者內部網絡管理員作爲對所有計算機作中央管理的手段,在RFC 2131中有詳細的描述。DHCP有3個端口,其中UDP67和UDP68爲正常的DHCP服務端口,分別作爲DHCP Server和DHCP Client的服務端口;546號端口用於DHCPv6 Client,而不用於DHCPv4,是爲DHCP failover服務,這是需要特別開啓的服務,DHCP failover是用來做"雙機熱備"的。
1.DHCP報文種類

DHCP一共有8種報文,分別爲DHCP Discover、DHCP Offer、DHCP Request、DHCP ACK、DHCP NAK、DHCP Release、DHCP Decline、DHCP Inform。各種類型報文的基本功能如下:

DHCP報文類型
說明
DHCP Discover
DHCP客戶端在請求IP地址時並不知道DHCP服務器的位置,因此DHCP客戶端會在本地網絡內以廣播方式發送Discover請求報文,以發現網絡中的DHCP服務器。所有收到Discover報文的DHCP服務器都會發送應答報文,DHCP客戶端據此可以知道網絡中存在的DHCP服務器的位置。
DHCP Offer
DHCP服務器收到Discover報文後,就會在所配置的地址池中查找一個合適的IP地址,加上相應的租約期限和其他配置信息(如網關、DNS服務器等),構造一個Offer報文,發送給DHCP客戶端,告知用戶本服務器可以爲其提供IP地址。但這個報文只是告訴DHCP客戶端可以提供IP地址,最終還需要客戶端通過ARP來檢測該IP地址是否重複。
DHCP Request
DHCP客戶端可能會收到很多Offer請求報文,所以必須在這些應答中選擇一個。通常是選擇第一個Offer應答報文的服務器作爲自己的目標服務器,並向該服務器發送一個廣播的Request請求報文,通告選擇的服務器,希望獲得所分配的IP地址。另外,DHCP客戶端在成功獲取IP地址後,在地址使用租期達到50%時,會向DHCP服務器發送單播Request請求報文請求續延租約,如果沒有收到ACK報文,在租期達到87.5%時,會再次發送廣播的Request請求報文以請求續延租約。
DHCP ACK
DHCP服務器收到Request請求報文後,根據Request報文中攜帶的用戶MAC來查找有沒有相應的租約記錄,如果有則發送ACK應答報文,通知用戶可以使用分配的IP地址。
DHCP Snooping
DHCP Snooping技術是DHCP安全特性,通過建立和維護DHCP Snooping綁定表過濾不可信任的DHCP信息,這些信息是指來自不信任區域的DHCP信息。DHCP Snooping綁定表包含不信任區域的用戶MAC地址、IP地址、租用期、VLAN-ID 接口等信息。
中繼代理
如果DHCP 客戶端和DHCP 服務器都位於同一個網段內,客戶端獲取IP 地址的過程與描述的基本相同。但是,如果DHCP 客戶端和DHCP 服務器位於被一個或多個路由器分展開的不同的網段上,整個過程就會變得更復雜一些。路由器通常是不能將廣播發送到其他網絡上的。爲了DHCP 可以工作,需要有一箇中介來協助完成DHCP 的處理過程。這個中介是與DHCP 客戶端在相同網絡中的另一臺主機(通常就是路由器)。在任何情況下,這個中介所執行的功能被稱爲BOOTP 中繼代理或者DHCP 中繼代理。

中繼代理必須具有固定的IP地址,同時還保存有DHCP 服務器的P 地址。因爲中繼代理已經擁有IP 地址,所以可以直接向DHCP 服務器發送數據包,或者接收來自於DHCP服務器的數據包。由於中繼代理與DHCP 客戶端位於相同的網絡上,也就意味着它可以通過廣播與DHCP客戶端進行通信。

中繼代理會在UDP端口監聽廣播;當中繼代理檢測到DHCP請求時,就將這個請求轉發給DHCP服務器。當代理收到DHCP服務器的響應時,就將響應在本地網段上廣播。

現在一種很流行這做法是通過路由器提供DHCP服務器的功能,在大多數網絡中,這樣都可以減少對DHCP中繼代理的需求。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章