Chương 12: CƠ BẢN HOẠT ĐỘNG CỦA BGP (Phần 5) -

Chương 12: CƠ BẢN HOẠT ĐỘNG CỦA BGP (Phần 5) -

Chương 12: CƠ BẢN HOẠT ĐỘNG CỦA BGP (Phần 5) -

Chương 12: CƠ BẢN HOẠT ĐỘNG CỦA BGP (Phần 5) -

Chương 12: CƠ BẢN HOẠT ĐỘNG CỦA BGP (Phần 5) -
Chương 12: CƠ BẢN HOẠT ĐỘNG CỦA BGP (Phần 5) -
(028) 35124257 - 0933 427 079

Chương 12: CƠ BẢN HOẠT ĐỘNG CỦA BGP (Phần 5)

17-06-2020

5. Tắt đồng bộ và dùng BGP trên tất cả các router trong một AS

Phương thức thứ hai được dùng để khắc phục vấn đề lỗ đen là đơn giản dùng BGP để quảng bá tất cả các mạng học thông qua BGP đến tất cả các router trong AS. Bởi vì tất cả các router biết về mạng này, đồng bộ có thể được tắt một cách an toàn. Điểm hạn chế của giải pháp này là việc cài đặt BGP trên tất cả các router và thêm số kết nối iBGP giữa từng cặp router. (Trong một AS có N router, sẽ có N(N-1)/2 kết nối láng giềng. Với một AS lớn, thời gian hội tụ và hiệu suất của BGP sẽ giảm do một số lượng lớn các router ngang hàng).

BGP cần tất cả các router trong AS phải lập quan hệ láng giềng bởi vì BGP không quảng bá các tuyến iBGP (là các tuyến được học từ một iBGP) đến một router iBGP khác. Ràng buộc này giúp ngăn ngừa vòng lặp định tuyến nhưng nó sẽ yêu cầu các router phải được nối đầy đủ (full-mesh) với nhau. Nếu không, chỉ có một phần các router iBGP sẽ học được từng mạng.

BGP hỗ trợ hai công cụ là confederation và route reflector giúp giảm số kết nối ngang hàng bên trong một AS, ngăn ngừa vòng lặp và cho phép tất cả các router học về tất cả các mạng. Phần kế tiếp sẽ mô tả hai công cụ này.

6. Đặc tính liên minh

Một AS dùng liên minh BGP (confederation) như được định nghĩa trong RFC3065 sẽ tách từng router trong một AS ra thành các AS con (gọi là sub-AS). Các láng giềng bên trong một AS được xem như là các láng giềng liên minh iBGP và các router trong các AS con khác được gọi là láng giềng liên minh eBGP.

Một confederation sẽ truyền các tuyến đến tất cả các router mà không yêu cầu các láng giềng phải cấu hình đầy đủ (full-mesh) trong toàn AS. Để làm được như vậy, các kết nối ngang hàng eBGP trong confederation sẽ hoạt động giống như quan hệ eBGP thực sự. Trong một AS con, các láng giềng iBGP vẫn phải thiết lập quan hệ đầy đủ bởi vì nó hoạt động chính xác như một iBGP bình thường. Nói cách khác, nó không quảng bá các tuyến iBGP cho nhau. Tuy nhiên, các quan hệ láng giềng eBGP confederation hoạt động giống như eBGP theo nghĩa nó có thể quảng bá các tuyến iBGP học được từ các AS con bên trong confederation sang một AS con khác trong confederation.

Confederation ngăn ngừa vòng lặp bên trong một AS bằng cách dùng thuộc tính AS_PATH. Các router chạy BGP trong một confederation thêm vào các giá trị AS con vào thuộc tính AS_PATH, gọi là AS_CONFED _SEQ.

Thuộc tính AS_PATH bao gồm bốn thành phần khác nhau, được gọi là các thành phần AS_SEQ, AS_SET, AS_CONFED_SEQ và AS_CONFED_SET;

