性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

嵌入式大雜燴
認(rèn)證:普通會員
作者動態(tài)
嵌入式必備工具 CMake 的使用套路!
2天前
嵌入式設(shè)備配網(wǎng):從基礎(chǔ)到實(shí)戰(zhàn)!
5天前
嵌入式設(shè)備聯(lián)網(wǎng)的 “捷徑” ——DHCP 詳解
04-22 17:08
嵌入式軟件:函數(shù)式 VS 非函數(shù)式編程
04-22 09:05
嵌入式領(lǐng)域:Linux 與 RTOS 的巔峰對決!
04-21 09:40

嵌入式設(shè)備聯(lián)網(wǎng)的 “捷徑” ——DHCP 詳解

udhcpd 是一個(gè)輕量級的 DHCP (Dynamic Host Configuration Protocol,動態(tài)主機(jī)配置協(xié)議)服務(wù)器實(shí)現(xiàn)。通常用于資源受限的嵌入式系統(tǒng)或小型網(wǎng)絡(luò)環(huán)境中。

它是 Universal DHCP Daemon 的縮寫,旨在為設(shè)備提供基本的 DHCP 服務(wù),具有占用資源少、配置簡單等特點(diǎn)。

本篇文章我們來分享DHCP的相關(guān)知識。

一、DHCP 是什么?

簡單來說,DHCP 就像網(wǎng)絡(luò)世界里的 “貼心管家”。

在一個(gè)復(fù)雜的網(wǎng)絡(luò)環(huán)境中,比如智能家居系統(tǒng),有大量設(shè)備需要接入網(wǎng)絡(luò)。每個(gè)設(shè)備要正常聯(lián)網(wǎng),都得有個(gè)獨(dú)一無二的 IP 地址,就好比每棟房子都要有唯一的門牌號,這樣數(shù)據(jù)才能準(zhǔn)確送達(dá)。

DHCP 的職責(zé),就是自動給這些設(shè)備分配 IP 地址,同時(shí)提供子網(wǎng)掩碼、默認(rèn)網(wǎng)關(guān)、DNS 服務(wù)器地址等關(guān)鍵網(wǎng)絡(luò)配置信息,讓設(shè)備能迅速、無誤地接入網(wǎng)絡(luò),無需人工干預(yù)。減少人為錯(cuò)誤,還能靈活應(yīng)對設(shè)備移動、網(wǎng)絡(luò)擴(kuò)展等變化。

二、DHCP 的工作流程

DHCP 的工作流程可分為四個(gè)關(guān)鍵階段:發(fā)現(xiàn)(Discover)、提供(Offer)、請求(Request)確認(rèn)(Ack)。

假設(shè)智能部署了大量嵌入式設(shè)備,用于生產(chǎn)監(jiān)控、設(shè)備控制等。現(xiàn)在,新一批智能傳感器到貨,需要接入工廠的局域網(wǎng)。工廠網(wǎng)絡(luò)中有一臺 DHCP 服務(wù)器,負(fù)責(zé)為所有設(shè)備分配網(wǎng)絡(luò)配置。

1. 發(fā)現(xiàn)階段(Discover)

當(dāng)新的智能傳感器首次接入工廠網(wǎng)絡(luò),它對網(wǎng)絡(luò)環(huán)境一無所知,不知道 DHCP 服務(wù)器在哪。

于是,傳感器會在網(wǎng)絡(luò)中發(fā)送一個(gè)特殊的廣播包,這個(gè)包就像在大聲呼喊:“有沒有 DHCP 服務(wù)器呀?我需要上網(wǎng),請給我分配網(wǎng)絡(luò)配置!”

廣播包的目的 IP 地址是 255.255.255.255,這意味著網(wǎng)絡(luò)中的所有設(shè)備都能收到,但只有 DHCP 服務(wù)器會響應(yīng)。

2. 提供階段(Offer)

工廠網(wǎng)絡(luò)中的 DHCP 服務(wù)器收到傳感器的 Discover 包后,會從預(yù)先設(shè)定的 IP 地址池中挑選一個(gè)尚未分配的 IP 地址,然后向傳感器發(fā)送一個(gè) Offer 包。

這個(gè) Offer 包就像 DHCP 服務(wù)器在回應(yīng):“我這兒有個(gè) IP 地址,給你用吧,還有配套的網(wǎng)絡(luò)配置信息。”

Offer 包中除了分配的 IP 地址,還包含子網(wǎng)掩碼、默認(rèn)網(wǎng)關(guān)、DNS 服務(wù)器地址等。同時(shí),DHCP 服務(wù)器會在內(nèi)部記錄中標(biāo)記這個(gè) IP 地址已預(yù)分配給該傳感器。

3. 請求階段(Request)

智能傳感器可能會收到多個(gè) DHCP 服務(wù)器的 Offer 包(雖然在工廠這種單一網(wǎng)絡(luò)環(huán)境中不太常見,但在復(fù)雜網(wǎng)絡(luò)中可能發(fā)生)。

不管收到幾個(gè),傳感器只會選擇其中一個(gè) Offer 包,并向?qū)?yīng)的 DHCP 服務(wù)器發(fā)送一個(gè) Request 包,意思是:“我就要你給的這個(gè) IP 地址啦!” 這個(gè) Request 包同樣是廣播包,目的是通知網(wǎng)絡(luò)中的其他 DHCP 服務(wù)器,自己已選定 IP 地址,其他服務(wù)器可收回它們提供的地址。

4. 確認(rèn)階段(Ack)

DHCP 服務(wù)器收到傳感器的 Request 包后,會發(fā)送一個(gè) Ack 包給傳感器,相當(dāng)于回應(yīng):“好的,這個(gè) IP 地址歸你用了,配置信息確認(rèn)無誤。”Ack 包再次包含完整的網(wǎng)絡(luò)配置信息,確認(rèn)傳感器可使用該 IP 地址。此時(shí),傳感器成功獲取 IP 地址和其他配置,能正常接入工廠網(wǎng)絡(luò),開始數(shù)據(jù)采集和傳輸工作。

三、在嵌入式開發(fā)中使用 DHCP

在基于 Linux 的嵌入式開發(fā)中,使用 DHCP 同樣能極大簡化設(shè)備的網(wǎng)絡(luò)配置流程。我們可以通過udhcpd來實(shí)現(xiàn) DHCP 功能。

udhcpd的配置文件可參考udhcpd源碼下的udhcpd.conf:

我們只保留如下內(nèi)容:

# The start and end of the IP lease block
start           192.168.3.2
end             192.168.3.254

# The interface that udhcpd will use
interface       wlan0

opt     dns     114.114.114.114
option  subnet  255.255.255.0
opt     router  192.168.3.1
option  domain  local
option  lease   864000     # 10 days of seconds

該文件主要配置了:

  • 所能分配的IP地址的范圍為:192.168.3.2~192.168.3.254
  • 網(wǎng)卡接口:wlan0
  • 網(wǎng)關(guān)地址:192.168.3.1
聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯(cuò)的朋友,別忘了一鍵三連哦!
贊 3
收藏 3
關(guān)注 28
成為作者 賺取收益
全部留言
0/200
成為第一個(gè)和作者交流的人吧