一、镜像简介
定义
镜像是指将指定源的报文复制一份到目的端口。指定源被称为镜像源,目的端口被称为观察端口,复制的报文被称为镜像报文。
目的
网络维护过程中会遇到需要对报文进行获取和分析的情况,比如怀疑有攻击报文,此时需要在不影响报文转发的情况下,对报文进行获取和分析。
镜像可以在不影响报文正常处理流程的情况下,将镜像端口的报文复制一份到观察端口,用户利用数据监控设备来分析复制到观察端口的报文,进行网络监控和故障排除。
二、镜像原理描述
基本概念
如图2-1所示,镜像端口和观察端口是镜像中的两个基本概念。
镜像端口
镜像端口是被监控的端口,从镜像端口流经的报文将被复制到观察端口。
观察端口
观察端口是连接监控设备的端口,用于输出从镜像端口复制过来的报文。
观察端口组是连接多个监控设备的一组端口。观察端口组中的多个成员端口分别连接多个监控设备,当使用观察端口组镜像报文时,镜像到观察端口组的报文将被复制到所有的成员端口。
图2-1 镜像组网图

镜像分类
根据不同的维度,镜像分类的方式如表2-1所示,其中根据镜像源进行分类的方式比较常用。
表2-1 镜像分类
当设备上同时配置流镜像、端口镜像、VLAN镜像到不同的观察端口,优先级为流镜像>端口镜像>VLAN镜像,仅一个观察端口可以收到镜像报文。
三、镜像配置注意事项
3.1、镜像的使用限制
表3-1 本特性的使用限制
3.2、镜像缺省配置
镜像的缺省配置如表3-2所示。
表3-2镜像缺省配置
3.3、镜像规格
3.3、观察端口规格
如果设备存在观察端口和观察端口组总数限制,该限制与观察端口和观察端口组的限制同时生效。
当设备存在观察端口和观察端口组总数限制时,需要同时满足以下条件:
观察端口数量 ≤ 观察端口数量限制
观察端口组数量 ≤ 观察端口组数量限制
观察端口数量 + 观察端口组数量 ≤ 观察端口和观察端口组总数限制
表3-3 观察端口规格
3.4、1:N镜像规格
1:N镜像对所有观察端口/观察端口组成员口的报文复制的份数存在限制,分为两种情况。具体限制可参考如下表格。
不区分观察端口与观察端口组。即当1:N镜像报文复制份数限制为8时,不论使用哪种形式,最多可复制8份报文给不同的观察端口/观察端口组成员端口。
区分观察端口和观察端口组。即当观察端口限制为8,观察端口组限制为64时:若采用观察端口的形式,则最多可复制8份报文给不同的观察端口。若采用观察端口组的形式,则最多可复制64份报文给不同的成员口。
表3-4 1:N镜像规格
3.5、N:1镜像规格
N:1镜像是指将N个镜像源的报文镜像到一个观察端口,N无规格限制。
表1 各类镜像方式中N的含义
3.6、M:N镜像规格
M:N镜像是指将M个镜像源的报文镜像到N个观察端口。M:N镜像相当于M个1:N镜像叠加,其中M无规格限制,N的规格参考1:N镜像规格。
在符合N的规格限制情况下,所有镜像报文均可正常处理。
四、配置观察端口
背景信息
观察端口是与监控设备相连的端口。通过配置观察端口,设备上流量镜像到观察端口后,再通过观察端口转发给监控设备进行分析处理。
镜像报文截断是将原始报文中指定长度的部分复制到观察端口,超出指定长度的部分不复制。镜像报文截断适用于大流量场景下,监控设备存储容量有限,且监控设备只需要分析报文头部信息了解报文来源即可,此时可以配置镜像报文截断。
建议不要在观察端口上配置其他业务,以避免和镜像业务产生冲突。
操作步骤
进入系统视图。
system-view配置观察端口或观察端口组。如果需要将镜像报文发送至多个观察端口,可以选择观察端口组方式。
配置观察端口。
observe-port [ observe-port-index ] interface interface-type interface-number配置观察端口组。
observe-port group group-id group-member { interface-type interface-number [ to interface-type interface-number ] } &<1-8> quit
(可选)配置镜像报文截断。
observe-port packet-length packet-length实际截断长度为配置的镜像报文截断长度再加上4字节CRC。例如配置镜像报文截断长度为64字节,镜像出去的报文实际为68字节(即64+4)。
缺省情况下,设备对镜像报文不进行截断。
检查配置结果
执行命令display observe-port [ index ],查看观察端口的配置信息。
后续处理
根据需要选择配置相应的镜像方式,实现将流量镜像到观察端口或观察端口组。
五、配置端口镜像
5.1、了解端口镜像
端口镜像是指将指定端口接收或发送的报文复制到观察端口。观察端口与监控设备直连时称为本地端口镜像。与监控设备直连的观察端口称为本地观察端口。
如图5-1所示,DeviceA上的镜像端口在接收或发送报文的时候,会将报文复制一份到观察端口。本地观察端口再将复制的原始报文发送给监控设备。
图5-1 本地端口镜像示意图

