Chinaunix首页 | 论坛 | 博客
  • 博客访问: 943032
  • 博文数量: 276
  • 博客积分: 4182
  • 博客等级: 上校
  • 技术积分: 4486
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-17 21:14
文章分类

全部博文(276)

文章存档

2014年(9)

2013年(132)

2012年(135)

分类: 系统运维

2013-09-12 11:49:18

本文的目的是基于思科的Catalyst 3550来简单讲解一下SPAN技术,这也是路由交换CCIE考试中
的一个知识点,曾经考过,此文正是为此目的为写。


一、SPAN简介

SPAN技术主要是用来监控交换机上的数据流,大体分为两种类型,本地SPAN和远程SPAN.
----Local Switched Port Analyzer (SPAN) and Remote SPAN (RSPAN),实现方法上稍有不同。

利用SPAN技术我们可以把交换机上某些想要被监控端口(以下简称受控端口)的数据流COPY或MIRROR一
份,发送给连接在监控端口上的流量分析仪,比如CISCO的IDS或是装了SNIFFER工具的PC. 受控端口和
监控端口可以在同一台交换机上(本地SPAN),也可以在不同的交换机上(远程SPAN)。


二、名词解释

SPAN Session--SPAN会话
SPAN会话是指一组受控端口与一个监控端口之间的数据流。可以同时对多个端口的进入流量或是一个端
口的外出流量进行监控,也可以对内所有端口的进入流量进行监控,但不能同时对多个端口的外出
流量及VLAN的外出流量进行监控,可以对处于关闭状态的端口设置SPAN,但此时的SPAN会话是非活动,
但只要相关的接口被打开,SPAN就会变为活动的。
监控端口最好是>=受控端口的带宽,否则可能会出现丢包的情况。

SPAN Traffic--SPAN的流量
本地SPAN可以监控所有的网络流量,包括multicast、bridge protocol data unit (BPDU),和CDP、
VTP、DTP、STP、PagP、LACP packets. RSPAN不能监控二层协议。

Traffic Types--流量类型
被监控的流量类型分为三种,Receive (Rx) SPAN 受控端口的接收流量,Transmit (Tx) SPAN 受控端口
的发送流量,Both 一个受控端口的接收和发送流量。

Source Port--SPAN会话的源端口(也就是monitored port-即受控端口)
受控端口可以是实际的物理端口、VLAN、以太通道端口组EtherChannel,物理端口可以在不同的VLAN中,
受控端口如果是VLAN则包括此VLAN中的所以物理端口,受控端口如果是以太通道则包括组成此以太通道组
的所有物理端口,如果受控端口是一个TRUNK干道端口,则此TRUNK端口上承载的所有VLAN流量都会受到监
控,也可以使用filter vlan 参数进行调整,只对filter vlan 中指定的VLAN数据流量做监控。

Destination Port--SPAN会话的目的端口(也就是monitoring port-即监控端口)
监控端口只能是单独的一个实际物理端口,一个监控端口同时只能在一个SPAN会话中使用,监控
端口不参与其它的二层协议如:Layer 2 protocols
Cisco Discovery Protocol (CDP),
VLAN Trunk Protocol (VTP),
Dynamic Trunking Protocol (DTP),
Spanning Tree Protocol (STP),
Port Aggregation Protocol (PagP),
Link Aggregation Control Protocol (LACP).
缺省情况下监控端口不会转发除SPAN Session以外的任何其它的数据流,也可以通过设置ingress
参数,打开监控端口的二层转发功能,比如当连接CISCO IDS的时会有这种需求,此时IDS不仅要接
收SPAN Session的数据流,IDS本身在网络中还会与其它设备有通讯流量,所以要打开监控端口的
二层转发功能。

Reflector Port--反射端口
反射端口只在RSPAN中使用,与RSPAN中的受控端口在同一台交换机上,是用来将本地的受控端口流量
转发到RSPAN中在另一台交换机上的远程监控端口的方法,反射端口也只能是一个实际的物理端口,
它不属于任何VLAN(It is invisible to all VLANs.)。
RSPAN中还要使用一个专用的VLAN来转发流量,反射端口会使用这个专用VLAN将数据流通过TRUNK端口
发送给其它的交换机,远程交换机再通过此专用VLAN将数据流发送到监控端口上的分析仪。
关于RSPAN VLAN的创建,所有参与RSPAN的交换机应在同一个VTP域中,不能用VLAN 1,也不能用
1002-1005,这是保留的(reserved for Token Ring and FDDI VLANs),如果是2-1001的标准VLAN,
则只要在VTP Server上创建即可,其它的交换机会自动学到,如果是1006-4094的扩展VLAN,则需要
在所有交换机上创建此专用VLAN.
反射端口最好是>=受控端口的带宽,否则可能会出现丢包的情况。

