- Back to Home »
- BGP »
- BGP Route Reflectors
Posted by : Unknown
12 October 2014
Một giải pháp cho sự bùng nổ của số lượng các
liên kết IBGP trong một AS là Route Reflectors (RR).
BGP sẽ không quảng bá một tuyến đường được học từ một IBGP cho một IBGP khác. Với RR chúng ta có thể
cho phép một bộ định tuyến ánh xạ (reflect) IBGP được học cho một IBGP khác. Điều này sẽ giảm số lượng các liên kết
IBGP trong một AS.
Trong những trường hợp bình thường, một mạng lưới IBGP full mesh nên được duy trì giữa RTA, RTB và RTC trong AS100. Bằng cách sử dụng các khái niệm đường phản xạ RR, RTC có thể được bầu làm một RR và có peer IBGP ngang hàng với RTA
và RTB. Peer giữa RTA và RTB là
không cần thiết vì RTC sẽ phản xạ đường cho các bản cập nhật đến từ RTA và RTB.
neighbor route−reflector−client
Các router với các
lệnh trên sẽ là RR và hàng xóm
sẽ là clients của RR đó. Trong ví dụ này, RTC sẽ được cấu hình neighbor route−reflector−client trỏ tới IP của RTA và RTB. Sự kết hợp của RR và client của nó được gọi là cluster. RTA, RTB và RTC
trên sẽ tạo thành một cluster với một RR duy nhất
trong AS100.
Các peer IBGP khác của RR mà không phải là clients
được gọi là non−clients.
Trong một AS có
thể có nhiều hơn một route reflector; một
RR sẽ đối xử với các RR khác như một IBGP khác. Các RR có thể cùng
thuộc cluster
(client group) hoặc cluster khác. Trong một cấu hình
đơn giản, AS có thể được chia thành nhiều cluster, mỗi RR sẽ được cấu hình với RR khác như một non−client peers trong mô
hình fully meshed. Clients không peer với IBGP bên
ngoài cluster của chúng.
Xét sơ đồ trên:
RTA, RTB và RTC tạo
thành một cluster duy nhất với RTC là RR. Theo RTC, RTA và RTB là
clients và các router khác là non−client. Hãy nhớ rằng clients của một RR được
tạo bằng cách sử dụng lệnh neighbor
route−reflector−client. Cũng như vậy, RTD là RR cho clients RTE và RTF;
RTG là một RR trong
một nhóm thứ ba. Lưu ý rằng RTD, RTC và RTG là fully meshed nhưng
các router trong một
cluster thì
không. Khi một tuyến
đường nhận được một RR, nó sẽ làm như sau:
- Tuyến đường từ một non−client peer: Ánh xạ tới tất cả clients trong cluster.
- Tuyến đường từ một client peer: Ánh xạ tới tất cả non−client peers và client peers.
- Tuyến đường từ một EBGP peer: Gửi cập nhất đến tất cả client và non−client peers.
Sau đây là cấu hình BGP
của các router RTC, RTD và RTB:
RTC#
router bgp 100
neighbor 2.2.2.2 remote−as 100
neighbor 2.2.2.2 route−reflector−client
neighbor 1.1.1.1 remote−as 100
neighbor 1.1.1.1 route−reflector−client
neighbor 7.7.7.7 remote−as 100
neighbor 4.4.4.4 remote−as 100
neighbor 8.8.8.8 remote−as 200
RTB#
router bgp 100
neighbor 3.3.3.3 remote−as 100
neighbor 12.12.12.12 remote−as 300
RTD#
router bgp 100
neighbor 6.6.6.6 remote−as 100
neighbor 6.6.6.6 route−reflector−client
neighbor 5.5.5.5 remote−as 100
neighbor 5.5.5.5 route−reflector−client
neighbor 7.7.7.7 remote−as 100
neighbor 3.3.3.3 remote−as 100
Khi IBGP được học tuyến đường bằng cách ánh xạ, nó có thể xảy ra các vòng lặp thông tin định tuyến. Route Reflector có một số phương pháp để ngăn chặn điều này:
- Originator−id: đây là một tùy chọn, thuộc tính non transitive BGP dài 4 bytes và được tạo bởi một RR. Thuộc tính này sẽ mang router−id (RID) của router khởi tạo trong AS cục bộ. Như vậy nếu thông tin định tuyến trở lại router khởi tạo nguồn tin đó, nó sẽ bị bỏ qua.
Giá trị orgin là bước thứ 5 trong 13 bước để chọn
tuyến đường.
- Cluster−list: Sẽ được thảo luận cụ thể ở dưới
BGP Multiple RRs within a Cluster
Thông thường, một nhóm các clients sẽ có một RR duy nhất. Trong trường hợp
này, các cluster sẽ được xác
định bởi các router ID của RR. Để tăng cường khả năng dự
phòng và tránh Single
Points Of Failure,
một cluster có thể có nhiều hơn một RR. Tất cả RR trong cùng một nhóm cần phải được cấu hình với 4 byte cluster−id để một RR có thể nhận cập nhật từ RR khác trong
cùng một cluster.
Một cluster−list là một chuỗi các cluster−ids của các
tuyến đường đã được thông qua. Khi một RR ánh xạ một tuyến đường từ non−clients bên ngoài cluster, nó sẽ thêm các cluster−id cục bộ tới cluster−list. Nếu bản cập nhật này có một cluster−list rỗng thì RR sẽ tự tạo ra. Sử dụng thuộc tính này, một RR có
thể xác định được các thông tin định tuyến bị lặp trở lại một
cluster do cấu hình sai. Nếu các cluster−id cục bộ được tìm thấy trong cluster-list, quảng bá sẽ bị bỏ qua.
Trong sơ đồ trên RTD,
RTE, RTF và RTH thuộc về một cluster với RTD và RTH cùng là RR cho cluster này. Lưu ý rằng RTH cấu hình fully mesh ngang hàng với tất cả các RR. Trong trường hợp RTD down, RTH sẽ thay
thế nó. Sau đây là cấu hình của RTH, RTD, RTF và RTC:
RTH#
router bgp 100
neighbor 4.4.4.4 remote−as 100
neighbor 5.5.5.5 remote−as 100
neighbor 5.5.5.5 route−reflector−client
neighbor 6.6.6.6 remote−as 100
neighbor 6.6.6.6 route−reflector−client
neighbor 7.7.7.7 remote−as 100
neighbor 3.3.3.3 remote−as 100
neighbor 9.9.9.9 remote−as 300
bgp route−reflector 10 (This is
the cluster−id)
RTD#
router bgp 100
neighbor 10.10.10.10 remote−as 100
neighbor 5.5.5.5 remote−as 100
neighbor 5.5.5.5 route−reflector−client
neighbor 6.6.6.6 remote−as 100
neighbor 6.6.6.6 route−reflector−client
neighbor 7.7.7.7 remote−as 100
neighbor 3.3.3.3 remote−as 100
neighbor 11.11.11.11 remote−as 400
bgp route−reflector 10 (This is
the cluster−id)
RTF#
router bgp 100
neighbor 10.10.10.10 remote−as 100
neighbor 4.4.4.4 remote−as 100
neighbor 13.13.13.13 remote−as 500
RTC#
router bgp 100
neighbor 1.1.1.1 remote−as 100
neighbor 1.1.1.1 route−reflector−client
neighbor 2.2.2.2 remote−as 100
neighbor 2.2.2.2 route−reflector−client
neighbor 4.4.4.4 remote−as 100
neighbor 7.7.7.7 remote−as 100
neighbor 10.10.10.10 remote−as 100
neighbor 8.8.8.8 remote−as 200
Lưu ý rằng
ta không cần lệnh cluster cho RTC vì chỉ có một RR tồn tại trong cluster
đó. Một điều quan trọng cần lưu ý nữa
đó là peer−groups không được sử dụng trong cấu hình ở trên. Nếu clients bên trong
một cluster không thiết lập IBGP trực tiếp giữa chúng và các client trao đổi cập nhật
thông qua các RR, peer-goups không nên sử dụng.
Lệnh bgp client−to−client reflection được kích hoạt mặc định trên RR. Nếu BGP client−to−client reflection được tắt trên RR và việc tạo dự phòng BGP đã được thực hiện giữa các client thì sử dụng peer groups sẽ là phù hợp.