Descripción de la programación jerárquica de puertos de CoS (ETS)
La programación define las propiedades de clase de servicio (CoS) de las colas de salida. Las colas de salida se asignan a las clases de reenvío. Las propiedades del programador de CoS incluyen la cantidad de ancho de banda de interfaz asignado a la cola, la prioridad de la cola y los perfiles de caída asociados con la cola.
La programación jerárquica de puertos es un proceso de dos niveles que proporciona una mejor utilización del ancho de banda de puerto y una mayor flexibilidad para asignar recursos a colas (clases de reenvío) y a grupos de colas (conjuntos de clases de reenvío). La programación jerárquica incluye la implementación de Junos OS de selección mejorada de transmisión (ETS), como se describe en IEEE 802.1Qaz.
En este tema se describe:
Niveles de programación jerárquicos
Los dos niveles utilizados en la programación jerárquica son prioridades y grupos de prioridad, como se muestra en la tabla 1.
Construcción de configuración de Junos OS |
Construcción de ETS equivalente |
Descripción |
---|---|---|
Clase de reenvío |
Prioridad |
Piense en las prioridades (clases de reenvío) como colas de salida. Puede asignar clases de reenvío a colas, de modo que cada clase de reenvío representa una cola de salida. Cuando se usa un clasificador para asignar una clase de reenvío a un punto de código IEEE 802.1p, el punto de código identifica la prioridad de ese tráfico para el control de flujo basado en prioridades (PFC). Así, la clase de reenvío, la cola asignada a la clase de reenvío y la prioridad (punto de código) asignada a la clase de reenvío identifican el mismo tráfico. |
Conjunto de clases de reenvío |
Grupo de prioridad |
Los grupos de prioridad (conjuntos de clases de reenvío) son grupos de prioridades (clases de reenvío). La membresía de clase de reenvío en un conjunto de clases de reenvío define el grupo de prioridad al que pertenece cada prioridad. Puede configurar hasta tres grupos de prioridad de unidifusión y un grupo de prioridad de multidifusión. |
Puede aplicar propiedades de programación a cada nivel de programación jerárquico como se denuncia en la siguiente sección.
Si configura explícitamente uno o varios grupos de prioridad en una interfaz, cualquier prioridad (clase de reenvío) que no esté asignada a un grupo de prioridad (conjunto de clases de reenvío) en esa interfaz se asignará a un grupo de prioridad predeterminado generado automáticamente y no recibirá ancho de banda. Esto significa que si configura la programación jerárquica en una interfaz, cada clase de reenvío que desee reenviar el tráfico en esa interfaz debe pertenecer a un conjunto de clases de reenvío.
Programación jerárquica y ETS
La programación jerárquica de dos niveles gestiona el ancho de banda de manera eficiente, ya que le permite definir las propiedades de CoS para cada grupo de prioridad y para cada prioridad. El primer nivel del programador jerárquico asigna el ancho de banda del puerto a un grupo de prioridad. El segundo nivel del programador jerárquico determina la parte del ancho de banda del grupo de prioridad que una prioridad (cola) puede usar.
Las propiedades CoS de un grupo de prioridad definen la cantidad de recursos de ancho de banda de puerto disponibles para las colas en ese grupo de prioridad. Las propiedades de CoS que configure para cada cola especifican la cantidad del ancho de banda disponible para la cola a partir del ancho de banda asignado al grupo de prioridad. La figura 1 muestra la relación entre la asignación de recursos de puerto con grupos de prioridad y la asignación de recursos de grupo de prioridad a colas (prioridades).
Si una cola (prioridad) no utiliza su ancho de banda asignado, ETS comparte el ancho de banda no utilizado entre las otras colas del grupo de prioridad en proporción a la velocidad mínima garantizada (velocidad de transmisión) programada para cada cola. Si un grupo de prioridad no utiliza su ancho de banda asignado, ETS comparte el ancho de banda no utilizado entre los grupos de prioridad en el puerto en proporción a la velocidad mínima garantizada (velocidad garantizada) programada para cada grupo de prioridad.
De esta manera, ETS mejora la utilización del ancho de banda del vínculo, y proporciona a cada cola y a cada grupo de prioridad el máximo de ancho de banda disponible. Por ejemplo, las prioridades que consisten en tráfico con ráfagas pueden compartir el ancho de banda durante períodos de transmisión de bajo tráfico, en lugar de reservar su asignación completa de ancho de banda cuando las cargas de tráfico son ligeras.
El ancho de banda del vínculo disponible es el ancho de banda que queda después de atender strict-high
los flujos de prioridad. La prioridad estricta y alta tiene prioridad sobre todo el resto del tráfico. Recomendamos que configure una velocidad de formación (velocidad de transmisión en conmutadores QFX10000) para limitar la cantidad máxima de ancho de banda que puede usar una clase de reenvío estricta de prioridad alta para evitar que otras colas pasen por hambre.
Anuncio de ETS en DCBX
Cuando se configura la programación jerárquica en un puerto, el protocolo de intercambio de capacidades de puente de centro de datos (DCBX) anuncia lo siguiente:
-
Cada grupo de prioridad
-
Las prioridades de cada grupo de prioridad
-
Las propiedades de ancho de banda de cada grupo de prioridad y prioridad
Cuando configura la programación jerárquica en un puerto, cualquier prioridad que no forme parte de un grupo de prioridad configurado explícitamente se asigna al grupo de prioridad predeterminado generado automáticamente y no recibe ancho de banda. El grupo de prioridad predeterminado es transparente. No aparece en la configuración.
Proceso de programación jerárquico
La programación jerárquica consta de varios pasos de configuración que crean las prioridades y los grupos de prioridad, programan sus recursos y los asignan a interfaces. Los pasos a continuación corresponden a los seis bloques del diagrama de flujo de paquetes que se muestran en la Figura 2:
Clasificación de paquetes:
Configure la clasificación del tráfico entrante en clases de reenvío (prioridades). Esto consiste en usar los clasificadores predeterminados o configurar clasificadores para asignar puntos de código y prioridades de pérdida a las clases de reenvío.
Aplique los clasificadores a las interfaces de entrada o utilice los clasificadores predeterminados. La aplicación de un clasificador a una interfaz agrupa el tráfico entrante de la interfaz en clases de reenvío y prioridades de pérdida mediante la aplicación de la asignación de puntos de código clasificador al tráfico entrante.
Configure las colas de salida para las clases de reenvío (prioridades). Esto consiste en usar las clases de reenvío predeterminadas y la asignación de reenvío de clase a cola, o crear sus propias clases de reenvío y asignarlas a colas de salida.
Asigne recursos a las clases de reenvío:
Defina los recursos para las prioridades. Esto consiste en configurar programadores para establecer un ancho de banda mínimo garantizado, ancho de banda máximo, perfiles de caída para detección temprana aleatoria ponderada (WRED) y prioridad de ancho de banda para aplicar a una clase de reenvío. El ancho de banda adicional se comparte entre las colas en proporción al ancho de banda mínimo garantizado (velocidad de transmisión) de cada cola.
Asigne recursos a las prioridades. Esto consiste en asignar clases de reenvío a los programadores mediante un mapa de programador.
Configure grupos de prioridad. Consiste en asignar clases de reenvío (prioridades) a conjuntos de clases de reenvío (grupos de prioridad) para definir las prioridades que pertenecen a cada grupo de prioridad.
Defina recursos para los grupos de prioridad. Esto consiste en configurar perfiles de control de tráfico para establecer un ancho de banda mínimo garantizado (velocidad garantizada) y ancho de banda máximo (velocidad de formación en conmutadores distintos a los conmutadores QFX10000, velocidad de transmisión en conmutadores QFX10000) para un grupo de prioridad. Los perfiles de control de tráfico también especifican una asignación de programador, que define los recursos (programadores) asignados a las prioridades del grupo de prioridades. El ancho de banda de puerto adicional se comparte entre los grupos de prioridad en proporción al ancho de banda mínimo garantizado de cada grupo de prioridad.
La configuración de ancho de banda del perfil de control de tráfico determina los recursos de puerto disponibles para el grupo de prioridad. Los programadores especificados en la asignación de programadores determinan la cantidad de recursos de grupo de prioridad que recibe cada prioridad.
Nota:Los conmutadores QFX10000 no admiten la definición de una velocidad de modelado para grupos de prioridad. En su lugar, establezca el ancho de banda máximo para un grupo de prioridad mediante la definición de una velocidad de transmisión. Consulte velocidad de transmisión.
Aplique programación jerárquica a un puerto. Esto consiste en adjuntar uno o más grupos de prioridad (conjuntos de clases de reenvío) a una interfaz. Para cada grupo de prioridad, también adjunta un perfil de control de tráfico que contiene las propiedades de programación del grupo de prioridad y las prioridades del grupo de prioridad. Diferentes grupos de prioridad en el mismo puerto pueden usar perfiles de control de tráfico diferentes, lo que proporciona un control ajustado de la programación para cada cola en cada interfaz.
Colas estrictas de alta prioridad y programación jerárquica
Si configura una cola de prioridad estricta y alta, debe observar las siguientes reglas:
Debe crear un conjunto de clases de reenvío independiente (grupo de prioridad) para la cola de prioridad alta estricta.
Solo un conjunto de clases de reenvío puede contener colas de prioridad estricta y alta.
Las colas de prioridad estricta y alta no pueden pertenecer a la misma clase de reenvío establecida que las colas que no son de prioridad alta estricta.
Una cola de prioridad estricta y alta no puede pertenecer a un conjunto de clases de reenvío multidestinación.
Recomendamos que siempre aplique una velocidad de formación (velocidad de transmisión en conmutadores QFX10000) a colas de alta prioridad estrictas para limitar la cantidad de ancho de banda que puede usar una cola de prioridad estricta y alta. Si no limita la cantidad de ancho de banda que puede usar una cola de prioridad estricta y alta, entonces la cola de prioridad estricta-alta puede usar todo el ancho de banda del puerto disponible y evitar otras colas en el puerto.
En un sistema QFabric, si una interfaz de estructura (fte) maneja tráfico de alta prioridad estricta, debe definir un conjunto de clase de reenvío independiente (grupo de prioridad) para el tráfico de alta prioridad estricta. El tráfico de alta prioridad estricta no se puede mezclar con el tráfico de otras prioridades en un conjunto de clases de reenvío. Por ejemplo, puede optar por crear diferentes conjuntos de clases de reenvío para el mejor esfuerzo, sin pérdidas, estricta prioridad alta y tráfico de multidestinación.
Programación jerárquica predeterminada
No hay programación jerárquica predeterminada en conmutadores QFX10000. Los conmutadores QFX10000 utilizan la programación de puertos de forma predeterminada, y debe configurar explícitamente la programación jerárquica para habilitar ETS. También en los conmutadores QFX10000, cambiar de programador de puerto a ETS o de ETS a programador de puertos requiere un reinicio.
Si no configura explícitamente la programación jerárquica, el conmutador utilizará la configuración predeterminada:
-
El conmutador crea automáticamente un conjunto de clases de reenvío predeterminado que contiene todas las clases de reenvío del conmutador. El conmutador asigna el 100 % del ancho de banda de salida del puerto al conjunto de clases de reenvío predeterminado. El conjunto de clases de reenvío predeterminado es transparente. No aparece en la configuración y se utiliza para el anuncio del protocolo de intercambio de capacidades de puente de centro de datos (DCBX).
El tráfico de entrada se clasifica según la configuración predeterminada del clasificador.
Las clases de reenvío (colas) del conjunto de clases de reenvío predeterminado reciben ancho de banda según la configuración predeterminada del programador.