天天看点

mirror

              mirror

今天在测试mirror功能时,发现一个大问题,原本以为mirror功能只是简单的复制,结果大错特错了,总结了一下几点:(DUT -->被测试的设备,IXIA -->一种发包工具,DUT 的1,2,3接口分别连接IXIA 的1,2,3接口)

<b>Case 1</b><b>, mirroring </b><b>出口转发数据包的情况</b>

DUT 接口1 为mirroring port,DUT port 2 为mirrored port ,DUT port 2 加入到vlan 10 中,并从vlan1 中移除,只把DUT port 1的出口数据包mirrored 到 DUT 接口2,从IXIA 接口3向 DUT port 1 发送数据流

①   把DUT接口1加入到vlan 1,2,3,4中,并且标记为untagged ,其mirroring 和mirrored port接收到的数据包类型如下。

IXIA 接口3(发送数据包类型)

IXIA 接口1(接受数据包类型)

IXIA 接口2(接收数据包类型)

<b>Untagged</b>

<b>Tagged 1</b>

Tagged 1

Tagged 2

Tagged 3

Tagged 4

如果mirroring port是untagged port ,mirrored 后 转发是会打上tag,以便区分是从哪个vlan转发过来的。对于同样的数据包,只是vlan标签不一样的,假如mirrored 只是简单的把mirroring port接受到得数据流复制一份到mirrored接口上时,则很难说清这个数据包来自于哪个vlan,因为从untagged接口出来的数据包都是untagged,所以在mirror untagged 接口上的数据包时,会打上发送者的vlan标签,以区分来自于哪个vlan的,在此要注意,不是数据包简单的复制。Mirrored 和mirroring port接收到的数据包有变化的。对于mirrored 打上的tag 于mirroring 接口上的pvid 无关,至于发送到mirroring接口上的数据流的tag有关,

②   把DUT接口1加入到vlan 1,2,3,4中,并且标记为tagged ,

对于mirroring port是tagged 很好理解,出来的数据包需要打上tagged

这个就是简单的复制,就可以区分了。当IXIA 接口3发送untagged数据包时,与DUT port1 上的pvid无关,都会打上tagged 1 。

<b>Case 2 mirroring </b><b>入口转发数据包的情况</b>

DUT 接口1 为mirroring port,DUT port 2 为mirrored port ,DUT port 2 加入到vlan 10 中,并从vlan1 中移除,只把DUT 1的入口数据流mirrored 到DUT 接口2,

不管mirroring 接口是tagged 还是untagged ,对于mirroring入口的数据包和mirrored后的数据包是完全一样的,直接复制从mirroring接口进口的数据包到mirrored接口,不会做其他的处理,与mirroring port上的pvid 没有关系。那么从从IXIA 接口1 发送untagged数据流,IXIA 接口2收到的数据包也是untagg的,不会打上tag标记,这个出口数据包不一样。

本文转自 帅枫小明 51CTO博客,原文链接:http://blog.51cto.com/576642026/806645,如需转载请自行联系原作者

继续阅读