tutoriales.com

Optimización del Rendimiento en Redes Cisco: Configuración Avanzada de QoS (Calidad de Servicio)

Este tutorial exhaustivo explora la configuración avanzada de QoS (Calidad de Servicio) en dispositivos Cisco. Aprenderás a clasificar, marcar, aplicar políticas de control de congestión y de tráfico para optimizar el rendimiento de la red y garantizar la calidad de las aplicaciones críticas.

Avanzado25 min de lectura10 views
Reportar error

🚀 Introducción a la Calidad de Servicio (QoS) en Redes Cisco

En el mundo actual, las redes empresariales se enfrentan a una creciente demanda de ancho de banda y a una diversidad de aplicaciones, cada una con requisitos de rendimiento distintos. Voz sobre IP (VoIP), videoconferencia, aplicaciones de misión crítica y tráfico de datos general compiten por los mismos recursos de red. Aquí es donde entra en juego la Calidad de Servicio (QoS).

QoS es un conjunto de tecnologías que permiten a los administradores de red gestionar de forma eficaz el ancho de banda, reducir la latencia, el jitter y la pérdida de paquetes, y asegurar que el tráfico crítico reciba la prioridad necesaria. Sin una implementación adecuada de QoS, una red puede experimentar congestión, degradación del rendimiento de aplicaciones sensibles y una experiencia de usuario deficiente.

Este tutorial te guiará a través de los conceptos fundamentales y la configuración avanzada de QoS en dispositivos Cisco IOS, desde la clasificación y el marcado hasta la aplicación de políticas de tráfico y mecanismos de congestión. Prepárate para optimizar tus redes como un profesional.

¿Por qué es crucial la QoS en tu red?

La implementación de QoS es vital por varias razones:

  • Garantizar la calidad de las aplicaciones sensibles: Voz y vídeo requieren baja latencia y jitter. QoS asegura que estos paquetes no se retrasen ni se descarten.
  • Priorizar tráfico crítico: Las aplicaciones de misión crítica deben tener garantizado un cierto nivel de servicio, incluso bajo condiciones de congestión.
  • Gestionar el ancho de banda: Prevenir que un tipo de tráfico consuma todo el ancho de banda disponible, afectando a otras aplicaciones.
  • Mejorar la experiencia del usuario: Una red optimizada con QoS significa menos frustración y mayor productividad para los usuarios.

📖 Conceptos Fundamentales de QoS

Antes de sumergirnos en la configuración, es esencial entender los pilares de QoS.

💡 El Modelo de Confianza (Trust Model)

El modelo de confianza en QoS define dónde se confía en el marcado de QoS. Es crucial decidir qué dispositivos de la red son responsables de clasificar y marcar el tráfico, y qué dispositivos deben respetar esos marcados.

  • Trust Boundary: Es el punto en la red donde se comienza a confiar en el marcado de QoS. Típicamente, esto ocurre en el primer dispositivo Cisco (como un switch de acceso) conectado a un dispositivo final (teléfono IP, PC).
  • Confianza en CoS (Class of Service): Para el tráfico de Capa 2, como el que proviene de un teléfono IP. El marcado se realiza en la cabecera 802.1Q (campo CoS).
  • Confianza en DSCP (Differentiated Services Code Point): Para el tráfico de Capa 3. El marcado se realiza en la cabecera IP (campo DSCP).
💡 Consejo: Lo ideal es establecer el "trust boundary" lo más cerca posible de la fuente del tráfico (ej., en el switch de acceso). Esto asegura que el tráfico se clasifique y marque correctamente desde el principio.

🏷️ Clasificación y Marcado (Classification & Marking)

Estos son los primeros pasos en cualquier implementación de QoS.

  • Clasificación: Identificar el tráfico según ciertos criterios. Puede ser por: puerto de origen/destino, dirección IP, protocolo, VLAN, DSCP, CoS, etc.
  • Marcado: Una vez clasificado el tráfico, se le asigna un valor (marca) que lo identifica para el resto de la red. Este marcado informa a los dispositivos posteriores cómo deben tratar ese tráfico.

Los métodos de marcado más comunes son:

