端口镜像是怎么实现的


Posted in 面试题 onMarch 25, 2014
配置Catalyst交换端口分析器(SPAN)
介绍
交换端口分析器(SPAN)功能有时被称为端口镜像或端口监控,该功能可通过网络分析器(例如交换机探测设备或者其它远程监控(RMON)探测器)选择网络流量进行分析。以前,SPAN是Catalyst交换机族较为基本的功能,但最新推出的CatOS有许多增强功能,而且有许多功能是用户现有才开始使用的。本文并不是SPAN功能的又一种配置指南,而是立足于介绍已实施的SPAN的最新功能。本文将对SPAN的一般问题进行回答 ,例如:
SPAN是什么?我如何对它进行配置?
有什么不同的功能(尤其是同时进行多个SPAN话路)?需要何种级别的软件来执行这些功能?
SPAN是否会影响交换机的性能?
开始配置前
规则
有关详情,请参阅 Cisco技术提示规则。
SPAN简要介绍
SPAN是什么?为什么需要SPAN? 在交换机上引入SPAN功能,是因为交换机和集线器有着根本的差异。当集线器在某端口上接收到一个数据包时,它将向除接收该数据包端口之外的其它所有端口发送一份数据包的拷贝。当交换机启动时,它将根据所接收的不同数据包的源MAC地址开始建立第2层转发表。一旦建立该转发表,交换机将把指定了MAC地址的业务直接转发至相关端口。
例如,如果您想要截获从主机A发送至主机B的以太网业务,而两台主机是用集线器相连的,那么只要在该集线器上安装一嗅探器,所有端口均可看见主机A和主机B之间的业务:
在交换机中,当知道了主机B的MAC地址之后,从主机A到主机B的单播业务仅被转发至主机B的端口,因此,嗅探器看不见:
在这个配置中,嗅探器将仅截获扩散至所有端口的业务,例如广播业务、具有CGMP或者IGMP侦听禁止的组播业务以及未知的单播业务。当交换机的CAM表中没有目的地的MAC时,将发生单播泛滥。它无法理解向何处发送业务,而将数据包大量发送至VLAN中的所有端口。
将主机A发送的单播数据包人工复制到嗅探器端口需要一些附加功能来实现。
在上面的图表中,与嗅探器相连的端口配置为:对主机A发送的每一个数据包拷贝进行接收。该端口被称为SPAN端口。下文各节将说明如何对该功能进行精确的调节,使其作用不仅仅限于监控端口。
SPAN术语
? 入口业务: 进入交换机的业务。
? 出口业务: 离开交换机的业务。
? 源(SPAN)端口: 用SPAN功能受监控的端口。
? 目的地(SPAN)端口: 监控源端口的端口,通常连有一个网络分析器。
? 监控端口:在Catalyst2900xl/3500xl/2950术语中,监控端口也是目的地SPAN端口。
本地SPAN:? 当被监控端口全部位于同一交换机上作为目的地端口时,SPAN功能为本地SPAN功能。这和下文中的远程SPAN形成对比。
远程SPAN或者RSPAN:? 作为目的地端口的某些源端口没有位于同一交换机上。这是一项高级功能,要求有专门的VLAN来传送该业务,并由交换机之间的SPAN进行监控。并非所有交换机均支持RSPAN,所以,请检查各自的版本说明或者配置指南,来核实您要进行配置的交换机是否可以使用该功能。
? PSPAN: 指基于端口的SPAN。用户对交换机指定一个或者数个源端口以及一个目的地端口。
VSPAN:? 指基于VLAN的SPAN。在给定的交换机中,用户可以使用单个命令来选择对属于专门VLAN的所有端口进行监控。
ESPAN? ESPAN指SPAN增强版本。该术语在SPAN的发展期间数次用于命名新增功能,因此意义并不很明确。在本文中避免使用该术语。
管理源:? 已配置受监控的源端口或者VLAN的列表。
操作源:? 受到有效监控的端口列表。这可能和管理源有所不同。例如,在关闭模式下的端口可能在管理源中出现,但它不受到有效监控。
[page]
所用的组件
本文使用CatOS 5.5作为Catalyst 4000、5000以及6000族的参考。在Catalyst 2900XL/3500XL族中使用了Cisco IOS(r)软件版本12.0(5)XU。虽然本文以后会根据SPAN的变化而更新,但有关SPAN功能的最新发展情况,请参阅文档的版本说明。
本文中所提供的信息是在从特殊实验室环境下的设备中产生的。本文中所使用的所有设备均以缺省配置启动。如果您是在实际网络中作业,请确保您在使用所有命令之前,已了解这些命令可能产生的影响。.
Catalyst 2900XL/3500XL交换机上的SPAN
提供的功能及限制
Catalyst 2900XL/3500XL中的端口监控功能没有太过扩展,因此比较容易理解。
您可以根据需要创建多个本地PSPAN话路。例如,您可以在您选作目的地SPAN端口的端口配置创建PSPAN话路,只需用 端口监视 命令列出您想监控的源端口即可。在Catalyst 2900XL/3500XL的术语中,监控端口其实是目的地SPAN端口。
? 主要限制在于:与给定话路相关的所有端口(无论源端口还是目的地端口)必须属于同一VLAN。.
? 如果您没有在端口监控命令中指定任何接口,则作为接口的所有其它属于同一VLAN的端口将受到监控。
以下限制,摘自 Catalyst 2900XL/3500XL 的命令参考:
ATM端口是唯一无法受到监控的端口。然而您还是可以对ATM端口进行监控。以下限制适用于具有端口监控能力的各个端口:
? 快速EthernetChannel或者千兆EthernetChannel 端口群中不能有监控端口。
? 因为端口安全性而无法启用监控端口。
? 监控端口不可以是多VLAN端口。
? 当端口受到监控时,监控端口必须是同一VLAN的成员。对于监控端口以及受到监控的端口,不允许进行VLAN成员的改变。
? 监控端口不可以是动态接入端口或者中继端口。但是,静态接入端口可以对中继线上的VLAN、多VLAN或者动态接入端口进行监控。受到监控的VLAN与静态接入端口有关联。
? 如果监控器以及受监控端口为受保护端口,端口监控将不起作用。
有关功能冲突的补充信息,请参阅下文的链接:
? 管理交换机——管理配置冲突 — Catalyst 2900XL/3500XL 系列
请注意,处于监控状态的端口不执行生成树协议(STP),但端口仍然属于其镜像的端口VLAN。如果端口监控属于某个环路的一部分(例如,当您将其连接至集线器或者网桥,而环接至网络的其它部分时),您可能会以严重的桥接环路状况收尾,因为您不再受到STP的保护。请参阅 “为什么我的SPAN话路会产生一个桥接环路?”一节, 看一看产生该情况的一个实例。
配置实例
在本例中,创建了两个并行的SPAN话路。
? 端口Fa0/1将对由端口Fa0/2发送、端口Fa0/5接收的业务进行监控。它也将对往返于管理接口VLAN 1的业务进行监控。
? 端口Fa0/4将对端口Fa0/3以及Fa0/6进行监控。
端口Fa0/3、Fa0/4以及Fa0/6均在VLAN 2中进行配置;其它端口以及管理接口均在默认的VLAN 1中进行配置。
网络图

