二进制指数退避算法
CSMA/CD
在以太网中
对于总线型、星型、树型拓扑,所使用的访问控制协议是CSMA/CD
也就是载波侦听多路访问/检测冲突
CSMA基本原理
载波侦听多路访问的原理就是,在发送数据之前,会先监听信道,监听当前发送信道内是否有其他人在发送
如果有,则说明信道正在忙,如果没有,则说明信道空闲
冲突检测预定策略
当信道繁忙时,是否继续监听
当信道空闲时,是否立即发送
如果连续16次发生碰撞冲突后,则认定当前网络故障或者过于繁忙,不再尝试发送
二进制指数退避算法
该算法主要的工作原理:
- 检测到冲突之后,立马停止发送数据,并等待随机时间再发送数据
- 等待随机时间由公式计算,2τ是 基本退避时间,可以看作是固定值大概是
512bit时间

k表示重传次数和后面数值中的最小值,就比如k=min[18,10]最小值是10,那么k就=10
random表示随机函数,k=min[重传次数,10]
有个例题:
如果重传12次后,k=min[12,10],那么他可能等待的时间就是2τ*random[0,1023]
根据定理k=10,公式2τ*random[0,2k-1]也就是2的10次方-1
每次站点等待的时间都是随机数
后一次退避时间,不一定比前一次长
重传次数越多,退避random取值,就越大
从而来降低冲突发生的概率
如果连续发送16次碰撞后,则会认为网络故障或者繁忙,不再尝试发送
例题

c

标准直接规定:k的上限就是 10,k = min(重传次数, 10)

文章作者:Magic清风
文章链接:https://skylan.cc/archives/1779938100801
版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0 许可协议,转载请注明出处!
评论