Tải bản đầy đủ (.doc) (14 trang)

BGP NÂNG CAO

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (258.85 KB, 14 trang )

BGP NÂNG CAO
Xây dựng network dùng iBGP
Mặc dù BGP là một giao thức ngoại vùng, nó có hai phiên bản: BGP nội (iBGP) và BGP ngoại
(eBGP). Sự khác nhau phụ thuộc vào chức năng của giao thức định tuyến. Router sẽ xác định khi
nào thì một BGP sẽ là eBGP hoặc là một iBGP bằng cách kiểm tra giá trị AS được gửi trong thông
điệp open-message. eBGP sẽ tương thích với các yêu cầu chung của một giao thức ngoại vùng.
EBGP sẽ gửi các thông tin định tuyến giữa các AS khác nhau. Vì vậy, router ở biên giới các AS là
eBGP router. iBGP được dùng trong các AS. IBGP chuyển các thông tin đến tất cả các BGP router
bên trong domain và đảm bảo rằng tất cả các router có chung một hiểu biết về các mạng hiện có.
IBGP được dùng giữa các router trong cùng một AS.
Để thiết kế và triển khai BGP chính xác, có một vài đặc điểm của BGP cần phảI được hiểu. iBGP
không nhất thiết phải kết nối trực tiếp về mặt vật lý. Không giống như RIP hoặc OSPF hoặc IP v.6,
các router chạy iBGP không cần phải kết nối trực tiếp trên cùng một hạ tầng mạng. Một số giao
thức khác, chẳng hạn như OSPF sẽ định tuyến các gói BGP giữa các iBGP router.
Hình 8-1: Các AS của BGP
Thông qua các kết nối logic, TCP sẽ route các gói đi qua các AS bởi các bảng định tuyến
được duy trì bởi OSPF. Để BGP có thể truyền các thông tin định tuyến vào bên trong AS,
nó có thể dùng redistribute từ BGP vào IGP. Quá trình redistribute này có thể rất phức tạp.
Một iBGP sẽ truyền một route đến BGP neighbor theo hai điều kiện sau:
Điều kiện 1: Một route được truyền bởi router bằng một trong những phương thức sau:
· thông qua lệnh network
· được redistribute từ một IGP
· được redistribute từ tuyến đường tĩnh
Điều kiện 2: Nếu route được quảng bá là tuyến đường tĩnh
Nếu một route được học từ một update từ một BGP peer trong cùng một AS, một router
BGP có thể truyền route này chỉ đến eBGP. Bởi vì iBGP không có chuyển những cập nhật
mà nó học từ iBGP peers, nó cần phải kết nối fully-mesh với nhau để có đầy đủ kiến thức.
Tuy nhiên, một mạng fully-mesh thì sẽ không có khả năng mở rộng vì tất cả các router
trong một AS phải thiết lập peer với nhau.
Luật synchronization
Luật đơn giản nói rằng trước khi một iBGP có thể truyền một route vào một AS khác,


route đó phải được biết trên toàn AS của nó. Nói cách khác, một giao thức định tuyến IGP
phải được đồng bộ (synchronized) với BGP. Luật sync này là được bật ON ở chế độ mặc
định và nó chỉ nên được tắt nếu tất cả các routers trong AS này chạy BGP.
Các router BGP có bảng định tuyến và BGP table riêng biệt. Luật synchronization được
phát biểu như sau: Một route được học từ một router IBGP láng giềng (tức là route này đã
có trong BGP table) chỉ được đưa vảo bảng định tuyến hoặc quảng bá (advertise) tới BGP
peer khi nó đã được biết tới nhờ một IGP. Khi một router BGP nhận một tuyến IBGP thì
nó phải xem trong bảng định tuyến IGP đã có đường đi đến mạng đó chưa, nếu có thì mới
xem tuyến đó có giá trị và có thể sử dụng hoặc gởi cho các BGP peer khác. Điều này là cần
thiết để đảm bảo các router dọc đường không loại bỏ các gói tin do không có tuyến.
Hình 8-2: Luật sync
Trong hình vẽ trên, nếu transit AS chỉ có các router ngoài rìa chạy iBGP, ta cần phải dựa vào các
IGP để mang traffic giữa các router iBGP. Vì vậy, IGP cần phảI có các thông tin này trong bảng
định tuyến để có thể hoàn tất việc này. AS400 và AS800 dùng AS200 như là transit AS. Theo luật
sync, router sẽ gửi các cập nhật đến AS 800 sẽ không truyền network 56.0.0.0 được quảng bá bởi
AS 400 trừ phi OSPF có đầy đủ thông tin về network 56.0.0.0. Nói cách khác, AS800 có thể gửI
traffic đến 56.0.0.0 sẽ bị mất trong AS200 bởi vì nếu không có thông tin trong bảng định tuyến, nó
sẽ không có khả năng đẩy traffic đến địa chỉ đích phù hợp.
Trong một mạng mà có IGP và IBGP chạy song song thì vẫn không ảnh hưởng gì cả. Các
IBGP cần phải được full-meshed và để một router có thể biết được cách đến được IBGP
peer của nó , nó phải dựa vào IGP. Trong bảng định tuyến của một router sẽ có cả các
route của BGP và IGP , do đó để tất cả các router trong mạng đều biết đường đi đến tất cả
các net work ta phải thực hiện redistribute , hoặc quảng cáo net work đó ở một router trong
mạng. Tùy theo topo của mạng mà ta có những giải pháp cụ thể.
Trong một vài trường hợp, việc tắt synchronization là cần thiết. Các trường hợp này là:
- Tất cả các Router trong AS đều chạy BGP
- AS của bạn không phải là 1 transit AS, tức là không advertise routes từ 1 AS sang 1 AS
khác.
- Nếu tất cả các router trong AS là fully-mesh
- Version 12.2 thì BGP Sync sẽ tắt ở chế độ mặc định.

