無線網路802.11 Frames-Part 3

802.11 Management Frames

來源: www.wireshark.org/docs/dref/w/wlan.html(11/25/15)

理解管理幀(Management Frames)的最重要的方法之一是觀察其實際運作,我們將用 Wireshark 中查看來呈現這些管理幀。

正如我們所知道的的客戶端(例如我們的筆電)連接到無線網路時處於不同階段。上圖是 Wireshark 的 802.11 過濾器(filter)參考的管理幀部分的螢幕截圖。如果您想過濾無線資料包擷取(在本例中特別是管理幀),這些就是我們使用的實際過濾器。

Beacon(信標)

這些信標(Beacon)包含一個帶有重要網路資訊的幀(Frame),例如網路名稱或稱SSID,支援的資料速率和安全性設置,每個信標幀(beacon frame)都包含一個時間戳(timestamp),以幫助設備將其clock與AP 同步,這對於成功的無線通訊至關重要。

另外,信標幀在設備加入基本服務集之前,向設備提供有關基本服務集的必要資訊。並且預設每102.4毫秒傳輸一次信標。但我們可以在 AP 上配置信標時間間隔。現在一些無線區域網路設計指南建議增加信標間隔以減少開銷(overhead)。但這可能會導致客戶端連線問題,而 AP 使用信標幀來向附近的裝置宣告其提供的任何基本服務集的功能。

因此,在客戶端開始在無線網路上通訊之前,它需要一種方法來探索 AP。這是透過主動式或被動式掃描來完成的。

被動式掃描(Passive Scanning)

這是一種用戶端監聽(listens)附近AP傳輸的信標的技術。正如之前所提到的,信標包含有關 AP 基本服務功能的信息,例如支援的資料速率和安全設定的SSID。

用戶端的software utility具有與其在信標中監聽的相同的預先設定SSID。當用戶端聽到與預先設定的SSID相符的信標時,它可以嘗試使用後續管理幀連接到無線區域網路。如果有多個具有相同 SSID 的AP,客戶端將確定哪個AP具有最佳訊號並嘗試連接

主動式掃描(Active scanning)

這是是客戶端向附近的AP發送探測請求(Probe request)的一種方法。探測請求包含有關客戶端功能的信息,包括支援的資料速率、吞吐能力和 SSID 參數。有兩種類型的探測請求。

  • Directed Probe request — 包含客戶端正在尋找的特定SSID
  • Null Probe request — 找尋任何可用的SSID

如果發送了Directed Probe request,則所有支援該特定SSID 的AP都應使用 探測回覆(probe response)進行回覆,該回應包含與客戶端的信標幀中相同的信息,客戶端可以使用該信息在加入BSS之前學習到BSS 參數。

主動掃描比被動掃描更有效,因為它允許客戶端快速發現附近的AP,尤其是在通道(channels)數量較多的情況下。但是主動掃描比被動掃描產生的流量更多,如果太多設備同時進行主動掃描,則可能會導致網路擁塞。

探測回應幀(probe response frame)

探測回覆幀(probe response frame) 包含有關存取點及其支援的功能的信息,包括 Ssid 支援的資料速率、頻道資訊安全設定和其他參數。

當AP收到探測請求時,它會發出探測回覆。正如我們所討論的,其中包含客戶端設備可以用來決定是否連接到該 AP 的資訊。客戶端設備將把探測回覆中收到的資訊與自己的功能和偏好進行比較,然後決定連接哪個AP。

因此,客戶端的演算法將接管並根據一系列因素(包括最佳訊號強度)選擇最佳 AP 進行連接,選擇後,客戶端將發送最佳AP 和身份驗證幀(authentication frame)來啟動該過程連接到無線網路。

身份驗證幀(authentication frame)

該幀包含幾條訊息,用於確認設備身份並啟動與 AP 的身份驗證過程。這裡是對 802.11 身份驗證請求幀(authentication request frame)中包含的資訊的細分,其中大部分內容我們在上面內容都提到過。

所以它包括幀控制(control frame)和duration ID、接收器地址、發射器、地址 bssid、序列控制以及身份驗證演算法編號。因此,此欄位指定裝置想要用於連線的身份驗證演算法。

另一個新的是認證交易序號(authentication transaction sequence number)。此欄位包含一個用於識別身分驗證交易的唯一編號,即狀態代碼(status code)。此欄位包含有關身份驗證請求的狀態的信息,例如是否成功。

