再理解VLAN

2 篇文章 0 订阅
2 篇文章 0 订阅

今天被培训了一下,感觉之前写的Trunk和native VLAN笔记简直狗屁不通,不知所云。这次再理一下思路。

什么是VLAN?百度知道,http://baike.baidu.com/view/16125.htm,我就不抄了。

交换机的端口,分为2种,Access和Trunk。可以把Access理解为Trunk的一种特殊情况。下面就以Trunk口来理解VLAN Tag。

交换机内部有一个FDB(Forwarding Datebase),是一个表,包括MAC和VLAN等信息。

每一个端口,都会有一个Native VLAN和一个VLAN的Allow List,也就是说允许哪些VLAN的报文通过。

在交换机内部的报文,都会有VLAN Tag。

  1. 当一个不带VLAN Tag的报文进入端口时,交换机就会把这个报文加一个包含Native VLAN的VLAN Tag。当一个带VLAN Tag的报文进入时,什么都不做。这样就保证了报文一进入交换机就有VLAN Tag。
  2. 当一个报文有了VLAN Tag后,交换机就会检查这个报文是否允许通过。这个要通过检查VLAN的Allow List。如果报文的VLAN不在Allow List里,那么这个报文会被丢弃。如果在Allow List里,那么就转发。所以,通常情况下,Native VLAN都会在Allow List里。也有特殊情况,如果不希望不带VLAN Tag的报文通过,那么可以让Native VLAN不在Allow List里。
  3. 经过了上一步,报文应该往哪里发?这就需要查找FDB。通过在FDB里查找DMAC(目的MAC)所在的端口,把报文转发出去。
  4. 当这个报文走到出端口时,出端口会先检查Allow List,如果不在,则丢弃。然后看报文的VLAN是不是跟自己的Native VLAN相等。如果相等,则把VLAN Tag剥掉,送出一个不带VLAN的报文。如果不相等,不做任何改动,带着VLAN Tag直接送出。
为什么说Access是Trunk的一种特殊情况?其实,Access就相当于VLAN的Allow List里只有一个成员,就是Native VLAN,通常也叫PVID。所以,从Access口出去的报文绝对不会带Tag,因为有2种情况,a)Tag被剥掉了(报文的VLAN==Native VLAN),b)报文被丢弃了(报文的VLAN不在Allow List里)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值