重试中的指数退避算法
2015-09-19 19:15
776 查看
重试中的指数退避算法
退避算法是在在单个信道的基于竞争的介质的一种访问控制(MAC)协议。每当一个以上的节点在同一时刻试图访问介质的时候,它会导致分组碰撞。如果相撞的节点试图再次访问信道,在节点做及时同步的时候数据包将发生碰撞。因此,节点需要时间位差。为了产生这种位差,退避算法(例如二进制指数退避(BEB)) 。例如,在BEB算法中,每当一个节点的传输涉及在与另一个节点的传输发生碰撞,两个节点都将选择一个随机的等待时间,在下次再次尝试前需要等待选择的随机时间。如果他们在这样的尝试都没有成功,他们自己的竞争窗口增加一倍,在发射前再次选择等待一个随机时间。这个过程将被重复一定次数的尝试。如果经过数次尝试之后都失败了,那么其传输的数据包将被从传输队列中移除。
二进制退避技术(Binary Exponential Back off). 指在遇到重复的冲突时,站点将重复传输,但在每一次冲突之后,随着时延的平均值将加倍。二进制指数退避算法提供了一个处理重负荷的方法。尝试传输的重复失败导致更长的退避时间,这将有助于负荷的平滑。如果没有这样的退避,以下状况可能发生:两个或多站点同时尝试传输,这将导致冲突,之后这些站点又立即尝试重传,导致一个新冲突。
退避算法:
退避算法是在在单个信道的基于竞争的介质的一种访问控制(MAC)协议。每当一个以上的节点在同一时刻试图访问介质的时候,它会导致分组碰撞。如果相撞的节点试图再次访问信道,在节点做及时同步的时候数据包将发生碰撞。因此,节点需要时间位差。为了产生这种位差,退避算法(例如二进制指数退避(BEB)) 。例如,在BEB算法中,每当一个节点的传输涉及在与另一个节点的传输发生碰撞,两个节点都将选择一个随机的等待时间,在下次再次尝试前需要等待选择的随机时间。如果他们在这样的尝试都没有成功,他们自己的竞争窗口增加一倍,在发射前再次选择等待一个随机时间。这个过程将被重复一定次数的尝试。如果经过数次尝试之后都失败了,那么其传输的数据包将被从传输队列中移除。二进制退避技术(Binary Exponential Back off). 指在遇到重复的冲突时,站点将重复传输,但在每一次冲突之后,随着时延的平均值将加倍。二进制指数退避算法提供了一个处理重负荷的方法。尝试传输的重复失败导致更长的退避时间,这将有助于负荷的平滑。如果没有这样的退避,以下状况可能发生:两个或多站点同时尝试传输,这将导致冲突,之后这些站点又立即尝试重传,导致一个新冲突。
相关文章推荐
- 2562:奇偶位互换
- 来到惠普的感受
- iOS集成支付宝
- Java基础知识强化36:StringBuffer类之StringBuffer的概述
- MarkDown的使用技巧
- Writing your first academic paper
- bloom filter与Cuckoo Filter
- 【Android小游戏】安卓小游戏开发(直播手把手教学系列一)
- JQuery中$.ajax()方法各参数详解(总结):
- 一个用NetBeans写的计算器
- canvas的translate、scale、rotate、clipRect等方法
- 天猫超市先攻北京市场 传统商超们还如何淡定
- 通过自己创造string来探究其内部构造
- win7反复自动关机
- Android动画操作
- 移动仲裁邮箱
- springMvc redis 配置开发案例
- 打造eBox生态圈
- HDU 5459 Jesus Is Here 2015沈阳区域赛网络赛1010题
- LeetCode -- Ugly Number