VLAN工作原理之ACCESS:接收到带VLAN的报文如何处理

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

  1. 场景1:ACCESS端口收到不带VLAN的报文
  2. 场景2:ACCESS端口收到带VLAN的报文 , 并且和配置的ACCESS VLAN相同
  3. 场景3:ACCESS端口收到带VLAN的报文 , 并且和配置的ACCESS VLAN不相同
这三种场景 , 交换机的处理方式是不一样的 , 我们来一一描述 , 重点关注场景2 。
首先看看场景1:ACCESS端口收到不带VLAN的报文 ,  如下图所示
VLAN工作原理之ACCESS:接收到带VLAN的报文如何处理

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

文章插图
PC1发送出去的报文 , 不带VLAN
从E0/2端口发送出去报文 , 也是不带VLAN的
VLAN工作原理之ACCESS:接收到带VLAN的报文如何处理

文章插图
PC2收到的报文 , 也不带VLAN
在来看看场景2:ACCESS端口收到带VLAN的报文 , 并且和配置的ACCESS VLAN相同
拓扑还是不变
VLAN工作原理之ACCESS:接收到带VLAN的报文如何处理

文章插图
场景2拓扑
只是我们把PC1配置一个子接口 , 并且加上dot1Q封装 , 这样PC1发送出去的报文 , 都会加上VLAN10
VLAN工作原理之ACCESS:接收到带VLAN的报文如何处理

文章插图
PC的配置 , PC1是个子接口
查看PC1发送的报文:发现携带了VLAN10
VLAN工作原理之ACCESS:接收到带VLAN的报文如何处理

文章插图
PC1发送的报文 , 都带VLAN10
交换机收到PC1带VLAN的报文以后 , 会和端口配置的ACCESS VLAN进行比较 , 如果相同 , 则会进行处理 , 处理过程和接收到不带VLAN的报文相同 。
VLAN工作原理之ACCESS:接收到带VLAN的报文如何处理

文章插图
思科交换机配置
PC2能够收到PC1发送的报文 , 不过收到的报文都是不带VLAN的
VLAN工作原理之ACCESS:接收到带VLAN的报文如何处理

文章插图
PC2接收的报文:不带VLAN
这个时候 , 在交换机上查看mac地址表 , 也是有表项的
VLAN工作原理之ACCESS:接收到带VLAN的报文如何处理

文章插图
 
最后一个场景3:ACCESS端口收到带VLAN的报文 , 并且和配置的ACCESS VLAN不相同
这种情况交换机收到报文以后 , 就直接丢弃了 , 不会进行处理 , 也不会形成MAC地址表项 。
【VLAN工作原理之ACCESS:接收到带VLAN的报文如何处理】综上所述我们得出如下的结论:
ACESSS端口接收不带VLAN报文
  • 加上端口配置的ACCESS VLAN
接收到带VLAN报文, 和ACCESS端口配置的VLAN相同
  • 转发报文
  • 和接收到不带VLAN的报文作相同的处理
接收到带VLAN报文, 和ACCESS端口配置的VLAN不同
  • 丢弃报文 , 不进行处理
ACCESS端口发送报文
  • 全部剥掉VLAN
这样解释 , 各位对ACCESS端口处理报文的机制了解了吗?如果有疑问 , 欢迎留言讨论!也非常欢迎各位关注本头条号 , 一起讨论网络知识!




    推荐阅读