Cũng tương tự như các biến AS_SEQ và AS_SET giúp ngăn ngừa vòng lặp giữa các AS, các biến AS_CONFED_SEQ và AS_CONFED_SET giúp ngăn ngừa vòng lặp giữa các AS bên trong một confederation. Trước khi một láng giềng eBGP trong confederation có thể quảng bá một tuyến iBGP vào trong một AS con khác, router phải đảm bảo AS con không có trong các thuộc tính AS_PATH AS_CONFED_SEQ.

Ví dụ trong hình dưới đây, các router trong AS con 65001 học một vài tuyến và sau đó quảng bá các tuyến này về AS 65002 và 65003. Các router trong các AS con này quảng bá các tuyến cho nhau. Tuy nhiên, các router không bao giờ quảng bá ngược lại cho các router trong AS 65001 nhờ vào thuộc tính AS_CONFED_SEQ, như được hiển thị trong ngoặc. Thuật ngữ AS và AS con muốn đề cập đến khái niệm AS và các AS con. Còn ASN và ASN con muốn chỉ đến chỉ số ASN thực sự được dùng.

Hình 12.8: Mô tả các bước hoạt động đặc tính confideration

Hình 12.8 mô tả một ví dụ chi tiết, với các bước trong danh sách dưới đây:

  • Bước 1: Mạng 21.0.0.0/8 được đưa vào bởi R45 và quảng bá thông qua eBGP đến AS123. Tuyến này có AS_PATH bằng 45.
  • Bước 2: R3 quảng bá mạng thông qua hai kết nối iBGP; tuy nhiên, do luật iBGP bên trong một AS con, R1 và R2 không cố gắng quảng bá các mạng này cho nhau.
  • Bước 3: Các router trong các AS 65001 dùng cơ chế giống như eBGP để quảng bá mạng 21.0.0.0/8 đến các láng giềng eBGP nhưng đầu tiên nó sẽ thêm vào giá trị AS con của chính nó vào thuộc tính AS_PATH AS_CONFED_SEQ. (Phần thuộc tính này của AS_PATH được hiển thị trong dấu ngoặc vuông trong kết quả của lệnh show ip bgp)
  • Một tiến trình giống như ở bước 2 diễn ra tương ứng trong hai AS con khác.
  • Bước 4: R6 và R9 quảng bá các tuyến này với nhau sau khi thêm vào các giá trị ASN tương ứng vào AS_CONFED_SEQ.
  • Bước 5: R9 quảng bá các mạng thông qua một kết nối eBGP sau khi xóa phần AS con ra khỏi thuộc tính AS_PATH.

Cuối của các bước này, tất cả các router bên trong AS123 đã học được mạng 21.0.0.0/8. Ngoài ra, ASN 678 (là R77 trong trường hợp này) đã học một tuyến cho cùng mạng đó - một tuyến sẽ hoạt động và không tạo ra hiệu ứng lỗ đen. Thật ra, từng góc nhìn của ASN 678, các router sẽ thấy một tuyến dường như xuất hiện thông qua ASN 123 và 45. Cũng lưu ý rằng các router bên trong AS 65002 và 65003 sẽ không quảng bá ngược vào các AS 65001 bởi vì AS 65001 cũng đã có trong biến AS_PATH của confederation.

Việc chọn lựa các giá trị cho các AS 65001, 65002 và 65003 là không ngẫu nhiên trong trường hợp này. Các giá trị ASN từ 64512 đến 65535 là các chỉ số AS dùng riêng (private ASN), được dùng trong những trường hợp chỉ số AS không được quảng bá ra Internet hay tới các AS khác.

Bằng cách dùng các số AS dành riêng, một confederation có thể hy vọng tránh một vấn đề sau. Giả sử rằng AS con 65003 được dùng thay cho AS45. Phép kiểm tra vòng lặp sẽ kiểm tra toàn bộ AS_PATH. Kết quả là, các mạng được hiển thị trong hình 12.8 sẽ không bao giờ được quảng bá đến AS con 45 và đến lượt nó cũng sẽ không quảng bá đến AS678. Dùng các giá trị AS dùng riêng sẽ ngăn ngừa vấn đề này.

