動態主機配置協議DHCP(Dynamic Host Configration Protocol)

一、概念

DHCP(動態主機配置協議):基於server-client模型,端口號:server爲67,client爲68

二、報文

**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 NAK:如果 DHCP 服務器收到 Request 請求報文後,沒有發現有相應的租約記錄或者由於某些原因無法正常分配 IP 地址,則向 DHCP 客戶端發送 NAK 應答報文,通知用戶無法分配合適的 IP 地址。
DHCP Release:當 DHCP 客戶端不再需要使用分配 IP 地址時,就會主動向 DHCP 服務器發送 RELEASE 請求報文,告知服務器用戶不再需要分配 IP 地址,請求 DHCP 服務器釋放對應的 IP 地址。
DHCP Decline:當客戶端發現服務器分配的IP地址無法使用(如IP地址衝突時),則會向 DHCP 服務器發送 Decline 請求報文,通知服務器所分配的 IP 地址不可用,以期獲得新的 IP 地址。
DHCP Inform:DHCP 客戶端如果需要從 DHCP 服務器端獲取更爲詳細的配置信息,則向 DHCP 服務器發送Inform 請求報文;目前基本上已經棄用了。
所有報文基於UDP封裝

Ethernet IP UDP DHCP

注:不可靠的傳輸方式完成可靠效果1、有確認機制 2、週期發送

三、工作過程

在這裏插入圖片描述
前提是DHCPServer有地址、地址池、網關地址、DNS地址
1、當DHCP客戶端第一次登錄網絡的時候,計算機發現本機上沒有任何IP地址設定,將以廣播方式發送DHCP discover發現信息來尋找DHCP服務器,即向255.255.255.255發送特定的廣播信息。網絡上每一臺安裝了TCP/IP協議的主機都會接收這個廣播信息,但只有DHCP服務器纔會做出響應。
在這裏插入圖片描述
2、在網絡中接收到DHCP discover發現信息的DHCP服務器就會做出響應,它從尚未分配的IP地址池中挑選一個分配給DHCP客戶機,向DHCP客戶機發送一個包含分配的IP地址和其他設置的DHCP offer提供信息。
在這裏插入圖片描述
3、DHCP客戶端接受到DHCP offer提供信息之後,選擇第一個接收到的提供信息,然後以廣播的方式回答一個DHCP request請求信息,該信息包含向它所選定的DHCP服務器請求IP地址的內容。
在這裏插入圖片描述
4、當DHCP服務器收到DHCP客戶端回答的DHCP request請求信息之後,便向DHCP客戶端發送一個包含它所提供的IP地址和其他設置的DHCP ack確認信息,告訴DHCP客戶端可以使用它提供的IP地址。然後,DHCP客戶機便將其TCP/IP協議與網卡綁定,另外,除了DHCP客戶機選中的DHCP服務器外,其他的DHCP服務器將收回曾經提供的IP地址。
在這裏插入圖片描述
5、以後DHCP客戶端每次重新登錄網絡時,就不需要再發送DHCP discover發現信息了,而是直接發送包含前一次所分配的IP地址的DHCP request請求信息。當DHCP服務器收到這一信息後,它會嘗試讓DHCP客戶機繼續使用原來的IP地址,並回答一個DHCP ack確認信息。如果此IP地址已無法再分配給原來的DHCP客戶機使用時,則DHCP服務器給DHCP客戶機回答一個DHCP nack否認信息。當原來的DHCP客戶機收到此DHCP nack否認信息後,它就必須重新發送DHCP discover發現信息來請求新的IP地址。

四、配置

1、定義排除地址

R2(config)#ip dhcp excluded-address 192.168.1.1 192.168.1.2

2、創建地址池

R2(config)#ip dhcp pool cisco
R2(dhcp-config)#network 192.168.1.0 255.255.255.0
R2(dhcp-config)#default-router 192.168.1.1
R2(dhcp-config)#dns-server 8.8.8.8

3、定義租約

R2(dhcp-config)#lease 10

4、客戶端配置

R1(config)#interface fastEthernet 1/1
R1(config-if)#ip address dhcp 
R1(config-if)#no sh
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章