Định tuyến lưu lượng truy cập ra các liên kết khác nhau từ cùng một BGP AS


19

Tôi có hai trang web, A và B, trong BGP AS 65000 và trang web thứ ba, C, trong AS 65001. Cả ba trang web đều có kết nối qua MPLS của nhà mạng và có kết nối nội bộ giữa các trang web A và B. Tôi đang cố gắng ảnh hưởng đến BGP để lưu lượng truy cập từ trang A đến trang C sẽ được định tuyến qua liên kết MPLS của trang A và lưu lượng truy cập từ trang B đến trang C sẽ định tuyến qua liên kết MPLS của trang B. Cấu trúc liên kết tương tự như những gì được mô tả trong ví dụ này .

NHƯ 65000 và 65001

Các bộ định tuyến biên tại các trang A và B đều sẽ xem liên kết MPLS của riêng chúng là đường dẫn tốt nhất, bởi vì các tuyến EBGP được ưa thích hơn các tuyến IBGP. Tuy nhiên, các bộ định tuyến xa hơn trong AS 65000 sẽ thích một liên kết này hoặc liên kết khác. Mục tiêu của tôi là buộc tất cả các bộ định tuyến ở một trong hai trang web thích liên kết gần nhất. (Thật không may, tôi không thể chia hai trang web thành các AS riêng biệt tại thời điểm này.)

Có cách nào lành mạnh để thực hiện việc này trong khi vẫn cho phép kết nối chuyển đổi dự phòng với trang C giữa các liên kết A và B không?

Chỉnh sửa: Tôi nên lưu ý rằng không có IGP được sử dụng ở đây. Trên thực tế, các mạng tại mỗi trang web tồn tại trong VRF như một phần của mạng lớn hơn nhiều. Như vậy, bất kỳ giải pháp nào cũng cần được dựa hoàn toàn vào BGP.


Xin chào Jeremy - có hai giải pháp tốt cho vấn đề này bên dưới, nhưng tôi không thể đưa ra một giả định an toàn rằng bạn có quyền kiểm soát hành chính đối với IGP. Bạn có thể làm rõ điều đó?
John Jensen

Không có IGP trong kịch bản này. Đây thực sự là đại diện của chỉ một VRF trong một mạng lớn hơn nhiều; các chi tiết mà tôi đã bỏ qua cho mục đích rõ ràng.
Jeremy kéo dài

Đó là những gì tôi sợ. :-) Cảm ơn đã làm rõ.
John Jensen

Một cái gì đó bị thiếu ở đây tôi nghĩ; Vì vậy, chúng tôi có hai giả định rằng có một liên kết (có thể nhiều, do nhiều bộ định tuyến nội bộ?) Giữa A và B trong AS 65000? Ngoài ra, những gì bạn đang thấy đó là tối ưu phụ? Có một / hoặc nhiều bộ định tuyến gần hơn với A (nói về mặt tôpô) gửi lưu lượng truy cập qua B, để đến C không?
jwbensley

@javano vấn đề là cả A và B (bộ định tuyến biên) đều là iBGP ngang hàng trong cùng ASN, do đó, bất kỳ tiền tố nào học được từ C trên một trong hai sẽ có 2 đường dẫn trong RIB trên cả hai hộp và đường dẫn eBGP sẽ luôn luôn giành chiến thắng, vì vậy lưu lượng truy cập đi từ AS6500 đến AS65001 bị kẹt vào một liên kết.
John Jensen

Câu trả lời:


12

Có một định nghĩa rõ ràng giữa trang A và trang B không?

Nếu vậy thì tôi sẽ tìm cách xác định một chính sách trên các bộ định tuyến biên để tiêm cộng đồng khi nhận các tuyến từ MPLS của nhà mạng.

Khi cộng đồng này đã được đặt tiền tố (giả sử 100: 1 cho trang A và 100: 2 cho trang B), sau đó bạn có thể thêm chính sách cho từng bộ định tuyến của trang A để tăng LP cho bất kỳ tuyến nào có cộng đồng 100: 1 và tương tự như vậy đối với trang B với cộng đồng 100: 2.

Giải pháp này sẽ phù hợp với yêu cầu chỉ sử dụng BGP và cũng đủ linh hoạt để vẫn cho phép B sử dụng đường lên của A nếu bị mất đường lên của chính nó với nhà mạng.


1
Đây có lẽ là cách tốt nhất để đi, nhưng nếu Jeremy thông báo một bản tóm tắt duy nhất từ ​​C thì anh ta sẽ phải chia nó thành nhiều phần để điều này hoạt động hiệu quả.
John Jensen

Tôi nghĩ rằng đây là con đường tôi sẽ đi. Sẽ cần phải thí nghiệm nó vào ngày mai và xem nếu tôi bị mắc kẹt ở bất cứ đâu.
Jeremy kéo dài

@JohnJensen không cần có bất kỳ nhu cầu nào vì cả trang A và B sẽ nhận được cùng một tiền tố từ nhà cung cấp dịch vụ và do đó có thể sửa đổi tiền tố của trang web của họ với bộ ngắt kết nối với LP.
David Rothera

1
Một lưu ý nữa khi nghĩ về nó nhiều hơn, có thể tốt hơn là sử dụng một thuộc tính có ý nghĩa cục bộ như trọng lượng hơn là một thuộc tính bắc cầu như LP.
David Rothera

