溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

WiFi組播配網(wǎng)原理是什么

發(fā)布時間:2021-12-03 18:31:35 來源:億速云 閱讀:181 作者:柒染 欄目:互聯(lián)網(wǎng)科技

這篇文章將為大家詳細(xì)講解有關(guān)WiFi組播配網(wǎng)原理是什么,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

        隨著物聯(lián)網(wǎng)的興起,接入網(wǎng)絡(luò)的IoT WiFi設(shè)備呈爆發(fā)趨勢增長,這其中有很大一部分沒有用戶交互界面,而接入WiFi熱點(diǎn)通常需要輸入SSID和Password,WiFi組播配網(wǎng)技術(shù)很好的解決了這個問題,只需要一部手機(jī)就可以完成配網(wǎng)。

一、組播。

組播,英文名Multicast,這里有必要同時提下Broadcast和Unicast,翻譯成中文分別是廣播和單播,顧名思義,廣播就是單臺主機(jī)向網(wǎng)絡(luò)中所有主機(jī)發(fā)送消息,單播是兩臺主機(jī)之間進(jìn)行對話,而組播則是單臺主機(jī)向特定的一組主機(jī)發(fā)送消息。在以太網(wǎng)數(shù)據(jù)幀頭中會需要指定發(fā)送以及接受設(shè)備的MAC地址,以確定該數(shù)據(jù)包的來源與去向,廣播時接收方的MAC地址為0xFFFFFFFFFFFF,單播時接收方的MAC地址為對端MAC地址,而組播時,接收方的MAC地址則與組地址之間有一個映射關(guān)系,而WiFi組播配網(wǎng)正是利用了這個組地址與MAC地址的映射。

用過網(wǎng)絡(luò)抓包工具的肯定知道,抓包時會發(fā)現(xiàn)電腦經(jīng)常與一些奇怪的ip地址進(jìn)行UDP通訊,例如224.0.0.251,224.0.0.1,224.0.0.22,這些地址代表了一組特定的主機(jī),路由器會將這些UDP包發(fā)送到加入該組的主機(jī)。關(guān)于組播技術(shù)的具體細(xì)節(jié)可以查閱相關(guān)文檔了解,本文將不再贅述。ieee將224.0.0.0 ~ 239.255.255.255劃定為組播保留地址,在以太網(wǎng)中,目的IP地址為組播保留地址的數(shù)據(jù)包,目的MAC地址需要做一個映射。具體做法是,MAC地址的3個高字節(jié)固定為01:00:5E,后三個字節(jié)依次為組地址的從高字節(jié)起的第二字節(jié)取低7位、組地址的第三字節(jié)和第四字節(jié),例如組地址225.215.145.230對應(yīng)的MAC地址為01:00:5E:57:91:E6,這里需要了解的是,雖然我們看到的組播MAC地址大多都為01:00:5E開頭,但并不是只有以01:00:5E開頭的MAC地址才是組播MAC地址,MAC地址的前24bit叫做organization unique identifier(OUI),01:00:5E是ieee的OUI,習(xí)慣性的被大多數(shù)廠商和文獻(xiàn)使用,判斷一個MAC是否為組播MAC的依據(jù)是MAC地址的第一個字節(jié)的bit0是否為1。

二、WiFi數(shù)據(jù)幀頭結(jié)構(gòu)

在介紹WiFi幀頭結(jié)構(gòu)之前,我們先了解下WiFi通信的一些基本原理。WiFi工作于2.4GHz與5.8GHz兩個頻段,為簡單起見,5.8GHz頻段暫時忽略。WiFi在2.4G頻段共有14個信道,分別是1-14信道,其中14信道只有日本在使用,這些信道的中心頻率依次是2.412GHz /2.417GHZ /2.422GHz /2.427GHz /2.432GHz /2.437GHz /2.442GHz /2.447GHz /2.452GHz /2.457GHz /2.462 GHz / 2.467GHz /2.472 GHz /2.484 GHz,第14信道與第13信道中心頻率相差12MHz, 其他各相鄰信道的中心頻率相差5MHz。使用時,路由器工作在一個固定信道,wifi網(wǎng)卡會循環(huán)在1-13信道掃描wifi熱點(diǎn),最終用戶選擇的熱點(diǎn)在哪個信道wifi網(wǎng)卡就會跳到該信道去連接這個熱點(diǎn)。

下面是一個常見的802.11MAC幀,在802.11的MAC幀會標(biāo)明目的MAC地址/源MAC地址/BSSID分別表示這個wifi數(shù)據(jù)幀發(fā)給哪個設(shè)備,來自哪個設(shè)備,從哪個路由器發(fā)出來的,wifi網(wǎng)卡需要根據(jù)目的MAC地址來區(qū)分哪些數(shù)據(jù)包是發(fā)給自己的應(yīng)對處理,哪些數(shù)據(jù)包不是發(fā)給自己的需要丟棄。

802.11 MAC幀

2 byte

2 byte

6 byte

6 byte

6 byte

2 byte

6 byte

0-2312 byte

6 byte

Frame

Control

Duration

/ID

Addr1

Addr2

Addr3

Seq-ctrl

Addr4

Frame body

FCS

三、WiFi組播配網(wǎng)

wifi組播配網(wǎng)正是利用了之前所說的組地址與組播MAC地址之間的映射及wifi數(shù)據(jù)幀頭中的MAC地址信息來傳輸配網(wǎng)信息。

在發(fā)送端,將需要傳輸?shù)臄?shù)據(jù)以2個字節(jié)為單位通過組播傳輸出去,為保證數(shù)據(jù)先后順序的正確性,需要為這些數(shù)據(jù)編上號,為了便于接收端區(qū)分wifi組播數(shù)據(jù)幀是配網(wǎng),雙方約定使用一個同步頭來作為前導(dǎo),此外為保證傳輸?shù)挠行赃€需要將校驗值、數(shù)據(jù)長度、協(xié)議和版本號告訴接受端,如果消息超出了一次分包消息的長度,需要將數(shù)據(jù)分成多個數(shù)據(jù)包來傳輸,為了確保數(shù)據(jù)的安全性,采用AES加密算法將ssid/passphrase/pmk加密,為了確保不會出現(xiàn)0結(jié)尾的組地址,采用base64編碼算法對密文進(jìn)行編碼。

監(jiān)聽端,使wifi網(wǎng)卡循環(huán)在1-13信道監(jiān)聽組播wifi數(shù)據(jù)幀,以約定的組播MAC地址為同步頭,當(dāng)監(jiān)聽到同步頭之后,進(jìn)入接收模式,只接收來自該MAC地址的組播wifi數(shù)據(jù)幀,在接收完包頭信息及數(shù)據(jù)之后進(jìn)行解析,依次將base64編碼還原成aes密文,再使用之前約定的密鑰解密,得到ssid/passphrase/pmk,完成配網(wǎng)。

關(guān)于WiFi組播配網(wǎng)原理是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI