<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

手工配置IP地址麻煩還會出錯?普及下DHCP的各種工作原理

jf_qwOiugB3 ? 來源:網絡工程師筆記 ? 2023-06-19 09:14 ? 次閱讀

在終端規模較大的網絡中手工配置IP地址時,為避免IP地址重復,需要事先規劃每個終端的IP地址,導致工作量大且容易出錯!

當終端位置經常變更時(例如企業出差人員的便攜電腦),每次變更都需要重新手工配置IP地址,煩神又煩力呀...

某些特殊的無盤工作站,無法手工配置IP地址,該如何與網絡實現互通?

其實吧,有了動態主機配置協議DHCP(Dynamic Host Configuration Protocol),上面的問題都可以解決了。小伙伴們再也不用擔心手工配錯,費神費力了。

DHCP能夠實現動態為主機分配IP地址,而且是目前應用很廣泛的一種技術。例如,辦公室,網吧里的固定PC;咖啡廳,機場等提供WIFI接入的地方用手機上網,這些都會用到DHCP。

本期就由小編來給大家普及下DHCP的各種工作原理。

DHCP工作原理

一、什么是DHCP?

DHCP,動態主機配置協議,前身是BOOTP協議,是一個局域網的網絡協議,使用UDP協議工作,常用的2個端口

67(DHCP server),68(DHCP client)。

DHCP通常被用于局域網環境,主要作用是集中的管理、分配IP地址,使client動態的獲得IP地址、Gateway地址、DNS服務器地址等信息,并能夠提升地址的使用率。簡單來說,DHCP就是一個不需要賬號密碼登錄的、自動給內網機器分配IP地址等信息的協議。

二、DHCP協議中的報文

DHCP報文共有以下幾種:

DHCP DISCOVER客戶端開始DHCP過程發送的包,是DHCP協議的開始

DHCP OFFER :服務器接收到DHCP DISCOVER之后做出的響應,它包括了給予客戶端的IP(yiaddr)、客戶端的MAC地址、租約過期時間、服務器的識別符以及其他信息

DHCP REQUEST :客戶端對于服務器發出的DHCP OFFER所做出的響應。在續約租期的時候同樣會使用。

DHCP ACK :服務器在接收到客戶端發來的DHCP REQUEST之后發出的成功確認的報文。在建立連接的時候,客戶端在接收到這個報文之后才會確認分配給它的IP和其他信息可以被允許使用。

DHCP NAK :DHCP ACK的相反的報文,表示服務器拒絕了客戶端的請求。

DHCP RELEASE :一般出現在客戶端關機、下線等狀況。這個報文將會使DHCP服務器釋放發出此報文的客戶端的IP地址。

DHCP INFORM :客戶端發出的向服務器請求一些信息的報文。

DHCP DECLINE :當客戶端發現服務器分配的IP地址無法使用(如IP地址沖突時),將發出此報文,通知服務器禁止使用該IP地址。

DHCP的工作流程:

a503e956-0e37-11ee-962d-dac502259ad0.png

三、DHCP協議包的組成

Xid :隨機生成的一段字符串,兩個數據包擁有相同的xid說明他們屬于同一次會話。

Ciaddr :客戶端會在發送請求時將自己的ip地址放在此處。

Yiaddr :服務器會將想要分配給客戶端的ip地址放在此處。

Siaddr :一般來說是服務器的ip地址.但是注意!根據openwrt源碼給出的注釋,當報文的源地址、siaddr、option->server_id字段不一致(有經過跨子網轉發)時,通常認為option->srever_id字段為真正的服務器ip,siaddr有可能是多次路由跳轉中的某一個路由的ip (下圖中wireshark抓包中也有標明siaddr為nextserver ip address)。

Chaddr:客戶端的mac地址。

Giaddr :如果需要跨子網進行DHCP地址發放,則在此處填入經過的路由器的ip地址。

Sname :服務器主域名。

Options :可以自由添加的部分,用于存放客戶端向服務器請求信息和服務器的應答信息。

a542660e-0e37-11ee-962d-dac502259ad0.png

DHCP 客戶端

一、什么是DHCP客戶端?

DHCP客戶端一般來說是局域網中獨立的PC主機。

DHCP客戶端發出的DHCP DISCOVER包是DHCP協議的開始。

延續租期、發現、釋放IP地址等大多數DHCP中的行為都是由DHCP客戶端主動發起。

二、DHCP 自動狀態機

DHCP獲得ip地址的4步驟:discover->offer->request->ack(nak)

DHCP刷新租期的步驟:request->ack(nak)

DHCP釋放ip的步驟:release

wnr2000v5 1.0.0.8的代碼中沒有發現rebooting、init-reboot狀態。所以DHCP client的狀態一般從init開始,完整的狀態機如下圖(紅色代表客戶端的狀態跳轉):

a591d31a-0e37-11ee-962d-dac502259ad0.png

DHCP工作過程詳解

一、DHCP客戶機初始化:

1.尋找DHCP Server

