Calidad de Servicio (QoS)
Cuando se
trata de configurar la Calidad de Servicio (QoS) en los equipos de Cisco, hay
un par de conceptos principales que deben ser comprendidos.
Cisco QoS generalmente se configura en
equipos modernos utilizando la interfaz de línea de comandos QoS (MQC). Con MQC:
-
el tráfico se clasifica usando los
comandos:
class-map
match
-
la política de tráfico se define
utilizando los comandos:
police-map class set
-
y las políticas se asignan utilizando el comando:
service-police
Otro método
que se puede usar es mediante el uso de AutoQoS.
AutoQoS elimina gran parte de la configuración manual del proceso y crea mapas
de clases y políticas que son típicos de la mayoría del tráfico (según la
definición de la versión de AutoQoS que esté utilizando) y establece políticas
en las interfaces que especifique en una configuración guiada.
Echemos un
vistazo a cómo se ve la configuración tanto para MQC como para AutoQoS.
Configuración con MQC
Aquí hay
algunos de los comandos MQC mencionados anteriormente; tenga en cuenta que hay
más comandos match y set disponibles, a continuación solo se
muestra un ejemplo.
class-map
router(config)# class-map class-map-name
Este comando
se usa para crear un class-map
específico. El parámetro class-map-name se usa para especificar el nombre
del class-map y puede tener hasta 40 caracteres alfanuméricos.
Ejemplo:
class-map importante
match protocol http
match protocol https
match
protocol
router(config-cmap)# match protocol protocol-name
Este comando
se usa para buscar coincidencia con un protocolo específico. El parámetro protocol-name
se usa para especificar el nombre del protocolo que debe coincidir, hay varios
que se pueden usar, incluidos dhcp, eigrp, h323, http e irc.
match cos
router(config-cmap)# match cos cos-value [cos-value]
Ejemplo: match cos 2
Este comando
se usa para buscar coicidencia con un valor de clase de servicio (CoS) específico. El parámetro cos-value
se utiliza para especificar el valor de CoS transportado en la trama que se va
a buscar coincidencia o match; se pueden especificar múltiples cos-value
en un comando.
match dscp
router(config-cmap)# match dscp dscp-value [dscp-value]
Este comando
se usa para buscar coincidencia con un valor específico del Punto de código de
servicios diferenciados (DSCP). El
valor dscp-value
se usa para especificar el valor de DSCP transportado en el paquete
que se va a emparejar; múltiples valores de dscp-value se
pueden especificar en un comando.
policy-map
router(config)# policy-map policy-map-name
Este comando
se usa para crear un mapa de políticas específico. El parámetro policy-map-name
se usa para especificar el nombre del policy-map y puede tener hasta 40
caracteres alfanuméricos.
class
router(router-pmap)# class {class-name | class-default}
Este comando
se usa para vincular una política a un específico class-map. El class-name
se usa para coincidir con el nombre class-map-name configurado
en el comando de class-map. El
parámetro class-default se utiliza
para especificar el mapa de clases predeterminado.
set cos
router(config-pmap-c)# set cos cos-value
Este comando
se usa para establecer un valor de CoS
específico. El parámetro cos-value se utiliza para especificar el valor de
Clase de servicio que se establecerá en la trama.
set dscp
router(config-pmap-c)# set dscp dscp-value
Este comando
se usa para establecer un valor de DSCP específico. El valor dscp se usa para
especificar el valor de DSCP que se establecerá en el paquete.
service-policy
router(config-if)# service-policy {input | output} policy-map-name
Este comando
se usa para vincular un mapa de políticas a una interfaz. Los parámetros de entrada y salida se usan para especificar en qué dirección se debe evaluar la
política. El parámetro policy-map-name se usa para
especificar el nombre del mapa de política coincidente.
Ejemplo
de MQC
Para resumir
esto un poco, la siguiente es una configuración de muestra que coincide con
todo el tráfico H.323 y le da un
valor DSCP de EF (reenvío acelerado). La configuración se establecerá para ser
evaluada en el tráfico que ingresa a una interfaz.
router(config)#
class-map h323
router(config-cmap)#
match protocol h323
router(config)#
policy-map h323-policy
router(config-pmap)#
class h323
router(config-pmap-c)#
set dscp EF
router(config-if)#
service-policy input h323-policy
Los 64
valores DSCP se organizan en tres categorías:
Best-Effort
(BE) :
DSCP = 0, es el valor predeterminado para todos los paquetes IP. No se
implementa ningún plan QoS.
Expedited
Forwarding (EF) - DSCP = 46 = 101 110. Los primeros 3
bits (101) corresponde con el valor CoS de Nivel 2 para tráfico
de voz. En Capa 3, Cisco recomienda que EF solo se utilice para marcar
paquetes de voz.
Assured
Forwarding (AF) - AF utiliza los 5 bits DSCP más significativos
para indicar las colas y la preferencia de eliminación.
Los 3 bits
más significativos se utilizan para designar la clase. La clase 4
es la mejor cola y la clase 1 es la peor cola.
Los bits 4 y
5 se utilizan para designar la preferencia de eliminación. El sexto bit se
pone a cero. La fórmula AFxy muestra cómo se calculan los valores de
AF.
Configuración AutoQoS
En realidad,
hay dos tipos diferentes de AutoQos:
AutoQoS
para VoIP (que fue la primera iteración) y
AutoQoS
en la empresa (que detecta los tipos de tráfico y las políticas de compilación basadas en estos datos).
auto
qos voip
router(config-if)# auto qos voip
Este comando
se usa para instalar la configuración de AutoQoS en una interfaz específica.
auto
discovery qos
router(config-if)# auto discovery qos
Este comando
se utiliza para iniciar la parte de descubrimiento de tráfico de AutoQoS en
Enterprise. Este comando debe ejecutarse durante un período de tiempo para
detectar correctamente los tipos de tráfico antes de usar el siguiente comando.
auto
qos
router(config-if)# auto qos
Este comando
se usa para instalar AutoQoS en la configuración de Enterprise en una interfaz
específica.
Topología
Interface
serial 0/0
bandwith
128
class-map HTTP
match protocol http
class-map RTP
match protocol rtp
police-map CBWFQ
class
HTTP
bandwidth 16
queue-limit 12
class
RTP
bandwidth 96
queue-limit 32
Interface
serial 0/0
max-reserved-bandwidth 100
service-police
output CBWFQ
// la
interface reserva el 75% de su ancho de banda, para aumentar use: max...
// sino
usamos el anterior comando, saldría el mensaje: disponible solo 80 kbps
show police-map interface serial 0/0