Danh sách dưới đây tóm tắt các điểm chủ chốt liên quan đến confederation:

  • Bên trong một AS con, vẫn yêu cầu kết nối đầy đủ (full-mesh) bởi vì các luật dành cho iBGP vẫn có hiệu lực.
  • Các kết nối eBGP confederation hoạt động giống như kết nối eBGP bình thường, trong đó các tuyến iBGP được quảng bá, miễn sao là AS_PATH ngầm định rằng việc quảng bá này không gây ra vòng lặp.
  • Các kết nối eBGP cũng hoạt động giống như các kết nối eBGP bình thường khi xét về thông số TTL, bởi vì tất cả các gói tin dùng TTL bằng 1 theo mặc định (TTL có thể được thay đổi bằng câu lệnh  neighbor ebgp-multihop)
  • Các kết nối eBGP hoạt động giống như các kết nối iBGP trong mọi khía cạnh khác, ví dụ như thuộc tính NEXT_HOP sẽ không thay đổi ở chế độ mặc định.
  • Các chỉ số ASN của confederation không được xem là một phần của AS_PATH khi một router chọn lựa đường đi tốt nhất dựa trên AS_PATH.
  • Các router confederation xóa các số ASN của confederation ra khỏi biến AS_PATH trong thông điệp cập nhật được gửi ra ngoài confederation, vì vậy các router khác không biết confederation đã được dùng.

7. Cấu hình đặc tính liên minh

Việc cấu hình confederation chỉ yêu cầu thêm một vài lệnh bên cạnh những lệnh đã mô tả. Tuy nhiên, việc chuyển sang dùng confederation có thể rất tốn kém. Vấn đề là các chỉ số ASN sẽ không còn được cấu hình trên lệnh router bgp, nhưng thay vào đó sẽ dùng lệnh bgp confederation identifier. Vì vậy, BGP sẽ không chạy được khi quá trình cài đặt đang diễn ra. Bảng 12.9 liệt kê các lệnh chủ chốt của confederation và mục đích của các lệnh này.

Mục đích

Lệnh

Định nghĩa AS con của một router

Router bgp sub-as

Định nghĩa AS thực sự

Bgp confederation identifier asn

Chỉ ra một láng giềng như là một AS con khác

Bgp confederation peers subas

Bảng 12.9: Liệt kê danh sách các lệnh cơ bản của đặc tính confederation

Dưới đây là một ví dụ đơn giản cho cấu hình confederation cho hình vẽ 12.9:

Hình 12.9: Sơ đồ hệ thống sử dụng confederation

Trong sơ đồ mạng này, R1 là trong AS65001 với R2 và R3 trong AS con 65023. Trong ví dụ này, R1 và R3 sẽ không là láng giềng. Danh sách dưới đây liệt kê một chuỗi các sự kiện để truyền một địa chỉ mạng:

  • R3 sẽ học mạng 21.0.0.0/8 thông qua eBGP từ AS45 (R4).
  • R3 sẽ quảng bá mạng này thông qua iBGP đến R2.
  • R2 sẽ quảng bá mạng thông qua quan hệ eBGP trong confederation đến R1.

Cấu hình của R1

Dưới đây là cấu hình của R1. Chú ý thông số sub-AS trong câu lệnh router bgp và giá trị AS thật sự trong câu lệnh bgp confederation identifier. Cũng chú ý câu lệnh neighbor ebgp-multihop cho eBGP peer 2 khi nó dùng loopback.

router bgp 65001

no synchronization

bgp router-id 111.111.111.111

bgp confederation identifier 123

bgp confederation peers 65023

neighbor 2.2.2.2 remote-as 65023

neighbor 2.2. 2.2 ebgp-multihop 2

neighbor 2.2.2.2 update-source Loopback1

neighbor 2.2.2.2. next-hop-self

neighbor 172.16.16.6 remote-as 678

Cấu hình của R2

Chú ý lệnh bgp confederation peer 65023. Nếu không có lệnh này, R2 sẽ nghĩ rằng láng giềng 1.1.1.1 là một kết nối eBGP thật sự và sẽ xóa thông số AS_PATH trước khi quảng bá đến R1.

router bgp 65023

no synchronization

bgp confederaton identifier 123

bgp confederation peers 65001

neighbor 1.1.1.1 remote-as 65001

neighbor 1.1.1.1 egp-multihop 2

neighbor 1.1.1.1 update-source Loopback1

