無線網路802.11 Frames-Part 2

802.11 Frame Composition

Mac Header

Mac header包含有關OSI 第二層的資訊,並且是不受保護的。因此任何使用 Wireshark 等網路協定分析器的人都可以看到它。此header有九個重要部分,其中四個用於尋址目的。其他部分包括frame control, duration ID/ sequence control/ QoS control / hit control。 Mac header包含來源位址和目標位址、幀類型和序號等訊息,Wi-Fi 網路使用它來管理對媒體的存取。

Frame control

Frame control 是 802.11 frame的關鍵部分,它提供有關幀(Frame)以及網路如何處理幀的重要資訊。它本質上是一個位於 Mac header開頭的2 byte欄位,並分成 11 個子欄位(如上圖)。

這些子欄位包括幀的類型和子類型、傳輸的持續時間以及各種控制和管理設定等資訊。我們實際上可以將其視為header的header。它可以幫助網路上的其他設備了解它們正在處理什麼類型的幀以及如何處理它。透過正確解釋frame control field,它有助於理解frame的含義和目的。

例如,它可以告訴我們該幀是資料幀、管理幀還是控制幀,進而深入了解與幀傳輸、身份驗證和其他網路相關問題有關的問題。

Protocol Version(協議版本)

現在,每個 802.11 wireless frame都以稱為協議版本的欄位開始,它只有2 bits,但它始終位於 Mac header的最開始處,該欄位告訴我們正在使用哪個版本的802.11標準由frame使用。

我們可能會認為 802.11 標準有很多不同版本,並且都有自己的協議版本號,但事實並非如此。目前,僅有一個版本的 802.11標準正在使用。因此,無論查看哪個幀,協議版本始終會設定為零

類型和子類型字段是 802.11 標頭的幀控製字段內的兩個子字段,在幫助無線設備了解每個幀的用途和要求方面發揮著重要作用。

Type與Subtype(類型和子類型)

類型和子類型是 802.11 header的frame control field內的兩個sub fields,在幫助無線設備了解每個幀的用途和要求方面發揮著重要作用。

現在,類型欄位基本上將幀分為三大類之一:

  1. 資料幀
  2. 管理幀
  3. 控制幀

我們可以把它想像成一種讓設備快速識別它們正在查看的幀類型的方法。另一方面,子類型欄位提供了有關該類別中框架用途的更具體的資訊。

例如,值為零的子類型欄位呈現與關聯和身份驗證(association and authentication )相關的管理幀,而值為8(十六進制)的子類型欄位表示包含區塊確認(block acknowledgement)的資料幀,

To DS與From DS

這是frame control 內的兩個子欄位Mac header指示frame是傳送到無線AP還是從無線AP傳送。

  • 如果Frame是從用戶端傳送到 AP,則 From DS 欄位設定為 1;如果Frame是從 AP 傳送到用戶端,則 From DS 欄位設定為 0
  • 如果Frame從 AP 傳送到用戶端,則 To DS 欄位設為 1;如果Frame從用戶端傳送到 AP,則 To DS 欄位設為 0

More Frag

這是該幀是否是較大訊息的最後一個欄位。此欄位對於管理透過 Wi-Fi 網路傳輸較大訊息非常重要。

當裝置想要傳輸太大而無法在單一frame中容納的訊息時,它必須將訊息分解為更小的片段並分別傳輸。每個片段都包含更多片段欄位,該欄位告訴接收設備是否還有其他幀需要追蹤。如果 Moore Frag 欄位設為 1,則表示還有更多片段需要處理,接收裝置必須繼續等待其他幀,直到接收到 Moore frag 設定為 0 的最終欄位。如果 Moore Frag 欄位設為零,則表示當前frame是訊息的最後一個片段,並且整個訊息已傳輸。

Retry(重試)

重試子類型是一種 Wi-Fi 幀,用於重新傳輸先前嘗試未成功傳輸的資料包。因此,當 Wi-Fi 裝置嘗試傳輸封包時,它會等待接收裝置的確認幀(acknowledgment frame)以確認封包已成功接收。如果傳輸設備在一定時間內沒有收到該行為,它就會假設資料包未成功傳輸並將嘗試重新傳輸該資料包。

