0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解析二进制指数退避算法的过程

DIri_ALIFPGA 2018-02-05 16:14 次阅读

CSMA/CD采用二进制指数退避算法,又称为二元指数后退算法。退避算法是以冲突窗口大小为基准的,每个节点有一个冲突计数器C。退避的时间与冲突次数具有指数关系,冲突次数越多,退避的时间就可能越长,若达到限定的冲突次数,该节点就停止发送数据。

二进制退避技术(Binary Exponential Back off). 指在遇到重复的冲突时,站点将重复传输,但在每一次冲突之后,随着时延的平均值将加倍。二进制指数退避算法提供了一个处理重负荷的方法。尝试传输的重复失败导致更长的退避时间,这将有助于负荷的平滑。如果没有这样的退避,以下状况可能发生:两个或多站点同时尝试传输,这将导致冲突,之后这些站点又立即尝试重传,导致一个新冲突。

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

1.确定基本退避时间,一般为端到端的往返时间为2t,2t也成为冲突窗口或争用期。

2. 定义参数k,k与冲突次数有关,规定k不能超过10,k=Min[冲突次数,10]。在冲突次数大于10,小于16时,k不再增大,一直取值为10。

3. 从离散的整数集合[0,1,2,……,(2^k-1)]中随机的取出一个数r,等待的时延为r倍的基本退避时间,等于r x 2t。r的取值范围与冲突次数k有关,r可选的随机取值为2^k个、这也是称为二进制退避算法的起因。

4.当冲突次数大于10以后,都是从0—2^10-1个2t中随机选择一个作为等待时间。

5. 当冲突次数超过16次后,发送失败,丢弃传输的帧,发送错误报告。

举例

如果第二次发生碰撞:

n = 2

k = MIN(2,10) = 2

R = {0, 1, 2, 3)

延迟时间 = R * 512 * Bit-time

其中:Bit-time = 1 / Debit

例如:

对于传输速率Debit = 10 Mbit/s,

那么Bit-time = 0.1 us

延迟时间={0, 51.2 us, 102.4 us, 153.6 us} 其中任取一

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 二进制
    +关注

    关注

    2

    文章

    704

    浏览量

    41245
  • 算法
    +关注

    关注

    23

    文章

    4448

    浏览量

    90722
  • CSMA
    +关注

    关注

    0

    文章

    28

    浏览量

    12935

原文标题:二进制指数退避算法

文章出处:【微信号:ALIFPGA,微信公众号:FPGA极客空间】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    二进制格雷码与自然二进制码的互换

    。而绝对式编码器是直接输出数字量的传感器,它是利用自然二进制或循环二进制(格雷码)方式进行光电转换的,编码的设计一般是采用自然二进制码、循环二进制码、
    发表于 03-08 14:16

    基于FPGS二进制LDPC

    一个8位二进制数经过二进制LDPC编码器编码后等到一个几位二进制的数,怎么计算的?
    发表于 03-14 13:07

    labview编程模拟十进制数到二进制数的转换过程

    模拟十进制数到二进制数的转换过程,以LED来模拟各个二进制位,并能以动画方式模拟计数的过程。 选择手动方式时,将8个LED变成滑动条中数字的
    发表于 12-07 22:20

    如何理解二进制运算规则 二进制是如何运算的

    二进制运算规则二进制的运算算术运算二进制的加法:0+0=0,0+1=1 ,1+0=1, 1+1=10(向高位进位);二进制的减法:0-0=0,10-1=1(向高位借位) 1-0=1,1
    发表于 12-11 17:49

    改进的二进制搜索算法原理是什么?有什么优势?

    改进的二进制搜索算法原理是什么?改进的二进制搜索算法有什么优势?
    发表于 05-20 07:12

    浮点数转换为二进制存储的方法

    浮点数转换为二进制存储根据IEEE754标准,单精度float类型使用32比特存储,其中1位表示符号,8位表示指数,23位表示尾数;双精度double类型使用64比特存储,1位符号位,11位指数
    发表于 12-09 06:09

    ESP32退避算法实现

    ESP32退避算法实现IOT连接延时二进制指数退避算法利用斐波那契数列实现
    发表于 01-11 08:28

    如何丢弃函数的二进制代码填入SRAM的二进制代码?

    应用程序 : 示例代码演示了如何丢弃函数的二进制代码, 然后填入 SRAM 的二进制代码, 然后调用它 。 BSP版本:M451系列BSP V3.01.001 硬件: 任何 M451 系列板块
    发表于 08-23 06:34

    二进制

    二进制   二进制与十进制的区别在于数码的个数和进位规律有很大的区别,顾名思义,二进制的计数规律为逢二进一,是以2为基数的计数体制。10这
    发表于 04-06 23:48 7648次阅读
    <b class='flag-5'>二进制</b>

    二进制编码和二进制数据

    二进制编码和二进制数据   二进制编码是计算机内使用最多的码制,它只使用两个基本符号"0"和"1",并且通过由这两个符号组成的
    发表于 10-13 16:22 4500次阅读

    二进制电平,什么是二进制电平

    二进制电平,什么是二进制电平 在二进制数字通信系统中,每个码元或每个符号只能是“1”和“0”两个状态之一。若将每个码元可能取的状态增
    发表于 03-17 16:51 2270次阅读

    进制数的二进制编码

    进制数的二进制编码     在人机交互过程中,为了既满足系统中使用二进制数的要求,又适应人们使用十进制
    发表于 05-02 19:04 9085次阅读

    二进制数据压缩算法

    二进制数据压缩算法二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规
    的头像 发表于 02-28 09:31 1.9w次阅读

    基于特征聚类信息的二进制粒子群优化算法

    基于特征聚类信息的二进制粒子群优化算法
    发表于 06-11 15:38 6次下载

    10进制转换为二进制算法

    进制转换为二进制是计算机科学中非常基础且重要的概念之一。在理解和应用计算机科学的基础知识时,掌握这个算法是至关重要的。 在开始讲解十进制转换为二进
    的头像 发表于 01-15 10:32 555次阅读