1.2.7 Chọn tuyến đường (Route Selection)
Routing Information Bases:
Khi BGP speaker học 1 route, route đó cần phải qua Routing Information Base(RIB) của BGP speaker. RIB có 3 phần:
Ø Adj-RIBs-In: Chỉ có 1 Adj-RIBs-In cho một BGP speaker. Nó chứa các route đi vào RIB.Khi BGP routes chứa vào đây, chúng sẽ đi qua cơ chế inbound policy. Cơ chế inbound policy là nơi các routes bị filter hoặc các thuộc tính của route được sao chép, tùy thuộc vào policy của người quản trị router. Qua phần này route sẽ đi ddeens Loc-RIB.
Ø Loc-RIB: nó được router sử dụng để đưa ra quyết định lựa chọn routing. Router sau đó sẽ gửi tất cả các routes có trong Loc-RIB đến cơ chế outbound policy. Cơ chế này được đưa ra từ người quản trị router mục đích để filter hoặc sao chép BGP route trước khi đưa chúng qua Adj-RIBs-Out.
Ø Adj-RIBs-Out:Các routes qua được cơ chế outbound policy sẽ được ở đây. Chỉ một Adj-RIBs-Out tồn tại với 1 BGp speaker, các routes trong nó sẽ được quảng bá đến peers.
Một route sẽ tiếp tục qua các bước này nếu nó được quảng bá đến BGp speaker khác. Sau đây là trình tự quá trình:
Hình 1.8…………………..
1. BGp speaker nhận routes.
2. Routes sẽ nằm trong Adj-RIBs-In.
3. BGP route được gửi đến cơ chế inbound policy.
4. Cơ chế inbound policy sẽ filter hay sao chép routes tùy thuộc vào policy được set bởi người quản lý router. BGP route bị filter sẽ bị drop tại đây.
5. Các route còn lại được chuyển đến Loc-RIB.
6. Router sử dụng route để đưa ra quyết định BGP routing.
7. BGp routes được đưa đến cơ chế outbound policy.
8. Cơ chế outbound policy sẽ filter hoặc sao chép routes tùy thuộc vào policy. Các route bị filter drop tại đây.
9. Các routes còn lại được đưa đến Adj-RIBs-Out.
10.BGp routes được chứa ở Adj-RIBs-Out.
11.Tất cả các routes chứa ở Adj-RIBs-Out sẽ được quảng bá tới peers.
Chúng ta hãy cùng qua phần quá trình quyết định routing(Decision Proccess) để hiểu rõ hơn.
Decision Process:
Quá trình này thực ra là lựa chọn các routes, các routes sẽ được sử dụng trong local, routes sau đó sẽ được quảng bá tới peers. Có 3 giai đoạn:
Giai đoạn 1: tính toán mức ưu tiên của một route học từ một AS kế nó. Giai đoạn này cũng chịu trách nhiệm quảng bá các route có mức ưu tiên cao nhất tới BGP speaker trong cùng AS.
Giai đoạn 2: lựa chọn route nào tới đích là tốt nhất. Sau đó đưa route đó vào Loc-RIB của BGP speaker. BGP speaker sử dụng routes đó để đưa ra quyết định BGP routing.
Giai đoạn 3:bắt đầu khi Loc-RIB được update. Trong giai đoạn này, speaker sẽ dựa vào policy trong cơ chế outbound policy để quyết định route nào sẽ quảng bá tới peers nằm ở AS kế. Sum route cũng được thực hiện ở giai đoạn này.
Chúng ta sẽ đi chi tiết vào từng giai đoạn:
Giai đoạn 1:
Được gọi là Giai đoạn tính toán độ ưu tiên. Khi BGP speaker nhận được UPDATE message từ một peers ở AS kế, phase 1 sẽ bắt đầu. Khi nhận được UPDATE, speaker sẽ khóa Adj-RIBs-In và nó sẽ mở khóa sau khi hoàn thành phase 1. Với mỗi route mà BGP speaker nhận được, nó tính độ ưu tiên dựa trên policy đã được định sẵn.
Giai đoạn2:
Được gọi là giai đoạn lựa chọn routes.Ở giai đoạn này BGP speaker sẽ khóa Adj-RIBs-In và mở khóa chúng khi giai đoạn này hoàn thành. Nếu route nào có thuộc tính NEXT_HOP là một địa chỉ IP mà speaker không thể đi tới địa chỉ đó thì route đó sẽ bị loại bỏ. BGP speaker sẽ chọn route mà chỉ có duy nhất route đó có thể tới địa chỉ đích. Nếu có nhiều route cùng tới địa chỉ đích thì BGP speaker sẽ lựa chọn route có độ ưu tiên cao nhất. Route này sẽ được chứatrong Loc-RIB của speaker. Nếu các route trùng địa chỉ đích mà có độ ưu tiên bằng nhau, thì speaker sẽ xử lí theo rules sau:
§ Nếu BGP speaker được cấu hình để sử dụng MULTI_EXIT_DISC(MED) và MED của các routes khác nhau, BGP sẽ chọn route với MED nhỏ nhất.
§ Nếu BGP speaker không được cấu hình để sử dụng MED hoặc MED của các route không khác nhau,
§ Nếu cost của routes không khác nhau, BGP speaker sẽ chọn route được quảng bá bởi speaker ở AS kế, với giá trị BGP identifier nhỏ nhất.
§ Nếu route không được quảng bá bởi speaker ở AS kế thì BGP speaker sẽ chọn route được quảng bá ở iBGP peers với giá trị BGP identifier nhỏ nhất.
Giai đoạn3:
Được gọi là giai đoạn phổ biến route. Giai đoạn này sẽ bắt đầu khi những event sau xảy ra:
§ Khi giai đoạn2 hoàn tất.
§ Khi route được chứa trong Loc-RIB, thay đổi địa chỉ đích local.
§ Khi bất kì routes đã được tạo ra, không được học bởi BGP, thay đổi.
§ Khi một kết nối BGP được thiết lập.
Trong giai đoạn 3, routes chứa trong Loc-RIB sẽ được đưa vào cơ chế outbound policy.Các route qua được cơ chế outbound policy sẽ được vào Adj-RIBs-Out. Những route này sẽ được quảng bá tới peers. BGP speaker có thể summarized routes ở giai đoạn này.
Cơ chế làm việc của BGP trong thiết bị của Cisco:
1. Nếu route có chứa next hop mà không thể tới được, drop quá trình update.
2. Ưu tiên route có weight lớn nhất.
3. Nếu cùng số weight, sẽ xét tới độ ưu tiên local(local preference) lớn nhất.
4. Nếu cùng độ ưu tiên local(local preference), ưu tiên các route được tạo bởi BGP chạy trên router đang xét, với những route được tạo bởi lệnh network hay redistributeưu tiên các route được tạo bởi lệnh aggregate-address.
5. Nếu không có route nào được tạo ở router đang xét, ưu tiên các route có AS_PATH nhỏ nhất. Tất cả các AS_SET đếm cùng lúc, không quan tâm đến kích cỡ và việc đếm các liên AS không được sử dụng.
6. Nếu route có cùng AS, ưu tiên các route có loại origin nhỏ nhất, IGP nhỏ hơn EGP, EGP nhỏ hơn INCOMPLETE. INCOMPLETE route thường là được quảng bá lại mà có.
7. Nếu origin code giống nhau, ưu tiên route có MED nhỏ nhất.
8. Nếu route có cùng MED, ưu tiên route học từ eBGP hơn route học từ iBGP.
9. Nếu route vẫn giống nhau, ưu tiên route đi đến BGP next hop với IGP metric nhỏ nhất.
10.Ưu tiên route được quảng bá bởi BGP router với BGP router ID nhỏ nhất
11.Ưu tiên path có chiều dài cluster list nhỏ nhất.
12.Ưu tiên path được quảng bá bởi neighbor có địa chỉ IP nhỏ nhất.
Route Filtering:
Nó được dùng để chỉnh sửa các thuộc tính của một BGP, permit hoặc deny một route. BGP route filtering có 2 loại:
Ingress filtering:xảy ra khi một route được nhận bởi 1 speaker và đi qua cơ chế inbound policy.Người quản trị sẽ đặt policy để permit hoặc deny một route cụ thể hoặc đặt policy để chỉnh sửa 1 thuộc tính của BGP. Ví dụ: chỉnh sửa local preference của route. Như vậy sẽ quản lý các route chứa trong Loc-RIB của speaker tốt hơn.
Egress filtering:khi một route đi vào cơ chế oubound policy. Cách hoạt động Egress filtering cũng giống như Ingress filtering. Chỉ khác là BGP speaker đưa ra quyết định về 1 route được quảng bá và chỉnh sửa thuộc tính của route đó.
Có nhiều cách để sử dụng BGP route filtering. Ba kĩ thuật filtering được sử dụng phổ biến là: route maps, distribute lists, prefix lists.
§ Route maps: kĩ thuật này cho phép user có thể quản lý cơ chế lựa chọn routing. Route maps là một chuỗi các lệnh set và match. Lệnh matchdùng để quyết định IP route nào được permit hay deny.Lệnh setđược dùng để chỉnh sửa thuộc tính của path.Route maps có thể được sử dụng như là ingress hay egress filters.
§ Distribute lists: là filters có thể sử dụng như là ingress hoặc egress filter. Không giống nhưu route maps cho phép bạn chỉnh sử thuộc tính của route, distribute lists chỉ cho phép bạn permit hay deny route. Distribute lists thường đi cùng với access list hay prefix list.
§ Prefix lists: giống như access list. Nó có thể dùng để hạn chế thông tin được quảng bá đến router hoặc từ router quảng bá đi. Ưu điểm của prefix list là chứa một chuỗi số cho mỗi dòng của prefix list. Nó cho phép add, remove, và modify dòng trong prefix list mà không cần delete và tạo lại routenhư access list.
1.2.8 Đồng bộ hoá BGP (BGP Synchronization)
Để hiểu về nó, ta cần phân biệt sự khác nhau giữa transit AS và stub AS.
Transit AS:là AS kết nối với nhiều AS khác và cho phép route học từ AS này được vận chuyển tới AS khác.
Hình 1.9…..
AS 200 ở trong hình là transit AS. Những routes học từ AS 300 sẽ được chuyển qua AS 200 và AS 100 sẽ nhận qua các route đó và ngược lại.
Stub AS :là AS không cho phép thông tin truyền qua nó tới AS khác. Trong hình trên AS 300 và AS 100 là Stub AS. AS 100,300 là single-homed AS. Một single-homed AS là một AS chỉ có một đường đến AS khác. Tất cả các single-home AS là Stub AS.
BGP synchronization yêu cầu BGP phải được đồng bộ với IGB trước khi thông tin được vận chuyển. Nói cách khác eBGP speaker sẽ đợi để nhận quảng bá về một route nó học qua iBGP từ IGB chạy trong AS, trước khi quảng bá route cho một eBGP neighbor.
Hình 1.10…
Trong hình, R1 và R2 là eBGP peers, R2 và R4 là iBGP peers, R4 và R5 là eBGP peers, R3 không chạy BGP. Chuyện gì sẽ xảy ra nếu R1 gửi 1 packet đi đến R5? R2 sẽ nhận packet và gửi cho R3 bởi vì R3 là IGP next hop để R2 đi đến R4, BGP next hop. Vì R3 không chạy BGP nên không biết làm sao để đến R5. Nên R3 sẽ drop packet. Cách giải quyết:
Bạn có thể quảng bá BGP routes đến IGP nhưng cách này không hiệu quả vì BGP routes rất nhiều có thể gây router chạy IGP treo.
Chạy iBGp trên R3, nó cho phép disable đồng bộ BGP. Làm như vậy R3 sẽ biết làm sao để đến R5 là qua R4. Trở thành iBGP thì R3 sẽ được R4 thông báo nó là BGP next hop để tới R5 và R2 cũng học được như vậy.
Có 2 điều kiện để tắt đồng bộ là:
AS là stub AS.
Tất cả các router trong AS chạy iBGP và được cấu hình TCP full mesh với một router khác. Bởi vì full mesh iBGP có yêu cầu cao và thường được điều chỉnh, những thiết bị chạy BGP trên thế giới đều tắt BGP synchronization. Để tắt nó ta gõ lệnh sau ở trong mode configuration :
no synchronization |
1.2.9 Tập hợp các tuyến đường(Route Aggregation)
Được hiểu như là route summarization, ta có thể kết hợp nhiều route thành một route. Sử dụng nó thì số route trong routing table sẽ ít đi và tiêu tốn ít bộ nhớ hơn. Nó xảy ra trong giai đoạn 3 của BGP decision process.
Nếu routes có thuộc tính MED và NEXT_HOP thì hai thuộc tính này phải giống nhau để routes được summarized.
Paths với các thuộc tính type code khác nhau thì không thể gộp lại.
Paths với các thuộc tính type code giống nhau thì có thể được gộp lại.
1.3. KHI NÀO SỬ DỤNG VÀ KHÔNG SỬ DỤNG BGP
1.3.1 Khi nào thì dùng BGP
- Khi bạn cần phải thiết lập policies cho inbound hay outbound.
- Khi network có nhiều kết nối đến các AS khác nhau, và bạn muốn AS của bạn truyền các thông tin từ AS này đến AS khác(Transit AS).
- Khi bạn kết nối các ISP với nhau.
1.3.2 Khi nào thì không dùng BGP
- Router trong network của bạn không đủ bộ nhớ. Số lượng route tồn tại trong Internet lớn.
- AS của bạn chỉ kết nối với 1 AS khác và không cần policy để quản lí.
- Network không đủ bandwidth để hỗ trợ traffic BGP.
» Tin mới nhất:
» Các tin khác: