Vlan和Trunk
文章目录
- 一、VLAN的定义与背景
- 1. 传统以太网的问题(广播域)
- 2. 用VLAN隔离广播域
- 3. VLAN的优点与应用
- 二、VLAN的转发过程举例
- 三、802.1Q标签:帧格式与作用
- 四、VLAN工作原理
- 交换机端口类型
- Access
- Trunk
- Hybrid
- PVID(Port VLAN ID)
- 五、VLAN划分方式及优先级
- 六、常用的VLAN配置命令
首先可以看下思维导图,以便更好的理解接下来的内容。

导读:
在现代网络中,虚拟局域网(VLAN)扮演着关键的角色。本文将深入探讨VLAN的概念、工作原理。我们将详细了解VLAN的优势,并探讨其在现实场景中的应用。
一、VLAN的定义与背景
什么是VLAN? VLAN是虚拟局域网(Virtual Local Area Network)的缩写,它是一种逻辑上的子网。它能够跨越多个物理网络段,实现不同VLAN设备之间的隔离,使它们处于不同的广播域中。
1. 传统以太网的问题(广播域)
在传统的以太网网络中,主机发送的广播帧或未知单播帧会被泛洪至整个广播域,导致网络安全性和流量管理问题的严重加剧。

2. 用VLAN隔离广播域
为了解决问题,引入了VLAN的概念。VLAN可以将网络划分为多个逻辑上的子网,从而实现广播域的隔离。

3. VLAN的优点与应用
想象一栋商务楼,多家公司共享网络资源。为了确保各公司之间的数据隔离,可以将每个公司的设备划分到不同的VLAN中,实现“虚拟工作组”。

二、VLAN的转发过程举例
以下是PC向交换机发送数据帧时的VLAN数据转发过程示例:
- PC向交换机发送数据帧时,会打上VLAN标签,其中VLAN ID与接口的VLAN匹配。数据帧被打上标签后,格式转为802.1Q。
- 交换机根据标签中的VLAN检查数据帧的目的MAC地址。
- 数据帧在传送至PC前,VLAN标签会被剥离,还原为标准以太网帧格式。
三、802.1Q标签:帧格式与作用
802.1Q标准定义了在源MAC地址和Type字段之间携带VLAN标签的帧格式。然而,这种格式通常不被计算机直接识别。

四、VLAN工作原理
交换机端口类型
Access
- 描述: 通常连接PC或路由器。
- 特点: 必须与一个VLAN关联,接收的帧会加上该端口VLAN的标签,发送的帧会剥离标签。

Trunk
- 描述: 通常连接交换机。
- 特点: 可以传输多个VLAN的数据,保留VLAN标签,除默认VLAN外。

Hybrid
- 描述: 既可连接PC/路由器,也可连接交换机。
- 特点: 允许多个VLAN数据传输,可以配置哪些VLAN标签保留或剥离。

PVID(Port VLAN ID)
PVID是端口缺省VLAN的标识。对于不同类型的端口:
- Access端口: 其PVID等于所属的VLAN ID,用于标识从该端口接收到的未打标签帧应该加入的VLAN。未打标签的帧会被打上PVID所对应的VLAN标签,以便与该端口所属的VLAN进行匹配。
- Trunk端口: Trunk端口需要手动配置PVID,因为它能够接收多个VLAN的数据。PVID设置的是Trunk端口接收到的未打标签帧所应加入的VLAN。这些帧会被打上PVID所对应的VLAN标签,以便在Trunk上传输。
五、VLAN划分方式及优先级
不同的VLAN划分方式可以根据不同的需求来选择。在不同方式之间存在优先级,即当多个方式同时生效时,优先级高的会生效。
- 基于端口的VLAN: 端口固定属于某个VLAN。适用于需要为每个端口分配独立的VLAN的情况。

- 基于MAC地址的VLAN: 将MAC地址与VLAN绑定,不论连接在哪个端口,设备所在的VLAN都不变。适用于需要根据设备而不是端口来确定VLAN的情况。

- 基于协议的VLAN: 通过三层协议将报文绑定到VLAN,相同协议的报文不论从哪个端口接收,都归属于同一VLAN。适用于需要根据协议类型来划分VLAN的情况。

- 基于IP子网的VLAN: 将IP网段绑定到VLAN,同一IP子网的设备无论连接在哪个端口,都归属于同一VLAN。适用于需要根据设备的IP地址来划分VLAN的情况。

VLAN归属优先级:
当不同方式同时适用于某个端口时,VLAN的归属优先级如下:
MAC地址VLAN > IP子网VLAN > 协议VLAN > 端口VLAN。
六、常用的VLAN配置命令
在H3C交换机中,常用的VLAN配置命令如下:
vlan 'vlan id' #创建VLAN
[h3c-vlanXX] name 'text' #为VLAN命名
[h3c-vlanXX] port 'port id' #将端口加入VLAN
[h3c-GigabitEthernetX/X/X] port link-type 'access/trunk/hybrid' #配置端口类型
[h3c-GigabitEthernetX/X/X] port trunk permit vlan 'vlan-id-list/all' #配置Trunk端口允许的VLAN
[h3c-GigabitEthernetX/X/X] port trunk pvid 'vlan id' #配置Trunk端口的PVID
display vlan 'vlan id' #查看VLAN信息
display vlan brief #查看VLAN摘要信息
display port trunk #查看Trunk端口信息
[h3c-GigabitEthernetX/X/X] undo port link-type #还原默认端口类型
如有不详或错误,敬请指出。
相关文章:
Vlan和Trunk
文章目录 一、VLAN的定义与背景1. 传统以太网的问题(广播域)2. 用VLAN隔离广播域3. VLAN的优点与应用 二、VLAN的转发过程举例三、802.1Q标签:帧格式与作用四、VLAN工作原理交换机端口类型AccessTrunkHybrid PVID(Port VLAN ID&am…...
java 批量下载将多个文件(minio中存储)压缩成一个zip包
我的需求是将minio中存储的文件按照查询条件查询出来统一压成一个zip包然后下载下来。 思路:针对这个需求,其实可以有多个思路,不过也大同小异,一般都是后端返回流文件前端再处理下载,也有少数是压缩成zip包之后直接给…...
nnUNet v2数据准备及格式转换 (二)
如果你曾经使用过nnUNet V1,那你一定明白数据集的命名是有严格要求的,必须按照特定的格式来进行命名才能正常使用。 这一节的学习需要有数据,如果你有自己的数据,可以拿自己的数据来实验,如果没有,可以用十…...
ant-vue1.78版监听a-modal遮罩层的滚动事件
监听a-modal遮罩层的滚动事件 我们开发过程中经常有遇到监听页面滚动的事件需求,去做一些下拉加载或者是下拉分页的需求,我们直接在vue的生命周期中去绑定事件监听非常的方便,但如果是弹框的遮罩层的滚动监听呢?页面的监听完全是…...
MATLAB中residue函数用法
目录 语法 说明 示例 求解具有实根的部分分式展开式 展开具有复数根和同次分子及分母的分式 展开分子次数高于分母次数的分式 residue函数的功能是部分分式展开(部分分式分解)。 语法 [r,p,k] residue(b,a) [b,a] residue(r,p,k) 说明 [r,p…...
攻防世界-Caesar
原题 解题思路 没出现什么特殊字符,可能是个移位密码。凯撒密码加密解密。偏移12位就行。...
嵌入式开发-lin总线介绍 一.概述
1.1lin总线定义和历史 LIN总线(Local Interconnect Network)是一种基于UART/SCI(Universal Asynchronous Receiver-Transmitter/Serial Communication Interface)的低成本串行通信协议。它主要用于汽车、家电、办公设备等多种领域…...
羊城杯-2023-Crypto
文章目录 Danger_RSA题目描述:题目分析: Easy_3L题目描述:题目分析: XOR贯穿始终题目描述:题目分析: MCeorpkpleer题目描述:题目分析: SigninCrypto题目描述:题目分析&am…...
RabbitMQ快速上手及讲解
前言:在介绍RabbitMQ之前,我们先来看下面一个场景: 1.1.1.1 异步处理 场景说明: 用户注册后,需要发注册邮件和注册短信,传统的做法有两种 1.串行的方式 (1)串行方式:将注册信息写入数据库后&a…...
使用多线程std::thread发挥多核计算优势(解答)
使用多线程std::thread发挥多核计算优势(题目) 单核无能为力 如果我们的电脑只有一个核,那么我们没有什么更好的办法可以让我们的程序更快。 因为这个作业限制了你修改算法函数。你唯一能做的就是利用你电脑的多核。 使用多线程 由于我们…...
MySQL分页查询详解:优化大数据集的LIMIT和OFFSET
最近在工作中,我们遇到了一个需求,甲方要求直接从数据库导出一个业务模块中所有使用中的工单信息。为了实现这一目标,我编写了一条SQL查询语句,并请求DBA协助导出数据。尽管工单数量并不多,只有3000多条,但…...
解构赋值、函数默认值
暂时性死区,TDZ(Temporal Dead Zone) var x 1 {let x x//此处声明了x,但是没有对x赋值,相当于在赋值之前引用x,所以会造成报错console.log(x)//报错x is not defined,暂时性死区,…...
【已解决】Mybatis 实现 Group By 动态分组查询
🎉工作中遇到这样一个需求场景:实现一个统计查询,要求可以根据用户在前端界面筛选的字段进行动态地分组统计。也就是说,后端在实现分组查询的时候,Group By 的字段是不确定的,可能是一个字段、多个字段或者…...
Android修改默认gradle路径
Android Studio每次新建项目,都会默认在C盘生成并下载gradle相关文件,由于C盘空间有限,没多久C盘就飘红了,于是就需要把gradle相关文件转移到其他盘 1、到C盘找到gradle文件 具体路径一般是:C:\Users\用户\ .gradle …...
原生JS+canvas实现炫酷背景
原生JScanvas实现炫酷背景 可以在需要的背景页使用 <!doctype html> <html> <head> <meta charset"utf-8"> <title>HTML5 Canvas矩阵粒子波浪背景动画特效</title> <style> html,body { height:100%; } body { …...
Linux学习之NAS服务器搭建
NAS是Network Attached Storage的缩写,也就是网络附属存储。可以使用自己已经不怎么使用的笔记本搭建一台NAS服务器。 fdisk -l可以看一下各个磁盘的状态。 可以看到有sda、sdb、sdc和sdd等四块硬盘。 lvs、vgs和pvs结合起来看,sdb和sdc没有被使用。 …...
分享码云上8个宝藏又有价值的开源图片编辑器
如果你需要高效地处理图片,那么这8款实用工具是可以尝试的! 它们能够进行一键抠图、放大、拼接、转矢量图、图标自动生成以及等操作,让你的工作效率飞升! 在Gitee这个最有价值的开源项目计划是Gitee综合评定出的优秀开源项目的展示…...
TCP Header都有啥?
分析&回答 源端口号(Source Port) :16位,标识主机上发起传送的应用程序; 目的端口(Destonation Port) :16位,标识主机上传送要到达的应用程序。 源端,目…...
无涯教程-Android - AutoCompleteTextView函数
AutoCompleteTextView是一个类似于EditText的视图,只是它在用户键入时自动显示补充数据。 AutoCompleteTextView - 属性 以下是与AutoCompleteTextView控件相关的重要属性。您可以查看Android官方文档以获取属性的完整列表以及可以在运行时更改这些属性的相关方法。…...
【Docker】 07-安装ElasticSearch、Kibana
安装ElasticSearch 1、拉取镜像 docker pull elasticsearch:6.4.2 2、运行 docker run -p 9200:9200 -p 9300:9300 --name es -d elasticsearch:6.4.2 启动会报错,按照下面流程修改 3、在宿主机中,修改配置sysctl.conf vim /etc/sysctl.conf 加入如下配…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