重試子類型用於由於前一次傳輸嘗試失敗而需要重新傳輸資料包的情況。因此,當設備重新傳輸資料包時,它會在Wi-Fi frame的幀控制欄位中設置retry bit,以指示該幀是重傳,這有助於接收設備識別重傳的幀並正確處理它。

Power Management

802.11 frame中的電源管理欄位有位元設為零時,表示裝置處於活動模式,即正在主動傳輸或接收資料。在這種模式下,設備會消耗更多電量來保持無線電開啟並維持網路連線。

當位元設定為 1 時,表示 Wi-Fi 裝置處於省電模式,在此模式下,裝置會在未主動傳輸或接收資料時關閉無線電,從而節省電池壽命。這有助於減少不必要的功耗並延長設備在Wi-Fi網路中的電池壽命。

電源管理欄位用於協調Wi-Fi設備和AP之間的省電模式。當裝置進入省電模式時,它會向 AP 發送省電輪詢(power save poll)或輪詢幀( poll frame),以表明它將要進入睡眠狀態。然後,AP 將依序緩衝(buffer)要傳送到休眠裝置的所有資料包,直到該裝置喚醒。當裝置喚醒時,它會向 AP 發送輪詢回應幀(poll response frame),表示它已準備好接收任何緩衝的資料包。

More Data

它用於指示有更多資料包等待傳輸到 Wi-Fi 裝置。當 Wi-Fi 裝置接收到該Frame時,它知道還有其他資料包在等待它,因此它應該繼續監聽傳入的傳輸。當有更多資料需要傳輸時,AP 通常會向 Wi-Fi 裝置發送更多資料幀。這有助於防止設備在接收所有資料之前進入省電模式。

但需要注意的是,該Frame只表示有更多資料在等待,並不包含任何實際的資料包,並且More data子類型在802.11 frame的frame control field中具有特定的值,當設定該值時,它表明該幀是一個 more data frame,子類型與幀中的其他欄位一起使用,提供有關傳輸的信息,例如接收器地址、發送器地址和序號。

Portection

它在資料幀加密中起著至關重要的作用。而當Protected frame field設定為1時,表示資料幀的MSDU payload是加密的。這意味著未經授權的用戶無法存取透過幀傳輸的數據,從而更加安全。

值得注意的是,Protected frame field不會透露所使用的加密類型。相反,它僅用於指示幀體(frame body)的 MSDU payload已加密。可以使用各種加密類型,例如 WEP、TKIP 或 CCMP,這取決於無線網路的安全需求和功能。

Order

Order或稱為 HTC(High Throughput Control) 子類型,用於提供高吞吐量控制機制。HTC 幀和在其 QoS control field中設定了order bit的幀。此子類型用於確保幀以正確的順序正確傳輸,這對於需要高吞吐量的應用程式非常重要。

因此,如果有視訊串流或線上遊戲,那麼其中一個設備就會收到 HTC order frame。它知道需要以不同於其他幀的方式處理它,以便正確處理 HTC 幀和在其 QoS control field中設置了order bit的幀。

而這個子類型是透過幀的frame control field中的特定值來標識的,表示該幀是HTC order frame。HTCorder frame子類型與Frame中的其他欄位一起使用,提供有關傳輸的信息,例如接收器位址、發射器位址和有效載荷資料。

它有助於確保幀正確傳輸,並且設定了順序位的幀按正確的順序傳送。這對於確實需要高吞吐量和低延遲的應用程式非常重要,例如線上遊戲或即時視訊串流應用程式。 802.11 frame有四個位址欄位位於Mac header中,根據這些欄位的使用方式,四個 Mac 位址欄位中的每一個可以有不同的定義,分別是(如上圖所示):

  • Address 1- RA(Receiver address)
    用於接收來自發射站的incoming transmission的802.11 無線電的 Mac 位址稱為 RA。
  • Address 2 — TA(Transmitter address)
    將frame傳輸到半雙工的802.11媒體上的 無線電的 Mac 位址稱為 TA。
  • Address 3 — DA(Destination address)
    作為第L2 frame的最終目的地的 Mac 位址稱為目標位址或 DA,可以是無線基地站台或有線網路上的目的地(例如伺服器)。
  • Address 4 — SA(Source address)
    原始發送站的 Mac 位址稱為來源位址或 SA,它可以來自無線基地台站或有線網路。

