日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

80211 发送速率选择算法分析

發布時間:2023/12/10 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 80211 发送速率选择算法分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉:https://blog.csdn.net/junglefly/article/details/48974077

?

1. 介紹
《802.11無線網絡權威指南? 第二版》中對于選速和降速的描述:

市面上所有802.11接口均支持某種降速機制,可以根據不同網絡環境調整所使用的數據傳輸速率。速率選擇主要決定一張網卡該在何時提高速率以提高鏈路品質。802.11標準并未規范工作站如何決定降速(或者升速),因此速率選擇如何實現就留給芯片組廠商自行決定。幾乎所有芯片組具有自己的一套選速機制,因此大多數802.11接口的操作方式均有所不同。速率選擇是可編程的,一般由驅動程序控制。

最常被用來判斷何時應該變速的算法,其實是通過一些不是那么嚴格的信號質量測量。信號質量可以直接就信噪比加以測量,或者間接觀察有多少幀需要重傳。直接測量信噪比可以針對最近一個幀的瞬間信號質量,或者就最近一段時間所接收到的一定數量的幀取平均數。有些芯片會直接測量信噪比,不過隨后會將之轉換為相應的“信號質量signal quality”。當信號質量變差,芯片就會以降速來應變。

至于間接測量,則是監測瞬間或者平均遺失多少幀,然后予以適當補償。采用間接測量的算法簡單來說就是:如果幀已經遺失且幀重試計數器已經用盡,那就降速到下一檔,然后重試一遍。反復進行以上步驟直到幀送出,或者一直嘗試到以最低速率都無法成功傳送為止。采用間接信號質量測量的芯片組或許會稍微修改上述算法,以避免耗費過多時間在物理層所支持的所有速度間逐次降速。尤其是近來的芯片組均支持不少的速率,在較低速率上反復重試將會相當費時。

?

1.1 發送速率的選擇
?

代碼中的數據結構如下所示:

?

/* MIMO Tx parameter, ShortGI, MCS, STBC, etc.? these are fields in TXWI. Don't change this definition!!! */

typedef union _HTTRANSMIT_SETTING {

#ifdef RT_BIG_ENDIAN

???????? struct {

?????????????????? USHORT MODE:2;?? /* Use definition MODE_xxx. */

?????????????????? USHORT iTxBF:1;

?????????????????? USHORT rsv:1;

?????????????????? USHORT eTxBF:1;

?????????????????? USHORT STBC:2;????? /* SPACE */

?????????????????? USHORT ShortGI:1;

?????????????????? USHORT BW:1;???????? /* channel bandwidth 20MHz or 40 MHz */

?????????????????? USHORT MCS:7;?????? /* MCS */

???????? } field;

#else

???????? struct {

?????????????????? USHORT MCS:7;?????? /* MCS */

?????????????????? USHORT BW:1;???????? /* channel bandwidth 20MHz or 40 MHz */

?????????????????? USHORT ShortGI:1;

?????????????????? USHORT STBC:2;????? /* SPACE */

?????????????????? USHORT eTxBF:1;

?????????????????? USHORT rsv:1;

?????????????????? USHORT iTxBF:1;

?????????????????? USHORT MODE:2;?? /* Use definition MODE_xxx. */

???????? } field;

#endif

???????? USHORT word;

} HTTRANSMIT_SETTING, *PHTTRANSMIT_SETTING;

?

?

?

由上面的代碼可知:

* ?Ralink是通過APHardTransmit函數來發送所有的幀的。而驅動在發送數據時的速率是直接用節點的成員變量PMacEntry->HTPhyMode;

* ?在發送一個報文時,它找到對應的節點,就可以取出當前的速率。

