在线乱码卡一卡二卡新HD,最近韩国免费观看视频,国产色无码精品视频国产,亚洲男人的天堂久久香蕉

37 張圖詳解 DHCP :給你 IP 地址的隱形人
來源:網絡技術平臺    時間:2023-07-10 09:09:59
DHCP 出現

電腦或手機需要 IP 地址才能上網。大劉有兩臺電腦和兩臺手機,小美有一臺筆記本電腦、一臺平板電腦和兩臺手機,老王、阿麗、敏敏也有幾臺終端設備。如果為每臺設備手動配置 IP 地址,那會非常繁瑣,一點兒也不方便。特別是手機、筆記本電腦、平板電腦等設備,每移動到一個新的地方,接入不同的網絡,都要重新設置 IP 地址,實在是太麻煩了。

于是就有了 DHCP 協議,會自動配置設備的網絡參數,包括 IP 地址、子網掩碼、網關地址、DNS 服務器等,替代手動配置。還能統一 IP 地址分配,方便網絡管理。

DHCP 簡介

DHCP 協議是從 BOOTP 協議發展而來。但 BOOTP 運行在相對靜態的環境中,每臺設備配置專門的 BOOTP 參數文件,該文件會在相當長的時間內保持不變。DHCP 從以下兩方面對 BOOTP 進行了擴展:


(資料圖片僅供參考)

DHCP 允許設備動態地獲取 IP 地址,而不是靜態指定每臺主機地址。DHCP 能夠分配其它的配置參數,客戶端僅用一個消息就獲取它所需要的所有配置信息。

大劉他們的設備使用 DHCP 功能后,只要連接到網絡,就可以進行 TCP/IP 通信。對于路由器和交換機,通常是手動配置 IP 地址等參數。

DHCP 是一種 Client/Server 模式的網絡協議,由 DHCP Client 向 DHCP Server 提出配置申請,DHCP Server 返回為 DHCP Client 分配的配置信息。這里的 Client 和 Server 是應用程序,可以運行在電腦、服務器、路由器等設備上。

舉個栗子:

大劉的電腦開機后,自動運行 DHCP Client ,DHCP Client 主動向其它設備上的 DHCP Server 提出請求,DHCP Server 根據預先配置的策略,返回相應 IP 配置信息,DHCP Client 使用獲得的 IP 配置信息與其它設備進行通信。

DHCP 分配機制

DHCP 提供了兩種地址分配機制,可以根據網絡需求為不同的 Client 選擇不同的分配策略。

動態分配機制:通過 DHCP 為 Client 分配一個有使用期限的 IP 地址。如果 Client 沒有及時續約,到達使用期限后,這個地址可能會被其它 Client 使用。絕大多數 Client 使用的都是這種動態分配的地址。靜態分配機制:通過 DHCP 為特定的 Client 分配固定的 IP 地址。固定 IP 地址可以永久使用, Client 通常是打印機、服務器等設備。

在實際情況中,我們發現 DHCP Client 重啟后,也能獲得相同的 IP 地址。DHCP Server 為 DHCP Client 分配 IP 地址時,采用如下的順序:

DHCP Server 中與 DHCP Client 的 MAC 地址靜態綁定的 IP 地址。DHCP Client 曾經使用過的 IP 地址。最先找到的可用 IP 地址。

如果沒找到可用的 IP 地址,就依次查詢超過租期、發生沖突的 IP 地址,如果找到就進行分配,否則報錯處理。

DHCP 系統組成

DHCP 系統由 DHCP Server( DHCP 服務器)、DHCP Client( DHCP 客戶端)、DHCP Relay( DHCP 中繼)等組成。

DHCP ServerDHCP Server 提供網絡參數給 DHCP Client ,通常是一臺提供 DHCP 服務功能的服務器或網絡設備(路由器或三層交換機)。比如:家里用的無線路由器。DHCP ClientDHCP Client 通過 DHCP Server獲取網絡參數,通常是一臺主機或網絡設備。比如:大劉的電腦、小美的手機。DHCP Relay通常情況下,DHCP 采用廣播方式實現報文交互,DHCP 服務僅限在本地網段使用。如果需要跨網段實現 DHCP ,那么使用 DHCP Relay 技術實現。在 DHCP Server 和 DHCP Client 之間轉發跨網段 DHCP 報文的設備,通常是三層網絡設備。DHCP 基本流程

DHCP 協議報文采用 UDP 方式封裝,DHCP Server 偵聽的端口號是 67 ,DHCP Client 的端口號是 68 。DHCP 設備通過發送和接收 UDP 67 和 UPD 68 端口的報文進行協議交互。DHCP 的基本工作流程分為 4 個階段,即發現階段、提供階段、請求階段、確認階段。我們假設大劉的 PC 是一臺新電腦,下面將描述 PC 第一次是如何通過 DHCP 獲取 IP 地址的。

