EN ESTA PÁGINA
Ejemplo: Configurar y aplicar un clasificador agregado de comportamiento DSCP predeterminado
Un clasificador de Junos OS identifica y separa los flujos de tráfico y proporciona los medios para priorizar el tráfico más adelante en el proceso de clase de servicio (CoS).
Un clasificador de agregado de comportamiento (BA) realiza esta función asociando valores de CoS conocidos con clases de reenvío y prioridades de pérdida. Para habilitar un clasificador predeterminado, solo tiene que aplicarlo a las interfaces del dispositivo. Si no se aplica un clasificador predeterminado a una interfaz, no surte efecto.
Junos OS ofrece varios tipos de clasificador de BA predeterminados, los cuales puede combinar y complementar con clasificadores de BA personalizados según sea necesario para lograr sus objetivos de clasificación general de tráfico. En este ejemplo, se muestra cómo aplicar el clasificador de punto de código DiffServ (DSCP) predeterminado (BA) y comprobar su funcionalidad.
Requisitos
Para comprobar este procedimiento, en este ejemplo se utiliza un generador de tráfico. El generador de tráfico puede estar basado en hardware o puede ser software que se ejecuta en un servidor o máquina host. Si no tiene acceso a un generador de tráfico, puede usar ping extendido para la verificación. Este enfoque también se muestra.
La funcionalidad de este procedimiento es ampliamente compatible con dispositivos que ejecutan Junos OS. El ejemplo que se muestra aquí fue probado y verificado en enrutadores serie MX que ejecutan Junos OS versión 10.4.
Visión general
La base de Junos OS CoS es la diferenciación del tráfico. La asignación de tráfico a diferentes clases de servicio proporciona la diferenciación necesaria. Desde el punto de vista de un enrutador, la clase de servicio asignada a un paquete define cómo se comporta el enrutador hacia el paquete. El concepto de diferenciación del tráfico está presente en todas las herramientas de CoS y, como resultado, las clases de servicio están presentes en todo el diseño de CoS. Un clasificador tiene una entrada, el paquete entrante y tiene N salidas posibles, donde N es la cantidad de clases de servicio posibles en las que se puede clasificar el paquete.
La clasificación de BA se usa cuando el tráfico que entra en el dispositivo ya tiene valores CoS de confianza en el encabezado del paquete. Por ejemplo, el clasificador ba DSCP predeterminado especifica que los paquetes que vienen con puntos de código 0000000 se asignan a la clase de reenvío de mejor esfuerzo y se les da una prioridad de pérdida de bajo.
De forma predeterminada, se asigna una clase de reenvío y una prioridad de pérdida a cada DSCP conocido. Para ver esto, ejecute el show class-of-service classifier
comando.
user@host> show class-of-service classifier type dscp Classifier: dscp-default, Code point type: dscp, Index: 7 Code point Forwarding class Loss priority 000000 best-effort low 000001 best-effort low 000010 best-effort low 000011 best-effort low 000100 best-effort low 000101 best-effort low 000110 best-effort low 000111 best-effort low 001000 best-effort low 001001 best-effort low 001010 assured-forwarding low 001011 best-effort low 001100 assured-forwarding high 001101 best-effort low 001110 assured-forwarding high 001111 best-effort low 010000 best-effort low 010001 best-effort low 010010 best-effort low 010011 best-effort low 010100 best-effort low 010101 best-effort low 010110 best-effort low 010111 best-effort low 011000 best-effort low 011001 best-effort low 011010 best-effort low 011011 best-effort low 011100 best-effort low 011101 best-effort low 011110 best-effort low 011111 best-effort low 100000 best-effort low 100001 best-effort low 100010 best-effort low 100011 best-effort low 100100 best-effort low 100101 best-effort low 100110 best-effort low 100111 best-effort low 101000 best-effort low 101001 best-effort low 101010 best-effort low 101011 best-effort low 101100 best-effort low 101101 best-effort low 101110 expedited-forwarding low 101111 best-effort low 110000 network-control low 110001 best-effort low 110010 best-effort low 110011 best-effort low 110100 best-effort low 110101 best-effort low 110110 best-effort low 110111 best-effort low 111000 network-control low 111001 best-effort low 111010 best-effort low 111011 best-effort low 111100 best-effort low 111101 best-effort low 111110 best-effort low 111111 best-effort low
La clase de reenvío determina la cola de salida. De forma predeterminada, todo el tráfico de mejor esfuerzo usa la cola 0.
Para ver las colas asociadas, de forma predeterminada, con cada clase de reenvío, utilice el show class-of-service forwarding-class
comando. (Para mayor claridad, algunos de los resultados se excluyen.)
user@host> show class-of-service forwarding-class Forwarding class ID Queue best-effort 0 0 expedited-forwarding 1 1 assured-forwarding 2 2 network-control 3 3
Los programadores utilizan la prioridad de pérdida junto con el algoritmo de detección temprana aleatoria (RED) para controlar el descarte de paquetes durante períodos de congestión. Cuando esté pensando en prioridades de pérdida, tenga en cuenta que, a menos que las configure, no tienen significado. El comportamiento de caída predeterminado es esperar hasta que la cola esté 100 % completa y, luego, comenzar a soltar paquetes de forma indiscriminada. Cuando la cola cae por debajo del 100 % de lleno, los paquetes dejan de caer.
El comportamiento de colocación predeterminado se muestra en el show class-of-service drop-profile
comando.
user@host> show class-of-service drop-profile Drop profile: <default-drop-profile>, Type: discrete, Index: 1 Fill level Drop probability 100 100
Para crear significados para las distintas prioridades de pérdida, debe configurar perfiles de caída personalizados. Por ejemplo, puede definir la prioridad de pérdida baja para significar una probabilidad de caída del 10 % cuando la cola esté 75 % completa y una probabilidad de caída del 40 % cuando el nivel de relleno de la cola sea del 95 %. Puede definir la prioridad de pérdida alta para significar una probabilidad de caída del 50 por ciento cuando el nivel de relleno es del 25 por ciento y una probabilidad de caída del 90 por ciento cuando el nivel de relleno es del 50 por ciento. Los perfiles de caída personalizados no se incluyen en este ejemplo, pero se mencionan aquí para mayor claridad, ya que los clasificadores asignan prioridades de pérdida. Es importante entender que estas asignaciones no tienen sentido hasta que se crean perfiles de caída.
La operación de clasificador predeterminada se muestra en la figura 1. La figura muestra dos paquetes IPv4 que ingresan en una interfaz y se clasifican según los puntos de código DSCP en los encabezados de paquete.