因此,如果我們查看上圖,subtype 11(hex=000b)用於從AP 到客戶端的反向傳輸,並且身份驗證回應和身份驗證回應幀包括諸如幀控制(frame control)之類的內容,其中包含有關幀的控制訊息,例如幀的類型,以及它是請求還是回應。

Duration ID,指定傳輸的持續時間或包含幀的識別碼、接收器位址,當然包含發送身份驗證請求的無線裝置的 Mac 位址。

發射器位址(transmitter address)包含發送驗證回應的 AP 的 Mac 位址。 BSSID是 AP 的 Mac 位址。

序列控制欄位(sequence control field)包含有關幀的序號的信息,以及作為幀序列的一部分,認證演算法號是否確認了 AP 用於驗證無線設備身份的認證演算法。

認證交易號碼(authentication transaction number)與認證請求中包含的號碼相匹配,有助於追蹤認證流程。狀態碼用於確認認證是否成功(如果成功)。

關聯請求(Association request)

關聯請求幀包括幀控制之類的內容,它提供有關幀的控制訊息,例如幀的類型以及它是請求還是回應。它還包括持續時間 ID,它指定了傳輸的持續時間。

接收器位址包含無線裝置嘗試連線的 AP 的 Mac 位址。在這種情況下,發射器位址包含發送關聯請求的無線裝置的 Mac 位址。

BSSID是無線設備嘗試關聯的 AP 的 Mac 位址,序列控制資訊包含有關frame的序號以及它是否是幀序列的一部分的資訊。

功能欄位(capability field)包含有關無線設備的重要信息,例如其支援的資料速率以及是否能夠加密。

關聯回應(Association Response)

AP 隨後會以關聯回應(subtype=1)進行回應。關聯回應幀包括幀控制,持續時間ID,接收器地址等信息,當然其中包含發送關聯請求的無線設備的Mac地址。

發射器位址包含發送回應的 AP 的 Mac 位址、BSS ID、序列控制欄位和能力訊息,與之前一樣。狀態碼確認關聯是否成功。如果成功,AP 將為無線設備分配一個 IP 位址,然後該設備就可以開始使用網路。如果關聯不成功,設備可能需要使用其他網路或連線方法重試。

關聯回應訊幀( Association response frame)還包含關聯ID,這是 AP 分配給連接到網路的無線裝置的唯一識別碼。AP 使用 ID 來識別特定設備並與之通信,因此當 AP 發送關聯回應時,它將包含 ID 和幀,以及其他重要訊息,如狀態代碼和分配的 IP 位址。

無線設備在與網路通訊時使用該 ID 向 AP 識別自己。因此,讓我們將這一切與客戶關聯過程的摘要和視覺效果連結起來。

  1. 我們啟動筆電,根據無線設定檔的配置,我們可能已經配置了一個特定的 SSID。
  2. 在這種情況下,客戶端將探測特定的 SSID,並透過發送探測請求來開始。
  3. AP 將以探測回應進行(probe response)響應,客戶端反過來會發出身份驗證請求。
  4. AP 將以身份驗證回應(authentication response)回復,如果回應成功,則此時用戶端被視為已通過身份驗證。
  5. 客戶端依序向 AP 發出關聯請求(association request),最後 AP 給予關聯回應。如果成功,則認為用戶端已關聯。

Client Roaming(客戶端漫遊)

如果我們連接到 Wi-Fi 網路並且移出一個 AP 的範圍並進入具有相同 Ssid 和 802.11 的另一個 AP 的範圍(如上圖),則客戶端會發送重新關聯請求幀(Reassociation request frame)來請求與 AP 重新關聯。

當客戶端從同一網路內的一個 AP 移至另一個 AP 時,它需要重新關聯到新的 AP。重新關聯請求幀包括無線設備的標識、當前 AP 的identity和需要重新關聯的SSID,重新關聯回應幀(Reassociation response frame)由 AP 發送,回應重新關聯請求。

該幀確認該設備是否已授權重新關聯到網路,並包含唯一標識(uniquely identifies)為網路內無線設備的ID等資訊。 AP 的功能和重新關聯請求的狀態。如果重新關聯成功,無線設備就可以透過新的AP繼續與網路通訊。

新的 AP 負責協調資料幀的轉發,這些資料幀仍可以保留在前一個 AP 的緩衝區中,並且客戶端必須已經通過身份驗證才能成功重新關聯。

