QoS - Configuración

Quality of Service prioriza y controla el tráfico (voz, video, datos) usando la estructura MQC: clasificar, marcar, y aplicar acciones como policing (limitar) o shaping (moldear). La validación está en QoS - Verificación y el diagnóstico en QoS - Troubleshooting.


Prerrequisitos

  • Tener claro qué tráfico priorizar/limitar y en qué interface y dirección.

Estructura MQC

  • Class-map (traffic class): aquí se realiza la clasificación del tráfico.
  • Policy-map (traffic policy): contiene al class-map y define las acciones a tomar con el tráfico.
  • Service Policy: aplica la política en la interface.

1. Clasificación (Class-map)

Router(config)# class-map [match-any | match-all] NOMBRE
Router(config-cmap)# match protocol ICMP
Router(config-cmap)# match access-group 10
  • match-all: deben cumplirse todas las condiciones (AND).
  • match-any: basta con una condición (OR).
  • La clase class-default captura todo lo que no coincidió con otras clases.

Formas comunes de match: match protocol <nombre> (NBAR), match access-group <acl>, match dscp <valor>, match cos <valor>.


2. Acciones (Policy-map)

Marcado (set)

Router(config)# policy-map NOMBRE
Router(config-pmap)# class NOMBRE-CLASE
Router(config-pmap-c)# set dscp valor

Otras marcas: set cos, set precedence, set qos-group.

Policing (limitar la tasa)

Router(config-pmap-c)# police tasa-bps conform-action ACCIÓN exceed-action ACCIÓN

Acciones de conform/exceed disponibles: transmit, drop, set-dscp-transmit, set-cos-transmit, set-prec-transmit, entre otras.

Shaping (moldear la tasa)

Router(config-pmap-c)# shape average tasa-bps

shape retiene el exceso en cola (en vez de descartarlo como police).


3. Aplicar en la interface (Service-policy)

Router(config-if)# service-policy {input | output} NOMBRE
  • input: aplica a la entrada de la interface.
  • output: aplica a la salida.

Política jerárquica (nested)

Se puede anidar una política dentro de otra (por ejemplo, moldear todo el tráfico y dentro darle prioridad/marca por clase):

Router(config)# policy-map EXTERNA
Router(config-pmap)# class class-default
Router(config-pmap-c)# shape average 256000
Router(config-pmap-c)# service-policy INTERNA

Dos ejemplos completos de configuración

Ejemplo 1 — Clasificar y marcar tráfico

Diseño: en R2, marcar dos tipos de tráfico con distinto DSCP para que el resto de la red los priorice.

R2# configure terminal

! Clases
R2(config)# class-map match-all PRUEBA
R2(config-cmap)# match access-group 10
R2(config-cmap)# exit
R2(config)# class-map match-all PRUEBA2
R2(config-cmap)# match access-group 20
R2(config-cmap)# exit

! Política de marcado
R2(config)# policy-map INTERNA
R2(config-pmap)# class PRUEBA
R2(config-pmap-c)# set dscp 40
R2(config-pmap-c)# exit
R2(config-pmap)# class PRUEBA2
R2(config-pmap-c)# set dscp 20
R2(config-pmap-c)# exit
R2(config-pmap)# exit

! Aplicar
R2(config)# interface fastEthernet 0/0
R2(config-if)# service-policy input INTERNA
R2(config-if)# end
R2# copy running-config startup-config

Ejemplo 2 — Policing y shaping jerárquico

Diseño: limitar el ICMP a 8000 bps (police), y moldear todo el tráfico de salida a 256 kbps aplicando dentro la política de marcado.

R2# configure terminal

! Policing de ICMP
R2(config)# class-map match-all PRUEBA
R2(config-cmap)# match protocol icmp
R2(config-cmap)# exit
R2(config)# policy-map POLICER_ICMP
R2(config-pmap)# class PRUEBA
R2(config-pmap-c)# police 8000 conform-action transmit exceed-action drop
R2(config-pmap-c)# exit
R2(config-pmap)# exit
R2(config)# interface fastEthernet 0/0
R2(config-if)# service-policy input POLICER_ICMP
R2(config-if)# exit

! Shaping jerárquico en la salida
R2(config)# policy-map EXTERNA
R2(config-pmap)# class class-default
R2(config-pmap-c)# shape average 256000
R2(config-pmap-c)# service-policy INTERNA
R2(config-pmap-c)# exit
R2(config-pmap)# exit
R2(config)# interface fastEthernet 0/1
R2(config-if)# service-policy output EXTERNA
R2(config-if)# end
R2# write memory

Verificación rápida (comprobar que quedó bien)

La validación detallada está en QoS - Verificación.

! Política aplicada en la interface y sus contadores
R2# show policy-map interface fastEthernet 0/0

Qué deberías ver:

  • Cada clase con sus paquetes clasificados, el marcado aplicado, y (en policing) los contadores conformed/exceeded.

Todos los comandos de tus diapositivas están incluidos (MQC, match, set dscp, police con conform/exceed, shape average, service-policy, política jerárquica). Si quieres que ajuste algo, dime.