目录
刚刚接触计算机网络的学习,学到数据链路层动态随机分配信道时对随机访问MAC协议,ALOHA,CSMA,CSMA/CD,CSMA/CA的区别与联系有点混乱,写一篇博客自己梳理一下知识点。
ALOHA,CSMA,CSMA/CD的区别仅在于是否对信道进行监听和是否有碰撞检测:
1、ALOHA:不监听,无碰撞检测;
2、CSMA:有监听,无碰撞检测;
3、CSMA/CD:有监听,有碰撞检测。
监听(CS):发送时先判断其他站点是否正在发送数据,监听到有数据正在发送就不发了,根据不同策略等待一段时间(即CSMA的三种退避算法)后再进行发送。但由于通道的传播延迟,仍然可能出现发送端发送完毕,数据帧正在传输中,接收端未接受到的情况,这种情况不会被监听到,此时发送数据依然有可能发生碰撞。
碰撞检测(CD):在无碰撞检测的情况下,发送方不知道信道上是否发生了碰撞。就算信道上发生了数据帧的碰撞,被破坏掉的帧依旧会持续发送到接收方,然后接受方提供反馈之后发送方才能发现产生了碰撞,浪费了时间。有碰撞检测即发生碰撞就立刻从碰撞点返回消息,发送方收到消息后立刻停止发送,等待一段时间后再重传,提高了信道利用率。碰撞检测需要对信道持续监听。
1、ALOHA
分为纯ALOHA协议和时隙ALOHA两种,无监听,直接发,检测到碰撞后等待一段随机时间后再重传。
纯ALOHA
工作原理:站点只要产生帧,就立即发送到信道上;规定时间内若收到应答,表示发送成功,否则重发。
重发策略:等待一段随机的时间,然后重发;如再次冲突,则再等待一段随机的时间,直到重发成功为止
优点:简单易行
缺点:极容易冲突
竞争系统:多个用户以某种可能导致冲突的方式共享公用信道的系统
时隙ALOHA(S-ALOHA)
基本思想:把信道时间分成离散的时间槽,槽长为一个帧所需的发送时间。每个站点只能在时槽开始时才允许发送。其他过程与纯ALOHA协议相同。<