¿Cómo puedo verificar razonablemente que mi configuración de QoS funciona?

10

Contexto

Implementé una configuración estándar de QoS en un sitio del cliente que ejecuta un enrutador Cisco 891 con IOS 15.1 (4) M4. El enlace WAN es un enlace ADSL2 + único (24/1 Mbps) conectado a FE8.

Anteriormente probé esta configuración en otro sitio utilizando iperf de la LAN para generar más de 1 Mbps de tráfico ascendente y confirmó un cambio notable en la calidad de las llamadas al habilitar QoS en la interfaz WAN. Así es como inicialmente confirme que mi configuración funcionó.

Recientemente implementé esta misma configuración en otro sitio, pero todavía tienen problemas con el ancho de banda VOIP ascendente. Me gustaría confirmar razonablemente que QoS está funcionando sin hacer el esfuerzo de saturar el enlace (especialmente porque están fuera del estado y no hay tecnología en el sitio). Y luego intente aislar lo que podría teca para obtener una mejor calidad de voz.

Preguntas

Dado el resultado del mapa de políticas a continuación, centrándose específicamente en el mapa de clase VOICE como ejemplo, ¿qué significan las siguientes estadísticas ?:

  • 3860628 paquetes, 1070196895 bytes: ¿Puedo suponer que este es el número total de paquetes / bytes coincidentes en el mapa de clase?

  • Tasa ofrecida de 5 minutos 0 bps, tasa de caída 0 bps: ¿Es la "tasa ofrecida" la tasa en bps de tráfico que se ha priorizado, si no, entonces qué? Y de manera similar, ¿la tasa de caída es la tasa excesiva de tráfico que no se pudo priorizar debido a la falta de ancho de banda? ¿Eso indicaría que necesitamos X bps más ancho de banda para VOICE para acomodar tales picos de tráfico?

  • Prioridad: 40% (340 kbps), bytes de ráfaga 8500, b / w exceden las caídas: 5: En esta línea, no estoy seguro de lo que significa b / w exceder las caídas.

Inicio sesión

Dado que es probable que estas estadísticas cambien (imagino) durante las horas pico (que es cuando más quieres verlas). ¿Hay alguna manera de que pueda registrar estos números, o tal vez consultarlos a través de SNMP para que puedan ser graficados mediante programación?

Aprendizaje

Entiendo que QoS es un tema bastante amplio. Cuando intento aprender sobre esto, a menudo me siento abrumado por información diferente, ya sea porque estoy leyendo sobre diferentes tipos de implementaciones de QoS o debido a diferentes versiones de IOS (por ejemplo, documentos antiguos que usan comandos donde la sintaxis o la salida han cambiado).

Con este fin, ¿alguien puede recomendar algunos documentos de capacitación de Cisco o cursos de video que podrían ayudarme a concentrarme en obtener un mejor control sobre el trabajo con QoS?

Alguna información adicional

Aquí hay una muestra de configuración de QoS:

class-map match-any SSH
 match protocol ssh
class-map match-any LogMeIn
 match access-group name LogMeIn
class-map match-any VOICE
 match protocol sip
 match protocol rtp

policy-map ADSLPrioritisationOutbound
 class VOICE
  priority percent 40
 class SSH
  bandwidth 80
 class LogMeIn
  priority percent 20
 class class-default
  fair-queue
policy-map ADSLPrioritisationOutboundParent
 class class-default
  shape average 850000
  service-policy ADSLPrioritisationOutbound

interface FastEthernet8
 no ip address
 ip virtual-reassembly in
 duplex auto
 speed auto
 pppoe-client dial-pool-number 1
 service-policy output ADSLPrioritisationOutboundParent

Y salida de interfaz de mapa de políticas:

FastEthernet8

Service-policy output: ADSLPrioritisationOutboundParent