Tipo de MarcadoCapaCampoValores TípicosDescripción
---------------
CoS (Class of Service)Capa 2IEEE 802.1Q0-7Utilizado en tramas Ethernet para priorizar el tráfico en enlaces troncales. Comúnmente usado para VoIP en switches de acceso.
IP PrecedenceCapa 3IP Header0-7Predecesor de DSCP. Utiliza los 3 bits más significativos del campo ToS (Type of Service).
---------------
DSCP (Differentiated Services Code Point)Capa 3IP Header0-63Utiliza los 6 bits más significativos del campo ToS. Proporciona granularidad fina para clasificar y priorizar el tráfico. Es el estándar moderno.
📌 Nota: Los valores de DSCP se agrupan en Clases de Expedición (Expedited Forwarding - EF, Assured Forwarding - AFx, Class Selector - CSx) y Best Effort (BE). Por ejemplo, EF es para VoIP, AF41 para vídeo, CS3 para Call-Signaling.

📦 Mecanismos de Congestión (Congestion Management & Avoidance)

Cuando la red está congestionada, ¿cómo decide un dispositivo qué paquetes transmitir y cuáles descartar o retrasar?

  • Manejo de Congestión (Congestion Management): Cómo se comportan las colas de paquetes. Define el orden en que se envían los paquetes.
    • Prioridad de Cola (Queuing): Mecanismos como LLQ (Low Latency Queuing) para tráfico en tiempo real (voz), CBWFQ (Class-Based Weighted Fair Queuing) para tráfico de datos, y WFQ (Weighted Fair Queuing).
  • Evitación de Congestión (Congestion Avoidance): Mecanismos que descartan paquetes antes de que la cola se llene por completo, para evitar que la congestión empeore. Esto ayuda a mantener la red en un estado utilizable.
    • WRED (Weighted Random Early Detection): Descarta paquetes de forma selectiva para diferentes clases de tráfico a medida que la cola se acerca a su capacidad máxima.

⚖️ Modelado y Conformado de Tráfico (Policing & Shaping)

Estos mecanismos controlan la tasa de tráfico saliente de una interfaz.

  • Policing (Control de Tráfico): Descarta o marca paquetes con un valor DSCP degradado cuando la tasa de tráfico excede un umbral configurado. Es un mecanismo drástico que no almacena paquetes.
  • Shaping (Modelado de Tráfico): Retrasa el tráfico que excede un umbral, almacenándolo en un búfer y enviándolo más tarde, siempre que haya capacidad. Es un mecanismo suave que busca evitar el descarte de paquetes.
⚠️ Advertencia: Un "policer" descarta paquetes que exceden el límite, mientras que un "shaper" los almacena y envía cuando es posible. El shaper requiere más recursos de búfer.
Iniciar Clasificación Marcado Aplicación de Política Control de Congestión Evitación de Congestión Policing / Shaping Salida

🛠️ Configuración Avanzada de QoS en Cisco IOS

La implementación de QoS en Cisco se basa en el Modelo Modular de QoS (MQC - Modular QoS CLI). Este modelo permite una configuración flexible y escalable de políticas de QoS.

El MQC sigue tres pasos principales:

  1. Class Map: Define los criterios para clasificar el tráfico.
  2. Policy Map: Define las acciones a tomar para cada clase de tráfico.
  3. Service Policy: Aplica el Policy Map a una interfaz (entrada o salida).

1. Clasificación del Tráfico con Class Maps

Los class-map se utilizan para identificar el tráfico que deseas someter a una política de QoS.

! Ejemplo de Class Map para tráfico de Voz (DSCP EF)
class-map match-all VOICE
 match dscp ef

! Ejemplo de Class Map para tráfico de Video (DSCP AF41)
class-map match-all VIDEO
 match dscp af41

! Ejemplo de Class Map para tráfico de señalización de Voz (DSCP CS3)
class-map match-all VOICE_SIGNALING
 match dscp cs3

! Ejemplo de Class Map basado en ACL (FTP)
ip access-list extended FTP_TRAFFIC
 permit tcp any any eq ftp
class-map match-all FTP
 match access-group name FTP_TRAFFIC

