EN ESTA PÁGINA
Ejemplo: configuración de ECN
En este ejemplo se muestra cómo habilitar la notificación de congestión explícita (ECN) en una cola de salida.
Requisitos
En este ejemplo se utilizan los siguientes componentes de hardware y software:
Un solo interruptor.
Junos OS versión 13.2X51-D25 o posterior para la serie QFX o Junos OS versión 14.1X53-D20 para la serie OCX
Visión general
ECN permite la notificación de congestión de extremo a extremo entre dos puntos finales en redes basadas en TCP/IP. Los dos puntos de conexión son un emisor habilitado para ECN y un receptor habilitado para ECN. ECN debe estar habilitado en ambos puntos finales y en todos los dispositivos intermedios entre los puntos finales para que ECN funcione correctamente. Cualquier dispositivo en la ruta de transmisión que no admita ECN rompe la funcionalidad ECN de extremo a extremo
Se debe aplicar un perfil de caída de paquetes de detección temprana aleatoria ponderada (WRED) a las colas de salida en las que está habilitada ECN. ECN utiliza los umbrales del perfil de colocación WRED para marcar paquetes cuando la cola de salida experimenta congestión.
ECN reduce la pérdida de paquetes al reenviar paquetes compatibles con ECN durante los períodos de congestión de la red, en lugar de dejar caer esos paquetes. (TCP notifica a la red acerca de la congestión mediante la caída de paquetes). Durante los períodos de congestión, ECN marca los paquetes compatibles con ECN que salen de colas congestionadas. Cuando el receptor recibe un paquete ECN marcado como en proceso de congestión, el receptor devuelve el estado de congestión al remitente. A continuación, el remitente reduce su velocidad de transmisión para despejar la congestión.
ECN está deshabilitado de forma predeterminada. Puede habilitar ECN en el tráfico de mejor esfuerzo. ECN no debe habilitarse en colas de tráfico sin pérdidas, que utilizan el control de flujo basado en prioridades (PFC) para la notificación de congestión, y ECN no debe habilitarse en colas de tráfico de prioridad estricta alta.
Para habilitar ECN en una cola de salida, no solo necesita habilitar ECN en el programador de colas, sino que también debe:
Configure un perfil de entrega de paquetes WRED.
Configure un programador de colas que incluya el perfil de colocación de WRED y habilite ECN. (En este ejemplo, solo se muestra ECN y la configuración del perfil de colocación; también puede configurar el ancho de banda, la prioridad y la configuración del búfer en un programador).
Asigne el programador de cola a una clase de reenvío (cola de salida) en una asignación de programador.
A partir de Junos OS 15.1, se admite la programación jerárquica de selección de transmisión mejorada (ETS). Si utiliza la programación jerárquica de selección de transmisión mejorada (ETS), agregue la clase de reenvío a un conjunto de clases de reenvío (grupo de prioridad).
Si utiliza ETS, asocie el mapa del programador de colas con un perfil de control de tráfico (programador de grupo de prioridad para la programación jerárquica).
Si utiliza ETS, aplique el perfil de control de tráfico y la clase de reenvío establecidos a una interfaz. En esa interfaz, la cola de salida utiliza el programador asignado a la clase de reenvío, según lo especificado por el mapa del programador adjunto al perfil de control de tráfico. Esto habilita ECN en la cola y aplica el perfil de colocación WRED a la cola.
Si utiliza la programación de puertos, aplique la asignación del programador a una interfaz. En esa interfaz, la cola de salida utiliza el programador asignado a la clase de reenvío en la asignación del programador, que habilita ECN en la cola y aplica el perfil de colocación WRED a la cola.
En la tabla 1 se muestran los componentes de configuración de este ejemplo.
Componente |
Configuración |
|---|---|
Hardware |
Conmutador de la serie QFX |
Perfil de caída (con dos pares de probabilidad de nivel de llenado/eliminación) |
Nombre: Nivel de llenado de inicio de gota: porcentaje Nivel de llenado del extremo de la gota: |
Programador |
Nombre: ECN: habilitado Perfil de caída: Velocidad de transmisión: Tamaño del búfer: Prioridad: |
Mapa del programador |
Nombre: Clase de reenvío: Programador:
Nota:
De forma predeterminada, la clase de reenvío se asigna a la |
Conjunto de clases de reenvío (solo ETS) |
Nombre: Clase de reenvío: |
Perfil de control de tráfico (solo ETS) |
Nombre: Mapa del programador: |
Interfaz (solo ETS) |
Nombre: Conjunto de clases de reenvío: (Salida) perfil de control de tráfico: |
Interfaz (solo programación de puertos) |
Nombre: |
Solo los conmutadores que admiten la programación jerárquica de ETS admiten la configuración del conjunto de clases de reenvío y del perfil de control de tráfico. La programación directa de puertos no utiliza la estructura de programación jerárquica.
En conmutadores QFX5100, EX4600, QFX3500 y QFX3600, y en sistemas QFabric, el perfil de caída de WRED también controla el comportamiento de caída de paquetes para el tráfico que no es compatible con ECN (paquetes marcados como no ECT, código de bits ECN 00).
En los conmutadores QFX10000, cuando ECN está habilitado en una cola, el perfil de colocación de WRED solo establece los umbrales ECN; no controla la caída de paquetes en paquetes que no son ECN. En las colas habilitadas para ECN, los conmutadores QFX10000 utilizan el algoritmo tail-drop en paquetes que no son ECN durante los períodos de congestión. Si no habilita ECN, la cola utiliza el mecanismo de colocación de paquetes WRED.
Configuración
Configuración rápida de CLI
Para configurar rápidamente el perfil de colocación, el programador con ECN habilitado y asignar el programador a una cola de salida en una interfaz, copie los siguientes comandos, péguelos en un archivo de texto, quite los saltos de línea, cambie las variables y los detalles para que coincidan con su configuración de red y, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit] jerarquía.
Configuración rápida de ETS
[edit class-of-service] set drop-profile be-dp interpolate fill-level 30 fill-level 75 drop-probability 0 drop-probability 80 set schedulers be-sched explicit-congestion-notification set schedulers be-sched drop-profile-map loss-priority low protocol any drop-profile be-dp set schedulers be-sched transmit-rate percent 25 set schedulers be-sched buffer-size percent 25 set schedulers be-sched priority low set scheduler-maps be-map forwarding-class best-effort scheduler be-sched set forwarding-class-sets be-pg class best-effort set traffic-control-profiles be-tcp scheduler-map be-map set interfaces xe-0/0/20 forwarding-class-set be-pg output-traffic-control-profile be-tcp
Configuración rápida de programación de puertos (conmutadores QFX10000)
[edit class-of-service] set drop-profile be-dp interpolate fill-level 30 fill-level 75 drop-probability 0 drop-probability 80 set schedulers be-sched explicit-congestion-notification set schedulers be-sched drop-profile-map loss-priority low protocol any drop-profile be-dp set schedulers be-sched transmit-rate percent 25 set schedulers be-sched buffer-size percent 25 set schedulers be-sched priority low set scheduler-maps be-map forwarding-class best-effort scheduler be-sched set interfaces xe-0/0/20 scheduler-map be-map
Configuración de ECN
Procedimiento paso a paso
Para configurar ECN:
Configure el perfil
be-dpde colocación de paquetes WRED. En este ejemplo se usa un punto inicial de caída de porcentaje, un punto final de caída de porcentaje, una tasa de caída mínima de porcentaje y una tasa de caída máxima de3075080porcentaje:[edit class-of-service] user@switch# set drop-profile be-dp interpolate fill-level 30 fill-level 75 drop-probability 0 drop-probability 80
Cree el programador con ECN habilitado y asocie el perfil
be-dpde colocación con el programadorbe-sched:[edit class-of-service] user@switch# set schedulers be-sched explicit-congestion-notification user@switch# set schedulers be-sched drop-profile-map loss-priority low protocol any drop-profile be-dp user@switch# set be-sched transmit-rate percent 25 user be-sched transmit-rate percent 25 user@switch# set be-sched buffer-size percent 25 user@switch# set be-sched buffer-size percent 25 user@switch# set be-sched priority low
Asigne el programador
be-scheda la clase de reenvío (cola de salida 0) mediante labest-effortasignaciónbe-mapdel programador:[edit class-of-service] user@switch# set scheduler-maps be-map forwarding-class best-effort scheduler be-sched
Si utiliza ETS, agregue la clase
best-effortde reenvío al conjuntobe-pgde clases de reenvío; si utiliza la programación directa de puertos, omita este paso:[edit class-of-service] user@switch# set forwarding-class-sets be-pg class best-effort
Si utiliza ETS, asocie el mapa
be-mapdel programador con el perfilbe-tcpde control de tráfico; si utiliza la programación directa de puertos, omita este paso:[edit class-of-service] user@switch# set traffic-control-profiles be-tcp scheduler-map be-map
Si utiliza ETS, asocie el perfil
be-tcpde control de tráfico y la clase de reenvío establecidabe-pgcon la interfaz en la que desea habilitar ECN en la cola de mejor esfuerzo:[edit class-of-service] user@switch# set interfaces xe-0/0/20 forwarding-class-set be-pg output-traffic-control-profile be-tcp
Si utiliza la programación directa de puertos, asocie el mapa
be-mapdel programador con la interfaz en la que desea habilitar ECN en la cola de mejor esfuerzo:[edit class-of-service] user@switch# set interfaces xe-0/0/20 scheduler-map be-map
Verificación
Comprobación de que ECN está habilitada
Propósito
Compruebe que ECN está habilitado en el programador mostrando la configuración del mapa be-mapdel programadorbe-sched.
Acción
Mostrar la configuración del mapa del programador mediante el comando show class-of-service scheduler-map be-mapdel modo operativo:
user@switch> show class-of-service scheduler-map be-map
Scheduler map: be-map, Index: 12240
Scheduler:be-sched, Forwarding class: best-effort, Index: 115
Transmit rate: 25 percent, Rate Limit: none, Buffer size: 25 percent,
Buffer Limit: none, Priority: low
Excess Priority: unspecified, Explicit Congestion Notification: enable
Drop profiles:
Loss priority Protocol Index Name
Low any 3312 be-dp
Medium-high any 1 <default-drop-profile>
High any 1 <default-drop-profile>
Significado
El show class-of-service scheduler-map comando operativo muestra la configuración del programador asociado con la asignación del programador y la clase de reenvío asignada a ese programador. El resultado muestra que:
El programador asociado con la asignación del programador es
be-sched.La asignación del programador se aplica a la clase
best-effortde reenvío (cola de salida 0).El programador
be-schedtiene una tasa de transmisión de porcentaje, un tamaño de búfer de cola de porcentaje y una prioridad de caída de2525low.El estado explícito de la notificación de congestión es
enable.El perfil WRED drop utilizado para el tráfico
be-dpde baja prioridad es .