Catalyst 2900XL/3500XL上的配置样本
Catalyst 2900XL/3500XL上的配置样本
! interface FastEthernet0/1 port monitor FastEthernet0/2 port monitor FastEthernet0/5 port monitor VLAN1 ! interface FastEthernet0/2 ! interface FastEthernet0/3 switchport access vlan 2 ! interface FastEthernet0/4 port monitor FastEthernet0/3 port monitor FastEthernet0/6 switchport access vlan 2 ! interface FastEthernet0/5 ! interface FastEthernet0/6 switchport access vlan 2 ! ! interface VLAN1 ip address 10.200.8.136 255.255.252.0 no ip directed-broadcast no ip route-cache !
配置步骤说明
如果要将端口Fa0/1配置为源端口Fa0/2、Fa0/5以及管理接口的目的端口,请在配置模式中选择接口Fa0/1:
? Switch(config)#int fa0/1

Enter the list of ports to be monitored:
? Switch(config-if)#port monitor fastEthernet 0/2
Switch(config-if)#port monitor fastEthernet 0/5

然后,这两个端口接收的或者发送的数据包也会被复制到端口Fa0/1。使用另一版本的port monitor 命令对管理接口的监控进行配置:
Switch(config-if)#port monitor VLAN 1?

注:?/B>上文中的命令并不意味着端口Fa0/1将监控整个VLAN 1。VLAN 1关键字仅指交换机的管理接口。
? 输入以下命令说明在不同VLAN中监控某个端口是不可能的:
Switch(config-if)#port monitor fastEthernet? 0/3
FastEthernet0/1 and FastEthernet0/3 are in different vlan
To finish the configuration, configure another session, this time using Fa0/4 as a destination SPAN port:
Switch(config-if)#int fa0/4?
Switch(config-if)#port monitor fastEthernet 0/3
Switch(config-if)#port monitor fastEthernet 0/6
Switch(config-if)#^Z