Class-map: class-default (match-any)
  18968101 packets, 6998385051 bytes
  5 minute offered rate 3000 bps, drop rate 0 bps
  Match: any
  Queueing
  queue limit 64 packets
  (queue depth/total drops/no-buffer drops) 0/93737/0
  (pkts output/bytes output) 18874363/6936577128
  shape (average) cir 850000, bc 3400, be 3400
  target shape rate 850000

  Service-policy : ADSLPrioritisationOutbound

    queue stats for all priority classes:

      queue limit 64 packets
      (queue depth/total drops/no-buffer drops) 0/0/0
      (pkts output/bytes output) 3860623/1070194985

    Class-map: VOICE (match-any)
      3860628 packets, 1070196895 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: protocol sip
        97348 packets, 49867304 bytes
        5 minute rate 0 bps
      Match: protocol rtp
        3763280 packets, 1020329591 bytes
        5 minute rate 0 bps
      Match: access-group name NEC-PBX
        0 packets, 0 bytes
        5 minute rate 0 bps
      Priority: 40% (340 kbps), burst bytes 8500, b/w exceed drops: 5


    Class-map: SSH (match-any)
      89497 packets, 19838544 bytes
      5 minute offered rate 2000 bps, drop rate 0 bps
      Match: protocol ssh
        89497 packets, 19838544 bytes
        5 minute rate 2000 bps
      Queueing
      queue limit 64 packets
      (queue depth/total drops/no-buffer drops) 0/0/0
      (pkts output/bytes output) 89497/19838544
      bandwidth 80 kbps

    Class-map: LogMeIn (match-any)
      0 packets, 0 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: access-group name LogMeIn
        0 packets, 0 bytes
        5 minute rate 0 bps
      Priority: 20% (170 kbps), burst bytes 4250, b/w exceed drops: 0


    Class-map: class-default (match-any)
      15017976 packets, 5908349612 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: any
      Queueing
      queue limit 64 packets
      (queue depth/total drops/no-buffer drops/flowdrops) 0/93732/0/93732
      (pkts output/bytes output) 14924243/5846543599
      Fair-queue: per-flow queue limit 16
Geekman
fuente
¿Supongo que te refieres a IOS versión 15.1 en la primera oración? Solo quiero aclarar antes de hacer una edición.
Brett Lykins
Je, si. Lo siento. No sé qué está pasando ... Las llaves se estancan esta noche. Un montón de errores tipográficos.
Geekman

Respuestas:

10

Tu pregunta es bastante amplia. Hay muchos comandos diferentes que puede usar para solucionar problemas y monitorear QoS, por lo que me centraré en la pregunta principal que tiene, que es cómo verificar razonablemente que su configuración de QoS está funcionando y cómo leer la salida de la interfaz del mapa de políticas.

La única forma verdadera de verificar que QoS está funcionando es conectar un generador de tráfico y monitorear su tasa de caída en varias colas. Como eso no suele ser factible, particularmente en un entorno de producción, todo lo que realmente puede hacer es verificar que el tráfico esté marcado y clasificado correctamente.

Lo que realmente está buscando, cuando se trata de verificar si su configuración de QoS está funcionando, es que se incrementen los contadores en el comando de interfaz de mapa de políticas.

Entonces, por ejemplo, en el resultado que proporcionó:

Class-map: VOICE (match-any)
  3860628 packets, 1070196895 bytes
  5 minute offered rate 0 bps, drop rate 0 bps
  Match: protocol sip
    97348 packets, 49867304 bytes
    5 minute rate 0 bps
  Match: protocol rtp
    3763280 packets, 1020329591 bytes
    5 minute rate 0 bps
  Match: access-group name NEC-PBX
    0 packets, 0 bytes
    5 minute rate 0 bps
  Priority: 40% (340 kbps), burst bytes 8500, b/w exceed drops: 5

Puede ver que está viendo paquetes en SIP y RTP, pero no en NEC-PBX. Si sabe que está recibiendo tráfico SIP y RTP a través de un enlace, debería ver que el conteo de paquetes se incrementa y esa es una forma razonable de saber que su configuración está funcionando básicamente.

totalmente rechoncho
fuente
Gracias. ¿Qué quiere decir con "monitorizar la tasa de caída en varias colas"? ¿Es esta la "tasa de caída X bps"? En cuanto a mi ejemplo con la necesidad de un modelador de padres para ADSL QoS, originalmente había decidido que QoS estaba funcionando cuando vi que el tráfico coincidía, pero al final no estaba haciendo nada bueno. Estoy de acuerdo en que la pregunta sigue siendo amplia (¡incluso intenté volver a escribirla antes de publicarla!). Haré algunas ediciones en breve, y agradecería cualquier idea. ¡Gracias de nuevo!
Geekman
Ok ahi. Creo que si al menos entendiera completamente esos bits sobre la salida del mapa de políticas, podría entender lo que está sucediendo.
Geekman
1
Hay dos cosas en particular que debe tener en cuenta cuando verifica la configuración. El primero es el recuento total de paquetes y la tasa en toda la clase y cada línea individual "Match". Eso le dirá si los paquetes coinciden con las políticas y se clasifican / marcan / priorizan adecuadamente (dependiendo del tipo de política que esté viendo). La otra cosa es la tasa de caída debajo de cada uno, también. En condiciones normales de red, probablemente no debería ver caídas en la mayoría de las clases, por lo que un 0 no es un problema. Pero si está congestionado, verá gotas.
Totalmente rechoncho