零基礎小白 帶你從頭到尾的細緻了解DHCP協議

2021-10-19 21:58:01 字數 3501 閱讀 6829

dhcp基本背景

1.1. 前言

dhcp協議

2.1. dhcp的介紹

dhcp:dynamic host configure protocol,動態主機配置協議

從bootp(bootstrap protocol)協議發展而來

udp封裝,伺服器=67,客戶端=68

動態分配tcp/ip資訊(ip位址、子網掩碼、預設閘道器、dns伺服器等)

分配出去的資訊是有租約的

2.2. dhcp系統組成

dhcp client(客戶端):通過dhcp協議請求獲取ip位址等網路引數的裝置

dhcp server(伺服器):能提供dhcp功能的伺服器或網路裝置

dhcp relay(中繼):負責**dhcp伺服器和dhcp客戶端之間的dhcp報文,協助dhcp伺服器向dhcp客戶端動態分配網路引數的裝置

2.3. dhcp報文型別

2.4. dhcp的工作流程

2.4.1. 發現階段

dhcp客戶端傳送dhcp discover報文來發現dhcp伺服器。由於客戶端不知道dhcp伺服器的位址ip位址,所以客戶端以廣播的方式傳送dhcp discover報文(目的ip為255.255.255.255),同一網段的所有dhcp伺服器或中繼都能收到此報文。

2.4.2. 提供階段

位於同一網段的dhcp伺服器都會接收到dhcp discover報文,收到dhcp discover的伺服器會給 dhcp客戶以單播形式傳送dhcp offer分配ip地

2.4.3. 選擇階段

因為dhcp discover報文時廣播方式傳送的,如果同一網段內存在多個dhcp伺服器,接收到dhcp discover報文的伺服器都會回應dhcp offer報文,則dhcp客戶端一般選擇先收到的dhcp offer報文,然後以廣播的方式傳送dhcp request報文

以廣播方式傳送dhcp request報文,是為了通知所有dhcp伺服器,他將選擇某個dhcp伺服器提供的ip位址,其他dhcp伺服器可以重新將曾經分配給客戶端的ip位址分配個其他客戶端

2.4.4. 確認階段

當dhcp伺服器收到dhcp客戶端傳送的dhcp request報文後,dhcp伺服器回應dhcp ack報文,表示dhcp request報文中請求的ip位址分配給客戶端使用

2.5. dhcp租期

2.5.1. dhcp租期介紹

dhcp伺服器採用動態分配機制給客戶端分配ip位址時,分配出去的ip位址有租期限制。dhcp客戶端向伺服器申請位址時可以攜帶期望租期,伺服器可以分配租期時把客戶期望租期和位址池中的租期比較,分配其中乙個較短的租期給客戶端。租期時間到後伺服器會收回該ip位址,收回的ip位址可以繼續分配給其他客戶端適用。這種機制可以提高ip位址的利用率,避免客戶端下線後ip位址繼續被占用。如果dhcp客戶端希望繼續使用該位址,就需要更新ip位址租期

2.5.2. dhcp租期跟新

當租期達到50%(t1)時,dhcp客戶端會自動以單播的方式向dhcp伺服器傳送dhcp request報文請求更新的ip位址租期。

如果收到dhcp伺服器回應的dhcp ack報文,則租期更新成功(即租期從0開始計算)

如果收到dhcp伺服器回應的dhcp nak報文,則重新傳送dhcp discover報文請求新的ip位址

2.5.3. dhcp重繫結

當租期達到87.5%(t2)時,如果仍未收到dhcp伺服器的應答,dhcp客戶端會自動以廣播的方式向dhcp伺服器傳送dhcp request報文請求更新的ip位址租期。

如果收到dhcp伺服器回應的dhcp ack報文,則租期更新成功(即租期從0開始計算)

如果收到dhcp伺服器回應的dhcp nak報文,則重新傳送dhcp discover報文請求新的ip位址

2.5.4. 租期到期

如果租期時間到時都沒有收到伺服器的回應,客戶端停止使用此ip位址,重新傳送dhcp discover報文請求新的ip位址

2.5.5. 租期設定建議

設定較短

增加網路負擔

適用客戶端較多

流動場所(機場、火車站、酒店、ktv、購物中心等)

設定較長

減輕網路負擔

等待較長

固定場所(家庭、企業)

2.6. dhcp擴充套件

2.6.1. 位址釋放

客戶端在租期時間到之前,如果使用者不想使用分配的ip位址(例如客戶端網路位置需要變更),會觸發dhcp客戶端向dhcp伺服器傳送dhcp release報文,通知dhcp伺服器釋放ip位址的租期。

dhcp伺服器會保留這個dhcp客戶端的配置資訊,將ip位址列為曾經分配過的ip位址中,以便後續重新分配給該客戶端或其他客戶端

客戶端可以通過傳送dhcp inform報文向伺服器請求更新配置資訊

2.6.2. dhcp位址重使用

dhcp客戶端非首次接入網路時,可以重用曾經使用過的位址

客戶端廣播傳送包含前一次分配的ip位址的dhcp request報文,報文中的option 50(請求的ip位址選項)字段填入曾經使用過的ip位址

dhcp伺服器收到dhcp request報文後,根據dhcp request報文攜帶的mac位址來查詢有沒有相應的的租約記錄,如果有則返回dhcp ack,通知dhcp客戶端繼續使用這個ip位址。否則保持沉默,等待dhcp客戶端重新傳送dhcp discover報文請求新的ip位址

2.6.3. dhcp位址池

所分配位址的合集

​介面位址池的優先順序比全域性位址池高

2.7. dhcp配置

2.7.1. 配置命令

控制分配的位址範圍

防止和重要的裝置衝突

2.7.2. 介面位址池

零基礎到實戰,IT小白的高階之路

動動手指,敲敲鍵盤就能改變世界,這是很多人想象中的程式設計師,擁有著令人羨慕的工資待遇和專業能力,可事實上,程式猿並不是那麼好當的,要想成為一名優秀的程式設計師更是難上加難。如果是非計算機專業的學生的話,那怎麼才能快速成長為一名程式設計師呢?計算機是具有學術性和工具性的雙重屬性學課,不能因為想學it...

面向零基礎小白的爬蟲系列(四) 庫

愛 的宣言 本系列的目的是幫助一些零基礎小白能夠快速上手爬蟲。因為作者本人也是乙個剛入門不久的零基礎小白,深知自學 亂學 的痛苦。本系列的知識可能不會像一些大佬的文章那般系統,但仍希望能幫助到一些小夥伴,同時,也希望能結識一些小夥伴。面向零基礎小白的爬蟲系列 一 字串 面向零基礎小白的爬蟲系列 二 ...

前端小白的高階歷程 HTML零基礎學習第一課

web前端基礎 html html 超文字標記語言 標記語言是一套標記標籤 html使用標記標籤來描述網頁 html文件是解釋執行的 也有單獨出現的,例如 等。html分為頭部與主體兩部分,這是最基本的必備結構 頭部標記 不顯示在網頁上 包括頁面標題標記 元資訊標記 樣式標記 指令碼標記 鏈結標記 ...