QoS/WMM (EDCA)
来源:互联网 发布:滴滴接单软件 编辑:程序博客网 时间:2024/06/04 19:14
For QoS/WMM (EDCA) a mac80211 driver needs to have at least four queues. mac80211 will then program the queues according to the advertised access parameters.
Legend:
MQ: mac80211 queue
AC: Access Class
ACI: Access Class Index
mac80211 queue mapping:
AC
MQ
BK
3
BE
2
VI
1
VO
0
802.11 uses the following number scheme (cf. Table 7-36)
AC
ACI
BK
01 (1)
BE
00 (0)
VI
10 (2)
VO
11 (3)
Therefore, we have:
AC
ACI
MQ
BK
1
3
BE
0
2
VI
2
1
VO
3
0
Due to internal collisions (we don't really know what this means either) the queue numbering is important, and queue 0 is highest priority, 3 lowest. If your hardware has a different idea of queue priority, you may need to rewrite the queue number, but make sure to do it everywhere mac80211 passes a queue number (conf_tx, skb_get_queue_mapping).
The user priority is used as follows (802.11-2007 table 9-1):
UP
AC
Priority
1
BK
Lowest
2
BK
.
0
BE
.
3
BE
.
4
VI
.
5
VI
.
6
VO
.
7
VO
Highest
TOS:
mac80211 currently determines the UP based only on the IPv4 TOS field, unless the packet priority is set to 256..263 with setsockopt(SO_PRIORITY), in which case this maps directly to the UP (priority - 256) for testing.
The IPv4 TOS field maps into the UP as follows, but keep in mind that the lowest two bits of the TOS are reserved (or used for ECN):
TOS
UP
0 - 31
0
32 - 63
1
...
224 - 255
7
DSCP (RFC 2474):
Alternatively you can set the IP_TOS with setsockopt, then you need to ask how DSCP maps into the UP. DSCP is defined in the Differentiated Services (DiffServ) model as the six most significant bits of theDiffServ(DS) Field.
DS5 (P2)
DS4 (P1)
DS3 (P0)
DS2
DS1
DS0
ECN
ECN
The classes of DSCP in wide usage are:
DSCP Class
Codepoint(s)
Default
0x00
Expedited Forwarding (EF)
0x2E
Assured Forwarding (AF1)
0xA, 0xC, 0xE
Assured Forwarding (AF2)
0x12, 0x14, 0x16
Assured Forwarding (AF3)
0x1A, 0x1C, 0x1E
Assured Forwarding (AF4)
0x22, 0x24, 0x26
The 3 Precedence bits of DSCP (P2, P1, P0) are used for mapping to 802.1D tags and AC values as:
P2 P1 P0
802.1D
AC
0 0 0
0
BE
0 0 1
1
BK
0 1 0
2
BK
0 1 1
3
BE
1 0 0
4
VI
1 0 1
5
VI
1 1 0
6
VO
1 1 1
7
VO
Testing:
- Use ping ( with -Q option, see manpage )
use iperf: iperf -S 0xE0 -c <IP>
- Use iptables. Example session with 2 iperf streams:
- iptables -t mangle -A OUTPUT -p tcp –dport 5000 -j DSCP –set-dscp-class "EF"
- iptables -t mangle -A OUTPUT -p tcp –dport 5001 -j DSCP –set-dscp-class "BE"
- 打印视图
- 登录
- About this site
- QoS/WMM (EDCA)
- WLAN 配置指导 WMM EDCA
- QoS
- QoS
- QoS
- qos
- QoS
- QOS
- QOS
- QOS
- 路由器中的WMM
- (五)EDCA机制详解
- 802.11e (Quality of Service) : EDCA
- WMM: WiFi MultiMedia WiFi多媒体应用
- AP开启WMM后STA无法认证
- wmm与802.11N的关系
- Qos技术
- QoS -- 802.11
- inline-block兼容性问题及解决
- corba知识
- BBB学习之——串口配置
- 微软宣布.NET开发环境开源 支持三大操作系统-随笔
- 一步一步学习Swift之(二):好玩的工具playground与swfit基础语法
- QoS/WMM (EDCA)
- OpenGIS应用(2)- GeoServer SLD
- 第12周项目3.1 编写递归函数求出n的阶乘
- Linux programmers, learn the difference between EACCES and EPERM already!
- C#关于GDI+绘图(二)
- Longest Valid Parentheses
- protues数据传送问题
- json数据加入 select 中
- 【乐意黎原创】Sublime Text 3 license 一个 供研究使用