4.2.8 以太网技术(八)退避算法

文章详细介绍了以太网在CSMA/CD协议下如何使用二进制指数退避算法来处理冲突。当检测到冲突时,站点会随机等待一段时间再重试,等待时间随着冲突次数指数级增长,以减少再次冲突的概率。该算法牺牲时间效率以换取网络的稳定性。
摘要由CSDN通过智能技术生成
4.2.8 以太网技术(八)退避算法

在CSMA/CD协议中,一旦检测到冲突,为了降低再一次发生冲突的概率需要等待一个随机的时间后再使用CSMA/CD的方法试图进行下一次的传送,为了保证这种退避的维持稳定,我们在以太网中采用了一种被称为二进制指数退避算法的技术。

一、二进制指数退避算法
  • 指数退避算法是指在遇到重复的冲突时,站点将重复传输,每一次冲突之后,冲突推迟时延平均值将加倍。

  • 二进制指数退避算法提供了一个处理重负荷局域网冲突问题的方法

  • 在退避算法中尝试传输重复失败次数越多将会导致更长的退避时间,这有利于负荷的平滑。

如果没有这样的退避算法将会导致两个或者多个站点同时尝试传输导致冲突后这些站点又立即尝试重传导致新一轮的冲突发生。

二、二进制指数退避算法过程
  • 假设重传次数为rtx_count,允许的最大重传次数为rtx_count_max,通常为16。如果rtx_count<=rtx_count_max,则计算二进制指数退避算法的三个过程为:

    1. 计算N=min[rtx_count,10]即重传次数与10之间取小的那个。所以这里我们就应该知道如果重传次数在第10次以后N值就不再变化了。
    2. 从0,1,,……( 2 N − 1 2^N-1 2N1)这 2 N 2^N 2N个整数中随机的选择一个数,记为r;
    3. 计算退避时间time_backoff= 2 τ ⋅ r 2\tau\cdot r 2τr
  • 我们来具体的解释一下这个过程

    1. 退避时间 time_backoff= 2 τ ⋅ r 2\tau\cdot r 2τr
    2. 基本退避时间为: 2 τ 2\tau 2τ(争用期)
    3. 第一次冲突后,r={0,1},每个站点将会等待在0或者1个基本退避时间后进行重传。
    4. 第二次冲突后,r={0,1,2,3},每个站点将会随机等待0,1,2,3之中选取一个随机数乘以基本退避时间作为退避时间后再开始重传。
    5. i ≤ 10 i\leq10 i10次冲突后,r={0,1,2,3,…… 2 i − 1 2^i-1 2i1}会在0到 2 i − 1 2^i-1 2i1之间的整数中选取一个随机数乘以基本退避时间作为退避时间后再开始重传。
    6. 第10次冲突后,r={0,1,2^=……1023},第十次之后,选择的基本的时间将会固定的在0到1023之间选取一个随机数乘以基本退避时间作为退避时间后开始重传。
    7. 第16次冲突后,发送失败,报告上层
  • 这里我们以第二次发生冲突为例:N=2

    1. MIN(2,10)=2
    2. r={0,1,2,3}
    3. 10Mbit/s的争用期 2 τ = 51.2 μ s 2\tau=51.2\mu s 2τ=51.2μs
    4. 退避时间={ 0 , 51.2 μ s , 102.4 μ s , 153.6 μ s 0,51.2\mu s,102.4\mu s,153.6\mu s 0,51.2μs,102.4μs,153.6μs}
三、二进制退避算法举例

例:以太网中,第四次冲突之后,一个节点选择的随机退避系数r的值为4的额概率是(C)。

  • A、 1 4 \frac{1}{4} 41

  • B、 1 8 \frac{1}{8} 81

  • C、 1 16 \frac{1}{16} 161

  • D、 1 32 \frac{1}{32} 321

    解题思路:

    1. 第四次冲突N=4
    2. MIN(4,10)=4
    3. r={0,1,2,3,……15}
四、小结
  • 以太网中采用CSMA/CD协议的随机访问的媒体访问控制方法在某一个微观的时刻,某一总线型的结构当中只能够有一个站点是出于发送状态。
  • 碰撞(或者称为冲突)在所难免,尤其是在网络中站点数较多,而且每个站点发送的概率比较大或者称之为网络负荷比较重的情况下,在这种情况下如果发生了冲突除了要发送一个冲突加强的信号以外,还必须要执行一个二进制指数退避算法。
  • 二进制指数退避算法:这个算法的精髓在于牺牲时间效率,换取冲突概率减小,当冲突发生的次数逐渐增大时,会造成退避的随机参数值范围越选越大,所以退避的时间是指数增加的可能性,但是这种情况带来的好处是再一次发生冲突的概率将会减半。
  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FFmpeg 4.2.8是一个开源的多媒体处理工具库,可以用于处理音频和视频文件。它提供了丰富的功能和命令行选项,可以对音频和视频进行各种操作。 引用提供了在FFmpeg中将视频加速到2倍速的命令行示例。使用此命令,您可以将一个视频文件的播放速度加快到原来的两倍。 引用提供了将视频减速到一半速度的命令行示例。使用此命令,您可以将一个视频文件的播放速度减慢到原来的一半。 引用提供了一个示例,展示了如何将音频和视频文件合并为一个输出文件。使用此命令,您可以将一个视频文件和一个音频文件合并为一个包含视频和音频的文件。 总结而言,FFmpeg 4.2.8是一个功能强大的多媒体处理工具库,可以用于处理音频和视频文件。您可以使用不同的命令行选项来实现各种操作,例如加速、减速和合并音视频文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [ffmpeg常用指令及介绍(转码 水印 字幕 截图等)](https://blog.csdn.net/megary/article/details/90667975)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值