检查配置情况的最佳方法是发出简单的 show running命令,或者使用 show port monitor 命令:
Switch#show port monitor?
Monitor Port Port Being Monitored
——————— ———————
FastEthernet0/1 VLAN1
FastEthernet0/1 FastEthernet0/2
FastEthernet0/1 FastEthernet0/5
FastEthernet0/4 FastEthernet0/3
FastEthernet0/4 FastEthernet0/6
注:?/B>Catalyst 2900XL以及3500XL不支持单一接收方向的SPAN(Rx SPAN或者入口SPAN)或者单一发送方向的SPAN(Tx SPAN或者出口SPAN)。所有配置SPAN的受控端口必须既能进行业务接收(Rx)又能进行业务发送(Tx)。

华为
【3026等交换机镜像】

S2008/S2016/S2026/S2403H/S3026等交换机支持的都是基于端口的镜像,有两种方法:

方法一

1. 配置镜像(观测)端口 [SwitchA]monitor-port e0/8
2. 配置被镜像端口 [SwitchA]port mirror Ethernet 0/1 to Ethernet 0/2
方法二

1. 可以一次性定义镜像和被镜像端口

[SwitchA]port mirror Ethernet 0/1 to Ethernet 0/2 observing-port Ethernet 0/8

【8016交换机端口镜像配置】

1. 假设8016交换机镜像端口为E1/0/15,被镜像端口为E1/0/0,设置端口1/0/15为端口镜像的观测端口。

[SwitchA] port monitor ethernet 1/0/15

2. 设置端口1/0/0为被镜像端口,对其输入输出数据都进行镜像。

[SwitchA] port mirroring ethernet 1/0/0 both ethernet 1/0/15

也可以通过两个不同的端口,对输入和输出的数据分别镜像

1. 设置E1/0/15和E2/0/0为镜像(观测)端口

[SwitchA] port monitor ethernet 1/0/15

2. 设置端口1/0/0为被镜像端口,分别使用E1/0/15和E2/0/0对输入和输出数据进行镜像。

[SwitchA] port mirroring gigabitethernet 1/0/0 ingress ethernet 1/0/15
[SwitchA] port mirroring gigabitethernet 1/0/0 egress ethernet 2/0/0

『基于流镜像的数据流程』
基于流镜像的交换机针对某些流进行镜像,每个连接都有两个方向的数据流,对于交换机来说这两个数据流是要分开镜像的。
【3500/3026E/3026F/3050】
〖基于三层流的镜像〗
1. 定义一条扩展访问控制列表
[SwitchA]acl num 101
2. 定义一条规则报文源地址为1.1.1.1/32去往所有目的地址
[SwitchA-acl-adv-101]rule 0 permit ip source 1.1.1.1 0 destination any
3. 定义一条规则报文源地址为所有源地址目的地址为1.1.1.1/32
[SwitchA-acl-adv-101]rule 1 permit ip source any destination 1.1.1.1 0
4. 将符合上述ACL规则的报文镜像到E0/8端口
[SwitchA]mirrored-to ip-group 101 interface e0/8
〖基于二层流的镜像〗
1. 定义一个ACL
[SwitchA]acl num 200
2. 定义一个规则从E0/1发送至其它所有端口的数据包
[SwitchA]rule 0 permit ingress interface Ethernet0/1 (egress interface any)
3. 定义一个规则从其它所有端口到E0/1端口的数据包
[SwitchA]rule 1 permit (ingress interface any) egress interface Ethernet0/1
4. 将符合上述ACL的数据包镜像到E0/8
[SwitchA]mirrored-to link-group 200 interface e0/8

