Inhoud

Inleiding

Achtergrondinformatie

Wat kunnen deze tools helpen?

SPAN en ERSPAN

ELAM

Overzicht

ASIC's

ASIC-tabel

ELAM-trigger in-select

ELAM-trigger - uitselectie

ELAM-omstandigheden

Het ELAM-verslag bekijken

Volledig ELAM-voorbeeld

ELAM Assistant-toepassing

Elam Assistant

ElamAssistant - Details

fTriage

Voorbeelden

TCPdump

Atoomtellers op aanvraag

Inleiding

Dit document beschrijft tools die standaard in ACI zijn opgenomen en die kunnen worden gebruikt om problemen bij het doorsturen te verhelpen.

Achtergrondinformatie

Het materiaal van dit document is Problemen oplossen met Cisco Application Centric Infrastructure, tweede editie het boek, met name het Intra-Fabric doorsturen - Tools hoofdstuk.

Bovendien vindt u diepere uitleg over ELAM en Ftriage in de Cisco Live On-Demand-bibliotheek in sessie BRKDCN-3900b.

Wat kunnen deze tools helpen?

Om een het door:sturen probleem vanuit een ACI perspectief problemen op te lossen, begrijp:

1. Welke switch ontvangt een stroom?

2. Wat is het uitzendbesluit van die switch?

3. Laat de switch het vallen?

ACI omvat verschillende tools die de gebruiker in staat stellen om diepgaande inzichten te verkrijgen in wat er gebeurt met een specifieke flow. In de volgende secties worden deze tools in detail gedemonstreerd, dus hier wordt alleen een introductie op hoog niveau gegeven.

SPAN en ERSPAN

SPAN en ERSPAN zijn beide tools waarmee al het verkeer dat op een specifieke locatie wordt ontvangen, kan worden gerepliceerd naar een andere locatie. Op het eindapparaat waarnaar het gerepliceerde verkeer wordt verzonden, wordt naar verwachting een bepaald type pakketsnuiver/analysatortoepassing uitgevoerd. Traditionele SPAN omvat het repliceren van verkeer dat wordt ontvangen op één poort en het doorgeven door een andere poort. ACI ondersteunt dit naast ERSPAN.

ERSPAN volgt hetzelfde concept, behalve het repliceren van het verkeer vanuit een lokale poort; het gerepliceerde verkeer wordt ingekapseld in GRE en naar een externe bestemming verzonden. In ACI, moet deze bestemming ERSPAN slechts als Layer 3 eindpunt worden geleerd en het kan om het even welke EPG in om het even welke VRF zijn.

Het is een goed idee om altijd SPAN-bestemmingen te hebben verbonden met de stof om voorbereidingstijd tijdens probleemoplossing te minimaliseren en snelle ERSPAN-sessieconfiguratie en opname mogelijk te maken.

ELAM

Overzicht

Embedded Logic Analyzer Module (ELAM) is een tool waarmee een gebruiker voorwaarden kan instellen in hardware en het eerste pakket of frame kan opnemen dat overeenkomt met de ingestelde voorwaarden. Een succesvolle opname zorgt ervoor dat de ELAM-status wordt weergegeven als 'geactiveerd'. Als de ELAM eenmaal is geactiveerd, wordt deze uitgeschakeld en kan een dump worden verzameld om het grote aantal doorsturen beslissingen te analyseren die de switch ASIC met dat pakket/frame maakt. ELAM wordt op ASIC-niveau geïmplementeerd en heeft geen invloed op CPU- of andere resources op de switch.

De expeditievoorbeelden in dit boek zullen ELAM gebruiken als een manier om te verifiëren wat er met de stroom gebeurt. Voorbeelden tonen zowel de bladversie van CLI als de ELAM Assistant App.

Deze handleiding gaat niet in op het gebruik van ELAM op eerste generatie bladzijden switches (switches zonder EX, FX, of FX2 achtervoegsel).

Alvorens het hulpmiddel te gebruiken, is het belangrijk om de structuur van de bevelsyntaxis te begrijpen.

Voorbeeld op blad CLI:

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]

Voorwaarden instellen op Trigger

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]

