本文档介绍在运行Supervisor引擎720(Sup720)的Cisco Catalyst 6500系列交换机(6500)上执行ELAM(嵌入式逻辑分析器模块)捕获所用的步骤,说明最相关的输出,并说明如何解释结果。本示例也适用于启用DFC3的线卡。
在本例中,6500充当单臂路由器,以在VLAN 10和VLAN 20上的主机之间路由流量。ELAM用于验证从主机10.1.1.100收到的Internet控制消息协议(ICMP)请求是在端口G5/VLAN 10中的3个成功路由回VLAN 20的端口G5/3上的20.1.1.100。
流量预期会进入端口G5/3上的交换机。当您检查系统中的模块时,您会看到模块5是活动管理。因此,您应在模块5上配置ELAM。
Sup720#show module 5
Mod Ports Card Type Model Serial No.
--- ----- -------------------------------------- ------------------ -----------
5 5 Supervisor Engine 720 10GE (Active) VS-S720-10G SAL1429N5ST
对于Sup720,在具有内部代号Superman的第2层(L2)转发引擎(FE)上执行ELAM操作。请注意,L2 FE数据总线(DBUS)包含L2和L3(L3)查找之前的原始报头信息,而结果总线(RBUS)包含L3和L2查找之后的结果。L3查找由L3 FE执行,内部代号为Tycho。
Sup720(config)#service internal
Sup720#show platform capture elam asic superman slot 5
超人ASIC支持IPv4、IPv6等的ELAM触发器。ELAM触发器必须与帧类型对齐。如果该帧是IPv4帧,则触发器也必须是IPv4。IPv4帧不会用其他触发器捕获。IPv6也适用相同的逻辑。下表显示了根据帧类型最常用的触发器:
IPv4 | IPv6 | 所有帧类型 |
---|---|---|
|
|
|
这些字段中的大多数应该不加解释。例如,SMAC和DMAC 指源MAC地址和目的MAC地址,IP_SA和IP_DA 指源IPv4地址和目的IPv4地址,而L3_PT指L3协议类型,可以是互联网控制消息协议(ICMP)、互联网组管理协议(IGMP)、TCP或UDP。
在本例中,根据源IPv4地址和目的IPv4地址捕获帧。请记住,ELAM触发器允许不同级别的特异性。因此,如果需要,可以使用其他字段,如生存时间(TTL)、服务类型(TOS)和第3层协议类型(L3_PT)(如果需要)。此数据包的超人触发器是:
Sup720# show platform capture elam trigger dbus ipv4
if ip_sa=10.1.1.100 ip_da=20.1.1.100
现在,已选择入口FE并配置了触发器,您可以开始捕获:
Sup720#show platform capture elam start
要检查ELAM的状态,请输入status命令:
Sup720#show platform capture elam status
Active ELAM info:
Slot Cpu Asic Inst Ver PB Elam
---- --- -------- ---- --- -- ----
5 0 ST_SUPER 0 2.2 Y
DBUS trigger: FORMAT=IP L3_PROTOCOL=IPV4 IP_SA=10.1.1.100 IP_DA=20.1.1.100
ELAM capture in progress
FE收到与触发器匹配的帧后,ELAM状态显示为已完成:
Sup720#show platform capture elam status
Active ELAM info:
Slot Cpu Asic Inst Ver PB Elam
---- --- -------- ---- --- -- ----
5 0 ST_SUPER 0 2.2 Y
DBUS trigger: FORMAT=IP L3_PROTOCOL=IPV4 IP_SA=10.1.1.100 IP_DA=20.1.1.100
ELAM capture completed
要显示ELAM结果,请输入data命令。以下是与本示例最相关的ELAM数据输出的摘录:
Sup720#show platform capture elam data
(some output omitted)
DBUS:
VLAN ............................ [12] = 10
SRC_INDEX ....................... [19] = 0x102
L3_PROTOCOL ..................... [4] = 0 [IPV4]
L3_PT ........................... [8] = 1 [ICMP]
DMAC ............................ = 0014.f179.b640
SMAC ............................ = 0021.5525.423f
IP_TTL .......................... [8] = 255
IP_SA ........................... = 10.1.1.100
IP_DA ........................... = 20.1.1.100
RBUS:
FLOOD ........................... [1] = 1
DEST_INDEX ...................... [19] = 0x14
VLAN ............................ [12] = 20
IP_TTL .......................... [8] = 254
REWRITE_INFO
i0 - replace bytes from ofs 0 to ofs 11 with seq
'00 05 73 A9 55 41 00 14 F1 79 B6 40'.
使用DBUS数据,您可以验证VLAN 10上是否收到帧,源MAC地址为0021.5525.423f,目的MAC地址为0014.f179.b640。还可以看到,这是源自10.1.1.100的IPv4帧,发往20.1.1.100。
要验证帧在哪个端口上收到,请输入SRC_INDEX命令(源本地目标逻辑(LTL))。 输入以下命令,将LTL映射到Sup720的端口或端口组:
Sup720#remote command switch test mcast ltl-info index 102
index 0x102 contain ports 5/3
输出显示0x102的SRC_INDEX映射到端口G5/3。这确认该帧是在端口G5/3上接收的。
使用RBUS数据,您可以验证帧是否路由到VLAN 20,以及DBUS数据中的TTL从255递减到RBUS中的254。输出的REWRITE_INFO显示,FE替换了字节0到11(前12个字节),这些字节代表目的和源MAC地址的MAC地址重写。此外,您还可以从发送帧的DEST_INDEX(目标LTL)信息中进行验证。
Sup720#remote command switch test mcast ltl-info index 8014
index 0x8014 contain ports 5/3
输出显示0x8014的DEST_INDEX也映射到端口G5/3。这确认该帧已发送到端口G5/3。
对于虚拟交换系统(VSS),必须将物理端口与虚拟插槽映射关联。以此示例为例,尝试映射转发发送到LTL 0xb42的帧的端口。
VSS#remote command switch test mcast ltl index b42
index 0xB42 contain ports 20/1, 36/1
我们可以看到LTL映射到虚拟插槽编号20和36。要检查虚拟插槽映射,请输入以下命令:
VSS#show switch virtual slot-map
Virtual Slot to Remote Switch/Physical Slot Mapping Table:
Virtual Remote Physical Module
Slot No Switch No Slot No Uptime
---------+-----------+----------+----------
<some output omitted>
20 1 4 1d07h
21 1 5 1d08h
36 2 4 20:03:19
37 2 5 20:05:44
输出显示,Slot 20映射到Switch 1、Module 4,而Slot 36映射到Switch 2、Module 4。因此,LTL 0xb42映射到端口1/4/1和2/4/1。如果这些端口是端口通道的成员,则只有其中一个端口根据帧转发帧配置的负载均衡方案。