Đầu tiên, tôi thêm câu hỏi này và tự trả lời vì loại hành vi này hoàn toàn không tìm thấy ở đâu, hy vọng nó sẽ giúp được ai đó.
Vấn đề:
Chúng tôi sử dụng băng thông tự động để xử lý các đăng ký băng thông cho các LSP của chúng tôi. Các LSP có chi phí bằng nhau và xuất hiện trong các bảng chuyển tiếp / định tuyến của chúng tôi một cách thích hợp như các bước nhảy tiếp theo có sẵn cho mỗi điểm đến.
Tuy nhiên, đối với một điểm đến duy nhất, 4 LSP chi phí bằng nhau không tải cân bằng như nhau (hoặc thậm chí gần bằng nhau). Chúng tôi hiểu rằng JUNOS sử dụng thuật toán cân bằng tải trên mỗi luồng mặc dù tuyên bố "mỗi gói" trong chính sách để cho phép cân bằng tải. Nhưng điều đó không giải thích được sự khác biệt lớn giữa mỗi đăng ký cho LSP (sự mất cân bằng đăng ký này xảy ra nhiều lần mỗi ngày, đó không phải là một lần xảy ra), như vậy:
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 là MX480 và CORE-R1-R4 là MX960.
Dưới đây là các biểu đồ so sánh đăng ký RSVP và việc sử dụng LSP. Màu đỏ là thuê bao, màu xanh là sử dụng. Bạn có thể thấy rằng việc sử dụng sau khi đặt phòng gần như chính xác trong suốt cả ngày. Chúng ta sẽ thấy các mục đăng ký rất gần nhau giữa các LSP hướng đến cùng một đích.
Cấu trúc liên kết:
R1 - R4 là các bộ định tuyến xâm nhập cho tất cả các LSP, chúng có 2 hoặc 4 LSP đối với mỗi bộ định tuyến lõi.
Cấu hình:
Cấu hình LSP là một điểm đến duy nhất từ R1, giống như một ví dụ. Tất cả các LSP được cấu hình chính xác theo cùng một cách (một lần nữa, với 2 hoặc 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;