Multipath BGP z różnymi ASN wykonalnymi dla sieci produkcyjnych?


15

w Cisco (z jakiegoś powodu to polecenie jest ukryte)

#bgp bestpath as-path multipath-relax

Domyślne zachowanie BGP instaluje tylko trasy z dokładnie tym samym AS_PATH w RIB. Przy relaksacji wielu ścieżek AS_PATH musi mieć tylko tę samą długość.

Jakie problemy może potencjalnie powodować? Dlaczego nie jest używany częściej?

Czy jako dostawca usług tranzytowych ta funkcja komplikuje rozwiązywanie problemów (myślę o skargach użytkowników końcowych dotyczących wydajności sieci)? Czy utrudnia to rozpoznanie określonego ruchu na trasie w danym momencie? Czy jest coś jeszcze, co może pomóc w rozwiązywaniu problemów. Nie jestem pewien co do skalowalności i kosztów NetFlow w sieci SP.


1
Poinstruowałem kilku klientów, aby z niego korzystali, nie słyszałem o żadnych problemach. draft-lapukhov-bgp-routing-large-dc-05 mocno polega na tej funkcji
ytti

Szukam podobnej funkcji w Juniper JunOS ... Czy istnieje? networkengineering.stackexchange.com/questions/6735/…
Everton

Czy jakaś odpowiedź ci pomogła? Jeśli tak, powinieneś zaakceptować odpowiedź, aby pytanie nie wyskakiwało wiecznie, szukając odpowiedzi. Alternatywnie możesz podać własną odpowiedź i ją zaakceptować.
Ron Maupin

Odpowiedzi:


15

bgp bestpath as-path multipath-relaxzostał wprowadzony przez CSCea19918. Zwykle równoważenie obciążenia eBGP wymaga, aby trasy kandydujące były ścieżkami o jednakowych kosztach; tj. identyczne atrybuty BGP:

  • ta sama waga
  • ten sam lokalny pref
  • ta sama ścieżka AS (zarówno numery AS, jak i długość ścieżki AS)
  • to samo pochodzenie
  • ten sam MED
  • inny następny skok

Jak wspomniałeś, to polecenie rozluźnia to samo wymaganie ścieżki AS, więc każda kandydująca ścieżka AS eBGP o tej samej długości ścieżki AS może być używana do równoważenia obciążenia eBGP (nie spowoduje to równoważenia obciążenia między ścieżkami eBGP i iBGP). Jeśli korzystasz z protokołu BGP między wieloma dostawcami usług internetowych i szukasz lepszego równoważenia obciążenia wyjściowego między połączeniami nadrzędnymi, może to ci pomóc.

Jakie problemy może potencjalnie powodować?

Nie ma większego niebezpieczeństwa, o ile jesteś klientem korporacyjnym, który nie świadczy usługi tranzytu do innego ASN; dla dostawcy usług tranzytowych może to być całkowicie bezpieczne, ale nie jestem pewien, czy nie ma pętli routingu, jeśli tranzytowy ASN korzysta z tej funkcji . Na początku myślałem, że łatwo będzie zapętlić tranzytowe sprawy ASN, po głębszym zastanowieniu nie mogę znaleźć prawdziwego problemu.

Dlaczego jest rzadko używany?

Dobre pytanie, istnieje już od co najmniej 2005 roku.


1
Czy możesz wyjaśnić, w jaki sposób może to powodować pętle z #bgp bestpath as-path multiath-relax (nie #bgp bestpath as-path ignore)?
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.

Dzięki za przykład. Czy masz na myśli, że R3 wybiera R4 jako najlepszą ścieżkę dla 10/8, R5 przekazuje część ruchu do 10/8 z powrotem do AS3 w R1? Dlaczego jest to spowodowane relaksacją wielu ścieżek? Bez funkcji relaksacji wielu ścieżek pętla R2 - R6 - R5-R1 może nadal istnieć, jeśli nie ma odpowiedniego filtrowania danych wychodzących (lub zwykłego 10/8 do null0 w początkowym AS). Wydaje mi się, że problemem jest porwanie BGP. Czy rozumiem to źle?
sdaffa23fdsf

Nie. Mam na myśli: (a) R3 ma własną zewnętrzną najlepszą ścieżkę, (b) R1 wybiera R3 jako najlepszą, ale ze względu na fizyczną łączność musi wysyłać ruch w kierunku R2, aby osiągnąć R3, (c) R2 wybiera zewnętrzna ścieżka (otrzymana z R6) najlepiej. Jest to związane z relaksacją wielu ścieżek, ponieważ R5 wybiera ścieżkę z AS3 do przekazywania wielu ścieżek, której nie ujawnia. Dlatego technika zapobiegania pętli ASPATH zawodzi w AS3.
Pradosh Mohapatra

Nadal nie rozumiem, jak można temu zapobiec bez relaksacji wielu ścieżek. R1 wysyła ruch do 10/8 przez R2, a R2 wybiera R6 jako wyjście (waga), R5 może wybrać R1 jako najlepszy dla 10/8, nawet bez relaksacji wielościeżkowej i spowodować pętlę. Zapobieganie pętli ASPATH nie może zapobiec pętlom spowodowanym przez preferowanie zewnętrznego punktu wyjścia dla sieci wewnętrznej. Jeśli R1 wybierze R5, R2 wybierze R6 jako najlepszy dla 10/8, powstanie pętla niezależnie od tego, nie?
sdaffa23fdsf

Nie jestem pewien, jak by to była pętla. R1 wybiera R5 jako najlepszy => oznacza, że ​​R5 wybiera R4 jako wyjście dla ruchu (w przeciwnym razie wykryłaby się pętla AS_PATH). Zatem ścieżki przepływu ruchu będą następujące: R1-> R5-> R4 lub R2-> R6-> R5-> R4 lub R5-> R4 lub R3.
Pradosh Mohapatra
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.