neighbor 3.3.3.3 remote-as 65023

neighbor 3.33.3 updateesource Loopback1

Cấu hình của R3

Chú ý rằng R3 không có câu lệnh bgp confederation peers vì nó không có bất kỳ cấu hình eBGP confederation nào.

router bgp 65023

no synchronization

bgp log-neighbor-changes

bgp confederation identifier 123

neighbor 2.2.2.2 remote-as 65023

neighbor 2.2.2.2 update-source Loopback1

neighbor 22..22..22..22 next-hop-self

neighbor 4.4.4.4 remote-as45

neighbor 4.4.4.4 ebgp-multihop

neighbor 4.4.4.2  update-source Loopback1

R1 nhận địa chỉ mạng 21.0.0.0/8, với giá trị sub-AS 65023 được hiển thị trong dấu ngoặc và giá trị thật 45 được hiển thị bên ngoài dấu ngoặc. R1 cũng học cùng một địa chỉ mạng thông qua AS 678 và R6. Các tuyến thông qua AS con là tốt nhất bởi vì nó có đường đi ngắn nhất AS_PATH. AS_PATH ngắn nhất sẽ không tính giá trị sub-AS của confederation.

R1# show ip bgp | begin Network

   Network     Next Hop Metric LocPrf Weight      Path

*> 21.0.0.0    3.3.3.3    0     1000         (65023) 45 i

*  172.16.16.6            0      678               45   i

*> 22.2.2.0/24 3.3.3.3    0     1000         (65023) 45 i

*  172.16.16.6            0      678               45   i

R6 hiển thị các tuyến nhận được từ R1, hiển thị giá trị sub-AS đã bị loại bỏ và thay vào giá trị AS thực sự, AS123.

R6# show ip bgp neighbor 172.16.16.1 received-routes | begin Network

  Network     Next Hop    Metric LocPrf Weight Path

r 21.0.0.0    172.16.16.1   0      123    45        i

r 22.2.2.0/24 172.16.16.1   0      123    45        i

8. Ánh xạ tuyến

Ánh xạ tuyến (RR) có cùng kết quả giống như confederation, nó loại bỏ yêu cầu kết nối đầy đủ (full-mesh) cho các iBGP, cho phép tất cả các tuyến iBGP có thể được học bởi tất cả các router iBGP trong AS và để ngăn ngừa vòng lặp. Trong một thiết kế iBGP dùng RR, chỉ cần một phần các router iBGP thiết lập quan hệ. Một vài router được cấu hình như server RR, những server này được phép học các tuyến iBGP từ các router trạm và sau đó sẽ quảng bá đến các iBGP ngang hàng khác. Các ví dụ trong hình 12.10 sẽ mô tả các thuật ngữ chủ chốt và cơ chế cốt lõi được dùng bởi RR; chú ý rằng chỉ có server RR dùng cơ chế khác, còn trạm và những router không phải trạm hoạt động như iBGP ngang hàng bình thường.

Hình 12.10: Mô tả các thuật ngữ chủ chốt và cơ chế của RR

Hình 12.10 mô tả mạng 11.0.0.0/8 được lan truyền như thế nào trong toàn AS, dùng các bước sau:

  • R11 học được mạng 11.0.0.0/8 dùng eBGP.
  • R11 dùng các luật iBGP bình thường và gửi một cập nhật đến R1.
  • R1 sẽ tiếp tục gửi các tuyến bằng cách gửi thông điệp cập nhật đến tất cả các máy trạm khác.
  • R1 cũng đồng thời gửi tuyến trên đến tất cả những router không phải là máy trạm.
  • Các máy không phải là máy trạm dùng các luật khác RR, gửi các cập nhật thông qua eBGP đến R77.

Chỉ có các router hoạt động trong vai trò RR dùng các luật bổ sung; các router khác (máy trạm và không phải máy trạm) thậm chí không biết có sự tồn tại của RR và nó không thay đổi luật hoạt động. Bảng 12.10 tóm tắt các luật để RR hoạt động, có thể thay đổi tùy thuộc vào kiểu quan hệ BGP ngang hàng mà từ đó RR nhận được mạng đó. Bảng này liệt kê các nguồn mà từ đó một mạng có thể được học và các kiểu router khác có thể nhận thông tin tiền tố từ RR.

