La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento viene descritto il modulo ELAM (Embedded Logic Analyzer Module), i relativi inconvenienti e come utilizzarlo al meglio.
Con la maggiore complessità dei dispositivi e dei protocolli di rete, può essere estremamente difficile individuare l'origine di un problema di rete. Spesso è necessario determinare se un frame viene ricevuto e inoltrato correttamente su un determinato dispositivo. Sono disponibili diversi strumenti di acquisizione, debug e trucchi per rispondere a questa domanda. Tuttavia, non tutti sono fattibili o disponibili per l'esecuzione su una rete di produzione.
ELAM è uno strumento di progettazione che consente di esaminare gli ASIC di Cisco e comprendere come viene inoltrato un pacchetto. È integrato nella pipeline di inoltro e può acquisire un pacchetto in tempo reale senza interruzioni delle prestazioni o delle risorse del control plane. Aiuta a rispondere a domande come:
ELAM è estremamente potente, granulare e non intrusivo. È un utile strumento di risoluzione dei problemi per i tecnici dei Cisco Technical Assistance Center (TAC) che lavorano su piattaforme di switching hardware.
ELAM è stato progettato come strumento diagnostico per uso interno. La sintassi CLI utilizza nomi di codice interni per gli ASIC Cisco, quindi l'interpretazione dei dati ELAM richiede un'architettura specifica dell'hardware e conoscenze di inoltro. Molti di questi dettagli non possono essere spiegati perché espongono le funzionalità proprietarie Cisco interne che rendono i dispositivi Cisco i migliori della categoria.
Per questi motivi, ELAM non è una funzione supportata dal cliente ed è rimasta uno strumento diagnostico per uso interno. Non esistono guide alla configurazione esterne e la sintassi e l'operazione potrebbero cambiare da una versione all'altra senza alcun preavviso.
Alla luce di queste sfide e del disclaimer, ecco le ragioni per cui ELAM è descritto:
ELAM può essere eseguito senza una conoscenza completa dell'architettura di ciascuna piattaforma. In questa sezione vengono illustrati i concetti di base necessari per eseguire un'ELAM sulle piattaforme degli switch Cisco Catalyst serie 6500 e 7600 (denominate semplicemente 6500 e 7600, rispettivamente) insieme alla piattaforma degli switch Nexus serie 7000.
Come accennato in precedenza, ELAM dipende dall'hardware sottostante; pertanto, la sintassi CLI dipende dall'hardware in uso. Tuttavia, ogni piattaforma segue un flusso di lavoro simile, come mostrato in questa immagine:
Nota: Per informazioni su come questo flusso di lavoro viene applicato a piattaforme diverse, consultare la sezione Esempi ELAM.
Questi quattro passaggi, descritti più dettagliatamente più avanti in questa sezione, descrivono il flusso di lavoro:
Il primo passaggio da completare per eseguire un ELAM è identificare il FE corretto. Una scheda di linea 6500 con inoltro classico o centralizzato (CFC) utilizza l'inoltro centralizzato, in cui il supervisore attivo prende la decisione di inoltro. Per i pacchetti che entrano su schede di linea classiche o CFC, è necessario eseguire l'ELAM sul supervisore attivo.
Con le schede di linea abilitate per DFC (Distributed Forwarding), la decisione di inoltro viene presa localmente da un FE sulla scheda di linea senza il supervisore. Per i pacchetti che entrano nelle schede di linea DFC, è necessario eseguire l'ELAM sulla scheda stessa.
Per la piattaforma dello switch Nexus serie 7000, tutte le schede di linea sono completamente distribuite. Inoltre, la maggior parte delle linecard dispone di più FE. Quando si configura la porta ELAM, è necessario conoscere la porta su cui viene ricevuto il pacchetto e determinare la porta FE mappata a tale porta.
Per ulteriori informazioni sull'hardware e sull'architettura di inoltro, fare riferimento ai seguenti articoli di Cisco Live 365:
DBUS contiene informazioni utilizzate dalla FE per prendere una decisione di inoltro. Contiene diversi campi interni specifici della piattaforma, insieme alle informazioni di intestazione per un frame. Visualizzare il DBUS per stabilire dove ricevere il pacchetto e le informazioni L2-L4 del pacchetto.
L'RBUS contiene la decisione di inoltro presa dalla FE. Visualizzare RBUS per determinare se il frame è stato alterato e dove viene inviato.
L'LTL è un indice utilizzato per rappresentare una porta o un gruppo di porte. L'indice LTL di origine e l'indice LTL di destinazione mostrano dove il frame viene ricevuto e dove viene inviato.
Nota: Piattaforme e supervisori diversi utilizzano comandi diversi per decodificare i valori LTL.
I valori LTL vengono visualizzati come cinque o meno numeri esadecimali (ad esempio, 0xa2c). Il bit dell'inondazione è il 16° bit del risultato LTL. Spesso, RBUS visualizza un campo con l'indice LTL di destinazione e ha un campo separato per il bit di flood. È importante unire questi risultati per la corretta LTL. Ad esempio:
RBUS:
FLOOD ........................... [1] = 1
DEST_INDEX ...................... [19] = 0x48
In questo esempio, l'indice LTL di destinazione è 0x48. Poiché il bit di flooding è 1, è necessario impostare il 16esimo bit del LTL su 1:
0x00048 = 0000 0000 0000 0100 1000
|
+---- Flood bit, set to 1 = 0x08048
Dopo aver calcolato il bit di flooding, l'indice di destinazione è diventato 0x8048.
Lo scopo di questi esempi è illustrare come viene utilizzato ELAM per convalidare i flussi unicast IPv4 o IPV6 di base. Come descritto nella sezione Sfide ELAM di questo documento, non è pratico spiegare tutti i campi o i tipi di pacchetto interni, come il ricircolo per il multicast, i tunnel e i MPLS.
Seguire questi collegamenti per esempi di utilizzo di ELAM con dispositivi diversi:
Come riferimento, il nome ASIC interno assegnato a ELAM per ciascun tipo di modulo è elencato nella seguente tabella:
Piattaforma | Tipo modulo | Nome ASIC interno |
---|---|---|
Catalyst 6500/ Cisco 7600 | Sup720 (PFC3, DFC3) | Superman |
Catalyst 6500 | Sup2T (PFC4, DFC4) | Eureka |
Nexus 7000 | Serie M (M1 e M2) | Eureka |
Nexus 7000 | Modulo M3 | F4 |
Nexus 7000 | F1 | Orione |
Nexus 7000 | F2 | Clipper |
Nexus 7000 | F3 | Flanker |
Nexus 6000 | N/D | Bigsur |
L'utilizzo di ELAM è più semplice da utilizzare per il cliente. Con Cisco IOS® versione 12.2(50)SY e successive, Cisco ha aggiunto il comando show platform datapath per gli switch serie 6500 con Supervisor Engine 2T (Sup2T). Questo comando utilizza ELAM per acquisire e visualizzare il risultato dell'inoltro di un pacchetto specifico.
Per le piattaforme dello switch Nexus serie 7000, in Cisco IOS versione 6.2(2) è stato aggiunto uno script facile da usare, elame, al fine di sfruttare l'ELAM:
N7KA# source sys/elame
elam helper, version 1.015
Usage:
elame [<src>] <dest> [vlan <vlan#>] [vrf <vrf_name>] [int <interface> | vdc] [trace]
Nell'output:
Notare che lo script elame non è supportato su moduli F3 e altre schede di linea N77xx in questo punto. Sono stati archiviati alcuni bug per migliorare lo script di Elame, che è ancora sotto gli occhi della business unit.
Nota: Elam è uno strumento interno e deve essere utilizzato solo sotto la supervisione di TAC/BU.