carrier sense multi-access/collision detect,载波监听多路访问/冲突检测
工作原理:
发送数据前进行载波监听判断信道是否空闲,若信道忙则等待一段随机时间;若信道空闲则立即发送数据,发送数据过程中同时检测是否产生冲突,如果发生冲突则立即停止发送,等待一段随机时间后再次进行尝试
多路访问:
多个计算机接到一根总线上
载波监听和坚持算法:
信道是否空闲判断:
检测到空闲后还需要继续等待,在帧间最小间隔的时间内(9.6us)没有检测到信号才可以发送数据
帧间最小间隔的意义:使接收方在接收完数据后清理缓存并未接收下一帧做准备
类似于WiFi的通过CCA检测到信道空闲后还需要继续等待SIFS的短帧间间隔(11g的16us,允许接收方回复ack的时间)
1-持续:
信道忙或发生冲突时持续监听信道,等待信道空闲
非持续:
信道忙或发生冲突时退避一段随机的时间后再进行尝试
p-持续:
信道空闲时以概率p发送数据,以1-p概率推迟到下一时间间隔
其中:为单程网络传输时延
冲突检测:
检测方法:
边发送边监听,主要是检测线路的电压是否超过一定的阈值
电磁波在电缆中的传输速度和传输时延:
1km的传输时延为5us
争用期、碰撞窗口:
用于检测冲突的最长时间,该时间定为51.2us,也就是两倍的传播时延,即
最小帧长:
基于争用期可以计算得到最小帧长为64字节=10Mbps*51.2us
强化碰撞:
当检测到冲突时,除了停止发送外,需要发送32bits或48bits全1的干扰信号(jamming signal)
数据帧传输所需时间:
数据帧帧长/速率+距离/信号传播速度+回复帧帧长/速率+距离/信号传播速度
其中:
速率就是10Mbps或100Mbps
信号传播速度:200m/us(光速的2/3)
退避算法:
从正数集合中取一个随机值r,其中:k为重传次数,最大为10
退避时间为
重传次数达到16时丢弃该帧并向上层报错