土豆嫁接西红柿:配置Catalyst交换端口分析器(SPAN)

来源:百度文库 编辑:偶看新闻 时间:2024/05/03 12:25:59
介绍
交换端口分析器(SPAN)功能有时被称为端口镜像或端口监控,该功能可通过网络分析器(例如交换机探测设备或者其它远程监控(RMON)探测器)选择网络流量进行分析。以前,SPAN是Catalyst交换机族较为基本的功能,但最新推出的CatOS有许多增强功能,而且有许多功能是用户现有才开始使用的。本文并不是SPAN功能的又一种配置指南,而是立足于介绍已实施的SPAN的最新功能。本文将对SPAN的一般问题进行回答,例如:
SPAN是什么?我如何对它进行配置?
有什么不同的功能(尤其是同时进行多个SPAN话路)?需要何种级别的软件来执行这些功能?
SPAN是否会影响交换机的性能?
开始配置前
规则
有关详情,请参阅 Cisco技术提示规则。
SPAN简要介绍
SPAN是什么?为什么需要SPAN? 在交换机上引入SPAN功能,是因为交换机和集线器有着根本的差异。当集线器在某端口上接收到一个数据包时,它将向除接收该数据包端口之外的其它所有端口发送一份数据包的拷贝。当交换机启动时,它将根据所接收的不同数据包的源MAC地址开始建立第2层转发表。一旦建立该转发表,交换机将把指定了MAC地址的业务直接转发至相关端口。
例如,如果您想要截获从主机A发送至主机B的以太网业务,而两台主机是用集线器相连的,那么只要在该集线器上安装一嗅探器,所有端口均可看见主机A和主机B之间的业务:

在交换机中,当知道了主机B的MAC地址之后,从主机A到主机B的单播业务仅被转发至主机B的端口,因此,嗅探器看不见:

在这个配置中,嗅探器将仅截获扩散至所有端口的业务,例如广播业务、具有CGMP或者IGMP侦听禁止的组播业务以及未知的单播业务。当交换机的CAM表中没有目的地的MAC时,将发生单播泛滥。它无法理解向何处发送业务,而将数据包大量发送至VLAN中的所有端口。
将主机A发送的单播数据包人工复制到嗅探器端口需要一些附加功能来实现。

在上面的图表中,与嗅探器相连的端口配置为:对主机A发送的每一个数据包拷贝进行接收。该端口被称为SPAN端口。下文各节将说明如何对该功能进行精确的调节,使其作用不仅仅限于监控端口。
入口业务: 进入交换机的业务。
出口业务: 离开交换机的业务。
源(SPAN)端口: 用SPAN功能受监控的端口。
目的地(SPAN)端口: 监控源端口的端口,通常连有一个网络分析器。
监控端口:在Catalyst 900xl/3500xl/2950术语中,监控端口也是目的地SPAN端口。

本地SPAN: 当被监控端口全部位于同一交换机上作为目的地端口时,SPAN功能为本地SPAN功能。这和下文中的远程SPAN形成对比。
远程SPAN或者RSPAN: 作为目的地端口的某些源端口没有位于同一交换机上。这是一项高级功能,要求有专门的VLAN来传送该业务,并由交换机之间的SPAN进行监控。并非所有交换机均支持RSPAN,所以,请检查各自的版本说明或者配置指南,来核实您要进行配置的交换机是否可以使用该功能。
PSPAN: 指基于端口的SPAN。用户对交换机指定一个或者数个源端口以及一个目的地端口。
VSPAN: 指基于VLAN的SPAN。在给定的交换机中,用户可以使用单个命令来选择对属于专门VLAN的所有端口进行监控。
ESPAN ESPAN指SPAN增强版本。该术语在SPAN的发展期间数次用于命名新增功能,因此意义并不很明确。在本文中避免使用该术语。
管理源: 已配置受监控的源端口或者VLAN的列表。
操作源: 受到有效监控的端口列表。这可能和管理源有所不同。例如,在关闭模式下的端口可能在管理源中出现,但它不受到有效监控。
[page]
本文使用CatOS 5.5作为Catalyst 4000、5000以及6000族的参考。在Catalyst 2900XL/3500XL族中使用了Cisco IOS(r)软件版本12.0(5)XU。虽然本文以后会根据SPAN的变化而更新,但有关SPAN功能的最新发展情况,请参阅文档的版本说明。
本文中所提供的信息是在从特殊实验室环境下的设备中产生的。本文中所使用的所有设备均以缺省配置启动。如果您是在实际网络中作业,请确保您在使用所有命令之前,已了解这些命令可能产生的影响。.
Catalyst 2900XL/3500XL中的端口监控功能没有太过扩展,因此比较容易理解。
您可以根据需要创建多个本地PSPAN话路。例如,您可以在您选作目的地SPAN端口的端口配置创建PSPAN话路,只需用 端口监视  命令列出您想监控的源端口即可。在Catalyst 2900XL/3500XL的术语中,监控端口其实是目的地SPAN端口。
主要限制在于:与给定话路相关的所有端口(无论源端口还是目的地端口)必须属于同一VLAN。.
如果您没有在端口监控命令中指定任何接口,则作为接口的所有其它属于同一VLAN的端口将受到监控。
以下限制,摘自 Catalyst 2900XL/3500XL 的命令参考:
ATM端口是唯一无法受到监控的端口。然而您还是可以对ATM端口进行监控。以下限制适用于具有端口监控能力的各个端口:
快速EthernetChannel或者千兆EthernetChannel 端口群中不能有监控端口。
因为端口安全性而无法启用监控端口。
监控端口不可以是多VLAN端口。
当端口受到监控时,监控端口必须是同一VLAN的成员。对于监控端口以及受到监控的端口,不允许进行VLAN成员的改变。
监控端口不可以是动态接入端口或者中继端口。但是,静态接入端口可以对中继线上的VLAN、多VLAN或者动态接入端口进行监控。受到监控的VLAN与静态接入端口有关联。
如果监控器以及受监控端口为受保护端口,端口监控将不起作用。
有关功能冲突的补充信息,请参阅下文的链接:
管理交换机——管理配置冲突 -- Catalyst 2900XL/3500XL 系列
请注意,处于监控状态的端口不执行生成树协议(STP),但端口仍然属于其镜像的端口VLAN。如果端口监控属于某个环路的一部分(例如,当您将其连接至集线器或者网桥,而环接至网络的其它部分时),您可能会以严重的桥接环路状况收尾,因为您不再受到STP的保护。请参阅 “为什么我的SPAN话路会产生一个桥接环路?”一节, 看一看产生该情况的一个实例。
在本例中,创建了两个并行的SPAN话路。
端口Fa0/1将对由端口Fa0/2发送、端口Fa0/5接收的业务进行监控。它也将对往返于管理接口VLAN 1的业务进行监控。
端口Fa0/4将对端口Fa0/3以及Fa0/6进行监控。
端口Fa0/3、Fa0/4以及Fa0/6均在VLAN 2中进行配置;其它端口以及管理接口均在默认的VLAN 1中进行配置。