Aggregate Address
Khi bạn cấu hình aggregate-address mà không dùng thêm một tùy chọn nào, route được sinh ra
sẽ không thừa hưởng bất cứ một attribute nào của từng specific route (ví dụ như AS_PATH hoặc
community). Khi bạn dùng từ khóa as-set, thuộc tính của từng route thành viên sẽ được lưu lại.
router bgp 300
neighbor 2.2.2.2 remote-as 100
neighbor 3.3.3.3 remote-as 200
neighbor 4.4.4.4 remote-as 400
aggregate-address 160.0.0.0 255.0.0.0 summary-only as-set
!
RouterD#show ip bgp
BGP table version is 2, local router ID is 4.4.4.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 160.0.0.0/8 4.4.4.1 0 300 {200,100} i
trong bảng BGP, as-path của aggregate-route đã có thêm các path của từng route thành viên.
A Fully Meshed Network
Luật BGP split horizon nói rằng mặc dù các router không cần kết nối trực tiếp, nó cần phải fully-
mesh. Điều kiện này nhằm đảm bảo các mạng phải thấy nhau. Để tránh routing-loop, giao thức
BGP phải tuân theo luật split horizon rằng không có update nào học từ một peer bên trong có thể
gửi đến một peer khác. Điều này có nghĩa rằng, một network khi được nhận sẽ không phân phối
đến các router iBGP khác. Các mạng này chỉ được truyền đến các router BGP trong các AS khác,
còn gọi là eBGP peer.
BGP duy trì các thông tin cập nhật bằng cách gửi các update trên các kết nối TCP. Các kết nốI
TCP này là một cách xuất sắc để đảm bảo tính chính xác của thông tin, nhưng nhược điểm của nó
là tốn nhiều tài nguyên hệ thống. Số kết nối càng lớn, tài nguyên yêu cầu càng nhiều. Một công
thức đơn giản như sau:
Sẽ cần n (n – 1) / 2 kết nốI TCP trên một mạng gồm n router BGP.
Như vậy một mạng gồm 10 router sẽ yêu cầu 10 (10 – 1) / 2 = 10 * 9 / 2 = 45 phiên làm

việc. Công thức này chấp nhận được trong môi trường có một vài kết nối, tuy nhiên nếu hệ
thống mạng là một nhà ISP thì thiết kế trên không phù hợp.
Chi phí quản trị trong mạng fullymesh
Cũng có những phí tổn quản lý trong việc duy trì các mạng kết nối fully-mesh. Ví dụ, mỗi lần có
một router BGP mới thêm vào, số kết nối phải thiết lập cũng sẽ tăng lên nhiều lần tương ứng. Đối
vớI TCP, không chỉ phải duy trì các kết nối rất tốn tài nguyên mà còn là các cập nhật – updates
phải đi trên các kết nối này. Nếu tất cả các router kết nối với tất cả các router khác, một số lượng
lớn thông tin sẽ được gửi đi trùng lắp.
Hình 8-3: Cấu hình fullmesh cho iBGP
Thiết kế và cấu hình một mạng iBGP
Vấn đề hạn chế khả năng mở rộng trong một mạng fully meshed iBGP có thể được giải quyết
bằng các giải pháp thiết kế. Các giải pháp về cấu hình sẽ cho phép ta bỏ qua luận các iBGP phải
được full mesh. Các lệnh mới này cho phép ta phát triển một mạng hub-and-spoke để đơn giản
hóa các kết nối TCP. Giải pháp được giới thiệu trong phần này là giải pháp dùng route reflector.
Route Reflectors
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. Đặc biệt, route-reflector định nghĩa luật split horizon. Lụât

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×