萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 電腦入門

CSMA/CA 協定深度解析:無線網路避免碰撞機制、ACK、RTS/CTS、DCF/HCF 與 802.11ax 改進

有線網路用 CSMA/CD (偵聽多重存取/碰撞偵測),無線網路為何改用 CSMA/CA (碰撞避免)?本文從物理層限制切入,詳細解析 802.11 DCF (分散式協調功能) 的虛擬/實體載波偵聽、IFS 間隔、隨機退避、ACK 機制、RTS/CTS 隱藏節點解決、TXOP 爆發傳輸,並介紹 802.11e HCF (HCF 受控存取)、802.11ax (Wi-Fi 6) OFDMA/MU-MIMO/TWT/空間重用 如何改寫媒介存取邏輯。

一、為何無線網路不能用 CSMA/CD?

特性有線乙太網路 (CSMA/CD)無線網路 (CSMA/CA)
介質銅纖/光纖,全雙工可同時收發共享無線電頻譜,半雙工 (同頻同一時間只能收或發)
碰撞偵測發送時同步監聽電壓變化,即時發現碰撞無法在發送時偵測碰撞:自發訊號淹沒外來訊號 (近端/遠端問題)、隱藏節點、訊號強度動態變化
碰撞處理發現碰撞 → 發送 Jam 訊號 → 截斷傳輸 → 指數退避重傳事前避免:虛擬/實體載波偵聽 + IFS + 隨機退避 + ACK 確認 + 選擇性 RTS/CTS
確認機制無 (依賴上層 TCP)MAC 層逐幀 ACK (單播幀必須收到 ACK 才視為成功)

二、CSMA/CA 核心流程 (DCF, 802.11 原始標準)

  1. 實體載波偵聽 : 物理層 (PLCP/PMD) 偵測介質能量 (Energy Detect, ED) > 能量偵測門檻 (ED threshold, 典型 -62 dBm) 或解調到合法 802.11 前導碼 → 媒介忙碌。
  2. 虛擬載波偵聽 : MAC 層維護 NAV (Network Allocation Vector) 計時器。收到含 Duration/ID 欄位的幀 (RTS/CTS/Data/ACK/BlockAck) → 設定 NAV = Duration 值。NAV > 0 時視為虛擬忙碌,不嘗試傳輸。
  3. 雙重偵聽判斷: 實體偵聽 OR 虛擬偵聽 (NAV>0) 任一為忙 → 媒介忙碌;兩者皆閒閒 才進入退避程序。
  4. IFS (Interframe Space) 間隔優先權:
    • SIFS (Short IFS, 10 μs @ 2.4G / 16 μs @ 5G) — 最高優先權: ACK、CTS、BlockAck、連續傳輸片段之間。
    • PIFS (PCF IFS = SIFS + 1 slot) — 次高: HCF/PCF 點協調功能輪詢。
    • DIFS (DCF IFS = SIFS + 2 slots) — 標準爭取: 一般資料幀、管理幀、RTS 起始。
    • AIFS (Arbitration IFS = SIFS + AIFSN × slot) — 802.11e EDCA 多級優先權: AC_VO (AIFSN=2) > AC_VI (3) > AC_BE (7) > AC_BK (7)。
  5. 隨機退避 :
    • 爭取期 (Contention Window, CW) 初始 CWmin (典型 15 slots = 31 μs @ 2.4G)。
    • 隨機選擇 backoff ∈ [0, CW],每 slot time (9/20/50/9 μs 視 PHY) 倒數 1。
    • 倒數期間媒介變忙 → 暫停倒數 (凍結計時器);媒介恢復閒置 + DIFS/AIFS 後續倒數。
    • 倒數歸零 → 發送資料幀。
    • 重傳時 CW = min(2×(CW+1)-1, CWmax) 指數增長 (Binary Exponential Backoff),最多重試 Short Retry Limit (RTS/CTS) / Long Retry Limit (Data) 次。
  6. 傳輸與 ACK: 發送 Data → 接收端等待 SIFS → 回傳 ACK → 發送端收到 ACK 視為成功;未收到 ACK → 重傳流程。

三、隱藏節點問題與 RTS/CTS 機制

隱藏節點: A 與 C 皆能連到 AP (B),但 A 無法偵測到 C 的訊號 (距離/遮蔽)。A 傳資料給 B 時,C 以為媒介閒置也傳資料 → B 接收端碰撞。

RTS/CTS 交握解決:

  1. A 發送 RTS (Request To Send),含 Duration = SIFS+CTS+SIFS+Data+SIFS+ACK 時間。
  2. B 收到 RTS,回覆 CTS (Clear To Send),同樣含 Duration。
  3. A、B 周圍所有節點 (含隱藏節點 C) 收到 RTS/CTS 任一 → 設定 NAV 保持靜默。
  4. A 發送 Data,B 回 ACK。

門檻控制: 封包長度 > RTS Threshold (預設 2347 bytes,實務常設 512–1024) 才啟用 RTS/CTS,避免小封包額外開銷。

四、802.11e / WMM / EDCA / HCF:QoS 增強存取

