Tại sao nên sử dụng iBGP bên trong Hệ thống tự trị, nếu các giao thức IGP đáp ứng nhu cầu liên lạc nội bộ


22

Bất cứ ai cũng có thể giải thích tại sao chúng ta cần iBGP cho các tuyến đường khi chúng ta có các giao thức IGP (OSPF, RIP) để liên lạc nội bộ trong AS?

Tôi đã đọc rất nhiều bài báo và sách, nhưng tôi không thể tìm thấy câu trả lời.

Câu trả lời:


26

Bất cứ ai có thể giải thích cho tôi nhu cầu của truyền thông IBGP cho các tuyến là gì, khi chúng ta có các giao thức IGP (OSPF, RIP) cho giao tiếp nội bộ?

  • Khả năng mở rộng 1 : Hãy tưởng tượng rằng bạn đang nhận được 500.000 tuyến EBGP ở nhiều hơn một địa điểm 2 và bạn cần ảnh hưởng đến điểm thoát trên mỗi tuyến đường trong AS của mình. BGP có thể xử lý nhiều tuyến đường hơn giao thức IGP. Do đó, iBGP là bắt buộc trừ khi bạn sẵn sàng phân phối lại tất cả các tuyến bạn đã học qua eBGP
  • Thực thi các ranh giới của niềm tin / kiểm soát: BGP có nhiều cách để lọc các đồng nghiệp hơn IGP (để kiểm soát những gì bạn quảng cáo và nhận được).

  • Cấu trúc dữ liệu linh hoạt (phần nào liên quan đến viên đạn trước): cộng đồng BGP , cộng đồng BGP Extended , local-pref , v.v ... những điều này làm cho BGP trở thành một cách hấp dẫn để thực hiện các chính sách định tuyến tùy chỉnh trong hệ thống tự trị của riêng bạn (bằng cách sử dụng iBGP).

Như với tất cả mọi thứ có sự đánh đổi; khả năng mở rộng, kiểm soát và tính linh hoạt mà bạn có được từ iBGP có nghĩa là đó là một giao thức hội tụ chậm hơn so với IGP (nói chung).


Ghi chú cuối:

1 Khả năng mở rộng :

  • Bạn sử dụng BGP vì bạn không muốn mang toàn bộ bảng định tuyến internet của mình trong IGP (tức là trong trường hợp của tôi, OSPF) ...
  • OSPF không được thiết kế để xử lý hàng ngàn tuyến đường trong các bảng BGP trên internet ... nếu bạn cố gắng sử dụng OSPF cho mục đích này, nó sẽ phá vỡ mạng của bạn. Sử dụng ví dụ về OSPF, các yêu cầu xử lý / làm ngập LSA từ 500.000 tuyến sử dụng quá nhiều tài nguyên trong bộ định tuyến của bạn. Đặt tên cho bất kỳ IGP nào khác (EIGRP, RIPv1 / 2, IS-IS, IGRP) và câu chuyện tương tự là đúng.
  • Đã có một số trường hợp khét tiếng trong đó ISP Cấp 1 vô tình phân phối lại bảng BGP của họ vào IGP của họ (ngay cả khi bảng internet chỉ là một phần nhỏ của kích thước hiện tại) và nó đã gây ra sự cố ngừng hoạt động. Các biện pháp đối phó hiện đã được triển khai trong các giao thức IGP ( như giao thức này đối với OSPF trong iOS ) để ngăn phân phối lại từ BGP vào OSPF gây ra sự cố ngừng hoạt động lớn.

2 ví dụ định tuyến iBGP :

Để hiểu lý do tại sao bạn có thể muốn iBGP, hãy xem xét mục định tuyến này đến 4.2.2.2 ...

