802.11 幀格式和分類詳解


幀類型

802.11幀主要有三種類型:
在這里插入圖片描述

管理幀

它的主要作用是維護接入點和無線客戶端之間的通信,管理幀框架擁有以下子類型:

  • Authentication

  • De-authentication

  • Association Request

  • Association Response

  • Reassociation Request

  • Reassociation Response

  • Disassociation

  • Beacon

  • Probe Request

  • Probe Response

控制幀

控制幀是負責客戶端和接入點的數據交換,類型為:

  • Request to Send (RTS)
  • Clear to Send (CTS)
  • Acknowledgement (ACK)

數據幀

攜帶傳輸的數據的幀,類型主要有:

  • DHCP
  • TCP
  • HTTP
  • EAPOL-Key
  • 802.11 Flag
  • 等等

802.11 幀格式

802.11幀的最大長度2346個字節,結果如下:
在這里插入圖片描述

802.11幀—Frame Control

在802.11幀的開頭,占2個字節共8bit位。
所有幀的開頭均是長度兩個元組的Frame Control位,如下圖所示:Frame Control位包含以下bit位。
在這里插入圖片描述

  • Protocol(協議版本)
    上圖中,協議版本的值為0,因為這是目前唯一的版本,未來可能會出其他新的版本。

  • Type:
    管理幀的Type值為00。
    控制幀的Type值為01。
    數據幀的Type值為10。

  • Subtype(子類型):
    此位代表發送幀的子類型。
    在這里插入圖片描述
    在這里插入圖片描述

  • To DS 與From DS
    分別表示無線鏈路向無線工作站(如AP)發送的幀和無線工作站向無線鏈路發送的幀。

  • More Fragments(更多片段)
    用於說明長幀被分段的情況,是否還有其它的幀。若較上層的封包經過MAC 分段處理,最后一個片段除外,其他片段均會將此bit 設定為1。

  • Retry(重試)
    有時候可能需要重傳幀。任何重傳的幀會將此bit 設定為1,以協助接收端剔除重復的幀。

  • Power Management(電源管理)
    此bit 用來指示、完成當前的幀交換過程后,發送端的電源管理狀態。
    為1表示STA處於Power_save模式,為0表示STA處於active模式。

  • More Data(尚有數據)
    More Data bit 只用於管理數據幀,在控制幀中此bit 必然為0。

  • Protected Frame(受保護幀)
    為1表示幀體部分包含加密處理過的數據,為0則表示沒有進行加密處理。
    在這里插入圖片描述

  • Order(次序)
    幀與幀片段可依序傳送,不過發送端與接收端的MAC必須付出額外的代價,對幀片段進行嚴格編號。一旦進行“嚴格依序”傳送,此bit被設定為1。
     

Duration/ID 位

在802.11幀第2位,占2個字節,共8bit位。
Duration(持續時間)位用來記載網絡分配矢量NAV得值。
訪問介質時間限制是由NAV所指定。
在這里插入圖片描述
當第15 個bit被設定為0時,Duration/ID位就會被用來設定NAV。此數值代表目前所進行的傳輸預計使用介質多少微秒。
工作站必須監視所收到的任何幀頭,並據以更新NAV。
任何超出預計使用介質時間的數值均會更新NAV,同時阻止其他工作站訪問介質

802.11幀—Address

地址字段包含不同類型的MAC地址,地址的類型取決於幀類型。
在這里插入圖片描述
舉例:
在這里插入圖片描述

  • Address 1
    代表幀接收端的地址。
    在某些情況下,接收端即為目的地,但不然如此。
    目的地是負責處理幀中網絡層封包的工作站。 而接收端是負責將無線電解碼為802.11 幀的工作站。
    如果Address 1 被設為廣播或組播地址,則必須同時檢查BSSID(基本服務組合識別碼)。工作站只會應答來自同一個基本服務組合(basic service set,簡稱BSS)的廣播或組播信息;至於來自其他不同BSS 者則加以忽略。
  • Address 2
    發送端的地址,用來發送應答信息。
    在某些情況下,發送端即為源地址,但不然如此。
    源地址是指產生幀中網絡層協議封包的工作站;而發送端則是負責將幀發送至無線鏈路。
  • Address 3
    Address 3 位則是供基站與傳輸系統過濾之用,不過該位的用法,取決於所使用的網絡類型。
  • Address 4
    Address 4 一般不使用,只有在WDS(無線分布系統)中才會使用。
     