* ?至于PMacEntry->HTPhyMode,driver中是通過APMlmeDynamicTxRateSwitching函數(call this routine every second ,walk through MAC table, see if need to change AP's TX rate towardeach entry)來實現對每個節點的速率的周期性維護。

?

2. 算法分析
2.1 算法的流程
在算法中會使用到如下的速率表,算法中會使用該表中的TrainUp以及TrainDown來決定是降速還是升速。

如下是傳輸速率表的一個例子:

?

UCHAR RateSwitchTable[] = {

/* Item No.?? Mode?? Curr-MCS?? TrainUp?? TrainDown????????????????

Mode- Bit0: STBC, Bit1: Short GI, Bit4,5: Mode(0:CCK, 1:OFDM, 2:HT Mix, 3:HT GF)*/

??? 0x11, 0x00,? 0,? 0,? 0,?????????????????? /* Initial used item after association;連接后剛開始使用這個速率表項*/

??? 0x00, 0x00,? 0, 40, 101,

??? 0x01, 0x00,? 1, 40, 50,

??? 0x02, 0x00,? 2, 35, 45,

??? 0x03, 0x00,? 3, 20, 45,

??? 0x04, 0x21,? 0, 30, 50,

??? 0x05, 0x21,? 1, 20, 50,

??? 0x06, 0x21,? 2, 20, 50,

??? 0x07, 0x21,? 3, 15, 50,

??? 0x08, 0x21,? 4, 15, 30,

?? ?0x09, 0x21,? 5, 10, 25,

??? 0x0a, 0x21,? 6,? 8, 25,

??? 0x0b, 0x21,? 7,? 8, 25,

??? 0x0c, 0x20, 12,? 15, 30,

??? 0x0d, 0x20, 13,? 8, 20,

??? 0x0e, 0x20, 14,? 8, 20,

??? 0x0f, 0x20, 15,? 8, 25,

??? 0x10, 0x22, 15,? 8, 25,

??? 0x11, 0x00,? 0,? 0,? 0,

??? 0x12, 0x00,? 0,? 0,? 0,

??? 0x13, 0x00,? 0,? 0,? 0,

??? 0x14, 0x00,? 0,? 0,? 0,

??? 0x15, 0x00,? 0,? 0,? 0,

??? 0x16, 0x00,? 0,? 0,? 0,

??? 0x17, 0x00,? 0,? 0,? 0,

??? 0x18, 0x00,? 0,? 0,? 0,

??? 0x19, 0x00,? 0,? 0,? 0,

??? 0x1a, 0x00,? 0,? 0,? 0,

??? 0x1b, 0x00,? 0,? 0,? 0,

??? 0x1c, 0x00,? 0,? 0,? 0,

??? 0x1d, 0x00,? 0,? 0,? 0,

??? 0x1e, 0x00,? 0,? 0,? 0,

??? 0x1f, 0x00,? 0,? 0,? 0,

};

?

表項對應的數據結構為:

typedef struct _RTMP_TX_RATE_SWITCH

{

???????? UCHAR?? ItemNo;

#ifdef RT_BIG_ENDIAN

???????? UCHAR???? Rsv2:2;

???????? UCHAR???? Mode:2;

???????? UCHAR???? Rsv1:1;????

???????? UCHAR???? BW:1;

???????? UCHAR???? ShortGI:1;

???????? UCHAR???? STBC:1;

#else

???????? UCHAR???? STBC:1;

???????? UCHAR???? ShortGI:1;

???????? UCHAR???? BW:1;

???????? UCHAR???? Rsv1:1;

???????? UCHAR???? Mode:2;

???????? UCHAR???? Rsv2:2;

#endif??????

???????? UCHAR?? CurrMCS;

???????? UCHAR?? TrainUp;

???????? UCHAR?? TrainDown;

} RTMP_TX_RATE_SWITCH, *PRTMP_TX_RATE_SWITCH;

?

上面的接口中我們重點關注TrainUp和TrainDown。

如果發包錯誤率(PER: Packet Error Rate)大于等于TrainDown,并且一秒鐘內發包數量大于一定數值,Driver就會選擇降速;

如果發包錯誤率小于等于TrainUp, 并且一秒鐘內發包數量大于一定數值,Driver就會選擇升速;

??算法流程參見下圖:

?

?

?

2.2算法的分析
* ?如果上一秒統計的總的發送報文數<=15,那么僅根據Rssi來選擇發送的速率,原則是選擇出滿足RSSI條件的最大的發送速率;

* ?如果發送報文個數>15個,根據發包錯誤率來決定未來的傳輸速度。

? ? ? ?# ?如果發包錯誤率(PER: Packet Error Rate)大于等于TrainDown,Driver就會選擇降速;

? ? ? ?# ?如果發包錯誤率小于等于TrainUp,Driver就會選擇升速;

?
---------------------
作者:飛越叢林
來源:CSDN
原文:https://blog.csdn.net/junglefly/article/details/48974077
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

轉載于:https://www.cnblogs.com/newjiang/p/10804495.html

總結

以上是生活随笔為你收集整理的80211 发送速率选择算法分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成年人毛片 | 国产精品网站入口 | 日本真人做爰免费视频120秒 | 极品色av影院 | 九九热播视频 | 人人模人人爽 | 女人喂男人奶水做爰视频 | 成人一级影片 | 97视频在线免费观看 | 蜜桃无码一区二区三区 | 日韩一区免费视频 | 午夜精品久久久久久久91蜜桃 | 91精品一区二区三区在线观看 | 艳母在线视频 | 亚洲精品无码成人 | 午夜激情网 | 免费网站观看www在线观看 | 亚洲每日更新 | 精品人妻无码一区二区 | 狼人香蕉 | 亚洲国产精品久久久久 | 午夜性色福利影院 | 国产精品夫妻自拍 | zjzjzjzjzj亚洲女人 | 中文字幕一区二区三区四区视频 | 成人av一区二区三区在线观看 | 白浆在线 | 亚洲精品天堂成人片av在线播放 | 五月涩 | 婷婷综合网站 | 年代下乡啪啪h文 | 久久久999成人 | 一区二区三区在线视频免费观看 | 日韩视频一区 | av爽妇网 | 国产精品国产三级国产专播品爱网 | 多啪啪免费视频 | 高跟肉丝丝袜呻吟啪啪网站av | 国产成人综合精品 | 美女伊人网 | 久久久免费网站 | 日本成人在线免费 | 国产伦精品一区二区三区视频女 | 97久久人国产精品婷婷 | 亚洲欧美综合视频 | 欧洲成人一区二区三区 | 中国av在线播放 | 中文日韩在线 | 日本免费视频 | 欧美人与性动交g欧美精器 国产在线视频91 | 91人人爽 | 国产欧美一区二区三区国产幕精品 | 欧美日韩激情一区 | 久久久久爱 | 成人久久久久 | 久久精品国产77777蜜臀 | 性激烈视频在线观看 | 丰满少妇xoxoxo视频 | 天天摸夜夜爽 | 久久精品国产清自在天天线 | 小sao货水好多真紧h无码视频 | 五月婷婷小说 | 欧美黑人一级 | 最新不卡av| 男同激情视频 | 亚洲欧美日韩在线看 | 美女精品一区 | 日韩在线激情 | 亚洲福利一区二区三区 | 蜜桃av成人 | 极品一区 | 欧美一级免费在线观看 | 污视频在线观看免费 | 夜夜夜撸 | 亚洲乱熟女一区二区三区小说 | 美女又爽又黄视频 | 在线观看va | 国产精品腿扒开做爽爽爽挤奶网站 | 国产精品911 | 毛片久久久久久 | 日本女优黄色 | 中文字幕一区二区三区精品 | 欧美性猛交xxxx乱大交hd | 日本精品一区二区三区四区的功能 | 国产精品v | 插插射射 | 欧美一区二区三区精品 | 国产一区二区三区黄 | 午夜免费福利视频 | 不良视频在线观看 | 啪啪一级片 | 国产高清视频免费 | 国产乱国产乱300精品 | 99这里只有 | 黄色成人免费视频 | 日批免费在线观看 | 天堂新版8中文在线8 | 久久久久久婷婷 | 色综合久久久久久久 |