R2>sh ip bgp 4.2.2.2
BGP routing table entry for 4.0.0.0/9, version 3146
Paths: (32 available, best #7, table Default-IP-Routing-Table)
... <!-- extra BGP RIB entries deleted -->
  7660 2516 3356, (aggregated by 3356 4.69.130.4)
    203.181.248.168 from 203.181.248.168 (203.181.248.168)
      Origin IGP, localpref 100, valid, internal, atomic-aggregate
      Community: 2516:1030
  3356, (aggregated by 3356 4.69.130.6)
    4.69.184.193 from 4.69.184.193 (4.69.184.193)
      Origin IGP, metric 0, localpref 100, valid, internal, atomic-aggregate, best
      Community: 3356:0 3356:3 3356:100 3356:123 3356:575 3356:2012
... <!-- extra BGP RIB entries deleted -->

Có 32 đường dẫn để xem xét ... Trong trường hợp này, BGP đã chọn chuyển đến 4.0.0.0/9 qua 4.69.184.193 (chú ý mục bestdưới mục RIB). Trong trường hợp này, BGP đã chọn điều này bởi vì tuyến đường này có danh sách Đường dẫn AS ngắn nhất. Tuy nhiên, không phải tất cả các tuyến sẽ được ưu tiên thông qua AS3356 (được đính kèm với R1). Một số có thể được ưu tiên ra R3 (thông qua AS7660). iBGP cung cấp cho bạn khả năng biết (tại R2) đường nào để đi theo con đường BGP ngắn nhất.

BGP route to 4.0.0.0/9 via                                              
NH: 4.69.184.193 [Path: 3356]                                  
  -------->                                                     

 eBGP w/ AS3356 }{              iBGP inside AS64000          }{   eBGP w/ AS7660

                 S1/0       S1/2   S2/1     S2/3   S3/2    S3/0
Peered w/ AS3356    +------+         +------+        +------+       Peered w/ AS7660
4.69.184.193 <------|  R1  |---------|  R2  |--------|  R3  |-----> 203.181.248.168
                    +------+         +------+        +------+
                                         | S2/0
                                         |

                                         ^
                                         ^
                                         | Ingress packet to 4.2.2.2
                                         |

R1, R2 và R3 được chia lưới hoàn toàn iBGP. Khi iBGP quảng cáo một tuyến đường, bước nhảy tiếp theo vẫn không thay đổi . Điều này có nghĩa là tôi cần mang mạng con cho 4.69.184.193 trong OSPF ...

R2>sh ip route 4.69.184.193
Routing entry for 4.69.184.192/30
  Known via "ospf 100", distance 110, metric 65536, type intra area
  Last update from 192.0.2.109 on GigabitEthernet3/1, 1w0d ago
  Routing Descriptor Blocks:
  * 192.0.2.109, from 192.0.2.3, 1w0d ago, via Serial2/1
      Route metric is 65536, traffic share count is 1

R2>

Do đó, khi một gói cho 4.2.2.2 đến R2, R2 sẽ gửi nó ra serial2 / 1 bởi vì đó là nơi iBGP cho chúng ta biết hop kế tiếp là gì.


Không chắc chắn nếu tôi hiểu phần này: 'iBGP là bắt buộc trừ khi bạn sẵn sàng phân phối lại tất cả các tuyến đường bạn đã học qua eBGP'. Nếu chúng ta có hai bộ định tuyến eBGP viền, bộ định tuyến A sẽ không biết các tuyến mà bộ định tuyến B đã học hoặc ngược lại. Họ cần trao đổi thông tin bằng cách nào đó và điều này thường được thực hiện bằng cách sử dụng iBGP. Làm thế nào bạn sẽ sử dụng eBGP cho việc này? Tôi không chắc làm thế nào eBGP có thể làm cho cả A và B nhận thức được các tuyến đường mà bộ định tuyến khác đã học.
user4205580

Tuyên bố mà bạn đề cập đến giả định rằng bạn có một số loa không phải eBGP. Giả sử bạn không thể sống với các tuyến mặc định tới thượng nguồn eBGP của mình, tại thời điểm này, bạn có thể: A) phân phối lại tiền tố eBGP vào IGP của bạn (thường là một ý tưởng tồi) hoặc B) sử dụng iBGP. Câu trả lời của tôi dành phần lớn thời gian để giải thích tại sao iBGP lại hữu ích.
Mike Pennington

