随机访问介质访问控制--------CSMA协议和CSMA/CD协议和CSMA/CA协议
目录
CS:载波侦听/监听,每一个站在发送数据之前先检测一下总线上是否有其他计算机在发送数据
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测的信号电压摆动值超过一定限度,就认为总线上至少两个站在同时发送数据,标明出现了碰撞,即发生了冲突
1-坚持CSMA
含义:侦听到信道忙则继续监听;信道空闲立即发送数据
两个不足:
1、传播延迟。因为发出数据的信号有传播延迟,发出信号后还未到达对方位置,导致对方误认为信道空闲
2、A发送数据,B和C监听,A发完,B和C一同发送,导致冲突
非坚持CSMA
含义:空闲立即发送,忙则放弃侦听,等待一个随机时间后重复
不足:增加了数据在网络中的平均延迟
p-坚持CSMA
信道忙继续侦听,信道空闲则以p概率发送数据,如果没有发送则推迟到下一个时隙,如果下一个时隙(可能直接空闲或者忙后的一个空闲时隙)还是以p概率发送数据
原因:
1、以概率发送数据是为了避免多个节点检测到信道空闲后同时发送数据
2、坚持侦听是为了克服由于随机等待的延迟时间
总结
CSMA/CD协议
要点:
1、多点接入:就是说明这是总线网络,许多计算机以多点接入的方式连接在一根总线上。协议的实质是“载波监听”和“碰撞检测”。
2、载波监听 :总线上并没有什么“载波”。因此, “载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。不管在发送前,还是发送中,每个站都必须不停地检测信道。
3、碰撞检测:在发送前检测信道,是为了获得发送权。如果检测出已经有其他站在发送,则直接就暂时不许发送数据,必须要等到信道变为空闲是才能发送。在发送中检测信道,是为了及时发现有没有其他站的发送和本站发送的碰撞。
在发送之前和发送时都会进行检测,应用于半双工网络
发生碰撞的原因和1-坚持CSMA的不足类似,电磁波在总线上的传播速率总是有限的。
截断二进制指数算法确定碰撞后的重传时机
最小帧长
为了确保发送站在发送数据的同时能检测到可能存在的碰撞,需要在发送完帧之前就能收到自己发送出去的数据即帧的传播时延至少要两倍与信号在总线中的传播时延。
CSMA/CA协议
如果用CSMA/CD处理无线局域网那么就会有两个问题
1、无线介质上信号强度的动态变化范围太大
2、并非所有站点都能听到对方,如下图A和B都想给D发信息,但是听不到对方,以为是空闲但却不是。(隐蔽站)
因此将碰撞检测改为碰撞避免,也就是尽量降低碰撞发生的概率
CSMA/CA算法归纳
1)若站点最初有数据要发送(而不是发送不成功再进行重传),且检测到信道空闲,在等待时间 DIFS 后,就发送整个数据帧;
2)否则,站点执行 CSMA/CA 协议的退避算法。一旦检测到信道忙,就冻结退避计时器。只要信道空闲,退避计时器就进行倒计时;
3)当退避计时器时间减少到零时(这时信道只可能时空闲的),站点就发送整个的帧并等待确认;
4)发送站若收到确认,就知道已发送的帧被目的站正确收到了。这时如果要发送第二帧,就要从上面的步骤二开始,执行 CSMA/CA 协议的退避算法,随机选定一段退避时间。