7. Wie PEs Routen von CEs lernen
7. Wie PEs Routen von CEs lernen (How PEs Learn Routes from CEs)
Ein an ein bestimmtes VPN angeschlossener PE-Router muss für jeden Attachment Circuit zu diesem VPN wissen, welche Adressen dieses VPN über diesen Attachment Circuit erreichbar sind.
Der PE nutzt den konfigurierten Route Distinguisher (RD), um diese Adressen in VPN-IPv4-Adressen umzuwandeln. Der PE nutzt diese VPN-IPv4-Routen dann als Eingabe für BGP. Routen eines VPN-Standorts werden nicht in das IGP des Backbones durchsickern (leak) gelassen.
Welche PE/CE-Verteilungstechniken möglich sind, hängt davon ab, ob ein bestimmter CE in einem „Transit-VPN“ (transit VPN) steht. Ein „Transit-VPN“ liegt vor, wenn es einen Router enthält, der Routen von einem „Dritten“ (also von einem Router, der nicht in diesem VPN und auch kein PE-Router ist) empfängt und diese an einen PE-Router neu verteilt. Ein VPN, das kein Transit-VPN ist, ist ein „Stub-VPN“ (stub VPN). Die überwiegende Mehrheit der VPN (einschließlich fast aller Unternehmensnetze) ist in diesem Sinne „Stub“.
Die möglichen PE/CE-Verteilungstechniken sind:
-
Static Routing (also Konfiguration) kann verwendet werden. (Dies ist wohl nur in einem Stub-VPN nützlich.)
-
PE und CE-Router können RIP-Peers (Routing Information Protocol) [RIP] sein, und der CE kann dem PE-Router mitteilen, welche Adresspräfixe (address prefix) an seinem Standort erreichbar sind. Bei der Konfiguration von RIP auf dem CE ist sorgfältig sicherzustellen, dass Adresspräfixe von anderen Standorten (also die, die der CE-Router vom PE-Router gelernt hat) niemals zurück an einen PE-Router angekündigt (advertise) werden. Genauer: Wenn ein PE-Router (etwa PE1) eine VPN-IPv4-Route R1 empfängt und dementsprechend eine IPv4-Route R2 an einen CE verteilt, darf R2 niemals von dem Standort dieses CE zurück an einen PE-Router (etwa PE2, wobei PE1 und PE2 identisch oder verschieden sein können) verteilt werden, es sei denn, PE2 mappt R2 auf eine andere VPN-IPv4-Route als R1 (also mit anderem RD).
-
PE und CE-Router können OSPF-Peers (Open Shortest Path First) sein. Ein PE-Router, der OSPF-Peer eines CE-Routers ist, erscheint aus Sicht dieses CE als Area-0-Router (area 0). Ist ein PE-Router OSPF-Peer von CE-Routern in verschiedenen VPN, muss er natürlich mehrere OSPF-Instanzen (instance) ausführen.
Vom PE über OSPF vom CE gelernte IPv4-Routen werden als VPN-IPv4-Routen in BGP neu verteilt. Das Extended-Community-Attribut (Extended Community) wird genutzt, um alle notwendigen Informationen mit der Route zu tragen, damit diese mit dem passenden OSPF-LSA-Typ (Link State Advertisement) an die anderen CE-Router des VPN verteilt werden kann. OSPF-Route-Tagging (route tagging) stellt sicher, dass vom MPLS/BGP-Backbone empfangene Routen nicht zurück in das Backbone gesendet werden.
Das vollständige Verfahren für die Nutzung von OSPF zwischen PE und CE findet sich in [VPN-OSPF] und [OSPF-2547-DNBIT].
-
PE und CE-Router können BGP-Peers sein, und der CE-Router kann BGP (insbesondere EBGP) nutzen, um dem PE-Router die Menge der Adresspräfixe an seinem Standort mitzuteilen. (Diese Technik kann in Stub- und Transit-VPN genutzt werden.)
Gegenüber den anderen Techniken hat diese mehrere Vorteile:
a) Anders als IGP-Ansätze erfordert dies nicht, dass der PE mehrere Routing-Algorithmus-Instanzen ausführt, um mit mehreren CE zu kommunizieren.
b) BGP ist genau dafür entworfen: Routing-Informationen zwischen Systemen in verschiedenen Verwaltungsdomänen zu übertragen.
c) Hat der Standort einen „BGP-Backdoor“ (BGP backdoor), also einen Router mit BGP-Verbindung zu einem Router außerhalb des PE-Routers, funktioniert das Verfahren in allen Fällen korrekt. Andere Verfahren können je nach Umständen funktionieren oder auch nicht.
d) Die Nutzung von BGP erlaubt dem CE, Attribute leicht an den PE zu übergeben. Ein vollständiger Satz von Attributen und deren Nutzung fallen nicht in den Bereich dieses Dokuments. Einige Beispiele:
- Der CE kann aus der Menge der Route Targets, die der PE an die Route anhängen darf, ein bestimmtes Route Target für jede Route vorschlagen. Der PE hängt dann nur das vorgeschlagene Route Target an, nicht alle. Dies gibt dem CE-Administrator eine gewisse dynamische Kontrolle über die Verteilung der Routen vom CE.
- Es können andere Arten von Extended-Community-Attributen definiert werden, die (transparent, also ohne Änderung durch den PE-Router) vom CE zum CE durchgereicht werden sollen. Dies erlaubte dem CE-Administrator, zusätzliche Routenfilterung über die des PE hinaus zu realisieren, ohne den SP einzubeziehen.Andererseits kann die Nutzung von BGP für den CE-Administrator neu sein.
Ist ein Standort nicht in einem Transit-VPN, beachten Sie, dass er keine eindeutige autonome Systemnummer (ASN) benötigt. Jeder CE eines Nicht-Transit-Standorts kann dieselbe ASN verwenden. Diese kann aus dem privaten ASN-Raum gewählt und vom PE entfernt (strip) werden. Routing-Schleifen (routing loop) werden durch das Site-of-Origin-Attribut verhindert.
Was, wenn eine Standortmenge ein Transit-VPN bildet? Im Allgemeinen tritt dies nur auf, wenn dieses VPN selbst das Netz eines Internet Service Providers (ISP) ist, der wiederum Backbone-Dienste von einem anderen SP bezieht. Letzteren nennt man „Carrier's Carrier“ (carrier's carrier). In diesem Fall ist die beste Bereitstellung des VPN die, dass die CE-Router MPLS unterstützen und die in Abschnitt 9 beschriebene Technik nutzen.
Wenn wir nicht zwischen den verschiedenen Arten unterscheiden müssen, wie ein PE die Existenz von Adresspräfixen an einem gegebenen Standort erfährt, sagen wir einfach, der PE habe diese Routen von diesem Standort „gelernt“ (learn). Dies umfasst auch den Fall, dass der PE manuell mit diesen Routen konfiguriert wurde.
Bevor ein PE eine von einem Standort gelernte VPN-IPv4-Route neu verteilen kann, muss er ihr ein Route-Target-Attribut zuweisen (siehe Abschnitt 4.3.1), und er kann ihr ein Site-of-Origin-Attribut zuweisen.
Das Site-of-Origin-Attribut (falls verwendet) wird als Extended-Community Route Origin [BGP-EXTCOMM] kodiert. Der Zweck dieses Attributs ist es, die Menge der von einem bestimmten Standort gelernten Routen eindeutig zu kennzeichnen. In manchen Fällen ist dies nötig, um sicherzustellen, dass eine von einem bestimmten Standort über einen bestimmten PE/CE-Attachment Circuit gelernte Route nicht über einen anderen PE/CE-Attachment Circuit zurück an diesen Standort verteilt wird. Dies ist besonders nützlich, wenn BGP als PE/CE-Protokoll genutzt wird, die verschiedenen Standorte aber noch keine unterschiedlichen ASN erhalten haben.