為方便描述,DHCP Server 簡稱 小 S ,DHCP Client 簡稱 小 C 。

1、發現階段

小 C在本地網段中廣播一個 DHCP Discover 報文,目的尋找能夠分配 IP 地址的 小 S 。

2、提供階段

本地網段的 小 S 收到 DHCP Discover 報文后,回應 DHCP Offer 報文。DHCP Offer 報文包含了可用 IP 地址和其它網絡參數。

小 C 通過對比 Discover 報文和 Offer 報文中的 xid 字段是否相同,來判斷 Offer 報文是不是發給自己的。

3、請求階段

小 C 會收到 小 S 發送的 DHCP Offer 報文。如果有多個 小 S ,那么每個 小 S 都會回應 DHCP Offer 報文。通常 小 C 會選擇最先收到的 Offer 報文,并廣播 DHCP Request 報文來表明哪個 小 S 被選擇,其余 小 S 就涼涼了。

如果 小 C 在一定時間后一直沒收到 DHCP Offer 報文,那么它就會重新發送 DHCP Discover 報文。

4、確認階段

小 S 收到 DHCP Request 廣播報文后,發送 DHCP Ack 報文作為回應,其中包含 小 C 的網絡參數。DHCP Ack 報文和之前 DHCP Offer 報文的參數不能有沖突,否則 小 S 會回應一個 DHCP Nak 報文。

當 小 C 收到 DHCP Ack 報文后,會發送免費 ARP 報文進行探測,目的地址為獲得的 IP 地址,如果探測此地址沒有被使用,那么 小 C 就會使用這個地址,并完成配置。

DHCP 租期

從 DHCP 協議上看,小 S 才有 IP 地址的所有權,而 小 C 只有 IP 地址的使用權。小 S 每次給 小 C 分配一個 IP 地址時,會約定一個 IP 地址的租期,通常是 24 小時。在租期內,小 C 才能使用相應的 IP 地址。當租期到期后,小 C 將不能繼續使用這個 IP 地址。當然了,在租期還沒到期的時候,小 C 是可以申請續租這個 IP 地址的。

T1 時刻是租期到一半的時候,T2 時刻是租期到 87.5% 的時候。在 T1 時刻 小 C 會單播一個 DHCP Request 報文給 小 S ,請求續租 IP 地址。如果 小 C 收到了 DHCP Ack 回應報文,則說明續租成功。

如果直到 T2 時刻,小 C 都未收到 DHCP Ack 回應報文,那么會廣播發送一個 DHCP Request 報文,繼續請求續租 IP 地址。如果 小 C 收到了 DHCP Ack 回應報文,則說明續租成功。

如果直到租期到期, 小 C 都未收到 DHCP Ack 回應報文,那么必須停止使用原來的 IP 地址。 小 C 將從發現階段開始,重新來申請一個 IP 地址。

DHCP Relay

動態獲取 IP 地址的過程中,使用廣播方式發生報文,因此 DHCP 只適用于 小 C 和 小 S 在同一個子網內的情況。如果為每個網段配置一個 小 S ,這顯然太浪費了。

實際上還有 DHCP Relay 這種角色。小 C 通過 DHCP Relay 實現跨網段與 小 S 通信,獲取 IP 地址。這樣,多個子網上的 小 C 可以使用同一個 小 S ,既節省成本,又方便集中管理。

DHCP Relay 的工作原理如下:

小 C 發送 DHCP Discover 或 DHCP Request 廣播報文,具有 DHCP Relay 功能的網絡設備收到后,根據配置將報文單播給指定的 小 S ;小 S 進行 IP 地址的分配,單播發送給 DHCP Relay ,DHCP Relay 再將配置信息廣播給 小 C ,完成對 小 C 的動態配置。DHCP 協議報文

前面的內容有提到 DHCP 的一些報文類型,現在講講 DHCP 主要的 8 種報文類型。常見的 5 種報文類型有:DHCP Discover 、DHCP Offer 、DHCP Request 、DHCP Ack 和 DHCP Release ,用得少的 3 種報文類型有:DHCP Nak 、DHCP Decline 和 DHCP Inform 。

