【计算机网络篇】数据链路层(14)虚拟局域网VLAN(概述,实现机制)
文章目录
- 🛸虚拟局域网VLAN
- 🍔虚拟局域网VLAN的实现机制
- 🥚IEEE 802.1Q帧
- 🥚以太网交换机的接口类型
- 🗒️例一:在一个交换机上不进行人为的VLAN划分,交换机各接口默认属于VLAN1且类型为Access的情况。
- 🗒️例二:在一个交换机上划分两个不同VLAN的情况
- 🗒️例三:两个交换机通过Trunk类型的接口互连,Trunk接口将802.1Q帧“去标签”后进行转发的情况
- 🗒️例四:两个交换机通过Trunk类型的接口互连,Trunk接口将802.1Q帧直接转发的情况
- ⭐Access接口和Trunk接口的区别

🛸虚拟局域网VLAN
虚拟局域网是一种将局域网内的站点划分成与物理位置无关的逻辑组
的技术,一个逻辑组就是一个VLAN,VLAN中的各站点具有某些共同的应用需求
如下图所示
1楼,2楼,3楼分别拥有一个局域网,将它们通过另外一个交换机互联成一个更大的互联网,那么,原来的每一个局域网就成了现在整个局域网的一个网段,网络中的各主机属于同一个广播域
某个主机发送的广播帧,其他所有主机都会收到
根据应用需求,我们将这些主机划分到VLAN1中,将剩余主机划分到VLAN2中
这样,VLAN1中的广播帧就不会传送到VLAN2中了
也就是说,属于同一VLAN的站点之间可以直接进行通信,而不同VLAN中的站点之间不能直接通信。
虚拟局域网VLAN并不是一种新型网络,它只是局域网能够提供给用户的一种服务
🍔虚拟局域网VLAN的实现机制
🥚IEEE 802.1Q帧
IEEE 802.1Q帧也称为Dot One Q帧,它对以太网V2的MAC帧格式进行了扩展:在源地址字段和类型字段之间插入了4字节的VLAN标签(tag)字段
VLAN标签字段由标签协议标识符TPID,优先级PRI,规范格式指示符CFI,虚拟局域网标识VID四部分组成
802.1Q帧一般不由用户主机处理,而是由以太网交换机来处理:
🥚以太网交换机的接口类型
交换机的每个接口有且仅有一个PVID
🗒️例一:在一个交换机上不进行人为的VLAN划分,交换机各接口默认属于VLAN1且类型为Access的情况。
主机ABCD分别连接在以太网交换机的一个接口上,交换机首次上电启动后,默认配置各接口属于VLAN1,即各接口的PVID值等于1。默认配置各接口的类型为Access
假设主机A发送了一个广播帧,该广播帧从交换机的接口1进入交换机,由于接口1的类型是Access,因此,它会对接受到的 未打标签 的普通以太网MAC帧 打标签,也就是插入4字节的VLAN标签
VLAN标签中的VID值等于接口中的PVID值1
交换机对打了标签的该广播帧进行转发,由于该广播帧中的VID值与交换机接口2 3 4的PVD值都等于1,因此,交换机会从这3个接口对该广播帧进行 去标签 转发
🗒️例二:在一个交换机上划分两个不同VLAN的情况
如图所示,主机ABCD分别连接在以太网交换机的一个接口上
需要将主机A和B划归到VLAN2
将主机C和D划归到VLAN3
这样,VLAN2中的广播帧不会传送到VLAN3中
为了实现这样的应用,可以在交换机上创建VLAN2和VLAN3,然后将交换机的接口1和2划归到VLAN2,接口3和4划归到VLAN3
因此,接口1和2的PVID值等于2,接口3和4的PVID值等于3
假设主机A发送了一个广播帧,该广播帧从交换机的接口1进入交换机
由于接口1的类型是Access,因此,它会对接受到的 未打标签 的普通以太网MAC帧打标签,也就是插入4字节的VLAN标签
VLAN标签中的VID值等于接口1的PVID值2
交换机对打了标签的该广播帧进行转发,由于广播帧中的VID值与交换机接口2的PVID值都等于2,因此,交换机会从接口2对该广播帧进行 去标签 转发
再来看主机C发送广播帧的情况
与主机A发送广播帧的情况是类似的
🗒️例三:两个交换机通过Trunk类型的接口互连,Trunk接口将802.1Q帧“去标签”后进行转发的情况
两台以太网交换机和多台主机互联成了一个交换式以太网,应用需求是将主机A,B,E和F划分到VLAN1,而将主机C,D,G和H划归到VLAN2
由于交换机首次上电启动后,默认配置各接口属于VLAN1,其相应的PVID值为1,接口类型为Access,因此,需要对这2台交换机进行相应的VLAN配置,才能满足应用需求
分别在这2台交换机上创建VLAN2,并将它们的接口3和4划归到VLAN2,其相应的PVID值为2
特别需要注意的是,2台交换机各自的接口5,由于它们用于2台交换机之间的连接,因此,需要将它们的接口类型更改为Trunk,而它们的PVID值保持默认值即可。
Trunk接口一般用在交换机之间或交换机与路由器之间的互连,Trunk接口可以属于多个VLAN,即Trunk接口可以通过不同VLAN的帧。默认情况下,Trunk接口的PVID值为1,一般不建议用户进行修改,若互联的Trunk接口的PVID值不相等,则可能出现转发错误
假设主机A发送了一个广播帧,交换机1对收到的帧进行处理,由于接口1的类型是Access,因此,它会对接收到的 未打标签 的普通以太网MAC帧打标签,也就是插入4字节的VLAN标签,VLAN标签中的VID值等于接口1的PVID值1
交换机1对打了标签的该广播帧进行转发,由于该广播帧中的VID值与交换机1的接口2的PVID值都等于1,因此,交换机1会从接口2对该广播帧进行 去标签 转发
另外,因为交换机1的接口5是Trunk类型,所以该广播帧还会从交换机1的接口5转发出去
由于接口5的PVID值与该广播帧中的VID值都等于1,因此,交换机1会从接口5对该广播帧进行 去标签 转发
显然,交换机1将该广播帧以普通以太网MAC帧的形式转发给了交换机2,该广播帧从交换机2的接口5进入交换机2,交换机2对收到的帧进行处理。
由于接口5的类型是Trunk,因此,他会对接受到的 未打标签 的普通以太网MAC帧打标签,也就是插入4字节的VLAN标签
VLAN标签中的VID值等于接口5的PVID值1,交换机2对打了标签的该广播帧进行转发。
由于该广播帧中的VID值与交换机2的接口1和2的PVID值都等于1,因此,交换机2会从接口1和2对该广播帧进行 去标签 转发
🗒️例四:两个交换机通过Trunk类型的接口互连,Trunk接口将802.1Q帧直接转发的情况
主机C发送的广播帧从交换机1的接口3进入交换机1,交换机1对收到的帧进行处理,由于接口3的类型是Access,因此,它会对接收到 未打标签 的普通以太网MAC帧打标签,也就是插入4字节的VLAN标签,VLAN标签中的VID值,等于接口3的PVID值2
交换机1对打了标签的该广播帧进行转发,由于该广播帧中的VID值与交换机1的接口4的PVID值都等于2,因此,交换机1会从接口4对该广播帧进行去标签 转发
另外,因为交换机1的接口5是Trunk类型,所以该广播帧还会从交换机1的接口5转发出去,由于接口5的PVID值为1,这与该广播帧中的VID值2不相同,因此,交换机1会从接口5对该广播帧直接转发
显然,交换机1将该广播帧以IEEE802.1Q帧的形式转发给了交换机2,该广播帧从交换机2的接口5进入交换机2,交换机2对该广播帧进行转发
由于该广播帧中的VID值与交换机2的接口3和4的PVID值都等于2,因此,交换机2会从接口3和4对该广播帧进行 去标签 转发
⭐Access接口和Trunk接口的区别
相关文章:

