BGP багатосторонність з різними ASN, можливо для виробничих мереж?


15

на Cisco (ця команда чомусь прихована)

#bgp bestpath as-path multipath-relax

Типова поведінка BGP встановлює в RIB лише маршрути з точно такою ж AS_PATH. У режимі багатошарового відпочинку, AS_PATH повинен бути однакової довжини.

Які проблеми це потенційно може спричинити? Чому не використовується частіше?

Як транзитний постачальник, ця функція ускладнює усунення несправностей (я думаю про скарги кінцевих користувачів на ефективність мережі)? Чи ускладнює пізнання певного трафіку, який пройшов у даний момент часу? Чи є щось інше, що може допомогти у вирішенні проблем. Я не впевнений у масштабованості та вартості NetFlow в мережі SP.


1
Я доручив декільком клієнтам використовувати його, я не чув жодних проблем. проект-лапухов-bgp-маршрутизація-великий-dc-05 дуже покладається на цю функцію
ytti

Я шукаю подібну особливість у Juniper JunOS ... Чи є? networkengineering.stackexchange.com/questions/6735/…
Евертон

Чи допомогла вам якась відповідь? Якщо так, то слід прийняти відповідь, щоб питання не з’являлося вічно, шукаючи відповідь. Крім того, ви можете надати власну відповідь і прийняти її.
Рон Моупін

Відповіді:


15

bgp bestpath as-path multipath-relaxбуло введено CSCea19918. Зазвичай врівноваження навантаження на eBGP вимагає, щоб маршрути-кандидати були рівними витратами; тобто ідентичні атрибути BGP:

  • однакова вага
  • той же Local-Pref
  • однаковий AS-Шлях (і номери AS, і довжина шляху AS)
  • те саме походження
  • той же МЕД
  • різні наступні переходи

Як ви вже згадували, ця команда послаблює ту саму вимогу AS-Path, щоб будь-який кандидат-eBGP AS-шлях з однаковою довжиною AS-траси міг бути використаний для збалансування навантаження eBGP (це не буде балансувати навантаженням між eBGP та iBGP шляхами). Якщо ви запускаєте BGP між декількома постачальниками Інтернет-послуг і шукаєте кращої збалансованості навантаження між вашими потоковими з'єднаннями, це може допомогти вам.

Які проблеми це потенційно може спричинити?

Не існує великої небезпеки, якщо ви є клієнтом підприємства, який не надає послугу транзиту іншій ASN; для транзитного постачальника це може бути абсолютно безпечно, але я не можу бути впевнений, що немає циклів маршрутизації, якщо транзитний ASN використовує цю функцію . Спочатку я думав, що в транзитних випадках ASN легко з’явиться цикл, але для більшого роздуму я не можу знайти справжню проблему.

Чому його рідко використовують?

Добре запитання, це було вже щонайменше з 2005 року.


1
Не могли б ви пояснити, як це може спричинити циклі за допомогою #bgp bestpath as-path multipath-relax (не #bgp bestpath як ігнорування шляху)?
sdaffa23fdsf

0
The   basic  issue   is   that  the   BGP   speaker  configured   with
"multipath-relax"   gets  into   a  control   plane  <->   data  plane
inconsistency; i.e.  it advertises  only the  best path,  but installs
multiple paths in the forwarding  that have different ASPATHs than the
best. This breaks the basic tool BGP has to detect loops - ASPATH loop
check.

A (distorted) scenario below. I am sure you can come up with
a better example with a bit more time at hand.

            ...............
            : R4  AS1 (10/8)
           /:..............
     ..../......
     :  R5 AS2
     :....\.....
       /   \  ...............
     /      --:--R1
  R6 AS4      :    \    AS3
     \--------:--- R2
              :    /
              : R3 (10/8)
              :..............

In this example,
- R3 in AS3 and R4 in AS1 announce a prefix 10/8. R5 in AS2 receives
  the prefix from R1(AS3) and R4(AS1).
- AS2 is configured with 'multipath-relax' and chooses both paths
  for multipath forwarding, though it selects AS1's path as best.
- R5 advertises the prefix with AS_PATH "2 1" to R6, and R6 in turn
   to R2.
- Because of some specific policy, it is possible that R2(AS3)
  chooses R6's path as best. If it happens, there is a loop.
  Note that R1-R2-R3 represents the physical connectivity of
  the routers in AS3.

Дякую за приклад. Ви маєте на увазі, що R3 вибирає R4 як найкращий шлях для 10/8, R5 пересилає частину трафіку на 10/8 назад до AS3 на R1? Чому це спричинено багатопутезним релаксацією? Без розслаблення в декілька маршрутів, цикл R2 - R6 - R5-R1 все ще може існувати, якщо немає належної фільтрації на вихідній лінії (або просто 10/8 до null0 в початковому AS). Мені здається, проблема тут є викраденням BGP. Я неправильно розумію?
sdaffa23fdsf

Ні. Що я маю на увазі: (a) R3 має свій найкращий зовнішній шлях; (b) R1 вибирає R3 як найкращий, але через фізичну підключеність повинен спрямовувати трафік у напрямку R2, щоб досягти R3, (c) R2 вибирає зовнішній шлях (отриманий від R6) як найкращий. Це пов'язано з багатоповерховим розслабленням, оскільки R5 вибирає шлях від AS3 для багатошляхового пересилання, який він не розкриває. Таким чином, техніка запобігання циклу ASPATH не спрацьовує в AS3.
Pradosh Mohapatra

Я все ще не розумію, як це можна було б запобігти без розслаблення. R1 відправляє трафік на 10/8 через R2, а R2 вибирає R6 як вихід (вага), R5 може вибрати R1 як найкращий для 10/8 навіть без багатопутного розслаблення та викликати цикл. Цикл ASPATH запобігати не може запобігти циклу, викликаному перевагою зовнішньої точки виходу для внутрішньої мережі. Якщо R1 вибирає R5, R2 вибирає R6 як найкращий за 10/8, цикл формується незалежно, ні?
sdaffa23fdsf

Не впевнений, яким би це був цикл. R1 вибирає R5 як найкращий => означає, що R5 вибирає R4 як вихід для руху (інакше петлю AS_PATH було б виявлено). Таким чином, шляхи руху потоків будуть: R1-> R5-> R4 або R2-> R6-> R5-> R4 або R5-> R4 або R3.
Pradosh Mohapatra
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.