! Ejemplo de Class Map basado en protocolo (HTTP)
class-map match-all HTTP_TRAFFIC
 match protocol http
  • match-all: Los paquetes deben cumplir todos los criterios de la clase para ser clasificados en ella.
  • match-any: Los paquetes deben cumplir al menos uno de los criterios.
💡 Consejo: Utiliza `match protocol` para identificar aplicaciones comunes si tu router o switch tiene la capacidad NBAR (Network Based Application Recognition).

2. Definición de Políticas con Policy Maps

Los policy-map definen las acciones de QoS para las clases de tráfico que hemos creado. Aquí es donde se aplican el marcado, la gestión de congestión, el modelado y el control de tráfico.

! Ejemplo de Policy Map para priorizar Voz, Video y controlar otros tráficos
policy-map GLOBAL_QOS_POLICY

 ! Clase para Voz: prioridad estricta y ancho de banda garantizado
 class VOICE
  priority percent 20

 ! Clase para Video: ancho de banda asegurado con conformación
 class VIDEO
  bandwidth percent 15
  set dscp af41
  shape average 15000000 ! 15 Mbps

 ! Clase para señalización de Voz: ancho de banda asegurado
 class VOICE_SIGNALING
  bandwidth percent 5
  set dscp cs3

 ! Clase para tráfico FTP: limitar el ancho de banda con control (policing)
 class FTP
  police rate 1000000 burst 30000 exceed-action drop

 ! Clase por defecto (para todo lo que no coincide con las clases anteriores)
 ! Aquí se pueden aplicar mecanismos de cola o descarte para el tráfico menos prioritario
 class class-default
  fair-queue
  random-detect dscp-based ! Habilitar WRED basado en DSCP para evitar congestión

Explicación de las acciones comunes en Policy Maps:

  • priority percent X: Asigna prioridad estricta para tráfico de tiempo real (LLQ). Se garantiza un X% del ancho de banda y se procesa antes que cualquier otro tráfico en la cola.
  • bandwidth percent X: Garantiza un X% del ancho de banda disponible para esa clase. Utiliza CBWFQ.
  • set dscp Y: Marca el tráfico con un valor DSCP específico. Crucial para re-marcar tráfico en el límite de confianza o asegurar un marcado correcto.
  • shape average <bits_por_segundo>: Modela el tráfico para no exceder la tasa especificada. El tráfico que excede se almacena temporalmente.
  • police rate <bps> burst <bytes> exceed-action <drop|set-dscp-transmit>: Controla el tráfico. Si excede la tasa, se descarta (drop) o se remarca (set-dscp-transmit) y se transmite.
  • fair-queue: Habilita WFQ para la clase por defecto, asegurando que todas las conversaciones obtengan una porción justa del ancho de banda.
  • random-detect [dscp-based]: Habilita WRED. dscp-based permite a WRED usar valores DSCP para decidir qué paquetes descartar primero cuando hay congestión.
🔥 Importante: Solo una clase puede usar `priority`. No puedes tener múltiples clases con `priority percent`. Para otras clases con garantía de ancho de banda, usa `bandwidth percent`.

3. Aplicación de Políticas con Service Policies

Finalmente, el policy-map se aplica a una interfaz física o lógica, y se especifica si la política es para tráfico de entrada (input) o de salida (output).

interface GigabitEthernet0/1
 description Conexión a la LAN interna
 service-policy output GLOBAL_QOS_POLICY

interface Serial0/0/0
 description Enlace WAN a la sucursal
 bandwidth 10000000 ! Ancho de banda real del enlace (10 Mbps)
 service-policy output GLOBAL_QOS_POLICY
  • service-policy output <nombre_politica>: Aplica la política al tráfico que sale de la interfaz.
  • service-policy input <nombre_politica>: Aplica la política al tráfico que entra por la interfaz.
⚠️ Advertencia: Ten cuidado al aplicar políticas de entrada (`input`). El marcado en la entrada afectará cómo se trata el tráfico en toda la red. Las políticas de salida son más comunes para gestionar la congestión saliente en enlaces de menor velocidad.

Trust Model y Marqueado de QoS en Switches de Acceso

