首先,我正在添加这个问题并回答自己,因为这种行为绝对找不到,希望它会对某人有所帮助。
问题:
我们使用自动带宽来处理 LSP 的带宽订阅。LSP 的成本相等,并且作为每个目的地的可用下一跳适当地出现在我们的转发表/路由表中。
但是对于单个目的地,4 个等价 LSP 的负载均衡并不相等(甚至接近相等)。我们知道 JUNOS 使用按流负载平衡算法,尽管策略中声明了“按数据包”以启用负载平衡。但这并不能解释 LSP 的每个订阅之间的主要区别(这种订阅不平衡每天发生多次,这不是一次性的),如下所示:
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 是 MX480,CORE-R1-R4 是 MX960。
下面是比较 RSVP 订阅和 LSP 利用率的图表。红色是订阅,绿色是使用。您可以看到利用率几乎全天都在预订。我们应该看到,同一目的地的 LSP 之间的订阅非常接近。
拓扑:
R1 - R4 是所有 LSP 的入口路由器,它们有 2 或 4 个 LSP 通往每个核心路由器。
配置:
LSP 配置是来自 R1 的单个目的地,仅作为示例。所有 LSP 的配置方式完全相同(同样,使用 2 或 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;