In this post we will see 802.11ac performance using a 3702 with a Cisco 3850 WLC. I have used two 802.11ac clients (Samsung Galaxy S5 & Dell E7440 with Intel AC7260 NIC). Here is my topology for this post
As you can see below I have baseline my iPerf performance using two wired PC to ensure there is no throughput issue within the switch network (from 192.168.140.x to 192.168.20.x & vice versa). I have got 941 Mbps & 935 Mbps upstream & downstream throughput from a 1G wired port (192.168.20.55 host perspective).
C:\jperf-2.0.2\bin>iperf -c 192.168.140.53 -i 1 -t 120 -w 1M ------------------------------------------------------------ Client connecting to 192.168.140.53, TCP port 5001 TCP window size: 1.00 MByte ------------------------------------------------------------ [168] local 192.168.20.55 port 63781 connected with 192.168.140.53 port 5001 [ ID] Interval Transfer Bandwidth [168] 0.0- 1.0 sec 113 MBytes 948 Mbits/sec [168] 1.0- 2.0 sec 112 MBytes 941 Mbits/sec [168] 2.0- 3.0 sec 112 MBytes 941 Mbits/sec [168] 3.0- 4.0 sec 112 MBytes 941 Mbits/sec [168] 4.0- 5.0 sec 112 MBytes 941 Mbits/sec [168] 5.0- 6.0 sec 112 MBytes 941 Mbits/sec [168] 6.0- 7.0 sec 112 MBytes 941 Mbits/sec . . [168] 117.0-118.0 sec 112 MBytes 941 Mbits/sec [168] 118.0-119.0 sec 112 MBytes 941 Mbits/sec [168] 119.0-120.0 sec 112 MBytes 941 Mbits/sec [168] 0.0-120.0 sec 13.1 GBytes 941 Mbits/sec C:\jperf-2.0.2\bin>iperf -s -w 1M ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 1.00 MByte ------------------------------------------------------------ [268] local 192.168.20.55 port 5001 connected with 192.168.140.53 port 39059 [ ID] Interval Transfer Bandwidth [268] 0.0-120.0 sec 13.1 GBytes 935 Mbits/sec
To measure the wireless throughput, I have captured 802.11ac frames using OmniPeek protocol analyzer (to cross verify my iPerf results as well). In order to do that you have to configure a 3702 in sniffer mode. Here how you can do that on your 3850.
3850-1#ap name 3702-1-SNIFF mode ? local Local mode monitor Monitor mode se-connect Spectrum Expert Only Connect mode sniffer Wireless sniffer mode 3850-1#ap name 3702-1-SNIFF mode sniffer Changing the AP's mode will cause the AP to reboot. Are you sure you want to continue? (y/n)[y]: y
Once AP converted to sniffer mode, you can verify it as shown below.
3850-1#show ap summary Number of APs: 2 Global AP User Name: Not configured Global AP Dot1x User Name: Not configured AP Name AP Model Ethernet MAC Radio MAC State ---------------------------------------------------------------------------------------- 3702-1-SNIFF 3702I b838.617f.eb88 b838.6184.c670 Registered 3702-2 3702I b838.6159.eb7c b838.6199.1aa0 Registered 3850-1#show ap config general | in AP Name|AP Mode Cisco AP Name : 3702-1-SNIFF AP Mode : Sniffer AP Model : AIR-CAP3702I-Z-K9 Cisco AP Name : 3702-2 AP Mode : Local AP Model : AIR-CAP3702I-Z-K9 3850-1#show ap dot11 5ghz summary AP Name MAC Address Slot Admin State Oper State Channel Width TxPwr ------------------------------------------------------------------------------------------------------------------ 3702-1-SNIFF b838.6184.c670 1 Enabled Up 64* 20 1(*) 3702-2 b838.6199.1aa0 1 Enabled Up (149,153,157,161) 80 1( )
Since I want to capture 11ac traffic of my 3702-2, I have to set my sniffer AP channel to the same (149 in my case) & set the channel width to 80MHz.
3850-1#ap name 3702-1-SNIFF dot11 5ghz shutdown 3850-1#ap name 3702-1-SNIFF dot11 5ghz channel 149 3850-1#ap name 3702-1-SNIFF dot11 5ghz channel width 80 3850-1#ap name 3702-1-SNIFF no dot11 5ghz shutdown 3850-1# 3850-1# 3850-1#show ap dot11 5ghz summary AP Name MAC Address Slot Admin State Oper State Channel Width TxPwr ------------------------------------------------------------------------------------------------------------------ 3702-1-SNIFF b838.6184.c670 1 Enabled Up (149,153,157,161) 80 1(*) 3702-2 b838.6199.1aa0 1 Enabled Up (149,153,157,161) 80 1( )
Then you have to point the Sniffer AP to send capture traffic to OmniPeek running PC. Since I am using 802.11a band (802.11ac works only in 5GHz), capturing that as shown below.
3850-1#ap name 3702-1-SNIFF sniff ? dot11a 802.11a radio dot11b 802.11b radio 3850-1#ap name 3702-1-SNIFF sniff dot11a ? <0-4294967295> Enter a valid channel to be sniffed for 802.11a within Range 36-165, for 802.11b within Range 1 - 14 3850-1#ap name 3702-1-SNIFF sniff dot11a 149 ? A.B.C.D Enter Sniffer server (remote Airopeek) IP address X:X:X:X::X Enter Sniffer server (remote Airopeek) IP address 3850-1#ap name 3702-1-SNIFF sniff dot11a 149 192.168.20.55
I have configured an Open Auth WLAN called “OPEN” with the below configuration. Also I have disabled all data rates below 24Mbps & made 24Mbps as mandatory rates in 5GHz.
wlan OPEN 21 OPEN client vlan 140 no exclusionlist ip dhcp required ip flow monitor wireless-avc-basic input ip flow monitor wireless-avc-basic output radio dot11a no security wpa no security wpa akm dot1x no security wpa wpa2 no security wpa wpa2 ciphers aes security ft wmm require no shutdown ! ap dot11 5ghz edca-parameters optimized-video-voice ap dot11 5ghz rrm channel dca anchor-time 7 ap dot11 5ghz rrm channel dca chan-width 80 ap dot11 5ghz rrm channel dca interval 12 ap dot11 5ghz rrm channel device ap dot11 5ghz cleanair ap dot11 5ghz beamforming ap dot11 5ghz rate RATE_6M disable ap dot11 5ghz rate RATE_9M disable ap dot11 5ghz rate RATE_12M disable ap dot11 5ghz rate RATE_18M disable ap dot11 5ghz rate RATE_24M mandatory ap dot11 5ghz rate RATE_36M supported ap dot11 5ghz rate RATE_48M supported ap dot11 5ghz rate RATE_54M supported ap dot11 5ghz tsm
First I have tested this with my Samsung S5 client
3850-1#show wireless client summary Number of Local Clients : 2 MAC Address AP Name WLAN State Protocol -------------------------------------------------------------------------------- 6420.0ce0.2375 3702-2 21 UP 11n(5) 8438.385b.63d5 3702-2 21 UP 11ac 3850-1#show wireless client mac-address 8438.385b.63d5 detail | in AP Name|IPv4|Rate|dB|Proto|Channel :|BSSID AP Name: 3702-2 BSSID : b838.6199.1aaf Protocol : 802.11ac Channel : 149 IPv4 Address : 192.168.140.52 Current Rate : 12.5 Supported Rates : 24.0,36.0,48.0,54.0,24.0,36.0,48.0,54.0 Radio Signal Strength Indicator : -57 dBm Signal to Noise Ratio : 34 dB antenna0: 177 seconds ago -59 dBm antenna1: 177 seconds ago -50 dBm antenna1: 235 seconds ago -45 dBm
Here is the download performance of that client over 5 min interval. I got around 220Mbps.Here is the upload performance of that client where I got around 221Mbps as well.
Then I have done similar test while enabling Jumbo MTU on the 3850 switch.(I have rebooted the switch once do this configuration). Then enable the Jumbo-MTU on my 3702 as well.(This is my home test lab environment & no problem of enabling these sorts of feature, but in a production network you should be take care as this feature could impact certain things, like OSPF adjacency,etc)
3850-1(config)#system mtu 9198 Global Ethernet MTU is set to 9198 bytes. Note: this is the Ethernet payload size, not the total Ethernet frame size, which includes the Ethernet header/trailer and possibly other tags, such as ISL or 802.1q tags. ! 3850-1#ap name 3702-2 jumbo-mtu
Then on my Laptop Ethernet card I have enable the Jumbo frames (PC has to reboot to take effect). My other wired PC was BackTrack 5 where you can change MTU on Ethernet0 interface using “ifconfig eth0 mtu 8960” command.
With increased MTU , I have done the same baseline test again with TCP maximum segment size of 8960 bytes (-M 8960 in iperf) and as you can see it improved wired transfer performance slightly (941Mbps vs 971 Mbps for uploads & 935Mbps to 990 Mbps for download from 192.168.20.55 host perspective).
C:\jperf-2.0.2\bin>iperf -c 192.168.140.53 -i 1 -t 120 -w 1M -M 8960 ------------------------------------------------------------ Client connecting to 192.168.140.53, TCP port 5001 TCP window size: 1.00 MByte ------------------------------------------------------------ [168] local 192.168.20.55 port 59693 connected with 192.168.140.53 port 5001 [ ID] Interval Transfer Bandwidth [168] 0.0- 1.0 sec 117 MBytes 979 Mbits/sec [168] 1.0- 2.0 sec 116 MBytes 971 Mbits/sec [168] 2.0- 3.0 sec 116 MBytes 970 Mbits/sec [168] 3.0- 4.0 sec 116 MBytes 972 Mbits/sec [168] 4.0- 5.0 sec 116 MBytes 971 Mbits/sec [168] 5.0- 6.0 sec 116 MBytes 971 Mbits/sec [168] 6.0- 7.0 sec 116 MBytes 971 Mbits/sec . . [168] 118.0-119.0 sec 116 MBytes 971 Mbits/sec [168] 119.0-120.0 sec 116 MBytes 971 Mbits/sec [ ID] Interval Transfer Bandwidth [168] 0.0-120.0 sec 13.6 GBytes 971 Mbits/sec C:\jperf-2.0.2\bin>iperf -s -w 1M -M 8960 ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 1.00 MByte ------------------------------------------------------------ [268] local 192.168.20.55 port 5001 connected with 192.168.140.53 port 33597 [ ID] Interval Transfer Bandwidth [268] 0.0-120.0 sec 13.8 GBytes 990 Mbits/sec
From wireless perspective increased MTU helps if CAPWAP MTU size can be increased. In 3850/5760 controllers you can increased this to 1693 bytes from 1485 used with default settings. So with increased CAPWAP MTU, overhead is reduced to trasmit X amount of data bytes. 2304 bytes is the maximum size of MSDU in a layer 2 wireless frame.
3850-1#show ap config general | in MTU|AP Name Cisco AP Name : 3702-1-SNIFF CAPWAP Path MTU : 1485 Jumbo MTU Status : Disabled Cisco AP Name : 3702-2 CAPWAP Path MTU : 1693 Jumbo MTU Status : Enabled
Below shows the Samsung S5 download performance with given conditions. As you can see 5min average throughput increase to 237 Mbps compare to 220 Mpbs when CAPWAP use standard MTU-1485 bytes.
Here is the upload performance of the same client where 5min average of 220Mbps was observed. (no marginal difference to the value observed with standard MTU)
If you look at a packet in detail, you will see PHY data rate is 866.6 Mpbs (for two spatial stream device) for most of the frames (depend on RSSI/SNR,etc value can dynamically changed). But still data throughput is much below due to overhead/retransmit/etc. That’s why increased MTU helps to improve throuput (even though it is marginal). Below shows a captured frame during one of the test.
I have done a similar test with my Dell E7440 (with Intel AC7260 wireless NIC with driver version 17.1.0.19) and got below results.
3850-1#show wireless client mac-address 8086.f2cd.3c5f detail | in AP Name|IPv4|Rate|dB|Proto|Channel :|BSSID|Client MAC Client MAC Address : 8086.f2cd.3c5f AP Name: 3702-2 BSSID : b838.6199.1aaf Protocol : 802.11ac Channel : 149 IPv4 Address : 192.168.140.55 Current Rate : 12.0 Supported Rates : 24.0,36.0,48.0,54.0,24.0,36.0,48.0,54.0 Radio Signal Strength Indicator : -54 dBm Signal to Noise Ratio : 39 dB antenna0: 33 seconds ago -55 dBm antenna1: 33 seconds ago -51 dBm
Here is my laptop download throughput performance where I got 185Mbps over 5 min period. (much lower than the S5 237 Mpbs throughput 😯 )Here is my laptop upload throughput in given condition. As you can see I got 181Mbps average over 5 min period.(again much lower than S5 220Mbps 😯 )
So as per my testing Samsung S5 is performing much better than Intel AC7260 from 802.11ac throughput perspective. This time AC7260 had much better performance compare to the results when I tested with driver version 16.0.x. Still one would expect a Laptop wireless NIC should have better performance over to a mobile if both having same technical specification.
Related Posts
1. How Fast is Your Network – iPerf
2. How to capture 802.11ac Frames
3. 802.11ac with Cisco 3700
Is there a easy-quick method to find, the max stream capability of a client. For the access points, the datasheets are useful. finding the same for the client is a bit of an effort. What do you use?
Thanks for the awesome work.
Hi Vishal,
This is a good link that gives you most of what you wanted.
https://wikidevi.com/wiki/List_of_802.11ac_Hardware
HTH
Rasika
Perfect. This is good for 11ac clients. If you have come across similar for non 11ac clients too, that would be great.
Another thing to keep in mind will be to measure the throughput on the server side and not client. Why?
http://www.cisco.com/c/en/us/support/docs/dial-access/asynchronous-connections/10340-ttcp.html
“Note: The receiver-side results are slightly more accurate, since the transmitter might think it is finished after it performs the last write – that is, before the data has actually traversed the link”
The client/transmitter, reports the results the moment it sent out the packets from physical NIC, without waiting for the acks from them, from the receiver/server! It became more apparent when I did the following:-
C:\iperf>iperf -c 10.201.236.206 -w 1G
————————————————————
Client connecting to 10.201.236.206, TCP port 5001
TCP window size: 1.00 GByte
————————————————————
[ 3] local 10.201.236.222 port 64714 connected with 10.201.236.206 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.09 GBytes 931 Mbits/sec
For the above transfer the server had the following info:-
C:\iperf>iperf -s -w 1M
————————————————————
Server listening on TCP port 5001
TCP window size: 1.00 MByte
————————————————————
[ 4] local 10.201.236.206 port 5001 connected with 10.201.236.222 port 64714
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-120.0 sec 1.09 GBytes 77.7 Mbits/sec
Client here is a wired machine, and server is a wireless client on the same switch, where LAP is.
Server took 120 seconds, to transfer this 1GB of data reliably, however client wrapped up the test as soon it could push the 1GB out of its stack. So I think iperf server stat is the right place to look at & not the client.
Kindly let me know what you think about the above.
Nayarasi,
I am trying to run one of the same test that you did with a Cisco 3702 AP, a Cisco 5508 WLC and a Samsung Galaxy S5 with Andoid 5.1.
I am unable to get the phone connect at the a higher throughput rate of 400 Mbps and up when connecting to the 5Ghz 802.11ac through the radio. The highest throughput rate I am receiving is 173 Mbps.
Did you have any issues with connecting your S5 to the 802.11ac radio on the 3702 AP ?
Did you set DCA Channel Width to 80MHz under 802.11a/ac band ?
I did not face any issue with this
Rasika
I don’t konw if you still monitor this thread or not – but thank you for sharing this information. Nothing on the internet is better on the 3850 than your set of articles.
I swiched form a 3560 switch and 5508 WLC to a 3850 unified architecture device (running 16.3.6 – denali). Mostly to save some power in this small installation and also for noise since the 3850 modulates the fan speeds and the 5508 does not.
My performance in this conversion has become terrible. Same (3) 3602 access points with AC modules.
No devices connect AC any more – they all connect N.
Lots of coverage holes – had none before – APs haven’t moved.
Associaton of AP has been a problem due to expired certificates (5508 had an ignore work-around, can’t find such a workaround on the 3650FS-48-E).
I would love to find a recommended GUI settings (or a full “show run” of the CLI).
Do you have any thoughts? I can’t find a better expert than you on the net and I want very badly to love this device, but it is looking like an abandoned “red-headed step-child” for CISCO (as evidenced by the fact they no longer include Wireless Controller functionality at all.
Am I better falliing back to 3.X instead of working in the 16.X.X series? Did it work better?
Thanks in advance for any time you care to spend sharing wisdom and hard-earned experience with me.
Hello,
Thank you for the compliments.
Since I deployed Converged Access in 2014 did those posts and many found it useful even today.
My advice is to move on from that as Cisco is no longer supporting it. If IOS-XE 3.7.x doing a good job with Wireless, then no need to go for 16.x.
If performance is not that great, I do not think you can do much about it unless you moved out of that completely.
HTH
Rasika