En la mayoría de las redes, los switches de acceso son el primer punto donde el tráfico se origina de los dispositivos finales. Aquí es donde se establece el "trust boundary" para QoS, especialmente para teléfonos IP que marcan CoS.

Configuración de Confianza en un Puerto de Acceso (Catalyst Switch)

Considera un puerto de switch conectado a un teléfono IP que, a su vez, tiene una PC conectada a su puerto de datos.

interface GigabitEthernet0/1
 description Puerto para Telefono IP y PC
 switchport mode access
 switchport access vlan 10
 switchport voice vlan 20
 mls qos trust cos
 auto qos voip trust ! (Comando más simple, configura automaticamente varios parámetros)
  • mls qos trust cos: Configura el puerto para confiar en el valor CoS que envía el dispositivo conectado (típicamente un teléfono IP). Este CoS se mapeará internamente a un valor DSCP para el tráfico de Capa 3.
  • auto qos voip trust: Este comando es un macro que simplifica la configuración de QoS para teléfonos IP. Automáticamente configura mls qos trust cos, habilita LLQ para el tráfico de voz y otras optimizaciones.
📌 Nota: Cuando un switch confía en CoS, el switch reescribe el valor DSCP del paquete IP en función de un mapeo interno predeterminado o configurado del CoS recibido.

Mapeo de CoS a DSCP

Aunque el auto qos lo hace por ti, puedes configurar los mapeos manualmente:

! Visualizar el mapeo actual (por defecto)
show mls qos map cos-dscp

! Configurar un mapeo específico (ej. CoS 5 -> DSCP 46 para Voz)
mls qos map cos-dscp 0 8 16 24 32 40 46 56

Esta línea configura el mapeo para CoS 0-7. El valor 46 corresponde a DSCP EF (Expedited Forwarding), usado para voz. CoS 5 se mapearía a DSCP 46 con este ejemplo.


📈 Verificación y Monitorización de QoS

Una vez que hayas configurado QoS, es crucial verificar que esté funcionando como se espera y monitorizar su rendimiento.

! Mostrar información del Policy Map aplicado
show policy-map interface GigabitEthernet0/1

! Mostrar las clases de tráfico y sus estadísticas
show policy-map interface GigabitEthernet0/1 output class VOICE

! Mostrar el estado de las colas en una interfaz
show interface GigabitEthernet0/1 fair-queue

! Mostrar mapeo de CoS a DSCP
show mls qos map cos-dscp

! Mostrar la configuración global de QoS en el switch
show mls qos

La salida de show policy-map interface es particularmente útil, ya que muestra el número de paquetes que han coincidido con cada clase, los bytes transmitidos, los paquetes descartados por policing o shapping, y las estadísticas de la cola.

💡 Consejo: Realiza pruebas de rendimiento con herramientas como iPerf o generadores de tráfico para simular diferentes tipos de tráfico y verificar que QoS prioriza y gestiona el ancho de banda como se ha configurado.

📝 Escenario Práctico: QoS para una Sucursal Remota

Imaginemos una sucursal remota conectada a la oficina central a través de un enlace WAN de 10 Mbps. Necesitamos asegurar la calidad de la Voz (VoIP), dar buen servicio al tráfico de Video (videoconferencia) y a las aplicaciones críticas de datos, mientras se limita el tráfico de navegación web no esencial.

Requisitos:

  • VoIP: Prioridad estricta, baja latencia. (DSCP EF)
  • Videoconferencia: Ancho de banda garantizado, pero conformando para no exceder 3 Mbps. (DSCP AF41)
  • Datos Críticos (ERP): Ancho de banda garantizado (2 Mbps). (DSCP AF31)
  • Navegación Web (HTTP/HTTPS): Limitada a 1 Mbps y tratada como best-effort si hay congestión. (DSCP BE, si no hay marcado previo)
  • Otros tráficos: Mejor esfuerzo con WRED.

Configuración Paso a Paso:

Paso 1: Definir Class Maps

! Clases para el tráfico prioritario
class-map match-all VOICE_TRAFFIC
 match dscp ef

class-map match-all VIDEO_TRAFFIC
 match dscp af41

class-map match-all ERP_TRAFFIC
 match dscp af31

