本页使用了标题或全文手工转换

载波侦听多路访问

维基百科,自由的百科全书
跳转至: 导航搜索

载波侦听多路访问(英语Carrier Sense Multiple Access,CSMA)工作在OSI参考模型数据链路层介质访问控制子层。是一种抢占型的半双工介质访问控制协议,采用分布式控制方法。

载波侦听(英语Carrier Sense,CS)
指任何连接到介质的设备在欲发送帧前,必须对介质进行侦听,当确认其空闲时,才可以发送。
多路访问(英语Multiple Access,MA)
指多个设备可以同时访问介质,一个设备发送的帧也可以被多个设备接收。

依使用的侦听/发送策略,可以將载波侦听多路访问再加以分類為非持续CSMA、1-持续CSMA、p-持续CSMA,但上述作法無法彻底解决碰撞问题。

若考慮具体解决碰撞问题的策略,則會將CSMA分为

载波侦听多路访问/碰撞检测(CSMA/CD)
在发送时检测碰撞,并采取适当措施进行补救。
载波侦听多路访问/碰撞避免(CSMA/CA)
在发送前进行试探握手,当确实不会引起碰撞时再发送。
载波侦听多路访问/位仲裁(CSMA/BA)
在发送时進行位仲裁,仲裁勝出的設備才可以繼續發送資料。
载波侦听多路访问/载波优先(CSMA/CP)
这些策略分别应用于不同的场景以满足不同需求,细节请参考后文章节。

CSMA依侦听/发送策略的分類[编辑]

根据具体的侦听/发送策略,可将CSMA分为

非持续CSMA(英语non-persistent CSMA
当要发送帧的设备侦听到线路忙或发生碰撞时,会随机等待一段时间再进行侦听;若发现不忙则立即发送;此策略可以减少碰撞,但会导致信道利用率降低,以及较长的延迟。
1-持续CSMA(英语1-persistent CSMA
当要发送帧的设备侦听到线路忙或发生碰撞时,会持续侦听;若发现不忙则立即发送。当传播延迟较长或多个设备同时发送帧的可能性较大时,此策略会导致较多的碰撞,导致性能降低。
p-持续CSMA(英语p-persistent CSMA
当要发送帧的设备侦听到线路忙或发生碰撞时,会持续侦听;若发现不忙,则根据一个事先指定的概率p来决定是发送帧还是继续侦听(以p的概率发送,1-p的概率继续侦听);此种策略可以达到一定的平衡,但对于参数p的配置会涉及比较复杂的考量。
正确使用以上策略可以在一定程度上减少碰撞的发生,但无法彻底解决碰撞问题。

CSMA/CD[编辑]

载波侦听多路访问/碰撞检测(英语Carrier Sense Multiple Access with Collision Detection,CSMA/CD)

此方案要求设备在发送帧的同时要对信道进行侦听,以确定是否发生碰撞,若在发送数据过程中检测到碰撞,则进行如下碰撞处理操作:

  1. 发送特殊阻塞信息并立即停止发送数据:特殊阻塞信息是连续几个字节的全1信号,此举意在强化碰撞,以使得其它设备能尽快检测到碰撞发生。
  2. 在固定時間(一開始是1 contention period times)內等待隨機的时间,再次发送。
  3. 若依舊碰撞,則採用截断二进制指数避退算法进行发送。即十次之內停止前一次“固定時間”的兩倍時間內隨機再發送,十次後則停止前一次「固定時間」內隨機再發送。嘗試16次之後仍然失败則放棄傳送。

此方案应用于

CSMA/CA[编辑]

載波偵聽多路訪問/碰撞避免(英语Carrier Sense Multiple Access with Collision Avoidance,CSMA/CA)

此種方案採用主動避免碰撞而非被動偵測的方式來解決碰撞問題。可以滿足那些不易準確偵測是否有碰撞發生的需求,如無線網域

CSMA/CA協定主要使用兩種方法來避免碰撞:

  1. 設備欲發送訊框(Frame),且訊框聽到通道空閒時,維持一段時間後,再等待一段隨機的時間依然空閒時,才送出資料。由於各個設備的等待時間是分別隨機產生的,因此很大可能有所區別,由此可以減少碰撞的可能性。
  2. RTS-CTS三向握手(英语handshake):設備欲發送訊框前,先發送一個很小的RTS(Request to Send)訊框給目標端,等待目標端回應CTS(Clear to Send)幀後,才開始傳送。此方式可以確保接下來傳送資料時,不會發生碰撞。同時由於RTS幀與CTS幀都很小,讓傳送的無效開銷變小。

此方案應用於

CSMA/BA[编辑]

载波侦听多路访问/位仲裁(英语Carrier Sense Multiple Access with Bitwise Arbitration,CSMA/BA)

CSMA/CP[编辑]

载波侦听多路访问/载波优先(英语Carrier Sense Multiple Access with Carrier Preemption,CSMA/CP)

相关条目[编辑]

参考文献[编辑]

Ethernet 通訊協定