载波监听多路访问(CSMA)协议
若每个站点再发送数据之前都先侦听一下公用信道,如果信道空闲后再发送,则就会大大降低冲突的可能性,从而提高信道的利用率 。
CS:载波侦听/监听,每一个站在发送数据之前都要检测一下总线上是否有其他计算机在发送数据。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
协议思想:发送帧之前,先监听信道。如果信道空闲,则发送完整帧;如果信道忙,则推迟发送。
根据侦听方式和侦听到信道忙后的处理方式不同,CSMA协议分为三种。
1-坚持CSMA:一个结点要发送数据时,首先侦听信道,如果信道空闲,那么立即发送数据;侦听到信道忙后,继续坚持侦听信道;侦听到信道空闲后,发送帧的概率为1,即立即发送数据。
非坚持CSMA:一个结点要发送数据时,首先侦听信道,如果信道空闲,那么立即发送数据;如果信道忙,那么放弃侦听,等待一个随机的时间后再重复上述过程。
p-坚持CSMA:用于时分信道。一个结点要发送数据时,首先侦听信道,如果信道忙,就持续侦听,直至信道空闲;如果信道空闲,那么以概率p发送数据,以概论1-p推迟到下一个时隙。
载波监听多路访问/碰撞检测(CSMA/CD)协议
是CSMA协议的改进方案,适用于总线型网络或半双工网络环境。
CS:载波侦听/监听,每一个站在发送数据之前以及在发送数据时都要检测一下总线上是否有其他计算机在发送数据。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
CD:碰撞检测就是边发送边侦听,即适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站点是否也在发送数据。
CSMA/CD的工作流程可简单概括为“先听后发,边听边发,冲突停发,随机重发”。
在发送过程中出现碰撞的原因:电磁波在总线上的传播速率总是有限的,因此,当某个时刻发送站检测到信道空闲时,此时信道并不一定是空闲的。
若在发送过程中检测到碰撞,则中止数据的发送,并发送一个拥塞信号,让所有用户都知道。在中止发送后,适配器就执行指数退避算法,等待一段时间后重新发送。
载波监听多路访问/碰撞避免(CSMA/CA)协议
CSMA/CD协议用于使用有线连接的局域网,但在无线局域网的环境下,却不能简单地搬用CSMA/CD协议,特别是碰撞检测的部分,原因如下:
1.接收信号的强度往往会远小于发送信号的强度,且在无线介质上信号的动态变化范围很大,无法实现360°检测碰撞。
2.在无线通信中,并非所有的站点都能听见对方,即存在“隐蔽站”问题。如A和C都检测不到信号,认为信道空闲时,同时向终端B发送数据帧,就会产生冲突。
因此,在无线局域网中,广泛使用CSMA/CA协议。
“碰撞避免”并不是指协议可以完全避免碰撞,而是指协议的设计要尽量降低碰撞发生的概率。
CSMA/CA协议工作原理:
发送数据前,先检测信道是否空闲。空闲则发出RTS (request to send),信道忙则等待。接收端收到RTS后,将响应CTS (clear to send)。发送端收到CTS后,开始发送数据帧。接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应ACK帧。发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。
CSMA/CD与CSMA/CA的区别
相同点
在接入信道之前都需要进行监听,当发现信道空闲后,才能进行接入。
不同点
1.传输介质不同:CSMA/CD 用于有线局域网,而CSMA/CA用于无线局域网。
2.载波检测方式不同:因传输介质不同,CSMA/CD 与CSMA/CA的检测方式也不同。CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测 (ED)、载波检测(CS) 和能量载波混合检测三种检测信道空闲的方式。
3.CSMA/CD可以检测冲突,但无法避免;CSMA/CA不能检测冲突,但是可以尽量避免冲突。二者出现冲突后都会进行有上限的重传。