Configuración del reenvío basado en CoS
Puede aplicar el reenvío basado en CoS (CBF) solo a un conjunto definido de rutas. Por lo tanto, debe configurar una instrucción de política como en el ejemplo siguiente:
[edit policy-options] policy-statement my-cos-forwarding { from { route-filter destination-prefix match-type; } then { cos-next-hop-map map-name; } }
Esta configuración especifica que las rutas que coincidan con el filtro de ruta están sujetas a la asignación del siguiente salto de CoS especificada por map-name
. Para obtener más información acerca de cómo configurar instrucciones de política, consulte la Guía del usuario de políticas de enrutamiento, filtros de firewall y policías de tráfico.
En los enrutadores serie M (excepto los enrutadores M120 y M320), la coincidencia basada en clases de reenvío y el CBF no funcionan como se esperaba si la clase de reenvío se estableció con un filtro de varios campos en una interfaz de entrada.
A partir de la versión 17.2 de Junos OS, los enrutadores MX con MPC o MS-DPC, los enrutadores VMX, PTX3000 y PTX5000 admiten la configuración del reenvío basado en CoS (CBF) para hasta 16 clases de reenvío. El resto de las plataformas admiten CBF para hasta 8 clases de reenvío. Para admitir hasta 16 clases de reenvío para CBF en enrutadores MX, habilite enhanced-ip
en el [edit chassis network-services]
nivel de jerarquía.
Puede configurar CBF en un dispositivo con el número compatible o menos clases de reenvío más solo una clase de reenvío predeterminada. Bajo esta condición, la clase de reenvío a la asignación de cola puede ser uno a uno o uno a muchos. Sin embargo, no puede configurar CBF cuando el número de clases de reenvío configuradas supera el número admitido. De manera similar, con CBF configurado, no puede configurar más que el número admitido de clases de reenvío más una clase de reenvío predeterminada.
Para especificar una asignación de siguiente salto de CoS, incluya la forwarding-policy
instrucción en el [edit class-of-service]
nivel de jerarquía:
[edit class-of-service] forwarding-policy { next-hop-map map-name { forwarding-class class-name { discard; lsp-next-hop [ lsp-regular-expression ]; next-hop [ next-hop-name ]; non-lsp-next-hop; } forwarding-class-default { discard; lsp-next-hop [ lsp-regular-expression ]; next-hop [next-hop-name]; non-lsp-next-hop; } } }
Cuando configure CBF con OSPF como el protocolo de puerta de enlace interior (IGP), debe especificar el salto siguiente como nombre de interfaz o alias de salto siguiente, no como dirección IPv4 o IPv6. Esto es cierto porque OSPF agrega rutas con la interfaz como el siguiente salto para interfaces de punto a punto; el siguiente salto no contiene la dirección IP. Para obtener un ejemplo de configuración, consulte Ejemplo: Configuración de reenvío basado en CoS.
En el caso de VPN de capa 3, cuando se utiliza el reenvío basado en clases para las rutas recibidas del enrutador de borde del proveedor de extremo final (PE) dentro de una instancia de VRF, el software puede hacer coincidir las rutas según los atributos que vienen solo con la ruta recibida. En otras palabras, la coincidencia se puede basar en la ruta dentro de RIB-in. En este caso, la route-filter
instrucción que se incluye en el [edit policy-options policy-statement my-cos-forwarding from]
nivel de jerarquía no tiene ningún efecto, ya que la política comprueba la bgp.l3vpn.0
tabla, no la vrf.inet.0
tabla.
Junos OS aplica el mapa de siguiente salto de CoS al conjunto de próximos saltos definidos anteriormente; los próximos saltos se pueden localizar en cualquier interfaz de salida en el dispositivo de enrutamiento. Por ejemplo, la siguiente configuración asocia un conjunto de clases de reenvío e identificadores de salto siguiente:
[edit class-of-service forwarding-policy] next-hop-map map1 { forwarding-class expedited-forwarding { next-hop next-hop1; next-hop next-hop2; } forwarding-class best-effort { next-hop next-hop3; lsp-next-hop lsp-next-hop4; } forwarding-class-default { lsp-next-hop lsp-next-hop5; } }
En este ejemplo, next-hop N
es una dirección IP o una interfaz de salida para algún salto siguiente, y lsp-next-hop N
es una expresión regular que corresponde a cualquier salto siguiente con esa etiqueta. De 1 a QN son un conjunto de clases de reenvío que se asignan al siguiente salto específico. Es decir, cuando un paquete se conmuta de Q1 a QN, se reenvía la interfaz asociada con el siguiente salto asociado.
Esta configuración tiene las siguientes implicaciones:
Una sola clase de reenvío puede asignarse a varios saltos próximos estándar o LSP próximos saltos. Esto implica que el uso compartido de carga se realiza en los próximos saltos estándar o LSP próximos saltos que atienden el mismo valor de clase. Para que esto funcione correctamente, Junos OS crea una lista de los paquetes de saltos y reenvíos de igual costo de acuerdo con las reglas estándar de uso compartido de carga para esa clase de reenvío.
Si una configuración de clase de reenvío incluye saltos próximos LSP y próximos saltos estándar, se prefieren los saltos LSP próximos sobre los saltos siguientes estándar. En el ejemplo anterior, si ambos
next-hop3
saltoslsp-next-hop4
siguientes son válidos para una ruta a la quemap1
se aplica, la tabla de reenvío solo incluye entradalsp-next-hop4
.Si
next-hop-map
no especifica todas las clases de reenvío posibles, la clase de reenvío predeterminada se selecciona como predeterminada. default-forwarding class Define el siguiente salto para el tráfico que no cumple con ninguna clase de reenvío en la siguiente asignación de salto. Si la clase de reenvío predeterminada no se especifica en la asignación del salto siguiente, se designa un valor predeterminado de forma aleatoria. La clase de reenvío predeterminada es la clase asociada a la cola 0.Para los próximos saltos de LSP, Junos OS usa expresiones regulares de estilo UNIX
regex(3)
. Por ejemplo, si existen las siguientes etiquetas:lsp
, ,lsp1
,lsp2
,lsp3
, la instrucciónlsp-next-hop lsp
coincidelsp
,lsp1
,lsp2
ylsp3
. Si no desea este comportamiento, debe usar los caractereslsp-next-hop " ^lsp$"
de anclaje, que solo coincidanlsp
.El filtro de ruta no funciona porque la política se comprueba en la
bgp.l3vpn.0
tabla en lugar de en lavrf.inet.0
tabla.
El paso final es aplicar el filtro de ruta a las rutas exportadas al motor de reenvío. Esto se muestra en el siguiente ejemplo:
routing-options { forwarding-table { export my-cos-forwarding; } }
Esta configuración indica al proceso de enrutamiento que inserte rutas al motor de reenvío que coincidan my-cos-forwarding
con las reglas CBF del próximo salto asociadas.
El siguiente algoritmo se utiliza cuando se aplica una configuración a una ruta:
Si la ruta es una ruta única del salto siguiente, todo el tráfico va a esa ruta; es decir, ninguna CBF se hace efectiva.
Para cada salto siguiente, asocie la clase de reenvío adecuada. Si aparece un salto siguiente en la ruta, pero no en el
cos-next-hop
mapa, no aparece en la entrada de la tabla de reenvío.La clase de reenvío predeterminada se utiliza si no todas las clases de reenvío se especifican en la asignación del salto siguiente. Si no se especifica el valor predeterminado, el valor predeterminado se asigna a la clase más baja definida en la asignación del salto siguiente.