route reflector
TRANSCRIPT
Route reflector
Trong BGP, IBGP router sẽ không truyền bá tuyến đường cho các IBGP peer khác. Vì
vậy mạng IBGP yêu cầu các peer phải đấu nối full-mesh để có thể học được đầy đủ các tuyến
đường.
Việc phải kết nối full-mesh giữa tất cả các IBGP router dẫn đến :
- Một lượng lớn các phiên TCP
- Các traffic định tuyến trùng lặp không cần thiết
Giải pháp: Sử dụng Router làm route reflector có thể truyền bá các IBGP route tới các
IBGP peer. Như vậy sẽ không yêu cầu phải kết nối full-mesh các peer.
1. Tổng quan về Route reflector
Một route reflector là một router được cấu hình để chuyển những routing update đến các
router láng giềng hoặc các router chạy BGP bên trong một AS.
Các router iBGP cần phải được chỉ ra như là client trong khi cấu hình. Khi một client gửi
một update đến route-reflector, nó sẽ chuyển update đó đến các router client khác. Route
Reflector và client thiết lập một quan hệ peer đầy đủ bởi vì route reflector sẽ gửi các cập nhật từ
các client khác còn giữa các client không cần thiết lập peer .
Một route-reflector sẽ kết nối đến các peers mà nó không đẩy route đến. Từ quan điểm
của route-reflector, các neighbor này được gọi là non-clients. Các router non-clients phải được
kết nối fully-meshed với các route-reflector và với các non-client khác. Khi một router đã cấu
hình như một route-reflector, nó sẽ đẩy những đường đi được học từ các iBGP khác chỉ đến các
route-reflector clients và tới các iBGP/eBGP neighbors. Điều này có nghĩa là một thiết kế hub-
and-spoke có thể được triển khai trong một AS giữa các iBGP peers, như vậy giảm thiểu số
session giữa các routers. Cả route-reflector và các client của nó hình thành nên một đơn vị để
chia sẽ thông tin. Đơn vị này gọi là cluster.
Một Autonomous System có thể được chia ra thành các cluster, trong các các cluster sẽ
có các route-reflector được chỉ định và cấu hình. Phải có ít nhất một route-reflector trong mỗi
cluster. Mỗi cluster có một cluster ID duy nhất. Mỗi khi tuyến đường được reflect, cluster ID sẽ
được thêm vào thuộc tính cluster-list BGP. Các tuyến đường chứa cluster ID local trong cluster
list sẽ không reflect nữa
Nếu một route-reflector kết nối đến các route reflector khác, route-reflector phải được
fully-meshed. Điều này nhằm đảm bảo các bảng iBGP routing là đầy đủ. Khi một tuyến đường
được reflect, router-ID của router IBGP gốc sẽ được lưu lại trong thuộc tính BGP originator-ID.
Một router nhận được một IBGP route với originator-id được thiết lập là ID của nó thì nó bỏ qua
route này. Điều này nhằm ngăn ngừa khả năng routing loop.
Với cách dùng route-reflector, router đóng vai trò route-reflector sẽ tốn nhiều tài nguyên
hơn. Nếu cấu hình route-reflector không chính xác, nó có thể gây ra routing-loop. Có nhiều mức
route-reflector có thể được cấu hình bằng cách tạo ra các thiết kế theo thứ bậc. Các router không
là thành phần của route-reflector sẽ không bị ảnh hưởng trong những thay đổi về thiết kế và
những thay đổi về quá trình truyền các cập nhật. Thay vào đó, các router này sẽ không nhận biết
được bất cứ thay đổi nào vì nó vẫn nhận được các update mà nó cần. Bản thân các routing update
cũng không bị thay đổi bởi vì không có sự thay đổi nào trong giá trị các thuộc tính được mang
trong các routing update.
Chính vì các đặc điểm trên, quá trình chuyển đổi thiết kế một hệ thống mạng nào đó sang
dạng dùng route-reflector thì rất dễ dàng. Một thiết kế quan trọng là bản thân các route-reflector
trong một AS cũng phải fully-meshed. Ngoài ra, một route-reflector này có thể là client cho một
route-reflector khác. Thiết kế như vậy khá phức tạp và yêu cầu xem xét cẩn thận bởi vì khi các
route-reflector được cấu hình và split horizon bị disable, không còn một cơ chế nào để bảo vệ
routing loop.
Hình 1: Mô hình mạng sử dụng route reflector
2. Hoạt động Route reflector:
Hình 2: Cấu hình các route-reflector
Một RR đơn giản giống như một tấm gương để phản hồi các update từ các client đến các
client khác mà không yêu cầu một mạng phải fully-meshed.
Khi một RR nhận được một cập nhật:
Client sẽ chuyển update đó cho router láng giềng của nó, trong trường hợp này
là RR
RR sẽ quảng bá cập nhật này cho các RR clients cũng như non-clients. Thông
số originatorID ban đầu sẽ bị loại trừ ra khỏi cập nhật.
Nếu có nhiều đường đi nhận được từ RR, RR sẽ chọn đường đi tốt nhất để
quảng bá
Router duy nhất mà có update chuyển đến nó là nguồn gốc của route
Một non-client router sẽ chuyển các cập nhật tới các láng giềng của nó, có thể
là một RR.
Khi RR nhận được một bản tin update từ non-clients, nó sẽ chỉ được quảng bá
đến các client.
RR sẽ cập nhật cả client và non-clients.
3. Các ưu điểm của route-reflector bao gồm
Khả năng mở rộng mạng
Thiết kế mang tính cấu trúc cao
Giảm traffic trên mạng.
Giảm bộ nhớ và CPU cần thiết để duy trì các phiên TCP session trên các
máy iBGP peers.
Hội tụ nhanh hơn và mạng trở nên đơn giản hơn bởi vì có đến hai giao
thức định tuyến được dùng: iBGP cho các thông tin định tuyến bên ngoài đi qua AS; IGP
cho các router bên trong một AS.
4. Hoạt động của RR trong IPBN
Hình 3: Mô hình hoạt động của RR trong IPBN trên lý thuyết
Cơ chế hoạt động hoạt động trên thực tế:
Sử dụng 2 Router tại 2 site HNI và HCM làm Route Reflector (RR). Các thiết bị IGW,
DGW, PE sẽ thiết lập BGP neighbor với RR , thực hiện chính sách định tuyến, quảng bá
thông tin định tuyến ngoại mạng (trong nước và quốc tế) cho các router PE.
- Với RR HNI :
o Với các PE:
RR học các route nhận được từ PE của HNI và gán local-preference là
3500
RR dạy cho PE tất cả các route nó học được trừ các route private.
o Với DGW HNI:
RR học các route từ DGW HNI và gán local-preference là 3000
RR dạy cho DGW các route trong nước và transit của viettel trừ các route
private.
o Với IGW HNI :
RR học các route sau và gán local-preference là 3100 (route của các
transit)
route-filter 115.84.176.0/21 exact;
route-filter 115.84.176.0/22 exact;
route-filter 115.84.179.0/24 exact;
route-filter 210.211.96.0/20 exact;
route-filter 210.211.96.0/21 exact;
RR học các route toàn bộ các route khác từ IGW và gán local-preference
là 2000
RR dạy cho IGW các route của viettel và transit trừ các route private
o Với DNG
RR học toàn bộ các route của các route ở DNG và gán local-preference là
3500.
RR dạy cho các route DNG toàn bộ các route trừ các route private với
local-preference là 2000.
o Với các PE HCM:
RR học toàn bộ các route nội bộ của viettel và gán local-preference là
3000.
RR dạy cho các PE HCM toàn bộ các route trừ các route private với local-
preference là 1000
o Với DGW HCM:
RR dạy cho DGW HCM các route nội bộ viettel và các transit với local-
preference là 1000.
RR học DGW HCM toàn bộ các route trừ các route nội bộ của viettel HNI
với local-preference là 2500, các route từ VINAGAME và VINADATA
được gán với local-preference là 3500.
o Với IGW HCM:
RR dạy cho IGW HCM các route của nội bộ HNI và các transit với local-
preference là 1500
RR học các route từ IGW HCM trừ các route private và các route nội bộ.