载波侦听多路访问(Carrier Sense Multiple Access,CSMA)

载波侦听多路访问(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次之后仍然失败则放弃传送。

此方案应用于

  • 以太网(DIX Ethernet V2)标准,IEEE 802.3标准

 

 CSMA/CA

载波侦听多路访问/冲突避免(Carrier Sense Multiple Access with Collision Avoidance,CSMA/CA)

此种方案采用主动避免碰撞而非被动侦测的方式来解决冲突问题。可以满足那些不易准确侦测是否有冲突发生的需求,如无线局域网。

CSMA/CA协议主要使用两种方法来避免碰撞:

  1. 设备欲发送帧,且侦听到信道空闲时,维持一段时间后,再等待一段随机的时间依然空闲时,才送出资料。由于各个设备的等待时间是分别随机产生的,因此很大可能有所区别,由此可以减少冲突的可能性。
  2. RTS-CTS握手(handshake):设备欲发送帧前,先发送一个很小的RTS(Request to Send)帧给目标端,等待目标端回应CTS(Clear to Send)帧后,才开始传送。此方式可以确保接下来传送资料时,不会发生冲突。同时由于RTS帧与CTS帧都很小,让传送的无效开销变小。

此方案应用于

  • 无线局域网的IEEE 802.11标准。

 

 CSMA/BA

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

 CSMA/CP

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

你可能感兴趣的:(算法,工作,Access)