802.11幀—Seq-Ctl(順序控制位)

在這里插入圖片描述

此位占16bit位,用來重組幀片段以及丟棄重復幀。它由4個bit的fragment number(片段編碼)位以及12個bit的sequence number(順序編號)位所組成。

  • fragment number(片段編號)在上層封包被切割處理時使用,第一個片段的編號為0。其后每個片段依序累加1,方便幀進行重組。所有幀片段都會具有相同的順序編號,如果是重傳幀,則順序編號不會有任何改變。

  • sequence number(順序編號)位的作用,相當於已傳幀的計數器取4096 的模(modulo)。此計數器由0 起算,MAC 每處理一個上層封包就會累加1。
    如果發生重傳,則順序編號不變,便於進行幀處理,丟棄重復幀。
    主要是將我們發送的幀進行編號,對重新傳輸的幀進行刷選,保證幀的正確性。

802.11幀—Frame Body(幀主體)

Frame Body 稱為數據位,負責在工作站之間傳輸上層數據(payload)。
802.11幀最多可以傳輸2312個bit組的上層數據
在這里插入圖片描述
Frame Body包含了SSID、Channel、TX、RX等信息
在這里插入圖片描述

802.11幀—FCS(幀檢驗序列)

802.11幀以FCS作為結束,FCS讓工作站得以檢查所收到的幀的完整性。在這里插入圖片描述
在以太網上,如果幀的FCS有誤,則隨即予以丟棄,否則就會傳送給上層協議處理。在802.11網絡上,通過完整性檢驗的幀還需接收端送出應答。
例如,接收無誤的數據幀必須得到正面應答,否則就必須重傳。
對於未能通過FCS檢驗的幀,802.11並未提供負面應答機制;在重傳之前,工作站就必須等候應答超時。

幀類型細分

管理幀

管理幀的主體所包含的固定位與信息元素是用來運送信息。管理幀有好幾種分別負責鏈路
層各種維護功能。

Beacon(信標)幀

在這里插入圖片描述

  • Beacon 幀是相當重要的維護機制,主要用來宣告某個網絡的存在。
  • 定期發送的信標,可讓移動工作站得知該網絡的存在,從而調整加入該網絡所必要的參數。
  • 在基礎型網絡里,基站必須負責發送 Beacon 幀。 Beacon 幀所及范圍即為基本服務區域。在基礎型網絡里,所有溝通都必須通過基站,因此工作站不能距離太遠,占則便無法接收到信標。

檢測要求(probe request)幀

在這里插入圖片描述

  • 移動工作站將會利用 Probe Request(檢測要求)幀,掃描所在區域內目前有哪些 802.11
    網絡
  • Probe Request 幀包含兩個位: SSID 以及 Supported Rates(移動工作站所支持的速率)。
    收到 Probe Request 幀的工作站會據此判定對方能否加入網絡。為了相處愉快,移動工作站必
    須支持網絡所要求的所有數據速率,並以 SSID 表明所欲加入的網絡。 SSID 可設定為特定網絡
    的 SSID,或設定為任何相容網絡的 SSID。允許網卡加入任何網絡的驅動程式,將會在 Probe
    Requests 中使用 broadcast SSID(廣播形式的服務集合識別碼)。

檢測應答(probe response)幀

在這里插入圖片描述

  • 如果 Probe Request 幀所探查的網絡與之相容,該網絡就會以 Probe Response 幀應答。
    送出最后一個 Beacon 幀的工作站,必須負責應答所收到的檢測信息。在基礎型網絡里,負責應
    答的工作站即為基站。在 IBSS 當中,工作站會彼此輪流發送 Beacon 信號。發送 Beacon 信號
    的工作站必須負責發送 Probe Response 幀, 直到下一個 Beacon 被發送出來。 Probe Response
    幀的格式如圖 4-53 所示。 其中某些位彼此互斥; 此規則同樣適用於 Probe Response 以及 Beacon幀
  • Probe Response 幀中包含了 Beacon 幀的所有參數,移動工作站可據以調整切入網絡所需
    要的參數· Probe Response 幀可以剔除 TIM 元素,因為此時工作站尚未建立連接,因此不必知
    道哪些連接在基站中有暫存幀

IBSS的數據待傳指示通知信息(ATIM)幀

在這里插入圖片描述
HISS 中沒有基站,因此無法仰賴基站暫存幀。 IBSS 中的工作站如果為處於休眠狀態的接
收者暫存幀,就會在遞送期間送出一個 ATIM 幀,通知對方有信息待陣,如圖 4-54 所示。

