取消
显示结果 
搜索替代 
您的意思是: 
cancel
1128
查看次数
1
有帮助
2
评论
Luke Huang
Cisco Employee
Cisco Employee

 

在日常维护思科 ACI 的场景中,如果发现 EP 的流量有问题,包括但不限于中断,断断续续,高延迟/慢,可以考虑使用 SPAN 来做流量镜像,从 Wireshark 入手分析报文内容。
 
不过别急,在 SPAN 之前,强烈建议看一下 APIC Dashboard - Faults,有没有新增的 Faults;如果是 APIC 5.2 version 和之后版本,在 Dashboard - History - Event Records, Fault Records 当中可以看到更多的信息,说不定会有线索。毕竟运维的目的是发现问题解决问题,从 APIC Faults 入手是最简单直观的方式。
 
在没有明确线索的情况下,SPAN 可以作为一个备选。

SPAN 是怎么工作的

从一张图入手,主要涉及到四个设备:流量源和目的 server,转发设备 leaf,SPAN 接收设备 Sniffer
ACI-SPAN.png

SPAN 是从硬件来完成的流量镜像 (copy) 操作,不影响业务报文的转发,基本不影响设备的 CPU
 
The SPAN(Port Mirroring) process is nondisruptive to any connected devices and is facilitated in the hardware, which prevents any unnecessary CPU load.


SPAN 和 ERSPAN

用于接收 SPAN 流量的服务器 (Sniffer),可以接入任意一台 ACI leaf。从接入位置来说,可以区分两种 SPAN 部署方式:
- Local SPAN,SPAN 的 source 接口,和目的接口在同一台 leaf;
- ERSPAN,    SPAN source, destination 不在同一台 leaf,配置过程中需要指定 Sniffer 的 IP
ACI-ERSPAN-packet-example.png

ACI 可以在哪个位置 SPAN

从 SPAN source 的位置来看,ACI 的 SPAN 分为三种方式:
- Access SPAN,针对 leaf 的 Access(南向/South) 接口/port-channel/vpc, 对端是 server 或者 access switch
- Fabric SPAN,针对 leaf 的 Fabric(北向/North) 接口,对端是 Spine
- Tenant SPAN,针对 EPG(从业务层面区分)所关联的 Access 接口, 对端是 server 或者 access switch,匹配指定 EPG 才会被抓包,效果是 ERSPAN

SPAN 支持过滤条件/Filter,尽量做到精确匹配,在流量规模很大的情况下可能有用。

SPAN 的一些限制:

- 经过 ACI leaf 转发的 报文只能被 SPAN 一次,即使配置两个不同 Access SPAN session,将 SPAN session 1 的目的接口,当作 SPAN session 2 的 source 接口
- 对同一个 leaf 配置两个不同 SPAN session,假设 SPAN session 1 抓包 packet Rx, SPAN session 2 抓包 packet Tx,实际效果是只有 Rx 被抓到
- 假设 int e1/1 加入了 port-channel/vpc,那么只能配置 port-channel/vpc 作为 SPAN source,参考文档
- 当 source 是 VPC,那么 destination 只能是 IP(ERSPAN),不能是 interface(local SPAN),参考文档
- ERSPAN destination IPs must be learned in the fabric as an endpoint. // ERSPAN 指定的 destination IP 必须是 ACI 能学习到的 EP
- SPAN/ERSPAN 场景,FEX 接口 只能作为 source
- 当 FEX 接口作为 SPAN source,仅支持 Rx,不支持 Tx
On generation 2 switches, Tx SPAN does not work whether traffic is Layer 2 or Layer 3 switched.

举个栗子,Tenant SPAN 抓包

- EP-1 22.0.10.1, EP-2 22.0.56.1 分别在 EPG-1, EPG-2
- 配置 EPG-1, EPG-2 作为 Tenant SPAN 的 source
- 业务流量和 SPAN 的示意图
ACI-Tenant-SPAN-example.png
- 通过测试,在 Sniffer 可以看到两份相同的报文,第一份来自 source EP-1 in EPG-1,第二份来自 destination EP-2 in EPG-2。对于 TCP 流量,假如 SPAN 的 source,destination 都在同一台 leaf,Wireshark 有可能会将这两份报文标记成 Suspect Retranmission
- 之前提到过 Tenant SPAN 是针对 Access 接口,也就是 packet 从 leaf 101 Rx,从 leaf 102 Tx,才会被抓到。如果说 packet 最终没有从 leaf 102 发送出去,那么 Tenant SPAN 就只能抓到一份来自 source leaf 101 Access 接口的流量了
- 抓包截图,可以关注一下原始/内层数据包的 Identification 相同
ACI-Tenant-SPAN-result.png
评论
Yanli Sun
Community Manager
Community Manager

感谢专家分享

simon13333
Level 1
Level 1

很详细的指导,感谢

入门指南

使用上面的搜索栏输入关键字、短语或问题,搜索问题的答案。

我们希望您在这里的旅程尽可能顺利,因此这里有一些链接可以帮助您快速熟悉思科社区:









快捷链接