5.2、配置本地端口镜像
前提条件
已完成配置观察端口。
背景信息
端口镜像是指将流经端口的报文复制到观察端口,然后通过观察端口将镜像报文发送到监控设备。观察端口与监控设备直连时称为本地端口镜像。
当设备对重组的分片报文进行镜像时,端口镜像镜像的报文是从端口进来的分片报文。
开启端口镜像功能有助于定位网络问题,但是由于该功能可能在一定程度上影响设备性能,请谨慎使用。在网络问题定位结束后,请关闭端口镜像功能。
操作步骤
进入系统视图。
system-view进入接口视图(此接口即为需要配置的镜像端口)。
interface interface-type interface-number配置将端口流量镜像到观察端口或者观察端口组。
port-mirroring observe-port { observe-port-index | group group-id } { both | inbound | outbound }
检查配置结果
执行命令display port-mirroring,查看镜像的配置信息。
六、配置VLAN镜像
6.1、了解VLAN镜像
VLAN镜像是将指定VLAN接收或发送的报文复制到观察端口。如图6-1所示,通过VLAN镜像,DeviceA仅将来自VLAN 10的报文镜像到监控设备。
图6-1 VLAN镜像示意图

6.2、配置本地VLAN镜像
前提条件
已完成配置观察端口。
背景信息
VLAN镜像是指将VLAN内活动接口接收/发送的报文复制到观察端口,然后通过观察端口将镜像报文发送到监控设备。观察端口与监控设备直连时称为本地VLAN镜像。
注意:
对需要进行VLAN Mapping的报文进行入方向VLAN镜像时,请在VLAN Mapping后的VLAN视图下配置入方向VLAN镜像。镜像的报文为VLAN Mapping前的报文。
操作步骤
进入系统视图。
system-view进入VLAN视图。
vlan vlan-id配置VLAN镜像。
对于S620、S630、S550:
mirroring observe-port { observe-port-index | group group-id } { inbound | outbound | both }对于S310、S220、S530:
mirroring observe-port { observe-port-index | group group-id } inbound缺省情况下,系统未配置VLAN镜像。
检查配置结果
执行命令display port-mirroring,查看镜像配置信息。
七、配置流镜像
7.1、了解流镜像
流镜像是指将符合指定规则的报文流复制到观察端口。如图7-1所示,镜像端口将匹配规则的业务流2复制到观察端口,然后观察端口再将复制的业务流2转发到监控设备。
图7-1 流镜像示意图

基于MQC的流镜像实际上是在全局、VLAN、端口、VPN实例上应用了包含流镜像行为的流策略。
7.2、配置本地基于MQC的流镜像
前提条件
已完成配置观察端口。
背景信息
流镜像是指将流经端口的特定业务流的报文复制到观察端口,然后通过观察端口将镜像报文发送到监控设备。基于MQC的流镜像通过使用流分类中丰富的匹配规则,可以实现对特定业务流的筛选。基于MQC的流镜像实际上是在全局、VLAN、端口、VPN实例上应用了包含流镜像行为的流策略。观察端口与监控设备直连时称为本地基于MQC的流镜像。
注意:
配置流镜像时,引用的ACL匹配规则的动作必须为permit。
当MQC的流分类中配置了对匹配的报文记录日志功能(即rule命令中指定logging参数),并且设备上配置了镜像功能时,命中流分类进行logging的报文不支持镜像功能。如果需要对这类报文进行镜像请删除rule命令中logging参数。
当设备对重组的分片报文进行镜像时,流镜像镜像的报文是重组后的报文。
操作步骤
进入系统视图。
system-view配置流分类
配置流行为。
创建一个流行为并进入流行为视图,或进入已存在的流行为视图。
traffic behavior behavior-name将流量镜像到观察端口或观察端口组。
mirroring observe-port { observe-port-index | group group-id }退出流行为视图。
quit
配置流策略。
应用流策略。
检查配置结果
执行命令display port-mirroring,查看镜像的配置信息。
执行命令display traffic classifier [ classifier-name ],查看流分类的配置信息。
执行命令display traffic behavior [ behavior-name ],查看流行为的配置信息。
执行命令display traffic policy [ policy-name [ classifier classifier-name ] ],查看流策略的配置信息。
执行命令display traffic-policy applied-record,查看流策略的应用记录信息。