Los clasificadores se describen con más detalle en el siguiente video de Juniper Networks Learning Byte.
Topología
La figura 2 muestra la red de ejemplo.

Es importante aplicar la configuración de clase de servicio en toda la topología, en lugar de aplicarla a un solo dispositivo. Además, aunque la clasificación surte efecto en las interfaces entrantes, debe aplicar clasificadores de BA a todas las interfaces orientadas al núcleo y al núcleo. Esto se debe a que una sola interfaz puede ser entrante o saliente, dependiendo de la dirección del tráfico. Por ejemplo, a medida que el tráfico fluye del host 1 al host 2, las interfaces entrantes son ge-1/0/7 en el dispositivo R2 y ge-2/0/6 en el dispositivo R3. A medida que el tráfico fluye en la otra dirección, del host 2 al host R1, las interfaces entrantes son ge-1/0/3 en el dispositivo R2 y ge-1/0/7 en el dispositivo R1.
El clasificador BA no se aplica a ge-1/0/1 en el dispositivo R1 o ge-2/0/5 en el dispositivo R3, ya que estas interfaces no están orientadas al núcleo. Por lo general, en las interfaces orientadas al borde, usaría un clasificador multicampo, no un clasificador de BA.
La configuración rápida de CLI muestra la configuración para todos los dispositivos de Juniper Networks en la figura 2. En la sección Procedimiento paso a paso se describen los pasos del dispositivo R2.
Configuración
Procedimiento
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, luego, copie y pegue los comandos en la CLI en el [edit]
nivel de jerarquía.
Dispositivo R1
set interfaces ge-1/0/1 unit 0 family inet address 172.16.50.2/30 set interfaces ge-1/0/7 unit 0 family inet address 10.30.0.1/30 set class-of-service interfaces ge-1/0/7 unit 0 classifiers dscp default
Dispositivo R2
set interfaces ge-1/0/3 unit 0 family inet address 10.40.0.1/30 set interfaces ge-1/0/7 unit 0 family inet address 10.30.0.2/30 set class-of-service interfaces ge-1/0/3 unit 0 classifiers dscp default set class-of-service interfaces ge-1/0/7 unit 0 classifiers dscp default
Dispositivo R3
set interfaces ge-2/0/5 unit 0 family inet address 172.16.70.2/30 set interfaces ge-2/0/6 unit 0 family inet address 10.40.0.2/30 set class-of-service interfaces ge-2/0/6 unit 0 classifiers dscp default
Procedimiento paso a paso
En el ejemplo siguiente, debe navegar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de cli.
Para habilitar el clasificador de agregado de comportamiento DSCP predeterminado:
-
Configure las interfaces del dispositivo.
[edit interfaces] user@R2# set ge-1/0/3 unit 0 family inet address 10.40.0.1/30 user@R2# set ge-1/0/7 unit 0 family inet address 10.30.0.2/30
-
Habilite el clasificador DSCP predeterminado en las interfaces.
[edit class-of-service interfaces] user@R2# set ge-1/0/3 unit 0 classifiers dscp default user@R2# set ge-1/0/7 unit 0 classifiers dscp default
Resultados
Desde el modo de configuración, escriba los comandos y show class-of-service
para confirmar la show interfaces
configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregir la configuración.
user@R2# show interfaces ge-1/0/3 { unit 0 { family inet { address 10.40.0.1/30; } } } ge-1/0/7 { unit 0 { family inet { address 10.30.0.2/30; } } }
user@R2# show class-or-service interfaces { ge-1/0/3 { unit 0 { classifiers { dscp default; } } } ge-1/0/7 { unit 0 { classifiers { dscp default; } } } }
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Verificación
Confirme que la configuración funciona correctamente.
Verificar clasificadores agregados de comportamiento
Propósito
Compruebe que el clasificador de agregado de comportamiento predeterminado está habilitado en las interfaces del dispositivo. Tenga en cuenta que, aunque el clasificador funciona en paquetes entrantes, puede ver la asignación de cola resultante en la interfaz saliente.
Acción
Borrar las estadísticas de interfaz en el dispositivo R2.
user@R2> clear interface statistics ge-1/0/3
Mediante el uso de ping extendido desde el dispositivo R1 o un generador de paquetes que se ejecuta en un host o servidor, envíe paquetes con el punto de código establecido en 001010.
Ambos métodos se muestran aquí. El generador de paquetes usado está funcionando.
Cuando usa ping extendido para establecer los puntos de código DSCP en el encabezado del paquete IPv4, se requiere el valor decimal del tipo de servicio (ToS) (en este caso, 40) en la
tos
opción delping
comando.Cuando se utiliza hping para establecer los puntos de código DSCP en el encabezado del paquete IPv4, el valor hexadecimal ToS (en este caso, 28) se requiere en la
--tos
opción delhping
comando.
Si sus habilidades de conversión de binario a hexadecimal o binario a decimal están oxidadas, puede usar una calculadora en línea, como http://www.mathsisfun.com/binary-decimal-hexadecimal-converter.html .
Nota:Cuando convierta un valor de punto de código DSCP binario, asegúrese de agregar dos ceros adicionales al final. Por lo tanto, en lugar de 001010, use 00101000. Estos valores 0 (los bits 7 y 8) se reservan e ignoran, pero si no los incluye en la conversión, los valores hexadecimales y decimales serán incorrectos.
Ping extendido enviado desde el dispositivo R1
user@R1> ping 172.16.70.1 tos 40 rapid count 25 PING 172.16.70.1 (172.16.70.1): 56 data bytes !!!!!!!!!!!!!!!!!!!!!!!!! --- 172.16.70.1 ping statistics --- 25 packets transmitted, 25 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.430/0.477/0.847/0.079 ms
hping Enviado desde host 1
root@host1> hping 172.16.70.1 --tos 28 -c 25 HPING 172.16.70.1 (eth1 172.16.70.1): NO FLAGS are set, 40 headers + 0 data bytes len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=0 win=0 rtt=0.3 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=1 win=0 rtt=0.6 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=2 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=3 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=4 win=0 rtt=0.6 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=5 win=0 rtt=0.3 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=6 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=7 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=8 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=9 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=10 win=0 rtt=0.5 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=11 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=12 win=0 rtt=0.5 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=13 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=14 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=15 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=16 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=17 win=0 rtt=0.5 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=18 win=0 rtt=0.5 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=19 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=20 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=21 win=0 rtt=0.5 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=22 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=23 win=0 rtt=0.5 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=24 win=0 rtt=0.4 ms
En el dispositivo R2, compruebe que la cola 2 se está incrementando.
El punto de código 001010 está asociado con el reenvío garantizado, que utiliza la cola 2 de forma predeterminada.
user@R2> show interfaces extensive ge-1/0/3 | find "queue counters" Queue counters: Queued packets Transmitted packets Dropped packets 0 0 0 0 1 0 0 0 2 50 25 0 3 3 3 0 Queue number: Mapped forwarding classes 0 best-effort 1 expedited-forwarding 2 assured-forwarding 3 network-control
Significado
El resultado muestra que la cola 2 se ha incrementado en 50 paquetes después de enviar 50 paquetes a través del enrutador.