In this post we will see the Queuing models available on this 3850 switch platforms. Due to the nature of Converged Access, there are separate queuing models for wired & wireless ports (any port directly attached to an AP)
A wireless port will provide 4 independent queues & in contrast a wired port will provide upto 8 queues. This 8 queue models will closely align with 4500/6500 queuing architecture & therefore much easier to align with QoS policies.
Basic architecture of this platform provides 24x1G access ports & 2x10G uplinks per ASIC (Application Specific Integrated Circuit) to 120G stack connection.(In 48 port switch has 2x ASIC). This also provide two seperate internal queues over the stack ring, giving access to the priority traffic & non-priority traffic. Ingress queuing is not configurable. Below diagram provide basic stack architecture of this platform.
In Egress Queuing, we can discuss this as Wired Egress & Wireless Egress queuing separately as queuing model is different in each scenario.
1. Wired Queuing
Egress wired queuing on the 3850 can be configured as 8Q3T, 1P7Q3T or 2P6Q3T. Since first one does not have priority queuing it is not recommended. If your core/distribution is having 4500/6500 platforms both share the 1P7Q3T model, so if you using 3850, you can easily align policies with your core/distribution.
- 1P7Q3T : Below diagram illustrate the 1P7Q3T egress queue mappings for a 3850 using 8-class model. The recommended buffer allocations for wired interface queues 7 through 1 are 10%, 10% 10%, 10%,10%, 10%,25%. By using “queue buffer-ratio” command you can configure this.
Below show the corresponding configuration for an 8-class 1P7Q3T egress queuing on a 3850.
C3850(config-pmap-c)# policy-map 1P7Q3T C3850(config-pmap)# class VOICE C3850(config-pmap-c)# priority level 1 C3850(config-pmap-c)# police rate percent 10 ! C3850(config-pmap-c-police)# class NW-CONTROL C3850(config-pmap-c)# bandwidth remaining percent 5 C3850(config-pmap-c)# queue-buffers ratio 10 ! C3850(config-pmap-c)# class INT-VIDEO C3850(config-pmap-c)# bandwidth remaining percent 23 C3850(config-pmap-c)# queue-buffers ratio 10 C3850(config-pmap-c)# queue-limit dscp af43 percent 80 C3850(config-pmap-c)# queue-limit dscp af42 percent 90 C3850(config-pmap-c)# queue-limit dscp af41 percent 100 ! C3850(config-pmap)# class SIGNALING C3850(config-pmap-c)# bandwidth remaining percent 2 ! C3850(config-pmap-c)# class STREAMING-VIDEO C3850(config-pmap-c)# bandwidth remaining percent 10 C3850(config-pmap-c)# queue-buffers ratio 10 C3850(config-pmap-c)# queue-limit dscp af33 percent 80 C3850(config-pmap-c)# queue-limit dscp af32 percent 90 C3850(config-pmap-c)# queue-limit dscp af31 percent 100 ! C3850(config-pmap-c)# class CRITICAL-DATA C3850(config-pmap-c)# bandwidth remaining percent 24 C3850(config-pmap-c)# queue-buffers ratio 10 C3850(config-pmap-c)# queue-limit dscp af23 percent 80 C3850(config-pmap-c)# queue-limit dscp af22 percent 90 C3850(config-pmap-c)# queue-limit dscp af21 percent 100 ! C3850(config-pmap-c)# class SCAVENGER C3850(config-pmap-c)# bandwidth remaining percent 1 C3850(config-pmap-c)# queue-buffers ratio 10 ! C3850(config-pmap-c)# class class-default C3850(config-pmap-c)# bandwidth remaining percent 25 C3850(config-pmap-c)# queue-buffers ratio 25 ! C3850(config)# interface gigabitethernet 1/0/x C3850(config-if)# service-policy out 1P7Q3T
- 2P6Q3T : This model only differ slightly from the previous one as it has been extended to cover 12-class model & the addition of a second priority queue for seperation for voice & video. Below diagram shows the 2P6Q3T egress queue mapping for catalyst 3850.
Below show the corresponding configuration for an 12-class 2P6Q3T egress queuing on a 3850.
C3850(config-pmap-c)# policy-map 2P6Q3T C3850(config-pmap)# class VOICE C3850(config-pmap-c)# priority level 1 C3850(config-pmap-c)# police rate percent 10 ! C3850(config-pmap-c)# class RT-VIDEO C3850(config-pmap-c)# priority level 2 C3850(config-pmap-c)# police rate percent 20 ! C3850(config-pmap-c-police)# class MGT-CONTROL C3850(config-pmap-c)# bandwidth remaining percent 10 C3850(config-pmap-c)# queue-buffers ratio 10 ! C3850(config-pmap-c)# class MULTIMEDIA-CONFERENCE C3850(config-pmap-c)# bandwidth remaining percent 10 C3850(config-pmap-c)# queue-buffers ratio 10 C3850(config-pmap-c)# queue-limit dscp af43 percent 80 C3850(config-pmap-c)# queue-limit dscp af42 percent 90 C3850(config-pmap-c)# queue-limit dscp af41 percent 100 ! C3850(config-pmap-c)# class MULTIMEDIA-STREAMING C3850(config-pmap-c)# bandwidth remaining percent 10 C3850(config-pmap-c)# queue-buffers ratio 10 C3850(config-pmap-c)# queue-limit dscp af33 percent 80 C3850(config-pmap-c)# queue-limit dscp af32 percent 90 C3850(config-pmap-c)# queue-limit dscp af31 percent 100 ! C3850(config-pmap-c)# class TRANSACTIONAL-DATA C3850(config-pmap-c)# bandwidth remaining percent 10 C3850(config-pmap-c)# queue-buffers ratio 10 C3850(config-pmap-c)# queue-limit dscp af23 percent 80 C3850(config-pmap-c)# queue-limit dscp af22 percent 90 C3850(config-pmap-c)# queue-limit dscp af21 percent 100 ! C3850(config-pmap-c)# class BULK-SCAVENGER C3850(config-pmap-c)# bandwidth remaining percent 5 C3850(config-pmap-c)# queue-buffers ratio 10 C3850(config-pmap-c)# queue-limit dscp af13 percent 80 C3850(config-pmap-c)# queue-limit dscp af12 percent 90 C3850(config-pmap-c)# queue-limit dscp af11 percent 100 ! C3850(config-pmap-c)# class class-default C3850(config-pmap-c)# bandwidth remaining percent 25 C3850(config-pmap-c)# queue-buffers ratio 25 ! C3850(config)# interface gigabitethernet 1/0/x C3850(config-if)# service-policy out 2P6Q3T
2. Wireless Queuing
- 2P2Q : The wireless queuing model is a 4 queue structure of which two are strict priority using for Voice & Video.The other queues are “class-default” or NRT (Non-Real-Time) & Multicast Queue (non-client-nrt-class). If your multicast traffic is marked as CS5, then it will go to the priority queue, so only multicast traffic marked as non-real time goes into this queue.
When scheduling, strict priority queues are fully serviced ahead of all other queues. When configuring more then one priority queue, only when the first priority queue has been fully serviced, scheduler will go to the 2nd priority queue. A strict priority queue is enabled with the “priority level x” command in policy map configuration.
For the other two queues (class-default & non-client-ntr-class) scheduling is based on CBWFQ (Class Based Weighted Fair Queue). Below diagram illustrates this.
Approximate Fair Drop (AFD) is the bandwidth control algorithm used to control bandwidth allocation among classes that share the class-default queue of wireless interface. AFD provides fairness between clients by calculating virtual queue lengths at the radio, SSID & client levels.These virtual queue lengths trigger probabilistic drops at the client level for clients that are consuming greater than the fair share of bandwidth. Below diagram illustrates AFD concept
Below diagram shows 2P2Q wireless egress queuing model.
You can verify the policy-map configurations available on your 3850 switch using “show policy-map” command. As you can see “port_child_policy” policy-map is there with 10% bandwidth allocation to “non-client-nrt-class” class.
3850-2#show policy-map
Policy Map port_child_policy
Class non-client-nrt-class
bandwidth remaining ratio 10
Let’s define two class maps named “VOICE” & “VIDEO” which will match DSCP “ef” & “af41″ respectively. Then we will allocate 10% & 20% for those traffic & make them go via priority queues as shown in the above 2P2Q model. Also allocate 60% of the bandwidth for the “class-default” class.
3850-2(config)#class-map VOICE 3850-2(config-cmap)#match dscp ef ! 3850-2(config-pmap)#class-map VIDEO 3850-2(config-cmap)#match dscp af41 ! 3850-2(config-cmap)#policy-map port_child_policy 3850-2(config-pmap)#class VOICE 3850-2(config-pmap-c)#? Policy-map class configuration commands: admit Admit the request for bandwidth Bandwidth exit Exit from QoS class action configuration mode netflow-sampler NetFlow action no Negate or set default values of a command police Police priority Strict Scheduling Priority for this Class queue-buffers queue buffer queue-limit Queue Max Threshold for Tail Drop service-policy Configure QoS Service Policy set Set QoS values shape Traffic Shaping <cr> 3850-2(config-pmap-c)#priority ? <8-10000000> Kilo Bits per second level Multi-Level Priority Queue percent % of total bandwidth <cr> 3850-2(config-pmap-c)#priority level 1 3850-2(config-pmap-c)#police ? <8000-10000000000> Target Bit Rate (bits per second) (postfix k, m, g optional; decimal point allo cir Committed information rate rate Specify police rate, PCR for hierarchical policies or SCR for single-level ATM 4.0 policer policies 3850-2(config-pmap-c)#police rate percent 10 conform-action transmit exceed-action drop 3850-2(config-pmap)#class VIDEO 3850-2(config-pmap-c)#priority level 2 3850-2(config-pmap-c)#police rate percent 20 conform-action transmit exceed-action drop 3850-2(config-pmap)#class class-default 3850-2(config-pmap-c)#bandwidth remaining ratio ? <1-100> Ratio 3850-2(config-pmap-c)#bandwidth remaining ratio 60
This policy map is applied automatically by the WCM (Wireless Control Module) to all wireless ports (a port where an AP is directly attached). You can verify the policy configuration using “show policy-map” command.
3850-2#sh policy-map port_child_policy Policy Map port_child_policy Class non-client-nrt-class bandwidth remaining ratio 10 Class VOICE priority level 1 police rate percent 10 conform-action transmit exceed-action drop Class VIDEO priority level 2 police rate percent 20 conform-action transmit exceed-action drop Class class-default bandwidth remaining ratio 60
You can verify this policy is applied to wireless ports automatically. In my case I have two APs connected to G1/0/1 & G1/0/2(so those are wireless ports). You can see the Radio & AP level QoS as shown below (since they automatically applied).
3850-2#sh 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 ---------------------------------------------------------------------------------------- L3702-1 3702I 7cad.74ff.2bc6 08cc.68b4.0370 Registered L3602-1 3602I 4c00.82df.a4c1 f84f.57e3.1460 Registered 3850-2#sh cdp nei Device ID Local Intrfce Holdtme Capability Platform Port ID L3602-1 Gig 1/0/2 125 R T AIR-CAP36 Gig 0.1 L3702-1 Gig 1/0/1 142 R T AIR-CAP37 Gig 0.1 3850-2#show policy-map interface wireless ap name L3602-1 AP L3602-1 iifid: 0x0105EE400000000A Service-policy output: defportangn Class-map: class-default (match-any) Match: any 0 packets, 0 bytes 30 second rate 0 bps Queueing (total drops) 0 (bytes output) 4165972 shape (average) cir 600000000, bc 2400000, be 2400000 target shape rate 600000000 Service-policy : port_child_policy queue stats for all priority classes: Queueing priority level 1 (total drops) 0 (bytes output) 1376223 queue stats for all priority classes: Queueing priority level 2 (total drops) 0 (bytes output) 4078 Class-map: non-client-nrt-class (match-any) Match: non-client-nrt 0 packets, 0 bytes 30 second rate 0 bps Queueing (total drops) 0 (bytes output) 2845227 bandwidth remaining ratio 10 Class-map: VOICE (match-any) Match: dscp ef (46) 0 packets, 0 bytes 30 second rate 0 bps Priority: Strict, Priority Level: 1 police: rate 10 % rate 60000000 bps, burst 1875000 bytes conformed 188116 bytes; actions: transmit exceeded 0 bytes; actions: drop conformed 0 bps, exceeded 0 bps Class-map: VIDEO (match-any) Match: dscp af41 (34) 0 packets, 0 bytes 30 second rate 0 bps Priority: Strict, Priority Level: 2 police: rate 20 % rate 120000000 bps, burst 3750000 bytes conformed 0 bytes; actions: transmit exceeded 0 bytes; actions: drop conformed 0 bps, exceeded 0 bps Class-map: class-default (match-any) Match: any 0 packets, 0 bytes 30 second rate 0 bps Queueing (total drops) 0 (bytes output) 128304 bandwidth remaining ratio 60 3850-2#show policy-map interface wireless radio Radio dot11b iifid: 0x0105EE400000000A.0x00D003000000000B Service-policy output: def-11gn Class-map: class-default (match-any) Match: any 0 packets, 0 bytes 30 second rate 0 bps shape (average) cir 200000000, bc 800000, be 800000 target shape rate 200000000 Radio dot11a iifid: 0x0105EE400000000A.0x00CD6AC00000000C Service-policy output: def-11an Class-map: class-default (match-any) Match: any 0 packets, 0 bytes 30 second rate 0 bps shape (average) cir 400000000, bc 1600000, be 1600000 target shape rate 400000000 Radio dot11b iifid: 0x010605C000000008.0x00CC838000000004 Service-policy output: def-11gn Class-map: class-default (match-any) Match: any 0 packets, 0 bytes 30 second rate 0 bps shape (average) cir 200000000, bc 800000, be 800000 target shape rate 200000000 Radio dot11a iifid: 0x010605C000000008.0x00CCB74000000005 Service-policy output: def-11ac Class-map: class-default (match-any) Match: any 0 packets, 0 bytes 30 second rate 0 bps shape (average) cir 1000000000, bc 4000000, be 4000000 target shape rate 1000000000
In next post we will see how to configure QoS on switchport where they play different roles & how to verify those configuration.
References
1. End to End QoS Design- Quality of Service for Rich-Media & Cloud Networks (2nd Edition)
2. BRKCRS-2890 Converged Access QoS
3. BRKCRS-2501: Campus QoS Design—Simplified
Related Posts
1. 3850 QoS – Part 1 (QoS Touch Points)
2. 3850 QoS – Part 3
3. 3850 QoS – Part 4
4. 3850 QoS – Part 5