VLAN-Based SPAN--基于VLAN的SPAN
基于VLAN的SPAN只能监控VLAN中所有活动端口接收的流量(only received (Rx) traffic),如果
监控端口属于此VLAN,则此端口不在监控范围内,VSPAN只监控进入交换机的流量,不对VLAN接口上
的路由数据做监控。
(VSPAN only monitors traffic that enters the switch, not traffic that is routed between VLANs.
For example, if a VLAN is being Rx-monitored and the multilayer switch routes traffic
from another VLAN to the monitored VLAN, that traffic is not monitored and is not received
on the SPAN destination port. )


三、SPAN和RSPAN与其它特性的互操作性

Routing--SPAN不监控VLAN间的路由数据;(不好理解)
Routing—Ingress SPAN does not monitor routed traffic. VSPAN only monitors traffic that
enters the switch, not traffic that is routed between VLANs. For example, if a VLAN is
being Rx-monitored and the multilayer switch routes traffic from another VLAN to the
monitored VLAN, that traffic is not monitored and not received on the SPAN destination port.

STP--监控端口和反射端口不会参与STP,但SPAN对受控端口的STP没有影响;

CDP--监控端口不参与CDP;

VTP--RSPAN VLAN可以被修剪pruning;

VLAN and trunking--可以修改受控端口、监控端口和反射端口的VLAN和TRUNK设置,受控端口的改变
会立即生效,而监控端口和反射端口则要在从SPAN中去除后才会生效;

EtherChannel--整个以太通道组可以做为受控端口使用,如果一个属于某个以太通道组的物理端口被
配成了受控端口、监控端口或反射端口,则此端口会自动从以太通道组去除,当SPAN
删除后,它又会自动加入原以太通道组;

QoS--由于受QoS的策略影响,监控端口上收到的数据流会与受控端口实际的数据流不同,比如DSCP值
被修改等;

Multicast--SPAN可以监控组播的数据流;

Port security--安全端口不能做为监控端口使用;

802.1x--受控端口、监控端口和反射端口上可以设置802.1x,但有些限制。


四、SPAN和RSPAN的配置举例

SPAN的限制和缺省设置
Catalyst 3550交换机上最多只能设置两个SPAN Session,缺省SPAN没有使用,如果做了设置,缺省
情况下,第一个被设为受控端口的接口进出流量都会受到监控,以后再追加的受控端口只会对接收的
流量进行监控,监控端口的默认封装类型为Native,也就是没有打VLAN的标记。


1、Configuring SPAN--配置本地SPAN

Switch(config)# no monitor session 1 //先清除可能已经存在SPAN设置
Switch(config)# monitor session 1 source interface fastethernet0/10
//设定SPAN的受控端口
Switch(config)# monitor session 1 destination interface fastethernet0/20
//设定SPAN的监控端口

Switch#sh mon
Session 1
---------
Type : Local Session
Source Ports :
Both : Fa0/10 //注意此处是Both
Destination Ports : Fa0/20
Encapsulation : Native
Ingress: Disabled

Switch(config)# monitor session 1 source interface fastethernet0/11 - 13
//添加SPAN的受控端口

Switch#sh mon
Session 1
---------
Type : Local Session
Source Ports :
RX Only : Fa0/11-13 //注意此处是RX Only
Both : Fa0/10 //注意此处还是Both
Destination Ports : Fa0/20
Encapsulation : Native
Ingress: Disabled

Switch(config)# monitor session 1 destination interface fastethernet0/20 ingress vlan 5
//设定SPAN的监控端口并启用二层转发

Switch#sh mon
Session 1
---------
Type : Local Session
Source Ports :
RX Only : Fa0/11-13
Both : Fa0/10
Destination Ports : Fa0/20
Encapsulation : Native
Ingress: Enabled, default VLAN = 5 //允许正常的流量进入
Ingress encapsulation: Native


2、VLAN-Based SPAN--基于VLAN的SPAN

Switch(config)# no monitor session 2
Switch(config)# monitor session 2 source vlan 101 - 102 rx
Switch(config)# monitor session 2 destination interface fastethernet0/30
Switch#sh mon ses 2
Session 2
---------
Type : Local Session
Source VLANs :
RX Only : 101-102 //注意此处是RX Only
Destination Ports : Fa0/30
Encapsulation : Native
Ingress: Disabled

Switch(config)# monitor session 2 source vlan 201 - 202 rx
Switch#sh mo se 2
Session 2
---------
Type : Local Session
Source VLANs :
RX Only : 101-102,201-202 //注意此处多了201-202
Destination Ports : Fa0/30
Encapsulation : Native
Ingress: Disabled


3、Specifying VLANs to Filter

Switch(config)# no monitor session 2
Switch(config)# monitor session 2 source interface fastethernet0/48 rx
Switch(config)# monitor session 2 filter vlan 100 - 102 //指定受控的VLAN范围
Switch(config)# monitor session 2 destination interface fastethernet0/30

Switch#sh mon ses 2
Session 2
---------
Type : Local Session
Source Ports :
Both : Fa0/48
Destination Ports : Fa0/30
Encapsulation : Native
Ingress: Disabled
Filter VLANs : 100-102 //只监控VLAN100-102中的流量