【计算机网络篇】数据链路层(14)虚拟局域网VLAN(概述,实现机制)
文章目录 🛸虚拟局域网VLAN🍔虚拟局域网VLAN的实现机制🥚IEEE 802.1Q帧🥚以太网交换机的接口类型🗒️例一:在一个交换机上不进行人为的VLAN划分,交换机各接口默认属于VLAN1且类型为Access的情况…...

伺服中的电子凸轮与追剪
一、机械凸轮 机械凸轮是一个具有曲线轮廓或凹槽的构件,它把运动特性传递给紧靠其边缘移动的推杆,推杆又带动机架做周期性运动。 凸轮的推杆位置跟随凸轮角度的周期性变化而变化,其运动特性与机械凸轮的外形相关,定义凸轮…...
Oracle 第22章:数据仓库与OLAP
第22章:数据仓库与OLAP 1. 数据仓库概念 数据仓库(Data Warehouse, DW) 是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。数据仓库中的数据通常来自不同的操作型系统或外部数据源,…...

在Ubuntu上安装TensorFlow与Keras
文章目录 1. 查看系统和Python版本信息1.1 查看Ubuntu版本信息1.2 查看Python版本信息 2. 安装pip2.1 下载get-pip.py2.2 运行get-pip.py2.3 查看pip版本 3. 安装Jupyter Notebook3.1 安装Jupyter Notebook3.2 运行Jupyter Notebook3.3 安装jupyter-core3.4 配置Jupyter Notebo…...

