1. ARF(Auto Rate Fallback)速率控制算法
      ARF算法会以一个非常低的基础的数据速率(2Mbps)开始,然后触发一个定时器,当任意一个定时器停止或者发送机成功的进行了N(N是个固定的阀值)次连续的传输后,发射器就会从旧的数据速率 rold 增加到一个新的值 rnew ,然后重置定时器,每次增加的数值是一个固定的值,如果增加后第一次传输就失败,那么就退回到先前的速率 rold,如果再次发送失败,那就再次依固定的值递减。ARF将帧丢失率视为信道条件的指标。根据连续成功的传输次数调整速率。——参考论文1

  2. AARF(Adaptive Auto Rate Fallback)速率控制算法
      AARF正是在ARF基础上演变来的,AARF算法旨在提高稳定环境下的性能。ARF机制中多用户环境下工作的不是很好,主要就是因为它选择传输速率取决于固定的连续成功或不成功的传输尝试。不像ARF算法中每次增加都是一个固定的值,AARF算法会自动调整这个阀值。更确切的说,当一个发射器连续进行N次成功的传输后,发射器会把数据速率从rold 增加到 rnew ,如果第一次以 rnew 这个速率传输就失败了,那么久退回到先前的rold ,然后把下次增加传输速率的阀值设为2N。否则,当以rnew 传输成功后,重置阀值。这种自适应的阀值更新,相比ARF,使得AARF在稳定的信道环境中扩大了增加速率时的时间间隔,产生更少的速率波动。(参考论文同上)

  3. AARF-CD(Adaptive Auto Rate Fallback Collision Detection)
      就像AARF是从ARF演变过来的一样,AARF-CD是从AARF演变过来的。在判断是否增加速率之前,该算法会打开RTS/CTS机制,当数目可变的传输尝试成功之后会再次关闭RTS/CTS机制。AARF-CD算法保留了ARF中的定时器,提高了传输多媒体资源时的性能。该算法最大的贡献就是通过碰撞检测即加入RTS/CTS机制解决了传输时的资源竞争问题。关于该机制实现的细节,请详细阅读参考论文2。

  4. CARA(Collision-Aware Rate Adaptation)
      CARA和ARF很类似,它们就像两个对立面:CARA对传输成功的次数进行计数,ARF对传输失败的次数进行计数。当一个包到达MAC后,假如它的大小大于或等于一个给定的阀值,或者连续传输失败的次数大于另一个给定的阀值,RTS/CTS机制就会被使用。假如RTS/CTS握手失败,计数器将不会被修改,相反,如果RTS/CTS握手成功,数据帧将会以当前的状态被发送,就像RTS/CTS机制没有被使用一样,当数据传输成功之后,成功传输次数的计数器就会加1,连续传输失败的次数的计数器将会被重置。当连续成功的次数达到指定的阀值(像ARF中规定的一样,为10)后,就会增加速率。传输失败的道理是一样的,只不过给定的阀值是2。同时带这个算法也成为CARA-RTS。(参考论文2,参考论文3——CARA)

  5. Ideal Rate Adaption
      这个算法意义可能主要是用来作为实验对比吧,找不到什么关于这个算法的资料。参考论文2中说该算法假设发射器知道表征信道的SNR,引入这个算法的目的仅仅是为了去更深入的了解AARF-CD的性能。

  6. RRAA(Robust Rate Adaptation Algorithm
      鲁棒速率适应算法有两个机制:速率选择器(RRAA-BASIC)和自适应RTS(ARts)。速率选择器计算在一个观测窗口内,发送失败传输的次数,在该窗口结束的时候,计算丢包率,如果丢包率比给定的阀值PMTL(Maximum Tolerable Loss threshold)大,速率就减少;假如丢包率小于阀值PORI (Opportunistic Rate Increase threshold),速率减少,否则维持当前状态至下一个观测窗口。观测窗口的长度和阀值取决于当前的状态。此外,作者提出了一种降低速率的机制,即使观察窗口未结束:每次检测到传输故障时,假设观察窗口中的剩余传输尝试成功,则计算丢包。如果该分组丢失估计大于PMTL,则速率立即降低(不等待观察窗口终止)。ARts机制与速率选择器同时工作,它独立于它。 计数器用于估计可以使用RTS / CTS机制进行多少传输尝试。 当计数器大于0时,使用RTS / CTS机制,每次尝试将计数器减1。 它存在一个RTS窗口,最初等于0,当不使用RTS并且最后一个传输尝试失败时,该窗口增加1。 当RTS被使用并且最后的传输成功时,或者当RTS不被使用并且最后的传输失败时,它被减半。 每当RTS窗口值被修改时,计数器被设置为窗口值。 RRAA已经在测试台中实现,并且当考虑多用户场景时,具有或不具有隐藏节点的性能优于ARF和AARF。——参考论文2

  7. RRPAA(Robust Rate and Power Adaptation Algorithm)
      一种新的速率控制机制。对于RRPAA,我们采用了前面提到的思想(前面提到的思想是指RRAA+,详细内容请看参考文献),实现了基于帧丢失率的功率和速率控制机制。 该机制的目标是,与我们描述的许多其他机制一样,使用尽可能低的功率,而不会降低链路的性能。 因此,RRPAA首先尝试在当前信道条件下找到最大功率的最佳速率,然后如果损耗稳定开始降低功率。关于该部分的详细内容有兴趣的还是看参考文献4吧。

  8. AMRR(Adaptive Multi Rate Retry
      AMRR使用二进制指数退避(BEB)技术来适应用于改变速率和传输计数参数值的采样周期的长度(阈值)。 它使用探测包,并根据其传输状态自适应地改变阈值。 适应机制通过不由倒退机制指定的更高速率来确保更少的故障传输/重传和更高的吞吐量。 除此之外,AMRR采用启发式方法,通过明智地设置速率和传输计数参数来捕获信道的短期变化。——参考论文5
      更多细节请看参考论文6。

  9. PARF(Power-controlled Auto Rate Fallback)
      这部分资料好难找,我几乎都快放弃了,NS3官网上那个链接,我只是大概浏览了一下,没看到有这个缩写,后来终于在参考论文7上找到了一些说明,大致内容如下:
      功率控制自动速率回退(PARF)是基于发射功率和数据速率控制而提出的一种自我调节技术。 它尝试最小化基于自动速率回退(ARF)的相邻AP之间的干扰,ARF是一种只调整数据速率的机制。 ARF基于探测802.11 ACKs消息:ACK丢失意味着数据速率的降低和成功的接收增加。 然后,如果在较高的数据速率下没有损耗,PARF会通过降低发射功率将发射功率控制添加到ARF,并继续减小直到达到最小阈值,直到传输开始发生故障为止。 如果继续发生故障,则传输功率将增加至最大值,如果故障依然存在,则开始数据速率回退。

  10. APARF(Adapting Power-controlled Auto Rate Fallback)
      与上面的类似, APARF自然是PARF的扩展。
      用于决定数据速率或发射功率变化的阈值是动态调整的。 这个想法的目的是估计信道状况; 例如,频道快速变化将需要一个小的阈值,以便快速适应。(参考论文6)

  11. Onoe(这个好像是以人名命名的)
      Onoe是基于信用的RCA,其中信用值根据成功发送的数量和在确定的采样周期上积累的错误传输和重传的数量来确定。 对于以特定速率的成功传输,Onoe不断提高其信用额度,达到某些阈值时,当前的传输速率将提高到下一个更高的速率。 类似地,对于失败的传输/重传,当信用低于某个阈值时,信用被扣除并且传输速率下降到下一个较低的速率。 由于其运行方式,Onoe在速率选择方面保守,对单个数据包故障较不敏感。 该算法的细节在Madwifi驱动程序中可用。——参考论文3

  12. Minstrel Rate Control Algorithm
      这个有点复杂。Minstrel算法有三个部分:重试链机制,速率决策过程和统计计算。详细内容请参考Linux Kernel文档中关于该算法的描述以及参考论文8。

  13. Minstrel HT
      几乎花了一个小时都没找到什么有用的相关的资料,最后快要放弃的时候算是找到了一篇参考论文9,这是一个802.11n下驱动中的默认链路调整方案,话说NS3提供的也真是够全的,这么偏的东西都有,用到的人该有幸福。

  14. ConstantRate
       我想这个应该不需要我说什么了吧。。。

  

整理了一天,累死了,终于结束了。。。

WifiRemoteStationManager中速率控制算法详解相关推荐

  1. html中transition默认,CSS3中的Transition详解

    W3C标准中对css3的transition这是样描述的:"css的transition允许css的属性值在一定的时间区间内平滑地过渡.这种效果可以在鼠标单击.获得焦点.被点击或对元素任何改 ...

  2. iOS中ImageIO框架详解与应用分析

    2019独角兽企业重金招聘Python工程师标准>>> iOS中ImageIO框架详解与应用分析 一.引言 ImageIO框架提供了读取与写入图片数据的基本方法,使用它可以直接获取到 ...

  3. 无线网和网吧服务器,无线宽带在网吧接入中的应用详解

    <无线宽带在网吧接入中的应用详解>由会员分享,可在线阅读,更多相关<无线宽带在网吧接入中的应用详解(4页珍藏版)>请在人人文库网上搜索. 1.无线宽带在网吧接入中的应用详解无线 ...

  4. ALSA声卡驱动中的DAPM详解之四:在驱动程序中初始化并注册widget和route

    前几篇文章我们从dapm的数据结构入手,了解了代表音频控件的widget,代表连接路径的route以及用于连接两个widget的path.之前都是一些概念的讲解以及对数据结构中各个字段的说明,从本章开 ...

  5. Asp.net中GridView使用详解(引)【转】

    Asp.net中GridView使用详解(引) GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList ...

  6. Linux中iptraf命令详解(IP局域网监控工具)

    2019独角兽企业重金招聘Python工程师标准>>> Linux中iptraf命令详解(IP局域网监控工具) 发布时间:2017-12-27 20:46:03   作者:佚名    ...

  7. ArcGIS Engine中的Symbols详解

    转自原文 ArcGIS Engine中的Symbols详解 本文由本人翻译ESRI官方帮助文档.尊重劳动成果,转载请注明来源. Symbols ArcObjects用了三种类型的Symbol(符号样式 ...

  8. js路由在php上面使用,React中路由使用详解

    这次给大家带来React中路由使用详解,React中路由使用的注意事项有哪些,下面就是实战案例,一起来看一下. 路由 通过 URL 映射到对应的功能实现,React 的路由使用要先引入 react-r ...

  9. Linux中etc目录详解

    Linux中etc目录详解 /etc目录 包含很多文件.许多网络配置文件也在/etc 中. /etc/rc   or/etc/rc.d   or/etc/rc*.d   启动.或改变运行级时运行的sc ...

  10. java 自定义正则表达式_java中正则表达式实例详解

    Java中正则表达式运用实例(参看java中正则表达式运用详解): 测试代码 package test; /** * 在String的matches()方法,split()方法中使用正则表达式. * ...

最新文章

  1. MDaemon插件之Outlook connector客户端安装设置
  2. EMQ学习 ---集群
  3. Tomcat(1)介绍、jdk安装、安装Tomcat ​ 配置Tomcat监听80端口
  4. DataWorks 2021-08 产品月刊(含用户体验季刊!)
  5. oracle 数据库中数据导出到excel
  6. Intel INDE(集成原生开发人员体验)的Windows开发指导
  7. python xpath定位元素方法_Python爬虫杂记 - Xpath高级用法
  8. 小小突击队为什么服务器正在维护中,4399小小突击队3月20日5:30更新维护公告!...
  9. 《软件项目管理(第二版)》第 7 章——项目风险管理 重点部分总结
  10. redis相关(搭建和数据落盘)
  11. 常见SQL Server 2000漏洞及其相关利用2
  12. Could not find artifact org.olap4j:olap4j:pom:0.9.7.309-JS-3 in alimaven
  13. linux查看文件大小命令DU
  14. 三维空间坐标的旋转算法详解_任意旋转角三维空间直角坐标转换的迭代算法
  15. 数据可视化--实验三:空间可视化
  16. 组合数学+概率,期望+生成函数一文全精通
  17. Android仿射密码破译app
  18. 出现Cannot find module 'xxx' 错误
  19. threejs 制作产品3d展示页面
  20. 2018-2019ICPC焦作C题Supreme Command kd-tree

热门文章

  1. 电商中的订单号如何实现
  2. python中dot函数总结
  3. 大数据解决方案,案例分享
  4. java候选码计算的替换法_数据库闭包和候选码求解方法
  5. Oracle 实现 right 函数
  6. 苹果尝试支持AdobeFlash,结果尴尬了
  7. UE-战斗无止境的复刻
  8. 吴恩达机器学习课后作业Python实现(二):逻辑回归
  9. 2013年12月福建省广播电台网络影响力排名
  10. PFX文件解析及读取、写入、删除相关操作