Catalyst 2900XL/3500XL上的配置样本
Catalyst 2900XL/3500XL上的配置样本
! interface FastEthernet0/1 port monitor FastEthernet0/2 port monitor FastEthernet0/5 port monitor VLAN1 ! interface FastEthernet0/2 ! interface FastEthernet0/3 switchport access vlan 2 ! interface FastEthernet0/4 port monitor FastEthernet0/3 port monitor FastEthernet0/6 switchport access vlan 2 ! interface FastEthernet0/5 ! interface FastEthernet0/6 switchport access vlan 2 ! ! interface VLAN1 ip address 10.200.8.136 255.255.252.0 no ip directed-broadcast no ip route-cache !
配置步骤说明
如果要将端口Fa0/1配置为源端口Fa0/2、Fa0/5以及管理接口的目的端口,请在配置模式中选择接口Fa0/1:
Switch(config)#int fa0/1
Enter the list of ports to be monitored:
Switch(config-if)#port monitor fastEthernet 0/2
Switch(config-if)#port monitor fastEthernet 0/5
然后,这两个端口接收的或者发送的数据包也会被复制到端口Fa0/1。使用另一版本的port monitor 命令对管理接口的监控进行配置:
Switch(config-if)#port monitor VLAN 1
注:?/B>上文中的命令并不意味着端口Fa0/1将监控整个VLAN 1。VLAN 1关键字仅指交换机的管理接口。
输入以下命令说明在不同VLAN中监控某个端口是不可能的:
Switch(config-if)#port monitor fastEthernet 0/3
FastEthernet0/1 and FastEthernet0/3 are in different vlan
To finish the configuration, configure another session, this time using Fa0/4 as a destination SPAN port:
Switch(config-if)#int fa0/4
Switch(config-if)#port monitor fastEthernet 0/3
Switch(config-if)#port monitor fastEthernet 0/6
Switch(config-if)#^Z
检查配置情况的最佳方法是发出简单的 show running命令,或者使用 show port monitor 命令:
Switch#show port monitor
Monitor Port Port Being Monitored
--------------------- ---------------------
FastEthernet0/1 VLAN1
FastEthernet0/1 FastEthernet0/2
FastEthernet0/1 FastEthernet0/5
FastEthernet0/4 FastEthernet0/3
FastEthernet0/4 FastEthernet0/6
注:?/B>Catalyst 2900XL以及3500XL不支持单一接收方向的SPAN(Rx SPAN或者入口SPAN)或者单一发送方向的SPAN(Tx SPAN或者出口SPAN)。所有配置SPAN的受控端口必须既能进行业务接收(Rx)又能进行业务发送(Tx)。
[page]
Catalyst 2948G - L3和4908G - L3上的SPAN
Catalyst 2948G - L3以及4908G - L3为固定配置的交换机-路由器或者第3层交换机。第3层交换机的SPAN功能被称为端口侦听。但是这些交换机不支持端口侦听。请参阅 “Catalyst 2948G - L3和Catalyst 4908G - L3交换机路由器不支持的功能” 以及Catalyst 2948G - L3最新的版本说明。
Catalyst 8500上的SPAN
Catalyst 8540提供一项很基本的SPAN功能,名为端口侦听。有关详细信息,请检查现在的Catalyst 8540文档资料:
Catalyst 8500命令参考
关于端口侦听 (摘自第3层交换接口配置指南)
以下摘自命令参考:
端口侦听使您能将业务从一个或者多个源端口透明地镜像至一个目的地端口。
如果要设定基于端口的业务镜像或者侦听,请使用 snoop 命令。如果要取消侦听,请使用该命令的否定形式。
snoop interface source-portdirection snoop-direction
no snoop interface source-port
源端口指正受到监控的端口;侦听方向指源端口或者受到监控端口的业务方向:接收、发送或者两者兼备。.
8500CSR# configure terminal
8500CSR(config)# interface fastethernet 12/0/15
8500CSR(config-if)# shutdown
8500CSR(config-if)# snoop interface fastethernet 0/0/1 direction both
8500CSR(config-if)# no shutdown
下例显示了 show snoop 命令的输出结果。
8500CSR# show snoop
Snoop Test Port Name: FastEthernet1/0/4 (interface status=SNOOPING)
Snoop option:         (configured=enabled)(actual=enabled)
Snoop direction:      (configured=receive)(actual=receive)
Monitored Port Name:
(configured=FastEthernet1/0/3)(actual=FastEthernet1/0/3)
注:?/B>如果您正在运行MSR镜像(8540m-in-mz),Catalyst 8540以太网端口将不支持该命令。您必须使用CSR镜像(例如8540c - in - mz)来代替。当您运行MSR镜像时,仅ATM接口上支持侦听,这通过发出以下命令实现:
atm snoop
atm snoop-vp
atm snoop-vc
[page]
运行CatOS的Catalyst 4000、5000以及6000系列交换机上的SPAN
本地SPAN
SPAN功能已经逐一添加至CatOS,SPAN配置由一套SPAN命令组成。对于该命令,现在有大量选项可供选择:
switch (enable) set span
Usage: set span disable [dest_mod/dest_port|all]
set span
[rx|tx|both]
[inpkts ]
[learning ]
[multicast ]
[filter ]
[create]
不同的SPAN选项所使用的各个变量在以下网络图中介绍:

