Zum Hauptinhalt springen

3. VRFs - Mehrere Forwarding-Tabellen in PEs

3. VRFs: Mehrere Forwarding-Tabellen in PEs (VRFs: Multiple Forwarding Tables in PEs)​

Jeder PE-Router hält mehrere voneinander unabhängige Forwarding-Tabellen (forwarding table). Eine davon ist die „Default-Forwarding-Tabelle“ (default forwarding table); die übrigen sind „VPN Routing and Forwarding“-Tabellen (VPN Routing and Forwarding table), kurz „VRF“.

3.1. VRFs und Attachment Circuits (VRFs and Attachment Circuits)​

Jeder PE/CE-Attachment Circuit wird durch Konfiguration mit einem oder mehreren VRF assoziiert. Ein mit einem VRF assoziierter Attachment Circuit heißt „VRF Attachment Circuit“ (VRF attachment circuit).

Im einfachsten und typischsten Fall ist ein PE/CE-Attachment Circuit genau einem VRF zugeordnet. Trifft ein IP-Paket (packet) auf einem bestimmten Attachment Circuit ein, wird seine Ziel-IP-Adresse in dem zugehörigen VRF nachgeschlagen (lookup); das Ergebnis bestimmt, wie das Paket geroutet wird. Der VRF, den der Ingress-PE eines Pakets zur Weiterleitung dieses Pakets nutzt, heißt „Ingress VRF“ (ingress VRF). (Es gibt auch das Konzept des „Egress VRF“ (egress VRF) am Egress-PE, das in Abschnitt 5 erörtert wird.)

Trifft ein IP-Paket auf einem nicht mit einem VRF assoziierten Attachment Circuit ein, wird seine Zieladresse in der Default-Forwarding-Tabelle nachgeschlagen und das Paket entsprechend geroutet. Pakete, die gemäß der Default-Forwarding-Tabelle weitergeleitet werden, umfassen Pakete von benachbarten P- oder PE-Routern sowie Pakete von kundenorientierten Attachment Circuits ohne VRF-Zuordnung.

Intuitiv kann man sich die Default-Forwarding-Tabelle als enthaltend die „öffentlichen Routen“ (public route) und die VRF als enthaltend die „privaten Routen“ (private route) vorstellen. Ebenso kann man VRF-Attachment Circuits als „privat“ und nicht-VRF-Attachment Circuits als „öffentlich“ betrachten.

Ist ein bestimmter VRF-Attachment Circuit den Standort S mit einem PE-Router verbindet, lässt sich die Konnektivität von S (über diesen Attachment Circuit) einschränken, indem man die in den entsprechenden VRF eingetragenen Routen steuert. Die Routenmenge in diesem VRF sollte auf die Routen zu den Standorten beschränkt werden, die mindestens ein VPN mit S teilen. So kann ein von S über einen VRF-Attachment Circuit gesendetes Paket nur dann vom PE zu einem anderen Standort S' geroutet werden, wenn S' und S einem VPN gemeinsam angehören. Mit anderen Worten: Jede Kommunikation (über die PE-Router) zwischen zwei VPN-Standorten ohne gemeinsames VPN wird verhindert. Die Kommunikation zwischen VPN-Standorten und Nicht-VPN-Standorten wird verhindert, indem die Routen zu VPN-Standorten aus der Default-Forwarding-Tabelle ausgeschlossen werden.

Gibt es mehrere Attachment Circuits von S zu einem oder mehreren PE-Routern, können mehrere VRF zur Weiterleitung des Verkehrs (traffic) von S genutzt werden. Um die Konnektivität von S korrekt einzuschränken, müssen dieselben Routen in all diesen VRF vorhanden sein. Alternativ können unterschiedliche Attachment Circuits von S unterschiedliche Konnektivitätsbeschränkungen auferlegt werden; in diesem Fall enthalten einige der mit den Attachment Circuits von S assoziierten VRF andere Routenmengen als andere.

Wir erlauben auch den Fall, dass ein einzelner Attachment Circuit mit einer Menge von VRF und nicht mit einem einzigen VRF assoziiert ist. Dies ist nützlich, wenn man ein einzelnes VPN in mehrere „Sub-VPN“ (sub-VPN) mit unterschiedlichen Konnektivitätsbeschränkungen unterteilen will, wobei ein Paketmerkmal des Kunden zur Auswahl des Sub-VPN genutzt wird. Der Einfachheit halber sprechen wir meist von einem Attachment Circuit, der mit genau einem VRF assoziiert ist.

3.2. Zuordnung von IP-Paketen zu VRFs (Associating IP Packets with VRFs)​

Wenn ein PE-Router ein Paket von einem CE-Gerät empfängt, muss er den Attachment Circuit bestimmen, über den das Paket eingetroffen ist, da dies wiederum den zur Weiterleitung des Pakets verwendbaren VRF (oder die VRF-Menge) bestimmt. Im Allgemeinen merkt sich der PE-Router die physische Schnittstelle (interface), über die das Paket eingetroffen ist, und gegebenenfalls ein Merkmal des Layer-2-Headers (layer 2 header) des Pakets. Ist der Ingress-Attachment Circuit eines Pakets etwa ein Frame-Relay-VC, lässt sich die Identität des Attachment Circuits aus der physischen Frame-Relay-Schnittstelle und dem DLCI-Feld (Data Link Connection Identifier) im Frame-Relay-Header des Pakets bestimmen.

Obwohl die Schlussfolgerung des PE, ein bestimmtes Paket sei auf einem bestimmten Attachment Circuit eingetroffen, teilweise durch den Layer-2-Header des Pakets bestimmt wird, muss es dem Kunden unmöglich sein, durch Manipulation der Header-Felder den SP zu täuschen, dass ein auf einem Attachment Circuit empfangenes Paket auf einem anderen eingetroffen sei. Im obigen Beispiel wird der Attachment Circuit zwar teilweise durch das DLCI-Feld im Frame-Relay-Header bestimmt, doch kann dieses Feld vom Kunden nicht frei gesetzt werden; es muss den vom SP vorgegebenen Wert haben, sonst erreicht das Paket den PE-Router gar nicht.

In einigen Fällen kann ein bestimmter Standort vom Kunden in mehrere „virtuelle Standorte“ (virtual site) unterteilt werden. Der SP kann eine bestimmte Menge von VRF für die Weiterleitung von Paketen dieses Standorts festlegen und dem Kunden erlauben, ein Paketmerkmal zu setzen, das zur Auswahl eines bestimmten VRF aus dieser Menge genutzt wird.

Beispielsweise kann jeder virtuelle Standort als VLAN realisiert sein. SP und Kunde können vereinbaren, dass bestimmte VLAN-Werte auf Paketen von einem bestimmten CE bestimmte VRF kennzeichnen. Selbstverständlich verwirft (discard) der PE Pakete von diesem CE mit VLAN-Tag (tag)-Werten außerhalb der vereinbarten Menge. Eine andere Möglichkeit ist die Nutzung der IP-Quelladresse (source address). Der PE verwendet dann die IP-Quelladresse im vom CE empfangenen Paket zusammen mit der Eingangsschnittstelle, um das Paket einem bestimmten VRF zuzuweisen. Auch hier kann der Kunde nur aus der Menge der ihm erlaubten VRF auswählen.

Soll ein bestimmter Host (host) mehreren virtuellen Standorten angehören, muss dieser Host für jedes Paket den virtuellen Standort bestimmen, mit dem das Paket assoziiert ist. Dies kann er etwa dadurch erreichen, dass er Pakete verschiedener virtueller Standorte über verschiedene VLAN oder verschiedene Netzwerkschnittstellen sendet.

3.3. Befüllen der VRFs (Populating the VRFs)​

Womit werden die VRF befüllt?

Angenommen, PE1, PE2 und PE3 seien drei PE-Router und CE1, CE2 und CE3 drei CE-Router. Nehmen wir an, PE1 lernt (learn) von CE1 die Routen, die am Standort von CE1 erreichbar sind. Sind PE2 und PE3 mit CE2 bzw. CE3 verbunden und gibt es ein VPN V mit CE1, CE2, CE3, dann nutzt PE1 BGP, um die von CE1 gelernten Routen an PE2 und PE3 zu verteilen. PE2 und PE3 füllen damit die VRF, die sie den Standorten von CE2 bzw. CE3 zuordnen. Routen zu Standorten, die nicht in VPN V liegen, erscheinen nicht in diesen VRF, was bedeutet, dass Pakete von CE2 oder CE3 nicht an Standorte außerhalb von VPN V gesendet werden können.

Wenn wir sagen, ein PE „lerne“ Routen von einem CE, nehmen wir keine bestimmte Lerntechnik an. Der PE kann Routen über einen dynamischen Routing-Algorithmus lernen, aber er kann Routen auch konfigurieren („Static Routing“, static routing) und so „lernen“. (Im letzteren Fall ist es rhetorisch vielleicht etwas übertrieben, zu sagen, der PE habe die Routen vom CE „gelernt“.)

Die PE müssen zudem von anderen PE die Routen lernen, die zu einem gegebenen VPN gehören. Die Verfahren zum korrekten Befüllen der VRF mit Routen sind in Abschnitt 4 festgelegt.

Gibt es mehrere Attachment Circuits von einem PE-Router zu einem bestimmten Standort, können alle auf dieselbe Forwarding-Tabelle abgebildet werden; erfordert es die Richtlinie, können sie aber auch auf verschiedene Tabellen abgebildet werden. Beispielsweise kann die Richtlinie festlegen, dass ein bestimmter Attachment Circuit eines Standorts nur für Intranet-Verkehr und ein anderer nur für Extranet-Verkehr genutzt wird. (Der mit dem Extranet-Attachment Circuit verbundene CE ist etwa eine Firewall, der mit dem Intranet-Attachment Circuit verbundene CE nicht.) In diesem Fall wären die beiden Attachment Circuits unterschiedlichen VRF zugeordnet.

Beachten Sie: Sind zwei Attachment Circuits demselben VRF zugeordnet, können Pakete, die der PE auf dem einen empfängt, genau dieselben Ziele erreichen wie Pakete auf dem anderen. Zwei Attachment Circuits dürfen daher nicht demselben VRF zugeordnet sein, es sei denn, jedes CE gehört exakt derselben VPN-Menge an.

Ist ein Attachment Circuit mit einem Standort verbunden, der in mehreren VPN ist, kann der Attachment Circuit dennoch einem einzigen VRF zugeordnet sein; dieser VRF enthält dann die Routen aller VPN, deren Mitglied der Standort ist.