以下内容摘自笔者最新著作《Cisco/H3C交换机配置与管理完全手册》一书。目前该书在卓越网、当当网、互动出版网上全面热销。
13.1 SPAN概述
什么是SPAN,为什么需要SPAN?这可能是我们认识SPAN后第一个想知道的。SPAN的全称为“Switched Port Analyzer”,中文名就是“交换端口分析器”,是用来对流经端口的通信流量进行监控。其最终的目的就是在监控端口连接安全设备(如安装了Sniffer类监控软件的PC机)实现对流经数据包的截取,以实现对整个网络的通信流量和数据包的分析,有助于网络性能分析与管理。其实SPAN的过程也就是我们通常所说的“端口镜像”,也有称“端口侦听”的。通过把交换机上的所有需要监控的端口的通信复制一份流向镜像端口,就可以监控整个网络,或者指定范围端口的通信。
13.1.1 SPAN监控原理之所以要在交换机上引入这项功能,那是因为交换机与集线器相比,数据转发原理不一样:当集线器在一个端口上接收到数据时,集线器会向所有端口发送复制的这个数据包,除非接收数据包的这个端口外。而交换机在启动时会建立一个基于所接收的不同数据包的源MAC地址的二层转发表进行数据包转发的。在转发表建立后,交换机就可以有目的地把数据包转发到对应的端口。
例如,如果你想捕获由A主机到B主机的通信,而且两主机是通过集线器连接的,则只需要在集线器上连接上安装了Sniffer工具软件的监控器就可以。在集线器的其他任何端口上都可以监听到A主机与B主机间的通信(注意图中的箭头颜色)。如图13-1所示。也就是如果网络集中连接设备是集线器,则无需进行端口镜像就可以在一个端口上监控到整个网络的通信。
图13-1 集线器网络的通信监控情形
如果连接设备是交换机,在学习到了A和B主机MAC地址后,主机A与主机B之间的单播通信仅转发到B或者A主机所连接的交换机端口。所以连接在交换机其他端口的sniffer监控器就不能看到A与B之间的通信了。如图13-2所示。
图13-2 交换机网络中的难监控情形
在这种情况下,Sniffer监控器仅可以捕获到广播发送到所有端口的通信流,如广播通信,带有CGMP(Cisco Group Management Protocol,思科组管理协议)或者IGMP(Internet Group Management Protocol,互联网组管理协议)的多播通信,以及不可识别的单播通信。
当交换机不能在它的CAM(content-addressable memory,按内容寻址内存)中找到与数据包中目标节点MAC一致的MAC地址时,交换机就不知道把数据包发送到哪里去了,最终就会以洪(flood)方式来把这个数据包发送目标VLAN中的所有端口上。
那是不是在交换机上就没有办法实现像集线器那样,在任一端口监控所有端口的通信呢?当然不是,在交换机可以采取人工方式复制两主机之间通信的数据包到Sniffer临近器所连接的交换机端口上,这就是我们在本章我们要介绍的主题——SPAN。
在图13-3中,sniffer监控器是连接到配置了可以接收每一个A发送的数据包副本的端口上。这种端口就称之为SPAN端口(也就是后面所说的SPAN目标端口)。本节的后面将介绍如何配置这样的SPAN,使它可以按照我们的需求监控其他端口上(这些端口也就是后面所说的SPAN源端口)的通信。
图13-3 在交换机网络中实现通信监控的方式
在SPAN中又有两种类型:一是被监控的源端口和用于监控通信的目标端口在同一交换机上,这称之为Local SPAN(本地SPAN,通常就称之为SPAN);另一种是源端口和目标端口不在同一交换机上,称之为Remote SPAN(远程SPAN,RSPAN)。
13.1.2 SPAN术语在上节提到的SPAN和RSPAN中,将涉及到许多专业术语,在此一并介绍,以便后面的监控原理的理解。这些术语在SPAN监控网络中对应所指的部分如图13-4所示。
图13-4 SPAN网络中的术语图示
n Ingress traffic(入口通信)—流入交换机的通信,通常是指从PC站点进入交换机的通信。
n Egress traffic(出口通信)—流出交换机的通信,通常是指交换机进入PC站点的通信。
n Source (SPAN) port(源SPAN端口) —使用SPAN功能监控的端口。
n Source (SPAN) VLAN (源SPAN VLAN)—使用SPAN功能监控的VLAN。
n Destination (SPAN) port(目标SPAN端口) —用于监控源端口通信的端口,通常是指网络分析仪连接的端口。
n Reflector Port (反射器端口)—复制RSPAN VLAN中数据包的端口。
n Monitor port(监控端口)—这是在Catalyst 2900XL/3500XL/2950交换机中的术语,监控端口也是前面所说的目标SPAN端口。
n Local SPAN(本地SPAN)—只监控与目标端口处于同一交换机的端口通信的SPAN。
n Remote SPAN (RSPAN,远程SPAN)—所监控的端口中有些不是与目标端口不处于同一交换机上的SPAN。RSPAN是一个高级的SPAN功能,需要指定一个VLAN来承载交换机间由SPAN监控的通信,但并不是所有交换机都支持。
n Port-based SPAN (PSPAN,基于端口的SPAN)—用户在交换机上指定一个或者多个源端口,一个目标端口。
n VLAN-based SPAN(VSPAN,基于VLAN的SPAN):用户在交换机上选择监控属于特定VLAN中的所有端口。
n ESPAN—增强型SPAN,但目前来说由于定义并不是十分明朗,所以还是很少用。
n Administrative source(管理源):已配置要监控的源端口或者VLAN列表。
n Operational source(操作源):被有效监控的端口列表。这个端口列表可以与前面介绍的管理源不一样。例如,一个处于关闭状态的端口可以显示在管理源中,但是它不会显示在操作源中。
在Cisco Catalyst以太网交换机中,各主要系列和型号交换机对SPAN和RSPAN的支持情况如表13-1所示。在我们对具体系列或者型号交换机进行SPAN或者RSPAN配置时,就要参考本表。
表13-1 Catalyst交换机对SPAN和RSPAN N的支持情况
Catalyst交换机 | 对SPAN的支持 | 对RSPAN的支持 |
Catalyst Express 500系列 | 支持 | 不支持 |
Catalyst 6500/6000系列 | 支持 | 支持 |
Catalyst 5500/5000系列 | 支持 | 不支持 |
Catalyst 4900系列 | 支持 | 支持 |
Catalyst 4500/4000系列(includes 4912G) | 支持 | 支持 |
Catalyst 3750 Metro系列 | 支持 | 支持 |
Catalyst 3750 / 3750E系列 | 支持 | 支持 |
Catalyst 3560 / 3560E系列 | 支持 | 支持 |
Catalyst 3550系列 | 支持 | 支持 |
Catalyst 3500 XL系列 | 支持 | 不支持 |
Catalyst 2970系列 | 支持 | 支持 |
Catalyst 2960系列 | 支持 | 支持 |
Catalyst 2955系列 | 支持 | 支持 |
Catalyst 2950系列 | 支持 | 支持 |
Catalyst 2940系列 | 支持 | 不支持 |
Catalyst 2948G-L3 | 不支持 | 不支持 |
Catalyst 2948G-L2, 2948G-GE-TX, 2980G-A | 支持 | 支持 |
Catalyst 2900XL系列 | 支持 | 不支持 |
Catalyst 1900系列 | 支持 | 不支持 |