當DHCP客戶機第一次登錄網絡的時候(也就是客戶機上沒有任何IP地址數據時),它會通過UDP 67端口向網絡上發出一個DHCPDISCOVER數據包(包中包含客戶機的MAC地址和計算機名等信息)。因為客戶機還不知道自己屬于哪一個網絡,所以封包的源地址為0.0.0.0,目標地址為255.255.255.255,然后再附上DHCP discover的信息,向網絡進行廣播。

DHCP discover的等待時間預設為1秒,也就是當客戶機將第一個DHCP discover封包送出去之后,在1秒之內沒有得到回應的話,就會進行第二次DHCP discover廣播。若一直沒有得到回應,客戶機會將這一廣播包重新發送四次(以2,4,8,16秒為間隔,加上1-1000毫秒之間隨機長度的時間)。如果都沒有得到DHCP Server的回應,客戶機會從169.254.0.0/16這個自動保留的私有IP地址中選用一個IP地址。并且每隔5分鐘重新廣播一次,如果收到某個服務器的響應,則繼續IP租用過程。

2. 提供IP地址租用

當DHCP Server監聽到客戶機發出的DHCP discover廣播后,它會從那些還沒有租出去的地址中,選擇最前面的空置IP,連同其它TCP/IP設定,通過UDP 68端口響應給客戶機一個DHCP OFFER數據包(包中包含IP地址、子網掩碼、地址租期等信息)。此時還是使用廣播進行通訊,源IP地址為DHCP Server的IP地址,目標地址為255.255.255.255。同時,DHCP Server為此客戶保留它提供的IP地址,從而不會為其他DHCP客戶分配此IP地址。

由于客戶機在開始的時候還沒有IP地址,所以在其DHCP discover封包內會帶有其MAC地址信息,并且有一個XID編號來辨別該封包,DHCP Server響應的DHCP OFFER封包則會根據這些資料傳遞給要求租約的客戶。

3. 接受IP租約

如果客戶機收到網絡上多臺DHCP服務器的響應,只會挑選其中一個DHCP OFFER(一般是最先到達的那個),并且會向網絡發送一個DHCP REQUEST廣播數據包(包中包含客戶端的MAC地址、接受的租約中的IP地址、提供此租約的DHCP服務器地址等),告訴所有DHCP Server它將接受哪一臺服務器提供的IP地址,所有其他的DHCP服務器撤銷它們的提供以便將IP地址提供給下一次IP租用請求。此時,由于還沒有得到DHCP Server的最后確認,客戶端仍然使用0.0.0.0為源IP地址,255.255.255.255為目標地址進行廣播。

事實上,并不是所有DHCP客戶機都會無條件接受DHCP Server的OFFER,特別是如果這些主機上安裝有其它TCP/IP相關的客戶機軟件??蛻魴C也可以用DHCP REQUEST向服務器提出DHCP選擇,這些選擇會以不同的號碼填寫在DHCP Option Field里面??蛻魴C可以保留自己的一些TCP/IP設定。

4.租約確認

當DHCP Server接收到客戶機的DHCP REQUEST之后,會廣播返回給客戶機一個DHCP ACK消息包,表明已經接受客戶機的選擇,并將這一IP地址的合法租用以及其他的配置信息都放入該廣播包發給客戶機。

客戶機在接收到DHCP ACK廣播后,會向網絡發送三個針對此IP地址的ARP解析請求以執行沖突檢測,查詢網絡上有沒有其它機器使用該IP地址;如果發現該IP地址已經被使用,客戶機會發出一個DHCP DECLINE數據包給DHCP Server,拒絕此IP地址租約,并重新發送DHCP discover信息。此時,在DHCP服務器管理控制臺中,會顯示此IP地址為BAD_ADDRESS。

如果網絡上沒有其它主機使用此IP地址,則客戶機的TCP/IP使用租約中提供的IP地址完成初始化,從而可以和其他網絡中的主機進行通訊。

二、DHCP客戶機租期續約:

客戶機會在租期過去50%的時候,直接向為其提供IP地址的DHCP Server發送DHCP REQUEST消息包。如果客戶機接收到該服務器回應的DHCP ACK消息包,客戶機就根據包中所提供的新的租期以及其它已經更新的TCP/IP參數,更新自己的配置,IP租用更新完成。如果沒有收到該服務器的回復,則客戶機繼續使用現有的IP地址,因為當前租期還有50%。

如果在租期過去50%的時候沒有更新,則客戶機將在租期過去87.5%的時候再次向為其提供IP地址的DHCP聯系。如果還不成功,到租約的100%時候,客戶機必須放棄這個IP地址,重新申請。如果此時無DHCP可用,客戶機會使用169.254.0.0/16中隨機的一個地址,并且每隔5分鐘再進行嘗試。





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 局域網
    +關注

    關注

    5

    文章

    703

    瀏覽量

    45813
  • 路由器
    +關注

    關注

    22

    文章

    3577

    瀏覽量

    111691
  • 狀態機
    +關注

    關注

    2

    文章

    486

    瀏覽量

    27246
  • DHCP協議
    +關注

    關注

    0

    文章

    4

    瀏覽量

    4931