该图是Catalyst 6000交换机插槽6线路卡的一部分。端口6/1以及6/2属于VLAN 1,端口6/3属于VLAN 2,而端口6/4以及6/5属于VLAN 3。将一嗅探器连接至端口6/2,在各个不同的情况下将其作为监控端口使用。
PSPAN、VSPAN:监控某些端口或者整个VLAN
采用 set span 命令的最简单形式来监控单个端口。句法是: set span 
使用SPAN监控单个端口

switch (enable) set span 6/1 6/2
Destination : Port 6/2
Admin Source : Port 6/1
Oper Source : Port 6/1
Direction : transmit/receive
Incoming Packets: disabled
Learning : enabled
Multicast : enabled
Filter : -
Status : active
switch (enable) 2000 Sep 05 07:04:14 %SYS-5-SPAN_CFGSTATECHG:local span
session active for destination port 6/2
使用该配置之后,端口6/1接收或者发送的数据包将被复制到端口6/2。当输入了配置时,该情况得到清晰描述。如果要得到当前SPAN配置的摘要信息,使用show span命令即可:
switch (enable) show span
Destination : Port 6/2
Admin Source : Port 6/1
Oper Source : Port 6/1
Direction : transmit/receive
Incoming Packets: disabled
Learning : enabled
Multicast : enabled
Filter : -
Status : active
Total local span sessions: 1
使用SPAN监控数个端口

The set span 允许用户指定一个以上的源端口。列出您需要实施SPAN的所有端口,用逗号分隔。命令行解析程序同样可以让您通过使用连字符来指定多个端口。以下实例将说明这个功能。使用端口6/1上的SPAN以及从6/3开始的三个端口范围上的SPAN。仅可存在一个目的地端口,并总是在SPAN源之后对其进行指定。
switch (enable) set span 6/1,6/3-5 6/2
2000 Sep 05 07:17:36 %SYS-5-SPAN_CFGSTATECHG:local span session inactive
for destination port 6/2
Destination : Port 6/2
Admin Source : Port 6/1,6/3-5
Oper Source : Port 6/1,6/3-5
Direction : transmit/receive
Incoming Packets: disabled
Learning : enabled
Multicast : enabled
Filter : -
Status : active
switch (enable) 2000 Sep 05 07:17:36 %SYS-5-SPAN_CFGSTATECHG:local span
session active for destination port 6/2
注:?/B>Catalyst 4000/5000/6000和Catalysts 2900XL/3500XL不同,前者可以对属于CatOS 5.1之前的VLAN的数个不同端口进行监控。在这里,镜像端口被分配至VLAN1、2和3。
使用SPAN监控VLAN
最后, set span 命令让您能对端口进行简单配置,便可监控整个VLAN的本地业务: set span .
将一个或者多个VLAN列表作为源,而非端口列表:

