基本功能
通过设置SPAN对话能够对本交换机端口或整个VLAN的数据流进行监视,被监控的数据流可以由协议分析设备进行分析处理。
工作方式
SPAN对话由一个目的端口和一组源端口组成,它将一个或多个VLAN上的一个或多个源端口的数据包复制到目的端口上。SPAN不影响源 端口的正常工作,也不会影响正常的交换机操作。在交换网络中可以配置多个SPAN对话,只有当目的端口可操作,同时源端口或源VLAN中的任意一个端口活动时才可激活SPAN对话。
配置命令
将被监视的端口或VLAN配置为源端口,将接收被复制数据包的端口设置为目的端口。
set span {src_mod/src_ports | src_vlan} dest_mod/dest_port [rx | tx | both] [filter vlan] [inpkts {enable | disable}] [learning {enable | disable}] [create]
配置说明
src_mod/src_ports: 源模块/端口号。它们可以存在于任何VLAN中,也可以配置一个或多个VLAN作为源端口(src_vlans),此时该VLAN中的所有端口作为SPAN对话中的源端口。一个端口可以配置为多个SPAN对话的源端口。
dest_mod/dest_port: 目的模块/端口号。每个SPAN对话中只有一个目的端口,同一个端口不能作为多个SPAN对话的目的端口,一个目的端口不能被配置为源端口,活动的目的端口不参与Spanning Tree。
[rx | tx | both]: 通过源端口的流量可以分为进入(ingress)、外出(egress)、双向(both)三类,可以在SPAN对话中配置监视的是哪种类型的数据包。当监视整个VLAN的数据时只能为双方向的数据流。
[filter vlan]: Trunk VLAN过滤,6.3(1)以后的版本可以对源端口为Trunk的端口进行VLAN限制过滤,只允许指定VLAN的流量被复制到目的端口。
[inpkts {enable | disable}]: 缺省情况下目的端口被激活后将不接收进入的数据包,造成目的端口不能与其他设备进行通信,可以通过配置允许进行转发,此时发送的数据包在本端口所属的VLAN内进行交换。此目的端口将不参与本VLAN的Spanning Tree。
[learning {enable | disable}]: 当允许目的端口进行转发时,可以设置允许从目的端口学习源MAC地址,此项只影响与目的端口相连的设备。缺省时为enable,但当配置inpkts enable时应同时配置learning enable。
[create]: 采用create可以产生新的SPAN对话,最多可以同时运行5个SPAN对话。
注意
1. SPAN对话只能监视本交换机内的数据包。
2. 交换机的sc0接口不能配置为SPAN源端口。
3. EtherChannel端口不能作为SPAN目的端口。
4. 在进行SPAN对话配置时,如果目的端口的Trunking模式为“On” 或 “Nonegotiate”,则SPAN包将以原Trunking配置的封装格式进行转发,同时这个目的端口将停止Trunking。
配置例子:
例1:
配置port 2/5 (the SPAN source) 的出入双向数据包被复制到port 2/10 (the SPAN destination)。
Console> (enable) set span 2/5 2/10
Console> (enable) show span
Destination : Port 2/10
Admin Source : Port 2/5
Oper Source : None
Direction : transmit/receive
Incoming Packets: disabled
Learning : enabled
Filter : -
Status : active
-----------------------------
Total local span sessions: 1
Console> (enable)
例2:
配置VLAN 522和523为SPAN source, port 2/1 为SPAN destination:
Console> (enable) set span 522-523 2/1
Console> (enable) show span
Destination : Port 2/1
Admin Source : VLAN 522-523
Oper Source : Port 2/1-2
Direction : transmit/receive
Incoming Packets: disabled
Learning : enabled
Filter : -
Status : active
----------------
Total local span sessions: 1
Console> (enable)
禁止SPAN
set span disable [dest_mod/dest_port | all] 通过禁止目的端口可以清除SPAN对话。
例如:
Console> (enable) set span disable 2/3
This command may disable your span session(s).
Do you want to continue (y/n) [n]? y
Disabled Port 2/3 to monitor transmit/receive traffic of Port
Incoming Packets disabled. Learning enabled.
Console> (enable)
注:以上命令适用于set命令集的Catalyst系列交换机,对一些IOS命令的交换机如Catalyst2950、3500等,其命令有所不同。