10

IGP thường là OSPF hoặc ISIS dựa trên trạng thái liên kết, điều này cung cấp cho chúng tôi tất cả thông tin của mạng, mọi người đều biết mạng từ quan điểm của mọi người, cho phép các tùy chọn hội tụ và tùy chọn kỹ thuật giao thông rất thú vị.

BGP về cơ bản là vector khoảng cách, nó biết tầm nhìn rất hạn chế trên toàn bộ mạng. BGP xử lý rất tốt việc lọc và sửa đổi thông tin định tuyến.

Giao thức trạng thái liên kết khá đắt so với vector khoảng cách, sẽ rất khó khăn khi mở rộng nó thành kích thước INET DFZ.

Vì vậy, lý do tại sao chúng ta có cả hai, là bởi vì trong một mạng cụ thể, chúng ta có độ phức tạp đủ thấp để xử lý nó với giao thức trạng thái liên kết, cho phép chúng ta đạt được tất cả các lợi thế về mức độ hiểu biết cao về mạng.
Nhưng vì nó không mở rộng theo quy mô Internet, chúng tôi cần một số mạng khác để kết nối nhiều đảo liên kết này.

Bạn có thể trong mạng riêng của mình mang tất cả các tiền tố (bao gồm cả khách hàng) trong IGP của bạn, nhưng nó sẽ ảnh hưởng tiêu cực đến hiệu suất IGP, trong khi tất cả các lợi thế hội tụ và TE có thể đạt được chỉ bằng cách mang địa chỉ loopback của bộ định tuyến lõi. Thêm tiền tố khách hàng vào IGP chỉ làm tổn hại đến hiệu suất mạng của bạn bằng cách làm cho IGP phức tạp không cần thiết.



3
Đường dẫn vector về cơ bản là trường hợp cụ thể của vector khoảng cách. Điều quan trọng là phải nhận ra rằng chúng rất giống nhau về độ phức tạp và chi phí trong khi trạng thái liên kết hoàn toàn khác nhau. Từ cuốn sách BGP của Sam Halabi và Danny McPhersons, trang 98 'Phần này sẽ không hoàn thành nếu không đề cập đến việc BGP rơi vào danh mục vectơ khoảng cách'
ytti

2
Đường dẫn vector tương tự nhưng vẫn là một thuật toán khác. Bạn có thể đọc thêm về điều này trong cuốn sách của Daniel McPherson và Russ White, BGP thực tế , xuất bản năm 2004. liên kết di động
Mike Pennington

2
Trang nào tuyên bố BGP không phải là vector khoảng cách?
ytti

2
Đường AS là vector khoảng cách. Có, bạn có thể thao tác lựa chọn đường dẫn tùy ý với các tham số khác. Vì vậy, Sam và Daniel đặt nó là vector đường dẫn ngoài việc là vector khoảng cách, tôi hoàn toàn chia sẻ quan điểm của họ về vấn đề này. Nó có thể là cách thú vị để tiêu thụ pint để tranh luận về vấn đề này, nhưng hầu như không mang tính xây dựng.
ytti

7

Một lý do tôi thường thấy là sự rõ ràng: tất cả các tuyến được thực hiện trong một giao thức định tuyến (BGP), IS-IS, OSPF hoặc RIP chỉ được sử dụng cho kề. Kết quả là không cần phân phối lại các tuyến đường từ giao thức định tuyến này sang giao thức định tuyến khác.


3

iBGP không thực sự được sử dụng cho định tuyến nội bộ, nó được sử dụng bởi tất cả các bộ định tuyến eBGP của bạn để chia sẻ các tuyến đường của họ.

Ví dụ: Nếu bạn đang theo dõi với 3 mạng khác, bạn muốn tất cả các bộ định tuyến eBGP của mình biết các tuyến đường mà các mạng khác nhận được để họ có thể truyền thông tin đó đến các đồng nghiệp nếu cần / cần thiết (do đó có thể mở ngang hàng của bạn bằng cách sử dụng bạn)

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.