存取類別 (AC)優先權AIFSNCWminCWmaxTXOP Limit典型流量
AC_VO (Voice)最高2371.5 ms / 3.0 msVoIP, 即時語音
AC_VI (Video)高37153.0 ms / 6.0 ms串流影片、視訊會議
AC_BE (Best Effort)標準71510230一般網頁、郵件、下載
AC_BK (Background)最低71510230備份、大檔下載、系統更新
  • HCF (Hybrid Coordination Function) = EDCA (競爭基礎) + HCCA (受控存取,AP 排程無競爭 TXOP)。
  • WMM (Wi-Fi Multimedia) = EDCA 子集,強制認證標誌。
  • TXOP (Transmission Opportunity): 獲得媒介後可連續發送多幀 (A-MPDU 聚合) 至 TXOP Limit 時長,減少爭取開銷。

五、802.11n/ac/ax (Wi-Fi 4/5/6) 關鍵演進

標準關鍵 MAC/PHY 改進對 CSMA/CA 影響
802.11n (Wi-Fi 4)MIMO、40 MHz、A-MPDU (MAC 聚合)、A-MSDU、BlockAck單次 TXOP 傳更多資料、BlockAck 批次確認減少 ACK 開銷
802.11ac (Wi-Fi 5)80/160 MHz、256-QAM、MU-MIMO (下行)、最多 8 空間流MU-MIMO 讓 AP 同時向多站點傳輸,媒介利用率↑
802.11ax (Wi-Fi 6/6E)OFDMA (正交頻分多工存取)、上/下行 MU-MIMO、BSS Coloring (空間重用)、TWT (Target Wake Time)、1024-QAM、更長符號 (12.8 μs)、多用戶 RTS/CTS (MU-RTS)從「爭取整個頻道」→「爭取/排程 RU (Resource Unit)」;BSS Coloring 讓重疊 BSS 可同時傳輸 (OBSS PD);TWT 排程喚醒減少爭取
802.11be (Wi-Fi 7)320 MHz、4096-QAM、MLO (多連結操作)、MU-OFDMA 增強、確定性低延遲多連結並行存取、穿透式 OFDMA、更精細排程

六、效能影響因素與優化建議

因素影響優化方向
站點數過多退避碰撞機率 ↑、吞吐量 ↓、延遲抖動 ↑啟用 802.11ax OFDMA/MU-MIMO、分流至多 AP/頻段、啟用 BSS Coloring
隱藏節點嚴重資料幀碰撞率高、重傳爆增降低 RTS Threshold (512–1024)、調整 AP 功率/位置、增設中繼/有線回程 AP
共頻干擾 (Co-channel Interference)NAV 頻繁被鄰近 BSS 設定、虛擬忙碌時間長BSS Coloring (Wi-Fi 6)、調整發射功率、頻道規劃 1/6/11 (2.4G)、DFS 頻道 (5G)
舊裝置 (802.11b/g) 拖慢保護機制 (CTS-to-Self、RTS/CTS) 強制啟用、佔用時隙停用 802.11b/g、最低速率設 12/24 Mbps、隔離舊裝置至獨立 SSID/VLAN
Bufferbloat佇列排隊延遲大、遊戲/語音卡頓啟用 SQM/CAKE/fq_codel (OpenWrt/RouterOS/高階路由器)、QoS 保留頻寬

七、抓包分析關鍵欄位 (Wireshark 過濾器)

wlan.fc.type == 0 && wlan.fc.subtype == 0x0b   # RTS
wlan.fc.type == 0 && wlan.fc.subtype == 0x0c   # CTS
wlan.fc.type == 0 && wlan.fc.subtype == 0x0d   # ACK
wlan.fc.type == 2                                # Data frames
wlan.duration > 0                                # 有 NAV 設定
wlan.fc.type == 0 && wlan.fc.subtype == 0x08     # Beacon (含 TIM/DTIM)
wlan_mgt.fixed.capabilities.ess == 1             # ESS capability
radiotap.datarate                                # PHY 速率
radiotap.channel.freq / .flags                   # 頻道/頻段

八、總結

  • CSMA/CA 以 虛擬/實體雙重載波偵聽 + IFS 優先權 + 隨機退避 + MAC 層 ACK + 選擇性 RTS/CTS 解決無線半雙工、隱藏節點、無法即時偵測碰撞的根本問題。
  • 802.11e EDCA 引入 多級優先權 (AIFS/CW/TXOP),支援語音/視訊 QoS。
  • 802.11ax (Wi-Fi 6) 透過 OFDMA、BSS Coloring、TWT、MU-RTS 將「爭取整個頻道」演進為「排程/爭取資源單元 (RU)」,根本性提升高密度場景效能。
  • 實務部署:啟用 WMM/EDCA、調整 RTS Threshold、規劃頻道/功率、淘汰舊標準裝置、升級 Wi-Fi 6/6E/7 AP 與客戶端,才能發揮 CSMA/CA 協定演進的最大效益。
copyright © 萬盛學電腦網 all rights reserved