DHCP Discover 報文它是 DHCP Client 首次接入網絡,DHCP 交互過程的第一個報文,用來尋找 DHCP Server的請求報文。DHCP Offer 報文它是 DHCP Server 用來回應 DHCP Discover 報文的,并攜帶網絡參數,包括:IP 地址、子網掩碼、默認網關、DNS 服務器等。DHCP Request 報文它是 DHCP Client 發送的報文,有三種使用場景:根據策略選擇相應的 DHCP Server,并回應 DHCP Offer 報文;DHCP Client 非首次接入網絡,直接發送 DHCP Request 報文來申請之前使用過的 IP 地址等參數;當 IP 地址的租約到期后,發送 DHCP Request 進行租期更新。DHCP Ack 報文它是 DHCP Server 對 DHCP Request 報文的回應報文,進行最終確認。DHCP Client 收到這個報文后,才能獲得 IP 地址和相應網絡參數。DHCP Nak 報文它也是 DHCP Server 對 DHCP Request 報文的回應報文,當 DHCP Request 報文中的各個參數都正確時,回應 DHCP Ack 報文,否則回應 DHCP Nak 報文,告訴 DHCP Client 禁止使用獲得的 IP 地址。DHCP Decline 報文當 DHCP Client 收到 DHCP Ack 報文后,還會發送免費 ARP 報文,確認申請的 IP 地址是否已經在網絡上使用了。如果 IP 地址已經被其它 Client 使用,那么 DHCP Client 發送 DHCP Decline 報文,拒絕分配的 IP 地址,并重新向 DHCP Server 申請地址。DHCP Release 報文當 DHCP Client 想要釋放獲得的 IP 地址時,向 DHCP Server 發送 DHCP Release 報文,DHCP Server 收到報文后,可將這個 IP 地址分配給其它的 Client 。DHCP Inform 報文DHCP Client 通過手動方式獲得 IP 地址后,還想向 DHCP Server 獲取更多網絡參數時,比如:默認網關地址、DNS 服務器地址,DHCP Client 就向 DHCP Server 發送 DHCP Inform 報文進行申請。DHCP 狀態機

如果把功能各異的 8 種報文串起來,就是整個 DHCP 協議交互流程。前面講的 4 種階段(發現、提供、請求、確認)不能完全展現出來,這就需要使用 DHCP 協議的狀態機。狀態指出下一步使用的報文類型,狀態轉換是通過報文的接收、發送或超時。下面是 Client 的狀態機。

Client 從 INIT 狀態開始,廣播 DHCP Discover 報文。在選擇狀態時,它收到 DHCP Offer 報文,并決定使用哪個地址和 Server 。做出選擇后,通過 DHCP Request 報文進入請求狀態。如果分配的地址和曾使用過的地址不一致,那么回應 DHCP Nak 報文進行拒絕,并返回 INIT 狀態;如果分配的地址已經被占用,那么回應 DHCP Decline 報文進行拒絕,也返回到 INIT 狀態。通常是收到一個需要的地址,回應 DHCP Ack 報文,獲得租期超時值 T1 和 T2 ,并進入綁定狀態,這個時候就可以使用這個地址直到租期到期。當 T1 到期時,進入更新狀態并進行續租申請。如果續租成功,那么可以收到 DHCP Ack 報文,并返回到綁定狀態;如果續租不成功,那么在 T2 到期時,再次進行續租申請。如果租期最終到期,那么 Client 將禁止使用所租用的地址,并返回到 INIT 狀態。

DHCP 網絡實戰

DHCP 協議是為解決網絡問題而生,現在我們就來模擬實際環境,動手操作,驗證下 DHCP 的功能。

DHCP Server 示例網絡拓撲實驗要求RT(路由器)配置 DHCP Server ,PC 動態獲取 IP 地址等網絡參數。操作步驟

配置思路:

在 RT 上開啟 DHCP 功能。創建一個地址池。配置地址池的相關參數。在 RT 的接口下引用地址池,實現 DHCP Server 功能。

配置命令:

使用 DHCP 功能之前,先要開啟 DHCP 功能。系統視圖下,使用命令 dhcp enable 啟動 DHCP 功能。

動態分配 IP 地址,就需要有多個可分配的 IP 地址,使用 ip pool ip-pool-name 命令來創建全局地址池,ip-pool-name 表示地址池的名稱。

在全局地址池視圖下,通過命令 network ip-address [ mask { mask | mask-length } ] 配置可分配的 IP 地址段。mask { mask | mask-length } 表示子網掩碼,通常根據設備數量來確定掩碼長度。

有了 IP 地址和子網掩碼,再加上默認網關,終端設備就能網絡互通了。在全局地址池視圖下,使用命令 gateway-list ip-address 配置網關 IP 地址。

網絡互通,還不能正常訪問網站,需要配置 DNS 服務器,用于域名解析。在全局地址池視圖下,使用 dns-list ip-address 配置 DNS 服務器的 IP 地址。

地址池配置中,常用的可選命令如下,可根據需求進行選擇性設置。

lease { day day [ hour hour [ minute minute ] ] | unlimited } :配置 IP 地址的租期,默認租期是 1 天。

