通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  新兵

注册:2016-9-6
跳转到指定楼层
1#
发表于 2019-10-21 00:25:12 |只看该作者 |倒序浏览


关于VLAN Tag,PVID的问题
VLAN(Virtual Local Network,虚拟局域网),对于VLAN的划分方法有很多种:基于端口划分,基于MAC地址划分,基于网络协议划分,基于IP地址划分,基于策略划分等等。但是就上述而言,对VLAN的划分就是以交换机为主语的,也就是说,主机并不感知VLAN的存在,那么关于报文中VLAN的标签到底是怎么回事呢?
首先,我们先来说一下交换机的端口。
交换机的端口以三种分类:
  • Access接口:一般用于接用户计算机,一个Access端口只能属于一个VLAN。
  • Trunk接口:一般用于交换机之间的互联的端口,trunk口可以属于多个VLAN,可以接受和发送多个VLAN的报文。
  • Hybrid接口:可以用于交换机之间的连接,也可以用于接用户的计算机,Hybrid端口可以属于多个VLAN,可以接受和发送多个VLAN的报文。
那么对于可以接受和发送多个VLAN的端口来说,就有一个缺省VLAN的概念,什么是缺省VLAN呢?举个例子,当收到一个不知道属于哪个VLAN的报文的时候,Trunk端口或者Hybrid端口怎么对其进行处理呢?就将其设置为缺省VLAN。对于缺省VLAN也有叫做PVID(Port VID),或者Native Vlan的叫法。缺省VLAN可能是不存在的VLAN。
  • Access端口只属于一个VLAN,则缺省VLAN就是他所在的VLAN,不用设置。
  • Hybrid端口和Trunk口都属于多个VLAN,所以需要设置缺省VLAN ID。在没有设置的情况下,这个缺省VLAN ID均为1。
所谓VLAN tag就是在以太网帧格式的源MAC和目的IP之间添加了4字节,这四个字节中除了控制位以外,就是12bit的VLAN ID号码。这个报文格式由于是IEEE 802.1Q协议提出的,所以有时候也称为802.1Q帧格式。
端口对于报文的处理,其处理方面分为两种:接受报文、发送报文:
  • Access端口:
    • 当收到不带VLAN Tag的报文,则加上端口的PVID;当收到带VLAN Tag的报文,则交换机不做处理,直接丢弃。
    • 当Access端口向主机发送帧时,会剥离802.1Q的 tag头部,发送普通的以太网帧给主机。
  • Trunk端口:
    • 当收到不带VLAN Tag的报文,则打上端口的PVID;如果该帧包含802.1Q的报文头部,查看是否允许进入(缺省VID,所包含VID),如果可以则接收,否则丢弃。
    • 当发送帧时,比较该帧的VLAN ID与端口PVID,当不同时,且是允许通过的VLAN ID,则保留Tag,直接透传;当相同时,则去掉Tag,发送报文。
  • Hybrid端口:
    • 当接收到不带VLAN Tag的报文时,打上端口的PVID;当该帧包含802.1Q报文头部,查看是否允许进入(PVID,所包含VID),如果可以则接收,否则丢弃。
    • 当发送报文时,当VLAN ID是该端口允许通过的VLAN ID,则发送该报文,并可以通过命令进行配置端口在发送该VLAN报文时候是否携带Tag。
  • 总的来说,在接受数据的时候,PVID的作用是为不带VLAN Tag的untag报文添加一个PVID 的tag;在发送报文的时候,将带有PVID Tag的报文的VLAN Tag剥离,从而发送一个不带VLAN Tag的untag报文。这也就是主机与交换机相连的时候采用Access端口,主机从属VLAN但是主机不感知VLAN的原因。
  • Trunk端口和Hybrid端口的最大区别是,Trunk端口在发送报文时候,只有当VLAN Tag=PVID的时候才会发送出不带Tag的报文;而Hybrid端口可以配置发送多个VLAN的报文,且不带VLAN Tag。
  • 值得一提的是,同一个交换机上Trunk和Hybrid是不允许并存的。对于Hybrid的妙用如下:


举报本楼

您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-11-5 19:02 , Processed in 0.095925 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部