Primeiro, estou adicionando esta pergunta e respondendo a mim mesma, porque esse tipo de comportamento não era absolutamente onde encontrar, espero que ajude alguém.
Problema:
Usamos largura de banda automática para lidar com as assinaturas de largura de banda de nossos LSPs. Os LSPs são de custo igual e aparecem em nossas tabelas de encaminhamento / roteamento de forma adequada, como disponíveis nos próximos saltos para cada destino.
No entanto, para um único destino, os 4 LSPs de custo igual não são balanceados por carga de maneira igual (ou mesmo quase igual). Entendemos que o JUNOS usa um algoritmo de balanceamento de carga por fluxo, apesar da declaração "por pacote" na política para habilitar o balanceamento de carga. Mas isso não explica a principal diferença entre cada assinatura do LSP (esse desequilíbrio ocorre várias vezes por dia, não é uma ocorrência única), como:
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 são MX480 e CORE-R1-R4 são MX960.
Abaixo estão gráficos comparando a assinatura do RSVP e a utilização do LSP. Vermelho é assinatura, verde é utilização. Você pode ver que a utilização segue a reserva quase exatamente ao longo do dia. Nós deve ver assinaturas ser muito próximos uns dos outros entre os LSPs para o mesmo destino.
Topologia:
R1 - R4 são roteadores de entrada para todos os LSPs, possuem 2 ou 4 LSPs para cada roteador principal.
Configuração:
A configuração LSP é um único destino do R1, apenas como exemplo. Todos os LSPs são configurados exatamente da mesma maneira (novamente, com 2 ou 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;