Genereert de Dump die de pakketanalyse bevat

ereport             [display detailed forwarding decision for the packet]

Ga verder naar de opdracht "status" om de status van de trigger te bekijken. Zodra een pakket dat aan de gedefinieerde voorwaarden voldoet op de ASIC is gedetecteerd, wordt de uitvoer van 'status' 'geactiveerd' weergegeven. Zodra de ELAM is geactiveerd, kunnen de details van de besluiten over het doorsturen van switches worden weergegeven met 'verslag'. Vóór ACI versie 4.2 moet 'rapport' worden gebruikt.

ASIC's

Let er binnen de ELAM-syntaxis op dat de ASIC moet worden gespecificeerd. Aangezien de ASIC afhankelijk is van het switch-model, raadpleegt u deze tabel om te bepalen welke ASIC moet worden gespecificeerd:

ASIC-tabel

Switch/lijnkaartfamilie

Asic for Elam

-EX switches/LC’s

TAH

-FX(P) switches/LC’s

ROC

-FX2 switches/LC’s

ROC

C-switches (9364C,9332C)

ROC

-GX switches

APP

-GX2-switches

CHO

-FX3 switches

ROC

ELAM-trigger in-select

De andere component van de ELAM die moet worden begrepen wanneer het lopen van CLI is "in-select". De 'in-select' definieert welke headers het pakket/frame naar verwachting zal hebben en welke overeenkomen met.

Een pakket dat afkomstig is van een downlink-poort die niet is ingekapseld voor VXLAN, heeft bijvoorbeeld alleen kopregels voor Layer 2, Layer 3 en Layer 4.

Een pakket dat afkomstig is van een (downlink) poort op het voorpaneel die is ingekapseld via VXLAN (zoals Cisco ACI Virtual Edge in VXLAN-modus) of dat afkomstig is van een upstream-as zou voorzien zijn van VXLAN-insluiting. Dit betekent dat het potentieel zowel buiten als binnen Layer 2, Layer 3 en Layer 4-headers zou hebben.

Alle trigger-opties zijn als volgt:

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

Als 'in-select 6' is geselecteerd, is de enige optie om voorwaarden en weergavekopregels in te stellen van de buitenste Layer 2, 3 of 4-kopregels. Als 'in-select 14' is geselecteerd, is de enige optie om voorwaarden voor te stellen en de details van de buiten en binnen Layer 2, 3 en 4 kopregels te zien.

Best practices notitie:

Om een pakket op te nemen dat met VLAN-insluiting op een downlink-poort komt, gebruikt u 'in-select 6'

Om een pakket met VXLAN-inkapseling (van een wervelkolom of van een vlekje met VXLAN-inkapseling) op te nemen, gebruikt u 'in-select 14'

ELAM-trigger - uitselectie

De "out-select" maakt het mogelijk om te controleren welke zoekresultaten in het ELAM-rapport worden weergegeven. Voor de meeste praktische doeleinden kan 'out-select 0' worden gebruikt omdat het de meeste informatie bevat, inclusief de 'drop vector' die zal vertellen of het resultaat van de raadpleging is om het pakket / frame te laten vallen.

Merk op dat wanneer 'report' in plaats van 'report' of 'report detail' wordt gebruikt om ELAM resultaten te verkrijgen, 'drop vector' alleen verschijnt in 'out-select 1'. Men kan echter altijd 'verslag' of 'rapportdetail' uitvoeren met 'out-select 0'.

ELAM-omstandigheden

ELAM ondersteunt een grote hoeveelheid Layer 2, 3 en 4 voorwaarden om te zoeken in een pakket. Vermeld 'innerlijk' vs. 'router' bepaalt of de voorwaarde kan worden gecontroleerd in de innerlijke header (VXLAN ingekapseld pakket) of de uitwendige header.

ARP-voorbeeld:

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

MAC-adresvoorbeeld:

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

IP-adres in voorbeeld binnenheader:

set inner ipv4 src_ip 10.0.0.1 dst_ip 10.0.0.2

Het ELAM-verslag bekijken

Controleer of de ELAM is geactiveerd met de status:

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

ELAM STATUS

