In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
In diesem Dokument werden die Schritte zum Durchführen eines ELAM auf Cisco Nexus 7700 (N7700) M3-Modulen beschrieben, die relevantesten Ergebnisse erläutert und die Interpretation der Ergebnisse beschrieben.
Tipp: Eine Übersicht über ELAM finden Sie im ELAM-Übersichtsdokument.
In diesem Beispiel sendet ein Host im VLAN 2500 (10.0.5.101), Port Eth4/1 eine ICMP-Anfrage (Internet Control Message Protocol) an einen Host im VLAN 55 (10.0.3.101), Port Eth3/5. ELAM wird verwendet, um dieses einzelne Paket von 10.0.5.101 bis 10.0.3.101 zu erfassen. Es ist wichtig, sich zu erinnern, dass ELAM Ihnen die Erfassung eines einzelnen Frames ermöglicht.
Um ein ELAM auf dem N7K auszuführen, müssen Sie zunächst eine Verbindung mit dem entsprechenden Modul herstellen (hierfür ist die Netzwerk-Admin-Berechtigung erforderlich):
N7700# attach module 4 Attaching to module 4 ... module-4#
Es wird erwartet, dass der Switch an Port Eth4/1 eingeht. Wenn Sie die Module im System überprüfen, sehen Sie, dass Modul 4 ein M3-Modul ist. Es ist wichtig zu beachten, dass das N7K vollständig verteilt ist und dass die Module, nicht der Supervisor, die Weiterleitungsentscheidungen für Datenverkehr auf der Datenebene treffen.
N7700# show module Mod Ports Module-Type Model Status --- ----- ----------------------------------- ------------------ ---------- 1 12 100 Gbps Ethernet Module N77-F312CK-26 ok
3 48 1/10 Gbps Ethernet Module N77-M348XP-23L ok 4 24 10/40 Gbps Ethernet Module N77-M324FQ-25L ok 5 0 Supervisor Module-2 N77-SUP2E active * 6 0 Supervisor Module-2 N77-SUP2E ha-standby 7 24 10/40 Gbps Ethernet Module N77-F324FQ-25 ok Mod Sw Hw --- --------------- ------ 1 7.3(0)DX(1) 1.1
3 7.3(0)DX(1) 1.1 4 7.3(0)DX(1) 1.0 5 7.3(0)DX(1) 1.2 6 7.3(0)DX(1) 1.2 7 7.3(0)DX(1) 1.0
Führen Sie bei Modulen der M-Serie das ELAM auf der Layer 2 (L2) Forwarding Engine (FE) mit dem internen Codenamen F4 aus. Beachten Sie, dass der L2 FE Data Bus (DBUS) die ursprünglichen Headerinformationen vor den L2- und L3-Suchläufen enthält, und der Result Bus (RBUS) die Ergebnisse nach L3- und L2-Suchläufen enthält.
N7K M3-Module können mehrere FEs für jedes Modul verwenden. Sie müssen also den F4-ASIC bestimmen, der für die FE an Port Eth4/1 verwendet wird. Geben Sie diesen Befehl ein, um Folgendes zu überprüfen:
module-4# show hardware internal dev-port-map (some output omitted)
-------------------------------------------------------------- CARD_TYPE: 24 port 40G >Front Panel ports:24 -------------------------------------------------------------- Device name Dev role Abbr num_inst: -------------------------------------------------------------- > SLF L3 Driver DEV_LAYER_3_LOOKUP L3LKP 4 > SLF L2FWD driver DEV_LAYER_2_LOOKUP L2LKP 4 +-----------------------------------------------------------------------+ +----------------+++FRONT PANEL PORT TO ASIC INSTANCE MAP+++------------+ +-----------------------------------------------------------------------+ FP port | PHYS | MAC_0 | RWR_0 | L2LKP | L3LKP | QUEUE |SWICHF 1 0 0 0 0 0 0,1 2 0 0 0 0 0 0,1 3 0 0 0 0 0 0,1
In der Ausgabe sehen Sie, dass Port Eth4/1 auf F4 (L2LKP) Instanz 0 liegt. Auf dem N77-M312CQ-26L-Modul gibt es 6 F4-ASICs mit 2 Ports in jeder Portgruppe. Auf dem N77-M324FQ-25L-Modul gibt es 4 F4-ASICs mit 6 Ports in jeder Portgruppe. Das N77-M348XP-23L-Modul verfügt über 2 F4-ASICs mit 12 Ports in jeder Portgruppe.
Hinweis: Wie bei Modulen der F-Serie verwendet die ELAM-Syntax des M3-Moduls 0-basierte Werte. Dies ist bei M1- und M2-Modulen, die einstufige Werte verwenden, nicht der Fall.
module-4# elam asic f4 instance 0 module-4(f4-elam)# layer2
module-4(f4-l2-elam)#
Der F4-ASIC unterstützt ELAM-Trigger für IPv4, IPv6 und andere. Der ELAM-Trigger muss dem Frametyp entsprechen. Wenn der Frame ein IPv4-Frame ist, muss der Trigger auch IPv4 sein. Ein IPv4-Frame wird nicht mit einem anderen Trigger erfasst. Dieselbe Logik gilt für IPv6.
Bei Nexus Operating Systems (NX-OS) können Sie das Fragezeichen verwenden, um den ELAM-Trigger zu trennen:
module-4(f4-l2-elam)# trigger dbus ipv4 ingress if ?
(some output omitted)
destination-index Destination-index
destination-ipv4-address Destination ipv4 address
destination-ipv4-mask Destination ipv4 mask
destination-mac-address Destination mac address
l4-protocol L4 protocol
source-index Source-index
source-ipv4-address Source ipv4 address
source-ipv4-mask Source ipv4 mask
source-mac-address Source mac address
In diesem Beispiel wird der Frame anhand der Quell- und Ziel-IPv4-Adressen erfasst, sodass nur diese Werte angegeben werden.
F4 erfordert separate Trigger für DBUS und RBUS.
Der DBUS-Trigger ist wie folgt:
module-4(f4-l2-elam)# trigger dbus ipv4 ingress if source-ipv4-address
10.0.5.101 destination-ipv4-address 10.0.3.101
Der folgende RBUS-Trigger:
module-4(f4-l2-elam)# trigger rbus ingress result if tr 1
Nachdem der Eingangs-FE ausgewählt und der Trigger konfiguriert wurde, können Sie die Erfassung starten:
module-4(f4-l2-elam)# start
Um den Status des ELAM zu überprüfen, geben Sie den Status-Befehl ein:
module-4(f4-l2-elam)# status
ELAM Slot 4 instance 0: L2 DBUS/LBD Configuration: trigger dbus ipv4 ingress if
source-ipv4-address 10.0.5.101 destination-ipv4-address 10.0.3.101
L2 DBUS/LBD: Configured
ELAM Slot 4 instance 0: L2 RBUS Configuration: trigger rbus ingress result if tr 1
L2 RBUS: Configured
L2 BIS: Unconfigured
L2 BPL: Unconfigured
L2 EGR: Unconfigured
L2 PLI: Unconfigured
L2 PLE: Unconfigured
Sobald der Frame, der zum Trigger passt, von der FE empfangen wird, wird der ELAM-Status als Triggered angezeigt:
module-4(f4-l2-elam)# status
ELAM Slot 4 instance 1: L2 DBUS/LBD Configuration: trigger dbus ipv4 ingress if
source-ipv4-address 10.0.5.101 destination-ipv4-address 10.0.3.101
L2 DBUS/LBD: Triggered
ELAM Slot 4 instance 1: L2 RBUS Configuration: trigger rbus ingress result if tr 1
L2 RBUS: Triggered
L2 BIS: Unconfigured
L2 BPL: Unconfigured
L2 EGR: Unconfigured
L2 PLI: Unconfigured
L2 PLE: Unconfigured 7
Um die ELAM-Ergebnisse anzuzeigen, geben Sie die Befehle show dbus und show rbus ein. Wenn ein hohes Datenverkehrsvolumen mit denselben Triggern übereinstimmt, können DBUS und RBUS bei verschiedenen Frames ausgelöst werden. Daher ist es wichtig, die internen Sequenznummern der DBUS- und RBUS-Daten zu überprüfen, um sicherzustellen, dass sie übereinstimmen:
module-4(f4-l2-elam)# show dbus | i seq
port-id : 0x0 sequence-number : 0x868
module-4(f4-l2-elam)# show rbus | i seq
de-bri-rslt-valid : 0x1 sequence-number : 0x868
Im Folgenden finden Sie den Auszug aus den ELAM-Daten, der für dieses Beispiel am relevantesten ist (einige Ausgabe wird weggelassen):
module-4(f4-l2-elam)# show dbus -------------------------------------------------------------------- LBD IPV4 -------------------------------------------------------------------- ttl : 0xff l3-packet-length : 0x54 destination-address: 10.0.3.101 source-address: 10.0.5.101 -------------------------------------------------------------------- packet-length : 0x66 vlan : 0x9c4 segid-lsb : 0x0 source-index : 0xe05 destination-mac-address : 8c60.4f07.ac65 source-mac-address : 8c60.4fb7.3dc2 port-id : 0x0 sequence-number : 0x868 module-4(f4-l2-elam)# show rbus -------------------------------------------------------------------- L2 RBUS RSLT CAP DATA -------------------------------------------------------------------- de-bri-rslt-valid : 0x1 sequence-number : 0x868 vlan : 0x37 rbh : 0x65 cos : 0x0 destination-index : 0x9ed
Mithilfe der DBUS-Daten können Sie überprüfen, ob der Frame im VLAN 2500 mit einer Quell-MAC-Adresse von 8c60.4fb6.3dc2 und einer Ziel-MAC-Adresse von 8c60.4f07.ac65 empfangen wird. Sie können auch sehen, dass es sich um einen IPv4-Frame handelt, der von 10.0.5.101 stammt und für 10.0.3.101 bestimmt ist.
Tipp: In dieser Ausgabe sind mehrere andere nützliche Felder nicht enthalten, z. B. der Wert für den Type of Service (TOS), IP-Flags, die IP-Länge und die L2-Frame-Länge.
Um zu überprüfen, an welchem Port der Frame empfangen wird, geben Sie den Befehl SRC_INDEX (die Quelle Local Target Logic (LTL)) ein. Geben Sie diesen Befehl ein, um eine LTL einem Port oder einer Port-Gruppe für das N7K zuzuordnen:
N7700# show system internal pixm info ltl 0xe05 Member info
------------------
Type LTL
---------------------------------
PHY_PORT Eth4/1
FLOOD_W_FPOE 0xc031
Die Ausgabe zeigt, dass die SRC_INDEX von 0xe05 dem Port Eth4/1 zugeordnet ist. Damit wird bestätigt, dass der Frame an Port Eth4/1 empfangen wird.
Mithilfe der RBUS-Daten können Sie überprüfen, ob der Frame an VLAN 55 weitergeleitet wird. Beachten Sie, dass die TTL in den DBUS-Daten als 0xff beginnt. Zusätzlich können Sie den Ausgangsport von DEST_INDEX bestätigen (Ziel-LTL):
N7K# show system internal pixm info ltl 0x9ed
Member info
------------------
Type LTL
---------------------------------
PHY_PORT Eth3/5
FLOOD_W_FPOE 0x8017
FLOOD_W_FPOE 0x8016
Die Ausgabe zeigt, dass der DEST_INDEX von 0x9ed Port Eth3/5 zugeordnet ist. Damit wird bestätigt, dass der Frame von Port Eth3/5 gesendet wird.
Um zu überprüfen, wie der Switch den LTL-Pool zuweist, geben Sie den Befehl show system internal pixm info ltl-region ein. Die Ausgabe dieses Befehls ist nützlich, um den Zweck einer LTL zu verstehen, wenn sie nicht einem physischen Port zugeordnet wird. Ein gutes Beispiel hierfür ist ein Drop LTL:
N7700# show system internal pixm info ltl 0xcad 0x0cad is Drop DI LTL N7700# show system internal pixm info ltl-region
(some output omitted) =========================================================== PIXM VDC 1 LTL MAP Version: 3 Description: LTL Map for Crossbow =========================================================== LTL_TYPE SIZE START END ======================================================================== LIBLTLMAP_LTL_TYPE_PHY_PORT 3072 0x0 0xbff LIBLTLMAP_LTL_TYPE_SUP_ETH_INBAND 64 0xc00 0xc3f LIBLTLMAP_LTL_TYPE_UCAST_VPC_VDC_SI 32 0xc40 0xc5f LIBLTLMAP_LTL_TYPE_EXCEPTION_SPAN 32 0xc60 0xc7f LIBLTLMAP_LTL_TYPE_UCAST_GENERIC 48 0xc80 0xcaf ------------------------------------------------------------------- SUB-TYPE LTL ------------------------------------------------------------------- LIBLTLMAP_LTL_TYPE_UCAST_GENERIC_NOT_USED 0xcaf LIBLTLMAP_LTL_TYPE_DROP_DI_WO_HW_BITSET 0xcae LIBLTLMAP_LTL_TYPE_DROP_DI 0xcad LIBLTLMAP_LTL_TYPE_SUP_DIAG_SI_V5 0xcac LIBLTLMAP_LTL_TYPE_RESERVED_ERSPAN_LTL 0xcab ------------------------------------------------------------------- LIBLTLMAP_LTL_TYPE_LC_CPU 192 0xcb0 0xd6f LIBLTLMAP_LTL_TYPE_UCAST_RESERVED 144 0xd70 0xdff LIBLTLMAP_LTL_TYPE_PC 1536 0xe00 0x13ff LIBLTLMAP_LTL_TYPE_DYNAMIC_UCAST 5120 0x1400 0x27ff LIBLTLMAP_LTL_TYPE_MCAST_RESERVED 48 0x2800 0x282f LIBLTLMAP_LTL_TYPE_DYNAMIC_MCAST 38848 0x2830 0xbfef LIBLTLMAP_LTL_TYPE_SAC_FLOOD 16 0xbff0 0xbfff LIBLTLMAP_LTL_TYPE_FLOOD_WITH_FPOE 16384 0xc000 0xffff