解除連接和解除認證(Disassociation 與 Deauthentication)

  • Disassociation(解除連接)幀用來終結一段連接關系。
  • 而 Deauthentication(解除認證)幀則用來終結一段認證關系。
  • 兩者均包含一固定位, Reason Code(原因代碼),如圖 4-55 所示。當然, Frame Control 位彼此不同,因為不同類型的管理幀擁有不同的次類型。 802.11 改版並不需要改變這一格式,但幾次修訂均加入了新的原因代碼。
    在這里插入圖片描述

連接要求( Association Request)

一旦移動工作站找到相容網絡並且通過身份認證,便會發送 Association Request(連接要
求)幀,試圖加入網絡。 Association Request 幀的格式如圖 4 一 56 所示。
在這里插入圖片描述

  • Capability Information(性能信息)位用來指出移動工作站所欲加入的網絡類型。在接受連
    接要求之前,基站會驗證 Capability Information、 SSID 以及( Extended) Supported Rated
    等位是否符合網絡參數。此外,基站也會記錄工作站所使用的 Listen Interval(聆聽間隔;即移
    動工作站每隔多久聆聽一次 Beacon 幀,以監視 TIM 信息)。支持頻譜管理的工作站具備 power
    (功率)與 channel(信道)性能信息元素,支持安全防護的工作站則具備 RSN 信息元素。

重新連接( Reassociation Request)

在這里插入圖片描述

  • 位於相同擴展服務區域,但在不同基本服務區域之間游走的移動工作站,若要再次使用傳
    輸系統, 必須與網絡重新連接。 如果工作站暫時離開基站所涵蓋的范圍, 之后要重新加入的時候,也必須重新連接。如圖 4-57 所示。
  • association Request(連接要求)與 Reassociation Request(重新連接要求)之間的差別
    在於,后者包含移動工作站目前所連接之基站的地址。擁有這項信息可讓新舊基站彼此聯系,以
    及交接連接數據。交接項目包括先前連接之基站所暫存的幀。

連接應答與重新連接應答( Association Response 與 Reassociation Response)

在這里插入圖片描述

  • 當移動工作站試圖連接基站時,基站會回覆一個 Association Response(連接應答)或
    Reassociation Response(重新連接應答)幀,如圖小 58 所示。兩者之間的差別,在於 Frame
    Control 位所記載的 subtype 位。 所有位均屬必要。 在應答的過程中, 基站會指定一個 Association ID(連接識別碼),至於指定的方式則因實作而異。

認證( Authentication)

在這里插入圖片描述

  • 802.11 網絡發展初期,工作站是使用共享密鑰以及圖 4-59 所示的 Authentication 幀進行身
    份認證。到了 802.11i,共享密鑰身份認證雖然仍保留在標准當中,但卻無法與新的安全機制相
    容。如果工作站使用共享密鑰身份認證,將不允許使用較為牢靠的安全性協議
  • 不同的身份認證算法可以同時存在。 Authentication Algorithm Number(身份認證演算法編
    號)位用於選擇演算法。整個認證程序可能包含好幾個步驟(與所使用的算法有關),因此認證
    的過程中每個幀都有其序號。 Status Code 與 Challenge Text 的用法因算法而異

Action

  • 802.11h 加入了 Action 幀的支持,用來觸發測量動作。這些幀將於 8.8 節<頻譜管理>詳加
    描述

控制幀

控制幀主要在協助數據幀的傳遞。它們可用來監督無線介質的訪問(但非介質本身),以
及提供 MAC 層次的可靠性。

RTS(請求發送)

