VLAN Tag,PVID

article/2025/11/9 7:58:56

VLAN(Virtual Local Network,虚拟局域网),对于VLAN的划分方法有很多种:基于端口划分,基于MAC地址划分,基于网络协议划分,基于IP地址划分,基于策略划分等等。但是就上述而言,对VLAN的划分就是以交换机为主语的,也就是说,主机并不感知VLAN的存在,那么关于报文中VLAN的标签到底是怎么回事呢?

首先,我们先来说一下交换机的端口。

交换机的端口以三种分类:

  1. Access接口:一般用于接用户计算机,一个Access端口只能属于一个VLAN。
  2. Trunk接口:一般用于交换机之间的互联的端口,trunk口可以属于多个VLAN,可以接受和发送多个VLAN的报文。
  3. Hybrid接口:可以用于交换机之间的连接,也可以用于接用户的计算机,Hybrid端口可以属于多个VLAN,可以接受和发送多个VLAN的报文。

那么对于可以接受和发送多个VLAN的端口来说,就有一个缺省VLAN的概念,什么是缺省VLAN呢?举个例子,当收到一个不知道属于哪个VLAN的报文的时候,Trunk端口或者Hybrid端口怎么对其进行处理呢?就将其设置为缺省VLAN。对于缺省VLAN也有叫做PVID(Port VID),或者Native Vlan的叫法。缺省VLAN可能是不存在的VLAN。

  1. Access端口只属于一个VLAN,则缺省VLAN就是他所在的VLAN,不用设置。
  2. Hybrid端口和Trunk口都属于多个VLAN,所以需要设置缺省VLAN ID。在没有设置的情况下,这个缺省VLAN ID均为1。

所谓VLAN tag就是在以太网帧格式的源MAC和目的IP之间添加了4字节,这四个字节中除了控制位以外,就是12bit的VLAN ID号码。这个报文格式由于是IEEE 802.1Q协议提出的,所以有时候也称为802.1Q帧格式。

端口对于报文的处理,其处理方面分为两种:接受报文、发送报文:

  1. Access端口:
    1. 当收到不带VLAN Tag的报文,则加上端口的PVID;当收到带VLAN Tag的报文,则交换机不做处理,直接丢弃。
    2. 当Access端口向主机发送帧时,会剥离802.1Q的 tag头部,发送普通的以太网帧给主机。
  2. Trunk端口:
    1. 当收到不带VLAN Tag的报文,则打上端口的PVID;如果该帧包含802.1Q的报文头部,查看是否允许进入(缺省VID,所包含VID),如果可以则接收,否则丢弃。
    2. 当发送帧时,比较该帧的VLAN ID与端口PVID,当不同时,且是允许通过的VLAN ID,则保留Tag,直接透传;当相同时,则去掉Tag,发送报文。
  3. Hybrid端口:
    1. 当接收到不带VLAN Tag的报文时,打上端口的PVID;当该帧包含802.1Q报文头部,查看是否允许进入(PVID,所包含VID),如果可以则接收,否则丢弃。
    2. 当发送报文时,当VLAN ID是该端口允许通过的VLAN ID,则发送该报文,并可以通过命令进行配置端口在发送该VLAN报文时候是否携带Tag。
  4. 总的来说,在接受数据的时候,PVID的作用是为不带VLAN Tag的untag报文添加一个PVID 的tag;在发送报文的时候,将带有PVID Tag的报文的VLAN Tag剥离,从而发送一个不带VLAN Tag的untag报文。这也就是主机与交换机相连的时候采用Access端口,主机从属VLAN但是主机不感知VLAN的原因。
  5. Trunk端口和Hybrid端口的最大区别是,Trunk端口在发送报文时候,只有当VLAN Tag=PVID的时候才会发送出不带Tag的报文;而Hybrid端口可以配置发送多个VLAN的报文,且不带VLAN Tag。
  6. 值得一提的是,同一个交换机上Trunk和Hybrid是不允许并存的。对于Hybrid的妙用如下:

可以看到B与D的通信过程是这样的:

1.当D向B发送数据,到了端口2,加上VID=20的标签。交换机发现端口1允许通过VID=20的报文,然后报文到了端口1,端口1对于VID=20的报文是不加标签的,所以,剥离标签到达B。2.当B向D发送数据时候,B的报文进入端口1,打上VID=10的标签。交换机发现端口2允许VID=10的报文,然后报文到达端口2,端口2对于VID=10的报文是不叫标签的,所以,剥离标签到达D。3.对于这次通信的往返,虽能正常通信,但所走的VLAN是不同的。

原文链接:https://blog.csdn.net/dandandean_96/article/details/83857092


http://chatgpt.dhexx.cn/article/eVKKT8dO.shtml

相关文章

trunk vlan pvid 学习实验整理 2

实验总结: trunk vlan vlan1 vid pvid 等关系。 实验场景二: 上述条件不变【实验场景一】,将PC1 加入vlan10 [SW1]interface Ethernet 0/0/1 [SW1-Ethernet0/0/1]port link-type access [SW1-Ethernet0/0/1]port default vlan 10 >>…

trunk vlan pvid 学习实验整理 1

实验总结: trunk vlan vlan1 vid pvid 等关系。 实验场景一: 将PC1/PC2/PC3,都置于同一网段:192.168.1.0/24 1.PC1 不加入任何vlan,PC2 不加入任何vlan,PC3加入vlan10 2.trunk链路允许vlan 10 20通过。 配置&#xf…

PVID(pvid vlan是什么意思)

26tpwinet如何设置端口pvid25口设置为trunk口? 首先你要确定你的电脑有没有USB转com口线,或者你的笔记本是否支持com口 如果你是win7系统确实没有超级终端那么你可以下一个SecureCRT,然后在设备管理器里面看一下自己是COM几口,波…

