End to end L3 QoS using MQC

Quality of Service

4.4.a i DiffServ

General information on “L3 QoS DiffServ”:

4.4.a ii CoS and DSCP Mapping

General information on “L3 QoS CoS and DSCP Mapping”:

4.4.a iii Classification

General information on “L3 QoS Classification”:

Configuration considerations:

“L3 QoS Classification” CLI configuration commands:

## Configuring a classification map
Router(config)# class-map [match-all | match-any] [NAME]

## Matching traffic based on various options
Router(config-cmap)# match [option] [arguments]

4.4.a iv Network Based Application Recognition (NBAR)

General information on “L3 QoS Network Based Application Recognition (NBAR)":

4.4.a v Marking using IP Precedence, DSCP, CoS

// Graphic missing - Coming Soon //

General information on “L3 QoS Marking using IP Precedence, DSCP, CoS”:

“L3 QoS Marking” CLI configuration commands:

## Configuring a policy map
Router(config)# policy-map [NAME]

## Selecting the class-map which' traffic should be marked
Router(config-pmap)# class [CLASS-MAP-NAME]

## Setting the marking based on the matched traffic
Router(config-pmap-c)# set cos [value]

Router(config-pmap-c)# set ip precedence [value]

Router(config-pmap-c)# set ip dscp [value]

4.4.a vi Policing, shaping

Policing

General information on “L3 QoS Policing”:

Configuration considerations:

“L3 QoS Policing” CLI configuration commands:

## Configuring a single-rate, two/three color policer
Router(config-pmap-c)# police cir <cir> bc <bc> be <be>

## Configuring a two-rate policer
Router(config-pmap-c)# police cir <cir> bc <bc> pir <pir> be <be>

shaping

General information on “L3 QoS shaping”:

“L3 QoS shaping” CLI configuration commands:

## Configuring an average-rate based shaper
Router(config-pmap-c)# shape average [value]

## Configuring a peak-rate based shaper
Router(config-pmap-c)# shape peak [value]

4.4.a vii Congestion management and avoidance

General information on “L3 QoS Congestion management and avoidance”:

“L3 QoS congestion management/avoidance” CLI configuration commands:

## Configuring flow-based WFQ
Router(config-pmap-c)# fair-queue

## Configuring class-based WFQ
Router(config-pmap-c)# bandwidth [arguments]

## Configuring LLQ
Router(config-pmap-c)# priority [arguments]

## Enabling WRED
Router(config-pmap-c)# random-detect [arguments]

HQoS

Hierarchical Quality of Service

General information on “L3 HQoS”:

Configuration steps:

  1. Configure class-maps matching the protocols which later need to be marked
  2. Configure a child policy-map with the classes created previously and mark the traffic, set the bandwidth, …
  3. Configure a parent-policy map with class-default linking to the previously created child policy-map
  4. Apply policy-map outbound on an interface

“L3 HQoS” CLI configuration commands:

## L3 HQoS example configuration based on the above use case
Router(config)# class-map match-any CLASS_PING
Router(config-cmap)# match protocol ping

Router(config)# class-map match-any CLASS_HTTP
Router(config-cmap)# match protocol http

Router(config)# class-map match-any CLASS_SSH
Router(config-cmap)# match protocol ssh

Router(config)# policy-map CHILD_MARK_PING_HTTP_SSH
Router(config-pmap)# class CLASS_PING
Router(config-pmap-c)# bandwidth percent 50
Router(config-pmap-c)# set ip precedence 7

Router(config-pmap)# class CLASS_HTTP
Router(config-pmap-c)# bandwidth percent 30
Router(config-pmap-c)# set ip precedence 5

Router(config-pmap)# class CLASS_PING
Router(config-pmap-c)# bandwidth percent 19
Router(config-pmap-c)# set ip precedence 3

Router(config)# policy-map PARENT_MARKING
Router(config-pmap)# class class-default
Router(config-pmap-c)# shape average 250m
Router(config-pmap-c)# service-policy CHILD_MARK_PING_HTTP_SSH

General information on “Sub-rate Ethernet Link”: