0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文了解DHCP的工作原理?

jf_qwOiugB3 ? 來(lái)源:通信弱電交流學(xué)習(xí) ? 2023-10-30 09:56 ? 次閱讀

在終端規(guī)模較大的網(wǎng)絡(luò)中手工配置IP地址時(shí),為避免IP地址重復(fù),需要事先規(guī)劃每個(gè)終端的IP地址,導(dǎo)致工作量大且容易出錯(cuò)!

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

某些特殊的無(wú)盤(pán)工作站,無(wú)法手工配置IP地址,該如何與網(wǎng)絡(luò)實(shí)現(xiàn)互通?

其實(shí)吧,有了動(dòng)態(tài)主機(jī)配置協(xié)議DHCP(Dynamic Host Configuration Protocol),上面的問(wèn)題都可以解決了。小伙伴們?cè)僖膊挥脫?dān)心手工配錯(cuò),費(fèi)神費(fèi)力了。

DHCP能夠?qū)崿F(xiàn)動(dòng)態(tài)為主機(jī)分配IP地址,而且是目前應(yīng)用很廣泛的一種技術(shù)。例如,辦公室,網(wǎng)吧里的固定PC;咖啡廳,機(jī)場(chǎng)等提供WIFI接入的地方用手機(jī)上網(wǎng),這些都會(huì)用到DHCP。

本期就由小編來(lái)給大家普及下DHCP的各種工作原理

DHCP工作原理

一、什么是DHCP?

DHCP,動(dòng)態(tài)主機(jī)配置協(xié)議,前身是BOOTP協(xié)議,是一個(gè)局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作,常用的2個(gè)端口

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

DHCP通常被用于局域網(wǎng)環(huán)境,主要作用是集中的管理、分配IP地址,使client動(dòng)態(tài)的獲得IP地址、Gateway地址、DNS服務(wù)器地址等信息,并能夠提升地址的使用率。簡(jiǎn)單來(lái)說(shuō),DHCP就是一個(gè)不需要賬號(hào)密碼登錄的、自動(dòng)給內(nèi)網(wǎng)機(jī)器分配IP地址等信息的協(xié)議。

二、DHCP協(xié)議中的報(bào)文

DHCP報(bào)文共有以下幾種:

DHCP DISCOVER客戶(hù)端開(kāi)始DHCP過(guò)程發(fā)送的包,是DHCP協(xié)議的開(kāi)始

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

DHCP REQUEST :客戶(hù)端對(duì)于服務(wù)器發(fā)出的DHCP OFFER所做出的響應(yīng)。在續(xù)約租期的時(shí)候同樣會(huì)使用。

DHCP ACK :服務(wù)器在接收到客戶(hù)端發(fā)來(lái)的DHCP REQUEST之后發(fā)出的成功確認(rèn)的報(bào)文。在建立連接的時(shí)候,客戶(hù)端在接收到這個(gè)報(bào)文之后才會(huì)確認(rèn)分配給它的IP和其他信息可以被允許使用。

DHCP NAK :DHCP ACK的相反的報(bào)文,表示服務(wù)器拒絕了客戶(hù)端的請(qǐng)求。

DHCP RELEASE :一般出現(xiàn)在客戶(hù)端關(guān)機(jī)、下線等狀況。這個(gè)報(bào)文將會(huì)使DHCP服務(wù)器釋放發(fā)出此報(bào)文的客戶(hù)端的IP地址。

DHCP INFORM :客戶(hù)端發(fā)出的向服務(wù)器請(qǐng)求一些信息的報(bào)文。

DHCP DECLINE :當(dāng)客戶(hù)端發(fā)現(xiàn)服務(wù)器分配的IP地址無(wú)法使用(如IP地址沖突時(shí)),將發(fā)出此報(bào)文,通知服務(wù)器禁止使用該IP地址。

DHCP的工作流程:

e5bcb5ae-7566-11ee-939d-92fbcf53809c.png

三、DHCP協(xié)議包的組成

Xid :隨機(jī)生成的一段字符串,兩個(gè)數(shù)據(jù)包擁有相同的xid說(shuō)明他們屬于同一次會(huì)話。

