BGP-Multipath mit verschiedenen ASNs für Produktionsnetzwerke möglich?

15

auf Cisco (dieser Befehl ist aus irgendeinem Grund ausgeblendet)

#bgp bestpath as-path multipath-relax

Das Standard-BGP-Verhalten installiert nur Routen mit genau demselben AS_PATH in RIB. Bei Multipath-Relax muss der AS_PATH nur die gleiche Länge haben.

Welche Probleme kann es möglicherweise verursachen? Warum wird es nicht öfter verwendet?

Erschwert diese Funktion als Transitanbieter die Fehlerbehebung (ich denke über Beschwerden von Endbenutzern über die Netzwerkleistung nach)? Ist es schwieriger zu wissen, welchen Pfad der Verkehr zu einem bestimmten Zeitpunkt genommen hat? Gibt es noch etwas, das bei der Fehlerbehebung hilfreich sein kann? Ich bin nicht sicher, ob NetFlow im SP-Netzwerk skalierbar und kostengünstig ist.

sdaffa23fdsf
quelle
1
Ich habe mehrere Kunden angewiesen, es zu verwenden, ich habe keine Probleme gehört. Draft-Lapukhov-BGP-Routing-Large-DC-05 stützt sich stark auf diese Funktion
Ytti
Ich suche nach einer ähnlichen Funktion in Juniper JunOS ... Gibt es eine? networkengineering.stackexchange.com/questions/6735/…
Everton
Hat dir eine Antwort geholfen? In diesem Fall sollten Sie die Antwort akzeptieren, damit die Frage nicht für immer auftaucht und nach einer Antwort sucht. Alternativ können Sie Ihre eigene Antwort eingeben und diese annehmen.
Ron Maupin

Antworten:

15

bgp bestpath as-path multipath-relaxwurde von CSCea19918 eingeführt. Normalerweise erfordert der eBGP-Lastausgleich, dass die in Frage kommenden Routen die gleichen Kosten verursachen. dh identische BGP-Attribute:

  • gleiches Gewicht
  • gleiche Local-Pref
  • gleicher AS-Pfad (sowohl die AS-Nummern als auch die AS-Pfadlänge)
  • gleicher Ursprung
  • gleiche MED
  • anderes next-hop

Wie Sie bereits erwähnt haben, wird mit diesem Befehl die gleiche AS-Path-Anforderung gelockert, sodass jeder eBGP-AS-Path-Kandidat mit der gleichen AS-Path-Länge für den eBGP-Lastausgleich verwendet werden kann (dies führt nicht zu einem Lastausgleich zwischen eBGP- und iBGP-Pfaden). Wenn Sie BGP zwischen mehreren ISPs ausführen und nach einem besseren Lastausgleich zwischen Ihren Upstream-Verbindungen suchen, kann dies hilfreich sein.

Welche Probleme kann es möglicherweise verursachen?

Solange Sie ein Unternehmenskunde sind, der keinen Transitdienst für einen anderen Lieferavis erbringt, besteht keine große Gefahr. Für einen Transitanbieter ist dies möglicherweise vollkommen sicher, aber ich kann nicht sicher sein, dass es keine Routing-Schleifen gibt, wenn ein Transit-ASN diese Funktion verwendet . Zuerst dachte ich, es würde leicht eine Schleife in ASN-Fällen geben, nach mehr Überlegungen kann ich kein echtes Problem finden.

Warum wird es selten verwendet?

Gute Frage, es gibt es schon seit mindestens 2005.

Mike Pennington
quelle
1
Könnten Sie bitte erklären, wie es zu Schleifen mit #bgp bestpath as-path multipath-relax kommen kann (nicht mit #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.
Pradosh Mohapatra
quelle
Danke für das Beispiel. Meinen Sie, R3 wählt R4 als besten Pfad für 10/8 aus, R5 leitet einen Teil des Verkehrs an 10/8 zurück an AS3 bei R1? Warum wird dies durch Multipath-Relax verursacht? Ohne Multipath-Relax kann die R2-R6-R5-R1-Schleife weiterhin vorhanden sein, wenn keine ordnungsgemäße Ausgangsfilterung vorhanden ist (oder einfach 10/8 bis null0 am Ursprungs-AS). Mir scheint, hier geht es um die Entführung von BGP. Verstehe ich das falsch?
sdaffa23fdsf
Nein. Ich meine: (a) R3 hat seinen eigenen externen besten Pfad, (b) R1 wählt R3 als den besten aus, muss aber aufgrund der physischen Konnektivität Verkehr in Richtung R2 senden, um R3 zu erreichen. (C) R2 wählt aus der externe Pfad (von R6 empfangen) als am besten. Dies hängt mit Multipath-Relax zusammen, da R5 einen Pfad von AS3 für die Multipath-Weiterleitung auswählt, den es nicht offenlegt. Daher schlägt die ASPATH-Schleifenverhinderungstechnik in AS3 fehl.
Pradosh Mohapatra
Ich verstehe immer noch nicht, wie dies ohne Multipath-Relax verhindert werden könnte. R1 sendet Datenverkehr über R2 an 10/8 und R2 wählt R6 als Ausgang (Gewicht), R5 kann R1 auch ohne Multipath-Relax als besten Wert für 10/8 auswählen und eine Schleife verursachen. ASPATH loop prevent kann keine Schleifen verhindern, die durch den Vorzug eines externen Austrittspunkts für das interne Netzwerk verursacht werden. Wenn R1 R5 auswählt, wählt R2 R6 als das Beste für 10/8, wird eine Schleife gebildet, unabhängig davon, nein?
sdaffa23fdsf
Nicht sicher, wie das eine Schleife wäre. R1 wählt R5 als besten Wert aus => bedeutet, dass R5 R4 als Ausgang für den Verkehr auswählt (andernfalls wäre eine AS_PATH-Schleife erkannt worden). Somit sind Verkehrsflusspfade: R1-> R5-> R4 oder R2-> R6-> R5-> R4 oder R5-> R4 oder R3.
Pradosh Mohapatra