把交换机一个或多个端口(VLAN)的数据镜像到一个或多个端口的方法。
2) 为什么需要端口镜像 ?
在进行网络故障排查、网络数据流量分析的过程中,有时需要对网络节点或骨干交换机的某些端口进行数据流量监控分析,而在交换机中设置镜像(SPAN)端口,可以对某些可疑端口进行监控,同时又不影响被监控端口的数据交换。
通常为了部署 IDS 产品需要监听网络流量,但是在目前广泛采用的交换网络中监听所有流量有相当大的困难,因此需要通过配置交换机来把一个或多个端口(VLAN)的数据转发到某一个端口来实现对网络的监听。
SPAN数据流主要分为三类:
(1)输入数据流(Ingress SPAN):指被源端口接收进来,其数据副本发送至监控端口的数据流;
(2)输出数据流(Egress SPAN):指从源端口发送出去,其数据副本发送至监控端口的数据流;
(3)双向数据流(Both SPAN):即为以上两种的综合。
(1)对数据进行监控分析的设备应搭接在监控端口上;
(2)冗余链路端口只能作为SPAN任务的源端口;
(3)SPAN任务中所有的源端口的被监控方向必须一致;
(4)在设置端口为源端口时,如果没有指定数据流的监控方向,默认为双向;
(5)当SPAN任务含有多个源端口时,这些端口可以来自不同的VLAN;
(6)取消某一个SPAN任务的命令是:no monitor session任务号;
(7)取消所有SPAN任务的命令是:no monitor;
(8)SPAN任务的目的端口不能参与到生成树的距离计算中,但由于源端口的BPDU包可以被镜像,所以SPAN目的端口可以监控到来自源端口的BPDU数据包。
对于Cisco 2950、Cisco 3550 和 Cisco 3750 系列交换机配置SPAN的源端口,命令格式如下:
Switch(config)#[no]monitorsession{session_number}{source(interface type/num)|{vlan vlan_ID}}[,|-|rx|tx| both]
//rx 指接收的流量,tx 指发送的流量,both 指双向流量
以下例子显示如何配置源端口为FastEthernet 5/l的SPAN任务,其监控对象为双向数据流:
Switch(config)# monitor session 1 source interface fastethrnet 5/l
配置SPAN的目的端口,命令格式如下:
Switch(config)# [no] monitor session(session_number){destination{interface type/num}}
以下例子显示如何配置目的端口为FastEthernet 5/48的SPAN任务:
Switch(config)#monitor session l destination interface fastethernet 5/48
当SPAN任务的源端口为Trunk端口时,命令格式如下:
Switch(config)#[no]monitor session{session_number}{filter vlan {vlan_ID}[,|-]}
以下例子是当源端口为Trunk端口时,如何配置监控其中的VLANl~VLAN5和 VLAN9:
Switch(config)# monitor session 2 filter vlan 1-5,9
以下是一个综合例子,将用到前面所提到的各种命令:
监控Trunk端口FastEtheraet4/10上的双向数据流(在该端口上承载着VLANl~ VLANl005的数据流),只监控其中VLAN57中的数据流,端口 FastEthernet4/15为目的端口,具体配置方法如下:
Switch(config)# monitor session 1 source interface fastethernet 4/10
Switch(config)# monitor session 1 filter vlan 57
Switch(config)# monitor session 1 destination interface fastethernet 4/15
如果想释放该SPAN任务,输入如下命令: Switch(config)# no monitor session 1
以下语句显示如何检验SPAN任务的配置结果:Switch# show monitor session 2
在配置镜像端口(SPAN)过程中,还应考虑到数据流量过大时,设备的处理速度及端口数据缓存的大小,要尽量减少被监控数据包的丢失。