Benutzer-Werkzeuge

Webseiten-Werkzeuge


bgp

Border gateway protocol (BGP) ist ein Exterior Gateway Protokoll in Routern das autonome Systeme (AS) verbindet. BGP ist ein Distance-Vector-Protokoll.

BGP erfordert im Gegensatz zu anderen Routing Protokollen die manuelle Konfiguration des Nachbar.

Jeder BGP-Router unterhält eine Standard-Routing-Tabelle, die dazu dient, Pakete während der Übertragung zu leiten. BGP verwendet die Client-Server-Topologie zur Übermittlung von Routing-Informationen, wobei der Client-Server eine BGP-Sitzung durch Senden einer Anfrage an den Server initiiert. Dies kann in großen Netzwerken zu erheblichem Overhead führen und die Leistung beeinträchtigen.

Ein Route Reflector ist ein spezieller Router in einem BGP-Netzwerk, der dazu dient, die BGP-Routen effizienter zu verteilen.

BGP trifft Routing-Entscheidungen auf der Grundlage von Pfaden, Regeln oder Netzwerkrichtlinien, die von einem Netzwerkadministrator konfiguriert werden und berechnet die Kosten von Routen anhand vordefinierter Attribute.

BGP-Attribute sind die Tagging-Methode für eingehende oder ausgehende BGP-Routen. Einige der Attribute werden von allen Anbietern unterstützt, andere sind jedoch anbieterspezifisch. Einige Attribute sind transitiv (die von einem Router zu einem anderen gehen), andere nicht. Mehr zu Kosten oder der Wahl des besten Pfades

Siehe auch MPLS.

Hurricane Electrics BGB Tracer

AS IP Lookup

oreilly-bgp-in-the-datacenter.pdf

BGP bietet Netzwerkstabilität und garantiert, dass Router sich schnell anpassen können, um Pakete über eine andere Verbindung zu senden, wenn ein Internetpfad ausfällt.

Es gibt internes IBGP (innerhalb eines AS) und externes EBGP (zwischen 2 AS).

Im Gegensatz zu EBGP-Verbindungen, die in der Regel auf physischen Routerschnittstellen terminieren, werden IBGP-Verbindungen zwischen Router-Loopback-Adressen definiert.

Arbeitsweise

Kernstück von BGP ist die UPDATE-Nachricht, über welche sich BGP-Router die Existenz neuer Routen (Announcement) oder den Wegfall bestehender Routen (Withdrawal) mitteilen. Der Empfänger einer UPDATE-Nachricht entscheidet anhand seiner Routing-Richtlinien („policies“), ob er sein Routing umstellt (und daraufhin selbst UPDATE-Nachrichten versenden muss), die Nachricht einfach nur weiterleitet (z. B. via IBGP) oder schlicht ignoriert.

Attribute

NameBeschreibung
AS Pathbeschreibt, über welche autonomen Systeme das angegebene Ziel (ein CIDR-Präfix) erreicht werden kann. Die autonomen Systeme werden hierbei über ihre AS-Nummer (ASN) identifiziert. Im AS-Pfad darf zwar keine Schleife vorkommen; jedoch ist es erlaubt, dass sich ein AS mehrmals hintereinander einträgt und somit den AS-Pfad künstlich verlängert, um die Route zwar verfügbar, aber unattraktiv zu machen (AS Path Prepending).
IGP Metrikbeschreibt die Kosten durch das eigene Netzwerk, um den Austrittspunkt in das nächste AS auf dem AS-Pfad zu erreichen.
Multi Exit Discriminatorwird verwendet, um verschiedene parallele Verbindungen zum gleichen Nachbar-AS zu priorisieren, bevorzugt wird der jeweils kleinste Wert. Dieses Attribut wird zwischen EBGP-Peers verwendet.
CommunitiesRouting Tags, anhand welcher Routing-Änderungen (UPDATE-Nachrichten) bzw. übermittelte Präfixe zu anderen BGP-Peers markiert werden können. Eine BGP-Community ist ein 32-Bit-Wert, der von anderen BGP-Routern als Filterkriterium verwendet werden kann. Neben Standard-Communities können sog. Extended Communities in der Notation 12345:12345 oder als Dezimalzahl frei verwendet werden.
Local Preferencelegt durch den jeweils höheren Wert einen bevorzugten Pfad aus mehreren Pfaden innerhalb des gleichen AS fest. Falls es zum gleichen Zielpräfix mehrere Routen mit gleich langen AS-Pfaden gibt, dann kann man über Local Preference bestimmte Routen bevorzugen; vgl. Abschnitt „Pfadauswahl“.
Next Hopist die Angabe der IP-Adresse des Next-Hop-Routers zu einem Präfix. Der Next-Hop-Router ist derjenige Gateway-Router, welcher das eigene AS mit dem nächsten AS auf dem AS-Pfad verbindet.
Weightist ein lokales Attribut (proprietär); vgl. Abschnitt „Pfadauswahl“.
Origingibt die Quelle eines Präfixes an: IGP, EGP oder Incomplete.