Vị trí mà từ đó tuyến được học

Các tuyến có được quảng bá đến máy trạm?

Các tuyến được quảng bá đến các máy không phải là trạm?

Máy trạm

Không phải máy trạm

Không

EBGP

Bảng 12.10: Tóm tắt các luật để RR hoạt động

Một trường hợp mà trong đó RR không tiếp tục gửi các tuyến là khi RR nhận được một tuyến từ một router không phải là máy trạm, trong đó RR không tiếp tục gửi tuyến đó đến những router không phải là máy trạm khác. Viễn cảnh của cơ chế RR là RR hoạt động giống như các router iBGP láng giềng với những router không phải là máy trạm và với eBGP. Nói cách khác, RR không có tiếp tục đẩy các tuyến học được thông qua iBGP đến những iBGP không phải là máy trạm. Sự khác biệt trong cách RR xử lý thì liên quan đến khi nào một máy trạm gửi cho một RR một mạng hoặc khi RR quyết định gửi một mạng đến máy trạm.

Một (hoặc nhiều) server RR và các trạm của nó tạo ra một liên kết RR. Một thiết kế BGP dùng RR có thể bao gồm:

  • Các liên kết có thể có nhiều RR trong một liên kết.
  • Nhiều liên kết, mặc dù dùng nhiều liên kết hợp lý chỉ khi các dự phòng về mặt vật lý cũng tồn tại.
  • Nếu có nhiều liên kết, ít nhất có một RR trong một liên kết phải quan hệ láng giềng với ít nhất một RR trong các liên kết khác. Thường tiêu biểu là tất cả các RR phải quan hệ trực tiếp, tạo ra một sơ đồ đầy đủ (full-mesh) giữa các router RR iBGP. Ngoài ra cũng chú ý một vài router không phải là máy trạm và nó cũng phải thuộc về sơ đồ đầy đủ (full-mesh) của các RR.

Hình 12.11 mô tả khái niệm, trong đó các RR với các RR quan hệ đầy đủ đến tất cả các RR khác trong các liên kết khác cũng như với các thiết bị không phải là máy trạm.

Hình 12.11: Các khái niệm và mô hình của ánh xạ tuyến

Nếu bạn xem xét các cơ chế được tóm tắt trong bảng 12.10 so với hình 12.11, dường như vòng lặp không chỉ là có thể mà đã xảy ra với thiết kế này. Tuy nhiên, đặc tính RR dùng vài công cụ để ngăn ngừa vòng lặp.

  • Danh sách liên kết (Cluster_List): RR thêm vào số của liên kết (cluster ID) vào trong một thuộc tính BGP PA được gọi là cluster_list trước khi gửi đi một cập nhật. Khi nhận được một thông điệp cập nhật của BGP, RR sẽ loại bỏ những mạng trong đó đã có chứa clusterID của nó. Với vai trò tương tự như AS_PATH trong confederation, đặc tính này giúp ngăn ngừa RR không tạo vòng lặp giữa các cluster.
  • ORIGINATOR_ID: Thuộc tính này liệt kê RID của router iBGP láng giềng đầu tiên quảng bá tuyến vào trong AS. Nếu một router nhận thấy BGP ID của chính nó xuất hiện trong ORIGINATOR_ID trong một tuyến nhận được, nó sẽ không tiếp tục lan truyền tuyến hoặc dùng tuyến này.
  • Chỉ quảng bá đường đi tốt nhất: RR sẽ gửi tiếp các tuyến chỉ nếu RR xem tuyến đó là tốt nhất trong bảng BGP của nó. Ràng buộc này giới hạn các tuyến được gửi đi bởi RR (nó cũng có tác dụng tích cực khi so sánh với confederation trong đó, trung bình một router sẽ thấy số tuyến dự phòng ít hơn).