Ciaddr :客戶(hù)端會(huì)在發(fā)送請(qǐng)求時(shí)將自己的ip地址放在此處。

Yiaddr :服務(wù)器會(huì)將想要分配給客戶(hù)端的ip地址放在此處。

Siaddr :一般來(lái)說(shuō)是服務(wù)器的ip地址.但是注意!根據(jù)openwrt源碼給出的注釋?zhuān)?dāng)報(bào)文的源地址、siaddr、option->server_id字段不一致(有經(jīng)過(guò)跨子網(wǎng)轉(zhuǎn)發(fā))時(shí),通常認(rèn)為option->srever_id字段為真正的服務(wù)器ip,siaddr有可能是多次路由跳轉(zhuǎn)中的某一個(gè)路由的ip (下圖中wireshark抓包中也有標(biāo)明siaddr為nextserver ip address)。

Chaddr:客戶(hù)端的mac地址。

Giaddr :如果需要跨子網(wǎng)進(jìn)行DHCP地址發(fā)放,則在此處填入經(jīng)過(guò)的路由器的ip地址。

Sname :服務(wù)器主域名。

Options :可以自由添加的部分,用于存放客戶(hù)端向服務(wù)器請(qǐng)求信息和服務(wù)器的應(yīng)答信息。

e5d7cbe6-7566-11ee-939d-92fbcf53809c.png

DHCP 客戶(hù)端

一、什么是DHCP客戶(hù)端?

DHCP客戶(hù)端一般來(lái)說(shuō)是局域網(wǎng)中獨(dú)立的PC主機(jī)。

DHCP客戶(hù)端發(fā)出的DHCP DISCOVER包是DHCP協(xié)議的開(kāi)始。

延續(xù)租期、發(fā)現(xiàn)、釋放IP地址等大多數(shù)DHCP中的行為都是由DHCP客戶(hù)端主動(dòng)發(fā)起。

二、DHCP 自動(dòng)狀態(tài)機(jī)

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

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

DHCP釋放ip的步驟:release

wnr2000v5 1.0.0.8的代碼中沒(méi)有發(fā)現(xiàn)rebooting、init-reboot狀態(tài)。所以DHCP client的狀態(tài)一般從init開(kāi)始,完整的狀態(tài)機(jī)如下圖(紅色代表客戶(hù)端的狀態(tài)跳轉(zhuǎn)):

e6134f22-7566-11ee-939d-92fbcf53809c.png

DHCP工作過(guò)程詳解

一、DHCP客戶(hù)機(jī)初始化:

1.尋找DHCP Server

當(dāng)DHCP客戶(hù)機(jī)第一次登錄網(wǎng)絡(luò)的時(shí)候(也就是客戶(hù)機(jī)上沒(méi)有任何IP地址數(shù)據(jù)時(shí)),它會(huì)通過(guò)UDP 67端口向網(wǎng)絡(luò)上發(fā)出一個(gè)DHCPDISCOVER數(shù)據(jù)包(包中包含客戶(hù)機(jī)的MAC地址和計(jì)算機(jī)名等信息)。因?yàn)榭蛻?hù)機(jī)還不知道自己屬于哪一個(gè)網(wǎng)絡(luò),所以封包的源地址為0.0.0.0,目標(biāo)地址為255.255.255.255,然后再附上DHCP discover的信息,向網(wǎng)絡(luò)進(jìn)行廣播。

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

2. 提供IP地址租用

當(dāng)DHCP Server監(jiān)聽(tīng)到客戶(hù)機(jī)發(fā)出的DHCP discover廣播后,它會(huì)從那些還沒(méi)有租出去的地址中,選擇最前面的空置IP,連同其它TCP/IP設(shè)定,通過(guò)UDP 68端口響應(yīng)給客戶(hù)機(jī)一個(gè)DHCP OFFER數(shù)據(jù)包(包中包含IP地址、子網(wǎng)掩碼、地址租期等信息)。此時(shí)還是使用廣播進(jìn)行通訊,源IP地址為DHCP Server的IP地址,目標(biāo)地址為255.255.255.255。同時(shí),DHCP Server為此客戶(hù)保留它提供的IP地址,從而不會(huì)為其他DHCP客戶(hù)分配此IP地址。

