access端口一般接收到的是原始帧,但在讲acess端口原理时说access口接收到tag数据帧时如果tag标记与端口pvid一致就放行。
那么问题是端口怎么接收到tag帧呢,pc端模拟吗怎么模拟
access端口默认情况下接收原始帧(untagged frame),但是它也可以接收tagged frame。
接收tagged frame的条件是:
- 端口的PVID与tagged frame的VLAN ID相同
- 端口的ingress filtering功能关闭(default情况是开启的)
- 端口的acceptable frame type设置为admit all(默认是admit only untagged and priority tagged frames)
所以,要让access端口接收tagged frame,可以: - 配置端口的PVID与发送tagged frame的VLAN ID相同
- 关闭端口的ingress filtering功能,命令:
Switch(config-if)#no switchport ingress-filtering - 设置端口的acceptable frame type为all,命令:
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
Switch(config-if)#switchport acceptframe all - PC端可以使用网卡的VLAN tagging功能或者第三方软件来生成和发送tagged frame。
例如,在Windows系统下可以使用NxFilter软件来产生并发送tagged frame,步骤如下:
- 安装NxFilter软件
- 打开NxFilter,点击Options -> VLAN ID,设置VLAN ID,例如VLAN 10
- 点击Send,就可以发送VLAN ID为10的tagged frame了
- Wireshark可以抓取并分析这些tagged frame
所以,总结来说,access端口要接收tagged frame,需要端口PVID与tagged frame的VLAN ID相同,关闭ingress filtering,设置acceptable frame type为all,PC端软件模拟产生并发送tagged frame。