SPAN

SPAN,全称为Switched Port Analyzer,直译为交换端口分析器。是一种交换机的端口镜像技术。作用主要是为了给某种网络分析器提供网络数据流,SPAN并不会影响源端口的数据交换,它只是将源端口发送或接收的数据包副本发送到监控端口

SPAN

镜像分类

SPAN,RSPAN,ERSPAN

    二层
        SPAN:传统的端口镜像,在单台设备中将某些端口的流量复制到其他端口上
        RSPAN:通过REMOTE VLAN的封装,让镜像流量跨越多台设备进行传递
    三层
        ERSPAN:将镜像报文通过GRE隧道或者GRPC通道的封装,让镜像的流量在三层网络中传递
镜像方式 实现效果 封装介质 常见限制
SPAN 单台设备上端口镜像 一对多需要借助RSPAN
RSPAN 跨二层设备镜像流量 REMOTE VLAN REMOTE VLAN需要独立配置一个VLAN
ERSPAN 跨三层设备镜像流量 GRE隧道或GRPC通道 硬件限制

镜像配置

SPAN 多对一镜像

配置步骤:
第一步,配置互联设备的连接口。
配置 Switch A 的端口 Gi 0/1 为 Trunk Port。

1
2
3
4
5
SwitchA#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SwitchA(config)#interface gigabitEthernet 0/1
SwitchA(config-if-GigabitEthernet 0/1)#switchport mode trunk
SwitchA(config-if-GigabitEthernet 0/1)#exit

第二步,创建 SPAN 会话,并指定源端口和目的端口。
在 Switch A 上,创建 Session 1,并指定 Gi 0/1 为源端口,镜像双向数据流。交换机可以指定多个源端口。both 表示双方向的数据流,如果只需要镜像进入交换机方向的数据流,则将 both 关键字改为关键字 rx,如果只需要镜像从交换机出来方向的流量,则可将 both 关键字改为 tx。如果要设置多个源,则添加多条命令即可

1
SwitchA(config)#monitor session 1 source interface gigabitEthernet 0/1 both

如果要设置多个源,则添加多条命令即可。如下,添加源端口为 G0/10 和 G0/11:

1
2
SwitchA(config)#monitor session 1 source interface gigabitEthernet 0/10 both
SwitchA(config)#monitor session 1 source interface gigabitEthernet 0/11 both

在 Switch A 指定端口 Gi 0/2 为 Session 1 的镜像目的端口.后面加了一个关键字 swit
h,表示目的端口所连接的设备也能够上网,如果不加关键字,则接口无法学习到目的设备
的 MAC 地址,那么该端口将不能访问外网。(11.x 部分版本强制要加此关键字,10.x 无强制)

1
SwitchA(config)# monitor session 1 destination interface gigabitEthernet 0/2 swith

查看设备的 SPAN 状态

1
2
3
4
5
6
7
8
SwitchA#show monitor session 1
sess-num: 1 //SPAN Session
span-type: LOCAL_SPAN //本地镜像
src-intf: //SPAN 源端口信息
GigabitEthernet 0/1 frame-type Both
dest-intf: //SPAN 目的端口信息
GigabitEthernet 0/2
mtp swith on //镜像目的端口能转发数据

SPAN 一对多镜像

将源端口的流量复制到自环口,进入自环口的流量,会将流量复制到同一个广播域内的所有接口,达到一对多端口镜像的效果。注意该RSPAN会话中的所有关联端口都需要加入到Remote VLAN中

1、配置remote-vlan

1
2
Switch(config)#vlan 100
Switch(config-vlan)#remote-span

2、在交换机上的业务TRUNK口上配置修剪掉此VLAN【重要】

1
2
3
Switch(config)#int gigabitEthernet 2/1
Switch(config-if-GigabitEthernet 2/1)#switchport mode trunk
Switch(config-if-GigabitEthernet 2/1)#switchport trunk allowedvlan remove 100

3、设置源和目的端口

1
2
3
4
5
6
7
8
Switch(config)#monitor session 1 remote-source
Switch(config)#monitor session 1 source interfacegigabitEthernet 4/1 both
Switch(config)#monitor session 1 source interfacegigabitEthernet 4/2 both
Switch(config)#monitor session 1 destination remote vlan 100 interface gigabitEthernet 4/23 swith
Switch(config)#interface gigabitEthernet 4/23
Switch(config-if-GigabitEthernet 4/23)#switchport access vlan100
Switch(config-if-GigabitEthernet 4/23)#mac-loopback
Switch(config-if-GigabitEthernet 4/23)# no mac-address-learning

4、将监控服务器的端口g4/21及g4/22加入Remote VLAN

1
2
Switch(config)#interface range gigabitEthernet 4/21-22
Switch(config-if-range)#switchport access vlan 100