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

VLAN 详解一(VLAN 基本原理及 VLAN 划分原则)

VLAN 详解一(VLAN 基本原理及 VLAN 划分原则)

在早期的交换网络中,网络中只有 PC、终端和交换机,当某台主机发送一个广播帧或未知单播帧时,该数据帧会被泛洪,甚至传递到整个广播域。而广播域越大,产生的网络安全问题、垃圾流量问题,就越严重。为了应对这些问题就出现了 VLAN 技术,VLAN(Virtual LAN)就是虚拟局域网,其主要功能就是用来隔离广播域。


文章目录

  • VLAN 详解一(VLAN 基本原理及 VLAN 划分原则)
  • 一、什么是 VLAN?
  • 二、VLAN 的作用及特点
    • 1.VLAN 的作用
    • 2.VLAN 的特点
  • 三、VLAN 的基本原理
    • 1.如何实现 VLAN 的划分
    • 2.VLAN 数据帧
  • 四、VLAN 的划分
    • 1.VLAN 的规划原则
    • 2.VLAN 的划分方式


一、什么是 VLAN?

VLAN(Virtual LAN)虚拟局域网就是一种可以将局域网在逻辑上划分为新的相互之间独立的局域网的技术。

通过使用 VLAN,可以将位于不同物理位置的设备划分到同一个逻辑网络中,或将位于同一物理位置的设备划分到不同的逻辑网络中。

这种划分是基于逻辑连接的而不是基于物理连接的。


二、VLAN 的作用及特点

1.VLAN 的作用

  • 隔离广播域
  • 提高网络的安全性
  • 增强网络的健壮性
  • 可以灵活的构建用户分组

2.VLAN 的特点

  • 一个 VLAN 就是一个广播域
  • 同一个 VLAN 内的终端(PC、服务器等)之间可以直接进行通信
  • 不同 VLAN 内的终端,无法直接进行二层的通信,只能通过三层通信来进行互联
  • 限制广播域,一个广播域的报文都会被隔离在一个VLAN内
  • VLAN的划分不受地域的限制

三、VLAN 的基本原理

1.如何实现 VLAN 的划分

在这里插入图片描述

  • 在数据帧中打上 VLAN 标签,如果不处理就无法识别它是属于哪一个 VLAN,也不知道往哪里。

  • 要使交换机能够分辨不同 VLAN 的报文,就需要在报文中添加标识 VLAN 信息的字段。

2.VLAN 数据帧

注:终端(PC、服务器等)不能识别 Tagged 数据帧,所以终端处理和发出的都是 Untagged 数据帧;但为了提高处理效率,交换机内部处理的数据帧一律都是 Tagged 数据帧。

VLAN 数据帧形式分为 有标记帧(Tagged 帧)和 无标记帧(UnTagged 帧)

  • 无标记帧(Untagged 帧):原始的以太网数据帧,未加入 4 字节 VLAN 标签的数据帧。
  • 有标记帧(Tagged 帧):IEEE 802.1Q协议规定,在以太网数据帧的目的 MAC 地址和源 MAC 地址字段之后,协议类型字段之前,加入 4 个字节的 VLAN 标签(又称 VLAN Tag,简称 Tag)的数据帧。

在这里插入图片描述

VLAN 数据帧字段:

字段长度作用备注操作
TPID16 bitTag Protocol Identifier(标签协议标识符),代表数据帧类型设备厂商可以自定义 TPID 的值。当邻居设备将 TPID 值配置为非 0x8100 时,为了能够识别这样的报文,实现互通,必须在本设备上修改 TPID 值,确保和邻居设备的TPID值配置一致取值为 0x8100 时表示 IEEE 802.1Q 的VLAN数据帧。如果不支持 IEEE 802.1Q 的设备收到这样的帧,就会将其丢弃
PRI3 bitPriority,表示数据帧的优先级,用于 QoS取值范围为 0~7,值越大优先级越高当网络阻塞时,交换机优先发送优先级高的数据帧
CFI1 bitCanonical Format Indicator(标准格式指示位),表示 MAC 地址在不同的传输介质中是否以标准格式进行封装CFI 取值为 0 表示 MAC 地址以标准格式进行封装,为 1 表示以非标准格式封装CFI 用于兼容以太网和令牌环网
VID12 bitVLAN ID,表示该数据帧所属的 VLAN 编号VLAN ID取值范围是 0~4095。其中 0 和 4095 为协议保留取值,所以VLAN ID的有效取值范围是 1~4094交换机利用 VLAN 标签中的 VID 来识别数据帧所属的 VLAN。广播帧只能在同一 VLAN 内转发,使用 VID 进行识别就可以将广播域限制在一个VLAN内。