解除關聯幀(disassociation frame)

一旦裝置連接到 Wi-Fi 網路,任一方都可以隨時使用解除關聯幀來中斷連線。因此,如果我們正在使用筆電或智慧型手機,並且超出了當前 Wi-Fi 網路的範圍,則可以發送解除關聯幀以斷開與當前網路的連接,然後再加入另一個網路。AP 也可能因各種原因向裝置發送解除關聯幀。

例如,如果裝置試圖使用無效參數、AP 正在進行配置更改,或者駭客試圖存取網路而造成安全漏洞,則可以將解除關聯幀作為unicast 或broadcast message發送。

如果它以unicast形式發送,它將只針對特定設備,並且需要接收設備的確認。如果發送了broadcast frame,它將被發送到連接到網路的所有設備,並且不需要任何確認。

解除關聯幀非常簡潔,它只包含一個欄位,即原因代碼(reason code)。即使使用解除關聯幀斷開裝置連線後,它仍將通過身份驗證,並且可以在保持其身份驗證狀態的同時透過發送新的關聯請求幀來嘗試重新連線。

如果裝置在 Wi-Fi network cells之間移動,它仍可能使用解除關聯幀來維持此身份驗證狀態,並在其身份驗證逾時到期之前返回同一cell時加快重新連接的過程。

客戶端或 AP 可以發送身份驗證幀來結束所有通訊。此幀也用於 AP 需要重新啟動或我們停止在裝置上使用 Wi-Fi 等場景。值得注意的是,身份驗證幀也可能被駭客惡意發送,以強制我們的裝置斷網。身分驗證幀的另一個常見用途是當設備在完成認證過程之前嘗試發送諸如關聯請求或資料幀之類。

在這種情況下,AP 將向裝置發送解除關聯驗證幀,表示在進行任何進一步的通訊之前需要先進行身份驗證。正如我們所提到的,解除關聯認證幀還包含一個原因代碼,它提供了有關為什麼首先發送 解除關聯認證幀的更多資訊。

原因代碼可能表示AP無法支援裝置請求的資料速率,或裝置無法回應幀的多次重傳。原因代碼很有用,因為它有助於提供有關發送解除關聯身份驗證幀的原因的更多背景資訊,並可用於解決 Wi-Fi 網路上的問題。

解除關聯認證幀的格式與解除關聯幀的格式相同,並且兩個幀都是相同的。目的相似,但:

  • 身份驗證幀(authentication frames)專門用於終止所有通訊
  • 而解除關聯幀(disassociation frame)用於斷開設備與網路的連接,但同時保持其身份驗證狀態。

Action Frame(行動幀)

動作幀是一種用於觸發BSS(基本服務集)中的特定動作的管理幀,它們是在 802.11 中引入的,因為管理幀的子類型已經用盡了。但無需創造新的管理幀,行動幀就能完成作業。這些幀提供操作資訊和方向,可以由 AP 或客戶端站點發送。動作幀的主體包含三個部分,即類別(category)、行動(action)和元素(element)。

  • 類別部分描述了行動幀的類型,並讓我們知道它屬於哪個幀以及哪個協議引入了它。
  • 行動部分指示要執行的動作,通常是一個數字,要了解呼叫哪個動作,我們需要知道類別,目前有超過 30 種不同的類別值。
  • 元素部分添加了特定於操作的附加資訊。

行動幀可以有很多不同的用途。例如,它們可以用作在DFS(動態頻率選擇)通道上傳輸的 AP 的通道切換公告。如果在當前 DFS 頻率上偵測到雷達頻率,AP 將通知所有相關的客戶端移動到另一個通道。

TPC (Transmit Power control) request和回報幀(report frames)是另一個用例。 AP 可以告訴支援 TPC 的關聯客戶端調整其傳輸功率等級以符合 AP 等級。

行動幀的另一個範例是 802.11 K compliant radios可以使用的鄰居回報資訊(Neighbor report information assists),鄰居回報資訊透過為客戶端提供一種方法來請求關聯的 AP 測量和報告同一移動區域內可用的鄰居 AP,從而協助快速漫遊過程。透過告知客戶端設備附近可以漫遊到的AP和鄰居回報,可以加快客戶端掃描過程。其資訊通常透過 802.11 行動幀內的請求回報訊框(request report frame)交換來傳遞。

--

--

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

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

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

No responses yet