802.11: 理解ADDTS之U-APSD

ADDTS是ADD Traffic Stream的缩写,是一种属于Qos Category的管理帧。

Traffic Stream是传输流,具体而言,是流的属性是什么?速率,带宽,延时要求,因此它体现了Qos的需求。

STA如果想传输一种特定的TS,它需要事先通过TSPEC机制向AP提出申请。比如说,一个WLAN设备想使用Voice (VO) AC,那它必须先提出申请

对于Best(BE)和Background(BK) ACs, 则不需要TSPEC机制

TSPEC element存在于association frames以及ADDTS action frame中

比如当我们想使用思科的WLAN设备(WLC)进行语音通话,那可能是没有将设备设置为白金Qos profile。这是对应语音的Qos级别。

其余的三种依次是黄金Qos(Gold/Video),白银Qos(Silver/Best Effort),以及青铜Qos(Bronze/Background)。

在WLC  CLI界面上,使用 'debug cac all enable' 命令进行debug,就应该会出现下面的结果。

这里显示AP接收到1a地址的STA的VO TS(tsid = 6/up =6/tid=6/ac=2)的ADD请求。但是reject了。

(WLC1) >debug cac all enable 
(WLC1) >*apfMsConnTask_0: Mar 19 19:38:26.182: 00:1b:d4:58:e6:1a Got LBCAC Metrics IE:
*apfMsConnTask_0: Mar 19 19:38:26.182: 00:1b:d4:58:e6:1a ADD TS from mobile  on AP 54:75:d0:3e:80:b0 slotId 1
up = 6, tid = 6, upsd = 1, mediumTime = 714, TSRSIE No
*apfMsConnTask_0: Mar 19 19:38:26.182: 00:1b:d4:58:e6:1a up=6 tsid=6 direc=3
NomMsduSize=208
MaxMsduSize=208
MinServIntvl=0
MaxServIntvl=0
InactIntval=0
MinDataRate=83200
MeanDataRate=83200
PeakDataRate=83200
MinPhyRat
*apfMsConnTask_0: Mar 19 19:38:26.182: 00:1b:d4:58:e6:1a TSPEC from mobile rejected (ac = 2, up = 6) as per WLAN QoS setting
*apfMsConnTask_0: Mar 19 19:38:26.182: 
Not including un-operational rate 6 in TSRS IE 
*apfMsConnTask_0: Mar 19 19:38:26.182: 
Not including un-operational rate 12 in TSRS IE 
*apfMsConnTask_0: Mar 19 19:38:26.182: 00:1b:d4:58:e6:1a Sending Failed ADD TS resp to mobile  on AP 54:75:d0:3e:80:b0 slotId 1

一个配置没有问题的mesage应该是下面这样的:

(WLC1) >*apfMsConnTask_0: Mar 19 19:46:08.897: 00:1b:d4:58:e6:1a Got LBCAC Metrics IE:
*apfMsConnTask_0: Mar 19 19:46:08.897: 00:1b:d4:58:e6:1a ADD TS from mobile  on AP 54:75:d0:3e:80:b0 slotId 1
up = 6, tid = 6, upsd = 1, mediumTime = 1072, TSRSIE No
*apfMsConnTask_0: Mar 19 19:46:08.897: 00:1b:d4:58:e6:1a up=6 tsid=6 direc=3
NomMsduSize=208
MaxMsduSize=208
MinServIntvl=0
MaxServIntvl=0
InactIntval=0
MinDataRate=83200
MeanDataRate=83200
PeakDataRate=83200
MinPhyRat
*apfMsConnTask_0: Mar 19 19:46:08.897: Current TSPEC dir 3, ac 2, up 6, tsid 6
*apfMsConnTask_0: Mar 19 19:46:08.897: 00:1b:d4:58:e6:1a ACCEPT: first TSPEC on this AC 2
*apfMsConnTask_0: Mar 19 19:46:08.897: Max stream Size is 168000
*apfMsConnTask_0: Mar 19 19:46:08.897: Max streams number is 2
*apfMsConnTask_0: Mar 19 19:46:08.897: LBCAC Metrics:td=0, tw=0, tu_vc=0, tdr=0 pb=0, pv=0, qo=0, rd=0, pb_v=0 no=0, pkts=0, num_clients=0
*apfMsConnTask_0: Mar 19 19:46:08.897: LBCAC Stats->: 
Total BW available (in MT) = 26562 
Total BW available for voice (in MT) = 23437 
Voice BW exhausted (in MT) = 0 
*apfMsConnTask_0: Mar 19 19:46:08.897: 00:1b:d4:58:e6:1a LBCAC checks for tspec PASSED for ms on AP 54:75:d0:3e:80:b0 slotId 1 bw_req = 1072, totAvailable MT for tspecs = 22031 tx_queue_req = 20, current tx queue util = 0
*apfMsConnTask_0: Mar 19 19:46:08.897: 00:1b:d4:58:e6:1a Allocating voice bw for ms on AP AP5475.d0dd.a488 54:75:d0:3e:80:b0 slotId 1
tid = 6 maxBw = 23437 bw_req = 1072 totalVoiceBwAlloc = 1072
*apfMsConnTask_0: Mar 19 19:46:08.897: LBCAC Na Stats->: 
Total BW available (in MT) = 25490 
Total BW available for voice (in MT) = 22365 
Na for direct calls = 19 
Na for roaming in calls = 20 
*apfMsConnTask_0: Mar 19 19:46:08.897: 00:1b:d4:58:e6:1a sending ADD TS to AP  54:75:D0:3E:80:B0 slotId 1, for client  00:1B:D4:58:E6:1A 
tid = 6 up = 6, upsd = 1, bw = 1072
*apfMsConnTask_0: Mar 19 19:46:08.897: 
Not including un-operational rate 6 in TSRS IE 
*apfMsConnTask_0: Mar 19 19:46:08.897: 00:1b:d4:58:e6:1a Sending Successfull ADD TS resp to mobile  on AP 54:75:d0:3e:80:b0 slotId 1
*spamReceiveTask: Mar 19 19:46:08.897: 54:75:d0:3e:80:b0 AP  slotId 1 voiceBw = 23437 videoBw = 18750 voiceBwAlloc = 1072 videoBwAlloc = 0 availBw = 41115
*apfMsConnTask_0: Mar 19 19:46:15.267: 00:1b:d4:58:e6:1a Received TCLAS IE, Count=1
*apfMsConnTask_0: Mar 19 19:46:15.268: 00:1b:d4:58:e6:1a Received TCLAS PROCESSING Element IE
*apfMsConnTask_0: Mar 19 19:46:15.268: 00:1b:d4:58:e6:1a Got LBCAC Metrics IE:
*apfMsConnTask_0: Mar 19 19:46:15.268: 00:1b:d4:58:e6:1a ADD TS from mobile  on AP 54:75:d0:3e:80:b0 slotId 1
up = 6, tid = 6, upsd = 1, mediumTime = 1072, TSRSIE No
*apfMsConnTask_0: Mar 19 19:46:15.268: 00:1b:d4:58:e6:1a up=6 tsid=6 direc=3
NomMsduSize=208
MaxMsduSize=208
MinServIntvl=0
MaxServIntvl=0
InactIntval=0
MinDataRate=83200
MeanDataRate=83200
PeakDataRate=83200
MinPhyRat
*apfMsConnTask_0: Mar 19 19:46:15.268: Current TSPEC dir 3, ac 2, up 6, tsid 6
*apfMsConnTask_0: Mar 19 19:46:15.268: 00:1b:d4:58:e6:1a TSID 6,--  AC 2,-- UP 6-- dir 3
*apfMsConnTask_0: Mar 19 19:46:15.268: 00:1b:d4:58:e6:1a apfWmmOneTspecPerAcCheck Count of numbers 1
*apfMsConnTask_0: Mar 19 19:46:15.268: 00:1b:d4:58:e6:1a ACCEPT: simple replacement
*apfMsConnTask_0: Mar 19 19:46:15.268: Max stream Size is 168000
*apfMsConnTask_0: Mar 19 19:46:15.268: Max streams number is 2
*apfMsConnTask_0: Mar 19 19:46:15.268: LBCAC Metrics:td=0, tw=12, tu_vc=0, tdr=0 pb=0, pv=0, qo=0, rd=0, pb_v=0 no=0, pkts=0, num_clients=0
*apfMsConnTask_0: Mar 19 19:46:15.268: LBCAC Stats->: 
Total BW available (in MT) = 26562 
Total BW available for voice (in MT) = 23437 
Voice BW exhausted (in MT) = 0 
*apfMsConnTask_0: Mar 19 19:46:15.268: 00:1b:d4:58:e6:1a sending DEL_TS to AP  54:75:D0:3E:80:B0 slotId 1, for client  00:1B:D4:58:E6:1A 
tid = 6 up = 6, upsd = 1, inactive = 0
*apfMsConnTask_0: Mar 19 19:46:15.268: LBCAC Na Stats->: 
Total BW available (in MT) = 27634 
Total BW available for voice (in MT) = 24509 
Na for direct calls = 21 
Na for roaming in calls = 22 
*apfMsConnTask_0: Mar 19 19:46:15.268: 00:1b:d4:58:e6:1a Free voice bw for mobile on AP 54:75:d0:3e:80:b0 slotId 1tid = 6 bw_free = 1072 totalVoiceBwAlloc = 0
*apfMsConnTask_0: Mar 19 19:46:15.268: LBCAC Na Stats->: 
Total BW available (in MT) = 26562 
Total BW available for voice (in MT) = 23437 
Na for direct calls = 20 
Na for roaming in calls = 21 
*apfMsConnTask_0: Mar 19 19:46:15.268: 00:1b:d4:58:e6:1a sending ADD TS to AP  54:75:D0:3E:80:B0 slotId 1, for client  00:1B:D4:58:E6:1A 
tid = 6 up = 6, upsd = 1, bw = 1072
*apfMsConnTask_0: Mar 19 19:46:15.268: 00:1b:d4:58:e6:1a Accept TspecId=6 UP=6 Op=1 (1 is OR)
*apfMsConnTask_0: Mar 19 19:46:15.268: 00:1b:d4:58:e6:1a   tclas1 mask=0x55 srcIp=0.0.0.0 dstIp=10.10.14.54
*apfMsConnTask_0: Mar 19 19:46:15.268: 00:1b:d4:58:e6:1a          srcPort=0 dstPort=17008 proto=17 dscp=0
*apfMsConnTask_0: Mar 19 19:46:15.268: Disabling NPU TCLAS check as tclas count is 0
*apfMsConnTask_0: Mar 19 19:46:15.269: DisableNpuTclasCheck status is 0
*apfMsConnTask_0: Mar 19 19:46:15.269: 
Not including un-operational rate 6 in TSRS IE 
*apfMsConnTask_0: Mar 19 19:46:15.269: 00:1b:d4:58:e6:1a Build TCLAS IE for tid=6:
*apfMsConnTask_0: Mar 19 19:46:15.269: 00:1b:d4:58:e6:1a   UP=6 classType=0x1 classMask=0x55 version=4
*apfMsConnTask_0: Mar 19 19:46:15.269: 00:1b:d4:58:e6:1a     srcIp=0.0.0.0 dstIp=10.10.14.54 srcPort=0 dstPort=17008
*apfMsConnTask_0: Mar 19 19:46:15.269: 00:1b:d4:58:e6:1a     dscp=0 proto=17 reserved=0
*apfMsConnTask_0: Mar 19 19:46:15.269: 00:1b:d4:58:e6:1a Build TSTAT IE: tid=6 UP=6 status=Success
*apfMsConnTask_0: Mar 19 19:46:15.269: 00:1b:d4:58:e6:1a Sending Successfull ADD TS resp to mobile  on AP 54:75:d0:3e:80:b0 slotId 1
*spamReceiveTask: Mar 19 19:46:15.269: 54:75:d0:3e:80:b0 AP  slotId 1 voiceBw = 23437 videoBw = 18750 voiceBwAlloc = 1072 videoBwAlloc = 0 availBw = 41115
*spamReceiveTask: Mar 19 19:46:15.270: 54:75:d0:3e:80:b0 AP  slotId 1 voiceBw = 23437 videoBw = 18750 voiceBwAlloc = 1072 videoBwAlloc = 0 availBw = 41115
*apfMsConnTask_0: Mar 19 19:46:18.255: 00:1b:d4:58:e6:1a DEL TS from mobile on AP 54:75:d0:3e:80:b0 slotId 1up = 6, tid = 6, bw deleted = 1072
*apfMsConnTask_0: Mar 19 19:46:18.255: 00:1b:d4:58:e6:1a sending DEL_TS to AP  54:75:D0:3E:80:B0 slotId 1, for client  00:1B:D4:58:E6:1A 
tid = 6 up = 6, upsd = 1, inactive = 0
*apfMsConnTask_0: Mar 19 19:46:18.255: LBCAC Na Stats->: 
Total BW available (in MT) = 27634 
Total BW available for voice (in MT) = 24509 
Na for direct calls = 21 
Na for roaming in calls = 22 
*apfMsConnTask_0: Mar 19 19:46:18.255: 00:1b:d4:58:e6:1a Free voice bw for mobile on AP 54:75:d0:3e:80:b0 slotId 1tid = 6 bw_free = 1072 totalVoiceBwAlloc = 0
*apfMsConnTask_0: Mar 19 19:46:18.255: 00:1b:d4:58:e6:1a Delete TCLAS of tid=6
*apfMsConnTask_0: Mar 19 19:46:18.256: Disabling NPU TCLAS check as tclas count is 0
*apfMsConnTask_0: Mar 19 19:46:18.256: DisableNpuTclasCheck status is 0
*spamReceiveTask: Mar 19 19:46:18.256: 54:75:d0:3e:80:b0 AP  slotId 1 voiceBw = 23437 videoBw = 18750 voiceBwAlloc = 0 videoBwAlloc = 0 availBw = 42187

言归正传,对于u-apsd来说,需要配置对应的AC是delivery enabled或者triggered enabled ,或者两者都可。分别对应AP可以buffer相应的AC的数据,或者STA可以trigger 相应AC的数据。

扫描二维码关注公众号,回复: 11856845 查看本文章

通过TSPEC的TS info field的APSD以及direction来进行:

APSD = 1;

direction 为  ‘0‘  -ul/trigger enabled

                    ‘1’  -dl/delivery enabled

                    '3'  -bi/both trigger/delivery enabled

                    '2'  -对应non-AP STA直连

猜你喜欢

转载自blog.csdn.net/reekyli/article/details/108671004