CSMA协议的全程为载波监听多路访问协议CSMA(carrier sense multiple access)
CS:
载波侦听/监听,每一个站在发送数据之前要想检测一下总线上是否有其他计算机在发送数据。
CS --- 检测方法:
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站在同时发送数据,表明发生了碰撞,即发生了冲突。
MA:
多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
CSMA协议思想:
发送帧之前,监听信道。
CSMA具体决策方式:
取决于监听结果,当信道空闲时(即电压摆动值未超过门限值),发送完整帧。
信道忙时,推迟发送。具体处理方法还分为:
- 1 - 坚持CSMA
- 非坚持CSMA
- p - 坚持CSMA
CSMA具体决策方式 --- 1 - 坚持CSMA
坚持指的是对于监听信道忙之后的坚持。
1 - 坚持CSMA的思想:
如果一个主机要发送消息,那么它先监听信道(另两种CSMA也是如此)。如果信道空闲则直接传输,不必等待。如果忙的话则一直监听,直到空闲马上传输。如果有冲突(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程。
优点:
只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。
缺点:
假如有两个或两个以上的站点有数据要发送,冲突就不可避免。
CSMA具体决策方式 --- 非坚持CSMA
非坚持指的是对于监听信道忙之后就不继续监听。
非坚持CSMA思想:
如果一个主机要发送消息,那么它先监听信道。如果信道空闲则直接传输,不必等待。忙则等待一个随机的时间之后再进行监听。
优点:
采用随机的重发延迟时间可以减少冲突发生的可能性。
缺点:
可能存在大家都在延迟等待过程中,使得媒体仍处于空闲状态,媒体使用率降低。
CSMA具体决策方式 --- p - 坚持CSMA
p - 坚持指的时对于监听信道空闲的处理
p - 坚持CSMA思想:
如果一个主机要发送消息,那么它先监听信道。空闲则以p概率直接传输,不必等待;概率1 - p等待到下一个时间槽再传输。如果忙则等待一个随机的时间之后再进行监听(跟非坚持相同)。
优点:
既能像非坚持算法那样减少冲突,又能像坚持算法那样减少媒体空闲时间的这种方案。
缺点:
发生冲突后还是要坚持把数据帧发送完,造成了浪费。
CSMA具体决策方式 --- 三种CSMA对比总结
1-坚持CSMA | 非坚持CSMA | p-坚持CSMA | |
信道空闲 | 马上发 | 马上发 | p概率马上发 1-p概率等到下一个时隙再发送 |
信道忙 | 继续坚持监听 | 放弃监听,等一个随机时间再监听 | 放弃监听,等一个随机时间再监听 |