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

    文章

    792

    浏览量

    41592
  • 算法
    +关注

    关注

    23

    文章

    4599

    浏览量

    92617
  • CSMA
    +关注

    关注

    0

    文章

    28

    浏览量

    12982

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    ESP32退避算法实现

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

    二进制无线传感器网络目标定位解析算法初步研究

    二进制无线传感器网络目标定位解析算法初步研究:摘要:针对二进制传感器网络目标定位跟踪问题,提出一种利用传感器位置信息和目标穿过传感器探测区域的时间信息进行解算的
    发表于 10-10 15:14 20次下载

    二进制相对调相(二进制差分调相2DPSK)的工作原理

    二进制相对调相(二进制差分调相2DPSK)的工作原理
    发表于 10-21 13:01 3188次阅读
    <b class='flag-5'>二进制</b>相对调相(<b class='flag-5'>二进制</b>差分调相2DPSK)的工作原理

    二进制

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

    二进制编码和二进制数据

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

    什么是二进制计数器,二进制计数器原理是什么?

    什么是二进制计数器,二进制计数器原理是什么? 计数器是数字系统中用得较多的基本逻辑器件。它不仅能记录输入时钟脉冲的个数,还可以实现
    发表于 03-08 13:16 3.1w次阅读

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

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

    二进制数值数据的编码与运算算法

    二进制数值数据的编码与运算算法 一、原码、反码、补码的定义 1、原码的定义 2、补码的定义
    发表于 04-15 14:42 2839次阅读

    进制数的二进制编码

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

    二进制加法程序【汇编版】

    二进制加法程序【汇编版】二进制加法程序【汇编版】二进制加法程序【汇编版】二进制加法程序【汇编版】
    发表于 12-29 11:02 0次下载

    二进制数据压缩算法

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

    浮点数转换为二进制存储

    浮点数转换为二进制存储根据IEEE754标准,单精度float类型使用32比特存储,其中1位表示符号,8位表示指数,23位表示尾数;双精度double类型使用64比特存储,1位符号位,11位指数
    发表于 11-26 11:21 50次下载
    浮点数转换为<b class='flag-5'>二进制</b>存储

    10进制转换为二进制算法

    二进制算法可以分为两个步骤:整数部分转换和小数部分转换。下面将详细介绍这两个步骤。 首先,我们来讨论整数部分的转换。整数部分的转换是比较简单的,我们可以通过不断地进行除2取余的操作来得到二进制数的每一位。 具体的步骤如下
    的头像 发表于 01-11 09:14 2222次阅读

    10进制转换为二进制算法

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