802.11协议基础
1. 802.11管理功能–用戶接入過程
? ? ? STA (工作站)啟動(dòng)初始化、開始正式使用、AP 傳送數(shù)據(jù)幀之前,要經(jīng)過三個(gè)階段才能接入:
? ? ? (1) 掃描(SCAN)?? ? ? (2) 認(rèn)證(Authentication)?
? ? ? (3) 關(guān)聯(lián)(Association)?
1.1 802.11管理–掃描(SCAN)
? ? ? 1) ?若無線站點(diǎn) STA 設(shè)成 Ad-hoc (無AP)模式:
? ? ? ? ?STA先尋找是否已有 IBSS(與STA所屬相同的SSID)存在,如有,則參加(join);若無, 則會(huì)自己創(chuàng)建一個(gè)IBSS,等其他站來 join。?
? ??? 2) 若無線站點(diǎn) STA 設(shè)成 Infrastructure (有AP)模式:
? ? ? ? ? ?--主動(dòng)掃描方式?(特點(diǎn):能迅速找到)
? ? ? ? ? ? ? ?依次在每個(gè)信道上發(fā)送Probe request報(bào)文,從Probe Response中獲取BSS的基本信息, Probe Response包含的信息和Beacon幀類似
? ? ? ? ? ?--?被動(dòng)掃描方式?(特點(diǎn):找到時(shí)間較長,但STA節(jié)電)? ? ? ? ? ? ??
? ? ? ? ? ? ? ? 通過偵聽AP定期發(fā)送的Beacon幀來發(fā)現(xiàn)網(wǎng)絡(luò), Beacon幀中包含該AP所屬的BSS的基本信息以及AP的基本能力級(jí),包括: BSSID(AP的MAC地址)、 SSID、支持的速率、支持的認(rèn)證方式,加密算法、 Beacons幀發(fā)送間隔,使用的信道等 ? ? ? ? ? ? ? ? 當(dāng)未發(fā)現(xiàn)包含期望的SSID的BSS時(shí),STA可以工作于IBSS狀態(tài)
1.2 ?802.11管理功能–認(rèn)證(Authentication)?
? ? ? ?802.11支持兩種基本的認(rèn)證方式:? ? ? ???? Open-system Authentication ? ? ? ? ? 1) 等同于不需要認(rèn)證,沒有任何安全防護(hù)能力 ? ? ? ? ? 2) 通過其他方式來保證用戶接入網(wǎng)絡(luò)的安全性,例如Address filter、用戶報(bào)文中的SSID
? ? ??? Shared-Key Authentication ? ? ? ? ?1) 采用WEP加密算法 ? ? ? ? ?2) Attacker可以通過監(jiān)聽AP發(fā)送的明文Challenge text和STA回復(fù)的密文Challenge text計(jì)算出WEP KEY
? ? ? 另外,STA可以通過Deauthentication來終結(jié)認(rèn)證關(guān)系。
1.3 802.11管理功能–關(guān)聯(lián)(Association)?
??? ?1) Association
? ? ? ? ?? STA通過Association和一個(gè)AP建立關(guān)聯(lián),后續(xù)的數(shù)據(jù)報(bào)文的收發(fā)只能和建立Association關(guān)系的AP進(jìn)行 ??? ?2) Reassociation ? ? ? ? ?? STA在從一個(gè)老的AP移動(dòng)到新AP時(shí)通過Reassociation和新AP建立關(guān)聯(lián) ? ? ? ? ?? Reassociation前必須經(jīng)歷Authentication過程 ? ? ?3) Deassociation ? ? ? ? ?? STA通過Deassociation和AP解除關(guān)聯(lián)關(guān)系
2. 802.11相關(guān)協(xié)議
3. 802.11幀格式
3.1 802.11 MAC Header(MAC頭)
? ? ???Frame Control(幀控制域)
? ? ???Duration/ID(持續(xù)時(shí)間/標(biāo)識(shí))
? ? ???Address(地址域)
? ? ???Sequence Control(序列控制域)
3.1.1?Frame Control(幀控制域)
? ? ???Protocol Version(協(xié)議版本):通常為0;
? ? ???Type(類型域)和Subtype(子類型域):共同指出幀的類型;
? ? ???To DS:表明該幀是BSS向DS發(fā)送的幀;
? ? ???From DS:表明該幀是DS向BSS發(fā)送的幀;
? ? ???More Frag:用于說明長幀被分段的情況,是否還有其它的幀;
? ? ???Retry(重傳域):用于幀的重傳,接收STA利用該域消除重傳幀;
? ? ???Pwr Mgt(能量管理域):1:STA處于power_save模式;0:處于active模式;
? ? ???More Data(更多數(shù)據(jù)域):1:至少還有一個(gè)數(shù)據(jù)幀要發(fā)送給STA ;
? ? ???Protected Frame: 1:幀體部分包含被密鑰套處理過的數(shù)據(jù);否則:0;
? ? ???Order(序號(hào)域):1:長幀分段傳送采用嚴(yán)格編號(hào)方式;否則:0。
3.1.2?Duration/ID(持續(xù)時(shí)間/標(biāo)識(shí))
? ? ?表明該幀和它的確認(rèn)幀將會(huì)占用信道多長時(shí)間;對(duì)于幀控制域子類型為:Power Save-Poll的幀,該域表示了STA的連接身份(AID, Association Indentification)。
3.1.3?Address(地址域)
? ? ? ?Address(地址域):源地址(SA)、目的地址(DA)、傳輸工作站地址(TA)、接收工作站地址(RA),SA與DA必不可少,后兩個(gè)只對(duì)跨BSS的通信有用,而目的地址可以為單播地址(Unicast address)、多播地址(Multicast address)、廣播地址(Broadcast address)。
3.1.4?Sequence Control(序列控制域)
? ? ? Sequence Control(序列控制域):由代表MSDU(MAC Server Data Unit)或者M(jìn)MSDU(MAC Management Server Data Unit)的12位序列號(hào)(Sequence Number)和表示MSDU和MMSDU的每一個(gè)片段的編號(hào)的4位片段號(hào)組成(Fragment Number)。
3.2 Frame Body(幀體部分)
? ? 包含信息根據(jù)幀的類型有所不同,主要封裝的是上層的數(shù)據(jù)單元,長度為0~2312個(gè)字節(jié),可以推出,802.11幀最大長度為:2346個(gè)字節(jié);
3.3 FCS(校驗(yàn)域)
? ? 包含32位循環(huán)冗余碼。
3.4 地址格式
1) 方案一:
? ? ?A和B 在同一個(gè)IBSS,A->B (Ad hoc無線自組網(wǎng)中的數(shù)據(jù)幀的地址格式)。
2) 方案二:
? ? 從AP發(fā)出的無線數(shù)據(jù)幀中的地址格式。
3) 方案三:
? ? 發(fā)到AP的無線數(shù)據(jù)幀中的地址格式。
4) 方案四:
? ? 通過無線分布系統(tǒng)傳輸?shù)臒o線數(shù)據(jù)幀中的地址格式。
4. WLAN拓?fù)浣Y(jié)構(gòu)
? ?WLAN有以下三種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu):
? ? ?1) 獨(dú)立基本服務(wù)集(Independent BSS, IBSS)網(wǎng)絡(luò)(也叫ad-hoc網(wǎng)絡(luò));
? ? ?2) 基本服務(wù)集(Basic Service Set, BSS)網(wǎng)絡(luò);
? ? ?3) 擴(kuò)展服務(wù)集(Extent Service Set, ESS)網(wǎng)絡(luò)。
? ? 其各自的特點(diǎn)如下所示:
4.1 IBSS-無AP
也叫Ad Hoc 網(wǎng)(無線自組網(wǎng)):IBSS (Independent BSS,獨(dú)立基本服務(wù)集),無AP,站點(diǎn)間直接通信。
4.2 BSS-有AP
又名Infrastructured網(wǎng)(基礎(chǔ)設(shè)施網(wǎng)):有AP(Access Point, 接入點(diǎn)),無線站點(diǎn)通信首先要經(jīng)過AP。
4.3 ESS-有AP和DS
? ? ESS:屬 Infrastructured 網(wǎng) (?DS:分配系統(tǒng),AP:接入點(diǎn), SSID:ESS擴(kuò)展服務(wù)集標(biāo)識(shí)符。一個(gè)移動(dòng)節(jié)點(diǎn)使用某 ESS 的 SSID 加入到該擴(kuò)展服務(wù)集中,一旦加入ESS,移動(dòng)節(jié)點(diǎn)便可實(shí)現(xiàn)從該ESS的一個(gè)BSS到另一個(gè)BSS的漫游)
5. 802.11幀類型
? ??針對(duì)幀的不同功能,可將802.11中的MAC幀細(xì)分為以下3類:
? ??? 數(shù)據(jù)幀:用于在競爭期和非競爭期傳輸數(shù)據(jù);
? ??? 控制幀:用于競爭期間的握手通信和正向確認(rèn)(RTS信道預(yù)約、CTS預(yù)約成功、ACK等)、結(jié)束非競爭期等,為數(shù)據(jù)幀的發(fā)送提供輔助功能;
? ??? 管理幀:主要用于STA與AP之間協(xié)商、關(guān)系的控制,如關(guān)聯(lián)、認(rèn)證、同步等。
? ? ?Frame Control(幀控制域)中的Type(類型域)和Subtype(子類型域)共同指出幀的類型,當(dāng)Type的B3B2位為00時(shí),該幀為管理幀;為01時(shí),該幀為控制幀;為10時(shí),該幀為數(shù)據(jù)幀。而Subtype進(jìn)一步判斷幀類型,如管理幀里頭細(xì)分為關(guān)聯(lián)和認(rèn)證幀
5.1 管理幀 (Management Frame)
| Type | SubType | FrameType |
| 00 | 0000 | Association request (連接請(qǐng)求) |
| 00 | 0001 | Association response (連接響應(yīng)) |
| 00 | 0010 | Reassociation request(重連接請(qǐng)求) |
| 00 | 0011 | Reassociation response(重連接聯(lián)響應(yīng)) |
| 00 | 0100 | Probe request(探測請(qǐng)求) |
| 00 | 0101 | Probe response(探測響應(yīng)) |
| 00 | 1000 | Beacon(信標(biāo),被動(dòng)掃描時(shí)AP 發(fā)出,notify) |
| 00 | 1001 | ATIM(通知傳輸指示消息) |
| 00 | 1010 | Disassociation(解除連接,notify) |
| 00 | 1011 | Authentication(身份驗(yàn)證) |
| 00 | 1100 | Deauthentication(解除認(rèn)證,notify) |
| 00 | 1101~1111 | Reserved(保留,未使用) |
? ? ATIM:Announcement Traffic Indication Message,ATIM僅在ATIM窗口期間傳送,ATIM沒有負(fù)載。
5.2 控制幀 (Control Frame)
| Type | Subtype | Frametype |
| 01 | 1010 | Power Save(PS)- Poll(省電-輪詢) |
| 01 | 1011 | RTS(請(qǐng)求發(fā)送,即:?Request To Send ,預(yù)約信道,幀長20字節(jié)) |
| 01 | 1100 | CTS(清除發(fā)送,即:Clear To Send ,同意預(yù)約,幀長14字節(jié)) |
| 01 | 1101 | ACK(確認(rèn)) |
| 01 | 1110 | CF-End(無競爭周期結(jié)束) |
| 01 | 1111 | CF-End(無競爭周期結(jié)束)+CF-ACK(無競爭周期確認(rèn)) |
? ? ?RTS和CTS用于信道預(yù)約,CF-End+CF_ACK和ACK用于確認(rèn)正確接收到幀。
? ? 1) ACK幀
5.3 數(shù)據(jù)幀 (Data Frame)
| Type | Subtype | Frametype |
| 10 | 0000 | Data(數(shù)據(jù)) |
| 10 | 0001 | Data+CF-ACK |
| 10 | 0010 | Data+CF-Poll |
| 10 | 0011 | Data+CF-ACK+CF-Poll |
| 10 | 0100 | Null data(無數(shù)據(jù):未傳送數(shù)據(jù)) |
| 10 | 0101 | CF-ACK(未傳送數(shù)據(jù)) |
| 10 | 0110 | CF-Poll(未傳送數(shù)據(jù)) |
| 10 | 0111 | Data+CF-ACK+CF-Poll |
| 10 | 1000 | Qos Data |
| 10 | 1001 | Qos Data + CF-ACK |
| 10 | 1010 | Qos Data + CF-Poll |
| 10 | 1011 | Qos Data + CF-ACK+ CF-Poll |
| 10 | 1100 | QoS Null(未傳送數(shù)據(jù)) |
| 10 | 1101 | QoS CF-ACK(未傳送數(shù)據(jù)) |
| 10 | 1110 | QoS CF-Poll(未傳送數(shù)據(jù)) |
| 10 | 1111 | QoS CF-ACK+ CF-Poll(未傳送數(shù)據(jù)) |
| ? | ? | ? |
總結(jié)
以上是生活随笔為你收集整理的802.11协议基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32堆栈区
- 下一篇: wifi网络结构(上)