Contenu

Introduction

Informations générales

En Quoi Ces Outils Peuvent-Ils Vous Aider ?

SPAN et ERSPAN

ELAM

Aperçu

ASIC

Tableau ASIC

sélection entrante du déclencheur ELAM

Déclencheur ELAM désélection

Conditions d'ensemble ELAM

Affichage du rapport ELAM

Exemple ELAM complet

application ELAM Assistant

ElamAssistant

ElamAssistant - Détails

fTriage

Exemples

Tcpdump

Compteurs atomiques à la demande

Introduction

Ce document décrit les outils nativement inclus dans l'ACI qui peuvent être utilisés pour déboguer les problèmes de transfert.

Informations générales

Le matériel de ce document a été extrait de la Dépannage de l'infrastructure axée sur les applications Cisco, deuxième édition , en particulier le Transfert intra-fabric - Outils chapitre.

En outre, des explications plus détaillées sur ELAM et Ftriage sont disponibles dans la bibliothèque CiscoLive On-Demand de la session BRKDCN-3900b.

En Quoi Ces Outils Peuvent-Ils Vous Aider ?

Afin de dépanner un problème de transfert du point de vue de l'ACI, comprenez :

1. Quel commutateur reçoit un flux ?

2. Quelle décision de transmission ce commutateur prend-il ?

3. Le commutateur l'abandonne-t-il ?

L'ACI comprend plusieurs outils qui permettent à l'utilisateur d'obtenir des informations détaillées sur ce qui se passe dans un flux spécifique. Les sections suivantes présentent ces outils en détail. Seule une introduction de haut niveau est fournie ici.

SPAN et ERSPAN

SPAN et ERSPAN sont des outils qui permettent de répliquer tout ou partie du trafic reçu à un emplacement spécifique vers un autre emplacement. Le périphérique final auquel le trafic répliqué est envoyé doit exécuter un type d’application analyseur/analyseur de paquets. La fonctionnalité SPAN traditionnelle consiste à répliquer le trafic reçu sur un port et transmis via un autre port. L'ACI prend en charge cette fonctionnalité en plus d'ERSPAN.

ERSPAN suit le même concept, à l'exception de la réplication du trafic sur un port local ; le trafic répliqué est encapsulé dans GRE et envoyé à une destination distante. Dans l'ACI, cette destination ERSPAN ne doit être apprise qu'en tant que point d'extrémité de couche 3 et il peut s'agir de n'importe quel EPG dans n'importe quel VRF.

Il est recommandé de toujours connecter les destinations SPAN au fabric afin de réduire le temps de préparation lors du dépannage et de permettre une configuration et une capture de session ERSPAN rapides.

ELAM

Aperçu

Le module ELAM (Embedded Logic Analyzer Module) est un outil qui permet à un utilisateur de définir des conditions dans le matériel et de capturer le premier paquet ou la première trame correspondant aux conditions définies. Une capture réussie entraînera l'affichage de l'état ELAM comme « déclenché ». Une fois déclenché, l'ELAM est désactivé et un vidage peut être collecté pour analyser le grand nombre de décisions de transfert que le circuit ASIC du commutateur prend avec ce paquet/cette trame. ELAM est mis en oeuvre au niveau de l'ASIC et n'a pas d'impact sur le CPU ou d'autres ressources sur le commutateur.

Les exemples de transmission dans ce livre utiliseront ELAM comme moyen de vérifier ce qui se passe avec le flux. Les exemples montrent la version de l'interface de ligne de commande leaf et l'application ELAM Assistant.

Ce guide ne couvre pas l'utilisation d'ELAM sur les commutateurs Leaf de première génération (commutateurs sans suffixe EX, FX ou FX2).

Avant d'utiliser l'outil, il est important de comprendre la structure de la syntaxe des commandes.

Exemple sur la CLI leaf :

vsh_lc                                       [This command enters the line card shell where ELAMs are run]

debug platform internal <asic> elam asic 0   [refer to the ASICs table]

Définir les conditions à déclencher

trigger reset                                           [ensures no existing triggers are running]

trigger init in-select <number> out-select <number>     [determines what information about a packet is displayed and which conditions can be set]

set outer/inner                                         [sets conditions]

start                                                   [starts the trigger]

status                                                  [checks if a packet is captured]

Générer le vidage contenant l'analyse des paquets

ereport             [display detailed forwarding decision for the packet]

Continuez à saisir la commande « status » pour afficher l'état du déclencheur. Une fois qu'un paquet correspondant aux conditions définies est détecté sur l'ASIC, la sortie de « status » affiche « disabled ». Une fois l'ELAM déclenché, les détails des décisions de transfert du commutateur peuvent être affichés avec « ereport ». Avant la version 4.2 de l'ACI, « report » doit être utilisé.

ASIC

