La función de regulación del tráfico determina si el nivel de tráfico se encuentra dentro del perfil o contrato especificado y le permite descartar tráfico fuera de perfil o marcarlo a un valor de punto de código de servicios diferenciales (DSCP) diferente. Esto aplica un nivel de servicio contratado.
DSCP es una medida del nivel de calidad de servicio (QoS) del paquete. Junto con DSCP, la precedencia IP y la Clase de servicio (CoS) también se utilizan para transmitir el nivel de QoS del paquete.
La regulación de tráfico no debe confundirse con el modelado de tráfico, aunque ambos se aseguran de que el tráfico permanezca dentro del perfil o contrato.
La regulación no almacena el tráfico en el búfer, por lo que no afecta a la demora de transmisión. En lugar de almacenar en búfer los paquetes fuera de perfil, la regulación los descarta o los marca con diferentes niveles de QoS (reducción de DSCP).
El modelado de tráfico almacena en búfer el tráfico fuera de perfil y suaviza las ráfagas de tráfico, pero afecta a la variación de retraso y demora. El modelado sólo se puede aplicar en la interfaz saliente, mientras que la regulación se puede aplicar en la interfaz entrante y saliente.
El Catalyst 3550 soporta la regulación de tráfico para las direcciones entrantes y salientes. No se admite el modelado de tráfico.
La marcación cambia el nivel de QoS del paquete de acuerdo con una política.
No hay requisitos específicos para este documento.
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). If your network is live, make sure that you understand the potential impact of any command.
La regulación y marcación en Catalyst 3550 es compatible con todas las versiones de software. La guía de configuración más reciente aparece aquí. Consulte esta documentación para obtener información sobre todas las funciones compatibles.
Para configurar la regulación, debe definir los mapas de política de QoS y aplicarlos a los puertos. Esto se conoce también como QoS basada en puerto.
Nota: Actualmente, Catalyst 3550 no admite QoS basada en VLAN.
El regulador se define por los parámetros de velocidad y ráfaga, así como por la acción para el tráfico fuera de perfil.
Se admiten estos dos tipos de reguladores de tráfico:
Agregado
Individual
El regulador de tráfico agregado actúa sobre el tráfico en todas las instancias en las que se aplica. El regulador individual actúa por separado sobre el tráfico a través de cada instancia en la que se aplica.
Nota: En el Catalyst 3550, el regulador de tráfico agregado sólo se puede aplicar a diferentes clases de la misma política. No se admite la regulación agregada a través de varias interfaces o políticas.
Por ejemplo, aplique el regulador agregado para limitar el tráfico de la clase customer1 y la clase customer2 en el mismo policy-map a 1 Mbps. Dicho regulador permite 1 Mbps de tráfico en clase cliente1 y cliente2 juntos. Si aplica el regulador individual, el regulador limita el tráfico para la clase customer1 a 1 Mbps y para la clase customer2 a 1 Mbps. Por lo tanto, cada instancia del regulador es independiente.
Esta tabla resume la acción de QoS en el paquete cuando es tratado por las políticas de ingreso y egreso:
Nota: Es posible marcar y reducir dentro de la misma clase de tráfico de la misma política. En tal caso, todo el tráfico para la clase particular se marca primero. La regulación y la reducción se producen en el tráfico ya marcado.
La regulación de QoS en el Catalyst 3550 cumple con este concepto de cubeta con fugas:
El número de tokens proporcional a los tamaños de paquetes de tráfico entrante se colocan en una cubeta de tokens; el número de tokens es igual al tamaño del paquete. En un intervalo regular, se elimina de la cubeta un número definido de tokens derivados de la velocidad configurada. Si no hay lugar en la cubeta para acomodar un paquete entrante, el paquete se considera fuera de perfil y se descarta o se reduce según la acción de regulación configurada.
Este concepto se muestra en este ejemplo:
Nota: El tráfico no se almacena en la cubeta como puede aparecer en este ejemplo. El tráfico real no fluye a través de la cubeta en absoluto; la cubeta sólo se utiliza para decidir si el paquete está en el perfil o fuera del perfil.
Nota: La implementación de hardware de la regulación puede variar, pero funcionalmente sigue cumpliendo con este modelo.
Estos parámetros controlan el funcionamiento de la regulación de tráfico:
Velocidad: define cuántos tokens se quitan en cada intervalo. Esto fija de manera eficaz la velocidad de tráfico ordenado. Todo el tráfico por debajo de la velocidad se considera en el perfil. Las velocidades admitidas oscilan entre 8 Kbps y 2 Gbps, y se incrementan en 8 Kbps.
Intervalo: define la frecuencia con que se quitan los tokens de la cubeta. El intervalo se fija en 0,125 milisegundos (o 8000 veces por segundo). Este intervalo no se puede cambiar.
Ráfaga: define la cantidad máxima de símbolos (token) que puede contener la cubeta en cualquier momento. Las ráfagas admitidas varían entre 8000 bytes y 2000000 bytes, y se incrementan en 64 bytes.
Nota: Aunque las cadenas de ayuda de la línea de comandos muestran un amplio rango de valores, la opción de velocidad de bps no puede superar la velocidad de puerto configurada y la opción de byte de ráfaga no puede superar los 2000000 bytes. Si ingresa un valor mayor, el switch rechaza el policy map cuando lo asocia a una interfaz.
Para mantener la velocidad de tráfico especificada, la ráfaga no debe ser menor que la suma de esta ecuación:
Burstmin (bits) = Rate (bps) / 8000 (1/sec)
Por ejemplo, calcule el valor de ráfaga mínimo para mantener una velocidad de 1 Mbps. La velocidad se define como 1000 Kbps, por lo que la ráfaga mínima necesaria es la suma de esta ecuación:
1000 (Kbps) / 8000 (1/sec) =125 (bits)
El tamaño de ráfaga mínimo admitido es de 8000 bytes, que es más que la ráfaga mínima calculada.
Nota: Debido a la granularidad de las políticas de hardware, la velocidad y ráfaga exactas se redondean al valor admitido más próximo.
Al configurar la velocidad de ráfaga, debe tener en cuenta que algunos protocolos implementan mecanismos que reaccionan a la pérdida de paquetes. Por ejemplo, el protocolo de control de transmisión (TCP) reduce la ventana a la mitad para cada paquete perdido. Esto causa un efecto de "diente de sierra" en el tráfico TCP cuando TCP intenta acelerar a la velocidad de línea y es acelerado por el regulador. Si se calcula la velocidad media del tráfico de diente de sierra, esta velocidad es mucho más baja que la velocidad regulada. Sin embargo, puede aumentar la ráfaga para lograr una mejor utilización. Un buen comienzo es establecer la ráfaga igual al doble de la cantidad de tráfico enviado con la velocidad deseada durante el tiempo de viaje de ida y vuelta (TCP RTT). Si se desconoce el RTT, se puede duplicar el valor del parámetro de ráfaga.
Por la misma razón, no se recomienda comparar el funcionamiento del regulador por tráfico orientado a la conexión. Este escenario generalmente muestra un rendimiento inferior al permitido por el regulador.
El tráfico sin conexión también puede reaccionar a la regulación de tráfico de manera diferente. Por ejemplo, Network File System (NFS) utiliza bloques, que pueden constar de más de un paquete de protocolo de datagramas de usuario (UDP). Un paquete descartado puede desencadenar la retransmisión de muchos paquetes, incluso el bloque completo.
Este ejemplo calcula la ráfaga para una sesión TCP con una velocidad de regulación de tráfico de 64 Kbps y dado que el RTT de TCP es de 0,05 segundos:
<burst> = 2* * = 2 * 0.05 [sec] * 64000/8 [bytes/sec] = 800 [bytes]
En este ejemplo, <burst> es para una sesión TCP. Amplíe esta cifra para obtener el promedio del número esperado de sesiones que se transmiten a través del regulador.
Nota: Este es un ejemplo solamente, en cada caso necesita evaluar los requisitos y el comportamiento del tráfico y de la aplicación frente a los recursos disponibles para elegir los parámetros de regulación.
La acción de regulación puede ser descartar el paquete o cambiar el DSCP del paquete (reducción). Para reducir el paquete, se debe modificar un mapa DSCP regulado. Un mapa DSCP regulado predeterminado señala el paquete al mismo DSCP. Por lo tanto, no se produce reducción.
Los paquetes se pueden enviar fuera de orden cuando un paquete fuera de perfil se marca hacia abajo a un DSCP asignado en una cola de salida diferente que el DSCP original. Si el orden de los paquetes es importante, reduzca los paquetes fuera de perfil al DSCP asignado a la misma cola de salida que los paquetes dentro del perfil.
Esta tabla proporciona un resumen de las funciones relacionadas con la regulación y marcación soportadas por el Catalyst 3550, desglosadas por dirección:
Se admite una instrucción match por class-map. Estas son declaraciones de coincidencia válidas para la política de ingreso:
match access-group
match ip dscp
match ip precedence
Nota: En el Catalyst 3550, el comando match interface no se soporta y solamente se permite un comando match en un class-map. Por lo tanto, es complicado clasificar todo el tráfico que entra a través de una interfaz y controlar todo el tráfico con un único regulador. Vea la sección Cómo clasificar todo el tráfico de interfaz con un solo regulador de este documento.
Ésta es la declaración de coincidencia válida para la política de egreso:
match ip dscp
Estas son acciones de política válidas para la política de ingreso:
vigilancia
set ip dscp (marking)
set ip precedence (marking)
trust dscp
trust ip-precedence
trust cos
Esta tabla muestra la matriz de políticas de QoS de ingreso soportadas:
Esta opción también cubre la coincidencia de precedencia de IP.
Esta opción cubre la confianza en CoS, la precedencia IP y DSCP.
Esta opción también cubre la configuración de la precedencia IP.
Esta es la acción de política válida para la política de egreso:
vigilancia
Esta tabla muestra la matriz de políticas de QoS de salida admitidas:
La marcación permite que el nivel de QoS del paquete cambie en función de la clasificación o la regulación. La clasificación divide el tráfico en diferentes clases para el procesamiento de QoS en función de los criterios definidos.
El procesamiento de QoS se basa en el DSCP interno; la medida del nivel de QoS del paquete. El DSCP interno se deriva según la configuración de confianza. El sistema admite CoS de confianza, DSCP, precedencia IP e interfaces no fiables. Trust especifica el campo del cual se deriva el DSCP interno para cada paquete, de la siguiente manera:
Al confiar en CoS, el nivel de QoS se deriva del encabezado de Capa 2 (L2) del protocolo de link entre switches (ISL) o del paquete encapsulado 802.1Q.
Al confiar en la precedencia DSCP o IP, el sistema deriva el nivel de QoS del campo de precedencia DSCP o IP del paquete en consecuencia.
Confiar en CoS sólo tiene sentido en las interfaces troncales, y confiar en DSCP (o precedencia IP) tiene sentido sólo para los paquetes IP.
Cuando una interfaz no es confiable, el DSCP interno se deriva de la CoS predeterminada configurable para la interfaz correspondiente. Este es el estado predeterminado cuando se habilita QoS. Si no se configura ninguna CoS predeterminada, el valor predeterminado es cero.
Una vez que se determina el DSCP interno, se puede cambiar mediante marcado y regulación, o se puede conservar.
Después de que el paquete experimenta el procesamiento de QoS, sus campos de nivel de QoS (dentro del campo IP/DSCP para IP, y dentro del encabezado ISL/802.1Q, si existe) se actualizan desde el DSCP interno. Existen estos mapas de QoS especiales relevantes para la regulación de tráfico:
DSCP a DSCP con regulación de tráfico: se utiliza para derivar el DSCP con regulación de tráfico cuando se reduce el paquete.
DSCP a CoS: se utiliza para derivar el nivel de CoS del DSCP interno para actualizar el encabezado ISL/802.1Q del paquete saliente.
CoS-to-DSCP: se utiliza para derivar el DSCP interno del CoS entrante (encabezado ISL/802.1Q) cuando la interfaz está en el modo de confianza CoS.
Estas son consideraciones importantes específicas de la implementación:
La política de servicio de ingreso no se puede asociar a la interfaz cuando la interfaz está configurada para confiar en cualquiera de las métricas de QoS, como CoS/DSCP o precedencia IP. Para que coincidan en la precedencia DSCP/IP y la regulación en el ingreso, debe configurar la confianza para la clase particular dentro de la política, no en la interfaz. Para marcar basándose en la precedencia DSCP/IP, no se debe configurar ninguna confianza.
Sólo el tráfico IPv4 sin opciones IP y la encapsulación de la Agencia de Proyectos de Investigación Avanzada (ARPA) Ethernet II se considera tráfico IP desde el punto de vista del hardware y la QoS. El resto del tráfico se considera no IP, incluida la IP con opciones, como IP encapsulada e IPv6 mediante el protocolo de acceso a subredes (SNAP).
Para los paquetes que no son IP, "match access group" es el único método de clasificación porque no puede hacer coincidir DSCP para el tráfico que no es IP. Para ello, se utiliza una lista de acceso (ACL) de control de acceso a los medios (MAC); los paquetes se pueden hacer coincidir según la dirección MAC de origen, la dirección MAC de destino y EtherType. No es posible hacer coincidir el tráfico IP con la ACL MAC, ya que el switch hace una distinción entre el tráfico IP y el tráfico no IP.
Estos pasos son necesarios para configurar la regulación en Cisco IOS:
Definir un regulador (para reguladores agregados)
Definir criterios para seleccionar el tráfico para la regulación
Defina un mapa de clase para seleccionar el tráfico utilizando los criterios definidos
Definir una política de servicio mediante class y aplicar un regulador a la clase especificada
Aplicar una política de servicio a un puerto
Se admiten estos dos tipos de reguladores de tráfico:
Agregado con nombre
Individual
El regulador agregado designado controla el tráfico combinado de todas las clases dentro de la misma política al lugar donde se aplica. No se admite la regulación de tráfico agregada en diferentes interfaces.
Nota: El regulador agregado no se puede aplicar a más de una política. Si es así, se muestra este mensaje de error:
QoS: Cannot allocate policer for policy map <policy name>
Tenga en cuenta este ejemplo:
Hay un generador de tráfico conectado al puerto GigabitEthernet0/3 que envía aproximadamente 17 Mbps de tráfico UDP con el puerto de destino 111. También hay tráfico TCP desde el puerto 20. Desea que estos dos flujos de tráfico se regulen a 1 Mbps y que se descarte el tráfico excesivo. Este ejemplo muestra cómo se hace esto:
!--- Globally enables QoS. mls qos !--- Defines the QoS policer, sets the burst !--- to 16000 for better TCP performance. mls qos aggregate-policer pol_1mbps 1000000 16000 exceed-action drop !--- Defines the ACLs to select traffic. access-list 123 permit udp any any eq 111 access-list 145 permit tcp any eq 20 any !--- Defines the traffic classes to be policed. class-map match-all cl_udp111 match access-group 123 class-map match-all cl_tcp20 match access-group 145 !--- Defines the QoS policy, and attaches !--- the policer to the traffic classes. policy-map po_test class cl_udp111 police aggregate pol_1mbps class cl_tcp20 police aggregate pol_1mbps !--- Applies the QoS policy to an interface. interface GigabitEthernet0/3 switchport switchport access vlan 2 service-policy input po_test !
En el primer ejemplo se utilizó el regulador de agregación con nombre. El regulador de tráfico individual, a diferencia del regulador de tráfico designado, controla el tráfico por separado en cada clase en la que se aplica. El regulador individual se define dentro de la configuración de policy map. En este ejemplo, dos clases de tráfico son controladas por dos reguladores de tráfico individuales; cl_udp111 está regulado a 1 Mbps por ráfaga de 8K, y cl_tcp20 está regulado a 512 Kbps por ráfaga de 32K:
!--- Globally enables QoS. mls qos !--- Defines the ACLs to select traffic. access-list 123 permit udp any any eq 111 access-list 145 permit tcp any eq 20 any !--- Defines the traffic classes to be policed. class-map match-all cl_udp111 match access-group 123 class-map match-all cl_tcp20 match access-group 145 !--- Defines QoS policy, and creates and attaches !--- the policers to the traffic classes. policy-map po_test2 class cl_udp111 police 1000000 8000 exceed-action drop class cl_tcp20 police 512000 32000 exceed-action drop !--- Applies the QoS policy to an interface. interface GigabitEthernet0/3 switchport switchport access vlan 2 service-policy input po_test2
Este comando se utiliza para monitorear la operación de regulación de tráfico:
cat3550#show mls qos interface g0/3 statistics GigabitEthernet0/3 Ingress dscp: incoming no_change classified policed dropped (in pkts) Others: 267718 0 267717 0 0 Egress dscp: incoming no_change classified policed dropped (in pkts) Others: 590877 n/a n/a 266303 0 WRED drop counts: qid thresh1 thresh2 FreeQ 1 : 0 0 1024 2 : 0 0 1024 3 : 0 0 8 4 : 0 0 1024
Nota: De forma predeterminada, no hay estadísticas por DSCP. El Catalyst 3550 admite una recopilación de estadísticas por interfaz y por dirección para hasta ocho valores DSCP diferentes. Esto se configura cuando ejecuta el comando mls qos monitor. Para monitorear las estadísticas de los DSCP 8, 16, 24 y 32, debe ejecutar este comando per-interface:
cat3550(config-if)#mls qos monitor dscp 8 16 24 32
Nota: El comando mls qos monitor dscp 8 16 24 32 cambia la salida del comando show mls qos int g0/3 statistics a lo siguiente:
cat3550#show mls qos interface g0/3 statistics GigabitEthernet0/3 Ingress dscp: incoming no_change classified policed dropped (in pkts) 8 : 0 0 675053785 0 0 16: 1811748 0 0 0 0 ? per DSCP statistics 24: 1227820404 15241073 0 0 0 32: 0 0 539337294 0 0 Others: 1658208 0 1658208 0 0 Egress dscp: incoming no_change classified policed dropped (in pkts) 8 : 675425886 n/a n/a 0 0 16: 0 n/a n/a 0 0 ? per DSCP statistics 24: 15239542 n/a n/a 0 0 32: 539289117 n/a n/a 536486430 0 Others: 1983055 n/a n/a 1649446 0 WRED drop counts: qid thresh1 thresh2 FreeQ 1 : 0 0 1024 2 : 0 0 1024 3 : 0 0 6 4 : 0 0 1024
Esta es una descripción de los campos del ejemplo:
Entrantes: muestra cuántos paquetes llegan de cada dirección
NO_change: muestra la cantidad de paquetes de confianza (como el nivel de QoS no cambiado)
Clasificado: muestra cuántos paquetes se han asignado a este DSCP interno después de la clasificación
Policed: muestra cuántos paquetes fueron marcados por la regulación; DSCP mostrado antes de la reducción.
Descartados: muestra cuántos paquetes descartó la regulación.
Tenga en cuenta estas consideraciones específicas de la implementación:
Si se configuran ocho valores DSCP al ejecutar el comando mls qos monitor, el contador de otros que se ve al ejecutar el comando show mls qos int statistics podría mostrar información inadecuada.
No hay un comando específico para verificar la velocidad de tráfico ofrecido o saliente por regulador.
Dado que los contadores se recuperan del hardware de forma secuencial, es posible que los contadores no se sumen correctamente. Por ejemplo, la cantidad de paquetes controlados, clasificados o descartados puede ser ligeramente diferente del número de paquetes entrantes.
Estos pasos son necesarios para configurar la marcación:
Defina los criterios para clasificar el tráfico
Definir las clases de tráfico que se clasificarán con los criterios definidos previamente
Crear un mapa de políticas que adjunte acciones de marcación y acciones de regulación a las clases definidas
Configurar las interfaces correspondientes en modo de confianza
Aplique la correspondencia de políticas a una interfaz
En este ejemplo, desea que el tráfico IP entrante hospede 192.168.192.168 marcado con precedencia IP 6 y regulado hasta 1 Mbps; el exceso de tráfico se debe reducir a precedencia IP 2:
!--- Globally enables QoS. mls qos !--- Defines the ACLs to select traffic. access-list 167 permit ip any host 192.168.192.168 !--- Defines the traffic class. class-map match-all cl_2host match access-group 167 !--- Defines QoS policy, and creates and attaches !--- the policers to the traffic classes. policy-map po_test3 class cl_2host !--- Marks all the class traffic with the IP precedence 6. set ip precedence 6 !--- Polices down to 1 Mbps and marks down according to the QoS map. police 1000000 8000 exceed-action policed-dscp-transmit !--- Modifies the policed DSCP QoS map, so the !--- traffic is marked down from IP precedence 6 to 2. !--- In terms of DSCP, this is from 48 to 16 (DSCP=IPprec x8). mls qos map policed-dscp 48 to 16 !--- Applies the QoS policy to an interface. interface GigabitEthernet0/3 switchport switchport access vlan 2 service-policy input po_test3
El mismo comando show mls qos interface statistics se ejecuta para monitorear la marcación. En la sección de este documento se documentan ejemplos de resultados e implicaciones.
En el Catalyst 3550, el comando match interface no se soporta, y solamente se permite un comando match por class-map. Además, el Catalyst 3550 no permite que el tráfico IP sea igualado por las ACL MAC. Por lo tanto, el tráfico IP y no IP se debe clasificar con dos mapas de clase independientes. Esto dificulta la clasificación de todo el tráfico que entra en una interfaz y la supervisión de todo el tráfico con un único regulador. La configuración de ejemplo le permite lograr esto. En esta configuración, el tráfico IP y no IP se hacen coincidir con dos class-maps diferentes. Sin embargo, cada uno utiliza un regulador de tráfico común para ambos.
access-list 100 permit ip any any class-map ip match access-group 100 !--- This class-map classifies all IP traffic. mac access-list extended non-ip-acl permit any any class-map non-ip match access-group name non-ip-acl !--- Class-map classifies all non-IP traffic only. mls qos aggregate-policer all-traffic 8000 8000 exceed-action drop !--- This command configures a common policer that is applied for both IP and non-IP traffic. policy-map police-all-traffic class non-ip police aggregate all-traffic class ip police aggregate all-traffic interface gigabitEthernet 0/7 service-policy input police-all-traffic !--- This command applies the policy map to the physical interface.
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
25-Jun-2002
|
Versión inicial |