想要学习Trunk,Native VLAN是绕不过去的一道坎,必须把Native VLAN的工作原理搞明白了,才能宣称自己是懂Trunk的。今天我们就来分享一下相关的内容。

Native VLAN在中文中可以称之为“本征VLAN”,但是工作中基本上不会有人这么叫,都是说英文名称,中文名称听起来怪怪的,感觉不够上档次:)。当然Native VLAN是思科系交换机的叫法,华为系的交换机也有类似的功能:PVID,Port-base VLAN ID,各位了解一下。

我们先来说说为啥需要Native VLAN呢?据史书记载,最早需要Native VLAN的场景是为了兼容老旧的设备。这些老旧的设备有多老呢:它不支持VLAN。。。

我们来看看下面的这张图片:




native vlan作用 native vlan与pvid_组网

Native VLAN产生原理图



这些老旧的设备不支持VLAN,所以就对组网提出了要求:

  1. 老旧设备收到的Frame,不能带VLAN
  2. 汇聚交换机收到老旧设备发送的Frame,需要加上VLAN

这对于Trunk口当时是没有办法满足的,所以当时的工程师就提出Native VLAN的概念,Native VLAN就能够完美的解决这个问题,在下面我们会分享Native VLAN的工作原理。当然有人会说,为啥不能直接替换到老旧设备啊,替换以后直接使用支持VLAN的新设备不就可以了吗?只能说这种想法太天真,替换设备是需要的钱的,一提到钱老板就会紧张,不给你批经费啊,一般老板会说:“之前设备不是挺好的吗,再用个10多年再说吧”:)。所以历史上很多新技术,都是因为兼容性的问题被埋没了,而Trunk没有被埋没,就是因为能变通,它使用Native VLAN来解决了这些问题。

说了这么多,Native VLAN的工作原理到底是咋样的呢?我们来一起看一下:

原理1:接收报文时,对于不携带VLAN的报文,Trunk接收到以后,会加上Native VLAN;




native vlan作用 native vlan与pvid_组网_02

原理1



原理2:接收报文时,对于携带VLAN的报文,Trunk接收到以后,会和本端口的Native VLAN进行比较:

  1. 如果两者相同:就会剥掉VLAN;
  2. 如果两者不同:就不会修改报文,按照正常流程转发。



native vlan作用 native vlan与pvid_trunk口_03

携带VLAN且和Native VLAN相同




native vlan作用 native vlan与pvid_工作原理_04

携带VLAN但和Native VLAN不相同



原理3:在Trunk端口发送报文时,检查发送的报文的VLAN是否和Native VLAN相同:

  1. 如果两者相同:就会剥掉VLAN,让报文以untagged的方式转发
  2. 如果两者不同:不会做任何处理,报文带VLAN在链路上转发



native vlan作用 native vlan与pvid_trunk口_05

携带VLAN但是和Native VLAN相同




native vlan作用 native vlan与pvid_trunk口_06

携带VLAN但是和Native VLAN不同



经过上面的解释,各位感觉怎么样了呢?是不是已经Native VLAN了解了呢?如果已经了解,证明你已经要起飞了,只是还需要积累。

如果没有理解也没有关系,后面的几篇文章都是关于如何验证Native VLAN的这3个工作原理的,欢迎留言讨论!