四、VLAN 的划分

1.VLAN 的规划原则

VLAN 的分配原则可以依据实际的业务、部门、应用等场景进行划分。

VLAN ID 的分配在有效范围内,可以随意分配和选取,但是为了提高 VLAN ID 的连续性,一般采用VLAN ID 和子网关联的方式进行分配。

在这里插入图片描述

2.VLAN 的划分方式

VLAN 的划分方式大致可分为:基于接口划分、基于 MAC 地址划分、基于 IP 子网划分、基于协议划分、基于策略划分。

划分方式基于内容预设操作
基于接口划分根据交换机的接口来划分 VLAN预先给交换机的每个接口配置不同的 PVID当一个数据帧进入交换机时,如果没有带 VLAN 标签,该数据帧就会被打上接口指定 PVID 的标签,然后数据帧将在指定 VLAN 中传输
基于 MAC 地址划分根据数据帧的源 MAC 地址来划分 VLAN预先配置 MAC 地址和 VLAN ID 映射关系表当交换机收到的是 Untagged 帧时,就根据该表给数据帧添加指定 VLAN 的标签,然后数据帧将在指定 VLAN 中传输
基于IP子网划分根据数据帧中的源 IP 地址和子网掩码来划分 VLAN预先配置 IP 地址和 VLAN ID 映射关系表当交换机收到的是 Untagged 帧,就根据该表给数据帧添加指定 VLAN 的标签,然后数据帧将在指定 VLAN 中传输
基于协议划分根据数据帧所属的协议(族)类型及封装格式来划分 VLAN预先配置以太网帧中的协议域和 VLAN ID 的映射关系表如果收到的是 Untagged 帧,就根据该表给数据帧添加指定 VLAN 的标签,然后数据帧将在指定 VLAN 中传输
基于策略划分根据配置的策略划分 VLAN预先配置策略,可以实现多种组合的划分方式,包括接口、MAC 地址、IP 地址等如果收到的是 Untagged 帧,且匹配配置的策略时,就给数据帧添加指定 VLAN 的标签,然后数据帧将在指定 VLAN 中传输

如果文章对各位小伙伴有帮助的话欢迎三连!!!

另外,文章如有错误之处,也欢迎各位大佬批评指正!!!

相关文章:

VLAN 详解一(VLAN 基本原理及 VLAN 划分原则)

VLAN 详解一(VLAN 基本原理及 VLAN 划分原则) 在早期的交换网络中,网络中只有 PC、终端和交换机,当某台主机发送一个广播帧或未知单播帧时,该数据帧会被泛洪,甚至传递到整个广播域。而广播域越大&#xff…...

Android - 分区存储 MediaStore、SAF

官方页面 参考文章 一、概念 分区存储(Scoped Storage)的推出是针对 APP 访问外部存储的行为(乱建乱获取文件和文件夹)进行规范和限制,以减少混乱使得用户能更好的控制自己的文件。 公有目录被分为两大类:…...

Shiro框架权限控制

首先去通过配置类的用户认证,在用户认证完成后,进行用户授权,用户通过授权之后再跳转其他的界面时,会进行一个验证,当前账号是否有权限。 前端权限控制显示的原理 在前端中,通常使用用户的角色或权限信息来…...

centOS7 安装tailscale并启用子网路由

1、在centOS7上安装Tailscale客户端 #安装命令所在官网位置:https://tailscale.com/download/linux #具体命令为: curl -fsSL https://tailscale.com/install.sh | sh #命令执行后如下图所示2、设置允许IP转发和IP伪装。 安装后,您可以启动…...

spring 项目中如何处理跨越cors问题

