Inhalt

Einführung

Topologie

Bestimmen der Eingangs-Weiterleitungs-Engine

Konfigurieren des Triggers

Erfassen starten

Interpretieren der Ergebnisse

Zusätzliche Überprüfung

Einführung

In diesem Dokument werden die Schritte zum Durchführen eines ELAM auf Modulen der Cisco Nexus 7000 (N7K) M-Serie beschrieben, die relevantesten Ergebnisse erläutert und die Interpretation der Ergebnisse beschrieben.

Tipp: Eine Übersicht über ELAM finden Sie im ELAM-Übersichtsdokument.

Topologie

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):

N7K# attach module 4

Attaching to module 4 ...

To exit type 'exit', to abort type '$.'

module-4#

Bestimmen der Eingangs-Weiterleitungs-Engine

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 Modul der M-Serie 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.

N7K# show module

Mod  Ports  Module-Type                         Model              Status

---  -----  ----------------------------------- ------------------ ----------

3    32     10 Gbps Ethernet Module             N7K-M132XP-12      ok

4    48     10/100/1000 Mbps Ethernet Module    N7K-M148GT-11      ok

5    0      Supervisor module-1X                N7K-SUP1           active *

6    0      Supervisor module-1X                N7K-SUP1           ha-standby

Führen Sie bei Modulen der M-Serie das ELAM auf der Layer 2 (L2) Forwarding Engine (FE) mit dem internen Codenamen Eureka 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. Die L3-Suche wird von der L3/Layer 4 (L4) FE mit dem internen Codenamen Lamira durchgeführt. Dieser Prozess wird auf der Cisco Catalyst Switch-Plattform der Serie 6500 mit der Supervisor Engine 2T verwendet.

Module der N7K M-Serie können für jedes Modul mehrere FEs verwenden. Sie müssen also den für die FE am Port Eth4/1 verwendeten Eureka ASIC bestimmen. Geben Sie diesen Befehl ein, um Folgendes zu überprüfen:

module-4# show hardware internal dev-port-map

(some output omitted)

--------------------------------------------------------------

CARD_TYPE:         48 port 1G

>Front Panel ports:48

--------------------------------------------------------------

Device name             Dev role              Abbr num_inst:

--------------------------------------------------------------

> Eureka                 DEV_LAYER_2_LOOKUP     L2LKP  1

+--------------------------------------------------------------+

+-----------+++FRONT PANEL PORT TO ASIC INSTANCE MAP+++--------+

+--------------------------------------------------------------+

FP port|PHYS |SECUR |MAC_0 |RWR_0 |L2LKP |L3LKP |QUEUE |SWICHF

1     0      0      0      0      0      0      0      0

2     0      0      0      0     0      0      0      0

In der Ausgabe sehen Sie, dass Port Eth4/1 auf Eureka (L2LKP) Instanz 0 ist.

Hinweis: Bei Modulen der M-Serie verwendet die ELAM-Syntax einstufige Werte, sodass Instanz 0 Instanz 1 wird, wenn Sie das ELAM konfigurieren. Dies ist bei Modulen der F-Serie nicht der Fall.

module-4# elam asic eureka instance 1

module-4(eureka-elam)#

Konfigurieren des Triggers

Der Eureka 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(eureka-elam)# trigger dbus dbi ingress ipv4 if ?

(some output omitted)

destination-flood         Destination Flood

destination-index         Destination Index

destination-ipv4-address  Destination IP Address

destination-mac-address   Destination MAC Address

ip-tos                    IP TOS

ip-total-len              IP Total Length

ip-ttl                    IP TTL

source-mac-address        Source MAC Address

vlan-id                   Vlan ID Number

In diesem Beispiel wird der Frame anhand der Quell- und Ziel-IPv4-Adressen erfasst, sodass nur diese Werte angegeben werden.

Für Eureka müssen Auslöser für DBUS und RBUS festgelegt werden. Es gibt zwei verschiedene Paketpuffer (PB), in denen die RBUS-Daten gespeichert werden können. Die Bestimmung der richtigen PB-Instanz hängt vom genauen Modultyp und dem Eingangsport ab. In der Regel wird empfohlen, PB1 zu konfigurieren. Wenn das RBUS nicht ausgelöst wird, wiederholen Sie die Konfiguration mit PB2.

Der DBUS-Trigger ist wie folgt:

module-4(eureka-elam)# trigger dbus dbi ingress ipv4 if source-ipv4-address

10.0.5.101 destination-ipv4-address 10.0.3.101 rbi-corelate

Der folgende RBUS-Trigger:

module-4(eureka-elam)# trigger rbus rbi pb1 ip if cap2 1

Hinweis: Das rbi-correlation-Schlüsselwort am Ende des DBUS-Triggers ist erforderlich, damit das RBUS auf dem cap2-Bit korrekt ausgelöst wird.

