Навіщо використовувати iBGP всередині автономної системи, якщо протоколи IGP задовольняють потребу у внутрішній комунікації


22

Чи може хтось пояснити, навіщо нам потрібен iBGP для маршрутів, коли у нас є протоколи IGP (OSPF, RIP) для внутрішнього спілкування в межах AS?

Я прочитав багато статей і книг, але не зміг знайти відповіді.

Відповіді:


26

Чи може хто-небудь пояснити мені, у чому полягає потреба в спілкуванні IBGP для маршрутів, коли у нас є протоколи IGP (OSPF, RIP) для внутрішнього спілкування?

  • Масштабованість 1 : Уявіть, що ви отримуєте 500 000 маршрутів EBGP у більш ніж одній локації 2 , і вам потрібно впливати на точку виходу на маршрут у вашій AS. BGP може обробляти набагато більше маршрутів, ніж протоколи IGP. Таким чином, iBGP необхідний, якщо ви не бажаєте перерозподілити всі маршрути, про які ви дізналися через eBGP
  • Забезпечення меж довіри / контролю: BGP має більше способів фільтрації однолітків, ніж IGP (для контролю того, що ви рекламуєте та отримуєте).

  • Гнучкі структури даних (кілька пов'язаних з попередньою кулею): BGP співтовариство , BGP Extended співтовариство , місцеві прив , і т.д ... вони роблять BGP привабливим способу для реалізації користувальницьких маршрутизації політики у своїй власній автономній системі (за допомогою IBGP).

Як і у всьому, що є розпродажі; масштабованість, контроль та гнучкість, які ви отримуєте від iBGP, означає, що це протокол, який повільніше конвергується, ніж ІГП (загалом).


Кінцеві примітки:

1 Масштабованість :

  • Ви використовуєте BGP, оскільки ви не хочете переносити всю вашу таблицю маршрутизації в Інтернеті у своєму IGP (тобто в моєму випадку OSPF) ...
  • OSPF не був розроблений для обробки багатьох тисяч маршрутів в Інтернет-таблицях BGP ... якщо ви спробуєте використовувати OSPF для цієї мети, він порушить вашу мережу. Використовуючи приклад OSPF, вимоги LSA для обробки / заливання 500 000 маршрутів використовують занадто багато ресурсів у ваших маршрутизаторах. Назвіть будь-який інший IGP (EIGRP, RIPv1 / 2, IS-IS, IGRP), і ця ж історія справжня.
  • Були деякі сумнозвісні випадки, коли провайдер рівня 1-го рівня випадково перерозподілив свою таблицю BGP в свій IGP (навіть коли таблиця в Інтернеті була невеликою часткою її поточного розміру), і це спричинило великі збої. Зараз в протоколах IGP ( як цей для OSPF в IOS ) впроваджені контрзаходи, щоб запобігти перерозподілу BGP в OSPF не спричинити великого відключення.

2 приклад маршрутизації iBGP :

Щоб зрозуміти, чому ви можете хотіти iBGP, розгляньте цей запис про маршрутизацію до 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 -->

Існує 32 шляхи, які слід врахувати ... У цьому випадку BGP вирішив перейти до 4.0.0.0/9 через 4.69.184.193 (зверніть увагу на bestзапис RIB). У цьому випадку BGP вибрав це, оскільки цей маршрут має найкоротший список AS Path. Однак не всі маршрути будуть надані перевагу через AS3356 (додається до R1). Деякі можуть віддати перевагу R3 (через AS7660). iBGP дає вам можливість знати (на R2), яким шляхом пройти найкоротший шлях BGP.

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 і R3 повністю пов'язані з iBGP. Коли iBGP рекламує маршрут, наступний стрибок залишається незмінним . Це означає, що мені потрібно нести підмережу для 4.69.184.193 в 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>

Таким чином, коли пакет для 4.2.2.2 надходить на R2, R2 надсилає його Serial2 / 1, тому що саме там iBGP повідомляє нам, що наступний перехід є.


Не впевнений, чи я розумію цю частину: "iBGP потрібен, якщо ви не бажаєте перерозподілити всі маршрути, які ви дізналися через eBGP". Якщо у нас є два прикордонні маршрутизатори eBGP, маршрутизатор A не буде знати маршрутів, які маршрутизатор B навчився, або навпаки. Їм потрібно якось обмінюватися інформацією, і це зазвичай робиться за допомогою iBGP. Як би ви використовували eBGP для цього? Я не впевнений, як eBGP може зробити A і B обидва обізнаними з маршрутів, про які дізнався інший маршрутизатор.
user4205580

Висловлення, на яке ви посилаєтесь, передбачає, що у вас є деякі динаміки, що не належать до eBGP. Припускаючи, що ви не можете просто жити з маршрутами за замовчуванням до своїх потоків eBGP, в цей момент ви можете: А) перерозподілити префікси eBGP у своєму IGP (як правило, погана ідея), або B) використовувати iBGP. Моя відповідь проводить більшу частину часу, пояснюючи, чому iBGP корисний.
Майк Пеннінгтон

