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