镜像简介:
镜像是指将经过指定端口(源端口或者镜像端口)的报文复制一份到另一个指定端口(目的端口或者观察端口)。
目的:
在网络运营与维护的过程中,为了便于业务监测和故障定位,网络管理员时常要获取设备上的业务报文进行分析。
镜像可以在不影响设备对报文进行正常处理的情况下,将镜像端口的报文复制一份到观察端口。网络管理员通过网络监控设备就可以分析从观察端口复制过来的报文,判断网络中运行的业务是否正常。
原理描述:
基本概念:
###镜像端口和观察端口:
镜像端口:是指被监控的端口,镜像端口收发的报文将被复制一份到与监控设备相连的端口。
观察端口:是指连接监控设备的端口,用于将镜像端口复制过来的报文发送给监控设备。
一般观察端口专门用于镜像流量的转发,因此不建议在上面配置其他业务,防止镜像流量与其他业务流量在观察端口上同时转发会互相影响。
在设备上应用镜像功能时,如果镜像过多,会占用较多的设备内部转发带宽,可能影响其他业务转发。另外,如果镜像端口与观察端口的带宽不一致,比如,镜像端口的带宽是1000Mbit/s,观察端口的带宽是100Mbit/s,则有可能导致观察端口因带宽不足而不能及时转发全部的镜像报文,发生丢包情况。
镜像方向:
镜像方向是指将镜像端口指定方向的报文复制到观察端口,包括:
- 入方向:将镜像端口接收的报文复制到观察端口上。
- 出方向:将镜像端口发送的报文复制到观察端口上。
- 双向:将镜像端口接收和发送的报文都复制到观察端口上。
端口镜像:
端口镜像是指设备复制从镜像端口流经的报文,并将此报文传送到指定的观察端口进行分析和监控。端口镜像根据监控设备在网络中位置的不同,分为本地端口镜像和远程端口镜像。
本地端口镜像:
本地端口镜像是指观察端口与监控设备直接相连,此时观察端口被称为本地观察端口。
远程端口镜像:
远程端口镜像是指观察端口与监控设备通过中间网络传输镜像报文,此时观察端口被称为远程观察端口。
二层远程端口镜像是指远程观察端口与监控设备通过一个二层网络相连。如下图所示,二层远程端口镜像中镜像报文的具体转发过程如下。
- 镜像端口将流经的原始报文复制到远程观察端口。
- 远程观察端口收到镜像端口复制过来的镜像报文,在原来的VLAN标签(VLAN10)外层再添加一层VLAN标签(VLAN20),以便将镜像报文向中间二层网络转发。值得注意的是,这一步不需要通过端口加入VLAN来完成,是直接通过配置远程观察端口来实现的。
- SwitchC在接收到远程观察端口发来的镜像报文后,就将镜像报文向监控设备转发。为了实现这一步,需要将中间二层设备(SwitchC)与远程观察端口、监控设备相连的端口加入VLAN20,保证tchB、SwitchC与监控设备间能够二层通信。
流镜像:
流镜像是指在设备上配置一定的规则,将符合规则的特定业务流复制到观察端口进行分析和监控。
VLAN镜像:
VLAN镜像是指将指定VLAN内所有活动接口的报文镜像到观察端口。用户可以对某个VLAN或者某些VLAN内的报文进行监控。
目前,华为S系列盒式交换机在应用VLAN镜像时,仅支持将VLAN内活动接口入方向的报文镜像到观察端口。
同端口镜像类似,根据监控设备在网络中位置的不同,VLAN镜像也可以分为本地VLAN镜像和远程VLAN镜像。值得注意的是,远程VLAN镜像中,主机所在VLAN和用于转发镜像报文的中间二层网络的VLAN不能相同。
MAC镜像:
MAC镜像是指将VLAN内匹配指定源或者目的MAC地址的报文镜像到观察端口。MAC地址镜像提供了一种更加精确的镜像方式,用户可以对网络中特定设备的报文进行监控。
目前,华为S系列盒式交换机在应用MAC镜像时,仅支持将VLAN内活动接口入方向匹配指定源或者目的MAC地址的报文镜像到观察端口。
端口镜像配置命令:
1 | observer-port [observer-port-index] interface-type interface-number [untag-packet] |
注意:
一般观察端口专门用于镜像流量的转发,因此不建议在上面配置其他业务,防止镜像流量与其他业务流量在观察端口上同时转发会互相影响。
- inbound:将镜像端口入方向绑定到观察端口,即将镜像端口接收的报文复制到观察端口上。
- outbound:将镜像端口出方向绑定到观察端口,即将镜像端口发送的报文复制到观察端口上。
- both:将镜像端口双方向绑定到观察端口,将镜像端口收、发的报文都复制到观察端口上。
- 在1:N镜像中,如果镜像端口某一方向绑定的是通过批量方式配置的多个观察端口,则该方向不能再绑定到其他的观察端口。
- 以太网端口和Eth-trunk端口都可以配置为镜像端口。如果将Eth-trunk端口配置为镜像端口,就不能再将其对应的成员端口配置为观察端口。
- observe-port-index指观察端口的索引,必须与配置的观察端口的索引相同。
本地端口镜像配置:
如下图,Gi0/0/02为观察端口,其他三个端口为镜像端口。
配置命令:
1 | [SW]dis current-configuration |
远程端口镜像:
如下图,PC8为监控器,通过两台交换机实现对PC6,7出入流量的监控。
配置命令:
1 | <SW2>dis current-configuration |
1 | <SW3>display current-configuration |
流镜像配置示例:
如下图,AR4设备监控源从源10.0.12.0地址的出去的流量。
配置命令:
1 | <AR2>dis current-configuration |
参考资料:华为HedEx文档