===========

Asic 0 Slice 0 Status Armed

Asic 0 Slice 1 Status Triggered

'Report' kan worden gebruikt om het resultaat van de ELAM in een gemakkelijk te begrijpen formaat weer te geven. Merk op dat het ELAM-rapport is opgeslagen in de map '/var/log/dme/log/' op de switch. Er zijn twee bestanden voor de ELAM onder de map.

- elam_<tijdstempel>.txt

- nice_elam_<timestamp>.txt

Volledig ELAM-voorbeeld

In dit voorbeeld wordt een niet-VXLAN-ingekapseld verkeer (matching op kop) vastgelegd dat afkomstig is van een downlink-poort op een -EX-switch:

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

ELAM Assistant-toepassing

De voorbeelden voor probleemoplossing in dit boek tonen ook het gebruik van de ELAM Assistant-app die kan worden gedownload via Cisco DC App Center (https://dcappcenter.cisco.com). Deze tool automatiseert de implementatie en interpretatie van ELAM's via de GUI op de APIC.

Dit voorbeeld laat de implementatie zien van een ELAM die overeenkomt met een specifieke IP-bron en -bestemming op knooppunt-101 downlink-poort

Elam Assistant

ElamAssistant - Details

De ELAM Assistant maakt het ook mogelijk om eenvoudiger gebruik te maken van complexere matchingparameters zoals de broninterface of VXLAN-waarden.

fTriage

fTriage is een op APIC CLI gebaseerde tool die is bedoeld om end-to-end automatisering van ELAM-configuratie en -interpretatie te bieden. Het uitgangspunt van het hulpmiddel is dat een gebruiker een specifieke stroom kan bepalen evenals het blad waar de stroom naar verwachting zal beginnen. Het gereedschap voert vervolgens ELAM's uit op elk knooppunt, één voor één, om de doorsturen stroom te onderzoeken. Het is bijzonder nuttig in grote topologieën waar het onduidelijk is welke weg een pakket zal nemen.

fTriage genereert een groot logbestand met de uitvoer van elke uitgevoerde opdracht. De naam van dit bestand is zichtbaar op de eerste regels van de fTriage-uitvoer.

Als u de Triage voltooit, duurt dit maximaal 15 minuten.

Voorbeelden

Leg de stroom voor gerouteerde communicatie tussen 10.0.1.1 en 10.0.2.1 vanaf blad 104 in kaart:

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

Leg een Layer 2-stroom uit vanaf bladzijde 104:

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

Full fTriage help kan worden gezien door 'ftriage —help' te draaien op de APIC.

TCPdump

Tcpdump kan worden ingezet op ACI-switches om verkeer van en naar het besturingsplane op te nemen. Merk op dat alleen verkeer van besturingsplane dat naar de switch-CPU is verzonden, in een tcpdump kan worden waargenomen. Voorbeelden hiervan zijn: Routing-protocollen, LLDP/CDP, LACP, ARP, enzovoort. Maak gebruik van SPAN en/of ELAM om dataplane (en besturingsplane) te registreren.

Om op de CPU te vangen, specificeert u de interface "kpm_inb". De meeste traditionele tcpdump-opties en filters zijn beschikbaar.

Voorbeeld om ICMP op te nemen die bestemd is voor een SVI op de switch:

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

Daarnaast stelt de '-w' optie de cpdump in staat om het pakketvastlegging te schrijven naar een PCAP-bestand zodat het kan worden geopend in tools zoals Wireshark.

Om tcpdump op de eth0-interface te gebruiken, die de out-of-band-interface op de switch is. Dit is handig om problemen op te lossen met de connectiviteit van elk verkeer via de out-of-band fysieke poort van de switch. Dit zou voornamelijk controle vliegtuig-based verkeer zoals SSH, SNMP, etc. zijn.

Atoomtellers op aanvraag

Op aanvraag zijn de atoomtellers bedoeld om pakketten binnen een specifieke stroom te tellen aangezien zij op een bladopstraalverbinding weggaan en op een andere haven van de bladstof ontvangen. Zij staan enige granulariteit toe bij het al dan niet missen van pakketten.