原文標題:手工配置IP地址麻煩還會出錯?10張圖帶你了解DHCP技術原理

文章出處:【微信號:通信弱電交流學習,微信公眾號:通信弱電交流學習】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    深度解析NAT和DHCP的原理以及配置

    兩個區域內的DHCP服務器分配地址時只對辦公接入區域的終端分配地址,Client/Sever 的 IP 地址采用
    發表于 06-12 14:10 ?2120次閱讀
    深度解析NAT和<b class='flag-5'>DHCP</b>的原理以及<b class='flag-5'>配置</b>

    一文了解DHCP工作原理?

    在終端規模較大的網絡中手工配置IP地址時,為避免IP地址重復,需要事先規劃每個終端的
    的頭像 發表于 10-30 09:56 ?442次閱讀
    一文了解<b class='flag-5'>DHCP</b>的<b class='flag-5'>工作原理</b>?

    dhcp工作過程詳解

    對于學習DHCP來說,很重要的一部分就是對于DHCP工作過程的理解。那么首先DHCP分為兩個部分:一個是服務器端,另一個是客戶端。所有客戶機的IP
    發表于 03-06 17:25 ?6330次閱讀

    DHCP工作原理的教學資料設計

    DHCP(Dynamic Host Configuration Protocol),即動態主機配置協議。它是TCP/IP協議簇中的一種,通常被應用在大型的局域網絡環境中,主要作用是集中的管理、分配
    發表于 05-05 08:00 ?3次下載
    <b class='flag-5'>DHCP</b><b class='flag-5'>工作原理</b>的教學資料設計

    DHCPIP地址分配與獲取過程

    DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)用來為網絡設備動態地分配 IP地址等網絡配置
    的頭像 發表于 01-23 09:48 ?2.2w次閱讀
    <b class='flag-5'>DHCP</b>的<b class='flag-5'>IP</b><b class='flag-5'>地址</b>分配與獲取過程

    DHCP的功能 DHCP與PPPoE之間有什么區別

    DHCP的英文全稱為Dynamic Host Configuration Protocol,中文全稱稱為:動態主機配置協議,主要作用就是給計算機分配IP地址,運行
    的頭像 發表于 08-18 18:19 ?9852次閱讀

    華為DHCP和NAT組網

    兩個區域內的DHCP服務器分配地址時只對辦公接入區域的終端分配地址,Client/Sever 的 IP 地址采用
    的頭像 發表于 06-12 14:12 ?575次閱讀
    華為<b class='flag-5'>DHCP</b>和NAT組網

    開啟了dhcp但獲取不到ip

    IP地址時,可能會遇到一些問題。下面我將詳細解釋為何會出現這種情況,并提供相應的解決辦法。 首先,讓我們快速回顧一下DHCP工作原理。當
    的頭像 發表于 11-27 14:47 ?3642次閱讀

    dhcp配置詳細步驟

    動態主機配置協議(Dynamic Host Configuration Protocol,簡稱DHCP)是一種用于在IP網絡上自動分配IP地址
    的頭像 發表于 11-27 14:50 ?4467次閱讀

    dhcp服務異常怎么修復

    現異常,導致設備無法正常獲取 IP 地址。本文將詳細介紹如何修復 DHCP 服務異常問題。 一、了解 DHCP工作原理 在深入探討如何修
    的頭像 發表于 11-27 14:53 ?3377次閱讀

    簡述DHCP工作原理

    DHCP(Dynamic Host Configuration Protocol)是一種網絡協議,它被用于自動分配IP地址和其他網絡配置信息給網絡中的設備。
    的頭像 發表于 11-27 15:01 ?1671次閱讀

    DHCP的主要功能

    網關、DNS服務器等網絡配置信息。在本文中,我們將詳細介紹DHCP工作原理、協議流程以及其在網絡管理和配置中的重要性。 網絡中的每個設備都需要一個唯一的
    的頭像 發表于 11-27 15:04 ?885次閱讀

    DHCP和DNS是如何工作的?兩者之間有何區別?

    一下DHCP工作原理。DHCP允許網絡管理員動態地配置和分配IP地址給每個互聯網連接的設備。當
    的頭像 發表于 12-27 14:09 ?477次閱讀

    什么是靜態IP地址?什么是DHCP?DHCP與靜態IP到底有何區別呢?

    什么是靜態IP地址?什么是DHCP?DHCP與靜態IP到底有何區別呢?DHCP與靜態
    的頭像 發表于 12-27 14:09 ?2932次閱讀

    dhcp是什么在路由器怎么設置

    DHCP(動態主機配置協議)是一種用于在網絡中自動分配IP地址的協議。它的作用是方便管理和配置大量設備的網絡連接,減輕網絡管理員的
    的頭像 發表于 01-25 11:17 ?4281次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>