刚才看到JCY250D的提问,觉得有必要说一下协议分析软件的部署。
首先看看协议分析软件的原理,协议分析软件也称为“嗅探”工具。顾名思义,只有嗅探到链路的数据包,才可以进行分析。
那怎么才能嗅探到数据包,有两种主要的方式:SPAN和TAP。
先说说SPAN(Switch Port Analysis),也成为镜像方式,简单来说就是把交换机某个端口(链路)的流量copy一份到另外一个端口,然后在该端口接协议分析系统,可以是一台安装有协议分析软件的普通pc,也可以是专用的硬件。看如下示意图:
上图中,交换机与路由器A和B都有一条链路相连,如果需要知道该链路上的流量情况,就可以配置span,把链路流量镜像到连接有协议分析系统(这儿是一台omnipliance专用硬件,有多个监控端口,所以可同时分析几条链路)。
有一点提醒一下,在上述情况下只有被监控的两条链路的数据才能被协议分析系统收到并进行分析,并不是所有交换机的流量都在被进行分析。
每种型号的交换机配置span的方式都不一样,请参考这几个帖子:
当然,在配置span的时候你可以把几个端口(链路)的流量镜像到一个端口进行分析,但是这样就无法对协议分析系统来说,无法区分不同链路的流量,因为对它来说它看到的是来自与一个span端口的。
TAP方式原理与span方式都一样,它是通过额外的设备窜接到链路中去,对交换机来说是完全透明的。看看如下示意图:
对于不同的物理链路,会有不同的tap,比如10/100M utp双绞线,1000M lx,sx光纤链路。当然协议分析系统的监控网卡也需要相应的接口卡。
补充一下,对于10/100M环境,我们也可以使用hub作为tap的一个廉价替代品。
但是要知道这两者还是有很大区别的,比如hub会出现collison,在流量高的情况,对被监控链路的稳定正常工作带来很大影响,还比如hub掉电后网络会中断而tap不会。
TAP与SPAN的比较
1.SPAN比较灵活,把协议分析连接到span目的端口以后,只需要修改span的源端口,就可以实现监控不同的链路;而TAP需要接入到链路中去,如果需要监控其他链路时候,需要重新连接线缆,会对网络造成中断,适合那种长期的稳定监控。
2.SPAN需要对交换机进行配置,而且不同的交换机支持的span功能不一样,比如cisco的3550如果把vlan作为span源端口的话,只能监控rx流量,无法分析tx流量,而且路由到该vlan的流量也不会计算进去;而TAP没有这个问题,它对于网络设备来说是透明的;
3.SPAN方式获得的流量其实已经过滤掉一些底层的信息了,所以有些故障信息无法看到,而tap真实发应了网络的流量,没有任何修改;
4.SPAN只适用在交换机,如果需要监控的链路两端都是路由器,就无法监控,再或者需要监控的链路不是以太网,比如atm,e1什么的就无法span了;而tap这方面就没有任何问题,基本上所有常见的物理链路都有相应的tap可以选择。
其实对于协议分析,选择什么链路进行监控很重要,因为这决定了你看到的流量的不同。不同公司会有不同的网络物理拓扑,具体选择什么链路进行监控要因地制宜,关键还要看用户的需求是什么?希望通过协议分析解决什么问题?
打个比方,如果你把一个连接到普通桌面pc的交换机端口(链路)进行span镜像,使用协议分析软件分析,你只能看到给跟这个pc用户通信的流量。而如果我们把比如连接Internet路由器的交换机端口(链路)进行span镜像,就可以看到整个网络所有主机所有上Internet的流量。
总之,一句话,选择你需要监控分析的流量经过的链路配置span镜像。