Zuerst füge ich diese Frage hinzu und beantworte mich selbst, weil diese Art von Verhalten absolut nicht zu finden war, hoffentlich hilft es jemandem.
Problem:
Wir verwenden die automatische Bandbreite, um die Bandbreitenabonnements für unsere LSPs zu verwalten. Die LSPs sind gleich teuer und werden in unseren Weiterleitungs- / Routing-Tabellen entsprechend als verfügbare nächste Hops für jedes Ziel angezeigt.
Für ein einzelnes Ziel sind die 4 LSPs mit gleichen Kosten jedoch nicht gleich (oder sogar nahezu gleich). Wir wissen, dass JUNOS trotz der Anweisung "pro Paket" in der Richtlinie einen Lastausgleichsalgorithmus pro Fluss verwendet, um den Lastausgleich zu ermöglichen. Dies erklärt jedoch nicht den Hauptunterschied zwischen den einzelnen Abonnements für den LSP (dieses Ungleichgewicht bei den Abonnements tritt mehrmals pro Tag auf, es handelt sich nicht um ein einmaliges Ereignis).
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 sind MX480 und CORE-R1-R4 sind MX960.
Unten finden Sie Diagramme, in denen das RSVP-Abonnement und die Nutzung des LSP verglichen werden. Rot ist Abonnement, Grün ist Nutzung. Sie können sehen, dass die Nutzung der Reservierung fast genau den ganzen Tag folgt. Wir sollten sehen, dass Abonnements zwischen den LSPs in Richtung desselben Ziels sehr nahe beieinander liegen.
Topologie:
R1 - R4 sind Ingress-Router für alle LSPs. Sie haben entweder 2 oder 4 LSPs für jeden Core-Router.
Aufbau:
Die LSP-Konfiguration ist nur als Beispiel ein einzelnes Ziel von R1. Alle LSPs sind genau gleich konfiguriert (wiederum mit 2 oder 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;