10

IGP, як правило, є OSPF або ISIS, які базуються на стані зв’язків. Це дає нам всю інформацію про мережу, всі знають мережу з точки зору кожного, що дозволяє отримати дуже цікаві варіанти конвергенції та варіанти інженерії трафіку.

BGP по суті є дистанційним, він знає дуже обмежений погляд на мережу в цілому. BGP обробляє дуже добре фільтруючи та змінюючи інформацію про маршрутизацію.

Протокол зв'язку стану є досить дорогим порівняно з дистанційним вектором, було б досить проблематично масштабувати його до розміру INET DFZ.

Тож причина, чому ми маємо те і інше, полягає в тому, що всередині однієї конкретної мережі ми маємо достатньо низьку складність, щоб обробляти її протоколом стану зв'язку, що дозволяє нам отримати всі переваги високого ступеня знань про мережу.
Але оскільки він не масштабується до розміру Інтернету, нам потрібна інша мережа для підключення цих багатьох островів штатів посилань.

Ви можете всередині власної мережі нести всі префікси (включаючи клієнта) у своєму IGP, але це негативно вплине на продуктивність IGP, в той час як усі переваги конвергенції та TE можна отримати, просто перенісши адреси зворотного зв'язку основних маршрутизаторів. Додавання префіксів клієнта до IGP лише шкодить продуктивності вашої мережі, роблячи IGP зайвим складним.



3
Шлях вектора є по суті конкретним випадком вектора відстані. Важливо усвідомити, що вони дуже схожі за складністю та вартістю, тоді як стан зв’язку зовсім інший. З книги BGP Сема Халабі та Денні Макферсонса, сторінка 98 "Цей розділ не був би повним, не зазначаючи, що BGP потрапляє у категорію вектора відстані"
ytti

2
Вектор шляху схожий, але все ж відрізняється алгоритмом. Більше про це можна прочитати у книзі Денні Макферсона та Расса Уайта « Практичний BGP» , опублікованій у 2004 році. Мобільне посилання
Майк Пеннінгтон

2
На якій сторінці стверджується, що BGP - не вектор відстані?
ytti

2
AS шлях є векторним. Так, ви також можете необов'язково маніпулювати вибраними шляхами з іншими параметрами. Тож Сем і Денні ставлять його вектором шляху крім того, що він є дистанційним вектором, я повністю поділяю їхню думку щодо цього. Це може бути цікавим способом споживання пінти, щоб сперечатися з цього питання, але навряд чи конструктивним.
ytti

7

Однією з причин, яку я часто бачив, є чіткість: всі маршрути проводяться в рамках одного протоколу маршрутизації (BGP), IS-IS, OSPF або RIP використовується лише для суміжності. В результаті немає необхідності перерозподіляти маршрути від одного протоколу маршрутизації до іншого.


3

iBGP насправді не використовується для внутрішньої маршрутизації, він використовується всіма вашими маршрутизаторами eBGP для обміну маршрутами.

Напр .: Якщо ви заглядаєте за допомогою 3 інших мереж, ви хочете, щоб усі ваші eBGP-маршрутизатори знали маршрути, отримані іншими, щоб вони могли поширювати цю інформацію для однолітків, якщо це необхідно / потрібно (відкриваючи таким чином можливість вашого однолітка за допомогою транзиту через ти)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.