什么是二进制指数退避算法?算法的过程是怎样的?

什么是二进制指数退避算法?算法的过程是怎样的?,第1张

算法规则如下:1.对每个数据帧,当第一次发生冲突时,设置一个参数L=2;2.退避间隔取1到L个时间片中的一个随机数,一个时间片等于两个节点之间最大传播时延的两倍;3.当数据帧再次发生冲突,则将参量L加倍;4.设置一个最大重传次数,超过该次数,则不再重传,并报告出错;二进制指数退避算法是按后进先出的次序控制的,即未发生冲突或很少发生冲突的数据帧,具有优先发送的概率;而发生过多次冲突的数据帧,发送成功的概率就更小。

在CSMA/CD协议中,一旦检测到冲突,为降低再冲突的概率,需要等待一个随机时间,然后再使用CSMA方法试图传输。为了保证这种退避维持稳定,采用了二进制指数退避算法的技术,其算法过程如下:

1. 将冲突发生后的时间划分为长度为2t的时隙

2. 发生第一次冲突后,各个站点等待0或1个时隙在开始重传

3. 发生第二次冲突后,各个站点随机地选择等待0,1,2或3个时隙在开始重传

4. 第i次冲突后,在0至2的i次方减一间随机地选择一个等待的时隙数,在开始重传

5. 10次冲突后,选择等待的时隙数固定在0至1023(2的10次方减一)间

6. 16次冲突后,发送失败,报告上层。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11289328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存