Primero, agrego esta pregunta y me respondo porque este tipo de comportamiento no estaba en ningún lugar, espero que ayude a alguien.
Problema:
Utilizamos el ancho de banda automático para manejar las suscripciones de ancho de banda para nuestros LSP. Los LSP tienen el mismo costo y aparecen en nuestras tablas de reenvío / enrutamiento de manera apropiada como los próximos saltos disponibles para cada destino.
Sin embargo, para un solo destino, los 4 LSP de igual costo no están equilibrando la carga por igual (o incluso cerca de la misma). Entendemos que JUNOS utiliza un algoritmo de equilibrio de carga por flujo a pesar de la declaración "por paquete" en la política para habilitar el equilibrio de carga. Pero eso no explica la gran diferencia entre cada suscripción para el LSP (este desequilibrio de suscripción ocurre varias veces al día, no es una ocurrencia única), así:
jhead@R1> show route protocol rsvp 1.1.1.1 detail
1.1.1.1/32 (2 entries, 1 announced)
State: <FlashAll>
*RSVP Preference: 7/1
Next hop: 192.168.1.1 via xe-0/0/0.0 weight 0x1 balance 35%, selected
Label-switched-path LSP1
Next hop: 192.168.1.2 via xe-1/0/0.0 weight 0x1 balance 35%
Label-switched-path LSP2
Next hop: 192.168.1.3 via xe-0/0/1.0 weight 0x1 balance 26%
Label-switched-path LSP3
Next hop: 192.168.1.4 via xe-0/0/0.0 weight 0x1 balance 5%
Label-switched-path LSP4
R1-R4 son MX480 y CORE-R1-R4 son MX960.
A continuación hay gráficos que comparan la suscripción de RSVP y la utilización del LSP. El rojo es suscripción, el verde es utilización. Puede ver que la utilización sigue la reserva casi exactamente durante todo el día. Nosotros deberíamos ver suscripciones ser muy cerca uno del otro entre los LSP hacia el mismo destino.
Topología:
R1 - R4 son enrutadores de entrada para todos los LSP, tienen 2 o 4 LSP hacia cada enrutador central.
Configuración:
La configuración de LSP es un único destino desde R1, solo como un ejemplo. Todos los LSP están configurados exactamente de la misma manera (de nuevo, con 2 o 4).
[edit protocols mpls]
statistics {
file mpls-stats;
interval 300;
auto-bandwidth;
}
traffic-engineering bgp;
label-switched-path LSP1 {
to 1.1.1.1;
optimize-timer 300;
auto-bandwidth {
adjust-interval 7200;
adjust-threshold 10;
minimum-bandwidth 100m;
maximum-bandwidth 4g;
adjust-threshold-overflow-limit 2;
adjust-threshold-underflow-limit 4;
}
primary primary-loose;
}
label-switched-path LSP2 {
to 1.1.1.1;
optimize-timer 300;
auto-bandwidth {
adjust-interval 7200;
adjust-threshold 10;
minimum-bandwidth 100m;
maximum-bandwidth 4g;
adjust-threshold-overflow-limit 2;
adjust-threshold-underflow-limit 4;
}
primary primary-loose;
}
label-switched-path LSP3 {
to 1.1.1.1;
optimize-timer 300;
auto-bandwidth {
adjust-interval 7200;
adjust-threshold 10;
minimum-bandwidth 100m;
maximum-bandwidth 4g;
adjust-threshold-overflow-limit 2;
adjust-threshold-underflow-limit 4;
}
primary primary-loose;
}
label-switched-path LSP4 {
to 1.1.1.1;
optimize-timer 300;
auto-bandwidth {
adjust-interval 7200;
adjust-threshold 10;
minimum-bandwidth 100m;
maximum-bandwidth 4g;
adjust-threshold-overflow-limit 2;
adjust-threshold-underflow-limit 4;
}
primary primary-loose;
}
[edit protocols rsvp]
load-balance bandwidth
interface xe-0/0/0.0 {
bandwidth 9g;
}
interface xe-0/0/1.0 {
bandwidth 9g;
}
interface xe-1/0/0.0 {
bandwidth 9g;
}
[edit routing-options forwarding-table]
export load-balance;