BGP Messages

NameBeschreibung
OPENWird nur zu Beginn einer Verbindung gesendet und muss mit einer KEEPALIVE-Nachricht beantwortet werden. Bei der OPEN-Nachricht werden die Parameter BGP-Version, AS-Nummer, Hold Timer, BGP Identifier sowie optionale Parameter mitgeschickt. Danach werden die Routeninformationen zwischen den Routern ausgetauscht.
UPDATETeilt eine Pfadänderung mit. Es können pro UPDATE-Nachricht gleichzeitig mehrere Pfade hinzugefügt und mehrere entfernt werden. UPDATE-Nachrichten sind das Kernstück von BGP.
NOTIFICATIONBeendet eine Verbindung und gibt Fehler- bzw. Statuscodes an. Alle Pfade, die über diese beendete Verbindung empfangen wurden, müssen nun gelöscht werden. Über ein BGP-Update würde dann verbreitet werden, dass diese Route nicht mehr verfügbar ist.
KEEPALIVEBestätigt die OPEN-Anfrage. Zur regelmäßigen Überprüfung, ob der verbundene Router noch online ist oder ob die Verbindung unterbrochen ist und die Pfade über den verbundenen Router somit ungültig geworden sind. Die Router, welche gerade eine BGP-Session aufgebaut haben, senden sich gegenseitig in regelmäßigen Abständen eine KEEPALIVE-Nachricht. Diese besteht nur aus dem Message Header. Im Attribut Hold Time einer OPEN-Nachricht wird die maximale Zeit angegeben, in der ein BGP-Router eine KEEPALIVE-Nachricht vom BGP-Partner der Session erwartet. Kommt innerhalb der Hold Time keine KEEPALIVE-Nachricht an, wird die BGP-Session mit einer NOTIFICATION beendet.

Prefix Filter

LAB

Wären hinter R1 noch Netzwerke würden diese via R2 und dem Befehl network <ip> <wildcard> next-hop-self nach außen propagiert. Ebenso bei R4 und R3. Wäre hinter R4 noch ein Netzwerk würde dieses via R3 und dem Befehl next-hop-self nach außen propagiert.
!R1

int fa0/0
 ip address 17.1.1.1 255.255.255.0
 no shut
 
router bgp 65001
 neighbor 17.1.1.2 remote-as 65001
 network 17.1.1.0 mask 255.255.255.0
 
ip route 0.0.0.0 0.0.0.0 17.1.1.2
!R2
 
int fa0/0
 ip address 17.1.1.2 255.255.255.0
 no shut
 
int fa1/0
 ip address 100.0.0.2 255.255.255.252
 no shut
 
router bgp 65001
 neighbor 17.1.1.1 remote-as 65001
 network 17.1.1.0 mask 255.255.255.0
 network 100.0.0.0 mask 255.255.255.252 
 neighbor 100.0.0.1 remote-as 65002
!R3

int fa0/0
 ip address 100.0.0.1 255.255.255.252
 no shut
 
int fa1/0
 ip addr 17.1.2.1 255.255.255.0
 no shut
 
router bgp 65002
 neighbor 17.1.2.0 remote-as 65002
 network 17.1.2.0 mask 255.255.255.0
 neighbor 100.0.0.2 remote-as 65001
 network 100.0.0.0 mask 255.255.255.252
!R4

int fa0/0
 ip addr 17.1.2.2 255.255.255.0
 no shut
 
router bgp 65002
 neighbor 17.1.2.1 remote-as 65002
 network 17.1.2.0 mask 255.255.255.0 
 
ip route 0.0.0.0 0.0.0.0 17.1.2.1
show ip bgp
clear ip bgp *
show ip bgp summary
show run | section router bgp
bgp.txt · Zuletzt geändert: 2023/11/25 23:05 (Externe Bearbeitung)