1.使用 CrossOrigin 注解 作用于controller 方法上 示例如下 RestController RequestMapping("/account") public class AccountController {CrossOriginGetMapping("/{id}")public Account retrieve(PathVariable Long id) {// ...}DeleteMapping(&quo…...

importlib --- import 的实现

3.1 新版功能. 源代码 Lib/importlib/__init__.py 概述 importlib 包具有三重目标。 一是在 Python 源代码中提供 import 语句的实现(并且因此而扩展 __import__() 函数)。 这提供了一个可移植到任何 Python 解释器的 import 实现。 与使用 Python 以…...

【PyTorch】现代卷积神经网络

文章目录 1. 理论介绍1.1. 深度卷积神经网络(AlexNet)1.1.1. 概述1.1.2. 模型设计 1.2. 使用块的网络(VGG)1.3. 网络中的网络(NiN)1.4. 含并行连结的网络(GoogLeNet)1.5. 批量规范化…...

用python编写九九乘法表

1 问题 我们在学习一门语言的过程中,都会练习到编写九九乘法表这个代码,下面介绍如何编写九九乘法表的流程。 2 方法 (1)打开pycharm集成开发环境,创建一个python文件,并编写第一行代码,主要构建…...

Google Gemini 模型本地可视化

Google近期发布了Gemini模型,而且开放了Gemini Pro API,Gemini Pro 可免费使用! Gemini Pro支持全球180个国家的38种语言,目前接受文本、图片作为输入并生成文本作为输出。 Gemini Pro的表现超越了其他同类模型,当前版…...

数据修复:.BlackBit勒索病毒来袭,安全应对方法解析

导言: 黑色数字罪犯的新玩具——.BlackBit勒索病毒,近来成为网络安全领域的头号威胁。这种恶意软件以其高度隐秘性和毁灭性而引起广泛关注。下面是关于.BlackBit勒索病毒的详细介绍,如不幸感染这个勒索病毒,您可添加我们的技术服…...

拓扑排序实现循环依赖判断 | 京东云技术团队

本文记录如何通过拓扑排序,实现循环依赖判断 前言 一般提到循环依赖,首先想到的就是Spring框架提供的Bean的循环依赖检测,相关文档可参考: https://blog.csdn.net/cristianoxm/article/details/113246104 本文方案脱离Spring Be…...

Java的NIO工作机制

文章目录 1. 问题引入2. NIO的工作方式3. Buffer的工作方式4. NIO数据访问方式 1. 问题引入 在网络通信中,当连接已经建立成功,服务端和客户端都会拥有一个Socket实例,每个Socket实例都有一个InputStream和OutputStream,并通过这…...

一个简单的光线追踪渲染器

前言 本文参照自raytracing in one weekend教程,地址为:https://raytracing.github.io/books/RayTracingInOneWeekend.html 什么是光线追踪? 光线追踪模拟现实中的成像原理,通过模拟一条条直线在场景内反射折射,最终…...

C++学习笔记(十二)------is_a关系(继承关系)

你好,这里是争做图书馆扫地僧的小白。 个人主页:争做图书馆扫地僧的小白_-CSDN博客 目标:希望通过学习技术,期待着改变世界。 提示:以下是本篇文章正文内容,下面案例可供参考 文章目录 前言 一、继承关系…...

DC电源模块的设计与制造技术创新

BOSHIDA DC电源模块的设计与制造技术创新 DC电源模块的设计与制造技术创新主要涉及以下几个方面: 1. 高效率设计:传统的DC电源模块存在能量转换损耗较大的问题,技术创新可通过采用高效率的电路拓扑结构、使用高性能的功率开关器件和优化控制…...

Sketch for Mac:实现你的创意绘图梦想的矢量绘图软件

随着数字时代的到来,矢量绘图软件成为了广告设计、插画创作和UI设计等领域中必不可少的工具。在众多矢量绘图软件中,Sketch for Mac(矢量绘图软件)以其强大的功能和简洁的界面脱颖而出,成为了众多设计师的首选。 Sket…...

ReactNative0.73发布,架构升级与更好的调试体验

这次更新包含了多种提升开发体验的改进,包括: 更流畅的调试体验: 通过 Hermes 引擎调试支持、控制台日志历史记录和实验性调试器,让调试过程更加高效顺畅。稳定的符号链接支持: 简化您的开发工作流程,轻松将文件或目录链接到其他…...

SVN忽略文件的两种方式

当使用版本管理工具时,提交到代码库的文档我们不希望存在把一些临时文件也推送到仓库中,这样就需要用到忽略文件。SVN的忽略相比于GIT稍显麻烦,GIT只需要在.gitignore添加忽略规则即可。而SVN有两种忽略方式,一个是全局设置&#…...

手写VUE后台管理系统10 - 封装Axios实现异常统一处理

目录 前后端交互约定安装创建Axios实例拦截器封装请求方法业务异常处理 axios 是一个易用、简洁且高效的http库 axios 中文文档:http://www.axios-js.com/zh-cn/docs/ 前后端交互约定 在本项目中,前后端交互统一使用 application/json;charsetUTF-8 的请…...

JavaScript装饰者模式

JavaScript装饰者模式 1 什么是装饰者模式2 模拟装饰者模式3 JavaScript的装饰者4 装饰函数5 AOP装饰函数6 示例:数据统计上报 1 什么是装饰者模式 在程序开发中,许多时候都我们并不希望某个类天生就非常庞大,一次性包含许多职责。那么我们就…...

OpenLayers 可视化之热力图

注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态

前言 在人工智能技术飞速发展的今天,深度学习与大模型技术已成为推动行业变革的核心驱动力,而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心,系统性地呈现了两部深度技术著作的精华:…...