posted by guitarbug @ 2005.7.1 in blogchina

先来转一篇文章,了解一下传说中的镜像端口的大致工作原理:

对于高级网管员来说,在进行网络故障排查、网络数据流量分析的过程中,有时需要对网络节点或骨干交换机的某些端口进-行数据流量监控分析,而在交换机中设置镜像端口,对某些可疑端口进行监控,同时又不影响被监控端口的数据交换,已成为常用的解决方案之一。本文以Cisco Catalyst4006交换机为例介绍“交换端口分析器”的工作原理及配置方法。
    1.SPAN工作原理
    SPAN(Switched Port Analyzer)的作用主要是为了给某种网络分析器提供网络数据流。
    它既可以实现一个VLAN中若干个源端口向一个监控端口镜像数据,也可以从若干个VLAN向一个临控端口镜像数据。源端口的5号端口上流转的所有数据流均被镜像至10号监控端口,而数据分析设备通过监控端口接收了所有来自5号端口的数据流(见图1.1-3)。





    值得注意的是,源端口和镜像端口必须位于同一台交换机上(但也有例外,如Catalyst 6000系列交换机);而且SPAN并不会影响源端口的数据交换,它只是将源端口发送或接收的数据包副本发送到监控端口。
    在SPAN任务过程中,用户可以通过参数控制,来指明需要监控的数据流种类;还可以将一个或多个端、口、一个或多个VLAN作为源端口,并将从这些端口中发送或接收的单向或双向数据流传送至监控端口。在Catalyst 4006交换机中,最多可以配置6个单向的SPAN任务:2个输入数据流监控、4个输出数据流监控。一个双向SPAN任务实际上包含一个单向输入和一个单向输出。而且不仅仅二层交换端口可作为源端口,Catalyst 4006上的三层路由端口也可设置为源端口。
    SPAN 任务不会影响交换机的正常工作。当一个SPAN任务被建立后,根据交换机所处的不同的状态或操作,任务会处于激活或非激活状态,同时系统会将其记入日志。通过“show monitor session”命令可显示SPAN的当前状态。
    如果遇到系统重新启动的情况,在目的端口初始化结束之前,SPAN任务将处于非激活状态。目的端口(监控端口)可以是交换机上的任意一个交换或路由端口。当一个目的端口处于激活状态时,任何发送到该端口且与SPAN任务无关的数据包将会被丢弃。
    一个目的端口只能处于一个SPAN任务中。当一个端口被配制成目的端口后就不能再成为源端口,同时冗余链路端口也不能成为SPAN的目的端口。特别需要指出的是,如果一个 Trunk端口被配置成为SPAN的目的端口,则其Trunk功能也将自动停止。
    源端口又可以称作被监控端口。在一个SPAN任务中,可以有一个或多个源端口,而且可以根据用户需要设置为输入方向、输出方向或双向,但无论哪种情况,在一个SPAN任务中,所有源端口的被监控方向都必须是一致的。
    在Catalyst 4006交换机上的VLAN也可以整体设置为源端口,这意味着被指定VLAN中的所有端口均为当前SPAN任务中的源端口。
    Trunk端口可以单独设为源端口,也可以与非Trunk端口一起被设置为源端口,但要注意的是,在监控端口不会识别来自Trunk端口针对不同VLAN的数据封装格式,换句话说,在监控端口收到的数据包将无法辨明是来自哪个VLAN。
    SPAN数据流主要分为三类:
    (1)输入数据流(Ingress SPAN):指被源端口接收进来,其数据副本发送至监控端口的数据流;
    (2)输出数据流(Egress SPAN):指从源端口发送出去,其数据副本发送至监控端口的数据流;
    (3)双向数据流(Both SPAN):即为以上两种的综合。
    基于VLAN的SPAN是以一个或几个VLAN作为监控对象,其中的所有端口均为源端口,与基于端口的SPAN类似,基于VLAN的SPAN也分为输入数据流、输出数据流和双向数据流监控三种类型。
    在配置基于VLAN的SPAN任务过程中,应注意几点:
    (1)Trunk端口可以包含在源端口中;
    (2)针对双向SPAN任务,如果在源VLAN中的两个源端口之间有数据交换,则每一个数据包将有两个副本被转发至镜像端口;
    (3)对有多个源VLAN的SPAN任务来说,如果某个源VLAN被删除掉,则该VLAN也将从源VLAN列表中删除;
    (4)处于非激活状态的VLAN无法参与SPAN任务;
    (5)对于一个设置为输入数据流监控的源VLAN来说,来自其他VLAN的路由信息数据包不会被镜像;此外,从设置为输出数据流监控的VLAN向其他VLAN发送出的路由信息数据包也同样不会被镜像。换句话说,基于VLAN的SPAN任务只对进出二层交换端口的数据包进行镜像,而不镜像VLAN之间的路由信息。
    所有网间传输的非路由数据包,包括组播包和BPDU(桥接协议数据单元)包,都可以使用SPAN任务进行镜像。
    在一些SPAN任务的配置下,会出现同一个SPAN源端口数据包的多个副本被发送到 SPAN监控端口的情况。正像前面提到的那样,在一个双向SPAN任务中,假设a1和a2为源端口,d1为目的端口,如果a1与a2之间有数据包传输,则在a1传向a2的数据包将会被传送到d1两次,反之亦然。

转载完-------------------------------

突然想起以前配置公司的Cisco 1548M的时候,好像也看到过SPAN的字样,打开Web配置页面,果然有SPAN的配置,不过只支持一个源端口(被监视的端口).下面是Cisco 1548M对SPAN的配置的简单说明.

SPAN (Port Monitoring) 

By enabling the Switched Port ANalyzer (SPAN), you can forward the incoming and outgoing traffic of one switch port in the same VLAN and monitor that traffic from another switch port. You can also use a network analyzer on the monitoring port to troubleshoot network problems by examining the traffic on other Cisco switched ports or segments.

By default, no port on the switch is designated as the monitoring port, and no ports on the switch are monitored. Remember the following restrictions when monitoring ports:

  • The monitoring port cannot be a member of more than one VLAN.
  • The monitoring port can monitor only one port at a time.
  • Do not make VLAN membership changes on the monitoring port or monitored ports until after you disable monitoring.

To enable one port to monitor traffic on another port:

  1. Select the Capturing Frames to the Monitoring Port check box. By default, this check box is not selected (meaning this parameter is disabled).
  2. From the Select Monitoring Port drop-down list, select the monitor port (the port to which captured frames are sent). You can designate any port as the monitor port, but remember the restrictions described above.
  3. From the Select Monitored Port drop-down list, select the port that you want to monitor.
  4. Click Apply.

Note: When you enable port monitoring, the system provides alerts that inform you that all ports on the switch will behave as if they belong to VLAN 1. Actually, no VLAN assignments are lost; all VLAN assignments are saved in Flash memory. When you disable port monitoring, all ports will operate according to their VLAN assignments. No alerts are provided if you enable port monitoring via SNMP.

To disable port monitoring:

  1. Deselect the Capturing Frames to Monitoring Port check box.
  2. Click Apply.