vue data变量之间相互赋值或进行数据联动
摘要: 使用vue时开发会用到data中是数据是相互驱动,经常会想到watch,computed,总结一下! 直接赋值: 在 data 函数中定义的变量可以直接在方法中进行赋值。 export default {data() {return {a: 1,b: 2};},methods: {u…...
如何理解ref,toRef,和toRefs
1. ref ref 是 Vue 3 提供的一个用于创建响应式数据的 API。它可以用来创建简单的响应式变量,例如数字、字符串、布尔值或对象等。通过使用ref,当数据发生变化时,相关的组件视图会自动更新。 用法 创建响应式数据: import { ref …...

从单一到多元:揭秘 Hexo Diversity 主题的运行原理
揭秘 Hexo Diversity 主题的运行原理 一、 引言二、 Diversity 主题2.1 Hexo 控制台命令2.2 Hexo 核心 API2.3 运行原理2.3.1 多主题配置相关2.3.2 多主题执行指令 2.4 版本演进2.4.1 V1版本2.4.2 V2版本2.4.2.1 PC 端2.4.2.2 Phone 端 2.5 后续展望 三、 总结 一、 引言 众所…...

软考中级(系统集成项目管理工程师)案例分析计算题-笔记
案例分析计算题必拿分!! 1.成本进度管理 初中数学题,整了一堆缩写,容易给人绕晕 知道英文全称后就好理解了名词汇总: 英文缩写英文全称含义公式PVPlanned Value (计划值)按照计划到当前时间点需要花费的钱根据题目自…...

Docker打包自己项目推到Docker hub仓库(windows10)
一、启用Hyper-V和容器特性 1.应用和功能 2.点击程序和功能 3.启用或关闭Windows功能 4.开启Hyper-V 和 容器特性 记得重启生效!!! 二、安装WSL2:写文章-CSDN创作中心https://mp.csdn.net/mp_blog/creation/editor/143057041 三…...
CesiumJS 案例 P20:监听鼠标滚轮、监听鼠标左键按下与松开、监听鼠标右键按下与松开、监听鼠标左击落点
CesiumJS CesiumJS 是一个开源的 JavaScript 库,它用于在网页中创建和控制 3D 地球仪(地图) CesiumJS 官网:https://www.cesium.com/ CesiumJS 下载地址:https://www.cesium.com/platform/cesiumjs/ CesiumJS API 文…...

如何使用Web-Check和cpolar实现安全的远程网站监测与管理
文章目录 前言1.关于Web-Check2.功能特点3.安装Docker4.创建并启动Web-Check容器5.本地访问测试6.公网远程访问本地Web-Check7.内网穿透工具安装8.创建远程连接公网地址9.使用固定公网地址远程访问 前言 本期给大家分享一个网站检测工具Web-Check,能帮你全面了解网…...
随机生成100组N个数并对比,C++,python,matlab,pair,std::piecewise_construct
随机生成100组N个数,数的范围是1到35,并检查是否包含目标数组的数字 python版本 import numpy as np def count_groups_containing_obj(N, obj):# 随机生成100组N个数,数的范围是1到35groups np.random.randint(1, 36, size(1000, N))#pri…...
python爬虫获取数据后的数据提取
文章目录 python爬虫中的数据提取1.Json格式数据的数据提取2.Html格式数据提取之bs4解析器如何使用快速使用对象的种类Tagname和attributes属性NavigableString(字符串)BeautifulSoupComment 子节点.contents.children.descendants 父节点.parent.parents 节点内容.string.stri…...

前段(vue)
目录 跨域是什么? SprinBoot跨域的三种解决方法 JavaScript 有 8 种数据类型, 金额的用什么类型。 前段 区别 JQuery使用$.ajax()实现异步请求 Vue 父子组件间的三种通信方式 Vue2 和 Vue3 存在多方面的区别。 跨域是什么? 跨域是指…...
pairwise算法之rank svm
众所周知,point-wise/pair-wise/list-wise是机器学习领域中重要的几种建模方法。比如,最常见的分类算法使用了point-wise,即一条样本对应一个label(0/1),根据多条正负样本,使用交叉熵(cross entropy&#x…...

SAP RFC 用户安全授权
一、SAP 通讯用户 对于RFC接口的用户,使用五种用户类型之一的“通讯”类型,这种类型的用户没有登陆SAPGUI的权限。 二、对调用的RFC授权 在通讯用户内部,权限对象:S_RFC中,限制进一步可以调用的RFC函数授权ÿ…...

记录新建wordpress站的实践踩坑:wordpress 上传源码新建站因权限问题导致无法访问、配置新站建站向导以及插件主题上传配置的解决办法
官方文档:How to install WordPress – Advanced Administration Handbook | Developer.WordPress.org 但是没写权限问题,可以下载到 wordpress官方包。 把下载的wordpresscn的包解压并上传到服务器目录下,但是因为是root上传导致了权限问题…...

为啥学习数据结构和算法
基础知识就像是一座大楼的地基,它决定了我们的技术高度。而要想快速做出点事情,前提条件一定是基础能力过硬,“内功”要到位。 想要通关大厂面试,千万别让数据结构和算法拖了后腿 我们学任何知识都是为了“用”的,是为…...

Java - 免费图文识别_Java_免费_图片转文字_文字识别_spring ai_spring ai alibaba
本文主要是介绍借助阿里云免费的大模型额度来做高质量的图转文识别,图片转文字,或者文字识别都可以使用,比传统的OCR模式要直接和高效很多 。 本文使用的技术是spring ai qwen vl 。 Qwen vl有 100万Token 免费额度,可以用来免费…...
《JVM第6课》本地方法栈
文章目录 1 什么是本地方法1.1 本地方法的好处1.2 声明本地方法1.3 实现本地方法1. 生成头文件2. 编写C语言实现3. 编译C代码4. 运行Java程序 1.4 使用JNA1.5 总结 2 本地方法栈2.1 特点2.2 本地方法栈与Java虚拟机栈的区别2.3 本地方法栈的工作流程2.4 总结 无痛快速学习入门J…...

网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...

如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...