PVID和VID的理解

VID解释 VID(VLAN ID)是VLAN的标识,在交换机里面用来划分端口。比如一个交换机有8个端口,现在将port1,port2,port5三个端口的VID设置成1111,那么这三个端口就能接收vlantag1111的数据包。   …

2、PVID(本征VLAN)实验配置步骤

实验拓扑图: 实验配置思路: 将VLAN10配置为本征VLAN 本征VLAN通过Trunk接口时不打tag标记 实验摘要重点命令: [SW1]int g0/0/1 //进入接口 [SW1-GigabitEthernet0/0/1]port trunk pvid vlan 10 //将VLAN10设置为本征VLAN [SW1-Gig…

华为交换机PVID与VLAN ID及TAG 、UNTAG学习记录

一、PVID和VLAN ID 1、PVID是端口的属性,端口的标识,具有唯一性,交换机默认未配置Vlan的情况下,因为全局vlan1的原因,所有端口的PVID都是1。如下图: 2、交换机里面display port vlan命令可以查看未配置状态…

switch中的PVID、VID、untag、tag概念

以openwrt为例,下图是mt7621(glinet mt1300)中switch配置图 该switch一共有7个port,一个连接CPU,还有6个可供外部使用,上图只显示了6个port; 一个switch可以设置多个VLAN(虚拟局域网…

springboot @Qualifier 注解的作用

Qualifier 注解的用法和要解决的问题 现在这两个类都实现了同一个接口。 controller 要注入这个接口 启动服务日志显示在容器中找到俩个实现类 spring不知道要实现那个 1 有两种方式 既然spring不知道那就直接指明你要实现的类 直接注入实现类 这样有点粗鲁 也能解决问题。…

Spring中的@Qualifier注解

国庆期间闲来无事,写了一个简单的小程序,小程序名称叫做 IT藏经楼。目的是分享这些年自己积累的一些学习材料,方面大家查找使用,包括电子书、案例项目、学习视频、面试题和一些PPT模板。里面所有材料都免费分享。目前小程序中只发…

@Qualifier的用处

Qualifier的用处 可以对于一个接口,多个实现类,指定具体注入哪个实现类到这个接口类 在Server 实例化的时候没有指明名称,在atuoWire的时候没有用Quality指明用哪一个的时候,这这时会用容器中仅有的那一个对象(单利&am…

@Autowired和@Qualifier

Autowired 的作用是什么? 1、Autowired 是一个注释,它可以对类成员变量、方法及构造函数进行标注,让 spring 完成 bean 自动装配的工作。 Autowired 默认是按照类去匹配,配合 Qualifier 指定按照名称去装配 bean。 可以这样理解为…

spring注解@Qualifier的详细用法

环境:springboot2.3.10 一般使用在项目中使用Qualifier来限定注入的Bean。 由于项目中我习惯用Resource注解,所以这里先对Autowired和Resource进行个简单的说明。 Autowired和Resource区别 相同点: Autowired与Resource都可以用来装配Be…

Spring 注解 @Qualifier 详细解析

文章目录 1. 概述2. 痛点3. Qualifier4. Qualifier VS Primary5. 通过名称来自动注入6. 总结 1. 概述 今天带你了解一下 Spring 框架中的 Qualifier 注解,它解决了哪些问题,以及如何使用它。我们还将了解它与 Primary 注解的不同之处。更多的技术解析请…

@Qualifier注解作用

Qualifier 注解作用就是为了给Bean打上一个标记,用来查找bean,代码示例: 创建一个java bean package com.gupaoedu.springcloud.example.demo;public class TestClass {private String name; // getter setter 略 }编写配置类,将这个bean装载…

Spring的注解@Qualifier用法

Spring的注解Qualifier用法 在Controller中需要注入service那么我的这个server有两个实现类如何区分开这两个impl呢? 根据注入资源的注解不同实现的方式有一点小小的区别 下面上铺垫图 请忽略我的红线 ##在Controller中使用 Autowired注入时 Qualifier的意思是合格…

java连接mysql数据库实现图书馆管理系统

图书馆管理系统,具体功能包括: 1. 用户登录 2. 用户注册 3. 新图书入库 4. 图书信息查询 5. 图书更新(修改) 6. 旧图书删除 7. 办理借阅证登记 8. 图书借阅管理 完整项目:https://download.csdn.net/download/sger123/…

图书馆管理系统(使用数据库实现)

到现在,终于结束了javaSE基础部分的学习。结束前最后一个项目就是使用数据库实现图书管理系统。 整体项目功能流程结构图: 项目开发前的准备: 软件需求说明书 是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解&…

图书馆管理系统(Java Web)

图书馆管理系统(Java Web) 概述 基于Spring Spring MVC MyBatis的图书馆管理系统,使用Maven进行包管理。主要功能包括:图书查询、图书管理、图书编辑、读者管理、图书的借阅与归还以及借还日志记录等。 项目演示 演示地址 &…

创建和管理图书管理系统数据库

1. 使用对象资源管理器建立名为“book”的数据库。数据文件和日志文件采用默认方式。 2.使用T-SQL命令建立名为“bookmanager”的数据库,并自定义数据文件和日志文件。 create database bookmanager on primary (namebookmanager_data, file…

数据库课程设计实验报告--图书馆管理系统

一、系统平台 开发工具:Eclipse java Mars 数据库 MySQL server,Navicat可视化工具 操作系统:win10 声明:由于该项目已是四年前大一时所做,时隔已久,且本人已不从事java相关工作,恕不能解答…