DHCP基本原理及實現過程

DHCP的含義?

DHCP,動態主機配置協議,前身是BOOTP協議,是一個局域網的網絡協議,使用UDP協議工作,常用的2個端口:67(DHCP server),68(DHCP client)。DHCP通常被用於局域網環境,主要作用是集中的管理、分配IP地址,使client動態的獲得IP地址、Gateway地址、DNS服務器地址等信息,並能夠提升地址的使用率。簡單來說,DHCP就是一個不需要賬號密碼登錄的、自動給內網機器分配IP地址等信息的協議。

DHCP協議中的報文

  1. DHCP DISCOVER :客戶端開始DHCP過程發送的包,是DHCP協議的開始
  2. DHCP OFFER :服務器接收到DHCP DISCOVER之後做出的響應,它包括了給予客戶端的IP、客戶端的MAC地址、租約過期時間、服務器的識別符以及其他信息
  3. DHCP REQUEST :客戶端對於服務器發出的DHCP OFFER所做出的響應。在續約租期的時候同樣會使用。
  4. DHCP ACK :服務器在接收到客戶端發來的DHCP REQUEST之後發出的成功確認的報文。在建立連接的時候,客戶端在接收到這個報文之後才會確認分配給它的IP和其他信息可以被允許使用。
  5. DHCP NAK :DHCP ACK的相反的報文,表示服務器拒絕了客戶端的請求。
  6. DHCP RELEASE :一般出現在客戶端關機、下線等狀況。這個報文將會使DHCP服務器釋放發出此報文的客戶端的IP地址
  7. DHCP INFORM :客戶端發出的向服務器請求一些信息的報文
  8. DHCP DECLINE :當客戶端發現服務器分配的IP地址無法使用(如IP地址衝突時),將發出此報文,通知服務器禁止使用該IP地址

DHCP實現的簡單過程

DHCP基本原理及實現過程

1.發現階段

在DHCP服務配置完成後,DHCP Client啟動時,由於沒有IP地址,會自動發送以discover的廣播報文源地址為0.0.0.0目的地址為255.255.255.255。網絡上的所有支持TCP/IP的主機都會收到該DHCP Discovery報文,但是隻有DHCP Server會響應該報文。

2.DHCP Server offer響應階段

DHCP Server收到discover報文後,通過解析報文,查詢dhcpd.conf配置文件,如果在地址池中能找到合適的IP地址,DHCP Server會給DHCP Client發送offer報文,告訴DHCP Client,該DHCP Server擁有資源,可以提供DHCP服務。

3.DHCP Client請求使用階段

當DHCP Client收到offer報文時,知道在本網段中有可用的DHCP Server可以提供DHCP服務,因此,它會發送一個request請求報文,向該DHCP Server請求IP地址、掩碼、網關、DNS等信息,以便登陸網絡。

4.DHCP Server確認使用階段(獲得IP地址)

當DHCP Server收到DHCP Client發送的DHCP Request後,確認要為該DHCP Client提供的IP地址後,便向該DHCP Client響應一個包含該IP地址以及其他Option的報文,來告訴DHCP Client可以使用該IP地址了。然後DHCP Client即可以將該IP地址與網卡綁定。另外其他DHCP Server都將收回自己之前為DHCP Client提供的IP地址。

5. DHCP Client重新登錄網絡階段

當DHCP Client重新登錄後,發送一個以前的DHCP Server分配的IP地址信息的DHCP Request報文,當DHCP Server收到該請求後,會嘗試讓DHCP客戶端繼續使用該IP地址。並回答一個ACK報文。

如果該IP地址無法再次分配給該DHCP Client後,DHCP回覆一個NAK報文,當DHCP Client收到該NAK報文後,會重新發送DHCP Discovery報文來重新獲取IP地址。

6. DHCP Client續約階段

DHCP獲取到的IP地址都有一個租約,租約過期後,DHCP Server將回收該IP地址,所以如果DHCP Client如果想繼續使用該IP地址,則必須更新器租約。更新的方式就是,當前租約期限過了一半後,DHCP Client都會發送DHCP Renew報文來續約租期

通過wireshark抓包也可以看到DHCP的工作過程

DHCP基本原理及實現過程


分享到:


相關文章: