Configuración del equilibrio de carga por flujo
En Junos OS, el equilibrio de carga por flujo se habilita estableciendo la opción equilibrio de carga por flujo en la configuración de la política de enrutamiento. Tenga en cuenta que la opción existente de equilibrio de carga por paquete también es compatible con Junos OS y el software Junos OS Evolved.
Cuando hay varias rutas de acceso de igual costo al mismo destino para la ruta activa, Junos OS utiliza un algoritmo hash de forma predeterminada para elegir una de las direcciones del próximo salto que desea instalar en la tabla de reenvío. Cuando se utiliza el equilibrio de carga por flujo, todas las direcciones del salto siguiente para un destino de destino se instalan en la tabla de reenvío. De este modo, la carga se equilibra para distribuir el tráfico a través de múltiples rutas entre rutas.
Para configurar el equilibrio de carga por flujo, incluya la load-balance per-packet
instrucción o load-balance per-flow
como una opción de la route-filter
instrucción en el [edit policy-options policy-statement policy-name term term-name from]
nivel jerárquico:
Puede usar la load-balance per-packet
opción o load-balance per-flow
y ambas tienen la misma funcionalidad.
[edit policy-options policy-statement policy-name term term-name from] route-filter destination-prefix match-type { load-balance per-flow; }
o en el nivel jerárquico [edit policy-options policy-statement policy-name term term-name then]
:
[edit policy-options policy-statement policy-name term term-name then] load-balance per-flow;
Para completar la configuración, debe aplicar la directiva de enrutamiento a las rutas exportadas desde la tabla de enrutamiento a la tabla de reenvío, incluyendo el nombre de la directiva en la lista especificada por la export
instrucción:
export [ policy-names ];
Puede incluir esta instrucción en los siguientes niveles jerárquicos:
-
[edit routing-options forwarding-table]
-
[edit logical-systems logical-system-name routing-options forwarding-table]
De forma predeterminada, Junos ignora los datos del puerto al determinar los flujos. Para incluir datos de puerto en la determinación de flujo, incluya la family inet
instrucción en el nivel de [edit forwarding-options hash-key]
jerarquía:
[edit forwarding-options hash-key] family inet { layer-3; layer-4; }
Si incluye las instrucciones de capa 3 y capa 4 , el dispositivo utiliza la siguiente información de capa 3 y capa 4 para equilibrar la carga:
-
Dirección IP de origen
-
Dirección IP de destino
-
Protocolo
-
Número de puerto de origen
-
Número de puerto de destino
-
Índice de interfaz entrante
-
Tipo de servicio IP
Cuando todos los parámetros de capa 3 y capa 4 son idénticos, el dispositivo envía paquetes en el flujo a través de la misma interfaz, lo que a su vez ayuda a evitar la entrega fuera de servicio para flujos TCP y UDP.
Los paquetes del Protocolo de mensajes de control de Internet (ICMP) se manejan de manera diferente porque el desplazamiento de la ubicación del campo es el campo de suma de comprobación, lo que hace que cada paquete de ping sea un "flujo" independiente. Hay otros protocolos que se pueden encapsular en IP que pueden tener un valor variable en el desplazamiento de 32 bits. Esto también puede ser problemático porque estos protocolos se ven como un flujo separado.
Con los enrutadores serie M (con la excepción del enrutador M120) y serie T, el primer fragmento se asigna al mismo destino de carga equilibrada que los paquetes no fragmentados. Los otros fragmentos se pueden asignar a otros destinos con equilibrio de carga.
Solo para el enrutador M120, todos los fragmentos se asignan al mismo destino de carga equilibrada. Este destino no es necesariamente el mismo que para los paquetes no fragmentados.
De forma predeterminada, o si sólo incluye la instrucción de capa 3 , el enrutador utiliza el índice de interfaz entrante, así como la siguiente información de capa 3 en el encabezado del paquete para equilibrar la carga del tráfico:
-
PTX-1000
-
PTX-10002-60
-
QFX-10001-I-20C
-
QFX-10002-60c
-
QFX-10003-160c
-
QFX-10003-80c
-
Archivo de configuración predeterminado de Junos Evo PTX
-
Archivo de configuración predeterminado de Junos PTX
-
Dirección IP de origen
-
Dirección IP de destino
-
Protocolo
De forma predeterminada, los paquetes IP versión 6 (IPv6) se equilibran automáticamente en función de la siguiente información de capa 3 y capa 4:
-
Dirección IP de origen
-
Dirección IP de destino
-
Protocolo
-
Número de puerto de origen
-
Número de puerto de destino
-
Índice de interfaz entrante
-
Clase de tráfico
Ejemplos de equilibrio de carga por paquete
Realice el equilibrio de carga por paquete para todas las rutas:
[edit] policy-options { policy-statement load-balancing-policy { then { load-balance per-flow; } } } routing-options { forwarding-table { export load-balancing-policy; } }
Realice el equilibrio de carga por paquete solo para un conjunto limitado de rutas:
[edit] policy-options { policy-statement load-balancing-polic { from { route-filter 192.168.10/24 orlonger; route-filter 10.114/16 orlonger; } then { load-balance per-flow; } } } routing-options { forwarding-table { export load-balancing-policy; } }
Para configurar el equilibrio de carga de pulverización aleatoria por paquete, incluya la load-balance random
instrucción en el nivel de [edit policy-options policy-statement policy-name term term-name then]
jerarquía:
[edit policy-options policy-statement policy-name term term-name then] load-balance random;
Para completar la configuración, debe aplicar la directiva de enrutamiento a las rutas exportadas desde la tabla de enrutamiento a la tabla de reenvío, incluyendo el nombre de la directiva en la lista especificada por la export
instrucción en el nivel de [edit routing-options forwarding-table]
jerarquía
[edit routing-options forwarding-table] export [ policy-names ];