CSMA,又称载波侦听多路访问协议。在计算机网络课程中,其一共有四个基础协议与两个实际应用(分别是802.11和802.3)算法
忙 | 空闲 | 传输冲突 | 应用 | |
---|---|---|---|---|
1-p CSMA | 持续侦听,等待空闲 | 马上抢占(传输几率为1) | (传输以后检测到冲突)随机等待一段时间后再试 | - |
Non-p CSMA | 再也不持续监听,而是随机等待一段时间后再试 | 马上抢占 | (传输以后检测到冲突)随机等待一段时间后再试 | - |
p-p CSMA【分槽】 | 等待下一个时间槽 | 有p几率发送,1-p几率推迟到下一个时间槽 | (传输以后检测到冲突)随机等待一段时间后再试 | - |
CSMA/CD(detect) | - | - | (检测到传输进行中的冲突)马上中止传输;以后随机等待一段时间后再试 | - |
二进制指数后退的1-p CSMA/CD | 持续侦听 | 马上抢占 | (检测到传输进行中的冲突)马上中止传输;以后等待[0,2^i-1]个随机时间槽以后再试 | 经典以太网-802.3 |
CSMA/CA(avoid)【分槽】 | 监听到有帧在发送则暂停计时器 | 以一个随机的后退时间槽开始计时 | 没有收到ACK,则加倍后退选择的时间槽数 | 无线局域网-802.11 |
其中,CSMA/CD强调的是其在信号传输中使用检测冲突以加快传输速度的作法,若是必定追究其在信道忙和信道空闲时候的表现,应考虑1-pCSMA。而二进制指数后退的CSMA/CD与CSMA/CD模型的区别只在于明确了退避的时间算法。网络
二进制指数后退的1-p CSMA/CD每次会在2的指数级内随机一个数开始后退。不难发现这样作会使后退的时间愈来愈多,所以在第10次冲突以后,这一数字就再也不增长,并会在第16次尝试失败以后放弃发送,返回一个错误报告。计算机网络
而CSMA/CA与以前几个模型的区别相对较大。主要缘由是因为无线电信道是半双工类型,没法在发送数据的同时监听噪声,所以采起了更为谨慎的策略来避免冲突(因此叫冲突避免)。下图是几个协议间吞吐量的区别。blog
关于更多详细的介绍各位能够关注个人博客 关于计算机网络-MAC子层的内容~~博客