Dans la syntaxe ELAM, notez que l'ASIC doit être spécifié. Comme l'ASIC dépend du modèle de commutateur, reportez-vous à ce tableau pour déterminer l'ASIC à spécifier :

Tableau ASIC

Gamme de cartes de commutation/ligne

Asic pour Elam

Commutateurs/LC -EX

TAH

-Commutateurs/LC FX(P)

ROC

-Commutateurs/LC FX2

ROC

Commutateurs C (9364C, 9332C)

ROC

Commutateurs -GX

APPLICATION

Commutateurs -GX2

CHO

-Commutateurs FX3

ROC

sélection entrante du déclencheur ELAM

L'autre composant de l'ELAM qui doit être compris lors de l'exécution à partir de l'interface de ligne de commande est le « in-select ». Le « in-select » définit les en-têtes que le paquet/la trame est censé avoir et sur lesquels il doit correspondre.

Par exemple, un paquet provenant d’un port de liaison descendante qui n’est pas encapsulé dans un réseau VXLAN aurait uniquement des en-têtes de couche 2, 3 et 4 externes.

Un paquet provenant d'un port de panneau avant (liaison descendante) encapsulé dans un VXLAN (tel que Cisco ACI Virtual Edge en mode VXLAN) ou provenant d'un spine en amont serait encapsulé dans un VXLAN. Cela signifie qu'il pourrait avoir des en-têtes de couche 2 externe et interne, de couche 3 et de couche 4.

Toutes les options de déclenchement sont les suivantes :

leaf1# vsh_lc

module-1# debug platform internal tah elam asic 0

module-1(DBG-elam)# trigger reset

module-1(DBG-elam)# trigger init in-select ?

10  Outerl4-innerl4-ieth

13  Outer(l2|l3|l4)-inner(l2|l3|l4)-noieth

14  Outer(l2(vntag)|l3|l4)-inner(l2|l3|l4)-ieth

15  Outer(l2|l3|l4)-inner(l2|l3|l4)-ieth

6   Outerl2-outerl3-outerl4

7   Innerl2-innerl3-innerl4

8   Outerl2-innerl2-ieth

9   Outerl3-innerl3

Si 'in-select 6' est sélectionné, la seule option est de définir des conditions et d'afficher les en-têtes des couches externes 2, 3 ou 4. Si 'in-select 14' est sélectionné, la seule option est de définir des conditions pour les en-têtes de couche 2, 3 et 4 externes et de voir les détails correspondants.

Meilleures pratiques :

Pour capturer un paquet provenant de l'encapsulation VLAN sur un port de liaison descendante, utilisez « in-select 6 »

Pour capturer un paquet avec encapsulation VXLAN (à partir d'un spine ou d'un vleaf avec encapsulation VXLAN), utilisez « in-select 14 »

Déclencheur ELAM désélection

Le « désélectionner » permet de contrôler les résultats de recherche affichés dans le rapport ELAM. Pour des raisons pratiques, 'out-select 0' peut être utilisé car il contient la plupart des informations, y compris le 'vecteur d'abandon' qui indiquera si le résultat de la recherche est d'abandonner le paquet/la trame.

Notez que lorsque 'report' au lieu de 'ereport' ou 'report detail' est utilisé pour obtenir des résultats ELAM, 'drop vecteur' n'apparaît que dans 'out-select 1'. Cependant, il est toujours possible d'exécuter 'ereport' ou 'report detail' avec 'out-select 0'.

Conditions d'ensemble ELAM

ELAM prend en charge un grand nombre de conditions de couche 2, 3 et 4 à rechercher dans un paquet. Spécification de « interne » et « Router » détermine si la condition peut être vérifiée dans l'en-tête interne (paquet encapsulé VXLAN) ou l'en-tête externe.

Exemple ARP :

set outer arp source-ip-address 10.0.0.1 target-ip-address 10.0.0.2

Exemple d'adresse MAC :

set outer l2 src_mac aaaa.bbbb.cccc dst_mac cccc.bbbb.aaaa

Adresse IP dans l'en-tête interne exemple :

set inner ipv4 src_ip 10.0.0.1 dst_ip 10.0.0.2

Affichage du rapport ELAM

Vérifiez que l'ELAM s'est déclenché avec l'état :

module-1(DBG-elam-insel6)# status

ELAM STATUS

===========

Asic 0 Slice 0 Status Armed

Asic 0 Slice 1 Status Triggered

« ereport » peut être utilisé pour afficher le résultat de l'ELAM dans un format facile à comprendre. Notez que le rapport ELAM est enregistré dans le dossier '/var/log/dme/log/' du commutateur. Le dossier contient deux fichiers pour l'ELAM.

- elam_<horodatage>.txt

- jolie_elam_<horodatage>.txt

Exemple ELAM complet

Cet exemple capturerait un trafic encapsulé non-VXLAN (correspondant à un en-tête externe) provenant d'un port de liaison descendante sur un commutateur -EX :

