Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Mappage d’overlay sous-jacent dans Contrail

Vue d’ensemble : Mappage d’overlay sous-jacent à l’aide de Contrail Analytics

Aujourd’hui, les centres de données cloud sont constitués d’un grand ensemble de serveurs interconnectés qui fournissent la capacité de calcul et de stockage nécessaire à l’exécution d’une variété d’applications. Les serveurs sont connectés à des commutateurs TOR redondants, qui à leur tour sont connectés à des routeurs spine. Le déploiement cloud est généralement partagé entre plusieurs locataires, chacun d’entre eux ayant généralement besoin de plusieurs réseaux isolés. Plusieurs réseaux isolés peuvent être fournis par des réseaux de superposition créés en formant des tunnels (par exemple, gre, ip-in-ip, mac-in-mac) sur la connectivité physique ou sous-jacente.

Au fur et à mesure que les données circulent dans le réseau superposé, Contrail peut fournir des statistiques et visualiser le trafic dans le réseau sous-jacent.

Analyse de superposition de sous-couche disponible dans Contrail

À partir de la version 2.20 de Contrail, vous pouvez afficher une variété d’analyses liées au trafic underlay et overlay dans l’interface utilisateur de Contrail Web. Voici quelques-unes des analyses fournies par Contrail pour les statistiques et la visualisation du trafic overlay, underlay.

  • Affichez la topologie du réseau sous-jacent.

    Vue de l’interface utilisateur du réseau physique sous-jacent avec un mécanisme d’exploration pour afficher les serveurs connectés (calculs Contrail) et les machines virtuelles sur les serveurs.

  • Affichez les détails de n’importe quel élément de la topologie.

    Vous pouvez afficher les détails d’une liaison pRouter, vRouter ou de machine virtuelle entre deux éléments. Vous pouvez également consulter les statistiques de trafic dans une vue graphique correspondant à l’élément sélectionné.

  • Affichez le chemin de sous-couche d’un flux de superposition.

    À partir d’un flux de superposition, vous pouvez obtenir le chemin de sous-couche utilisé pour ce flux et mapper le chemin dans la vue topologique.

Architecture et collecte de données

L’accumulation des données pour mapper un flux d’overlay à son chemin d’underlay s’effectue en plusieurs étapes dans les modules Contrail.

Voici les étapes essentielles :

  1. Le module collecteur SNMP interroge les routeurs physiques.

    Le module collecteur SNMP reçoit les autorisations et les configurations des routeurs physiques du module de configuration Contrail, et interroge tous les routeurs physiques à l’aide du protocole SNMP. Le collecteur charge les données dans les collecteurs d’analyse Contrail. Les informations SNMP sont stockées dans les UVE (entités visibles par l’utilisateur du routeur physique) du pRouter.

  2. Les protocoles IPFIX et sFlow sont utilisés pour collecter les statistiques de flux.

    Le routeur physique est configuré pour envoyer des statistiques de flux au collecteur à l’aide de l’un des protocoles de collecte : IPFIX (Internet Protocol Flow Information Export) ou sFlow (une norme industrielle pour le flux échantillonné d’exportation de paquets au niveau de la couche 2).

  3. Le module de topologie lit les informations SNMP.

    Le module de topologie Contrail lit les informations SNMP des UVE pRouter à partir de l’API d’analyse, calcule la liste des voisins et écrit les informations de voisinage dans les UVE pRouter. Cette liste de voisinage est utilisée par l’interface utilisateur Web de Contrail pour afficher la topologie physique.

  4. L’interface utilisateur de Contrail lit et affiche la topologie et les statistiques.

    Le module d’interface utilisateur de Contrail lit les informations de topologie issues des analyses de Contrail et affiche la topologie physique. Il utilise également les informations stockées dans les analyses pour afficher des graphiques à des fins de statistiques sur les liaisons et pour afficher la carte des flux de superposition sur le réseau sous-jacent.

Nouveaux processus/services pour le mappage d’overlay sous-jacent

Le contrail-snmp-collector et le contrail-topology sont de nouveaux démons qui sont tous deux ajoutés au contrail-analytics nœud. Le contrail-analytics package contient ces nouvelles fonctionnalités et leurs fichiers associés. Le contrail-status affiche les nouveaux services.

Exemple : contrail-status

Voici un exemple d’utilisation contrail-status pour afficher l’état du nouveau processus et service pour le mappage de superposition sous-jacente.

Exemple : Commande de service

La service commande peut être utilisée pour démarrer, arrêter et redémarrer les nouveaux services. Reportez-vous à l’exemple suivant.

Configuration d’interfaces externes pour le mappage d’overlay sous-jacent

Cette section décrit les configurations d’interface externe nécessaires à la réussite du mappage d’overlay underlay pour Contrail Analytics.

Topologie physique

La topologie physique typique comprend :

  • Serveurs connectés aux commutateurs ToR.

  • Commutateurs ToR connectés à des commutateurs centraux.

  • Commutateurs centraux connectés aux commutateurs centraux.

Voici un exemple de la façon dont la topologie est représentée dans l’analyse de l’interface utilisateur Web Contrail.

Figure 1 : topologie Analytics Topology analytique

SNMP Configuration

Configurez SNMP sur les périphériques physiques afin que le puisse contrail-snmp-collector lire les données SNMP.

Voici un exemple de configuration SNMP à partir d’un équipement Juniper Networks.

set snmp community public authorization read-only

Configuration IPFIX et sFlow

Les échantillons de flux sont envoyés à par contrail-collector les appareils physiques. Étant donné que le contrail-collector prend en charge les protocoles sFlow et IPFIX pour la réception d’échantillons de flux, les périphériques physiques, tels que les périphériques MX Series ou les commutateurs ToR, doivent être configurés pour envoyer des échantillons à l’aide de l’un de ces protocoles.

Exemple : configuration sFlow

Voici un exemple de configuration sFlow. Dans l’exemple, la variable <source ip>IP fait référence au bouclage ou à l’adresse IP accessible de l’équipement qui agit comme source de flux, et l’autre variable <collector_IP_data> IP est l’adresse de l’équipement collecteur.

Exemple : Configuration IPFIX

Voici un exemple de configuration IPFIX d’un équipement Juniper Networks. La variable <ip_sflow collector> d’adresse IP représente le collecteur sflow (nœud d’analyse contrôle-collecteur) et <source ip> représente l’interface source (sortante) sur le routeur/commutateur utilisé pour envoyer les données de flux au collecteur. Il peut également s’agir de l’adresse lo0, si elle est accessible à partir du cluster Contrail.

Envoi des informations pRouter au collecteur SNMP dans Contrail

Les informations sur les périphériques physiques doivent être envoyées au collecteur SNMP avant que les informations d’analyse complètes puissent être lues et affichées. En règle générale, les informations du pRouter sont extraites du contrail-config fichier.

Collecteur SNMP obtenant des informations sur le pRouter à partir du fichier contrail-config

Les routeurs physiques sont ajoutés à l’à contrail-config l’aide de l’interface utilisateur de Contrail ou à l’aide d’API directe, au moyen de scripts de provisionnement ou autres. Une fois la configuration dans le contrail-config, le contrail-snmp-collector récupère les informations du routeur physique à partir de contrail-config. Le collecteur SNMP utilise cette liste et les autres paramètres de configuration pour effectuer des requêtes SNMP et remplir les UVE pRouter.

Figure 2 : ajout d’une fenêtre Add Physical Router Window de routeur physique

UVE pRouter

Les UVE pRouter sont accessibles à partir des API REST de votre système à partir de , à l’aide contrail-analytics-apid’une URL de la forme :

http://<host ip>:8081/analytics/uves/prouters

Voici un exemple de sortie d’une API REST pRouter :

Figure 3 : Exemple de sortie d’une API Sample Output From a pRouter REST API REST pRouter

Les détails d’un pRouter UVE peuvent être obtenus à partir de votre système, à l’aide d’une URL de la forme suivante :

http://<host ip>:8081/analytics/uves/prouter/a7-ex3?flat

Voici un exemple de sortie d’un pRouter UVE.

Figure 4 : Exemple de sortie d’un pRouter UVE Sample Output From a pRouter UVE

Interface utilisateur Contrail pour l’analyse de la superposition sous-jacente

La vue topologique et les fonctionnalités associées sont accessibles à partir de l’interface utilisateur Web de Contrail, Monitor > Physical Topology.

Activation de la topologie physique sur l’interface utilisateur Web

Pour activer la section Topologie physique dans l’interface utilisateur Web de Contrail :

  1. Ajoutez les lignes suivantes au /etc/contrail/config.global.js fichier de tous les contrail-webui noeuds :
  2. Redémarrez le superviseur de l’interface utilisateur web.

    service supervisor-webui restart

    La section Topologie physique est désormais disponible sur l’interface utilisateur Web de Contrail.

Affichage de la topologie au niveau de la machine virtuelle

Dans l’interface utilisateur de Contrail, il est possible d’explorer la topologie affichée jusqu’au niveau de la machine virtuelle. Le diagramme suivant montre les machines virtuelles instanciées sur le vRouter a7s36 et la topologie physique complète associée à chacune d’entre elles.

Figure 5 : Topologie physique associée à un vRouter Physical Topology Related to a vRouter

Flux de traces

Cliquez sur l’onglet Flux de suivi pour afficher la liste des flux actifs. Pour afficher le chemin d’accès d’un flux, cliquez sur un flux dans la liste des flux actifs, puis cliquez sur le bouton Suivre le flux . Le chemin emprunté dans le calque sous-jacent par le flux sélectionné s’affiche. Voici un exemple.

Figure 7 : Liste des flux List of Active Flows actifs

Limites de la fonction Trace Flow

Étant donné que la fonctionnalité Trace Flow utilise ip traceroute pour déterminer le chemin entre les deux vRouters impliqués dans le flux, elle présente les mêmes limitations que ip traceroute, notamment le fait que les routeurs de couche 2 du chemin ne sont pas répertoriés et n’apparaissent donc pas dans la topologie.

Flux de recherche et flux cartographiques

Cliquez sur l’onglet Flux de recherche pour ouvrir une boîte de dialogue de recherche, puis cliquez sur le bouton Rechercher pour répertorier les flux qui correspondent aux critères de recherche. Vous pouvez sélectionner un flux dans la liste et cliquer sur Mapper le flux pour afficher le chemin de sous-couche emprunté par le flux sélectionné dans la topologie. Voici un exemple.

Figure 8 : chemin d’accès de la Underlay Path couche inférieure

Schémas de carte de flux de superposition vers sous-couche

Le schéma permettant d’interroger les informations de mappage underlay pour un flux de superposition est obtenu à partir d’une API REST, accessible sur votre système à l’aide d’une URL de la forme suivante :

http://<host ip>:8081/analytics/table/OverlayToUnderlayFlowMap/schema

Exemple : schéma de carte de flux de superposition vers sous-couche

Le schéma pour les données sous-jacentes sur les pRouters est défini dans l’installation de Contrail à l’adresse suivante :

http://<host ip>:8081/analytics/table/StatTable.UFlowData.flow/schema

Exemple : schéma de données de flux pour underlay

Exemple : requête classique pour la carte de flux

Voici une requête typique. En interne, le analytics-api effectue une requête dans , FlowRecordTablepuis dans , StatTable.UFlowData.flowpour renvoyer la liste des paires qui donnent le chemin de sous-couche emprunté pour le flux de (prouter, pifindex) superposition donné.

Opérations du module pour le mappage de superposition sous-jacente

Fonctionnement du collecteur SNMP

Le collecteur SNMP Contrail utilise une bibliothèque Net-SNMP pour communiquer avec un routeur physique ou n’importe quel agent SNMP. Lors de la réception des paquets SNMP, les données sont traduites dans le dictionnaire Python et les objets UVE correspondants sont créés. Les objets UVE sont ensuite postés dans le collecteur SNMP.

Le module SNMP se met en veille pendant une période configurable, puis duplique un processus de collecteur et attend que le processus se termine. Le processus de collecte passe par une liste de périphériques à interroger. Pour chaque appareil, il duplique une tâche greenlet (coroutine Python), accumule les données SNMP, écrit le résumé dans un fichier JSON et se ferme. Le processus parent lit ensuite le fichier JSON, crée des UVE, envoie les UVE au collecteur, puis se met à nouveau en veille.

L’UVE pRouter envoyé par le collecteur SNMP ne transporte que les informations MIB brutes.

Exemple : Entrée pRouter transportée dans pRouter UVE

La définition ci-dessous montre le pRouterEntry porté dans le pRouterUVEfichier . De plus, un exemple LldpTable de définition est présenté.

Les éléments suivants permettent de créer une table virtuelle telle que définie par :

Fonctionnement du module de topologie

Le module de topologie lit les UVE postés par le collecteur SNMP et calcule la table voisine, en remplissant la table avec le nom du système distant, les noms des interfaces locales et distantes, le type distant (pRouter ou vRouter) et les ifindex locaux et distants. Le module de topologie se met en veille pendant un certain temps, lit les UVE, puis calcule la table voisine et poste les UVE sur le collecteur.

L’UVE pRouter envoyé par le module de topologie contient la liste des voisins, de sorte que les clients peuvent assembler toutes les listes de voisins pRouter pour calculer la topologie complète.

La définition de l’UVE pRouter correspondante est la suivante.

Fonctionnement du collecteur IPFIX et sFlow

Un collecteur IPFIX et sFlow a été implémenté dans le collecteur Contrail. Le collecteur reçoit les échantillons IPFIX et sFlow et les stocke en tant qu’échantillons statistiques dans la base de données d’analyse.

Exemple : données du collecteur IPFIX sFlow

La définition suivante montre les données stockées pour les échantillons statistiques et les index qui peuvent être utilisés pour effectuer des requêtes.

Dépannage du mappage de superposition de sous-couche

Cette section fournit une variété de liens où vous pouvez rechercher les erreurs qui peuvent se produire avec le mappage de superposition sous-jacente.

Journaux système

Se connecte et contrail-snmp-collector contrail-topology se trouve aux emplacements suivants sur un système Contrail installé :

/var/log/contrail/contrail-snmp-collector-stdout.log

/var/log/contrail/contrail-topology.log

Utilitaire Introspect

Utilisez les URL des formulaires suivants sur votre système Contrail pour accéder aux utilitaires introspect pour les données SNMP et pour les données de topologie.

  • Introspection des données SNMP

    http://<host ip>:5920/Snh_SandeshUVECacheReq?x=PRouterEntry

  • Introspection des données topologiques

    http://<host ip>:5921/Snh_SandeshUVECacheReq?x=PRouterLinkEntry

Script pour ajouter des objets pRouter

Le mécanisme habituel pour ajouter des objets pRouter à est via l’interface contrail-config utilisateur Contrail. Mais vous avez également la possibilité d’ajouter ces objets à l’aide de la commande Contrail vnc-api. Pour ajouter un pRouter, enregistrez le fichier avec le nom cfg-snmp.py, puis exécutez la commande comme indiqué :

python cfg-snmp.py

Exemple : Du contenu pour cfg-snmp.py