RTS 幀可用來取得介質的控制權,以便傳輸「大型」幀。至於多大稱之大型:是由網卡驅
動程式中的 RTS threshold(門限)來定義。介質訪問權只能保留給單點傳播( unicast)幀使用,而廣播( broadcast)與組播( multicast)幀只須發送便是了。 RTS 幀的格式如圖 4-13 所示。就和所有控制幀一樣, RTS 幀只包含標頭。幀主體中並未包含任何數據,標頭之后即為 FCS(幀檢查碼)。
在這里插入圖片描述
RTS 的 MAC 標頭由四個位構成:

  • Frame Control(幀控制)
    Frame Control 位並沒有任何特殊之處。幀的 subtype(次類型)位設定為 1011,代表 RTS
    幀。除此之外,它與其他的控制幀具備相同位。(在 802.11 規格書中,最高效 bit 乃是最后一
    個 bit,因此在 subtype 位中,第 7 個 bit 代表最高效 bit。)
  • Duration(持續時間)
    RTS 幀會試圖預定介質使用權,供幀交換程序使用,因此 RTS 幀發送者必須計算 RTS 幀結束后還需要多少時間。圖 4-14 說明了整個交換過程,總共需要三個 SIFS、一個 CTS、最后的 ACK,加上發送第一個幀或幀片段所需要的時間。( fragmentation burst〔片段宣泄期〕會使用后續的幀片段來更新 Duration 位。)傳輸所需要的微秒數經過計算后會置於 Duration 位。假使計算的結果不是整數,就會被修正為下一個整數微秒。
    在這里插入圖片描述
    Address 1 位; Receiver Address(接收端地址)
    接收大型幀的工作站的地址。
    Address -2 位: Transmitter Address(發送端地址)
    RTS 幀的發送端的地址。

CTS(允許發送)

CTS 幀有兩種目的,其格式如圖 4-15 所示。起初, CTS 幀僅用於應答 RTS 幀,如果之前
沒有 RTS 出現,就不會產生 CTS。后來, CTS 幀被 802. 11g 防護機制用來避免干擾較舊的工作站。此防護機制和 802.11g 的其他數據
在這里插入圖片描述
CTS 幀的 MAC 標頭由三個位構成:

  • Frame Control(幀控制)
    幀的 subtype(次類型)位被設定為 1100,代表 CTS 幀。
  • Duration(持續時間)
    用來應答 RTS 時, CTS 幀的發送端會以 RTS 幀的 duration 值作為持續時間的計算基准。
    RTS 會為整個 RTS-CTS-frame-ACK 交換過程預留介質使用時間。不過當 CTS 幀被發送出后,
    只剩下其他未幀或幀片段及其回應待傳。CTS 幀發送端會將 RTS 幀的 duration 值減去發送 CTS
    幀及其后短幀間隔所需的時間,然后將計算結果置於 CTS 的 Duration 位。圖 4-16 顯示了 CTS
    duration 與 RTS diratopm 的關系。
    在這里插入圖片描述
  • Address 1 位: Receiver Address(接收端地址)
    CTS 幀的接收端即為之前 RTS 幀的發送端,因此 MAC 會將 RTS 幀的發送端地址復制到
    CTS 幀的接收端地址。 802.118 防護作業所使用的 CTS 幀會被發送給發出 RTS 的工作站,而
    且只用來設定 NAV。

ACK(應答)

ACK 幀(圖 4-17)就是 MAC 以及任何數據傳輸(包括一般傳輸 RTS/CTS 交換之前的幀、
幀片段)所需要的正面應答( positive acknowledgment)。服務質量擴展功能放寬了個別數據幀必須各自得到應答的要求。
在這里插入圖片描述
ACK 幀的 MAC 標頭由三個位構成:

  • Frame Control(幀控制)
    幀的 subtype(次類型)位被設定為 1101,代表 ACK 幀。
  • Duration(持續時間)
          依照 ACK 信號在整個幀交換過程中位居何處, duration 的值可以有兩種設定方式。在完整
    的數據幀及一連串幀片段的最后一個片段中, duration 會被設定為 0。數據發送端會將 Frame
    Control(幀控制)位中的 More Fragments(尚有片段) bit 設定為 0,表示數據傳輸已經結束。
    如果 More Fragments bit 為 0,表示整個傳輸已經完成,沒有必要再延長對無線信道的控制權,
    因此會將 duration 設定為 0。
           如果 More Fragments bit 為 1, 表示尚有幀片段仍在發送中。 此時 Duration 位的用法和 CTS
    幀中的 Duration 位相同。發送 ACK 以及短幀間隔所需要的時間,將由最近幀片段所記載的
    duration 中減去。如果不是最后一個 ACK 幀, duration 的計算方式類似 CTS duration 的計算方
    式。事實上, 802.11 的規格書將 ACK 幀中的 duration 設定稱為虛擬 CTS。
  • Address 1 位: Receiver Address(接收端地址)
    接收端地址是由所要應答的發送端幀復制而來。技術上而言,它是由所要應答 幀的
    Address 2 位復制而來。應答主要是針對數據幀、管理幀以及 PS-Poll 幀。
    在這里插入圖片描述

PS-Poll(省電模式一輪詢)

