lunes, 15 de octubre de 2007

Configuracion DiffServ QoS

Para habilitar QoS en el switch :
Switch(config)# mls qos
Paquetes que ingresan al switch son asignados un valor dscp derivado solo del qos que es validado de la cola de ingreso. El parametro validado es mapeado en los valores DSCP.
En la cola de salida, los paquetes con DSCP son convertidos a CoS , tal que se puede usar determinado metodo.

Podemos aplicar QoS Trust en 2 formas :
Por interface
Como parte de una politica QoS sobre un específico tipo de tráfico.

switch(config-if)#mls qos trust { cos, dscp, ip-precedence }

switch(config-if)#no mls qos trust
pone a cero 0 el dscp o CoS ó
a un valor por default CoS en la interface defindo por el comando: mls qos cos value
mapeando cos a dscp :
CoS 0 1 2 3 4 5 6 7
dscp 0(default) 8(AF10) 16(AF20) 24(AF30) 32(AF40) 40(EF) 48(Internet-work ctl) 56(Network ctl)

para cambiar el mapeo podemos usar el comando de configuracion global :
switch(config)# mls qos map cos-dscp dscp1 ... dscp8
El ip precedence tambien se mapea de la misma forma :
se puede cambiar con el siguiente comando:
switch(config)# mls qos map ip-prec-dscp dscp1 ... dscp8

valores de ingreso dscp pueden ser mapeados a otros dscp usando mutación dscp map.
switch(config)#mls qos map dscp-mutation dscp-mutation-name in-dscp to out-dscp
para aplicarlo en alguna interface:
swicth(config-if)#mls qos dscp-mutation dscp-mutation-name

Definiendo QoS Policy

1. Uno o más clases de QoS son definido para clasificar tráfico específico.
2. Uno o más QoS policies son definidos al referenciar un grupo de multiples clases QoS como una simple entidad. Estas clases identifican a un grupo de diferentes tipos de tráfico. Cada police contiene acciones que pueden ser mark, policer o shape trafico clasificado por cada class.
3. cada interface de salida puede ser asignado un QoS policy en cada dirección, por ejemplo una politica puede ser asignada para inbound y otra para outbound.

Definiendo un QoS class para clasificar tráfico

switch(config)# class-map class-name [match-all | match-any]
podemos usar access-list para match el tráfico, tambien se puede usar NBAR para match tráfico dinamico.
swicth(config-cmap)# match access-group name access-list tambien se puede usar :
switch(config-cmap)# match ip-precedence ip-prec1 [...ip-precN]
switch(config-cmap)# match ip dscp dscp1 [..dscpN]
podemos usar NBAR :
switch(config-cmap)# match protocol protocol-name
nuevos protocolos pueden ser añadidos utlizando PDLM.

Definiendo Policy
swicth(config)# policy-map policy-name
swicth(config-pmap)# class class-name
swicth(config-pmap)# set ip dscp dscp-value
swicth(config-pmap)# set ip precedence precedence-value
en otro caso, solo cierto trafico debera ser validado
swicth(config-pmap)# trust {cos | dscp | ip-precedence}

police [aggregate name] [flow] bits-per-second normal-burst-bytes [extended-burst-
bytes] [pir peak-rate-bps] [conform-action action] [exceed-action action] [violate-
action action]
Here, an action can be one of the following:
drop—Drop the packet.
set-dscp-transmit [new-dscp]—Set the DSCP value in the packet.
set-prec-transmit [new-precedence]—Set the IP Precedence value in the packet.
transmit—Send the packet normally.

se aplica de la siguiente forma :
Switch(config-if)# service-policy [input | output] policy-name

podemos asignar pesos referente a weighted round robin
Switch(config-if)# wrr-queue bandwidth weight1 weight2 [weight3] [weight4]
el numero de colas en una interface cisco varia segun la plataforma.


No hay comentarios: