Articles

BGP en tant que Service

Comprendre BGP en tant que Service

La fonctionnalité BGP en tant que service (BGPaaS) permet à une machine virtuelle invitée (VM) de placer des routes dans sa propre instance de routingand forwarding (VRF) virtuelle à l’aide de BGP.

  • Caractéristiques BGPaaS de Contrail

  • Cas d’utilisation de BGPaaS

Caractéristiques BGPaaS de Contrail

L’utilisation de BGPaaS avec la mise en réseau de Contrail nécessite l’invité VMto ont la connectivité au noeud de contrôle et pour pouvoir advertiseroutes dans l’instance VRF.

Avec la fonctionnalité BGPaaS :

  • L’agent vRouter est capable d’accepter les connexions BGP des machines virtuelles et de les envoyer par proxy au nœud de contrôle.

  • L’agent vRouter sélectionne toujours l’un des nœuds de contrôle qu’il utilise comme serveur XMPP.

La mise en réseau Contrail fournit une fonctionnalité d’exportation d’itinéraire pour les sessions GPAAS. Le saut suivant pour toutes les routes annoncées vers le tenantVM est défini sur l’adresse de passerelle par défaut du sous-réseau du tenantVM. Cela permet à l’implémentation BGP locataire d’être relativement simple, en ne nécessitant pas de prise en charge de la résolution récursive des sauts BGP suivants.

L’objet BGPaaS est associé à une interface de machine virtuelle, et pas seulement à une machine virtuelle (VM), ce qui permet à une machine virtuelle locataire d’avoir des sessions BGP dans plusieurs réseaux virtuels, si nécessaire.

BGPaaS dans le réseau Contrail présente les caractéristiques suivantes :

  • Par défaut, toutes les sessions BGPaaS sont configurées pour avoir un échange bidirectionnel d’itinéraires. La propriété booléenne bgpaas-suppress-route-advertisement ne garantit aucune publicité des routes vers la machine virtuelle locataire.

  • Si des routes inet6 sont annoncées à la machine virtuelle locataire, elles sont annoncées avec l’adresse de passerelle par défaut du sous-réseau IPv6 au prochain saut BGP. Une propriété booléenne, bgpaas-ipv4-mapped-ipv6-nexthop, fait en sorte que la passerelle par défaut du sous-réseau IPv4, au format IPv6 mappée IPv4, soit utilisée à la place comme saut suivant.

  • Si plusieurs machines virtuelles locataires dans le même réseau virtuel ont des sessions BGPAAS et qu’elles utilisent eBGP, les règles de prévention de boucle de chemin BGP standard empêchent les routes annoncées par une machine virtuelle locataire d’être annoncées aux autres machines virtuelles locataires. Le champ as-override, ajouté au BgpSessionAttributes existant dans l’objet BGPAAS, amène le nœud de contrôle à remplacer le numéro AS de la machine virtuelle locataire par son propre numéro AS, lorsque la publicité achemine d’une machine virtuelle locataire vers une autre machine virtuelle locataire du même réseau virtuel.La machine virtuelle locataire n’a pas besoin d’implémenter de nouvelles fonctionnalités.

La mise en réseau Contrail prend en charge les architectures haute disponibilité (HA), BGPaaS prend en charge la sélection de zones de nœuds de contrôle, avec des options disponibles pour configurer les pairs de zones de nœuds de contrôle BGPaaS.

Cette fonctionnalité vous permet de configurer des zones de nœuds de contrôle primaires et secondaires, qui peuvent avoir un ou plusieurs nœuds de contrôle. Theresason pour ceci est parce que BGPaaS est souvent invoqué pour fournir un acheminement vers et depuis les VNF, qui sont composés de plusieurs nœuds à travers différents calculs, et les VNF reposent généralement sur deux pairs BGP forHA. Ces fonctionnalités de zone de nœud de contrôle augmentent la robustesse et les capacités de basculement pour les BGPAA dans Contrail.

Les mises en garde suivantes sont les suivantes :

  • Les sessions BGP doivent utiliser le transport IPv4.

  • Le VNF doit prendre en charge la RFC 2545, Utilisation d’extensions multiprotocoles BGP-4 pour le routage inter-domaines IPv6, pour transporter des routes IPv6 sur le pair IPv4.

  • Seules les familles d’adresses IPv4(inet) et IPv6(inet6) sont prises en charge.

Les fonctionnalités suivantes sont prises en charge dans Contrail Networkingpour la configuration BGPaaS:

  • Global-System-Config a une option pour ajouter, modifier, ou supprimer des zones de nœuds de contrôle

  • Control-Node-Zone a une option pour ajouter, modifier ou supprimer des nœuds de contrôle

  • Le nœud de contrôle a une option pour ajouter, modifier ou supprimer une zone de nœud de contrôle et il ne peut avoir qu’une seule zone de nœud de contrôle

  • BGPaaS a une option pour ajouter, modifier ou supprimer une zone de nœud de contrôle primaire ou secondaire

  • Si la zone du nœud de contrôle a plus d’un nœud de contrôle, la sélection du nœud de contrôle pour le peering BGP est aléatoire dans une zone de nœud de contrôle

  • En utilisant un seul nœud de contrôle dans chaque zone, VNF peut établir de manière prévisible le peering bgp sur ce nœud de contrôle particulier.

Cas d’utilisation de BGPaaS

Cette section fournit des exemples de scénarios d’implémentation de BGPAAS avec Contrail.

  • Insertion de Tunnel dynamique Dans une Superposition de Locataire

  • Accessibilité dynamique des Applications au Réseau

  • Détection de la Vivacité pour une haute disponibilité

Insertion dynamique de tunnels Dans une superposition de locataires

Diverses applications doivent insérer des tunnels dynamiques dans virtualnetworks. Les fonctions de réseau virtuel (VNF) fournissent la fonction de terminaison de tunnel. Les types de terminaison de tunnel varient d’un type d’application à l’autre, tels que le VPN professionnel, la liaison terrestre de petit site de mobilité, le VPC, etc. L’exigence clé est que les tunnels doivent insérer dynamicallynew des informations d’accessibilité du réseau dans le réseau virtuel. Les méthodes dominantes d’insertion d’accessibilité de réseau de tunnels utilisent BGP.

BGPaaS permet la migration des VNF de friches industrielles vers Contrail, en préservant le comportement de l’application et l’exigence de BGP, sans réécrire l’application.

La figure 1 montre la nécessité d’insérer un tunnel dynamique dans un réseau virtuel.

Figure 1: Insertion dynamique du tunnel

Insertion dynamique du tunnel

Accessibilité dynamique du réseau des applications

Le Système de noms de domaine (DNS) est une application répandue qui utilise le BGP comme un mécanisme permettant d’ajuster l’accessibilité de ses services, en fonction de métriques telles que la charge, la maintenance, la disponibilité, etc.Au fur et à mesure que les services DNS sont migrés vers des environnements à l’aide de superpositions, un mécanisme permettant de préserver le comportement et les exigences de l’application existante est nécessaire, y compris la possibilité d’annoncer et de retirer l’accessibilité à l’application disponible.

Cette exigence n’est pas limitée au DNS. D’autres applications, telles que virtualized evolved packet core (vEPC) et d’autres, utilisent un mécanisme BGPA pour l’accessibilité du réseau en fonction de la disponibilité et de la charge.

Détection de la vivacité pour la haute disponibilité

Divers mécanismes de maintien pour l’accessibilité des locataires ont été fournis par des composants réseau tels que BGP, OSPF, PING, VRRP, BFD ou des mécanismes spécifiques à l’application. Avec le BGP sur l’agent vRouter, le BGP peut être utilisé pour fournir un mécanisme de détection de la vivacité entre le locataire sur le nœud de calcul local et les services fournis par la machine virtuelle spécifique.

Configuration des BGPAA à l’aide de l’API VNC

Pour configurer les BGPAA à l’aide des API VNC :

  1. Accédez au projet par défaut.

    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)

Pour supprimer un objet BGPaaS, suivez le code donné :

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())

Configurer BGPaaS depuis Contrail Web UI

Pour configurer BGPaaS dans un locataire :

  1. Sélectionnez Configurer >Services > BGP en tant que service depuis l’Interface utilisateur Web (UI) de Contrail. Le BGP en tant que page de service est affiché.
  2. Cliquez sur le bouton + sur la page BGPaaS. La page Créer un BGP en tant que service s’affiche.Voir Figure 2.
    Figure 2: Créer BGP en tant que Service

    Créer BGP en tant que service
  3. Dans la page Créer BGPaaS, remplissez les champs avec les valeurs suivantes pour créer votre service.

    Champs

    Description

    Nom

    Entrez un nom pour le service BGP Le nom peut être une chaîne unique de pas plus de 15 caractères contenant des caractères alphanumériques et un trait d’union (-).

    Adresse IP

    Entrez l’adresse source IPv4 ou IPv6 sur la machine virtuelle BGPaaS.

    Interface de machine virtuelle

    Entrez l’adresse IP d’une interface de machine virtuelle.

    Famille d’adresses

    Choisissez inet ou inet6 dans la liste des familles d’adresses selon vos besoins.

    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.

    État d’administration

    Sélectionnez la case État d’administration pour activer l’état en HAUT et désélectionnez la case pour désactiver l’état en BAS.

  4. Cliquez sur Enregistrer pour créer l’objet BGP.

