交换机端口镜像原理
现在跟大家讨论一下交换机的端口镜像,那么什么是端口镜像?有什么用?
什么是端口镜像?
我们从字面上就可以知道大概的意思,那么究竟是什么呢?交换机端口镜像就是说将交换机上的端口的流量镜像到另外一个端口上,这个另外一个端口可以是本地也可以是网络上另外一台交换机。我们可以将一个端口镜像到另一个端口,也可以将多个端口镜像即vlan到一个或多个端口。
市面上,绝大多数交换机(如cisco产品)的某个口被设置为镜像端口后,接到该端口的主机将无法发送数据包到网内其他机器,变成了“单向接受”模式; 这类情况,并不利于监控,因为系统无发发送封包到客户机,而导致无法对客户机进行控制;不过“网路岗”针对此类情况有专门的解决手段。 不过仍然有部分交换机除外,比如:TPLink-SF2005或TP-Link2428web,因为其价格便宜, 功能实用,因此我们一般建议客户购买这两款交换机进行监控。注:如果监控的电脑超过了40台建议用TP-Link2428web,这款交换机自带网管功 能,性能比TPLink-SF2005高,而且还有两个千M电口可以做为监控使用。如果使用其它品牌的交换机只要支持端口镜像功能的话也同样可以达到上网 监控,qq和msn聊天监控,邮件监控及抓包分析的效果。
端口镜像的目的
由于部署 IDS 产品需要监听网络流量(网络分析仪同样也需要),但是在目前广泛采用的交换网络中监听所有流量有相当大的困难,因此需要通过配置交换机来把一个或多个端口(VLAN)的数据转发到某一个端口来实现对网络的监听。
端口镜像的功能
监视到进出网络的所有数据包,供安装了监控软件的管理服务器抓取数据,如网吧需提供此功能把数据发往公安部门审查。而企业出于信息安全、保护公司机密的 需要,也迫切需要网络中有一个端口能提供这种实时监控功能。在企业中用端口镜像功能,可以很好的对企业内部的网络数据进行监控管理,在网络出现故障的时 候,可以做到很好地故障定位。一般通过配置端口镜像,安装网路岗监控上网行为管理软件就可以实现对整个网络的监控了。
(备注:交换机把某一个端口接收或发送的数据帧完全相同的复制给另一个端口;其中被复制的端口称为镜像源端口,复制的端口称为镜像目的端口。)
端口镜像通常有以下几种别名:
Port Mirroring 通常指允许把一个端口的流量复制到另外一个端口,同时这个端口不能再传输数据。
Monitoring Port 监控端口
Spanning Port 通常指允许把所有端口的流量复制到另外一个端口,同时这个端口不能再传输数据。
SPAN port 在 Cisco 产品中,SPAN 通常指 Switch Port ANalyzer。某些交换机的 SPAN 端口不支持传输数据。
Link Mode port这样,这些流量就可以被一个特殊的设备监控。它对发现和修理故障有很大的帮助。
端口镜像工作原理:SPAN(Switched Port Analyzer)的作用主要是为了给某种网络分析器提供网络数据流。
它既可以实现一个VLAN中若干个源端口向一个监控端口镜像数据,也可以从若干个VLAN向一个临控端口镜像数据。源端口的5号端口上流转的所有数据流 均被镜像至10号监控端口,而数据分析设备通过监控端口接收了所有来自5号端口的数据流。值得注意的是,源端口和镜像端口必须位于同一台交换机上(但也有 例外,如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两次,反之亦然。
镜像一般都可以实现高速率端口镜像低速率端口,例如1000M端口可以镜像100M端口,反之则无法实现
本文出自 “自给自足” 博客,谢绝转载!