當一部移動工作站從省電模式中蘇醒, 便會發送一個 PS-Poll 幀給基站, 以取得任何暫存幀。PS-Poll 幀的格式如圖 4-19 所示。
在這里插入圖片描述
PS-Poll 幀的 MAC 標頭由四個位構成:

  • Frame Control(幀控制)
    幀的 subtype(次類型)位被設定為 1010,代表 PS-Poll 幀。
  • AID(連接識別碼)
    PS-Poll 幀將會以 MAC 標頭的第三與第四 bit 來代表連接識別碼(association ID)。連接
    識別碼是基站所指定的一個數值, 用以區別各個連接。 將此識別碼置入幀, 可讓基站找出為其(移動工作站)所暫存的幀。
  • Address 1 位: BSSID
    此位包含發送端目前所在 BSS 的 BSSID,此 BSS 建立自目前所連接的 AP。
  • Address 2 位: Transmitter Address(發送端地址)
    此為 PS-Poll 幀之發送端的 MAC 地址
    在 PS-Poll 幀中並未包含 duration 信息,因此無法更新 NAV。不過,所有收到 Ps-Poll 幀
    的工作站,都會以短幀間隔加上發送 ACK 信號所需要的時間來更新 NAV。此一自動調整機制使
    得基站在發送 ACK 信號時,比較不會與移動基站發生碰撞。

【 連接識別碼(AID)在 PS-Poll 幀中,Duration/ID 位是連接識別碼,而非虛擬載波偵測
功能所使用的數值。當移動工作站與基站連接時,基站會從 1-2,007 范圍內指派一個值來做為連接識別碼(AID)】

幀的狀態和等級

所能發送的幀類型,依連接狀態與身份認證狀態而有所不同。工作站可能已經認證或未經認證,也可能己經連接或尚未連接。這兩個變數的組合有三種可能狀態,結果構成了 802.11 的網絡發展層級:

  1. 初始狀態;未經認證且尚未連接
  2. 已經認證但尚未連接
  3. 已經認證且已經連接

每種狀態分別對應到 802.11 連接的發展階段。一開始,移動工作站處於狀態 1,只有進入狀態 3 才可以通過傳輸系統發送數據。(IBSS 不包含基站,也無須進行連接,因此只會停留在狀態 2。) 802.11 幀傳輸的整體狀態圖,如圖 4-60 所示。
在這里插入圖片描述

幀可以被划分為三種等級。在狀態 1 可以傳遞第 1 級幀;在狀態 2 可以發送第 1 與 2 級幀;
在狀態 3 則可以傳遞第 1、 2 與多級幀。

第 1 級幀

第 1 級幀可以在任何狀態中傳遞,它讓 802.11 的工作站得以進行基本作業。 在 IBSS 當中,控制幀主要用來依循 CSMA/CA 規則,以及發送幀。工作站也會使用第 1 級幀來找尋基礎型網絡,並與之進行身份認證。表 4-11 列出了屬於第 1 級的各種幀。
在這里插入圖片描述

第 2 級幀

工作站只有在經過身份認證之后,方能夠發送第 2 級幀,而且第 2 級幀只能使用於狀態 2與狀態 3。 2 級幀主要用來管理連接。線或重新連接成功后,工作站就會進入狀態 3;如果連接失敗,則工作站依然處於狀態 2。工作站收到未經認證的作站所傳來的第 2 級幀時,就會應答一 個 Deauthentication(解除認證)幀,將對方推回狀態 1。表 4-12 列出了所有的第 2 級幀。
在這里插入圖片描述
第 3 級幀
第 3 級幀的使用時機,是在工作站認證成功並與基站連接之后“一旦工作站進入狀態 3,就
可以使用傳輸系統服務,也可以和基站范圍以外的對象進行通訊。在狀態 3,工作站還可以利用PS-Poll 幀享受基站所提供的省電服務。表列出了不同類型的第 3 級幀。
在這里插入圖片描述
如 果 所 收 到 的 幀 , 來 自 一 部 已 經 驗 證 但 尚 未 連 接 的 工 作 站 , 基 站 就 會 應 答 一 個Disassociation(解除連接)幀,迫使工作站回到狀態 2。如果發出幀的工作站尚未經過驗證,則基站會應答一個 Deauthentication(解除認證)幀,迫使工作站回到狀態 1。
 
 
 
原文地址:https://www.cnblogs.com/rougungun/p/14340489.html 轉載請注明出處,做個合格的程序猿,非常感謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM