Articles

BGP als Dienst

BGP als Dienst verstehen

Mit der Funktion BGP als Dienst (BGPaaS) kann eine virtuelle Gastmaschine (VM) Routen mithilfe von BGP in einer eigenen virtuellen Routingand Forwarding (VRF) -Instanz platzieren.

  • Contrail-BGPaaS-Funktionen

  • BGPaaS-Anwendungsfälle

Contrail-BGPaaS-Funktionen

Die Verwendung von BGPaaS mit Contrail Networking erfordert, dass die Gast-VM eine Verbindung zum Steuerknoten um Advertiseroutes in die VRF-Instanz einfügen zu können.

Mit der BGPaaS-Funktion:

  • Der vRouter-Agent kann BGP-Verbindungen von den VMs akzeptieren und an den Steuerknoten weiterleiten.

  • Der vRouter Agent wählt immer einen der Control Nodes aus, die er als XMPP Server verwendet.

Contrail Networking bietet Routenexportfunktionen für GPAAS-Sitzungen. Der nächste Hop für alle der tenantVM angekündigten Routen wird auf die Standardgateway-Adresse des Subnetzes der tenantVM festgelegt. Dadurch kann die mandantenfähige BGP-Implementierung relativ einfach sein, da keine Unterstützung für die rekursive Auflösung von BGP-Next-Hops erforderlich ist.

Das BGPaaS-Objekt ist einer virtuellen Maschinenschnittstelle zugeordnet, nicht nur einer virtuellen Maschine (VM), die es einer Mandanten-VM ermöglicht, GGP-Sitzungen in mehreren virtuellen Netzwerken zu haben, falls erforderlich.

BGPaaS in Contrail Networking verfügt über die folgenden Funktionen:

  • Standardmäßig sind alle BGPaaS-Sitzungen so konfiguriert, dass sie habenbidirektionaler Austausch von Routen. Die boolesche Eigenschaft bgpaas-suppress-route-advertisement stellt sicher, dass keine Anzeige von Routen zur Mandanten-VM erfolgt.

  • Wenn inet6-Routen für die Mandanten-VM angekündigt werden, werden sie mit der Standard-Gateway-Adresse des IPv6-Subnetzes für den nächsten BGP-Hop angekündigt. Eine boolesche Eigenschaft, bgpaas-ipv4-mapped-ipv6-nexthop, bewirkt, dass das Standardgateway des IPv4-Subnetzes im IPv4-Mapped-IPv6-Format stattdessen als nächster Hop verwendet wird.

  • Wenn mehrere Mandanten-VMs im selben virtuellen Netzwerk GPAAS-Sitzungen haben und eBGP verwenden, verhindern die Standard-BGP ALS Pfadschleifenpräventionsregeln, dass von einer Mandanten-VM beworbene Routen an die anderen Mandanten-VMs weitergegeben werden. Das as-Override-Feld, das dem vorhandenen BgpSessionAttributes im BGPAAS-Objekt hinzugefügt wurde, bewirkt, dass der Steuerknoten die AS-Nummer der Mandanten-VM durch seine eigene AS-Nummer ersetzt, wenn er von einer Mandanten-VM zu einer anderen Mandanten-VM im selben virtuellen Netzwerk weiterleitet.Die Mandanten-VM muss keine neuen Funktionen implementieren.

Contrail Networking bietet Unterstützung für Hochverfügbarkeitsarchitekturen (HA), BGPaaS unterstützt die Auswahl der Steuerknotenzone mit Optionen zum Konfigurieren von BGPAAS-Steuerknotenzonen-Peers.

Mit dieser Funktion können Sie primäre und secondarycontrol-Knotenzonen einrichten, die über einen oder mehrere Steuerknoten verfügen können. Der Grund dafür ist, dass BGPaaS häufig als Routing zu und von VNFs verwendet wird, die aus mehreren Knoten über verschiedene Rechner bestehen, und das VNFs normalerweise auf zwei BGP-Peers angewiesen ist. Diese Steuerknotenzonenfunktionen erhöhen die Robustheit und Failoverfähigkeit für BGPaaS in Contrail.

Die folgenden Einschränkungen gelten:

  • BGP-Sitzungen müssen den IPv4-Transport verwenden.

  • Die VNF muss RFC 2545 unterstützen, Verwendung von BGP-4multiprotokollerweiterungen für IPv6-Interdomänen-Routing,um IPv6-Routen über den IPv4-Peer zu übertragen.

  • Es werden nur IPv4- (inet) und IPv6- (inet6) Adressfamilien unterstützt.

Die folgenden Funktionen werden in Contrail Networkingfür die BGPaaS-Konfiguration unterstützt:

  • Global-System-Config hat eine Option zum Hinzufügen, Ändern oder Löschen von Steuerknotenzonen

  • Control-Node-Zone hat eine Option zum Hinzufügen, Ändern oder Löschenkontrollknoten

  • Der Steuerknoten hat eine Option zum Hinzufügen, Ändern oder Löschen einer Steuerknotenzone und kann nur eine Steuerknotenzone haben

  • BGPaaS hat eine Option zum Hinzufügen, Ändern oder Löschen einer primären oder sekundären Steuerknotenzone

  • Wenn die Steuerknotenzone mehr als eine Steuerknotenzone, die Auswahl des Kontrollknotens für das BGP-Peering erfolgt zufällig in einer Kontrollknotenzone

  • Mit nur einem Kontrollknoten in jeder Zone kann VNF vorhersagbar bgp-Peering zu diesem bestimmten Kontrollknoten herstellen.

BGPaaS-Anwendungsfälle

Dieser Abschnitt enthält Beispielszenarien für die Implementierung von BGPAAS mit Kondensstreifen.

  • Dynamische Tunneleinfügung innerhalb eines Tenant-Overlays

  • Dynamische Netzwerk-Erreichbarkeit von Anwendungen

  • Liveness Detection für hohe Verfügbarkeit

Dynamische Tunneleinfügung innerhalb eines Tenant-Overlays

Verschiedene Anwendungen müssen dynamische Tunnel in virtualnetworks einfügen. Virtuelle Netzwerkfunktionen (VNFs) bieten die Funktion vontunnelbeendigung. Die Tunnelbeendigungstypen variieren je nach Anwendungstyp, z. B. Business VPN, Mobility Small Site Backhaul, VPC und dergleichen. Die Hauptanforderung besteht darin, dass Tunnel dynamisch neue Informationen zur Erreichbarkeit des Netzwerks in das virtuelle Netzwerk einfügen müssen. Thepredominant Methoden der Tunnel-Netzwerk Erreichbarkeit Insertion verwenden BGP.

BGPaaS ermöglicht die Migration von Brownfield-VNFs in Contrail, wobei das Anwendungsverhalten und die Anforderungen für BGP beibehalten werden, ohne die Anwendung neu zu schreiben.

Abbildung 1 zeigt die Notwendigkeit, einen dynamischen Tunnel in ein virtuelles Netzwerk einzufügen.

Abbildung 1: Dynamische Tunneleinfügung

Dynamische Tunneleinfügung

Dynamische Netzwerkreichbarkeit von Anwendungen

Das Domain Name System (DNS) ist eine weit verbreitete Anwendung, die BGP als Mechanismus zur Optimierung der Erreichbarkeit ihrer dienste, basierend auf Metriken wie Last, Wartung, Verfügbarkeit und dergleichen.Da DNS-Dienste mithilfe von Overlays in Umgebungen migriert werden, ist ein Mechanismus zur Beibehaltung des vorhandenen Anwendungsverhaltens und der Anforderungen erforderlich, einschließlich der Möglichkeit, die Erreichbarkeit der verfügbaren Anwendung anzukündigen und zurückzuziehen.

Diese Anforderung ist nicht auf DNS beschränkt. Andere Anwendungen, wie Virtualized Evolved Packet Core (vEPC) und andere, verwenden BGPas, einen Mechanismus für die Erreichbarkeit des Netzwerks basierend auf Verfügbarkeit und Geschwindigkeit.

Liveness Detection für hohe Verfügbarkeit

Verschiedene Keepalive-Mechanismen für die Erreichbarkeit von Mandanten wurden durch Netzwerkkomponenten wie BGP, OSPF, PING, VRRP, BFD oder anwendungsspezifische Mechanismen bereitgestellt. Mit BGP auf dem vRouter-Agent kann BGP verwendet werden, um einen Mechanismus zur Erkennung der Lebendigkeit zwischen dem Mandanten auf dem lokalen Rechenknoten und den Diensten bereitzustellen, die die spezifische Mandanten-VM bereitstellt.

BGPAAS mit VNC-API konfigurieren

So konfigurieren Sie BGPaaS mit VNC-APIs:

  1. Greifen Sie auf das Standardprojekt zu.

    default_project = self._vnc_lib.project_read(fq_name=)

  2. Create a BGPaaS object.

    bgpaas_obj = BgpAsAService(name=‘bgpaas_1’,parent_obj=default_project)

  3. Attach the BGP object to a precreated virtual machineinterface.

    bgpaas_obj.add_virtual_machine_interface(vmi)

  4. Set the ASN. It must be an eBGP session.

    bgpaas_obj.set_autonomous_system('65000')

    If the ASN is not set, the primary instance IP will be chosen.

    bgpaas_obj.set_bgpaas_ip_address(u’10.1.1.5’)

  5. Set session attributes.

    bgp_addr_fams = AddressFamilies()
    bgp_sess_attrs = BgpSessionAttributes(address_families=bgp_addr_fams,hold_time=60)
    bgpaas_obj.set_bgpaas_session_attributes(bgp_sess_attrs)
    self._vnc_lib.bgp_as_a_service_create(bgpaas_obj)

Um ein BGPaaS-Objekt zu löschen, folgen Sie dem angegebenen Code:

fq_name=
bgpaas_obj = self._vnc_lib.bgp_as_a_service_read(fq_name=fq_name)
bgpaas_obj.del_virtual_machine_interface(vmi)
self._vnc_lib.bgp_as_a_service_update(bgpaas_obj)
self._vnc_lib.bgp_as_a_service_delete(id=bgpaas_obj.get_uuid())

Konfigurieren von BGPaaS über die Contrail-Web-Benutzeroberfläche

So konfigurieren Sie BGPaaS innerhalb eines Mandanten:

  1. Wählen Sie Configure > Services > BGP as a Service von der Contrail Web User Interface (UI). Die BGP as a Servicepage wird angezeigt.
  2. Klicken Sie auf der BGPaaS-Seite auf die Schaltfläche +. Die Seite BGP als Dienst erstellen wird angezeigt.Siehe Abbildung 2.
    Abbildung 2: BGP als Dienst erstellen

    BGP als Dienst erstellen
  3. Füllen Sie auf der Seite BGPaaS erstellen die Felder mit den folgenden Werten aus, um ihr Service.

    Felder

    Beschreibung

    Name

    Geben Sie einen Namen für den BGP-Dienst ein Der Name darf eine eindeutige Zeichenfolge von nicht mehr als 15 Zeichen sein, die alphanumerische zeichen und Bindestrich (-).

    IP-Adresse

    Geben Sie die IPv4- oder IPv6-Quelladresse auf der BGPaaS-VM ein.

    Schnittstelle der virtuellen Maschine

    Geben Sie die IP-Adresse einer Schnittstelle der virtuellen Maschine ein.

    Adresse Familie

    Wählen inet oder inet6 von der Adresse Familie liste accordingto ihre anforderung.

    Autonomous System

    Enter AS number in the range 1- 65,534.

    Advanced Options

    Hold Time

    Enter the maximum time a BGP session remains active ifno Keepalives are received.

    Administratorstatus

    Aktivieren Sie das Kontrollkästchen Administratorstatus, um den Status AUFWÄRTS zu aktivieren, und deaktivieren Sie das Kontrollkästchen, um den Status auf ABWÄRTS zu deaktivieren.

  4. Klicken Sie auf Speichern, um das BGP-Objekt zu erstellen.

Konfigurieren von BGPaaS über den Befehl Contrail