! Clases para tráfico web (si no hay marcado previo, clasificar por protocolo)
class-map match-all WEB_TRAFFIC
 match protocol http
 match protocol https

Paso 2: Definir Policy Map

policy-map WAN_OUTBOUND_QOS

 ! Voz: Prioridad estricta con 20% del ancho de banda (2 Mbps para un enlace de 10 Mbps)
 class VOICE_TRAFFIC
  priority percent 20

 ! Video: Ancho de banda garantizado y conformado a 3 Mbps
 class VIDEO_TRAFFIC
  bandwidth percent 30
  shape average 3000000 ! 3 Mbps

 ! ERP: Ancho de banda garantizado del 20% (2 Mbps)
 class ERP_TRAFFIC
  bandwidth percent 20

 ! Web: Limitar a 1 Mbps, descartar si excede
 class WEB_TRAFFIC
  police rate 1000000 burst 30000 exceed-action drop

 ! Todo lo demás: fair-queue con WRED
 class class-default
  fair-queue
  random-detect dscp-based

Paso 3: Aplicar Service Policy a la Interfaz WAN

Asumiendo que el enlace WAN es Serial0/1/0 y tiene un ancho de banda de 10 Mbps.

interface Serial0/1/0
 description Enlace WAN a Oficina Central
 bandwidth 10000 ! Ajustar el ancho de banda del enlace para que los porcentajes funcionen correctamente
 service-policy output WAN_OUTBOUND_QOS
🔥 Importante: La configuración del comando `bandwidth` en la interfaz es crucial para que los porcentajes (`priority percent`, `bandwidth percent`) se calculen correctamente en relación con el ancho de banda real del enlace.
Enlace WAN (10Mbps) Sucursal (Router) Oficina Central (Router) QoS: Voz (Prioridad Alta) QoS: Video QoS: Datos ERP QoS: Tráfico Web

🛑 Consideraciones y Mejores Prácticas

  • Diseño de Extremo a Extremo (End-to-End QoS): La QoS debe planificarse y configurarse en todos los dispositivos relevantes a lo largo de la ruta del tráfico para ser efectiva. Un solo punto sin QoS puede anular todo el esfuerzo.
  • Marcado Consistente: Asegúrate de que los valores de marcado (CoS/DSCP) sean consistentes en toda la red para que los dispositivos puedan identificar el tráfico correctamente.
  • Entender el Tráfico: Antes de implementar QoS, es fundamental entender qué tipos de tráfico fluyen por tu red, sus requisitos y sus volúmenes. Herramientas de análisis de tráfico son invaluables.
  • Pruebas Rigurosas: Siempre prueba tu configuración de QoS en un entorno de laboratorio antes de implementarla en producción. Monitoriza cuidadosamente el rendimiento después de la implementación.
  • Evitar la Sobrecarga: No intentes priorizar demasiadas clases de tráfico. QoS funciona mejor cuando se enfoca en las aplicaciones verdaderamente críticas. Si todo es prioridad, nada lo es.
  • Documentación: Documenta tu plan de QoS, incluyendo las clases de tráfico, los valores de marcado, las políticas y su ubicación en la red.

✅ Conclusión

Dominar la Calidad de Servicio (QoS) es una habilidad fundamental para cualquier ingeniero de redes que busque optimizar el rendimiento y la fiabilidad de las infraestructuras modernas. Hemos cubierto desde los conceptos básicos de clasificación y marcado hasta la aplicación de políticas complejas de gestión de congestión, control y modelado de tráfico utilizando el Modular QoS CLI de Cisco.

Al implementar QoS de manera estratégica, puedes garantizar que las aplicaciones críticas de tu organización, como la voz y el vídeo, reciban el ancho de banda y el tratamiento prioritario que requieren, incluso bajo condiciones de alta demanda. Esto no solo mejora la experiencia del usuario, sino que también contribuye directamente a la productividad y eficiencia empresarial.

Continúa practicando con ejemplos reales y ajustando las políticas a las necesidades específicas de tu red. ¡La optimización del rendimiento está en tus manos!

Tutoriales relacionados

Comentarios (0)

Aún no hay comentarios. ¡Sé el primero!