由于客戶(hù)機(jī)在開(kāi)始的時(shí)候還沒(méi)有IP地址,所以在其DHCP discover封包內(nèi)會(huì)帶有其MAC地址信息,并且有一個(gè)XID編號(hào)來(lái)辨別該封包,DHCP Server響應(yīng)的DHCP OFFER封包則會(huì)根據(jù)這些資料傳遞給要求租約的客戶(hù)。

3. 接受IP租約

如果客戶(hù)機(jī)收到網(wǎng)絡(luò)上多臺(tái)DHCP服務(wù)器的響應(yīng),只會(huì)挑選其中一個(gè)DHCP OFFER(一般是最先到達(dá)的那個(gè)),并且會(huì)向網(wǎng)絡(luò)發(fā)送一個(gè)DHCP REQUEST廣播數(shù)據(jù)包(包中包含客戶(hù)端的MAC地址、接受的租約中的IP地址、提供此租約的DHCP服務(wù)器地址等),告訴所有DHCP Server它將接受哪一臺(tái)服務(wù)器提供的IP地址,所有其他的DHCP服務(wù)器撤銷(xiāo)它們的提供以便將IP地址提供給下一次IP租用請(qǐng)求。此時(shí),由于還沒(méi)有得到DHCP Server的最后確認(rèn),客戶(hù)端仍然使用0.0.0.0為源IP地址,255.255.255.255為目標(biāo)地址進(jìn)行廣播。

事實(shí)上,并不是所有DHCP客戶(hù)機(jī)都會(huì)無(wú)條件接受DHCP Server的OFFER,特別是如果這些主機(jī)上安裝有其它TCP/IP相關(guān)的客戶(hù)機(jī)軟件??蛻?hù)機(jī)也可以用DHCP REQUEST向服務(wù)器提出DHCP選擇,這些選擇會(huì)以不同的號(hào)碼填寫(xiě)在DHCP Option Field里面。客戶(hù)機(jī)可以保留自己的一些TCP/IP設(shè)定。

4.租約確認(rèn)

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

客戶(hù)機(jī)在接收到DHCP ACK廣播后,會(huì)向網(wǎng)絡(luò)發(fā)送三個(gè)針對(duì)此IP地址的ARP解析請(qǐng)求以執(zhí)行沖突檢測(cè),查詢(xún)網(wǎng)絡(luò)上有沒(méi)有其它機(jī)器使用該IP地址;如果發(fā)現(xiàn)該IP地址已經(jīng)被使用,客戶(hù)機(jī)會(huì)發(fā)出一個(gè)DHCP DECLINE數(shù)據(jù)包給DHCP Server,拒絕此IP地址租約,并重新發(fā)送DHCP discover信息。此時(shí),在DHCP服務(wù)器管理控制臺(tái)中,會(huì)顯示此IP地址為BAD_ADDRESS。

如果網(wǎng)絡(luò)上沒(méi)有其它主機(jī)使用此IP地址,則客戶(hù)機(jī)的TCP/IP使用租約中提供的IP地址完成初始化,從而可以和其他網(wǎng)絡(luò)中的主機(jī)進(jìn)行通訊。

二、DHCP客戶(hù)機(jī)租期續(xù)約:

客戶(hù)機(jī)會(huì)在租期過(guò)去50%的時(shí)候,直接向?yàn)槠涮峁㊣P地址的DHCP Server發(fā)送DHCP REQUEST消息包。如果客戶(hù)機(jī)接收到該服務(wù)器回應(yīng)的DHCP ACK消息包,客戶(hù)機(jī)就根據(jù)包中所提供的新的租期以及其它已經(jīng)更新的TCP/IP參數(shù),更新自己的配置,IP租用更新完成。如果沒(méi)有收到該服務(wù)器的回復(fù),則客戶(hù)機(jī)繼續(xù)使用現(xiàn)有的IP地址,因?yàn)楫?dāng)前租期還有50%。

如果在租期過(guò)去50%的時(shí)候沒(méi)有更新,則客戶(hù)機(jī)將在租期過(guò)去87.5%的時(shí)候再次向?yàn)槠涮峁㊣P地址的DHCP聯(lián)系。如果還不成功,到租約的100%時(shí)候,客戶(hù)機(jī)必須放棄這個(gè)IP地址,重新申請(qǐng)。如果此時(shí)無(wú)DHCP可用,客戶(hù)機(jī)會(huì)使用169.254.0.0/16中隨機(jī)的一個(gè)地址,并且每隔5分鐘再進(jìn)行嘗試。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7486

    瀏覽量

    88545
  • DHCP
    +關(guān)注

    關(guān)注

    0

    文章

    103

    瀏覽量

    19652
  • ip地址
    +關(guān)注

    關(guān)注

    0

    文章

    291

    瀏覽量

    16991
  • 端口
    +關(guān)注

    關(guān)注

    4

    文章

    948

    瀏覽量

    31986
  • 客戶(hù)端
    +關(guān)注

    關(guān)注

    1

    文章

    289

    瀏覽量

    16640

原文標(biāo)題:手工配置IP地址麻煩還會(huì)出錯(cuò)?10張圖帶你了解DHCP技術(shù)原理?

文章出處:【微信號(hào):通信弱電交流學(xué)習(xí),微信公眾號(hào):通信弱電交流學(xué)習(xí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    了解步進(jìn)電機(jī)的工作原理

    作為我們生活中最常見(jiàn)的控制系統(tǒng)之,芝識(shí)課堂已經(jīng)講解了步進(jìn)電機(jī)的應(yīng)用、特點(diǎn)及分類(lèi),朋友們定好奇步進(jìn)電機(jī)是怎么進(jìn)行工作的吧?那今天我們就跟隨步進(jìn)電機(jī)的節(jié)奏步步來(lái)學(xué)習(xí)
    發(fā)表于 10-17 16:29 ?4963次閱讀

    看懂AR顯示器工作原理

    由于科幻電影的影響(《鋼鐵俠》和《星際迷航》等等),人們直在憧憬著全息光學(xué)透鏡的出現(xiàn)。那么AR的工作原理是什么呢?游戲開(kāi)發(fā)者 Aaron Yip 在 Quora(國(guó)外著名問(wèn)答網(wǎng)站)進(jìn)行了解答,里面是整理的文字。
    發(fā)表于 03-15 17:31

    為什么要了解電機(jī)的工作原理

    為什么要了解電機(jī)的工作原理在我們生活場(chǎng)景中,電機(jī)的應(yīng)用非常廣泛,電風(fēng)扇、洗衣機(jī)驅(qū)動(dòng)電機(jī)、冰箱散熱風(fēng)扇、玩具車(chē)驅(qū)動(dòng)電機(jī)、電腦散熱風(fēng)扇、抽油煙機(jī)風(fēng)扇等,幾乎所有的家用電器都會(huì)用到電機(jī),可以說(shuō)沒(méi)有了電機(jī)
    發(fā)表于 08-27 06:49

    了解電器的功能和工作原理

    電器修理、電路設(shè)計(jì)都是要通過(guò)分析電路原理圖,了解電器的功能和工作原理,才能得心應(yīng)手開(kāi)展工作的。作為從事此項(xiàng)工作的同志,首先要有過(guò)硬的基本功,要能對(duì)有技術(shù)參數(shù)的電路原理圖進(jìn)行總體
    發(fā)表于 09-09 09:01

    了解cuk電路工作原理

    本文重點(diǎn)介紹了cuk電路工作原理是什么以及cuk電路工作過(guò)程。開(kāi)關(guān)晶體管、二極管均是理想元件,也就是可以快速的“導(dǎo)通’穢截止”,而且導(dǎo)通時(shí)壓降為零,截止時(shí)漏電流為零。電感、電容是理想元件。電感工作
    發(fā)表于 03-26 13:46 ?6w次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>了解</b>cuk電路<b class='flag-5'>工作原理</b>

    dhcp工作過(guò)程詳解

    對(duì)于學(xué)習(xí)DHCP來(lái)說(shuō),很重要的部分就是對(duì)于DHCP工作過(guò)程的理解。那么首先DHCP分為兩個(gè)部分:
    發(fā)表于 03-06 17:25 ?6666次閱讀

    DHCP工作原理的教學(xué)資料設(shè)計(jì)

    DHCP(Dynamic Host Configuration Protocol),即動(dòng)態(tài)主機(jī)配置協(xié)議。它是TCP/IP協(xié)議簇中的種,通常被應(yīng)用在大型的局域網(wǎng)絡(luò)環(huán)境中,主要作用是集中的管理、分配
    發(fā)表于 05-05 08:00 ?3次下載
    <b class='flag-5'>DHCP</b><b class='flag-5'>工作原理</b>的教學(xué)資料設(shè)計(jì)

    dhcp的作用是什么_dhcp工作原理

    DHCP是動(dòng)態(tài)主機(jī)設(shè)置協(xié)議,是個(gè)局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作。主要有兩個(gè)用途:用于內(nèi)部網(wǎng)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動(dòng)分配IP地址;給用戶(hù)用于內(nèi)部網(wǎng)管理員作為對(duì)所有計(jì)算機(jī)作中央管理的手段。
    發(fā)表于 04-22 10:11 ?4.7w次閱讀

    什么是晶振工作原理 + 晶振ppm?了解晶振這四個(gè)方面資料下載

    電子發(fā)燒友網(wǎng)為你提供什么是晶振工作原理 + 晶振ppm?了解晶振這四個(gè)方面資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶(hù)指南、解
    發(fā)表于 04-12 08:49 ?67次下載
    什么是晶振<b class='flag-5'>工作原理</b> + 晶振ppm?<b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>了解</b>晶振這四個(gè)方面資料下載

    DHCP服務(wù)器的工作原理及常見(jiàn)問(wèn)題總結(jié)

    關(guān)于DHCP服務(wù)器的工作原理、常見(jiàn)問(wèn)題總結(jié)和虛擬機(jī)部署DHCP服務(wù)器時(shí)出現(xiàn)的問(wèn)題
    的頭像 發(fā)表于 02-11 09:26 ?2367次閱讀

    dhcp配置詳細(xì)步驟

    中央服務(wù)器上集中管理和分配IP地址,簡(jiǎn)化了網(wǎng)絡(luò)配置的過(guò)程,提高了網(wǎng)絡(luò)管理的效率。本文將詳細(xì)介紹如何進(jìn)行DHCP配置的步驟。 了解DHCP 在開(kāi)始配置
    的頭像 發(fā)表于 11-27 14:50 ?8577次閱讀

    dhcp服務(wù)異常怎么修復(fù)

    出現(xiàn)異常,導(dǎo)致設(shè)備無(wú)法正常獲取 IP 地址。本文將詳細(xì)介紹如何修復(fù) DHCP 服務(wù)異常問(wèn)題。 了解 DHCP工作原理 在深入探討如何
    的頭像 發(fā)表于 11-27 14:53 ?9493次閱讀

    簡(jiǎn)述DHCP工作原理

    的分配,減輕了手動(dòng)配置的負(fù)擔(dān),并能夠避免重復(fù)分配的問(wèn)題。本文將詳細(xì)介紹DHCP工作原理DHCP工作原理可以分為四個(gè)主要步驟:發(fā)現(xiàn)、提供、請(qǐng)求和確認(rèn)。 發(fā)現(xiàn)(Discover):
    的頭像 發(fā)表于 11-27 15:01 ?2938次閱讀

    DHCP和DNS是如何工作的??jī)烧咧g有何區(qū)別?

    DHCP工作原理DHCP允許網(wǎng)絡(luò)管理員動(dòng)態(tài)地配置和分配IP地址給每個(gè)互聯(lián)網(wǎng)連接的設(shè)備。當(dāng)個(gè)設(shè)備希望加入網(wǎng)絡(luò)時(shí),它會(huì)向
    的頭像 發(fā)表于 12-27 14:09 ?813次閱讀

    讀懂單燈控制器工作原理

    讀懂單燈控制器工作原理
    的頭像 發(fā)表于 11-11 13:13 ?20次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>讀懂單燈控制器<b class='flag-5'>工作原理</b>