当前位置: 首页 > news >正文

【计算机网络篇】数据链路层(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函数授权&#xff…...

记录新建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…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

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"…...

云原生安全实战:API网关Kong的鉴权与限流详解

🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...

GitHub 趋势日报 (2025年06月06日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...

【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?

FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...

在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南

在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南 背景介绍完整操作步骤1. 创建Docker容器环境2. 验证GUI显示功能3. 安装ROS Noetic4. 配置环境变量5. 创建ROS节点(小球运动模拟)6. 配置RVIZ默认视图7. 创建启动脚本8. 运行可视化系统效果展示与交互技术解析ROS节点通…...

如何通过git命令查看项目连接的仓库地址?

要通过 Git 命令查看项目连接的仓库地址,您可以使用以下几种方法: 1. 查看所有远程仓库地址 使用 git remote -v 命令,它会显示项目中配置的所有远程仓库及其对应的 URL: git remote -v输出示例: origin https://…...

java+webstock

maven依赖 <dependency><groupId>org.java-websocket</groupId><artifactId>Java-WebSocket</artifactId><version>1.3.5</version></dependency><dependency><groupId>org.apache.tomcat.websocket</groupId&…...