El objetivo de este post, es intentar explicar el funcionamiento de la configuración de la QoS de salida en los Cisco Switchs 3XXXComo primera medida, analizaremos el funcionamiento de las colas y buffers de salida en un Catalyst 3560 y la configuración de SRR.
A continuación, un ejemplo de configuración:
interface FastEthernet0/13
switchport mode access
load-interval 30
srr-queue bandwidth shape 50 0 0 0
srr-queue bandwidth share 33 33 33 1
srr-queue bandwidth limit 20
SRR en modo “shared” se utiliza cuando se quiere obtener la máxima eficiencia de un sistema de colas, porque los buffers de las colas no utilizadas pueden ser utilizados por las colas con exceso de tráfico. SRR en modo “shaped” se utiliza cuando se quiere garantizar el ancho de banda a una cola y establecer al mismo tiempo un límite de cuánto ancho de banda una cola puede utilizar.
Cuando el mecanismo de organización de salida SRR está configurado en modo “shared”, el ancho de banda asignado a cada cola se basa en pesos relativos. Por ejemplo, cuando se configura “srrqueue bandwidth share 30 20 25 25″ lo que realmente hacemos es configurar los pesos para las colas 1,2,3 y 4, en este caso 30+20+25+25 = 100 (el 100 podría representar el 100% del Bw).
Dichos pesos son relativos y son por lo tanto "30/100", "20/100", "25/100", "25/100", y se puede calcular el ancho de banda efectivo garantizado * * a una cola multiplicando este peso por el ancho de banda de la interface; por ejemplo, 30/100 * 100 Mbps = 30 Mbps para la interface de 100 Mbps y 30/100 * 10 Mbps = 3 Mbps para una interface de 10Mbps. Por supuesto, el peso sólo se tiene en cuenta cuando existe una sobresuscripción de la interface, es decir, cuando sufre una congestión.
Dichos pesos son relativos y son por lo tanto "30/100", "20/100", "25/100", "25/100", y se puede calcular el ancho de banda efectivo garantizado * * a una cola multiplicando este peso por el ancho de banda de la interface; por ejemplo, 30/100 * 100 Mbps = 30 Mbps para la interface de 100 Mbps y 30/100 * 10 Mbps = 3 Mbps para una interface de 10Mbps. Por supuesto, el peso sólo se tiene en cuenta cuando existe una sobresuscripción de la interface, es decir, cuando sufre una congestión.
Cuando se configura en el modo “shape”, en realidad se configura una restricción de ancho de banda (policing) cada cola se basa en el peso absoluto inverso. Por ejemplo, con el comando "srr-queue bandwidth shape 30 0 0 0" se restringe de manera efectiva a la primera cola a "1 / 30" de ancho de banda de la interfaz (es decir, aproximadamente 3,3 Mbps para una interface de 100 Mbps y aproximadamente 330Kbps para una interface de 10Mbps). Configurando SRR “shape” con un peso cero significa en la práctica, que no se aplica el “shape”. Cuando el “shaping” está habilitado, SRR no utiliza el peso “share” correspondiente a esta cola en el cálculo de ancho de banda relativo de colas configuradas como “share”.
Se pueden mezclar “shape” y share en la configuración de una misma interface. Por ejemplo, dos colas pueden ser configurados para “shape” y otras para share:
interface FastEthernet0/13
srr-queue bandwidth share 100 100 40 20
srr-queue bandwidth shape 50 50 0 0
Supongamos que el ancho de banda de la interface es 100Mpbs, entonces las colas de 1 y 2 tendrán 2 Mbps cada una, y las colas de 3 y 4 comparten el ancho de banda restante (100-2-2 = 96Mbps) en proporción "2:1". Se debe tener en cuenta que las colas de 1 y 2 garantizan y se limitan a 2 Mbps, al mismo tiempo.
El valor por defecto de la configuración para los pesos "shape” y "share" son los siguientes: “shape” "25 0 0 0" y share "25 25 25 25". Esto significa que la cola 1 es limitada hasta 4Mbps en interfaces de 100Mpbs por defecto (400kbps en una interface de 10Mbps) y el ancho de banda restante es compartida de forma igualitaria (“shared”) por las otras colas (2-4). Esto es así, en cuanto se habilita "mls qos" en el switch.
Cuando se habilita " priority-queue out " en una interface, se convierte a la cola 1 en una cola de alta prioridad, por lo que el mecanismo de SRR no tiene en cuenta el peso de esa cola en los cálculos. Se debe tener en cuenta que PQ ignorará la configuración del modo “shape”, y esto puede hacer que otras colas nunca tengan oportunidad de enviar paquetes, ya que primero, se enviaran los paquetes de la cola de alta prioridad y solo se pasara a las otras colas cuando esta se vacíe.
Si se quiere limitar el ancho de banda de salida de un puerto se puede utilizar el comando " srrqueue bandwidth limit xx " a nivel de interface. Este comando limita a la interface de salida en un porcentaje de xx% de la capacidad de la interface. Se debe tener en cuenta que el rango de porcentaje parte del 10% (con incrementos reales en múltiplos de 6), así que si se necesita una velocidad inferior a 10 Mbps, considere cambiar la velocidad del puerto a 10 Mbps.
¿Cómo afectara la configuración, a la programación del mecanismo SRR? Recordemos, que en SRR
share los pesos son relativos, y por lo tanto, que compartirán el ancho de banda entre las colas respectivas. Sin embargo, en el modo “shape” se basan en el peso absoluto de las colas descontándose del ancho de banda "disponible”. Consideremos el siguiente ejemplo:
share los pesos son relativos, y por lo tanto, que compartirán el ancho de banda entre las colas respectivas. Sin embargo, en el modo “shape” se basan en el peso absoluto de las colas descontándose del ancho de banda "disponible”. Consideremos el siguiente ejemplo:
interface FastEthernet0/13
switchport mode access
speed 10
srr-queue bandwidth shape 50 0 0 0
srr-queue bandwidth share 20 20 20 20
srr-queue bandwidth limit 20
El ancho de banda de la interface está limitado a 2Mbps (de 10Mbps). La cola 1 está configurada en modo “shape” limitándola a 1/50 de 10Mps, lo cual resulta en 200Kbps de ancho de banda.
El ancho de banda restante (2000-200 = 1800KBps) se divide en partes iguales entre las otras colas en proporción 20:20:20 = 1:1:1. Es decir, en caso de congestión y que todas las colas estén “llenas”, la cola 1 obtendrá 200Kbps, y las colas de 2-4 obtendrán 600Kbps cada una de ellas.
Preguntas Frecuentes (FAQ)
P: ¿Cómo puedo determinar a qué cola irán los paquetes? ¿Qué pasa si un paquete tiene un valor de CoS y DSCP fijado en el mismo tiempo?
R: Eso depende de la clasificación de entrada. Si se confía en el valor de CoS, entonces se utilizaran los valores referenciados en la figura 1 (asignaciones por defecto). Del mismo modo, si confía en el valor DSCP. Use el comando "show mls qos map " para ver las asignaciones actuales.
P: Que sucederá si he configurado “shape” y “share” en la misma cola?
R: La configuración de cola “shape” anulará el peso de “share”, lo sobreescribe. El valor del peso “shared” que está en conflicto con el valor de “shape” también estará excluido de los cálculos de SRR. Se debe tener en cuenta que en la cola en modo “shape” asegura cierto ancho de banda (el asignado), pero al mismo tiempo, también lo limita a él. En resumen, las colas “shape” garantizan y limitan el ancho de banda asignado a dicha cola. Las colas “share”, comparten el ancho de banda restante, según los pesos asignados a cada una de ellas.
P: ¿Qué pasa si priority-queue está habilitado en la interface? ¿Puedo limitar la tasa de envío de PQ con el uso del "shape"?
R: No, no se puede. Priority-queue utilizara todo el ancho de banda que necesite, por lo que se deberá tener cuidado a la hora de asignar que tipo de trafico utilizara la Priority-queue.
Preguntas? Comentarios?
Usa mi tweeter @guscorre4
Saludos