交换机的ACCESS工作模式在设计的时候,主要的场景是对端连接的是PC,而正常PC发送报文时是不带VLAN的,所以一般交换机的ACCESS端口都是处理不带vlan的报文。在一些特殊的场景中,ACCESS端口也可能会收到带VLAN的报文,这个时候该如何处理呢?这就是我们今天所要讨论的内容。

这个问题可以分为三种场景来分析:场景1:ACCESS端口收到不带VLAN的报文场景2:ACCESS端口收到带VLAN的报文,并且和配置的ACCESS VLAN相同场景3:ACCESS端口收到带VLAN的报文,并且和配置的ACCESS VLAN不相同

这三种场景,交换机的处理方式是不一样的,我们来一一描述,重点关注场景2。

首先看看场景1:ACCESS端口收到不带VLAN的报文, 如下图所示


这种场景是最基本的ACCESS VLAN的应用,交换机E0/1端口收到PC1发送的不带VLAN的报文(假设是广播),会加上VLAN, 然后再在交换机上查找在相同VLAN里的端口进行转发(从E0/2转发出去)。


PC1发送出去的报文,不带VLAN

从E0/2端口发送出去报文,也是不带VLAN的


PC2收到的报文,也不带VLAN

在来看看场景2:ACCESS端口收到带VLAN的报文,并且和配置的ACCESS VLAN相同

拓扑还是不变


场景2拓扑

只是我们把PC1配置一个子接口,并且加上dot1Q封装,这样PC1发送出去的报文,都会加上VLAN10


PC的配置,PC1是个子接口

查看PC1发送的报文:发现携带了VLAN10


PC1发送的报文,都带VLAN10

交换机收到PC1带VLAN的报文以后,会和端口配置的ACCESS VLAN进行比较,如果相同,则会进行处理,处理过程和接收到不带VLAN的报文相同。


思科交换机配置

PC2能够收到PC1发送的报文,不过收到的报文都是不带VLAN的


PC2接收的报文:不带VLAN

这个时候,在交换机上查看mac地址表,也是有表项的


最后一个场景3:ACCESS端口收到带VLAN的报文,并且和配置的ACCESS VLAN不相同

这种情况交换机收到报文以后,就直接丢弃了,不会进行处理,也不会形成MAC地址表项。

综上所述我们得出如下的结论:

ACESSS端口接收不带VLAN报文加上端口配置的ACCESS VLAN

接收到带VLAN报文, 和ACCESS端口配置的VLAN相同转发报文和接收到不带VLAN的报文作相同的处理

接收到带VLAN报文, 和ACCESS端口配置的VLAN不同丢弃报文,不进行处理

ACCESS端口发送报文全部剥掉VLAN