平時自己玩虛擬機的時候,虛擬機都會自動有一個跟本地環境同一網段的ip,那你你了解背后的分配邏輯嗎,其實就是用到了DHCP,
動態主機配置協議(DHCP)
動態主機配置協議(Dynamic Host Configuration Protocol),簡稱DHCP,
有了這個協議,網路管理員就輕松多了,他只需要配置一段共享的IP地址,每一臺新接入的機器都通過DHCP協議,來這個共享的IP地址里申請,然后自動配置好就可以了,等人走了,或者用完了,還回去,這樣其他的機器也能用,
所以說,如果是資料中心里面的服務器,IP一旦配置好,基本不會變,這就相當于買房自己裝修,DHCP的方式就相當于租房,你不用裝修,都是幫你配置好的,你暫時用一下,用完退租就可以了,
決議DHCP的作業方式
當一臺機器新加入一個網路的時候,肯定一臉懵,啥情況都不知道,只知道自己的MAC地址,怎么辦?先吼一句,我來啦,有人嗎?這時候的溝通基本靠“吼”,這一步,我們稱為DHCP Discover,
新來的機器使用IP地址0.0.0.0發送了一個廣播包,目的IP地址為255.255.255.255,廣播包封裝了UDP,UDP封裝了BOOTP,其實DHCP是BOOTP的增強版,但是如果你去抓包的話,很可能看到的名稱還是BOOTP協議,
在這個廣播包里面,新人大聲喊:我是新來的(Boot request),我的MAC地址是這個,我還沒有IP,誰能給租給我個IP地址!
格式就像這樣:

如果一個網路管理員在網路里面配置了DHCP Server的話,他就相當于這些IP的管理員,他立刻能知道來了一個“新人”,這個時候,我們可以體會MAC地址唯一的重要性了,當一臺機器帶著自己的MAC地址加入一個網路的時候,MAC是它唯一的身份,如果連這個都重復了,就沒辦法配置了,
只有MAC唯一,IP管理員才能知道這是一個新人,需要租給它一個IP地址,這個程序我們稱為DHCP Offer,同時,DHCP Server為此客戶保留為它提供的IP地址,從而不會為其他DHCP客戶分配此IP地址,
DHCP Offer的格式就像這樣,里面有給新人分配的地址,

DHCP Server仍然使用廣播地址作為目的地址,因為,此時請求分配IP的新人還沒有自己的IP,DHCP Server回復說,我分配了一個可用的IP給你,你看如何?除此之外,服務器還發送了子網掩碼、網關和IP地址租用期等資訊,
新來的機器很開心,它的“吼”得到了回復,并且有人愿意租給它一個IP地址了,這意味著它可以在網路上立足了,當然更令人開心的是,如果有多個DHCP Server,這臺新機器會收到多個IP地址,簡直受寵若驚,
它會選擇其中一個DHCP Offer,一般是最先到達的那個,并且會向網路發送一個DHCP Request廣播資料包,包中包含客戶端的MAC地址、接受的租約中的IP地址、提供此租約的DHCP服務器地址等,并告訴所有DHCP Server它將接受哪一臺服務器提供的IP地址,告訴其他DHCP服務器,謝謝你們的接納,并請求撤銷它們提供的IP地址,以便提供給下一個IP租用請求者,

此時,由于還沒有得到DHCP Server的最后確認,客戶端仍然使用0.0.0.0為源IP地址、255.255.255.255為目標地址進行廣播,在BOOTP里面,接受某個DHCP Server的分配的IP,
當DHCP Server接收到客戶機的DHCP request之后,會廣播回傳給客戶機一個DHCP ACK訊息包,表明已經接受客戶機的選擇,并將這一IP地址的合法租用資訊和其他的配置資訊都放入該廣播包,發給客戶機,歡迎它加入網路大家庭,

最終租約達成的時候,還是需要廣播一下,讓大家都知道,
IP地址的識訓和續租
既然是租房子,就是有租期的,租期到了,管理員就要將IP識訓,
如果不用的話,識訓就識訓了,就像你租房子一樣,如果還要續租的話,不能到了時間再續租,而是要提前一段時間給房東說,DHCP也是這樣,
客戶機會在租期過去50%的時候,直接向為其提供IP地址的DHCP Server發送DHCP request訊息包,客戶機接收到該服務器回應的DHCP ACK訊息包,會根據包中所提供的新的租期以及其他已經更新的TCP/IP引數,更新自己的配置,這樣,IP租用更新就完成了,
思考:dhcp 簡化了 新機器加入網路集群 ip地址分配的問題,很大程度上,減少了人工分配的作業量,并且還可以進行回收,以及續約,不會造成ip浪費,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/298092.html
標籤:其他
