Der AS-Pfad ist ein BGP-Pfadattribut, das in der Reihenfolge alle autonomen Systeme (AS) auflistet, die eine Route von ihrem Ursprung bis zum lokalen Router durchlaufen hat. BGP-Router nutzen ihn, um Routing-Schleifen zu erkennen und die Pfadauswahl zu beeinflussen: Administratoren können zusätzliche AS-Nummern voranstellen, um eine ansonsten attraktive Route für Peers weniger bevorzugt erscheinen zu lassen.
Die wichtigsten Erkenntnisse
- Der AS-Pfad listet alle autonomen Systeme auf, die eine BGP-Route durchlaufen hat.
- Router verwerfen eine Route, wenn ihr eigenes AS bereits in deren Pfad vorkommt.
- Das Voranstellen von AS-Nummern verlängert einen Pfad, sodass Peers diesen meiden.
- BGP zieht die AS-Pfadlänge als Entscheidungskriterium bei der Auswahl des besten Pfades heran.
- Versa VOS nutzt das „AS Path Prepending“, um den Datenverkehr auf Standby-Hubs umzuleiten.
Auf dieser Seite: Warum das wichtig istSo funktioniert esAS-PfadsegmenttypenAS-Pfad & VersaHäufig gestellte Fragen
Warum ist der AS-Pfad wichtig?
BGP trifft Routing-Entscheidungen größtenteils auf der Grundlage von Richtlinien und Pfadattributen und weniger aufgrund von Bandbreite oder Latenz, wobei der AS-Pfad eines der entscheidenden Kriterien ist. Seine Länge ist ein entscheidendes Kriterium im Best-Path-Algorithmus von BGP – ein kürzerer AS-Pfad wird im Allgemeinen einem längeren vorgezogen, wenn alle anderen Faktoren gleich sind. Da Betreiber ihn durch „Prepending“ künstlich verlängern können, wird der AS-Pfad zu einem wichtigen Instrument des Traffic Engineering: Ein Netzwerk mit zwei Uplinks kann einen davon „näher“ erscheinen lassen, indem es einfach den Pfad auffüllt, der über die weniger bevorzugte Verbindung angekündigt wird.
Der AS-Pfad dient gleichzeitig als integrierter Mechanismus zur Vermeidung von Schleifen in BGP. BGP verfügt nicht wie interne Protokolle über eine TTL-basierte Schleifenerkennung, daher prüft jeder Router, ob seine eigene AS-Nummer bereits im AS-Pfad einer Route vorkommt, bevor er diese akzeptiert; ist dies der Fall, verwirft der Router die Route, da ihre Annahme eine Schleife verursachen würde.
Was ist ein AS-Pfad?
Jedes Mal, wenn eine BGP-Route von einem autonomen System in ein anderes übergeht, fügt der empfangende Grenzwalzerouter seine eigene AS-Nummer am Anfang des AS-Pfads der Route ein, bevor er diese erneut weiterleitet. Wenn sich eine Route weit verbreitet hat, liest sich der AS-Pfad wie eine Spur aus Brotkrumen: die AS-Nummern aller Netzwerke, die sie durchlaufen hat, endend mit dem AS, von dem sie stammt.
Ein Router liest den AS-Pfad von links nach rechts, wobei das nächstgelegene AS zuerst berücksichtigt wird, und nutzt ihn für zwei Zwecke: zum einen, um eine Route sofort abzulehnen, wenn das lokale AS bereits vorhanden ist, und zum anderen, um die Pfadlängen mit denen anderer in Frage kommender Routen zu vergleichen und so nach Berücksichtigung lokaler Präferenzen die Auswahl des besten Pfads zu unterstützen. Da der AS-Pfad für jeden entlang der Kette sichtbar und veränderbar ist, ist er eines der wenigen BGP-Attribute, die ein Betreiber direkt manipulieren kann, um zu beeinflussen, wie andere Netzwerke eine Route bevorzugen oder meiden.
AS-Pfadsegmenttypen
Das AS-Path-Attribut ist nicht einfach nur eine flache Liste. RFC 4271 definiert es als eine Folge von Segmenten, die jeweils mit einem Typ gekennzeichnet sind. Die beiden Kern-Typen sind AS_SEQUENCE, eine geordnete Liste der ASes, die eine Route tatsächlich durchlaufen hat, und AS_SET, eine ungeordnete Menge, die verwendet wird, wenn Routen zu einer Zusammenfassung aggregiert werden – ausreichend für die Schleifenerkennung, ohne den genauen Pfad jedes einzelnen Teilnehmers offenzulegen.
BGP-Konföderationen unterteilen ein großes AS in Unter-AS, ohne diese Struktur nach außen hin offenzulegen, und fügen dabei zwei weitere Segmenttypen hinzu: AS_CONFED_SEQUENCE und AS_CONFED_SET, die Hops innerhalb der Konföderation erfassen und gemäß RFC 5065 entfernt werden, bevor eine Route die Konföderation verlässt. VOS baut seine eigenen Pfadaktionen auf Konfigurationsebene auf dieses Attribut auf, wie im Folgenden beschrieben.
AS-Pfad & Versa
VOS-Geräte bieten in der gesamten BGP-Konfiguration auf dem Director Steuerungsmöglichkeiten für den AS-Pfad: Der „Local AS Mode“ steuert, ob AS-Nummern beim Import und Export eingefügt oder vorangestellt werden, und eine „Loop Count“-Einstellung legt fest, wie oft sich das lokale AS wiederholen darf, bevor die Route verworfen wird. Peer-Richtlinien können Routen anhand des AS-Pfads abgleichen und über BGP-Import- und -Exportregeln eine AS-Pfad-Aktion anwenden – Voranstellen, Entfernen übereinstimmender AS-Nummern oder beides. „AS Override“ ersetzt die AS-Nummern eines Nachbarn im Pfad durch den lokalen AS.
Das „Prepending“ ist zudem ein Werkzeug zur Verkehrssteuerung in der Produktion: Bei der Integration von SD-WAN- und SSE-Hubs wird es eingesetzt, um ein „ Versa “-Cloud-Gateway gegenüber einem anderen als weniger bevorzugt einzustufen, indem das lokale AS auf dem aktiven Pfad einmal und auf dem Standby-Pfad zweimal vorangestellt wird, sodass die SSE-Hubs der Kunden standardmäßig den aktiven Hub auswählen und bei dessen Ausfall nahtlos auf den Standby-Hub umschalten.
Häufig gestellte Fragen
Was ist das Voranstellen von AS-Pfaden?
Beim AS-Path-Prepending wird die eigene AS-Nummer eines Betreibers im AS-Pfad einer Route mehrfach wiederholt, bevor diese angekündigt wird. Da BGP kürzere Pfade bevorzugt, erscheint die mit der AS-Nummer aufgefüllte Route für Peers weniger attraktiv, sodass Betreiber den eingehenden Datenverkehr steuern können, ohne an anderer Stelle ihre Richtlinien ändern zu müssen.
Wie verhindert der AS-Pfad Routing-Schleifen?
Jeder BGP-Router überprüft den AS-Pfad einer empfangenen Route auf seine eigene AS-Nummer, bevor er sie akzeptiert. Ist das lokale AS bereits aufgeführt, verwirft der Router die Route, da ihre Annahme bedeuten würde, dass der Datenverkehr durch ein AS zurückgeleitet würde, das er bereits durchlaufen hat.
Was ist der Unterschied zwischen AS_SEQUENCE und AS_SET?
AS_SEQUENCE ist eine geordnete Liste, in der jedes AS erfasst wird, das auf einer Route tatsächlich durchlaufen wurde. AS_SET ist eine ungeordnete Sammlung, die bei der Aggregation von Routen verwendet wird und die beteiligten ASes ohne Beibehaltung der Reihenfolge auflistet – ausreichend für die Schleifenerkennung, jedoch kein wörtlicher Datensatz.
Gewinnt bei der BGP-Best-Path-Auswahl immer der kürzere AS-Pfad?
Nicht immer. BGP wertet Attribute in einer festgelegten Reihenfolge aus, und die AS-Pfadlänge wird erst nach der lokalen Präferenz geprüft. Ein kürzerer Pfad hat nur dann Vorrang, wenn die verglichenen Routen bei allen vorhergehenden Attributen noch gleichauf liegen.
Kann das AS-Path-Attribut gefälscht werden?
Das Voranstellen ist zulässig, aber im Basis-BGP gibt es keine kryptografische Überprüfung, ob ein AS-Pfad die tatsächliche Route widerspiegelt. Aus diesem Grund gibt es Verfahren zur Überprüfung der Routenherkunft wie RPKI und zur Pfadvalidierung wie BGPsec, um Routenlecks und Hijacks aufzudecken.
Mehr zum AS-Pfad
Wenn Sie mehr erfahren möchten, finden Sie hier Quellen, denen wir vertrauen.
| RFC 4271: BGP-4 – das AS_PATH-Attribut | RFC 5065: AS-Konföderationen für BGP |
|---|---|
| Die Kernspezifikation von BGP-4: Wie der AS_PATH aufgebaut, verglichen und zur Schleifenerkennung sowie zur Auswahl des besten Pfades verwendet wird. | Definiert die Segmenttypen, mit denen Konföderationen ihre interne Struktur nach außen hin verbergen. |
Verwandte Begriffe
Wenn Sie sich gerade mit dem AS-Pfad beschäftigen, sollten Sie sich als Nächstes diese Informationen ansehen.
| Border Gateway Protocol | Externes BGP | Internes BGP |
|---|---|---|
| Das Pfadvektorprotokoll, das den AS-Pfad aufbaut und austauscht, während Routen zwischen autonomen Systemen weitergegeben werden. | Eine BGP-Sitzung zwischen Peers in verschiedenen autonomen Systemen – hier kommen Prepending und Schleifenerkennung erst richtig zum Einsatz. | Eine BGP-Sitzung innerhalb eines autonomen Systems, bei der der AS-Pfad in der Regel unverändert bleibt, während Routen intern neu verteilt werden. |