1
@DavidRothera Nếu có nhiều tiền tố được công bố từ C, bạn sẽ đúng - có khả năng chỉ có một tiền tố đến từ C, trong trường hợp đó tôi không hoàn toàn chắc chắn rằng việc đặt localpref với cộng đồng sẽ tạo ra sự khác biệt trong việc giải quyết vấn đề của Jeremy, vì có một tiền tố duy nhất với tùy chọn gồm hai cộng đồng và hai giá trị LP khác nhau, LP cao hơn sẽ được ưu tiên và lưu lượng truy cập sẽ vẫn được gắn vào một liên kết. Cũng đồng ý rằng mặc dù sử dụng một thuộc tính quan trọng cục bộ có thể tốt hơn ở đây.
John Jensen

6

nhập mô tả hình ảnh ở đâyKhi tôi làm điều gì đó tương tự, tôi đã không sử dụng eBGP giữa các bộ định tuyến. Tôi đã có bộ định tuyến nói BGP chỉ gửi tuyến mặc định xuống bộ định tuyến Site A và Site B thông qua OSPF và sau đó phân phối lại các tuyến OSPF vào BGP. Trên liên kết giữa hai trang web, tôi đã áp dụng chi phí OSPF.

Điều này cho phép Trang A có các tuyến đến mạng của mình, mạng của Trang B và tuyến mặc định để thoát khỏi Trang A (chi phí OSPF giữ tuyến mặc định từ Trang B là tùy chọn phụ nếu bạn mất liên kết Trang A). Trang web A sẽ nói chuyện trực tiếp với trang B, không sử dụng MPLS trừ khi có lỗi liên kết giữa các trang.

Đồng thời, chi phí OSPF chuyển sang BGP MED trong quá trình phân phối lại khiến mạng MPLS của nhà mạng muốn gửi lưu lượng truy cập Trang A đến Trang A nhưng cũng cần sử dụng Trang B để đến Trang A nếu cần.


3

Tôi cảm thấy thiếu một số thông tin. Tại sao các bộ định tuyến cạnh không thích đường dẫn tốt nhất?

Bạn có iBGP toàn lưới vào năm 65000 không? Hay bạn đang sử dụng phản xạ tuyến đường?

Nếu bạn có iBGP toàn lưới, thì mỗi bộ định tuyến cạnh sẽ học tuyến đường từ cả [AB] và sẽ dùng đến việc so sánh chi phí IGP với bước kế tiếp, nên chuyển sang hộp cạnh gần nhất.

Nếu có phản xạ tuyến đường tại chỗ, nó sẽ chỉ phản ánh tuyến đường tốt nhất từ ​​POV của chính nó, có thể loại bỏ chuyển tiếp đường dẫn tốt nhất. Điều này cũng có thể khắc phục bằng cách thêm một RR khác sẽ chọn tuyến khác là tốt nhất, sau đó các hộp cạnh một lần nữa có thể chọn tuyến tốt nhất. Nếu sửa RR là không thể như thế này. Bạn có thể thêm cùng một địa chỉ IPV4 trong cả hai vòng lặp tuyến đường biên và khi các bộ định tuyến biên quảng cáo tiền tố thành RR, họ sẽ đặt next-hop cho địa chỉ anycast này. Sau đó, ngay cả sau khi phản ánh, bạn sẽ theo IGP đến biên giới gần nhất.


2

Nếu bạn có quyền kiểm soát IGP:

Những gì chúng tôi đã làm là chỉ có các bộ định tuyến eBGP trong lưới iBGP. Phần còn lại của bộ định tuyến nội bộ của chúng tôi là bộ định tuyến OSPF. Chúng tôi phân phối lại từ BGP sang OSPF trong mỗi AS. Thiết lập của chúng tôi hơi khác so với thiết lập của bạn, nhưng điều này sẽ cho phép số liệu chi phí của OSPF ảnh hưởng đến lưu lượng đường dẫn nào đi bằng cách hướng nó đến bộ định tuyến eBGP gần nhất.

Nếu bạn không có quyền kiểm soát IGP:

Có lẽ bạn có thể áp dụng chính sách nhập cho các bộ định tuyến bên trong để làm cho chúng thích tĩnh hơn các thông báo tuyến đường của bộ định tuyến eBGP thoát mong muốn. Vì vậy, ví dụ, nếu iBGP chứa hai thông báo cho một tiền tố nhất định (một từ bộ định tuyến A và một từ bộ định tuyến B của trang, nhưng chỉ có một thông báo được cài đặt vào RIB) thì bạn có thể đặt trước thông báo mong muốn khi nó xuất hiện Tôi sẽ phải thử nghiệm nó, nhưng tôi không hiểu tại sao nó không hoạt động.


Vâng, đó sẽ là cách tốt nhất tôi tưởng tượng, giả sử bạn có khả năng sử dụng IGP. Thật không may, đó không phải là trường hợp của tôi. :( Tôi đã cập nhật câu hỏi để bao gồm chi tiết bị bỏ quên này.
Jeremy Stretch

Tôi thích câu trả lời của David Rothera, vì nó giống như câu trả lời của tôi, nhưng anh ấy thêm chi tiết về việc sử dụng các cộng đồng :)
netdad
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.