【5516】
支持对入端口流量进行镜像
配置端口Ethernet 3/0/1为监测端口,对Ethernet 3/0/2端口的入流量镜像。
[SwitchA]mirror Ethernet 3/0/2 ingress-to Ethernet 3/0/1
【6506/6503/6506R】
目前该三款产品只支持对入端口流量进行镜像,虽然有outbount参数,但是无法配置。
镜像组名为1,监测端口为Ethernet4/0/2,端口Ethernet4/0/1的入流量被镜像。
[SwitchA]mirroring-group 1 inbound Ethernet4/0/1 mirrored-to Ethernet4/0/2

Tags in this post...

面试题 相关文章推荐
几道PHP面试题
Apr 14 面试题
PHP开发工程师面试问题集锦
Nov 01 面试题
采用怎样的方法保证数据的完整性
Dec 02 面试题
一些.net面试题
Oct 06 面试题
Ado与Ado.net的相同与不同
Dec 08 面试题
维德科技C#面试题笔试题
Dec 09 面试题
C#怎么让一个窗口居中显示?
Oct 20 面试题
linux面试题参考答案(3)
Sep 13 面试题
Linux管理员面试题 Linux admin interview questions
Nov 01 面试题
在weblogic中发布ejb需涉及到哪些配置文件
Jan 17 面试题
中软国际Java程序员机试题
Aug 19 面试题
解释i节点在文件系统中的作用
Nov 26 面试题
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
Dec 12 #面试题
什么是网络协议
Apr 07 #面试题
PPP协议组成及简述协议协商的基本过程
May 28 #面试题
网络通讯中,端口有什么含义,端口的取值范围
Nov 23 #面试题
什么是URL
Dec 13 #面试题
HSRP的含义以及如何工作
Sep 10 #面试题
Internet主要有哪些网络群组成
Dec 24 #面试题
You might like
解析php中反射的应用
2013/06/18 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
2013/06/20 PHP
PHP中echo,print_r与var_dump区别分析
2014/09/29 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
PHP学习记录之常用的魔术常量详解
2019/12/12 PHP
php实现文件上传基本验证
2020/03/04 PHP
从javascript语言本身谈项目实战
2006/12/27 Javascript
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
基于MooTools的很有创意的滚动条时钟动画
2010/11/14 Javascript
基于jQuery的获取标签名的代码
2012/07/16 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
学习Angular中作用域需要注意的坑
2016/08/17 Javascript
基于Layer+jQuery的自定义弹框
2020/05/26 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
2017/10/28 jQuery
JavaScript的查询机制LHS和RHS解析
2019/08/16 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
详细分析vue响应式原理
2020/06/22 Javascript
JS数据类型判断的几种常用方法
2020/07/07 Javascript
js实现移动端图片滑块验证功能
2020/09/29 Javascript
[00:14]护身甲盾
2019/03/06 DOTA
python中的reduce内建函数使用方法指南
2014/08/31 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
python实现随机森林random forest的原理及方法
2017/12/21 Python
Python使用itertools模块实现排列组合功能示例
2018/07/02 Python
python读取图片并修改格式与大小的方法
2018/07/24 Python
python自定义函数实现一个数的三次方计算方法
2019/01/20 Python
土木工程个人自荐信范文
2013/11/30 职场文书
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
青年岗位能手事迹材料(2016推荐版)
2016/03/01 职场文书
CSS3 天气图标动画效果
2021/04/06 HTML / CSS
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android
SQL实现LeetCode(176.第二高薪水)
2021/08/04 MySQL
python+opencv实现目标跟踪过程
2022/06/21 Python