SPAN(Switched Port Analyzer,交换机端口分析器)特性有助于性能管理和排错。SPAN能够将某个VLAN或一组端口的网络流量复制到某个端口上,这个端口通常连接到网络分析仪,例如switchProb设备,它是一种运行数据包捕获应用或RMON(Remote Monitoring,远程监控)探测器的工作站。SPAN不会对源端口或VLAN的网络流量交换产生影响。
一个源端口是SPAN程序从中复制流量的一个第2层或第 3层端口,从一个SPAN源端口转发到一个SPAN目的端口的数据可以包括端口发送的所有帧和/或端口接收的所有帧。
一个SPAN目的端口是SPAN程序将流量复制到一个第2层或第 3层的接口,当一个端口被配置为一个SPAN 的目的端口时,他将不转发除SPAN流量外的任何流量,并且只由SPAN程序使用,
本地SPAN包括在相同的交换机上配置源端口、源VLAN和目标端口。本地SPAN包括单个或多个VLAN配置为SPAN会话源,又称为VSPAN。源VLAN中的所有端口将成为VSPAN的源端口。本地SPAN将任何VLAN中的单个或多个端口(或从单个或多个VLAN)中的网络流量复制到用于分析的目标端口。
如图,将端口5的数据流镜像到端口10。端口10 上的一个网络分析仪无需物理连接到端口5就能收到来自端口5的所有网络流量。
SPAN会话支持对如下3种类型的网络流量进行监控:流入的网络流量、流出的网络流量、双向网络流量。通过将需要分析的源端口和VLAN所接受的网络流量复制到目标端口,流入SPAN能够监控流入的网络流量。通过将需要分析的源端口和VLAN所发送的网络流量复制到目标端口,流出SPAN能够监控流出的网络流量。当使用both(双向)关键字的时候,SPAN能够监控双向的网络流量。
默认情况下,本地SPAN监控所有的网络流量,其中包括多播和BPDU(Bridge Protocol Data Unit)
SPAN支持将交换端口和路由端口配置为SPAN源端口。SPAN能够在单个SPAN会话中监控单个或多个源端口。任何VLAN中都可以配置为源端口。Trunk端口能够与非Trunk端口混合形成有效的源端口,虽然如此,目标端口的trunk(dot1q或ISL)配置能够确定目标端口所转发的数据包封装。如果目标端口没有配置trunk封装,那么在对流入的帧进行传输之前,帧将清除其中ISL或dot1q。
在使用本地SPAN的时候,需要遵守下列规则和限制:
. 基于Cisco IOS软件的交换机,第2层交换端口(采用Switchport命令配置的LAN端口)和第3层交换端口(未采用switchport命令配置的LAN端口)都能配置未源端口或目标端口。
. 如果只有1个SPAN会话,那么端口能够担当目标端口
. 如果某个端口是某个SPAN会话的源端口,那么它就不能配置成目标端口
. 端口通道接口(Etherchannel)能够配置为源端口
. 端口通道接口不能够配置为目标端口
. SPAN支持源端口属于不同VLAN的配置
. 本地SPAN将使用先前在Cisco CatOS中所启用的配置。为了避免任何未得到确认的情况,在Cisco CatOS中启用SPAN之前,我们都应当检查先前的配置。
. 默认情况下,SPAN袁的流量方向是双向的
. 目标端口从来不参与生成树实例。本地SPAN包括被监控流量的BPDU,所以目标端口所看见的任何BPDU都来自于源端口。基于上述原因,SPAN目标端口不应当连接到其他交换机,其原因在于这可能导致网络环路。
. 无论数据包是否因为外出端口上STP阻塞状态而真实地离开交换机,目标端口都将获得通过交换机进行交换的所有数据包的副本。
在使用VSPAN的时候,还需要遵守下列规则和限制:
. 如果VSPAN会话配置流入和流出等两种选项,那么只有数据包在相同的VLAN中进行交换的时候,VSPAN会话将转发来自源端口的重复数据包。数据包的1个副本来自于流入端口的输入流量,而数据包的另外1个副本来自于流出端口的输出流量。
. VSPAN只能监控VLAN中进出第2层端口的流量:
. 因为流量从来不表现为进入VLAN中的2层端口的输入流量,如果SPAN会话将VLAN配置为流入源,那么进入被监控VLAN的路由流量将不被捕获。
. 因为流量从来不表现为进入VLAN中的2层端口的输入流量,如果SPAN会话将VLAN配置为外出源,对于被路由到被监控VLAN之外的流量将不被捕获。
SPAN监控和其他特性的影响:
1. SPAN与vlan和CDP的影响
1) 可以进行 VLAN 成员的改变,但他们不能作用到 SPAN 目的端口上,对于源端口,VLAN或者中继设置立即生效,SPAN会话因此自动调整。
2) SPAN的目的端口不参与CDP
2.SPAN与EtherChannel成员或中继端口的相互影响
. 如果一个被监控的EtherChannel组中添加一个端口,就把它加到SPAN源端口列表中,如果从一个被监控的 EtherChannel 中删除一个端口,它会自动从源端口列表中删除。
. 一个EtherChannel组可以配置为一个源端口,但不能配置为目的端口
. 可以在任何时候为源目的端口修改 VLAN 成员或者只中继, 但是一个目的端口的VLAN成员或中继设置改变直到禁用SPAN会话才会生效
. 如果将一个属于EtherChannel组的物理端口配置成一个SPAN源或目的端口,那么该端口将离开那个组。当端口从SPAN端口离开,它又重新加入到Channel组。
3.SPAN和Qos分类和多播流量
. 对于进入或流入流量监控,送往SPAN目的端口的分组可能与SPAN源端口实际收到的会有不同,分组在进入QoS分类与监管之后转发。发送分组的DSCP值可能与接受分组不同。
. 可以监控多播流量,对于流入和流出,只将一个单一的未编辑的分组送往 SPAN目的端口
. 配置了端口安全的端口不能作为SPAN目的端口
配置过程:
默认的配置
特性 默认配置
SPAN 未启动
源端口流量的监控 端口的发送和接收
封装类型(目标端口) 本地VLAN(未标记)
进入转发(目标端口) 非法
Vlan过滤 Trunk端口作为源端口,所有vlan 都会被监控
建立SPAN会话
1) 进入全局配置模式 configure terminal
2) 清除先前配置的内容
no monitor session [会话号|all|local|remote]
. 会话号:可以单独清除某个指定的会话,取值为1-66
. all:所有的会话
. local:清除本地SPAN
. remote:远程的SPAN
3) 指定监控的源端口
monitor session 会话号 source {interface 接口号|vlan vlan号} [both|rx|tx]
. 会话号:取值为1-66
. vlan号:取值为1-4094
. rx:接收
. tx:发送
4) 指定监控的目标端口
monitor session 会话号 destination {inteface 接口号} [encapsulation replicate] [ingress forwarding]
. 接口号:必须是物理接口,不能是VLAN或以太通道
. encapsulation replicate:目标端口的封装类型将取代源端口的封装类型,如果不设置将按照默认值将数据转发到native vlan(本地VLAN,未标记的)
5) 验证结果
show monitor [session 会话号]
Session 1
---------
Type : Local Session
Source Ports :
Both : Fa0/23
Destination Ports : Fa0/2
Encapsulation : Native
Ingress: Disabled
案例:
Switch(config)# no monitor session 1
Switch(config)# monitor session 1 source interface gigabitethernet0/1
Switch(config)# monitor session 1 destination interface gigabitethernet0/2
encapsulation replicate
Switch(config)# end
---------------------------------------------------------------------------
Switch(config)# no monitor session 2
Switch(config)# monitor session 2 source vlan 1 - 3 rx
Switch(config)# monitor session 2 destination interface gigabitethernet0/2
Switch(config)# monitor session 2 source vlan 10
Switch(config)# end
案例:
CCIE-LAB(V135)
题目要求:
configure SPAN on 3550 SW1, source interface is fa0/8, destination port is fa0/9.no need config the port secure information.
配置:
SW1
configure terminal
no monitor session all
monitor session 1 source interface f0/8
monitor session 1 destination interface f0/9
案例:
CCIE-LAB(YY)
题目要求:
There is a network analyzer attached ports 0/19 at sw1.configure sw1 so the network anslyer receive the message in or out of the prot 0/20
配置:
SW1
configure terminal
no monitor session all
monitor session 1 source interface f0/20
monitor session 1 destination interface f0/19
VSPAN的建立
SPAN可以基于VLAN使用,一个源VLAN是一个为了网络流量分析的被监控的VLAN.VSPAN使用一个或多个VLAN作为SPAN的源。源VLAN中的所有端口成为源端口。对于VSPAN,只能监控进入的流量(rx流量)。2950系列交换机不能执行。
1) 进入全局配置模式 configure terminal
2) 清除先前配置的内容
no monitor session [会话号|all|local|remote]
会话号:可以单独清除某个指定的会话,取值为1-66
all:所有的会话
local:清除本地SPAN
remote:远程的SPAN
3) 指定监控的源端口
monitor session 会话号 source vlan vlan号 rx
会话号:取值为1-66
vlan号:取值为1-4094
rx:接收
4) 指定监控的目标端口
monitor session 会话号 destination {inteface 接口号} [encapsulation replicate]
接口号:必须是物理接口,不能是VLAN或以太通道
encapsulation replicate:目标端口的封装类型将取代源端口的封装类型,如果不设置将按照默认值将数据转发到native vlan(本地VLAN,未标记的)
5) 验证结果
show monitor [session 会话号]
建立本地会话的目标端口的到达流量
配置过程:
1) 进入全局配置模式 configure terminal
2) 清除先前配置的内容
no monitor session [会话号|all|local|remote]
3) 指定监控的源端口
monitor session 会话号 source interface 接口
4) 指定监控的目标端口
monitor session 会话号 destination {inteface 接口号} [encapsulation replicate] ingress [dot1q vlan vlan号|isl |untagged vlan vlan号]
接口号:必须是物理接口,不能是VLAN或以太通道
encapsulation replicate:目标端口的封装类型将取代源端口的封装类型,如果不设置将按照默认值将数据转发到native vlan(本地VLAN,未标记的)
5) 验证结果
建立本地会话的过滤VLAN
配置过程:
1) 进入全局模式 configure terminal
2) 清除先前的会话
no monitor session 会话号
1) 指定源会话
monitor session 会话号 source interface 接口号
接口号:必须是trunk端口
2) 指定过滤的vlan
monitor session 会话号 filter vlan vlan号 [, | -]
3) 指定目标端口
monitor session 会话号destination interface 端口号
案例:
Switch(config)# no monitor session 2
Switch(config)# monitor session 2 source interface gigabitethernet0/2 rx
Switch(config)# monitor session 2 filter vlan 1 - 5 , 9
Switch(config)# monitor session 2 destination interface gigabitethernet0/1
Switch(config)# end
将SPAN源流量限制在vlan 1-5和9
=====================================================================================
RSPAN(Remote Switched Port Anylzer Network)
RSPAN是设计用来支持跨越不同交换机的源端口、源VLAN和目的端口的SPAN实现。RSPAN允许跨越网络的多台交换机的远程监控。如图所示:在一些大型的测试中,往往接入层交换机(交换机A和B)与核心交换机(交换机D)在物理距离上很远,所以此时就需要一种RemoteSpan 的技术来进行监控。
RSPAN工作原理
创建一个RSPAN会话的第一步是创建一个为所有参与交换机中特定会话指定的RSPAN VLAN。RSPAN使用反射端口将位于远程交换机的源端口流量复制到本地交换机的目的端口上。除了RSPAN会话所需要的流量外,RSPAN反射端口的工作与RSPAN目的端口类似。反射端口只转发由源端口接收或发送的分组。他们不接收或转发其他的网络流量。
从源端口或源VLAN来得RSPAN流量被交换到RSANP VLAN,然后被转发到也在RSPAN VLAN中的目的端口。在RSPAN会话中源(端口或VLAN)在不同的源交换机上能不同。但是,如果因特网路由器,比如cisco7600系列路由器,被用作RSPAN会话的源,那么它们必须和RSPAN源有相同的VLAN.
RSPAN反射端口
反射端口仅用于所监控的数据拷贝到Remote VLan,反射端口仅转发有关联的RSPAN 源端口的数据, 在配置成反射端口后,它将失去任何连通性,直到RSPAN的源监控会话被关闭为止。
反射端口的属性如下
1. 不能配置成EtherChannel组,不能为Trunk,也不能配置任何协议过滤
2. 配置成反射端口后,他不能成为SPAN的源或者目的端口
3. 一个端口被用作反射端口后,不能配置为一个SPAN的源/目的端口。同时一个反射端口只能在同一时间支持一个监控会话。
4. 反射端口会将所有的监控数据会泛洪到所有能够承载RSPAN Vlan 的Trunk接口上
5. STP在反射端口上会被禁用
6. 当反射端口没有足够的流量来转发监控端口的流量时,它使用自己接口的最大速率进行转发
7. 反射端口对于所有vlan是不可见的
8. 反射端口是一个被设置为回环的端口
RSPAN与其他特性的相互影响
1 STP:反射端口在RSPAN会话活动时不能参与STP,STP可以在中继端口上激活以承载RSPAN VLAN
2 VTP:VTP不能用在交换机之间对RSPAN vlan 进行裁剪
3 VLAN 和中继:可以在任何时候修改反射端口的 vlan 成员或中继设置,直到 RSPAN 会话被禁用后才能生效
4 EtherChannel:如果属于一个EtherCannel组的物理端口是反射端口,并且该组是一个源, 那么端口将从EtherChanel组合被监控端口列表中删除
配置过程
1 在VTP服务器交换机中配置Remote VLAN,该VLAN将专用于RSPAN。如果采用透明模式,必须在域中所有设备中都一致地配置SPAN
2 在源交换机和目标交换机中配置SPAN会话,并且确保中间交换机能够跨越各个VLAN干道承载RSPAN VLAN
建立RSPAN VLAN
RSPAN VLAN应在配置PSPAN源或目的会话之前创建并通过交换网络传播。如果在网络中启用了VTP,则可以在一台单一的VTP服务器交换机上创建RSPAN vlAN,并将它传播给VTP域中的其他VTP交换机。如果还启用了VTP修剪特性,则由VLAN中继剪除RSPAN流量并防止任何VLAN-ID低于1005的不想扩散的RSPAN流量穿过网络。在RSPAN vlan上禁止MAC地址的学习。
配置:
1) 进入全局模式 configure terminal
2) 指定vlan
vlan vlan号
vlan号:取值为2-1001和1006-4094,2-1001的可以通过vtp传播,扩展的vlan必须每台交换机建立
3) 指定该vlan为RSPAN VLAN
Remote-span
案例:
Switch(config)# vlan 901
Switch(config-vlan)# remote span
Switch(config-vlan)# end
Switch#show vlan remote-span
Remote SPAN VLANs
------------------------------------------------------------------------
10
建立RSPAN源会话
配置过程:
1) 进入全局模式 configure terminal
2) 清除先前配置的会话
no monitor session {会话号 | all | local | remote}
3) 建立源会话
monitor session 会话号 source {interface 接口号 | vlan vlan号} [, | -] [both | rx | tx]
4) 指定远程VLAN和反射端口
monitor session 会话号 destination remote vlan 远程VLAN号 reflector-port 端口
5) 验证结果
show running-config
show monitor [session 会话号]
案例:
Switch(config)# no monitor session 1
Switch(config)# monitor session 1 source interface gigabitethernet0/1 tx
Switch(config)# monitor session 1 source interface gigabitethernet0/2 rx
Switch(config)# monitor session 1 source interface port-channel 2
Switch(config)# monitor session 1 destination remote vlan 901
Switch(config)# end
--------------------------------------------------------------------------
案例:
Switch(config)#no monitor session all
Switch(config)#monitor session 1 source interface f0/2
Switch(config)#monitor session 1 destination remote vlan 10 reflector-port f0/5
Switch#show monitor session 1
Session 1
---------
Type : Remote Source Session
Source Ports :
Both : Fa0/2
Reflector Port : Fa0/5
Dest RSPAN VLAN : 10
建立RSPAN目标会话
1) 进入全局模式 configure terminal
2) 建立远程vlan
vlan vlan号
3) 制定为远程vlan
remote-span
4) 清除先前配置的会话
no monitor session {会话号 | all | local | remote}
5) 建立源会话
monitor session 会话号 source remote vlan 远程vlan号
6) 指定目标端口
monitor session 会话号 destination interface 端口号
7) 验证结果
show running-config
show monitor [session 会话号]
案例:
Switch(config)# monitor session 1 source remote vlan 901
Switch(config)# monitor session 1 destination interface gigabitethernet0/1
Switch(config)# end
--------------------------------------------------------------------------
案例:
Switch(config)#no monitor session all
Switch(config)#monitor session 1 source remote vlan 10
Switch(config)#monitor session 1 destination interface f0/10
Switch#show monitor session 1
Session 1
---------
Type : Remote Destination Session
Source RSPAN VLAN : 10
Destination Ports : Fa0/10
Encapsulation : Native
Ingress: Disabled
建立RSPAN过滤
中继VLAN过滤允许分析中继源端口上一组经挑选的VLAN中的网络流量。中继VLAN过滤可以与属于任何所选VLAN的其他源端口结合。只能与中继源端口一起使用中继vlan过滤。如果中继VLAN过滤结合了其他源端口,而这些端口所属的VLAN没有包含在被选中的过滤VLAN列表中,那么SPAN只包括操作源中属于一个或多个被选中的VLAN的端口
配置过程:
1) 进入全局模式 configure terminal
2) 清除先前的会话
no monitor session 会话号
3) 指定源会话
monitor session 会话号 source interface 接口号
接口号:必须是trunk端口
4) 指定过滤的vlan
monitor session 会话号 filter vlan vlan号 [, | -]
5) 指定远程vlan
monitor session 会话号destination remote vlan vlan号
案例:
Switch(config)# no monitor session 2
Switch(config)# monitor session 2 source interface gigabitethernet0/2 rx
Switch(config)# monitor session 2 filter vlan 1 - 5 , 9
Switch(config)# monitor session 2 destination remote vlan 902
Switch(config)# end
-------------------------------------------------------------------------
案例:
CCIE-LAB(V148)
题目要求:
Make sure a Network Analyzer connected to Sw2-Fa0/16 can collect all bi-directional traffic on Sw1-Fa0/1.
配置:SW1和SW2之间要做到监控,这里就需要应用RSPAN
SW1
configure terminal
vlan 901
remote-span
no minitor session all
monitor session 1 source interface f0/1
monitor session 1 destination remote vlan 901 reflected-port f0/22
interface f0/23
switchport trunk allowed vlan add 901
interface f0/24
switchport trunk allowed vlan add 901
SW2
configure terminal
no monitor session all
monitor session 1 source remote vlan 901
monitor session 1 destination interface f0/16
interface range f0/23 �C24
switchport trunk allowed vlan add 901
案例:
CCIE-LAB(V210)
题目要求:
Traffic monitoring:RSPAN
Remote-vlan:500
Source interface:sw2 f0/18
Destination interface:sw4 f0/19
配置:
Sw1 (因为sw1是服务器模式)
configure terminal
vlan 500
remote-span
Sw2
configure terminal
no monitor session all
monitor session 1 source interfac f0/18
monitor session 1 destination remote vlan 500 reflected-port f0/22
interface range f0/23 �C24
switchport trunk allowed vlan add 500
SW4
configure terminal
no monitor session all
monitor session 1 source remote vlan 500
monitor session 1 destination interface f0/19
interface range f0/23 �C24
switchport trunk allowed vlan add 500