Beruflich Dokumente
Kultur Dokumente
!--- Even though it says QoS ip packet dscp rewrite is enabled, !--- the switch does not alter the
DSCP label on the packets when !--- the QoS is disabled.
- Un frame que ingresa a un puerto del switch no tiene taggeado el frame (esto significa que
el puerto es un Access port y por lo tanto el frame ingresa al switch y no tiene
encapsulación ISL o dot1q)
- El switch lo encapsulará con dot1q (ignora ISL porque dot1q es el default en todos los
switches más recientes)
- Dentro del tag del frame dot1q, hay 3 bits llamados 802.1p priority bits disponibles los
cuales también son llamados CoS. Estos bits son seteados a CERO. (0)
- Luego el swith calcula los valores DSCP basados en el "CoS-DCP map table". ya que la tabla
lo indica, el switch lo se setea a un valor DSCP de CERO (0). El valor se copia en el campo
DSCP de la cabecera IP del paquete.
Valore CoS y DSCP del frame que entran al switch son seteados a 0 por default, cuando el QoS está
habilitado en el switch.
En los switches esto depende en si tu confías o NO en la QoS LABEL del paquete entrante.
En el cisco catalyst 3650, se puede clasificar los frames basado en:
3.2.1- Valores CoS/DSCP del paquete entrante.
3.2.1.1 Port based configuration using the mls qos interface based
commands.
Esta sección discute estas dos configuraciones: (no significa que es una de las dos, son ambas)
3.2.1.1.1 Classification - Port Trust Configuration
Un paquete entrante o frame puede ya tener una QoS LABEL. Surgen 2 preguntas:
si no confío en las QoS LABELS de los paquetes entrantes, se necesita clasificar el paquete. Esto
puede ser realizado con dos acciones:
1- ACCESS-LIST
2- MARK QoS LABEL
Si confiamos en las marcas de los paquetes que están entrando, surge las siguientes preguntas:
Esto dependerá del escenario. A continuación, analizaremos diferentes escenarios con varios
ejemplos explicativos:
EJEMPLO 1:
Si el puerto es un access port o layer 3 port, se necesita configurar el comando “mls qos trust
dscp”. No se puede usar el comando “mls qos trust cos” porque el frame desde el puerto de
acceso NO contiene tag ISL o dot1q. Los bits CoS están presente en el frame dot1q o ISL
solamente.
interface GigabitEthernet1/0/1
description **** Layer 3 Port ****
no switchport
ip address 192.168.10.1 255.255.255.0
mls qos trust dscp
end
interface GigabitEthernet1/0/2
description **** Access Port ****
switchport access vlan 10
switchport mode access
mls qos trust dscp
end
EJEMPLO 2:
La tabla dscp-cos map es usado para calcular el valor CoS, si el puerto es configurado para confiar
DSCP. Similarmente, la tabla cos-dscp es usada para calcular el valor DSCP si el puerto está
configurado para confiar en CoS.
interface GigabitEthernet1/0/3
description **** Trunk Port ****
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk native vlan 5
switchport trunk allowed vlan 5,10,20,30,40,50
mls qos trust cos
end
interface GigabitEthernet1/0/12
description **** Cisco IP Phone ****
switchport access vlan 10
switchport mode access
switchport voice vlan 20
mls qos trust cos
spanning-tree portfast
end
!--- The Cisco IP Phone uses IEEE 802.1Q frames for Voice !--- VLAN traffic.
EJEMPLO 3:
Si el puerto es un puerto troncal dot1q y el puerto está configurado con el comando “mls qos trust
cos”, los frames con la vlan nativa tendrán valores CoS y DSCP a CERO. Porque los frames de la
vlan nativa son NO tageados y el frame es tageado después que ingresa al switch, el switch seteará
el valor CoS default a CERO y la tabla CoS-to-DSCP setea el valor DSPC a CERO.
Nota: El valor DSCP del paquete llegando desde la vlan nativa será reseteado a CERO.
Se puede también configurar el puerto del switch para cambiar el valor CoS default de los frames
no tageados desde 0 a cualquier valor entre 0-7, usando el comando “mls qos cos <0-7>”. Este
comando no cambia el valor CoS de los frame tageados.
Por ejemplo, el puerto Gigabitethernet1/0/12 es configurado con access vlan 10 y voice vlan 20.
interface GigabitEthernet1/0/12
description **** Cisco IP Phone ****
switchport access vlan 10
switchport mode access
switchport voice vlan 20
mls qos trust cos
spanning-tree portfast
!--- The Cisco IP Phone uses IEEE 802.1Q frames for Voice !--- VLAN traffic.
Voice VLAN is only supported on access ports and not !--- on trunk ports,
even though the configuration is allowed.
end
Por default, el PC envía la data no tageada. Trafico no tageado desde el dispositivo conectado al
cisco ip phone pasa a través del teléfono sin cambios, independientemente del estado de
confianza del puerto de acceso en el teléfono. El teléfono envía frames tageados dot1q con el vlan
de voice ID 20. Por lo tanto, si configuras el puerto con el comando “mls qos trust cos”, el confía
en el valor CoS de los frames desde el phone (tagged frames) y setea el valor CoS de los frames
(untagged) desde el PC a CERO. Después de eso, la map table CoS-DSCP setea el valor DSCP del
paquete dentro del frame a 0 porque la CoS-DSCP map table tiene el valor DSCP 0 para el valor
CoS 0. Si el paquete desde el PC tiene cualquier valor DSCP especifico, ese valor será reseteado a 0.
Si configuras el comando “mls qos cos 3” en el puerto, el setea el valor CoS de todos los frames
desde el PC a 3 y no altera el valor CoS de los frames desde el teléfono.
interface GigabitEthernet1/0/12
description **** Cisco IP Phone ****
switchport access vlan 10
switchport mode access
switchport voice vlan 20
mls qos trust cos
mls qos cos 3
spanning-tree portfast
end
Si se configura el puerto con el comando “mls qos cos 3 override”, el setea el valor CoS de todos
los frames (ambos los tageados y no tageados) a 3. El sobre escribe los valores de confianza
configurados previamente.
interface GigabitEthernet1/0/12
description **** Cisco IP Phone ****
switchport access vlan 10
switchport mode access
switchport voice vlan 20
mls qos trust cos
mls qos cos 3 override
!--- Applies CoS value 3 on all the incoming packets on both !--- the vlan 10 and 20.
spanning-tree portfast
end
EJEMPLO 4:
interface GigabitEthernet1/0/12
description **** Cisco IP Phone ****
switchport access vlan 10
switchport mode access
switchport voice vlan 20
mls qos trust cos
spanning-tree portfast
end
Si el PC tagea su frame con la vlan 20, también setea el valor CoS a 5. El switch procesa el tráfico
de datos tageado (tráfico en IEEE 802.1Q o IEEE 802.1p) desde el dispositivo atachado al puerto de
acceso en el cisco ip phone. Porque la interfaz es configurada para confiar en el valor CoS, todo el
tráfico recibido a través del puerto de acceso en el cisco ip phone pasa a través del phone sin
cambios. El switch también confía y permite el tráfico desde el PC, y le entrega la misma prioridad
como el tráfico del IP phone. Esto no es un resultado deseado que se quiere ver. Esto puede ser
evitado usando el comando “switchport priority extend cos <cos-value>
interface GigabitEthernet1/0/12
description **** Cisco IP Phone ****
switchport access vlan 10
switchport mode access
switchport voice vlan 20
mls qos trust cos
switchport priority extend cos 0
spanning-tree portfast
end
El comando “switchport priority extende cos <cos-value>” configura el phone tal que el ip phone
cambia el valor CoS del tráfico del PC a 0.
EJEMPLO 5:
Por ejemplo, en la misma interfaz, alguien conecta el PC directamente al switch y t tagea la data
del PC con frame dot1q con un valor más alto de CoS. Esto puede ser evitado usando el comando
mls qos trust device cisco-phone.
interface GigabitEthernet1/0/12
description **** Cisco IP Phone ****
switchport access vlan 10
switchport mode access
switchport voice vlan 20
mls qos trust cos
switchport priority extend cos 0
mls qos trust device cisco-phone
spanning-tree portfast
end
EJEMPLO 6:
Por ejemplo, en la interfaz GigabitEthernet 1/0/12, se tiene que confiar en la QoS LABEL desde el
PC. También, el PC está conectado a la vlan nativa VLAN 10. En este caso, el comando mls qos
trust cos No ayuda porque el paquete del PC no tagea el valor CoS. El tageará solamente el valor
DSCP. Por lo tanto, el switch agrega el frame dot1q y configura el valor default CoS a CERO. Luego,
la tabla CoS-DSCP calcula y resetea el valor DSCP a CERO.
Para arreglar este problema, se tiene dos opciones. Una es configurar classification y marking
usando MQC. Se puede crear una ACL para matchear tu tráfico de PC basado en la dirección IP
fuente, destino, y numero de puertos fuente y destino. Luego, se matchea esta ACL en un class-
map. Se puede crear un “policy-map” para confiar en este tráfico. Esta solución es discutida más
adelante. Este párrafo discute el segundo método. El segundo método es confiar en la DSCP LABEL
en vez de la CoS LABEL. Luego el DSCP-CoS map calcula y setea el valor CoS que corresponde a el
valor DSCP.
interface GigabitEthernet1/0/12
description **** Cisco IP Phone ****
switchport access vlan 10
switchport mode access
switchport voice vlan 20
mls qos trust dscp
spanning-tree portfast
end
El primer método es el preferido de los 6 porque no es recomendado confiar en todas las QoS
Labels del tráfico de PCs.
Marking – QoS Map Tables Configuration.
Después que QoS está habilitado, las map tables son creadas con los valores default y son
habilitadas.
EJEMPLO 1
Si el puerto es configurado para confiar en CoS, todos los valores CoS entrantes son confiables y
los valores DSCP son los que serán REMARCADOS según la CoS-DSCP table
un valor importante que se necesita tener en cuenta es el valor que corresponde a CoS valor 5. Él
es CS5.
EJEMPLO 2
interface GigabitEthernet1/0/12
description **** Cisco IP Phone ****
switchport access vlan 10
switchport mode access
switchport voice vlan 20
mls qos trust cos
spanning-tree portfast
end
El cisco ip phone marca el payload de voz con CoS 5 y DSCP EF cuando el envía el trafico al switch,
el trafico entra al puerto Gi1/0/12, el switch confía en el valor CoS. Entonces el SW saca el valor
DSCP CS5 (40) para el valor 5 del CoS desde la tabla CoS-DSCP. Todos los payloads con CoS 5 son
marcados con el valor DSCP CS5 y esto no es el valor deseado. El valor DSCP requerido para el
payload de voz es DSCP EF. Por default, los otros valores CoS a valores DSCP son mapeados
correctamente como lo establece el RFC.
La siguiente configuración ayuda a configurar la map table CoS-DSCP, para cambiar el valor DSCP
EF que corresponde al CoS 5.
!--- DSCP 46 is EF
Después de esta configuración, los valores son mapeados como se muestra a continuación:
EJEMPLO 3
Si el puerto es configurado para confiar en DSCP, todos los valores DSCP entrantes son confiables y
los valores CoS son remarcados según la tabla DSCP-CoS.
CONCLUSION se confía en DSCP en la tabla DSCP-CoS
|
|
manda
8 CS1 1
10 AF11 1
12 AF12 1
14 AF13 1
16 CS2 2
18 AF21 2
20 AF22 2
22 AF23 2
24 CS3 3
26 AF31 3
28 AF32 3
30 AF33 3
32 CS4 4
34 AF41 4
36 AF42 4
38 AF43 4
40 CS5 5
42 5
44 5
46 EF 5
48 CS6 6
56 CS7 7
Nota: En una red, todos los switches Cisco Catalyst deberían tener idénticas map tables. Valores
diferentes en las map tables de los diversos switches causaría un comportamiento QoS indeseado.
Classification and Marking – MQC based.
3.2.1.2 MQC based configuration using class-map and policy-map
3.2.1.3 VLAN based configuration
3.2.1.2 MQC based configuration using class-map and policy-map
Como se explicó en la sección classification and marking, tu puedes usar MQC para clasificar y
marcar el paquete. se puede usar MQC en vez de la configuración de puerto especifico.
usted también puede marcar los paquetes entrantes con el policy-map
Este diagrama muestra que un policy-map atachado a la entrada de una interfaz. No se puede
aplicar un policy-map a la salida de cualquier interfaz en un catalyst switch.
La próxima configuración representa el diagrama. Esta sección no se enfoca en la porción de
encolamiento del feature QoS. Esta sección solo se enfoca en el MQC aplicado a la interfaz.
Se asume que la vlan de data es la 10 y su subred es 172.16.10.0/24. La vlan de voz es la vlan 100 y
su dirección de red es la 192.16.100.0/14.
Sección A.
Distribution1(config)#class-map Class-A
Distribution1(config-cmap)#match access-group name voice-traffic
Distribution1(config-cmap)#exit
Distribution1(config)#class-map Class-B
Distribution1(config-cmap)#match access-group name database-application
Distribution1(config-cmap)#exit
Sección B.
Distribution1(config)#policy-map sample-policy1
Distribution1(config-pmap)#class Class-A
Distribution1(config-pmap-c)#trust cos
Distribution1(config-pmap-c)#exit
Distribution1(config-pmap)#class Class-B
Distribution1(config-pmap-c)#set dscp af21
Distribution1(config-pmap-c)#exit
Distribution1(config-pmap)#exit
Sección C.
- Clasifica el tráfico del ip phone a la class-A. El IP phone pertenece a la vlan de voz y tiene
una dirección IP en la subred 192.168.100.0.
- Clasifica el tráfico de la aplicación database a la Class-B. El tráfico del PC (en realidad
cualquier tráfico según la configuración) destinada a cualquier destino con los números de
puerto 1521, 1810, 2481, 7781 son clasificados dentro del class map Class-B.
Explicación Sección B.
- El tráfico que matchea Class-A están configurados para confiar en la CoS LABEL. Esto
significa que los valores CoS de todo el tráfico desde el ip phone son confiables. Como se
muestra en el diagrama, el valor DSCP es derivado desde la CoS-DSCP map para el tráfico
Class-A.
- El tráfico que matchea Class-B son configurados para Setear el valor DSCP a AF21. Como se
muestra en el diagrama, el valor CoS es derivado desde el DSCP-CoS map table para el
tráfico de la Class-B.
- Las configuraciones bajo cada clase del policy-map son llamadas acciones PHB. Marking,
Queueing, Policing, shaping y congestion avoidance son las acciones soportadas PHB en
los routers cisco. Las únicas acciones PHB soportadas en los switches catalyst son Marking
and Policing.
Distribution1(config)#policy-map test
Distribution1(config-pmap)#class test
Distribution1(config-pmap-c)#?
QoS policy-map class configuration commands:
exit Exit from QoS class action configuration mode
no Negate or set default values of a command
police Police
service-policy Configure QoS Service Policy
set Set QoS values
trust Set trust value for the class
<cr>
Los comandos set y trust son acciones PHB Marking. Se puede configurar cualquier acción PHB set
o trust.
No se puede configurar ambas acciones en un class de policy-map. Sin embargo, puede configurar
set en una class y trust en otra class en el mismo policy-map.
El comando police es la acción PHB Policing. Se discute en detalle en la próxima sección.
Shaping no es soportado en los switches catalyst 3650. Queueing y congestion avoidance son
soportados en este switch, pero no son configurables usando MQC.
Explicación Sección C.
- Si cualquiera de los otros métodos de clasificación, tales como port based o vlan based,
son configurados en la puerta Giga1/0/3, estas configuraciones son removidas cuando
aplica el policy-map. Por ejemplo, el puerto Gi1/0/13 está configurado para confiar en el
CoS como se muestra a continuación:
interface GigabitEthernet1/0/13
description **** Access Port ****
switchport access vlan 10
switchport mode access
switchport voice vlan 100
mls qos cos 3
mls qos trust cos
spanning-tree portfast
Distribution1(config)#int gi 1/0/13
Distribution1(config-if)#service-policy input sample-policy1
Distribution1(config-if)#do show run int gi 1/0/13
Building configuration...
!--- It replaces the mls qos trust or mls qos !--- vlan-based command.
Se puede ver que el service-policy de entrada reemplaza solamente al comando “mls qos trust” o
“mls qos vlan-based”. El no cambia los otros comandos, tales como mls qos cos o mls qos dscp-
mutation. En resumen, el reemplaza el comando de clasificación QoS y no reemplaza los
comandos Marking QoS.
Distribution1(config)#policy-map sample-policy1
Distribution1(config-pmap)#class class-default
Distribution1(config-pmap-c)#set dscp af13
Distribution1(config-pmap-c)#exit
Se puede Setear el valor CoS default como se muestra aquí. El valor DSCP es derivado desde la
CoS-DSCP map table.
Distribution1(config)#int gi 1/0/13
Distribution1(config-if)#mls qos cos 3
Distribution1(config-if)#do show run int gi 1/0/13
Building configuration...
!--- Classifying all traffic coming with dscp value of EF !--- under this class-map.
Trafico desde TCP 1494 necesita ser asignado al valor DSCP de CS4.
Policing.
En los switches cisco catalyst, Policing puede solamente ser configurado en puerto de ingreso.
Policing puede solamente ser configurado a través de MQC. Esto significa que no hay comando
especifico de interfaz para policer el tráfico. Se puede configurar Policing en el policy-map y luego
aplicar el policy-map usando solamente l comando “service-policy input <policy-name>”. No se
puede aplicar cualquier policy-map a la salida de una interfaz.
Distribution1(config)#class-map Class-A
Distribution1(config-cmap)#match access-group name BULK-DATA
Distribution1(config-cmap)#exit
Distribution1(config)#class-map Class-B
Distribution1(config-cmap)#match access-group name IP-Communicator
Distribution1(config-cmap)#exit
Distribution1(config)#class-map Class-C
Distribution1(config-cmap)#match access-group name application
Distribution1(config-cmap)#exit
Distribution1(config-cmap)#policy-map sample-policy2
Distribution1(config-pmap)#class Class-A
Distribution1(config-pmap-c)#police 10000000 8000 exceed-action drop
Distribution1(config-pmap-c)#class Class-B
Distribution1(config-pmap-c)#trust dscp
Distribution1(config-pmap-c)#police 256000 8000 exceed-action drop
Distribution1(config-pmap-c)#class Class-C
Distribution1(config-pmap-c)#set dscp CS2
Distribution1(config-pmap-c)#police 25000000 8000 exceed-action drop
Distribution1(config-pmap-c)#exit
Distribution1(config-pmap)#exit
Distribution1(config)#interface GigabitEthernet1/0/20
Distribution1(config-if)#service-policy input sample-policy2
Class-A: El tráfico matcheando Class A es policeado a la taza de 10 Mbps. Las QoS Labels en el
tráfico de la Class A No es confiable. Los valores CoS y DSCP son marcados a CERO (0). Los
paquetes excesivos son dropeados por el policer.
Class-B: Hay dos acciones PHB realizadas en el tráfico matcheando la Class B. Uno esconfiar y el
segundo es Policing. El valor DSCP para el tráfico de la Class-B es confiable. El valor CoS será
derivado de la tabla DSCP-CoS. Luego, el tráfico de la Class B es policeado a lataza de 256 Kbps. Los
paquetes excesivos son dropeados por el policer.
Class-C: Hay 2 acciones PHB realizados en el tráfico matcheando Class B. Uno es marking y el
segundo es Policing. Los paquetes entrantes que matchean la Class C son marcados con el valor
DSCP de CS2, y el valor CoS es derivado desde la tabla DSCP-CoS la cual es 2. Luego, el tráfico de la
Class C es policeado a la taza de 25 Mbps. Los paquetes excesivos son dropeados por el policer.
El switch marca el tráfico que excede la taza del policing configurado basado en los valores de la
tabla policed-DSCP map. El map policd-DSCP es usado solamente cuando es configurado en la
configuración del Policing. La tabla default policed-DSCP map se muestra a continuación:
Distribution1(config)#do show mls qos map policed-dscp
Policed-dscp map:
d1 : d2 0 1 2 3 4 5 6 7 8 9
---------------------------------------
0: 00 01 02 03 04 05 06 07 08 09
1: 10 11 12 13 14 15 16 17 18 19
2: 20 21 22 23 24 25 26 27 28 29
3: 30 31 32 33 34 35 36 37 38 39
4: 40 41 42 43 44 45 46 47 48 49
5: 50 51 52 53 54 55 56 57 58 59
6: 60 61 62 63
Desde esta tabla, se puede ver los mismos valores DSCP son matcheados. Por ejemplo, DSCP 34 es
mapeado a DSCP 34. El tráfico que conforma a la taza del policer es transmitida sin alterar el valor
DSCP. El tráfico que excede la taza del policer puede ser transmitida con un diferente valor DSCP.
Por ejemplo, él puede ser marcado con el valor DSCP que tiene más probabilidad de ser Dropeado.
Si usted usa los valores default para policed-DSCP, no hace sentido usar Policing. Por ejemplo, se
tiene configurado policear el tráfico a la taza de 10 Mbps. El paquete entrante tiene l valor DSCP
de CS4. Si mantiene el valor default DSCP, el tráfico que conforma los 10 Mbps es transmitido con
el valor DSCP de CS2. También, el tráfico que excede los 10 Mbps es transmitido con el valor DSCP
con valor de CS2. Esto se debe a que los valores predeterminados del mapa policed-DSCP asignan
los mismos valores. Por lo tanto, se recomienda configurar la tabla de mapa policed-DSCP
apropiadamente para diferenciar los valores de DSCP.
Los requerimientos de este ejemplo son:
Confiar los valores DSCP de los paquetes del IP Communicator y policearlo a 256 kbps. Si el tráfico
excede los 256 Kbps, remarca los valores DSCP usando la tabla policed-DSCP map.
Distribution1(config)#class-map Class-A
Distribution1(config-cmap)#match access-group name IP-Communicator
Distribution1(config-cmap)#exit
Distribution1(config)#class-map Class-B
Distribution1(config-cmap)#match access-group name application
Distribution1(config-cmap)#exit
Distribution1(config-cmap)#policy-map sample-policy3
Distribution1(config-pmap-c)#class Class-A
Distribution1(config-pmap-c)#trust dscp
Distribution1(config-pmap-c)#police 256000 8000 exceed-action
policed-dscp-transmit
Distribution1(config-pmap-c)#class Class-B
Distribution1(config-pmap-c)#set dscp CS2
Distribution1(config-pmap-c)#police 25000000 8000 exceed-action
policed-dscp-transmit
Distribution1(config-pmap-c)#exit
Distribution1(config-pmap)#exit
!--- Apply Policy map to the interface
Distribution1(config)#interface GigabitEthernet1/0/21
Distribution1(config-if)#service-policy input sample-policy3
EF to AF31
CS3 to AF13
CS2 to AF11
Los primeros dos valores son modificados basados en los tipos de tráfico en los maps de Class-A y
Class-B.
Clase A: La payload de voz y el control de voz desde el softphone se clasifican en el mapa de clases
Clase A. El tráfico de la payload de voz tiene el valor DSCP de EF y el control de voz tiene el valor
DSCP de CS3. De acuerdo con la configuración policy-map, estos valores DSCP son de confianza. El
tráfico se controla a una velocidad de 256 Kbps. El tráfico que conforma esta velocidad se enviará
con el valor DSCP entrante. El tráfico que excede esta tasa será remarcado por la tabla policed-
DSCP y transmitido. La tabla policed-DSCP remarcará la EF a AF31 y la CS3 a AF13 según los valores
configurados. A continuación, los valores CoS que correspondan serán sacados desde la tabla
DSCP-CoS.
Clase B: Los paquetes entrantes que coinciden con la Clase B están marcados con el valor DSCP de
CS2. El tráfico de clase B se controla a una velocidad de 25 Mbps. El tráfico que conforma esta
velocidad se enviará con el valor de DSCP de 2 y el valor de CoS se deriva de la tabla DSCP-CoS que
es 2. El tráfico que excede esta tasa será remarcado por la tabla policed-DSCP y transmitido. La
tabla policed-DSCP remarcará la EF a AF31 y la CS3 a AF13 según los valores configurados. A
continuación, los valores CoS que corresponden se derivarán de la tabla DSCP-CoS.