CSMA 協定視覺化教學

什麼是 CSMA?

CSMA (Carrier Sense Multiple Access,載波感測多重存取) 是一種網路通訊協定,用來決定多個裝置如何共用同一條傳輸媒介(如電纜或空氣)。

CSMA/CD

Collision Detection (碰撞偵測)

主要用於 有線網路 (Ethernet)。發送資料時同時監聽,如果發生碰撞,立即停止並發送干擾訊號,等待隨機時間後重試。

CSMA/CA

Collision Avoidance (碰撞避免)

主要用於 無線網路 (Wi-Fi)。因為無線環境難以偵測碰撞,重點在於「避免」。發送前先偵測,若忙碌則隨機等待,發送後需等待 ACK 確認。

1. CSMA/CD 模擬 (有線網路)

Ethernet IEEE 802.3
匯流排 (Bus)
A
B
C

控制面板

狀態日誌

> 系統就緒...
> 等待指令...
流程說明:
  1. 監聽 (Sense): 傳送前確認線路是否閒置。
  2. 傳送 (Transmit): 若閒置則發送訊號。
  3. 碰撞偵測 (Detection): 傳送時持續監聽,若電壓異常代表碰撞。
  4. 干擾訊號 (Jam Signal): 若發生碰撞,廣播 Jam Signal 通知所有節點。
  5. 隨機後退 (Backoff): 等待一段隨機時間後重試。

2. CSMA/CA 模擬 (無線網路)

Wi-Fi IEEE 802.11
無線空間 (Air)
AP
Router
STA 1
STA 2

控制面板

狀態日誌

> 系統就緒...
> 連線至 AP...
流程說明:
  1. 監聽 (Sense): 傳送前先確認頻道是否閒置。
  2. IFS 等待: 若閒置,需等待一小段 IFS (Inter-Frame Space) 時間。
  3. 隨機後退 (Random Backoff): 若頻道忙碌,或剛過 IFS,會啟動隨機倒數計時器,倒數結束才發送。
  4. 傳送資料 (Data): 發送封包。
  5. 確認 (ACK): 接收端收到資料後,必須回傳 ACK。若發送端沒收到 ACK,視為失敗重傳。
  6. *註:此模擬簡化了 RTS/CTS 機制,聚焦於基本的 CA 流程。

比較總結

特性 CSMA/CD CSMA/CA
全名 Carrier Sense Multiple Access with Collision Detection Carrier Sense Multiple Access with Collision Avoidance
中文名稱 載波感測多重存取附帶碰撞偵測 載波感測多重存取附帶碰撞避免
主要應用 有線網路 (Ethernet, IEEE 802.3) 無線網路 (Wi-Fi, IEEE 802.11)
核心策略 「邊說邊聽」。發送時偵測是否衝突,若衝突則停止並重送。 「先聽再說」。發送前先盡量避免衝突(透過 Backoff、RTS/CTS)。
碰撞處理 傳送後可偵測碰撞。碰撞是正常機制的一部分。 無法邊傳邊聽(無線訊號衰減問題)。透過 ACK 確認是否成功。
效率 較高。因為一旦偵測到碰撞就立即停止,不浪費頻寬。 較低。需要等待時間 (IFS)、倒數計時及 ACK 確認,額外開銷大。