So konfigurieren Sie BGPaaS innerhalb eines Mandanten:

  1. Dienste auswählen > BGPaaS. von der ContrailCommand-Benutzeroberfläche (UI). Die BGPaaS-Seite wird angezeigt.
  2. Klicken Sie auf der BGPaaS-Seite auf die Schaltfläche Erstellen. Die Seite BGPaaS erstellen wird angezeigt. Siehe Abbildung 3.
    Abbildung 3: BGPaaS erstellen

    BGPaaS erstellen
  3. Füllen Sie auf der Seite BGPaaS erstellen die Felder mit den folgenden Werten aus, um Ihr BGP zu erstellen objekt.

    Felder

    Beschreibung

    Name

    Geben Sie einen Namen für den BGP-Dienst ein. Der Name kann ein Unikat seinFolge von nicht mehr als 15 Zeichen, die alphanumerische Zeichen enthältund Bindestrich (-).

    Schnittstelle der virtuellen Maschine

    Geben Sie die IP-Adresse einer Schnittstelle der virtuellen Maschine ein.

    Adresse Familie

    Wählen inet oder inet6 von der Adresse Familie liste accordingto ihre anforderung.

    Autonomes System

    Geben Sie die Nummer des autonomen Systems (AS) im Bereich von 1-65.535 ein.

    Wenn Sie 4 Byte ASN in der globalen Konfiguration aktivieren, können Sie 4 Byte ASN im Bereich von 1-4,294,967,295 eingeben.

    Erweiterte Optionen

    IP-Adresse

    Geben Sie die IPv4- oder IPv6-Quelladresse auf der BGPaaS-VM ein.

    Shared

    Aktivieren Sie dieses Kontrollkästchen, um alle VMIs mit dem commonbgp-router-Objekt zu verknüpfen. Ist dieses Kästchen nicht markiert, verlinkt jedes Virtual Machineinterface individuell auf sein eigenes bgp-router-Objekt.

    Routenursprung

    • Wählen Sie BGP aus der Liste aus, wenn die Route vom aBGP-Router stammt.

    • Wählen Sie EGP aus der Liste aus, wenn die Route aus einer EGP-Sitzung (External Gateway Protocols) stammt.

    • Wählen Sie Unvollständig aus der Liste aus, wenn die Erreichbarkeitsinformationen der Netzwerkschicht (NLRI) durch Methoden wie die Umverteilung der Routen in BGP und nicht durch BGP gelernt werden.

    Überschreiben des Routenursprungs

    Aktivieren Sie dieses Kontrollkästchen, um das Ursprungsattribut des angegebenen Routenursprungs in Unvollständig zu überschreiben.

    Service Health Check

    Wählen Sie ein beliebiges Service Health Check Objekt aus der listaccording zu Ihrer Anforderung.

    Haltezeit

    Geben Sie die maximale Zeit ein, die eine BGP-Sitzung aktiv bleibt, wenn keine Keepalives empfangen werden.

    Anzahl der Schleifen

    Geben Sie die Anzahl der Male ein, in denen dieselbe ASN angezeigt wirdein Routen-Update. Die Route wird verworfen, wenn die Anzahl der Schleifen überschritten wird.

    Lokale ASN

    Geben Sie die AS-Nummer (Autonomous System) im Bereich von 1 bis 65.535 ein.

    Wenn Sie 4 Byte ASN in der globalen Konfiguration aktivieren, können Sie 4 Byte ASN im Bereich von 1-4,294,967,295 eingeben.

    AS-Überschreibung

    Aktivieren Sie dieses Kontrollkästchen, um die AS-Nummer des Control-Knotens durch die AS-Nummer der Mandanten-VM zu ersetzen.

    IPv4-mapped IPv6 Nexthop verwenden

    Aktivieren Sie dieses Kontrollkästchen, um das IPv4-mapped IPv6-Format für den nächsten Hop anstelle des Standardgateways des IPv4-Subnetzes zu verwenden.

    Routenanzeige unterdrücken

    Aktivieren Sie dieses Kontrollkästchen, um die Anzeige von Routen auf der Mandanten-VM zu verhindern.

    Primäre Steuerknotenzone

    Sie können den Steuerknoten auswählen, mit dem die BGPaaSVM eine BGP-Sitzung durchführen kann.

    Sekundäre Steuerknotenzone

    Sie können den Steuerknoten auswählen, mit dem die BGPaaSVM eine BGP-Sitzung durchführen kann.

  4. Klicken Sie auf die Schaltfläche Erstellen, um das BGP-Objekt zu erstellen.