Configuration de BGPaaS à partir de la commande Contrail

Pour configurer BGPaaS dans un locataire :

  1. Sélectionnez Services >BGPaaS. depuis l’interface utilisateur ContrailCommand (UI). La page BGPaaS s’affiche.
  2. Cliquez sur le bouton Créer sur la page BGPaaS. La page Créer BGPaaS s’affiche. Voir Figure 3.
    Figure 3: Créer des BGPAA

    Créer des BGPAA
  3. Dans la page Créer des BGPAA, remplissez les champs avec les valeurs suivantes pour créer votre objet BGP.

    Champs

    Description

    Nom

    Entrez un nom pour le service BGP. Le nom peut être une chaîne unique d’au plus 15 caractères contenant des caractères alphanumériques et un trait d’union (-).

    Interface de machine virtuelle

    Entrez l’adresse IP d’une interface de machine virtuelle.

    Famille d’adresses

    Choisissez inet ou inet6 dans la liste des familles d’adresses selon vos besoins.

    Système autonome

    Entrez le numéro de système autonome (AS) dans la plage de 1 à 65 535.

    Si vous activez l’ASN de 4 octets dans la configuration globale, vous pouvez entrer un numéro de 4 octets dans la plage de 1-4, 294, 967, 295.

    Options avancées

    Adresse IP

    Entrez l’adresse source IPv4 ou IPv6 sur la machine virtuelle BGPaaS.

    Partagé

    Cochez cette case pour lier tous les VMIs à l’objet commonbgp-router. Si cette case n’est pas sélectionnée, chaque interface de machine virtuelle se lie individuellement à son propre objet bgp-router.

    Origine de la route

    • Choisissez BGP dans la liste si la route provient d’un routeur aBGP.

    • Choisissez EGP dans la liste si la route provient d’une session de Protocoles de passerelle externe (EGP).

    • Choisissez Incomplet dans la liste si l’information d’accessibilité de la couche réseau (NLRI) est apprise par des méthodes telles que la redistribution des routes dans BGP, et non par BGP.

    Remplacement de l’origine de la route

    Cochez cette case pour remplacer l’attribut d’origine de l’origine de la route annoncée en Incomplet.

    Vérification de l’état du service

    Sélectionnez n’importe quel objet de vérification de l’état du service dans la listeen fonction de vos besoins.

    Temps d’attente

    Entrez la durée maximale pendant laquelle une session BGP reste active si aucun Keepalives n’est reçu.

    Nombre de boucles

    Entrez le nombre de fois que le même ASN peut être vu dans une mise à jour de route. La route est ignorée lorsque le nombre de boucles est dépassé.

    ASN local

    Entrez le numéro de système autonome (AS) dans la plage de 1 à 65 535.

    Si vous activez l’ASN de 4 octets dans la configuration globale, vous pouvez entrer un numéro de 4 octets dans la plage de 1-4, 294, 967, 295.

    AS Override

    Cochez cette case pour remplacer le numéro AS du nœud de contrôle par le numéro AS de la machine virtuelle locataire.

    Utilisez l’IPv6 mappée IPv4 Nexthop

    Cochez cette case pour utiliser le format IPv6 mappé IPv4 au saut suivant au lieu de la passerelle par défaut du sous-réseau IPv4.

    Supprimer la publicité d’itinéraire

    Cochez cette case pour empêcher la publicité de la machine virtuelle locataire routesto.

    Zone du nœud de contrôle principal

    Vous pouvez choisir le nœud de contrôle avec lequel le BGPaaSVM peut effectuer une session BGP.

    Zone du nœud de contrôle secondaire

    Vous pouvez choisir le nœud de contrôle avec lequel le BGPaaSVM peut effectuer une session BGP.

  4. Cliquez sur le bouton Créer pour créer l’objet BGP.