本文档介绍如何在思科以应用为中心的基础设施(ACI)版本5.x和6.x上配置交换端口分析器(SPAN)。
一般来说,SPAN分为三种类型。本地SPAN、远程SPAN(RSPAN)和封装远程SPAN(ERSPAN)。 这些SPAN之间的差异主要是复制数据包的目的地。Cisco ACI支持本地SPAN和ERSPAN。
注意:本文档假设读者已经熟悉SPAN以及本地SPAN和ERSPAN之间的区别。
Cisco ACI有三种类型的SPANFabric SPAN;Tenant SPAN和Access SPAN。每个SPAN之间的差异是复制数据包的来源。
如前所述,
Fabric SPAN 捕获进出的数据包interfaces between Leaf and Spine switches。Access SPAN 捕获进出的数据包interfaces between Leaf switches and external devices。Tenant SPAN 捕获进出的数据包EndPoint Group (EPG) on ACI Leaf switches。SPAN to CPU 捕获传入和传出的数据包interfaces between Leaf switches and external devices(从6.2开始)。此SPAN名称对应于Cisco ACI GUI上的配置位置。
Fabric > Fabric PoliciesFabric > Access PoliciesFabric > Access PoliciesTenants > {each tenant}
对于每个SPAN的目标,只有Access SPAN能够同时支持Local SPAN和ERSPAN。其他两个SPANFabric(Tenant和)只能使用ERSPAN。
请参阅思科APIC故障排除指南中的限制和指南。中提到了Troubleshooting Tools and Methodology > Using SPAN。
本节介绍与每个SPAN类型的配置相关的简短示例。在后面的部分中,有有关如何选择范围类型的特定示例案例。
思科APIC故障排除指南:Troubleshooting Tools and methodology > Using SPAN。
图 1:接入ERSPAN的示例拓扑
导航至。Fabric > Access Policies > Policies > Troubleshooting > SPAN
SPAN Destination Group(DST_EPG)的选项。
图 2:创建访问ERSPAN目标组的路径
填写以下信息:
图 3:配置访问ERSPAN目标组
其中:
目标类型:EPG(必须作为访问ERSPAN)
目标EPG:获知目标终端的租户/AP/EPG
目标 IP:目标终端的IP
源IP:这可以是任何IP。如果使用前缀,则源节点的节点ID用于未定义的位。例如,前缀:192.168.254.0/24 on node-101 => src IP 192.168.254.101
流ID:默认设置为1,用于在ERSPAN报头中按流识别数据包:
图 4:在Wireshark中显示流ID的数据包
提示:要过滤流ID,您可以使用以下Wireshark过滤器:erspan.spanid == <Flow ID>
SPAN Source Group(SRC_GRP1),右键单击“SPAN源组”,然后选择“创建SPAN源组”:
图 5:创建访问ERSPAN源组的路径
填写以下信息:
图 6:配置access ERSPAN源组
其中:
Admin State:启用
目标组: 选择先前创建的目标组(DST_EPG)
SPAN Source(SRC1):
图 7:配置访问ERSPAN源
其中:
方向: 可以在以下选项之间进行选择:传入、传出或双向
类型:可以选择以下项:无(常规的前端端口)、EPG(部署为EPG中的静态绑定的接口,且仅镜像EPG流量)或外部路由(L3out中使用的接口)。
在本示例中,使用常规的前端端口。
图 8:创建访问ERSPAN源路径
其中:
路径类型:在端口(单个)、直接端口通道、虚拟端口通道(选择此选项时,路径显示已形成VPC)和VPC组件PC(只是VPC的一个支路,选择特定节点)之间进行选择
节点:选择源节点(根据拓扑示例选择节点101)
路径: 源接口(根据拓扑示例,eth1/1)
图 9:本地接入SPAN的示例拓扑
导航至。Fabric > Access Policies > Policies > Troubleshooting > SPAN
SPAN Destination Group(DST_EPG)的选项。
图 10:创建本地访问SPAN目标组的路径
填写以下信息:
图 11:本地访问SPAN目标组的配置
其中:
目标类型:接入接口(必须用作本地SPAN)
路径类型: 端口
节点:节点101(根据拓扑)
路径: eth1/45(根据拓扑)
注意:目标端口无需应用任何租户策略(例如EPG、L3out或infra部署),否则,会引发此故障:
故障:F1559
描述:故障委托:由于SPAN的目标端口不安全,因此无法为SPAN配置目标组DST_GRP的目标DST_GRP。端口已有现有的应用EPG、L3Out或基础设施VLAN部署
如果目标端口是EPG的一部分,则替代方法是切换到接入ERSPAN。
SPAN Source Group(SRC_GRP1),右键单击“SPAN源组”,然后选择“创建SPAN源组”:
图 12:创建本地访问SPAN源组的路径
填写以下信息:
图 13:创建本地访问SPAN源组
其中:
Admin State:启用
目标组: 选择先前创建的目标组(DST_EPG)
SPAN Source(SRC1):
图 14:创建本地访问SPAN源的步骤
其中:
方向:在Incoming、Outgoing或both方向之间选择
类型:可以选择以下项:无(常规的前端端口)、EPG(部署为EPG中的静态绑定的接口,且仅镜像EPG流量)或外部路由(L3out中使用的接口)。
在本示例中,使用常规的前端端口。只要以后添加的源访问路径部署在同一节点中,该配置就会受支持。
图 15:创建本地访问SPAN源路径
其中:
路径类型:在端口(单个)、直接端口通道、虚拟端口通道(选择此选项时,路径显示已形成VPC)和VPC组件PC(只是VPC的一个支路,选择特定节点)之间进行选择
注意:本地访问SPAN中不支持虚拟端口通道
节点:选择源节点(根据拓扑示例选择节点101)
路径: 源接口(根据拓扑示例,eth1/1)
限制:
注意:对于本地SPAN,必须在同一枝叶上配置目标接口和源接口。
图 16:租户ERSPAN的示例拓扑
导航至。Tenant >
SPAN Destination Group(DST_EPG)的选项。
图 17:创建租户ERSPAN目标组的路径
填写以下信息:
图 18:创建租户ERSPAN目标组
其中:
目标EPG:设置租户(默认情况下,采用配置ERSPAN的同一租户)、获取目标终端的AP和EPG
目标 IP:目标终端的IP
源IP:这可以是任何IP。如果使用前缀,则源节点的节点ID用于未定义的位。例如,前缀:192.168.254.0/24 on node-101 => src IP 192.168.254.101
流ID:默认设置为1,用于根据ERSPAN报头中的流量识别数据包。在自定义此流ID时,使用Access ERSPAN中显示的提示过滤捕获。
SPAN Source Group(SRC_GRP1),右键单击“SPAN源组”,然后选择“创建SPAN源组”:
图 19:创建租户ERSPAN源组的路径
填写以下信息:
图 20:创建租户ERSPAN源组
其中:
Admin State:启用
目标组: 选择先前创建的目标组(DST_EPG)
SPAN Source(SRC1):
图 21:创建租户ERSPAN源EPG
其中:
方向:在Incoming、Outgoing或both方向之间选择
源EPG:可以在同一租户内的所有EPG之间进行选择。(根据拓扑示例为EPG1)
图 22:交换矩阵ERSPAN的示例拓扑
导航至。Fabric > Fabric Policies > Policies > Troubleshooting > SPAN
SPAN Destination Group(DST_EPG)的选项。
图 23:创建交换矩阵ERSPAN目标组的路径
填写以下信息:
图 24:创建交换矩阵ERSPAN目标组
其中:
目标EPG:设置获取目标终端的租户、AP和EPG
目标 IP:目标终端的IP
源IP:这可以是任何IP。如果使用前缀,则源节点的节点ID用于未定义的位。例如,前缀:192.168.254.0/24 on node-101 => src IP 192.168.254.101
流ID:默认设置为1,用于根据ERSPAN报头中的流量识别数据包。在自定义此流ID时,使用Access ERSPAN中显示的提示过滤捕获。
SPAN Source Group(SRC_GRP1),右键单击“SPAN源组”,然后选择“创建SPAN源组”:
图 25:创建交换矩阵ERSPAN源组的路径
填写以下信息:
图 26:创建交换矩阵ERSPAN源组
其中:
Admin State:启用
目标组: 选择先前创建的目标组(DST_EPG)
Source(SRC1):
图 27:创建租户ERSPAN交换矩阵路径
其中:
方向:在Incoming、Outgoing或both方向之间选择
关联: 在VRF或网桥域之间进行选择(在本例中,选择特定的BD进行捕获)
图 28:为交换矩阵ERSPAN创建源路径
其中:
节点:源节点
接口: 下拉菜单仅显示来自选定节点的上行链路(在本例中,显示拓扑中已添加的4个上行链路)
在ACI 6.2.1之前,ACI枝叶交换机不支持将本地SPAN(交换端口分析器)会话直接发送到交换机CPU端口(sup-eth0),这使得机上捕获和分析变得更加困难。
图 29:SPAN到CPU的示例拓扑
导航至。Fabric > Access Policies > Policies > Troubleshooting > SPAN
SPAN Destination Group。
图 30:创建SPAN到CPU目标组的路径
填写以下信息:
图 31:创建SPAN到CPU目标组
其中:
目标类型:访问接口
部件类型: 端口
路径:选择sup-eth0。
此视频还显示了配置步骤:
https://video.cisco.com/detail/video/6389779606112
以下平台仅支持SPAN到CPU:
FX2(天堂)
FX3(下沉)
GX(沃尔弗里奇)
GX2(四峰)
HX(Ararat)
访问SPAN能够对访问SPAN源使用ACL过滤器。
此功能可将SPAN特定流量或流量传入/传出SPAN源。
当需要SPAN流量特定流量时,用户可以将SPAN Acl应用到源。
交换矩阵SPAN和租户SPAN源组/源中不支持此功能。
过滤器组可以关联到:
-Span源:过滤器组用于过滤此Span源下定义的所有接口上的流量。
图 32:用于在访问源中添加过滤器的选项
-Span源组:过滤器组(例如x)用于过滤此Span源组的每个Span源下定义的所有接口上的流量。
图 33:用于在访问源组中添加过滤器的选项
如果特定Span源已经与过滤器组(例如y)关联,则使用该过滤器组(y)来过滤此特定Span源下所有接口上的组
— 在源组应用的过滤器组自动应用于该源组中的所有源。
— 在源应用的过滤器组仅适用于该源。
— 过滤器组同时应用于源组以及该源组中的源,则应用于源的过滤器组优先。
— 删除在源上应用的过滤器组,自动应用父源组中应用的过滤器组。
— 删除应用于源组的过滤器组,即会从当前继承到该源组的所有源中删除该过滤器组。
要创建过滤器,可以使用以下选项:
图 34:过滤器条目选项
— 源前缀和目标前缀。
— 源/目标端口范围。
-IP 协议.
— 扩展过滤器如:DCSP、Dot1P、TCP标志。
图 35:在GUI中验证会话
显示交换矩阵中配置的所有SPAN/会话
show monitor summary
要按类型过滤会话:
show monitor access session all
show monitor tenant session all
show monitor fabric session all
show monitor session all
示例:
SITE2-L101# show monitor session all
session 11
---------------
name : SRC_GRP1
description : Span session 11
type : erspan
scale-mode : filter
version : 2
oper version : 2
state : up (active)
erspan-id : 1
granularity :
vrf-name : SPAN:SPAN
acl-name :
ip-ttl : 64
ip-dscp : ip-dscp not specified
destination-ip : 192.168.254.1/32
origin-ip : 192.168.254.101/24. >>>> node ID 101
mode : access
Filter Group : None
source intf :
rx : [Eth1/1]
tx : [Eth1/1]
both : [Eth1/1]
source VLANs :
rx :
tx :
both :
filter VLANs : filter not specified
filter L3Outs : filter not specified
此输出有助于确认会话是否已启用,以及源、目标报头和源接口(如果在rx和tx中列出,则方向设置为两者)
要真正确认配置是否正确,请从描述获取span会话ID,然后运行以下命令:
示例:
SITE2-L101# show system internal span-mgr session 11
SSN id 11 name "infra_SRC_GRP1_DST_GRP_DST_GRP" ptr 0x562a21a24b70 Admin UP nSrcsUP 1 Dst ERSPAN UP
Scale mode FILTER
vrfName SPAN:SPAN vnid 2752515 SrcIP 192.168.254.101/24 DstIP 192.168.254.1/32 flowId 1 ttl 64 dscp 64 mtu 1518 ver 2 opst 1(UP) opst_qual 1(Active)
vrf_id 5 table_id 0x5 vrf_vnid 2752515 (0x2a0003) slot 0 urib_nh_reg 1 epm_registered 1
Spine Proxy NH: RESOLVED nh_is_fabric 1 nh_dtep_ip 0xa00e042 nh_flag 1 nh_if_idx 0x1a031009 nh_main_if_idx 0x1a031000
Local NH: NOT Resolved ep_valid 0 ep_mac 00:00:00:00:00:00 ep_vlan 0 ep_if_idx 0x0
ep_flags 0 ep_tun_if_idx 0x0 ep_nh_mac 00:00:00:00:00:00 ep_nh_dtep_ip 0x0 ep_nh_ifidx 0x0 ep_nh_vlan 0
COOP NH: NOT Resolved coop_valid 0 coop_tep_ip 0x0
Span Offset 255
Filter Group ID: 0
(src-name, flt-grp-id) associations:
Src name: "SRC" Filter Group ID: 0
SRC: id 17 ptr 0x562a21a22170 ssn_id 11 mode Access type Port dir ING-EGR vlan 0 if_idx 0x1a000000 opst 1(UP) opst_qual 1(Active) dummy_fault 0
vlan_type INVALID hw_vlan 0 hw_vlan_up DOWN if_up UP is_fex 0 is_pc 0 slot -1 pc_mbr_up 0x0 l3_if_idx 0x0 l3_if_up DOWN
Per SSN Summary: SSN 11 n_srcs_per_ssn 1 srcs UP 1
Summary: nSSNs: 1 nSSNs UP: 1 nSrcs 1 nSrcs UP 1
ERSPAN封装复制的数据包以将其转发到远程目标。GRE用于此封装。GRE报头上ERSPAN的协议类型为0x88be。
在Internet工程任务组(IETF)文档中,ERSPAN版本被描述为类型而不是版本。
ERSPAN有三种类型。一、二、三。此RFC草案中提到ERSPAN类型。此外,此GRE RFC1701也有助于了解每个ERSPAN类型。
以下是每种类型的数据包格式:
图 36:ERSPAN版本I的GRE报头
例如,wireshark显示以下协议类型:
图 37:在wireshark中验证版本
类型I不使用GRE报头上的序列字段。它甚至不使用ERSPAN报头(如果是ERSPAN类型II和III,则此报头必须接替GRE报头)。Broadcom Trident 2仅支持此ERSPAN类型I。
图 38:ERSPAN版本II的GRE报头
Wireshark示例为:
图 39:在wireshark中验证版本
如果序列字段由S位激活,则必须是ERSPAN类型II或III。ERSPAN报头上的版本字段用于标识ERSPAN类型。在ACI中,自2026年4月30日起,不支持类型III。
在第1代枝叶和主干节点上,每个ACI SPAN(交换矩阵、接入、租户)在每个节点上的不同芯片中运行。
因此,由于Broadcom芯片的限制,
另一方面,NS和ALP芯片支持II型。所以
在第2代或更高版本的节点上,所有ACI SPAN默认使用ERSPAN类型II。
如果接入或租户SPAN的SPAN源组在第一代和第二代节点上都存在源,则ERSPAN目标会从每代节点接收两个ERSPAN类型I和II数据包。但是,Wireshark一次只能解码其中一种ERSPAN类型。默认情况下,它仅解码ERSPAN类型II。如果启用ERSPAN类型I的解码,Wireshark不会解码ERSPAN类型II。请参阅后面有关如何解码Wireshark上的ERSPAN类型I的部分。
为避免此类问题,您可以在SPAN目标组上配置ERSPAN类型。
图 40:用于实施SPAN版本的选项
SPAN版本(版本1或版本2):这指的是ERSPAN类型I或II
实施SPAN版本(选中或未选中):这将决定SPAN会话是否必须失败,以防源节点硬件上不支持配置的ERSPAN类型。
默认情况下,SPAN版本为版本2,而实施SPAN版本未选中。这意味着如果源节点是支持ERSPAN类型II的第2代或更高版本时,它会生成带有类型II的ERSPAN。如果源节点是不支持ERSPAN类型II的第1代(交换矩阵SPAN除外),它将回退到类型I,因为未选中Enforce SPAN Version。因此,ERSPAN目标收到混合类型的ERSPAN。
下表说明了接入和租户SPAN的每个组合。
| SPAN版本 |
实施SPAN版本 |
第1代源节点 |
第2代源节点 |
| 2 版 |
未选中 |
使用类型I |
使用类型II |
| 2 版 |
已选中 |
失败 |
使用类型II |
| 版本 1 |
未选中 |
使用类型I |
使用类型I |
| 版本 1 |
已选中 |
使用类型I |
使用类型I |
iVxLAN报头使用目标端口48879。因此,如果在Wireshark上将UDP目标端口48879配置为VxLAN,则可以解码iVxLAN报头和VxLAN。
请确保首先选择iVxLAN封装数据包。
导航至。Edit > Preferences > Protocols > VxLAN
在端口48879尾添加端口10:
然后Apply。
图 41:如何添加自定义端口以解码iVXLAN报头
注意:交换矩阵端口上的APIC之间存在通信数据包。这些数据包不通过iVxLAN报头进行封装。
| 版本 | 发布日期 | 备注 |
|---|---|---|
1.0 |
29-Apr-2026
|
初始版本 |