EN ESTA PÁGINA
Ejemplo: configuración de la programación de prioridad estricta en un enrutador de la serie PTX
En este ejemplo se muestra cómo configurar la programación de prioridad estricta para una interfaz física en un enrutador de la serie PTX.
Requisitos
En este ejemplo se utilizan los siguientes componentes de hardware y software:
Un enrutador de transporte de paquetes serie PTX
Uno o más enrutadores que proporcionan paquetes de entrada y reciben paquetes de salida
Junos OS versión 13.3 o posterior
Visión general
En este ejemplo se ilustra cómo configurar la programación de prioridad estricta para una interfaz física en un enrutador de la serie PTX para procesar las colas en orden de prioridad estricta. Las colas en la región garantizada con la misma prioridad se procesan por turn-robin. Las colas en la región en exceso se procesan según el algoritmo WRR.
Cuando configure la programación de prioridad estricta, siga estas instrucciones:
La configuración
transmit-rateno afecta a la tasa de drenaje de la cola, ya que los paquetes se procesan en orden de prioridad de cola.Solo puede configurar una cola con
strict-highprioridad en el nivel jerárquico[edit class-of-service schedulers scheduler-name priority].No puede configurar ambos
transmit-rate exactystrict-highprioridad en el nivel jerárquico[edit class-of-service schedulers scheduler-name].No puede configurar
scheduler-maposhaping-rateen una interfaz en la que configure un perfil de control de tráfico de salida.No puede configurar
transmit-rateen una cola conlowprioridad o se producirá un error en la confirmación.
Si una cola de prioridad estricta y alta se carga constantemente al 100 por ciento de la capacidad de tráfico, otras colas mueren de hambre. La falta de cola puede hacer que el hardware de la interfaz genere interrupciones críticas.
Topología
En la Figura 1, el enrutador de la serie PTX tiene entradas del enrutador A, et-1/1/15 y et-1/1/12, y una salida del enrutador B, et-7/1/12. En este ejemplo se configura la clasificación en las dos interfaces de entrada y se configura la programación de prioridad estricta en la interfaz de salida.
de la serie PTX
Configuración
Configuración de la programación de prioridad estricta
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, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit] jerarquía.
set class-of-service classifiers dscp cls forwarding-class be loss-priority high code-points 000000 set class-of-service classifiers dscp cls forwarding-class ef loss-priority medium-high code-points 000001 set class-of-service classifiers dscp cls forwarding-class af loss-priority medium-low code-points 000010 set class-of-service classifiers dscp cls forwarding-class nc loss-priority low code-points 000011 set class-of-service classifiers dscp cls forwarding-class af11 loss-priority low code-points 000100 set class-of-service classifiers dscp cls forwarding-class af12 loss-priority low code-points 000101 set class-of-service classifiers dscp cls forwarding-class af13 loss-priority low code-points 000110 set class-of-service classifiers dscp cls forwarding-class nc2 loss-priority low code-points 000111 set class-of-service forwarding-classes queue 0 be set class-of-service forwarding-classes queue 1 ef set class-of-service forwarding-classes queue 2 af set class-of-service forwarding-classes queue 3 nc set class-of-service forwarding-classes queue 4 af11 set class-of-service forwarding-classes queue 5 af12 set class-of-service forwarding-classes queue 6 af13 set class-of-service forwarding-classes queue 7 nc2 set class-of-service traffic-control-profiles tcp1 scheduler-map sch0 set class-of-service traffic-control-profiles tcp1 strict-priority-scheduler set class-of-service interfaces et-1/1/12 unit 0 classifiers dscp cls set class-of-service interfaces et-1/1/15 unit 0 classifiers dscp cls set class-of-service interfaces et-7/1/12 output-traffic-control-profile tcp1 set class-of-service scheduler-maps sch0 forwarding-class be scheduler be_sch set class-of-service scheduler-maps sch0 forwarding-class ef scheduler ef_sch set class-of-service scheduler-maps sch0 forwarding-class af scheduler af_sch set class-of-service scheduler-maps sch0 forwarding-class nc scheduler nc_sch set class-of-service scheduler-maps sch0 forwarding-class af11 scheduler af11_sch set class-of-service scheduler-maps sch0 forwarding-class af12 scheduler af12_sch set class-of-service scheduler-maps sch0 forwarding-class af13 scheduler af13_sch set class-of-service scheduler-maps sch0 forwarding-class nc2 scheduler nc2_sch set class-of-service schedulers be_sch transmit-rate percent 60 set class-of-service schedulers be_sch priority high set class-of-service schedulers ef_sch transmit-rate percent 5 set class-of-service schedulers ef_sch priority medium-high set class-of-service schedulers af_sch transmit-rate percent 5 set class-of-service schedulers af_sch priority high set class-of-service schedulers nc_sch transmit-rate percent 5 set class-of-service schedulers nc_sch priority strict-high set class-of-service schedulers af11_sch transmit-rate percent 5 set class-of-service schedulers af11_sch priority high set class-of-service schedulers af12_sch transmit-rate percent 5 set class-of-service schedulers af12_sch priority medium-high set class-of-service schedulers af13_sch transmit-rate percent 5 set class-of-service schedulers af13_sch priority medium-low set class-of-service schedulers nc2_sch priority low
Procedimiento paso a paso
En este ejemplo, se configuran ocho programadores en función de ocho configuraciones de clasificador DSCP. A cada programador asociado se le asigna una prioridad y una velocidad de transmisión, aunque el programador de prioridad estricta ignora la velocidad de transmisión. El mapa del programador sch0 se configura con la asignación de clases de reenvío a los programadores. Dentro del perfil de control de tráfico tcp1, se configuran el mapa del programador y la función del programador de prioridad estricta. Dos interfaces de entrada en el enrutador de la serie PTX, et-1/1/12 y et-1/1/15, están configuradas con los clasificadores DSCP. El perfil de control de tráfico de salida en et-7/1/12 está configurado con el perfil de control de tráfico tcp1.
En el ejemplo siguiente es necesario 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 de la Guía del usuario de CLI.
Para configurar la programación de prioridad estricta:
Configure las clases de reenvío DSCP.
[edit class-of-service dscp cls] user@host# set forwarding-class be loss-priority high code-points 000000 user@host# set forwarding-class ef loss-priority medium-high code-points 000001 user@host# set forwarding-class af loss-priority medium-low code-points 000010 user@host# set forwarding-class nc loss-priority low code-points 000011 user@host# set forwarding-class af11 loss-priority low code-points 000100 user@host# set forwarding-class af12 loss-priority low code-points 000101 user@host# set forwarding-class af13 loss-priority low code-points 000110 user@host# set forwarding-class nc2 loss-priority low code-points 000111
Configure la asignación de colas a clases de reenvío.
[edit class-of-service forwarding-classes] user@host# set queue 0 be user@host# set queue 1 ef user@host# set queue 2 af user@host# set queue 3 nc user@host# set queue 4 af11 user@host# set queue 5 af12 user@host# set queue 6 af13 user@host# set queue 7 nc2
Configure la velocidad de transmisión y la prioridad de cada programador.
Aunque puede configurar una velocidad de transmisión, el programador de prioridad estricta reemplaza el valor que configure.
[edit class-of-service] user@host# set schedulers be_sch transmit-rate percent 60 user@host# set schedulers be_sch priority high user@host# set schedulers ef_sch transmit-rate percent 5 user@host# set schedulers ef_sch priority medium-high user@host# set schedulers af_sch transmit-rate percent 5 user@host# set schedulers af_sch priority high user@host# set schedulers nc_sch transmit-rate percent 5 user@host# set schedulers nc_sch priority strict-high user@host# set schedulers af11_sch transmit-rate percent 5 user@host# set schedulers af11_sch priority high user@host# set schedulers af12_sch transmit-rate percent 5 user@host# set schedulers af12_sch priority medium-high user@host# set schedulers af13_sch transmit-rate percent 5 user@host# set schedulers af13_sch priority medium-low user@host# set schedulers nc2_sch priority low
Configure la asignación del programador con la asignación de clases de reenvío a los programadores.
[edit class-of-service scheduler-maps sch0] user@host# set forwarding-class be scheduler be_sch user@host# set forwarding-class ef scheduler ef_sch user@host# set forwarding-class af scheduler af_sch user@host# set forwarding-class nc scheduler nc_sch user@host# set forwarding-class af11 scheduler af11_sch user@host# set forwarding-class af12 scheduler af12_sch user@host# set forwarding-class af13 scheduler af13_sch user@host# set forwarding-class nc2 scheduler nc2_sch
Configure el perfil de control de tráfico para realizar la programación de prioridad estricta y defina la asignación del programador que se va a utilizar.
[edit class-of-service traffic-control-profiles tcp1] user@host# set scheduler-map sch0 user@host# set strict-priority-scheduler
Aplique los clasificadores a las interfaces de entrada y el perfil de control de tráfico a la interfaz de salida.
[edit class-of-service interfaces] user@host# set et-1/1/12 unit 0 classifiers dscp cls user@host# set et-1/1/15 unit 0 classifiers dscp cls user@host# set et-7/1/12 output-traffic-control-profile tcp1
Resultados
Desde el modo de configuración, confirme la configuración introduciendo el show class-of-service comando. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración en este ejemplo para corregirla.
[edit]
user@host# show class-of-service
forwarding-classes {
queue 0 be;
queue 1 ef;
queue 2 af;
queue 3 nc;
queue 4 af11;
queue 5 af12;
queue 6 af13;
queue 7 nc2;
}
interfaces {
et-1/1/12 {
unit 0 {
classifiers {
dscp cls;
}
}
}
et-1/1/15 {
unit 0 {
classifiers {
dscp cls;
}
}
}
et-7/1/12 {
output-traffic-control-profile tcp1;
}
}
scheduler-maps {
sch0 {
forwarding-class be scheduler be_sch;
forwarding-class ef scheduler ef_sch;
forwarding-class af scheduler af_sch;
forwarding-class nc scheduler nc_sch;
forwarding-class af11 scheduler af11_sch;
forwarding-class af12 scheduler af12_sch;
forwarding-class af13 scheduler af13_sch;
forwarding-class nc2 scheduler nc2_sch;
}
}
schedulers {
be_sch {
transmit-rate percent 60;
priority high;
}
ef_sch {
transmit-rate percent 5;
priority medium-high;
}
af_sch {
transmit-rate percent 5;
priority high;
}
nc_sch {
transmit-rate percent 5;
priority strict-high;
}
af11_sch {
transmit-rate percent 5;
priority high;
}
af12_sch {
transmit-rate percent 5;
priority medium-high;
}
af13_sch {
transmit-rate percent 5;
priority medium-low;
}
nc2_sch {
priority low;
}
}
traffic-control-profiles {
tcp1 {
scheduler-map sch0;
strict-priority-scheduler;
}
}
Verificación
Verificación de la programación de prioridad estricta
Propósito
Compruebe que la configuración de programación de prioridad estricta produce los resultados esperados.
Acción
Desde el modo operativo, ingrese el show interfaces queue interface-name interface-name comando y seleccione la interfaz física de salida para verificar.
user@host> show interfaces queue interface-name et-7/1/12
Physical interface: et-7/1/12, Enabled, Physical link is Up
Interface index: 231, SNMP ifIndex: 612
Forwarding classes: 16 supported, 8 in use
Egress queues: 8 supported, 8 in use
Queue: 0, Forwarding classes: be
Queued:
Packets : 394488 131507 pps
Bytes : 591732000 1578084848 bps
Transmitted:
Packets : 394488 131507 pps
Bytes : 591732000 1578084848 bps
Tail-dropped packets : 0 0 pps
RL-dropped packets : 0 0 pps
RL-dropped bytes : 0 0 bps
RED-dropped packets : 0 0 pps
RED-dropped bytes : 0 0 bps
Queue: 1, Forwarding classes: ef
Queued:
Packets : 234498 82115 pps
Bytes : 352963584 988886784 bps
Transmitted:
Packets : 82425 27551 pps
Bytes : 123637500 330618176 bps
Tail-dropped packets : 0 0 pps
RL-dropped packets : 0 0 pps
RL-dropped bytes : 0 0 bps
RED-dropped packets : 152073 54564 pps
RED-dropped bytes : 229326084 658268608 bps
Queue: 2, Forwarding classes: af
Queued:
Packets : 345175 115068 pps
Bytes : 517762500 1380824240 bps
Transmitted:
Packets : 345175 115068 pps
Bytes : 517762500 1380824240 bps
Tail-dropped packets : 0 0 pps
RL-dropped packets : 0 0 pps
RL-dropped bytes : 0 0 bps
RED-dropped packets : 0 0 pps
RED-dropped bytes : 0 0 bps
Queue: 3, Forwarding classes: nc
Queued:
Packets : 986224 328769 pps
Bytes : 1479336000 3945236360 bps
Transmitted:
Packets : 986224 328769 pps
Bytes : 1479336000 3945236360 bps
Tail-dropped packets : 0 0 pps
RL-dropped packets : 0 0 pps
RL-dropped bytes : 0 0 bps
RED-dropped packets : 0 0 pps
RED-dropped bytes : 0 0 bps
Queue: 4, Forwarding classes: af11
Queued:
Packets : 493110 164383 pps
Bytes : 739665000 1972606056 bps
Transmitted:
Packets : 493110 164383 pps
Bytes : 739665000 1972606056 bps
Tail-dropped packets : 0 0 pps
RL-dropped packets : 0 0 pps
RL-dropped bytes : 0 0 bps
RED-dropped packets : 0 0 pps
RED-dropped bytes : 0 0 bps
Queue: 5, Forwarding classes: af12
Queued:
Packets : 461830 164375 pps
Bytes : 695777416 1981272728 bps
Transmitted:
Packets : 82778 27543 pps
Bytes : 124167000 330521208 bps
Tail-dropped packets : 0 0 pps
RL-dropped packets : 0 0 pps
RL-dropped bytes : 0 0 bps
RED-dropped packets : 379052 136832 pps
RED-dropped bytes : 571610416 1650751520 bps
Queue: 6, Forwarding classes: af13
Queued:
Packets : 462258 164556 pps
Bytes : 696421280 1983445256 bps
Transmitted:
Packets : 82973 27637 pps
Bytes : 124459500 331648480 bps
Tail-dropped packets : 0 0 pps
RL-dropped packets : 0 0 pps
RL-dropped bytes : 0 0 bps
RED-dropped packets : 379285 136919 pps
RED-dropped bytes : 571961780 1651796776 bps
Queue: 7, Forwarding classes: nc2
Queued:
Packets : 227750 82215 pps
Bytes : 343447000 991843712 bps
Transmitted:
Packets : 0 0 pps
Bytes : 0 0 bps
Tail-dropped packets : 0 0 pps
RL-dropped packets : 0 0 pps
RL-dropped bytes : 0 0 bps
RED-dropped packets : 227750 82215 pps
RED-dropped bytes : 343447000 991843712 bps
Significado
El show resultado del comando enumera el tráfico por cola y nombres de clase de reenvío. El campo Bytes debajo del campo Transmitido para cada cola muestra los bytes reales transmitidos.
A partir de la salida de muestra, puede ver que la cola estricta obtiene la prioridad más alta y transmite sin caídas. A continuación, se transmiten las colas de alta prioridad. Las colas de prioridad media-alta y media-baja se procesan de forma rotativa. La cola de baja prioridad está hambrienta.
Tenga en cuenta las siguientes condiciones que se aplican a la programación de prioridad estricta:
Si el tráfico en la interfaz de salida está subsuscrito, ninguna cola debería mostrar tráfico perdido.
La cola estricta-alta se procesa primero, seguida de las colas de alta prioridad (en forma de round-robin) y, finalmente, todas las colas restantes en la región garantizada (en forma de round-robin).
Si el tráfico de entrada supera la capacidad de la interfaz de salida, las colas se procesan en orden de prioridad estricta.
Las colas en la región en exceso se procesan según el algoritmo WRR.