module-1# debug platform internal tah elam asic 0

module-1(DBG-elam)# trigger reset

module-1(DBG-elam)# trigger init in-select 6 out-select 0

module-1(DBG-elam-insel6)# set outer ipv4 src_ip 10.0.0.1 dst_ip 10.0.0.2

module-1(DBG-elam-insel6)# start

module-1(DBG-elam-insel6)# status

module-1(DBG-elam-insel6)# ereport

application ELAM Assistant

Les exemples de dépannage présentés dans ce manuel montrent également l'utilisation de l'application ELAM Assistant qui peut être téléchargée via Cisco DC App Center (https://dcappcenter.cisco.com). Cet outil automatise le déploiement et l'interprétation des ELAM via l'interface utilisateur graphique du contrôleur APIC.

Cet exemple montre le déploiement d'un ELAM correspondant à une adresse IP source et de destination spécifique sur le port de liaison descendante du noeud 101

ElamAssistant

ElamAssistant - Détails

L'assistant ELAM permet également d'utiliser facilement des paramètres de correspondance plus complexes, tels que l'interface source ou les valeurs VXLAN.

fTriage

fTriage est un outil basé sur l'interface de ligne de commande APIC qui est conçu pour fournir une automatisation de bout en bout de la configuration et de l'interprétation ELAM. L'idée de base de l'outil est qu'un utilisateur peut définir un flux spécifique ainsi que le noeud terminal où le flux doit commencer. L'outil exécutera ensuite des ELAM sur chaque noeud, un par un, pour examiner le flux de transfert. Elle est particulièrement utile dans les grandes topologies où le chemin qu’emprunte un paquet n’est pas clair.

fTriage génère un fichier journal volumineux contenant le résultat de chaque commande exécutée. Le nom de ce fichier est visible sur les premières lignes de la sortie fTriage.

La réalisation du triage peut prendre jusqu'à 15 minutes.

Exemples

Mappez le flux de communication routée entre 10.0.1.1 et 10.0.2.1 à partir du leaf 104 :

ftriage route -ii LEAF:104 -dip 10.0.2.1 -sip 10.0.1.1

Faites correspondre un flux de couche 2 à partir du leaf 104 :

ftriage bridge -ii LEAF:104 -dmac 02:02:02:02:02:02

L'aide fTriage complète peut être visualisée en exécutant 'ftriage —help' sur l'APIC.

Tcpdump

Tcpdump peut être exploité sur les commutateurs ACI pour capturer le trafic vers et depuis le plan de contrôle. Notez que seul le trafic du plan de contrôle envoyé au CPU du commutateur peut être observé dans une capture tcpdump. Exemples : protocoles de routage, LLDP/CDP, LACP, ARP, etc. Pour capturer le trafic du plan de données (et du plan de contrôle), utilisez SPAN et/ou ELAM.

Pour effectuer la capture sur le processeur, spécifiez l'interface « kpm_inb ». Les options et filtres tcpdump les plus traditionnels sont disponibles.

Exemple de capture d'ICMP destiné à une interface SVI sur le commutateur Leaf :

leaf205# tcpdump -ni kpm_inb icmp

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on kpm_inb, link-type EN10MB (Ethernet), capture size 65535 bytes

20:24:12.921981 IP 10.0.2.100 > 10.0.2.1: ICMP echo request, id 62762, seq 4096, length 64

20:24:12.922059 IP 10.0.2.1 > 10.0.2.100: ICMP echo reply, id 62762, seq 4096, length 64

20:24:13.922064 IP 10.0.2.100 > 10.0.2.1: ICMP echo request, id 62762, seq 4352, length 64

20:24:13.922157 IP 10.0.2.1 > 10.0.2.100: ICMP echo reply, id 62762, seq 4352, length 64

20:24:14.922231 IP 10.0.2.100 > 10.0.2.1: ICMP echo request, id 62762, seq 4608, length 64

20:24:14.922303 IP 10.0.2.1 > 10.0.2.100: ICMP echo reply, id 62762, seq 4608, length 64

En outre, l'option -w permet à tcpdump d'écrire la capture de paquets dans un fichier PCAP afin de pouvoir l'ouvrir dans des outils tels que Wireshark.

Pour utiliser tcpdump sur l'interface eth0, qui est l'interface hors bande sur le commutateur. Cela est utile pour dépanner la connectivité de tout trafic passant par le port physique hors bande du commutateur. Il s'agit principalement du trafic basé sur le plan de contrôle, tel que SSH, SNMP, etc.

Compteurs atomiques à la demande

Les compteurs atomiques à la demande sont destinés à compter les paquets dans un flux spécifique lorsqu'ils quittent une liaison ascendante leaf et sont reçus sur un autre port de structure leaf. Ils permettent une certaine granularité pour déterminer si les paquets ont été manqués ou reçus en excès.