4、Configuring RSPAN--配置远程RSPAN

RSPAN的Session分成RSPAN Source Session和RSPAN Destination Session两部分,所以
相应的配置也要分别在Session的源和目的交换机上做。


4.1、首先要配置专用的RSPAN VLAN
Switch(config)# vlan 800
Switch(config-vlan)# remote-span
Switch(config-vlan)# end

sw1#sh vl id 800
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
800 VLAN0800 active Fa0/47, Fa0/48

VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
800 enet 100800 1500 - - - - - 0 0

Remote SPAN VLAN
----------------
Enabled //注意看此处的提示

Primary Secondary Type Ports
------- --------- ----------------- ------------------------------------------


4.2、配置RSPAN Source Session

Switch(config)# no monitor session 1
Switch(config)# monitor session 1 source interface fastethernet0/10 - 13
Switch(config)# monitor session 1 source interface fastethernet0/15 rx
Switch(config)# monitor session 1 destination remote vlan 800 reflector-port fastethernet0/20

sw1#sh mo se 1
Session 1
---------
Type : Remote Source Session
Source Ports :
RX Only : Fa0/11-13,Fa0/15
Both : Fa0/10
Reflector Port : Fa0/20
Dest RSPAN VLAN : 800


4.3、配置RSPAN Destination Session

Switch(config)# monitor session 1 source remote vlan 800
Switch(config)# monitor session 1 destination interface fastethernet0/30
Switch(config)# end

sw2#sh mo se 1
Session 1
---------
Type : Remote Destination Session
Source RSPAN VLAN : 800
Destination Ports : Fa0/30
Encapsulation : Native
Ingress: Disabled


(VLAN-Based RSPAN)基于VLAN的RSPAN也和上面的方法类似,只不过受控的是整个VLAN.
启用监控端口的二层转发以及Specifying VLANs to Filter 的方法也和本地SPAN相同,
此处不再举例。详见CISCO CD.


五、Catalyst 4000/4500系列交换机的SPAN配置

Configuring SPAN
命令如下:
set span {src_mod/src_ports | src_vlan | sc0} dest_mod/dest_port [rx | tx | both]
[inpkts {enable | disable}] [learning {enable | disable}]
[multicast {enable | disable}] [create]
set span中的create参数用于创建多个SPAN Session.
show span
set span disable [dest_mod/dest_port | all]

举例:
This example shows how to configure SPAN so that both the transmit and receive
traffic from port 2/4 (the SPAN source) is mirrored on port 3/6 (the SPAN destination):

Console> (enable) set span 2/4 3/6
// Overwrote Port 3/6 to monitor transmit/receive traffic of Port 2/4
Incoming Packets disabled. Learning enabled.

Console> (enable) show span
Destination : Port 3/6
Admin Source : Port 2/4
Oper Source : None
Direction : transmit/receive
Incoming Packets: disabled
Learning : enabled
Filter : -
Status : active
----------------------------------------------
Total local span sessions: 1
Console> (enable)

This example shows how to set VLAN 522 as the SPAN source and port 2/1 as the SPAN destination:

Console> (enable) set span 522 2/1
// Overwrote Port 2/1 to monitor transmit/receive traffic of VLAN 522
Incoming Packets disabled. Learning enabled.
Console> (enable) show span
Destination : Port 2/1
Admin Source : VLAN 522
Oper Source : Port 2/1-2
Direction : transmit/receive
Incoming Packets: disabled
Learning : enabled
Filter : -
Status : active
----------------------------------------------
Total local span sessions: 1
Console> (enable)


Configuring RSPAN
命令如下:
set vlan vlan_num [rspan]
show vlan
set rspan source {mod/ports... | vlans...} {rspan_vlan} reflector mod/port [rx | tx | both]
[filter vlans...] [create]
set rspan destination {mod_num/port_num} {rspan_vlan} [inpkts {enable | disable}]
[learning {enable | disable}] [create]
show rspan
set rspan disable source [rspan_vlan | all]
set rspan disable destination [mod_num/port_num | all]


有些CISCO的专业文字不太好翻译,可能不太准确,有些地方的理解也有出入,欢迎大家一齐讨论提高。



Example of SPAN.jpg
描述:
LOCAL SPAN
文件大小: 26.12 KB
看过的: 文件被下载或查看 20 次

Example of SPAN.jpg

 

 

 

Flow of RSPAN Monitored Traffic



Flow of RSPAN Monitored Traffic.jpg
描述:
Flow of RSPAN Monitored Traffic
文件大小: 35.24 KB
看过的: 文件被下载或查看 18 次

Flow of RSPAN Monitored Traffic.jpg

 

 

Only traffic that enters or leaves source ports or traffic that enters or leaves source VLANs can be
monitored by using SPAN; traffic routed to a source VLAN cannot be monitored. For example, if
incoming traffic is being monitored, traffic that gets routed from another VLAN to the source VLAN
cannot be monitored; however, traffic that is received on the source VLAN and routed to another VLAN
can be monitored.

阅读(1681) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~