Dưới đây mô tả một ví dụ dùng RR. Hình 12.12 mô tả AS 123 có bốn router. Thiết kế dùng hai cluster, với hai RR (R9 và R2) và hai client (R1 và R3). Danh sách dưới đây liệt kê một chuỗi các sự kiện để một mạng:

  • R3 truyền mạng 21.0.0.0/8 thông qua eBGP từ AS45 (R4).
  • R3 quảng bá mạng thông qua iBGP tới R2 dùng thuật toán bình thường.
  • R2, một RR, nhận một mạng từ một RR client, gửi tiếp tuyến đó thông qua iBGP về R9 – không phải là máy trạm.
  • R9, một RR, nhận một tuyến iBGP từ một router không phải là router trạm, gửi tuyến đó về R1 là một RR Client của nó.

Hình 12.12: Sơ đồ mạng dùng ánh xạ tuyến

Cấu hình của R3

Các RR trạm không nhận biết là đang hoạt động như là trạm, tiến trình thì hoàn toàn bị che dấu khỏi tất cả các router ngoại trừ RR. Ngoài ra, đừng quên rằng một trong những mục đích chủ yếu của việc dùng RR là cho phép tắt đồng bộ.

router bgp 123

no synchronization

neighbor 2.2.2.2 remote-as 123

neighbor 2.2.2.2 update-source Loopback1

neighbor 2.2.2.2 next-hop-self

neighbor 4.4.4.4 remote-as 45

neighbor 4.4.4.4 ebgp-multihop 255

neighbor 4.4..4 update-source Loopback1

Cấu hình của R2

ClusterID mặc định sẽ bằng BGP RID của R2 nhưng nó đã được gán bằng 1, và sẽ được liệt kê như là “0.0.0.1”. R2 gán 3.3.3.3 (R3) như là máy trạm.

router bgp 123

no synchronization

bgp cluster-id 1

neighbor 3.3.3.3 remote-as 123

neighbor 3.3.3.3 update-source Loopback1

neighbor 3.3.3.3 route-refletor-client

neighbor 9.9.9 .9 remote-as 123

neighbor 9.9.9.9 update-source Loopback1

Cấu hình R9

Cấu hình tương tự như R2 nhưng với một clusterID khác.

router bgp 123

no synchronization

bgp router-id 9.9.9.9

bgp cluster-id 2

neighbor 1.1.1.1 remote-as 123

neighbor 1.1.1.1 update—source Loopback2

neighbr 1.1.1.1 route-reflector-client

neighbor 2.2.2.2 remote-as 123

neighbor 2.2.2.2 update-source Loopback2

no auto-summary

 

Cấu hình của R1 được bỏ vì nó không chứa bất kỳ cấu hình nào liên quan đến RR giống như trong tất cả các RR trạm. Mạng 21.0.0.0/8 được học bởi R3, truyền đến R2 thông qua iBGP. Sau đó R2 truyền các mạng này đến các láng giềng của nó, R9. Lệnh show ip bgp 21.0.0.0 hiển thị giá trị AS_PATH hiện hành (45); nguồn gốc của tuyến (3.3.3.3) và router láng giềng iBGP mà tuyến đó học được (từ 2.2.2.2) và danh sách liên kết, hiện giờ có liên kết của R2.

 

R9# show ip bgp 21.0.0.0

BGP routing table entry for 21.0.0.0/8, version 3

Paths: (1 available, best #1, table Default-IP-Routing-Table)

Flag: 0x820

Advertised to update-groups:

2

45

3.3.3.3 (metric 2300416) from 2.2.2.2 (2.2.2.2)

Origin IGP, metric 0, localpref 100, valid, internal, best

Originator: 3.3.3.3, Cluster list: 0.0.0.1

So sánh với kết quả trên R9 vớI iBGP được học từ R9 (“9.9.9.9”) và thông số cluster_list giờ có giá trị 0.0.0.2 khi được thêm vào bởi R9.

R1# sho ip bgp 21.0.0.0

BGP routing table entry for 21.0.0.0/8, version 20

Paths: (1 available, best #1, table Default-IP-Routing-Table)

Not advertised to any peer

45

3.3.3.3 (metric 2302976) from 9.9.9.9 (9.9.9.9)

Origin IGP, metric 0, localpref 100, valid, internal, best

Originator: 3.3.3.3, Cluster list: 0.0.0.2, 0.0.0.1


FORM ĐĂNG KÝ MUA HÀNG
Đặt hàng
icon-cart
0