如一个思科交换机上的端口设置为 Trunk ,并且设置 Native Vlan 为 500 ,并将这个端口用 monitor session 镜像到一台 Linux PC 上用 wireshark 抓包。
那么当一个没有 Vlan Tag 的报文进入这个端口时,应该会被打上 vlan 500 并在交换机内部进行转发。
问题来了,端口镜像抓到的报文应该是打上 Native Vlan Tag 前的报文还是打上 Tag 后的报文?
1
alohathomas 2015-08-17 12:19:22 +08:00
内部转发的 Teg 出来是应该会被去掉, wireshark 抓不到 Native Vlan Tag
|
2
fonlan OP @alohathomas 对,以前我也是这么认为的,并且实际抓到的报文也符合这个情况。但是最近不知道交换机怎么了,端口镜像抓到的报文莫名其妙带上 Vlan Tag 了,我就晕了
|
3
mgoophile 2015-08-17 13:50:07 +08:00 via Android
这种问题只有靠实验才知道啊,镜像是否带 tag 和具体芯片有关。另外用 PC 抓包可能抓不到 vlan tag
|
4
fonlan OP @mgoophile 用的 Linux ,确定是可以抓到 vlan tag 的,问题在于同样的测试环境,现在和以前的结果不一样,不知道是哪里出了问题
|
5
qybei 2015-08-17 20:50:12 +08:00
镜像出来的报文带不带 tag 跟芯片有关。
另外,有的网卡会自动帮你把 vlan tag 去掉,让你误以为没带 tag ;也有很多网卡不过滤 tag ; |
7
invite 2015-08-17 23:20:02 +08:00
好久没搞路由、交换了,印象中某个 NP 还是 IE 视频里有数据包处理顺序的。
|
8
invite 2015-08-17 23:21:20 +08:00
补充一点:
抛开其他的不说,个人理解,既然是端口镜像,那么必然是来什么数据,我复制什么数据,交换机内部怎么走的,不关心。从这个角度理解,应该是不带 Tag 的原始数据帧。 |
9
fonlan OP 暂时解决了,把 Monitor Session 的 Encapsulation 改成 Replicate 就可以了,之前一直是 DOT1Q ,不过奇怪的是为啥之前 DOT1Q 也是正常的……
|