¿Cuál es el beneficio de usar CBWFQ con una declaración de cola justa?

7

Principalmente veo la configuración de las colas de QoS basadas en CBWFQ, la bruja se dispara configurando el mapa. Algo como el siguiente ejemplo.

policy-map test
 class test
  bandwidth remaining percent 20
  random-detect dscp-based
 class test2
  bandwidth remaining percent 20
  random-detect dscp-based
 class test3
  bandwidth remaining percent 20
  random-detect dscp-based
 class test4
  bandwidth remaining percent 20
  random-detect dscp-based
 class class-default
  bandwidth remaining percent 20
  random-detect dscp-based      
policy-map shape-test
 class class-default
  shape average xxx
  service-policy test

Por supuesto, está configurado en la interfaz apropiada (fuera).

Sé sobre una variante simple de CBWFQ llamada WFQ. Donde no tengo que especificar clases (creación automática de clases). Sí, también sé que se hace por hash desde el encabezado, y cada clase tiene peso ... Y uno ... Casi siempre, veo la configuración de la cola justa en la interfaz o simplemente, en la clase predeterminada llamada 'class-default '. Esta clase predeterminada se configura en las interfaces apropiadas gracias al mapa policial. Entonces, ambas formas deberían tener el mismo resultado.

Pero hoy vi algo que me hizo sentir nerviosa. Vi algo como CBWFQ con una declaración de cola justa en la clase predeterminada. Para una mejor explicación, ejemplo.

policy-map test
 class test
  bandwidth remaining percent 20
  random-detect dscp-based
 class test2
  bandwidth remaining percent 20
  random-detect dscp-based
 class test3
  bandwidth remaining percent 20
  random-detect dscp-based
 class test4
  bandwidth remaining percent 20
  random-detect dscp-based
 class class-default
  fair-queue
  queue-limit 1024 packets
policy-map shape-test
 class class-default
  shape average xxx
  service-policy test

Aquí comienza mi pregunta ... ¿Significa que el tipo que configuró la clase por defecto con 'fair-queue', 'queue-limit 1024 paquetes' hechos de CBWFQ WFQ normal? ¿Lo mismo que podemos configurarlo en la interfaz? ¿Y solo especificó las clases WFQ de forma fija, en lugar de la especificación automática que hacen los dispositivos Cisco?

¿Pero por qué? No parece una solución estándar, ¿no? Es posible que el hombre no supiera lo que hizo ...

¡Gracias por cualquier respuesta o enlaces que podrían indicarme que lo entiendo correctamente!

Daniel

Daniel Blazek
fuente
1
El beneficio de usar CBWFQ con la fair-queuedeclaración en la class-defaultcola (su segundo ejemplo) es que los paquetes se eliminan de la cola en función de su peso calculado como usted mencionó. Cuando se usa CBWFQ sin la fair-queuedeclaración (su primer ejemplo), los paquetes se ponen en cola usando el método FIFO (primero en entrar, primero en salir) en una interfaz física.
one.time
1
Pensé que las clases definidas por el usuario de CBWFQ se comportan automáticamente como WFQ en los esteroides. Entonces si entiendo bien. CBWFQ puede crear hasta 64 colas, una para cada clase definida por el usuario (con el método FIFO predeterminado). Y puedo especificar (¿solo?) Para el valor predeterminado de la clase algo como: "¡Hola, hombres, su cola se comportará como WFQ en lugar de FIFO!" Y el valor predeterminado de la clase dice ... "Muy bien, mi cola se comportará como FWQ, por lo que para mi tráfico crearé otras clases de acuerdo con algún algoritmo CISCO". Estoy en lo cierto? : D
Daniel Blazek
1
Lo tienes. CBWFQ usa FIFO para hacer cola dentro de las clases definidas y la cola predeterminada de la clase, o si se usa la instrucción de cola justa, la cola predeterminada de la clase usa WFQ (en la mayoría de las plataformas).
one.time

Respuestas:

4

Para resumir mis comentarios:

El beneficio de usar CBWFQ (colas justas ponderadas basadas en clases) con la fair-queuedeclaración en la class-defaultcola (su segundo ejemplo):

...
 class class-default
  fair-queue
  queue-limit 1024 packets
...
  • Los paquetes usan WFQ (colas equitativas ponderadas) para la programación y se eliminan de la cola en función de su peso calculado.

Cuando use CBWFQ sin la fair-queuedeclaración en la class-defaultcola (su primer ejemplo):

...
 class class-default
  bandwidth remaining percent 20
  random-detect dscp-based      
...
  • Los paquetes se eliminan de la cola utilizando el método FIFO (primero en entrar, primero en salir).
una vez
fuente
1
Y esto solo se aplica cuando el mecanismo de colas atiende a la clase por defecto.
cpt_fink