Erfassen starten

Nachdem der Eingangs-FE ausgewählt und der Trigger konfiguriert wurde, können Sie die Erfassung starten:

module-4(eureka-elam)# start

Um den Status des ELAM zu überprüfen, geben Sie den Status-Befehl ein:

module-4(eureka-elam)# status

Instance: 1

EU-DBUS: Armed

trigger dbus dbi ingress ipv4 if source-ipv4-address 10.0.5.101

destination-ipv4-address 10.0.3.101 rbi-corelate

EU-RBUS: Armed

trigger rbus rbi pb1 ip if cap2 1

LM-DBUS: Dis-Armed

No configuration

LM-RBUS: Dis-Armed

No configuration

Sobald der Frame, der zum Trigger passt, von der FE empfangen wird, wird der ELAM-Status als Triggered angezeigt:

module-4(eureka-elam)# status

Instance: 1

EU-DBUS: Triggered

trigger dbus dbi ingress ipv4 if source-ipv4-address 10.0.5.101

destination-ipv4-address 10.0.3.101 rbi-corelate

EU-RBUS: Triggered

trigger rbus rbi pb1 ip if cap2 1

LM-DBUS: Dis-Armed

No configuration

LM-RBUS: Dis-Armed

No configuration

Interpretieren der Ergebnisse

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(eureka-elam)# show dbus | i seq

seq = 0x05

module-4(eureka-elam)# show rbus | i seq

seq = 0x05

Im Folgenden finden Sie den Auszug aus den ELAM-Daten, der für dieses Beispiel am relevantesten ist (einige Ausgabe wird weggelassen):

module-4(eureka-elam)# show dbus

seq = 0x05

vlan = 2500

source_index = 0x00a21

l3_protocol = 0x0   (0:IPv4, 6:IPv6)

l3_protocol_type = 0x01, (1:ICMP, 2:IGMP, 4:IP, 6:TCP, 17:UDP)

dmac = 00.00.0c.07.ac.65

smac = d0.d0.fd.b7.3d.c2

ip_ttl = 0xff

ip_source = 010.000.005.101

ip_destination = 010.000.003.101

module-4(eureka-elam)# show rbus

seq = 0x05

flood = 0x0

dest_index = 0x009ed

vlan = 55

ttl = 0xfe

data(rit/dmac/recir) = 00.05.73.a9.55.41

data(rit/smac/recir) = 84.78.ac.0e.47.41

Mithilfe der DBUS-Daten können Sie überprüfen, ob der Frame im VLAN 2500 mit der Quell-MAC-Adresse d0d0.fdb7.3dc2 und der Ziel-MAC-Adresse 000.0c07.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:

N7K# show system internal pixm info ltl 0xa21

Member info

------------------

Type            LTL

---------------------------------

PHY_PORT       Eth4/1

FLOOD_W_FPOE   0x8014

Die Ausgabe zeigt, dass die SRC_INDEX von 0xa21 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 und dass die TTL von 0xff in den DBUS-Daten auf 0xfe in den RBUS-Daten reduziert wird. Sie sehen, dass die Quell- und Ziel-MAC-Adressen in 8478.ac0e.4741 und 0005.73a9.5541 umgeschrieben werden. 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.

Zusätzliche Überprüfung

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:

N7K# show system internal pixm info ltl 0x11a0

0x11a0 is not configured

N7K# show system internal pixm info ltl-region

LTL POOL TYPE                          SIZE        RANGE

=====================================================================

DCE/FC Pool                            1024       0x0000 to 0x03ff

SUP Inband LTL                           32       0x0400 to 0x041f

MD Flood LTL                              1       0x0420

Central R/W                               1       0x0421

UCAST Pool                             1536       0x0422 to 0x0a21

PC Pool                                1720       0x0a22 to 0x10d9

LC CPU Pool                              32       0x1152 to 0x1171

EARL Pool                                72       0x10da to 0x1121

SPAN Pool                                48       0x1122 to 0x1151

UCAST VDC Use Pool                       16       0x1172 to 0x1181

UCAST Generic Pool                       30       0x1182 to 0x119f

LISP Pool                                 4       0x1198 to 0x119b

Invalid SI                                1       0x119c to 0x119c

ESPAN SI                                  1       0x119d to 0x119d

Recirc SI                                 1       0x119e to 0x119e

Drop DI                                   2       0x119f to 0x11a0

UCAST (L3_SVI_SI) Region                 31       0x11a1 to 0x11bf

UCAST (Fex/GPC/SVI-ES)       3648       0x11c0 to 0x1fff

UCAST Reserved for Future Use Region   2048       0x2000 to 0x27ff

======================> UCAST MCAST BOUNDARY <======================

VDC OMF Pool                             32       0x2800 to 0x281f