現在,作為基本服務集的L2 identifier的這個Mac 位址是BSSID(basic service set identifier 基本服務集識別碼),它是APR 無線電的Mac 位址,或者如果存在多個基本服務集,則是從APR radio的mac 位址衍生而來的。

因此,需要再對這兩個 DS 以及 DS 欄位 有更多的說明。

兩個 DS 欄位和 from 欄位(每一bit)會組合使用來改變 802.11 header中四個 Mac 位址的含義。而這兩個bit則標示了802.11資料幀在無線區域網路環境與分佈系統(通常是乙太網路有線網路)之間的流動情況。

兩個 DS 以及來自 DS 的四個 Mac 位址的欄位組合將決定每個欄位的定義。然而,有一個不變的事實,那就是address 1欄位總是接收者位址,但也可能有第二個定義。address 2始終是發射器位址,但也可能有第二個定義,address 3通常用於附加的 Mac 位址信息,而address 4僅用於無線分佈系統的情況。

因此,上圖中是 Wireshark抓到的封包,透過這個例子,我們可以看到幀源是一台筆電,並且在發送到 AP 時,來源位址(SA)和發射器位址(TA)都是相同的。

Sequence control field和802.11 frame都是 16 bit field,分為兩個subfields,在訊息成幀(frame)時使用。正如我們說明的,大約 11 個幀可以被分割成較小的部分,稱為片段(fragments)。此欄位用於管理這些片段的傳輸。

因此,當一個幀被片段化時,每個片段都需要自己的幀的header和trailers,並且每個片段都以SIFT(short interframe space)和確認(ACK)單獨傳輸。802.11 2020 標準允許對幀進行分段,但是較小的片段實際上會降低資料吞吐量,因為每個分片的header SIFT和act都會有的額外 Mac header overhead。

為了緩解這種情況,可以為一些 API 和客戶端站點配置分片閾值(fragmentation threshold)。如果閾值設定為300 bytes,任何大於300 bytes的Message都會被分片化。在過去,傳統的 802.11 a、b、g網路有時會出現分片化,但現在被認為已經過時了。

所以要討論的最後三個欄位是QoS control、 HT Control和 FCS。

QoS Control

QoS control 和 Mac header決定了資料幀的優先等級,透過為幀分配不同級別的重要性,可以在無線網路中實現 QoS。Wi-Fi 多​​媒體或 WDM 規範定義了四種存取類別,可用於對不同類型的流量(例如語音或視訊)進行優先排序。

呈現出control fields對於確保需要一定頻寬和延遲的即時應用程式的順利傳輸非常重要。control field用於在11n ac and ax網路中提供有關發射站和接收站能力的資訊。此欄位用於指示frame是否使用高吞吐量模式或 T(一種允許更高速度的增強資料速率模式),並指示發射器和接收器支援的空間流(spatial streams)數量,這會影響整體資料可以達到的速率。

HT Control

HT 控制欄位有助於確保設備能夠使用最佳設定相互通信,從而實現高資料速率。因此,只需簡單說明一下frame body。

幀體(frame body)是幀的實際有效負載,它包含正在傳輸的資料。該欄位的大小可以根據傳輸的資料類型而變化,其長度最多可達 2304 bytes。且幀體的內容由所使用的協定(例如TCP,IP或UDP)決定,且幀體是加密的。

如果傳輸的資料是敏感的,那麼確保資料格式正確以確保成功傳輸就非常重要。所以幀體是幀的核心,承載著需要透過無線媒體傳輸的資訊。

FCS

Frame header中的 FCS 欄位包含 CRC(cyclic redundancy check) 值,用於錯誤檢測。因此,當一個站點接收到一個frame時,它會執行自己的 CRC 計算,並將結果與 FCS 欄位值進行比較。如果它們不匹配,則該幀被視為損壞並可丟棄。

因此,FCS 欄位是幀組成中非常重要的一部分,因為它有助於確保傳輸資料的完整性。

--

--

運用"雲端服務"加速企業的數位轉型願景
運用"雲端服務"加速企業的數位轉型願景

Written by 運用"雲端服務"加速企業的數位轉型願景

我們協助您駕馭名為"雲端運算"的怪獸,馴服它為您所用。諮詢請來信jason.kao@suros.com.tw. https://facebook.com/jason.kao.for.cloud

No responses yet