CSMA
Carrier Sense Multiple Access
載波偵測、多重存取
工作在 OSI 參考模型的資料鏈結層的媒體存取控制層。
non-persistent CSMA
傳送端偵測到線路忙或發生碰撞時,會隨機等待一段時間再進行偵測;若發現不忙則立即傳送。此策略可以減少碰撞,但會導致線路利用率降低及較長的延遲。
1-persistent CSMA
傳送端偵測到線路忙或發生碰撞時,會持續偵測;若發現不忙則立即傳送。當傳播延遲較長或多個裝置同時傳送影格的可能性較大時,此策略會導致較多的碰撞,導致效能降低。
p-persistent CSMA
當要傳送影格的裝置偵聽到線路忙或發生碰撞時,會持續偵聽;若發現不忙,則根據一個事先指定的機率 p 來決定是傳送影格還是繼續偵聽(以 p 的機率傳送,1-p 的機率繼續偵聽);此種策略可以達到一定的平衡,但對於參數 p 的配置會涉及比較複雜的考量。
CSMA/CD 碰撞偵測
此方案要求裝置在傳送影格的同時要對信道進行偵聽,以確定是否發生碰撞,若在傳送資料過程中檢測到碰撞,則進行如下碰撞處理操作:
傳送特殊阻塞資訊並立即停止傳送資料:特殊阻塞資訊是連續幾個位元組的全1訊號,此舉意在強化碰撞,以使得其它裝置能儘快檢測到碰撞發生。
在固定時間(一開始是1 contention period times)內等待隨機的時間,再次傳送。
若依舊碰撞,則採用二進位指數後退演算法進行傳送。即十次之內停止前一次「固定時間」的兩倍時間內隨機再發送,十次後則停止前一次「固定時間」內隨機再發送。嘗試 16 次之後仍然失敗則放棄傳送。
此方案應用於乙太網路(Ethernet)。
CSMA/CA 碰撞避免
此種方案採用主動避免碰撞而非被動偵測的方式來解決碰撞問題。可以滿足那些不易準確偵測是否有碰撞發生的需求, 若在傳送資料過程中檢測到碰撞,則進行如下碰撞處理操作:
裝置欲發送訊框(Frame),且訊框聽到通道空閒時,維持一段時間後,再等待一段隨機的時間依然空閒時,才送出資料。由於各個裝置的等待時間是分別隨機產生的,因此很大可能有所區別,由此可以減少碰撞的可能性。
RTS-CTS三向握手(英語:handshake):裝置欲發送訊框前,先發送一個很小的RTS(Request to Send)訊框給最近的接入點(Access Point),等待目標端回應CTS(Clear to Send)影格後,才開始傳送。此方式可以確保接下來傳送資料時,不會發生碰撞。同時由於RTS影格與CTS影格都很小,讓傳送的無效開銷變小。
此方案應用於無線網路。
Last updated