excluded-ip-address start-ip-address [ end-ip-address ] :在可分配的地址池中,設置不分配的 IP 地址。比如:地址池是 192.168.100.0/24 ,可設置 192.168.100.1 - 192.168.100.10 不參與地址分配。

static-bind ip-address ip-address mac-address mac-address :為 Client 固定分配一個 IP 地址。

配置完地址池,還需要進行引用,DHCP Server 功能就能正常使用了。在 RT 的接口下配置引用,命令為 dhcp select global 。

功能驗證

配置完成后,理論上是 DHCP 功能正常工作了,實際情況的話,可通過命令 display ip pool name pool-name used,查看地址池的配置情況,和地址分配情況。

在 RT 上查看 DHCP Server 地址分配狀態。

同時也在 PC 上查看動態獲取地址情況,進行雙向驗證。

抓包還可以看到 DHCP 報文交互的詳細過程,同時也是檢驗理論知識是否正確。

這里我們發現抓包看到的是 DHCP Offer 單播報文,而前面介紹的時候,DHCP Offer 是廣播報文。其實 DHCP Offer 報文有可能是單播,也有可能是廣播。DHCP 在報文的標志字段有一個廣播位,如果 Client 支持接收 Offer 單播報文,那么 Client 就會將發送報文中的廣播位設為 0 ,否則為 1 。

DHCP Relay 示例網絡拓撲實驗要求DHCP Client 和 DHCP Server 在不同網段,DHCP Client 通過 DHCP Relay 獲取到 IP 地址等網絡參數。操作步驟PC( DHCP Client )開啟 DHCP 功能。RT1( DHCP Relay )使用 dhcp select relay 命令開啟 DHCP Relay 功能,在 G0/0/1 口下使用 dhcp relay server-ip ip-address 命令,配置 DHCP Server 的 IP 地址。RT2(DHCP Server)開啟 DHCP 功能,創建地址池并配置相關參數,在接口下引用地址池,實現 DHCP Server 功能。功能驗證

PC 端能獲取到 IP 配置,并且獲取的配置正確。

在 RT1 的 G0/0/1 抓包,查看 DHCP Client 和 DHCP Relay 的報文交互過程。

在 RT1 的 G0/0/0 抓包,查看 DHCP Server 和 DHCP Relay 的報文交互過程。

DHCP 報文格式

如果想要更深入的了解 DHCP 協議,那就要看它的報文格式。DHCP 設備通過識別報文內容,實現協議功能。

op(操作類型):表示報文的格式。當值為 1 時,表示客戶端的請求報文;當值為 2 時,表示服務器的響應報文。htype(硬件類型):不同的硬件類型取不同的值,最常見的以太網,值是 1 。hlen(硬件地址長度):表示硬件地址長度,以太網的值是 6 ,也就是 MAC 地址的長度。hops(跳數):DHCP 報文經過的 DHCP 中繼的數量。xid(交互 ID ):DHCP 客戶端取的隨機值,收到 DHCP 服務器的響應報文時,查看 xid 值是否相同,來判斷報文是否是發送給自己的。secs(客戶端啟動秒數):記錄 IP 地址的使用時間。flags(標志):廣播響應標志位,當值為 0 時,表示服務器以單播形式發送響應報文;當值為 1 時,服務器以廣播形式發送響應報文。ciaddr(客戶端 IP 地址):客戶端的 IP 地址,可以是分配的地址,也可以是正在使用的地址,還可以是的 0.0.0.0 。0.0.0.0 是客戶端初始狀態沒有地址的時候,僅用于臨時通信,不是有效的地址。yiaddr(你的 IP 地址):當服務器發送響應報文時,將分配給客戶端的 IP 地址填入這個字段。siaddr(服務器 IP 地址):用來標識服務器的 IP 地址。giaddr(中繼設備 IP 地址):表示 DHCP 中繼的 IP 地址,服務器通過識別這個字段來判斷出客戶端的網段地址,從而選擇合適的地址池,為客戶端分配該網段的 IP 地址。chaddr(客戶端硬件地址):用來標識客戶端的硬件地址,當客戶端發送廣播發現報文時,這個字段就是自己的硬件地址。sname(服務器名):可選項,DHCP 服務器填寫這個字段。file(引導文件名):可選項,DHCP 服務器填寫這個字段。options(可選項):可選項,DHCP 客戶端獲取網絡參數,DHCP 服務器提供網絡參數,都是使用的這個字段。內容有很多,例如:租期、子網掩碼、默認網關地址、DNS 服務器地址等。

拿著 DHCP 報文格式,就可以看懂抓包獲取的報文內容。

DHCP Discover 報文:

DHCP Offer 報文:

DHCP Request 報文:

DHCP Ack 報文:

關鍵詞:

X 關閉

X 關閉

<蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>