switch (enable) set span 2,3 6/2
2000 Sep 05 07:40:10 %SYS-5-SPAN_CFGSTATECHG:local span session inactive
for destination port 6/2
Destination : Port 6/2
Admin Source : VLAN 2-3
Oper Source : Port 6/3-5,15/1
Direction : transmit/receive
Incoming Packets: disabled
Learning : enabled
Multicast : enabled
Filter : -
Status : active
switch (enable) 2000 Sep 05 07:40:10 %SYS-5-SPAN_CFGSTATECHG:local span
session active for destination port 6/2
进行了以上配置之后,进入或者离开VLAN 2或者VLAN 3的每一个数据包将复制到端口6/2。请注意,该结果和当您单独对所有属于命令中指定VLAN的端口实施SPAN所取得的结果是完全一致的。您可以通过对 Oper Source 以及 Admin Source 字段进行比较来看到这个情况。Admin Source基本上列出您已经对SPAN话路作出的所有配置,而Oper Source字段列出正在使用SPAN的端口。
入口/出口SPAN
在前面的例子中,进入以及离开指定端口的业务受到了监控。您可以在字段 Direction: transmit/receive中看到这个情况。 Catalyst 4000/5000/6000系列交换机让您得以在一个给定端口上收集只出(出局)或者只入(入局)业务。您仅需在结尾处添加关键字 rx ((接收)或者 tx (发送),默认值为 both (发送与接收)。
set span
例:这个话路捕获VLAN 1以及VLAN 3的所有入口业务并将其镜像至端口6/2:

switch (enable) set span 1,3 6/2 rx
2000 Sep 05 08:09:06 %SYS-5-SPAN_CFGSTATECHG:local span session
inactive for destination port 6/2
Destination : Port 6/2
Admin Source : VLAN 1,3
Oper Source : Port 1/1,6/1,6/4-5,15/1
Direction : receive
Incoming Packets: disabled
Learning : enabled
Multicast : enabled
Filter : -
Status : active
switch (enable) 2000 Sep 05 08:09:06 %SYS-5-SPAN_CFGSTATECHG:local span
session active for destination port 6/2
在中继线上实施SPAN
中继线是交换机中的一个特例,它是承载数个VLAN的端口。如果选择中继线作为源端口,该中继线上所有的VLAN业务将受到监控。
对属于中继线VLAN的子集进行监控
在下图中,端口6/5现在是传送所有VLAN的中继线。试想,您想对端口6/4以及6/5VLAN 2中的业务进行SPAN。简单使用该命令即可:
switch (enable) set span 6/4-5 6/2

在该情况中,SPAN端口所接收的业务将是您所需业务的一个混合体,且所有VLAN通过中继线6/5进行传送。例如,如果数据包来自于VLAN 2中的端口6/4或者来自于VLAN 1中的端口6/5,将无法在目的地端口上进行区别。另一种可能性是使用整个VLAN 2上的SPAN:
switch (enable) set span 2 6/2

采用这个配置,最低限度上您仅监控来自中继线且属于VLAN 2的业务。现在的问题是,您也接收到并不想要的来自于端口6/3的业务。CatOS包括的另一个关键字让您能选择一些VLAN来从中继线进行监控:
switch (enable) set span 6/4-5 6/2 filter 2
2000 Sep 06 02:31:51 %SYS-5-SPAN_CFGSTATECHG:local span session inactive
for destination port 6/2
Destination : Port 6/2
Admin Source : Port 6/4-5
Oper Source : Port 6/4-5
Direction : transmit/receive
Incoming Packets: disabled
Learning : enabled
Multicast : enabled
Filter : 2
Status : active

这个命令将使我们只选择所有受监控的中继线上的VLAN2来实现我们的目标(当然,您可以使用过滤器选项指定数个VLAN)。
注:?/B>仅Catalyst 4000和Catalyst 6000交换机支持过滤器选项。Catalyst 5000不支持使用 set span 命令来提供过滤器选项。
目的地端口上的中继线
如果您的源端口属于数个不同的VLAN,或者当您在一个中继线端口上对数个VLAN使用SPAN时,您可能需要分辨在目的地SPAN端口接收的一个数据包属于哪一个VLAN。这可以通过在对SPAN进行配置之前启用的目的地端口上的中继线来实现。通过这个方式,所有转发至嗅探器的数据包也将被标上各自的VLAN ID。
注:?/B>您的嗅探器需要识别对应的封装。
switch (enable) set span disable 6/2
This command will disable your span session.
Do you want to continue (y/n) [n]?y
Disabled Port 6/2 to monitor transmit/receive traffic of Port 6/4-5
2000 Sep 06 02:52:22 %SYS-5-SPAN_CFGSTATECHG:local span session
inactive for destination port 6/2
switch (enable) set trunk 6/2 nonegotiate isl
Port(s) 6/2 trunk mode set to nonegotiate.
Port(s) 6/2 trunk type set to isl.
switch (enable) 2000 Sep 06 02:52:33 %DTP-5-TRUNKPORTON:Port 6/2 has become isl trunk
switch (enable) set span 6/4-5 6/2
Destination : Port 6/2
Admin Source : Port 6/4-5
Oper Source : Port 6/4-5
Direction : transmit/receive
Incoming Packets: disabled
Learning : enabled
Multicast : enabled
Filter : -
Status : active
2000 Sep 06 02:53:23 %SYS-5-SPAN_CFGSTATECHG:local span session active for
destination port 6/2
创建多个同步话路
到目前为止,仅创建了单个话路。每当您输入一条新的 set span 命令,以上配置将失效。现在CatOS可以同时执行多个话路,换言之,它可以同时具有不同的目的地端口。请使用 set span create 命令来添加另外的SPAN话路。在以下话路中,端口6/1到6/2将受到监控,与此同时,监控器VLAN 3到端口6/3也将受到监控:

switch (enable) set span 6/1 6/2
2000 Sep 05 08:49:04 %SYS-5-SPAN_CFGSTATECHG:local span session inactive
for destination port 6/2
Destination : Port 6/2
Admin Source : Port 6/1
Oper Source : Port 6/1
Direction : transmit/receive
Incoming Packets: disabled
Learning : enabled
Multicast : enabled
Filter : -
Status : active
switch (enable) 2000 Sep 05 08:49:05 %SYS-5-SPAN_CFGSTATECHG:local span
session active for destination port 6/2
switch (enable) set span 3 6/3 create
Destination : Port 6/3
Admin Source : VLAN 3
Oper Source : Port 6/4-5,15/1
Direction : transmit/receive
Incoming Packets: disabled
Learning : enabled
Multicast : enabled
Filter : -
Status : active
switch (enable) 2000 Sep 05 08:55:38 %SYS-5-SPAN_CFGSTATECHG:local span
session active for destination port 6/3
现在,通过 show span 命令检查你是否同时有两条话路:
switch (enable) show span
Destination : Port 6/2
Admin Source : Port 6/1
Oper Source : Port 6/1
Direction : transmit/receive
Incoming Packets: disabled
Learning : enabled
Multicast : enabled
Filter : -
Status : active
------------------------------------------------------------------------
Destination : Port 6/3
Admin Source : VLAN 3
Oper Source : Port 6/4-5,15/1
Direction : transmit/receive
Incoming Packets: disabled
Learning : enabled
Multicast : enabled
Filter : -
Status : active
Total local span sessions: 2
现在新增话路已经创建。您需要删除一些话路的方法。命令是:
set span disable
话路的识别要通过它的目的地端口(因为每个话路只有一个目的地端口)。删除第一个创建的话路,该话路使用端口6/2作为目的地:
switch (enable) set span disable 6/2
This command will disable your span session.
Do you want to continue (y/n) [n]?y
Disabled Port 6/2 to monitor transmit/receive traffic of Port 6/1
2000 Sep 05 09:04:33 %SYS-5-SPAN_CFGSTATECHG:local span session inactive
for destination port 6/2
你现在可以核查你只剩一条话路了:
switch (enable) show span
Destination : Port 6/3
Admin Source : VLAN 3
Oper Source : Port 6/4-5,15/1
Direction : transmit/receive
Incoming Packets: disabled
Learning : enabled
Multicast : enabled
Filter : -
Status : active
Total local span sessions: 1
如果要在一个步骤中取消所有同步话路,请使用以下命令:
switch (enable) set span disable all
This command will disable all span session(s).
Do you want to continue (y/n) [n]?y
Disabled all local span sessions
2000 Sep 05 09:07:07 %SYS-5-SPAN_CFGSTATECHG:local span session inactive
for destination port 6/3
switch (enable) show span
No span session configured
其它SPAN选项
set span命令的句法是:
switch (enable) set span
Usage: set span disable [dest_mod/dest_port|all]
set span
[rx|tx|both]
[inpkts ]
[learning ]
[multicast ]
[filter ]
[create]
本节对本文中尚未述及的选项进行简要介绍:
Sc0: Sc0:如果在对发送至管理接口的业务进行监控时需要sc0,将在SPAN配置中指定sc0关键字。本功能由Catalyst 4000和6000上的CatOS 5.1提供。
Inpkts : 该选项极其重要。 如前所述,配置为SPAN目的地的端口仍然属于其最初的VLAN。 目的地端口接收到的数据包继而进入该VLAN,就好像该端口是一个正常的接入端口那样,可能会需要动作。如果您将PC机用作嗅探器,可能需要将该PC机完全连接至VLAN。但是,如果您将目的地端口连接至另一个网络设备,而该设备在网络中创建了一个环路,则可能会比较危险。目的SPAN端口将不执行STP,您可能会以危险的桥接环路状况终止。请参阅 “为什么我的SPAN话路会产生一个桥接环路?” 一节来了解产生该情况的过程。该选项的默认设定为“禁止使用”,这意味着目的SPAN端口将丢弃接收到的数据包,以防止桥接环路。该选项在CatOS 4.2中出现。
Learning : 该选项可以禁止对目的地端口的探听。默认值为:启用探听,目的地端口获悉其接收到的入口数据包的MAC地址。本功能在Catalyst 4000与5000上的CatOS 5.2以及Catalyst 6000上的CatOS 5.3中出现。
Multicast : 顾名思义,该选项允许您启用或者禁止对组播数据包的监控(默认值为启用)。本功能在Catalyst 4000以及6000上的CatOS 5.1中出现。
Spanning port 15/1: 在Catalyst 6000上,也可以将端口15/1(或者16/1)用作SPAN源,这将使它能够对转发至多层交换机功能卡(MSFC)(对于路由选择至MSFC或者指向MSFC的软件)的业务进行监控。
[page]
RSPAN概述
远程SPAN(RSPAN)允许您对遍布交换网络的各个源端口进行监控,而不仅仅是交换机上的本地SPAN。此功能在Catalyst 6000族上的CatOS 5.3中出现,且自CatOS 6.3起被添加入Catalyst 4000族交换机。
该功能所起的作用与常规SPAN话路一致。由SPAN进行监控的业务(而非直接复制到目的地端口)大量发送至专门的RSPAN VLAN。所以目的地端口可以处于该RSPAN VLAN的任何位置(甚至可以有多个目的地端口)。
下图显示了RSPAN话路的结构。

假设您配置RSPAN对主机A发送的业务进行监控。当A生成一个送往B的帧,数据包将被Catalyst 6000策略功能卡应用专用集成电路(ASIC)复制入预定RSPAN VLAN。在那里,数据包大量发送至属于RSPAN VLAN的所有其它端口。本图中所画的所有交换机间链路均为中继线,这是RSPAN的一个要求。仅有的接入端口是目的地端口,这些目的地端口连接嗅探器(S4以及S5上)。
关于该设计的一些说明:
S1被称为源交换机。数据包只进入配置为RSPAN源的交换机中的RSPAN VLAN。现在,交换机只作为一个RSPAN话路的源(这意味着源交换机每次只能馈入一个RSPAN VLAN)。
S2和S3是中间交换机。它们不是RSPAN源,没有目的地端口。 一个交换机可以成为多个RSPAN话路的媒介。
S4和S5是目的地交换机。它们有一些端口配置成为RSPAN话路的目的地。现在,Catalyst 6000可以拥有多达24个RSPAN目的地端口,可用于一个或者多个不同的话路。您可能还注意到:S4既是目的地交换机,又是中间交换机。.
您可以看到RSPAN数据包大量发送至RSPAN VLAN:即使是像S2这样的交换机(它没有处于通向目的地端口的路径中)也接收到了RSPAN VLAN的业务。这清晰地表明:在此类S1 - S2链路中,对该VLAN进行修整是十分有用的。
通过禁止RSPAN VLAN上的探听,可以实现大量发送。.
为了防止出现环路,RSPAN VLAN上已运用了STP。因此,RSPAN无法监控网桥协议数据单元(BPDUs)。
RSPAN配置实例
以下信息将说明如何使用极为简单的RSPAN设计来建立这些不同的网元。S1和S2是两台Catalyst 6000交换机,您将对某些S1的端口或者S2的VLAN进行监控。为了实现这个操作,您将看到大部分工作是建立专门的RSPAN VLAN。其余的命令在句法上类似于普通的SPAN话路命令。

在交换机S1和S2之间建立ISL中继线
一开始,您仅需在各交换机的域中置入同一VLAN中继线协议(VTP),并将一端配置为所需中继线。VTP协商将执行剩余操作。在S1上:
S1> (enable) set vtp domain cisco
VTP domain cisco modified
在S2上:
S2> (enable) set vtp domain cisco
VTP domain cisco modified
S2> (enable) set trunk 5/1 desirable
Port(s) 5/1 trunk mode set to desirable.
S2> (enable) 2000 Sep 12 04:32:44 %PAGP-5-PORTFROMSTP:Port 5/1 left bridge
port 5/1
2000 Sep 12 04:32:47 %DTP-5-TRUNKPORTON:Port 5/1 has become isl trunk
创建RSPAN VLAN
RSPAN话路需要特殊的RSPAN VLAN。必须对该VLAN进行创建(您不能将现有VLAN转换为RSPAN VLAN)。在本例中,使用的是VLAN 100。
S2> (enable) set vlan 100 rspan
Vlan 100 configuration successful
在一个交换机(该交换机配置作为VTP服务器)上输入本命令。在整个VTP域中,RSPAN VLAN 100的信息是自动扩散的。
将S2的端口5/2配置为RSPAN目的地端口
S2> (enable) set rspan destination 5/2 100
Rspan Type : Destination
Destination : Port 5/2
Rspan Vlan : 100
Admin Source : -
Oper Source : -
Direction : -
Incoming Packets: disabled
Learning : enabled
Multicast : -
Filter : -
Status : active
2000 Sep 12 04:34:47 %SYS-5-SPAN_CFGSTATECHG:remote span destination session
active for destination port 5/2
对S1的RSPAN源端口进行配置
在本例中,通过端口6/2对进入S1的入口业务进行监控。输入以下命令:
S1> (enable) set rspan source 6/2 100 rx
Rspan Type : Source
Destination : -
Rspan Vlan : 100
Admin Source : Port 6/2
Oper Source : Port 6/2
Direction : receive
Incoming Packets: -
Learning : -
Multicast : enabled
Filter : -
Status : active
S1> (enable) 2000 Sep 12 05:40:37 %SYS-5-SPAN_CFGSTATECHG:remote span
source session active for remote span vlan 100
所有端口6/2上的入口数据包将被大量发送至RSPAN VLAN 100,并通过中继线到达在S1上配置的目的地端口。
检验配置
show rspan 命令给出该交换机上的当前RSPAN结构的摘要信息。同样,在一给定时间中,只能存在一个源RSPAN话路。
S1> (enable) show rspan
Rspan Type : Source
Destination : -
Rspan Vlan : 100
Admin Source : Port 6/2
Oper Source : Port 6/2
Direction : receive
Incoming Packets: -
Learning : -
Multicast : enabled
Filter : -
Status : active
Total remote span sessions: 1
使用set rspan命令的其它可能配置
请参阅命令参考,了解 set rspan 命令选项全表。 您可以使用RSPAN通过数个命令行对源以及目的地进行配置。除此以外,SPAN和RSPAN实际都是完全相同的。如果您想要获得多个目的地SPAN端口,您甚至可以在单个交换机上进行RSPAN的本地使用。
请参阅 RSPAN 配置指南 来了解RSPAN配置的限制列表。
功能一览和限制
该表对已介绍的不同功能进行总结,并说明在指定平台上执行这些功能所需要的最低CatOS版本:
功能
Catalyst 4000
Catalyst 5000
Catalyst 6000
Inpkts启用/禁止选项
4.4
4.2
5.1
不同VLAN中的多重话路、端口
5.1
5.1
5.1
Sc0选项
X
5.1
5.1
组播启用/禁止选项
X
5.1
5.1
探听启用/禁止选项
5.2
5.2
5.3
RSPAN
6.3
X
5.3
 
 
下表简要列出了对SPAN话路数量的限制:
 
功能
Catalyst 4000系列交换机
Catalyst 5000系列交换机
Catalyst 6000系列交换机
接收SPAN话路或者收发SPAN话路
5
1
2
发送SPAN话路
5
4
4
接收、发送或者收发RSPAN源话路
5
不支持
1
RSPAN目的地
5
不支持
24
总话路
5
5
30
 
 
请参阅Cisco技术文档,以了解有关 Catalyst 4000, Catalyst 5000, Catalyst 6000 的附加限制以及配置指南。
[page]
Catalyst 2950/Catalyst 3550系列交换机上的SPAN
以下是在Catalyst 2950以及Catalyst 3550交换机上配置SPAN功能的指南。
Catalyst 2950交换机每次仅可开启一个SPAN话路,仅可对源端口进行监控,无法监控VLAN。.
Catalyst 3550交换机每次可支持两个SPAN话路,可对源端口以及VLAN进行监控。
Catalyst 2950和Catalyst 3550交换机上的SPAN功能配置命令相似,但Catalyst 2950无法监控VLAN。可根据下例所示,对SPAN进行配置:
C2950#configure terminal
C2950(config)#
C2950(config)#monitor session 1 source interface fastEthernet 0/2
!--- Interface fa 0/2 is configured as source port.
C2950(config)#monitor session 1 destination interface fastEthernet 0/3
!--- Interface fa0/3 is configured as destination port.
C2950(config)#
C2950#show monitor session 1
Session 1
---------
Source Ports:
RX Only:       None
TX Only:       None
Both:          Fa0/2
Destination Ports: Fa0/3
C2950#
注:?/B>和2900XL以及3500XL族交换机不同,Catalyst 2950以及3550族交换机可以在单一接收方向(接收SPAN或者入口SPAN)的情况下对源端口业务进行SPAN,也可以在单一发送方向(发送SPAN或者出口SPAN)或双向SPAN源端口业务。
注:?/B>如果Catalyst 2950使用Cisco IOS软件版本12.0(5.2)WC(1)或者任何早于版本12.1(6)EA2的软件,它将不支持上述命令。对于使用早于Cisco IOS软件版本12.1(6)EA2的Catalyst 2950,如果要在其上进行SPAN配置,请参阅下文的“启用交换端口分析器”一节:
管理Catalyst 2950交换机
注:?/B>Catalyst 2950交换机采用 12.1.(9)EA1d软件版本和更早的带SPAN培训支持的12.1版本,有一点需要注意,即SPAN目的端(连接到嗅探设备/PC)上看到的所有数据包都有一个802.1Q 标签,尽管SPAN源端口(受监控端口)可能没有 802.1Q中继端口。 如果嗅探装置或者PC NIC无法理解802.1Q标记数据包,它们可能会丢失数据包或者难以进行解码。当SPAN源端口为中继线端口时,非常需要察看802.1Q标记帧的能力。从12.1(11)EA1开始,您可以在SPAN目的地端口启用/禁止数据包标记。发出 monitor session session_number destination interface interface-id encapsulation dot1q 命令以在目的地端口启用数据包封装。如果没有对封装关键字进行指定,数据包的发送将不加标签,默认设定为从12.1(11)EA1开始。
[page]
运行集成Cisco IOS(本机方式)的Catalyst 4000和Catalyst 6000支持SPAN功能。两种交换机平台使用的是完全相同的命令行界面(CLI),且配置类似于前文所述的3550配置。相关的配置文档可以在下列文件中找到:
在Catalyst 6000上配置本地SPAN和SPAN
Catalyst 4000上的SPAN配置
该表对已介绍的不同功能进行总结,并说明在指定平台上执行这些功能所需要的最低Cisco IOS版本:
 
功能
Catalyst 2950/3550
Catalyst 3550
Catalyst 4000 (Cisco IOS)
Catalyst 6000 (Cisco IOS)
入口(inpkts)启用/禁止选项
目前不支持(1)
12.1(12)EA1
目前不支持(1)
目前不支持(1)
RSPAN
12.1(12c)EA1
12.1(12c)EA1
目前不支持(1)
12.1(13)E
 
 
(1) 仅支持入侵监测系统(IDS)以对网络安全性侵害进行监控、抵挡及汇报。
下表列出了对SPAN/RSPAN话路数量的限制:
 
功能
Catalyst 2950/3550
Catalyst 4000 (Cisco IOS)
Catalyst 6000 (Cisco IOS)
接收SPAN话路或者收发SPAN话路
2
2
2
发送SPAN话路
2
4
2
接收、发送或者收发RSPAN源话路
2
目前不支持(1)
2
RSPAN目的地
2
目前不支持(1)
64
总话路
2
6
66
 
 
(1) 功能目前不提供,且这些功能的提供一般不公开,除非在发布之后。 .
请参阅Cisco技术文档,以了解 Catalyst 3550, Catalyst 4000, 以及 Catalyst 6000 的附加限制以及配置指南。
[page]
不同Catalyst平台对SPAN性能的影响
Catalyst 2900XL/3500XL族
体系结构概述
以下是一个简化的2900XL/3500XL交换机内部体系结构图:

交换机的各个端口连接不同卫星,这些卫星通过辐射信道与交换结构进行通讯。 在顶部,所有卫星通过一个高速通知环互相连接,用于信令业务。
当卫星从一个端口收到数据包,该数据包被分割为信元并通过一个或多个信道发送至交换结构。然后数据包被保存在共享存储器。各卫星知道目的地端口。在上图中,卫星1知道数据包X将由卫星3及卫星4接收。它通过通知环向这些卫星发送一条信息,然后这些卫星开始通过它们的辐射信道对来自于共享存储器的信元进行检索,并最终转发该数据包。当源卫星识别了目的地之后,它也会发送一个指数,指定由另一个卫星下载的数据包的下载次数。每当一个卫星从共享存储器中检索该数据包时,该指数将递减。一旦该指数到达零,共享存储器可被释放。
性能影响
使用SPAN对一些端口进行监控即指额外地将数据包从数据缓冲器复制到一个卫星。高速交换结构的影响可以忽略不计。
监控端口接收所有被监端口发送与接收的业务拷贝。在这个体系结构内,发送至多个目的地的数据包被保存在存储器中,直到所有拷贝均已被转发。如果监控端口在一段稳定的时期内有百分之五十的超量预订,该端口可能出现拥堵,并占据部分共享存储器。一个或多个受到监控的端口可能同时遇到延迟现象。
Catalyst 4000家族
体系结构概述
Catalyst 4000建立在共享存储交换结构的基础上。下面简要描述了数据包经过交换机的路径。其实,真正的实施更为复杂。

在Catalyst 4000上,您可以对数据通路和控制通路进行辨别,前者相当于交换机内部的真实数据传输,后者是所有决策做出的地方。
当数据包进入该交换机,在数据包缓冲存储器(一个共享存储器)中分配一个缓冲区,同时将指向该缓冲区的数据包结构在数据包描述符表(PDT)中进行初始化。当数据复制入共享存储器后,控制通路决定进行交换的地点:从数据包源地址、目的地址、VLAN、协议类型、输入端口以及COS(802.1p标记或者端口默认值)对散列值进行计算。该值用于寻找虚拟路径表(VPT)中路径结构的虚拟路径指数(VPI)。进入VPT的虚拟路径具有和该特殊信息流有关的数个字段,其中包括目的地端口。PDT中的数据包结构现在根据虚拟路径的参考值以及计数器进行更新。在上述实例中,数据包将被传输到两个不同的端口,因此,计数器初始值为二。最后,数据包结构被添加到两个目的地端口的输出队列。在那里,数据从共享存储器被复制入端口的输出缓冲器,数据包结构计数器递减。当计数器到达零,共享存储器的缓冲区被释放。
性能影响
当使用SPAN功能时,需要将数据包发送至两个不同的端口,与上述实例类似。 这并不是问题,因为交换结构不是闭塞的。如果目的地SPAN端口出现拥堵,数据包被放入输出队列中,从而正确地从共享存储器中释放出来。故对交换操作没有影响。
Catalyst 5000/6000族
体系结构概述
对于Catalyst 5000和6000族,一个端口接收到的数据包被发送至内部交换总线上。 交换机中的每条线路卡开始在内部缓冲区保存该数据包。同时,编码地址识别逻辑(EARL)对数据包的报头进行接收,并计算通过结果总线发送至所有线路卡的结果指数。了解该指数后,线路卡能够逐个判断:它们应该对还在缓冲区中接收的数据包进行清除还是进行发送。
[page]


性能影响
无论最终是一个还是多个端口将发送数据包,这对于交换操作没有任何影响。因此,对于该体系结构,SPAN功能不会对性能产生影响.
[page]
过去这种情况经常发生在CatOS 5.1之前的版本。在那时,仅可存在一个SPAN话路,该话路即使在SPAN被禁止的情况下仍留在配置中。只需输入 set span enable (例如,通常用户因为打字错误而想要启用STP)即可恢复保存的SPAN话路。如果目的地端口用于转发用户业务,则可能导致严重的连接性问题。
即使在CatOS的当前版本中,也请注意您选为SPAN目的地的端口。
这个情况一般发生在管理员试图伪装RSPAN功能时或者只是因为简单的配置错误。
这里有一个实例:

例如,两个核心交换机,通过中继线连接,每一个都有数个服务器、客户端或者其它网桥。管理员要对在几个有SPAN的网桥中出现的VLAN 1进行监控。为了实现这个目的,管理员在各核心交换机上创建了一个监控整个VLAN 1的SPAN话路,并且,为了合并这两个话路,目的地端口被连接至同一集线器(或者使用另一个SPAN话路连接至同一交换机)。
实现该目的之后,每个单独的数据包通过一个核心交换机被VLAN 1接收,数据包被复制到其SPAN端口并向上转发至集线器。业务最终被嗅探器捕获。
唯一的问题在于,该业务还通过目的地SPAN端口被再次发送至核心2交换机,故在VLAN 1中创建了一个桥接环路。请记住,目的地SPAN端口没有执行STP,无法防止出现此类环路。

根据CatOS上的inpkts(输入数据包)选项说明,SPAN目的地端口默认丢失所有入口数据包,从而防止该故障出现。但潜在问题仍然会在Catalyst 2900XL/3500XL族中出现。还请注意,即使有inpkts选项防止环路现象出现,上述配置也可能导致网络问题(因为至少在目的地端口上启用了探听)。
下面的链接对具体Catalyst平台的性能影响进行说明:
Catalyst 2900XL/3500XL
Catalyst 4000
Catalyst 5000/6000
如果捆绑中的端口之一为SPAN目的地端口,将不会形成EthernetChannel 。如果您想进行配置,交换机将告诉您以下内容:
Channel port cannot be a Monitor Destination Port Failed to configure span feature
EthernetChanne捆绑中的端口可以用作SPAN源端口。
对于Catalyst 2900XL/3500XL族,只有交换机上的可用目的地端口数目会对SPAN话路数目有限制。
对于Catalyst 2950族,您在任何给定时间中仅可使用一个指定监控端口。如果您选择另一个端口作为监控端口,先前的端口将被禁止,重新选择的端口将变为监控端口。
从Catalyst 4000/5000/6000,从CatOS 5.1开始,您可以同时使用多个SPAN话路:请参阅“创建多个同步话路”一节,以及本文的 “配置限制” 一节。
同样,这通常是因为交换机的操作方式问题。当一个数据包通过交换机时,将发生以下情况:
数据包到达入口端口。
然后数据包被保存在至少一个缓冲区中。
最后数据包被再次发送至出口端口。

如果交换机接收到损坏的数据包,入口端口通常将其丢弃,所以您不会在出口端口见到该数据包。事实上交换机在捕获业务时并非完全透明。类似地,当您在上述情况下从您的嗅探器中看到了损坏的数据包,错误在第3步出口段中发生。
如果您认为损坏的数据包由某个设备发出,您可以将发送主机以及嗅探器设备连接在同一集线器上。集线器将不执行任何错误校验,因此,和交换机不同,集线器将不会丢失数据包,通过这个方式,您可以看到数据包。