CSMA协议
时隙ALOHA系统的效率虽然是纯ALOHA系统的两倍,但每个站点都是随心所欲地发送数据的,即使其他站点正在发送也照发不误,因此发送碰撞的概率很大。
若每个站点在发送前都先侦听一下共用信道,发现信道空闲后再发送,则就会大大降低冲突的可能,从而提高信道的利用率,载波侦听多路访问(Carrier Sense Multiple Access,CSMA)协议依据的正是这一思想。CSMA协议是在ALOHA协议基础上提出的一种改进协议,它与ALOHA协议的主要区别是多了一个载波侦听装置。
根据侦听方式和侦听到信道忙后的处理方式不同,CSMA协议分为三种。
1-坚持CSMA
一个结点要发送数据时,首先侦听信道;如果信道空闲,那么立即发送数据;如果信道忙,那么等待,同时继续侦听直至信道空闲;如果发生冲突,那么随机等待一段时间后,再重新开始侦听信道。
“1-坚持”的含义是:侦听到信道忙后,继续坚持侦听信道; 侦听到信道空闲后,发送帧的概率为1,即立刻发送数据。
传播延迟对1-坚持CSMA协议的性能影响较大。
结点A开始发送数据时,结点B也正好有数据要发送,但这时结点A发出数据的信号还未到达结点B,结点B侦听到信道空闲,于是立即发送数据,结果必然导致冲突。
即使不考虑延迟,1-坚持CSMA协议也可能产生冲突。
例如,结点A正在发送数据时,结点B和C也准备发送数据,侦听到信道忙,于是坚持侦听,结果当结点A一发送完毕,结点B和C就会立即发送数据,同样导致冲突。
非坚持CSMA
一个结点要发送数据时,首先侦听信道; 如果信道空闲,那么立即发送数据; 如果信道忙,那么放弃侦听,等待一个随机的时间后再重复上述过程。
非坚持CSMA协议在侦听到信道忙后就放弃侦听,因此降低了多个结点等待信道空闲后同时发送数据导致冲突的概率,但也会增加数据在网络中的平均延迟。可见,信道利用率的提高是以增加数据在网络中的延迟时间为代价的。
p-坚持CSMA
p-坚持CSMA (P-persistent CSMA)用于时分信道,其基本思想是:一个结点要发送数据时,首先侦听信道;如果信道忙,就持续侦听",直至信道空闲; 如果信道空闲,那么以概率 p 发送数据,以概率1-p推迟到下一个时隙; 如果在下一个时隙信道仍然空闲,那么仍以概率p发送数据,以概率1-p推迟到下一个时隙; 这个过程一直持续到数据发送成功或因其他结点发送数据而检测到信道忙为止,若是后者,则等待下一个时隙再重新开始侦听。
p-坚持CSMA 在检测到信道空闲后,以概率p发送数据,以概率1-p 推迟到下一个时隙,其目的是降低1-坚持CSMA协议中多个结点检测到信道空闲后同时发送数据的冲突概率; 采用坚持“侦听”的目的是,试图克服非坚持CSMA协议中由于随机等待而造成的延迟时间较长的缺点。因此,p-坚持CSMA 协议是非坚持CSMA协议和1-坚持CSMA协议的折中方案。
比较
参考资料:
谢希仁.计算机网络(第8版)[M].北京:电子工业出版社,2021.
James F.Kurose,Keith W.Ross.计算机网络:自顶向下方法[M].北京:机械工业出版社,2019.
2023年王道计算机复习指导[M].北京:电子工业出版社,2021.