此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍在Cisco Nexus 7700(N7700)M3模块上执行ELAM所用的步骤,解释最相关的输出,并说明如何解释结果。
提示:有关ELAM的概述,请参阅ELAM概述文档。
在本示例中,VLAN 2500(10.0.5.101)上的主机端口Eth4/1向VLAN 55(10.0.3.101)上的主机端口Eth3/5发送Internet控制消息协议(ICMP)请求. ELAM用于捕获从10.0.5.101 10.0.3.101到10.0.3.101的单个数据包。请记住,ELAM允许您捕获单个帧。
要在N7K上执行ELAM,您必须首先连接到相应的模块(这需要网络管理员权限):
N7700# attach module 4 Attaching to module 4 ... module-4#
流量应通过端口Eth4/1进入交换机。当您检查系统中的模块时,您会看到模块4是M3模块。请务必记住,N7K是完全分布式的,并且模块(而不是管理引擎)会为数据平面流量做出转发决策。
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
对于M系列模块,在内部代号为F4的第2层(L2)转发引擎(FE)上执行ELAM。请注意,L2 FE数据总线(DBUS)包含L2和第3层(L3)查找之前的原始报头信息以及结果总线(RBUS))包含L3和L2查找后的结果。
N7K M3模块可以为每个模块使用多个FE,因此您必须确定端口Eth4/1上用于FE的F4 ASIC。输入此命令以验证:
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
在输出中,您可以看到端口Eth4/1位于F4(L2LKP)实例0上。在N77-M312CQ-26L模块上,每个端口组中都有2个端口的6 F4 ASIC。在N77-M324FQ-25L模块上,每个端口组有4个F4 ASIC,带6个端口。N77-M348XP-23L模块有2个F4 ASIC,每个端口组中有12个端口。
注意:与F系列模块一样,M3模块ELAM语法使用基于0的值。M1和M2模块使用基于1的值,但情况并非如此。
module-4# elam asic f4 instance 0 module-4(f4-elam)# layer2
module-4(f4-l2-elam)#
F4 ASIC支持IPv4、IPv6等的ELAM触发器。ELAM触发器必须与帧类型对齐。如果该帧是IPv4帧,则触发器也必须是IPv4。IPv4帧不会用其他触发器捕获。IPv6也适用同样的逻辑。
使用Nexus操作系统(NX-OS),您可以使用问号字符来分隔ELAM触发器:
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
在本例中,根据源IPv4地址和目的IPv4地址捕获帧,因此仅指定这些值。
F4需要DBUS和RBUS单独的触发器。
以下是DBUS触发器:
module-4(f4-l2-elam)# trigger dbus ipv4 ingress if source-ipv4-address
10.0.5.101 destination-ipv4-address 10.0.3.101
以下是RBUS触发器:
module-4(f4-l2-elam)# trigger rbus ingress result if tr 1
现在,已选择入口FE并配置了触发器,您可以开始捕获:
module-4(f4-l2-elam)# start
要检查ELAM的状态,请输入status命令:
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
FE收到与触发器匹配的帧后,ELAM状态显示为“已触发:
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
要显示ELAM结果,请输入show dbus 和show rbus 命令。如果有大量流量与相同的触发器匹配,则DBUS和RBUS可能会在不同帧上触发。因此,检查DBUS和RBUS数据上的内部序列号以确保它们匹配非常重要:
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
以下是与本示例最相关的ELAM数据的摘要(省略部分输出):
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
使用DBUS数据,您可以验证该帧是否在VLAN 2500上收到,源MAC地址为8c60.4fb6.3dc2,目的MAC地址为8c60.4f07.ac65。您还可以看到这是IPv4帧,源自10.0.5.101,发往10.0.3.101。
提示:此输出中还包含其他几个有用字段,如服务类型(TOS)值、IP标志、IP长度和L2帧长度。
要验证帧在哪个端口上收到,请输入SRC_INDEX命令(源本地目标逻辑(LTL))。输入此命令可将LTL映射到N7K的端口或端口组:
N7700# show system internal pixm info ltl 0xe05 Member info
------------------
Type LTL
---------------------------------
PHY_PORT Eth4/1
FLOOD_W_FPOE 0xc031
输出显示0xe05的SRC_INDEX 映射到端口Eth4/1。这确认该帧在端口Eth4/1上收到。
使用RBUS 数据,您可以验证该帧是否已路由到VLAN 55。请注意,TTL在DBUS数据中以0xff开始。此外,您可以从DEST_INDEX(目标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
输出显示0x9ed的DEST_INDEX映射到端口Eth3/5。这确认该帧是从端口Eth3/5发送的。
要验证交换机如何分配LTL池,请输入show system internal pixm info ltl-region命令。如果LTL与物理端口不匹配,此命令的输出对于了解其用途非常有用。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