传统以太网问题与VLAN技术详解
传统以太网的问题
- 广播域:在网络中能接收同一广播信息的所有设备(计算机、交换机)等的集合
- 说明:在一个广播域内,当一个设备发送广播帧时,该域内的所有设备都能接收到这个广播帧。
- 工作原理:在以太网中,广播帧的目的MAC地址是FF:FF:FF:FF:FF:FF:FF(全是1)的特殊地址。交换机在转发帧的时候,会检查帧的目的MAC地址。如果发现是广播地址,交换机会将该帧转发到除了接收该帧的端口之外的所有端口。(假设交换机上有4个口,其中1口接收到了这个帧,交换机会将这个帧转发给2口3口4口)
- 冲突域:是指在网络中可能发生冲突的设备的集合
- 说明:在以太网中,冲突是指两个或多个设备同时在一个共享截至上发送数据,导致数据帧发生碰撞,使得数据传输失败
- 工作原理:以太网采用CSMA/CD机制来解决冲突问题。当设备想要发送数据的时候,它会先监听信道,如果信道空闲,就发送数据。
- 范围:取决于网络拓扑结构和设备类型
- 总线型拓扑结构:当前只能有一个数据在进传输
- HUB:所有连接到HUB的设备都处于同一个冲突域
VLAN-virtual lan
-
交换机的接口类型
- access-UnTag:用来接入终端,只有1个VID,主要说的是数据出去的时候剥掉VLAN标签
- trunk-UnTag/:用来连接另外一台交换机的,一个数据包经过trunk会携带上VLAN标签,表明这个数据包属于哪个vlan
- trunk口的作用
- 多个VLAN数据包都从这个口走,这个口可以有多个VID,也存在一个缺省VID-PVID
- 数据包进入trunk口:
这个数据包未被标记--打上PVID的标签
这个数据包被标记--沿用自带VID的标签,也打上PVID的标签 - 数据包出trunk口:
这个数据包未被标记--解除PVID的标签
这个数据包被标记--沿用自带VID的标签,解除PVID的标签
- trunk口的作用
- hybrid:连接终端和交换机,对VLAN标签的灵活控制
- VID和PVID
- VID-VLAN ID
- 定义:是一个用于标识VLAN的唯一数字,范围从1~4094,每个VLAN都有唯一的VID,用于在网络中区分不同的VLAN
- 作用:VID用于在数据帧中标记VLAN信息,帮助教化安吉识别和转发数据帧到正确的VLAN
- 一个端口可以有多个VLAN ID
- 应用场景
- VLAN划分
- 数据帧标记
- PVID-Port VLAN ID
- 定义:PVID是端口默认的VLAN ID(缺省VLAN),用于处理进入端口未标记的数据帧,PVID是一个端口属性,每个端口可以设置一个PVID
- 作用:当一个未标记的数据帧进入到交换机的某个端口是,交换机会将该帧的VID设置为该端口的PVID。这样未标记的帧就会被分配到PVID指定的VLAN中
- PVID确保了未标记的帧能够被正确处理和转发
- PVID的关键作用是解除标记的,使用PVID说明这个数据包最开始的时候是没有VID的,数据包出去的时候就需要将这个PVID剥离,这样数包出去的时候才能被识别。
- 一个端口只能有一个PVID
- 应用场景
- 处理未标记的数据帧
- 端口配置
- 总结:数据包只要经过交换机的trunk口就一定会被打上PVID的标签,也就是说至少有1个PVID
- 当数据包不带VLAN标签的时候,数据包有PVID
- 当数据包带VLAN标签的时候,数据包有VID和PVID
- VID-VLAN ID
-
VLAN的作用
- 隔离广播域:在没有VLAN的网络中,广播帧会在整个物理网络中传播,可能会导致广播风暴,浪费网络带宽。VLAN可以将一个大的广播域划分为多个小的广播域。
- 增加网络安全性:限制不同部门或用户组之间的通信
- 灵活的网络管理:不依赖于物理位置
-
VLAN的工作原理
- 基于端口的VLAN划分
- 网络管理源在交换机上为每个端口分配一个VLAN ID。例如1-10端口分配给A组,11-10分配给B组,当设备连接到交换机的某个端口的时候,他就属于该端口对应的VLAN。
- 交换机内部有一个VLAN表,记录了端口和VLAN ID的对应关系,当设备A(属于VLAN 10)发送数据帧给设备B(也属于VLAN 10)时,交换机根据VLAN表检查设备A和设备B是否在同一VLAN。如果在同一VLAN,交换机会将数据帧转发到设备B所在的端口;如果不在同一VLAN,交换机就不会转发这个帧,从而实现了VLAN之间的隔离。
- VLAN标记
-
为了在不同交换机之间传递VLAN信息,需要对数据帧进行标记。IEEE 802.1Q标准定义了VLAN标记的方法。当数据帧从一个VLAN内的设备发送到交换机时,交换机会在数据帧的以太网帧头中插入一个VLAN标签(Tag)。这个标签包含了VLAN ID等信息。
-
举例:设备A(属于VLAN 10)发送一个数据帧,交换机会在这个数据帧的帧头插入VLAN ID为10的标签。当这个带有标签的数据帧通过链路传输到另一个交换机时,接收的交换机会检查这个标签。如果接收端口配置为允许该VLAN ID的帧通过,交换机就会根据自己的VLAN表将数据帧转发到相应VLAN的端口。这样,即使数据帧在多个交换机之间传输,也能保持VLAN的隔离性
-
-
-
VLAN 的特点
-
不受地域限制
-
同一VLAN内的设备才能直接进行二层通信
-
-
VLAN的范围:1~4094
-
如何实现VLAN
-
背景:Switch1与Switch2属于一个企业,该企业同意规划了网络中的VLAN。其中VLAN10用于A部门,VLAN20用于B部门。且A、B部门的员工在Switch1和Switch2上都有接入
-
说明
-
使用VLAN之前,PC1和PC2是可以进行通信的
-
使用VLAN之后,PC1与PC2在不同的VALN,此时PC1和PC2是不能进行通信的
-
switch是交换机的意思,数据包从switch1到switch2会携带vlan标签
-
端口5是trunk口
-
-
-
VLAN标签-VLAN Tag
-
交换机分辨不同VLAN的报文,需要在报文中添加表示VLAN信息的字段
-
IEEE 802.1Q协议规定,在以太网数据帧中加入4个字节的VLAN标签,又称VLAN Tag,简称Tag
-
-
VLAN数据帧
-
IEEE-802.1Q是由 IEEE(电气和电子工程师协会)制定的一个标准,正式名称为 Virtual Bridged Local Area Networks 协议。该标准定义了如何在以太网帧中插入 VLAN 标签,以实现虚拟局域网(VLAN)的功能。
-
802.1Q的工作原理
-
VLAN配置:在交换机上配置VLAN,为每个VLAN指定唯一的一个VID
-
帧标记:当以太网帧进入到交换机的时候,交换机会根据帧中的源MAC地址和VID对其进行标记,将VID的信息添加到以太网帧的VLAN标签中
-
帧转发:交换机根据帧中的VLAN标签将其转发到相应的VLAN中。如果帧中的VID与交换机上配置的VLAN不匹配,则将其转发到该VLAN中的其他端口,若所有的端口均不匹配,则将这个以太网帧丢弃
-
帧解标记:当一个以太网帧离开交换机的时候,狡猾那几会将其VLAN标签去除,回复到标准的以太网帧格式。
-
-
VID
-
VID=1,是缺省VLAN,默认的
-
新建VID从2开始
-
-
- 基于端口的VLAN划分
相关文章:
传统以太网问题与VLAN技术详解
传统以太网的问题 广播域:在网络中能接收同一广播信息的所有设备(计算机、交换机)等的集合 说明:在一个广播域内,当一个设备发送广播帧时,该域内的所有设备都能接收到这个广播帧。工作原理:在以…...
Java 面试题 - ArrayList 和 LinkedList 的区别,哪个集合是线程安全的?
Java 面试题 - ArrayList 和 LinkedList 的区别,哪个集合是线程安全的? 在 Java 开发中,ArrayList和LinkedList是两个常用的集合类,它们在数据结构和性能上有诸多不同,同时线程安全性也各有特点。深入理解这些差异&am…...
flutter 安卓端打包
在 Flutter 中打包 Android 应用程序是一个相对简单的过程。你可以使用 Flutter 的命令行工具来构建并打包你的 APK 或 AAB(Android App Bundle)。以下是打包 Flutter Android 应用的步骤: 1. 安装 Flutter 环境 确保你已经安装了 Flutter SDK,并且正确配置了 Android 开…...
前端开发:CSS背景属性
1.背景颜色 background-color: [ 指定颜色 ] background-color :blue; background-color : transparent //设置背景是透明的 2.背景图片 background-image : url ( ... ) 1. url 不要遗漏 . 2. url 可以是绝对路径 , 也可以是相对路径 3. url 上可以…...
【Python通过UDP协议传输视频数据】(界面识别)
提示:界面识别项目 前言 随着网络通信技术的发展,视频数据的实时传输在各种场景中得到了广泛应用。UDP(User Datagram Protocol)作为一种无连接的协议,凭借其低延迟、高效率的特性,在实时性要求较高的视频…...
centos 8 中安装Docker
注:本次样式安装使用的是centos8 操作系统。 1、镜像下载 具体的镜像下载地址各位可以去官网下载,选择适合你们的下载即可! 1、CentOS官方下载地址:https://vault.centos.org/ 2、阿里云开源镜像站下载:centos安装包…...
leetcode hot 100 -划分字母区间
给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度的列表。 示例 1&am…...
CSS 元素的显示模式(块元素,行内元素,行内块元素)
一. 块元素(block) 又称:块级元素 特点: 1. 在页面中独占一行,不会与任何元素共用一行,是从上到下排列的。 2. 默认宽度:撑满父元素。 3. 默认高度:由内容撑开。 4. 可以通过 CSS 设…...
鸿蒙UI开发——键盘弹出避让模式设置
1、概 述 我们在鸿蒙开发时,不免会遇到用户输入场景,当用户准备输入时,会涉及到输入法的弹出,我们的界面针对输入法的弹出有两种避让模式:上抬模式、压缩模式。 下面针对输入法的两种避让模式的设置做简单介绍。 2、…...
Multi-Agent如何设计
文章小结 研究背景和目的 在单一大语言模型长期主导人工智能领域的背景下,多智能体系统在对话任务解决中逐渐崭露头角。 虽然先前的研究已经展示了多智能体系统在推理任务和创造性工作中的潜力,但对于其在对话范式方面的局限性以及单个智能体的影响&am…...
git操作(bitbucket仓库)
在代码远程版本控制和提交过程中需要经常使用git命令,熟练使用git是一个软件工程师必备的技能之一。 将主版本代码fork到自己的 bitbucket 子仓库中 克隆到本地 利用ssh链接进行克隆,将 fork 的子仓库克隆到本地。 git clone ssh://{$你fork的子bitbu…...
【MySQL | 三、 表的约束介绍】
举例表结构 字段名称字段类型是否NULL键值默认值附加信息FieldTypeNullKeyDefaultExtraidintNoUNI(唯一键)Nullauto_incrementnameverchar(10)NoPRI(主键)NullgenderenumNomanagetinyintYesNulltelphoneintYesNullhome_idintyesMUL(外键)Null 目录 举例表结构1. 空…...
音频DSP的发展历史
音频数字信号处理(DSP)的发展历史是电子技术、计算机科学和音频工程共同进步的结果。这个领域的进展不仅改变了音乐制作、音频后期制作和通信的方式,也影响了音频设备的设计和功能。以下是对音频DSP发展历史的概述: 早期概念和理论…...
学习笔记-Kotlin
准备工作 下载安装kotlin编译器,记录此笔记时的版本是v1.2.10,目前最新发布版本是v2.1.10解压下载的安装包,配置环境变量指向bin目录(官方指导). 如果不想在本地安装环境,也可以使用在线编辑器 尝试编写第一个helloWorld 新建一个名为hello.kt的文件,内容如下: f…...
linux解压命令(可整理到CSDN)
1. tar -xvf ffmpeg-7.0.2.tar.xz x:表示解压文件。 v:表示在解压过程中显示文件(verbose模式)。这个选项是可选的,加上它可以让你看到正在解压的文件列表,但如果不加也不会影响解压过程。 f:…...
Boost Asio TCP异步服务端和客户端
服务端 消息分两次发送,第一次发送head,第二次发送body。接收也是先接收head,然后通过head结构中的body长度字段再接收body。 TcpServer.h #pragma once #include <atomic> #include <vector> #include <unordered_set> #…...
【Apache Doris】周FAQ集锦:第 29 期
引言 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目! 在这个栏目中,每周将筛选社区反馈的热门问题和话题,重点回答并进行深入探讨。旨在为广大用户和开发者分享有关 Apache Doris 的常见问题。 通过这个每周 FAQ 栏目,希望帮助社…...
速通Docker === 介绍与安装
目录 Docker介绍 Docker优势 Docker组件 Docker CLI (命令行接口) Docker Host (Docker 守护进程) 容器 (Container) 镜像 (Image) 仓库 (Registry) 关系总结 应用程序部署方式 传统部署 (Traditional Deployment) 虚拟化部署 (Virtualization Deployment) 容器部署…...
云平台一键部署【Video-Background-Removal】视频换背景,无任何限制,随意换
Video-Background-Removal 是一款革命性的视频背景替换工具,旨在让用户轻松实现视频背景的快速更换。无论你是专业创作者还是普通用户,这款软件都能让你在几秒钟内改变背景,完全消除限制,随心所欲,随时随地想换就换&am…...
AI刷题-最大矩形面积问题、小M的数组变换
目录 一、最大矩形面积问题 问题描述 输入格式 输出格式 输入样例 输出样例 数据范围 解题思路: 问题理解 数据结构选择 算法步骤 最终代码: 运行结果: 二、小M的数组变换 问题描述 测试样例 解题思路: 问题…...
ts类型断言各种写法
在 TypeScript 中,类型断言(Type Assertion)有两种主要的写法:**尖括号语法** (<Type>) 和 **as 关键字语法**。这两种方式都可以用来告诉编译器某个表达式的具体类型,但它们在不同的上下文中有各自的适用性和局…...
第十二章:算法与程序设计
文章目录: 一:基本概念 1.算法与程序 1.1 算法 1.2 程序 2.编译预处理 3.面向对象技术 4.程序设计方法 5.SOP标志作业流程 6.工具 6.1 自然语言 6.2 流程图 6.3 N/S图 6.4 伪代码 6.5 计算机语言 二:程序设计 基础 1.常数 …...
计算机网络 | IP地址、子网掩码、网络地址、主机地址计算方式详解
关注:CodingTechWork 引言 在计算机网络中,IP地址、子网掩码和网络地址是构建网络通信的基本元素。无论是企业网络架构、互联网连接,还是局域网(LAN)配置,它们都起着至关重要的作用。理解它们的工作原理&a…...
一文读懂高频考题!进程、线程、协程最全方位对比剖析
一、基本概念 (一)定义与特征 进程 在计算机科学里,进程是操作系统正在运行的程序的实例,是资源分配的基本单位。就好比每个进程都像一个小王国,它有自己独立的领土,这里的领土就是内存空间、代码块、数据和文件句柄等资源。比如说,你在电脑上同时打开一个文字处理软件…...
Elasticsearch搜索引擎(二)
RestClient 基础 前言一、RestAPI1. 初始化 *RestClient*2. 创建索引库3. 删除索引库4. 判断索引库是否存在 二、RestClient操作文档1.新增文档2.查询文档3. 删除文档4. 修改文档5. 批量导入文档 前言 ES官方提供了各种不同语言的客户端用来操作ES,这些客户端的本质…...
docker 部署 Kafka 单机和集群
一、准备工作 安装 Docker 确保本机已安装 Docker。可以通过以下命令检查 Docker 是否已安装:docker --version如果未安装,可以访问 Docker 官网下载并安装 Docker Desktop(Windows 和 Mac)或使用包管理器安装(Linux&…...
新增文章分类功能
总说 过程参考黑马程序员SpringBoot3Vue3全套视频教程,springbootvue企业级全栈开发从基础、实战到面试一套通关_哔哩哔哩_bilibili 目录 总说 一、功能实现 1.1 Controller层 1.2 Service层 1.3 Impl层 1.4 Mapper层 1.5 测试接口 二、优化 2.1 2.2 一、…...
[c语言日寄]精英怪:三子棋(tic-tac-toe)3命慢通[附免费源码]
哈喽盆友们,今天带来《c语言》游戏中[三子棋boss]速通教程!我们的目标是一边编写博文,一边快速用c语言实现三子棋游戏。准备好瓜子,我们计时开始! 前期规划 在速通中,我们必须要有清晰的前期规划…...
【Rust自学】12.1. 接收命令行参数
12.1.0. 写在正文之前 第12章要做一个实例的项目——一个命令行程序。这个程序是一个grep(Global Regular Expression Print),是一个全局正则搜索和输出的工具。它的功能是在指定的文件中搜索出指定的文字。 这个项目分为这么几步: 接收命令行参数&am…...
Qt应用之MDI(多文档设计)
qt creator 版本6.8.0 MinGW 64bit 由此模块可以扩展成设计一个qt文本编辑器。 界面如下 部分功能展示如下 新建文件 打开文件 mdi模式、级联模式和平铺模式 界面和程序构建过程。 1.如图所需.cpp和.h文件 2.mainwindow.ui和tformdoc.ui界面布局如下 不懂什么是Action如何…...
使用FFmpeg和Python将短视频转换为GIF的使用指南
使用FFmpeg和Python将短视频转换为GIF的使用指南 在数字时代,GIF动图已成为表达情感和分享幽默的重要媒介。无论是社交媒体上的搞笑片段还是创意项目中的视觉效果,GIF都能迅速抓住观众的注意力。然而,很多人不知道如何将短视频转换为GIF。本…...
Qt 各版本选择
嵌入式推荐用 Qt4.8,打包的程序小:Qt4.8.7是Qt4的终结版本,是Qt4系列版本中最稳定最经典的 最后支持xp系统的长期支持版本:Qt5.6.3;Qt5.7.0是最后支持xp系统的非长期支持版本。 最后提供mysql数据库插件的版本…...
Web基础-分层解耦
思考:什么是耦合?什么是内聚?软件设计原则是什么? 耦合:衡量软件中各个层 / 各个模块的依赖关联程度。 内聚:软件中各个功能模块内部的功能联系。 软件设计原则:高内聚低耦合。 那我们该如何实现…...
G1原理—8.如何优化G1中的YGC
大纲 1.5千QPS的数据报表系统发生性能抖动的优化(停顿时间太小导致新生代上不去) 2.由于产生大量大对象导致系统吞吐量降低的优化(大对象太多频繁Mixed GC) 3.YGC其他相关参数优化之TLAB参数优化 4.YGC其他相关参数优化之RSet、PLAB和大对象的处理优化 1.5千QPS的数据报表系…...
Hugging Face 的 Trainer类用法
一、使用方法 Hugging Face 的 Trainer 类是一个高级API,用于简化训练、评估和预测的流程。以下是如何使用 Trainer 类的基本步骤: 1. 导入必要的类和函数 首先,您需要导入 Trainer 类以及其他可能需要的类或函数。 from transformers im…...
RabbitMQ前置概念
文章目录 1.AMQP协议是什么?2.rabbitmq端口介绍3.消息队列的作用和使用场景4.rabbitmq工作原理5.整体架构核心概念6.使用7.消费者消息推送限制(work模型)8.fanout交换机9.Direct交换机10.Topic交换机(推荐)11.声明队列…...
IDEA2023版中TODO的使用
介绍:TODO其实本质上还是注释,只不过加上了TODO这几个字符,可以让使用者快速找到。 注意:在类、接口等文件中,注释是使用// 即:// TODO 注释内容 在配置文件中,注释是使用# 即:# TO…...
(STM32笔记)十二、DMA的基础知识与用法 第二部分
我用的是正点的STM32F103来进行学习,板子和教程是野火的指南者。 之后的这个系列笔记开头未标明的话,用的也是这个板子和教程。 DMA的基础知识与用法 二、DMA传输设置1、数据来源与数据去向外设到存储器存储器到外设存储器到存储器 2、每次传输大小3、传…...
windows系统“GameInputRedist.dll”文件丢失或错误导致游戏运行异常如何解决?windows系统DLL文件修复方法
GameInputRedist.dll是存放在windows系统中的一个重要dll文件,缺少它可能会造成部分游戏不能正常运行。当你的电脑弹出提示“无法找到GameInputRedist.dll”或“计算机缺少GameInputRedist.dll”等错误问题,请不用担心,我们将深入解析DLL文件…...
使用分割 Mask 和 K-means 聚类获取天空的颜色
引言 在计算机视觉领域,获取天空的颜色是一个常见任务,广泛应用于天气分析、环境感知和图像增强等场景。本篇博客将介绍如何通过已知的天空区域 Mask 提取天空像素,并使用 K-means 聚类分析天空颜色,最终根据颜色占比查表得到主导…...
UML系列之Rational Rose笔记四:时序图(顺序图_序列图)
时序图有很多画法,这基本上能算rose里面要求最乱的一种图了;有些人的需求是BCE模式,这是正常规范点的,有些人就不需要,有些需要用数据库交互,有些不需要;没有一个较为统一的需求;在此…...
nginx反向代理http 和 https(案例)
说明:在香港开了一台虚拟机,主要用于将来自国外访问的80和443代理到大陆IDC机房 (1) 定义80和443的upstream 211.155.82.174 是keepalive中VIP对应的公网IP(在国内访问www.playyx.com解析到211.155.82.174) upstream new_server…...
Dify应用-工作流
目录 DIFY 工作流参考 DIFY 工作流 2025-1-15 老规矩感谢参考文章的作者,避免走弯路。 2025-1-15 方便容易上手 在dify的一个桌面上,添加多个节点来完成一个任务。 每个工作流必须有一个开始和结束节点。 节点之间用线连接即可。 每个节点可以有输入和输出 输出类型有,字符串,…...
装备制造业:建立项目“四算”管理:以合同为源头,以项目为手段实现合同的测算、预算、核算与决算的管控体系
尊敬的各位管理层: 大家好!作为装备制造业的 CFO,我今天要向大家汇报的是如何建立项目“四算”管理,即以合同为源头,以项目为手段实现合同的测算、预算、核算与决算的管控体系。在当前市场竞争激烈、成本压力不断增大…...
Centos7将/dev/mapper/centos-home磁盘空间转移到/dev/mapper/centos-root
1、查看存储 df -h文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 126G 0 126G 0% /dev tmpfs 126G 0 126G 0% /dev/shm tmpfs 126G 19M 126G 1% /run tmpfs …...
docker 部署 MantisBT
1. docker 安装MantisBT docker pull vimagick/mantisbt:latest 2.先运行实例,复制配置文件 docker run -p 8084:80 --name mantisbt -d vimagick/mantisbt:latest 3. 复制所需要配置文件到本地路径 docker cp mantisbt:/var/www/html/config/config_inc.php.…...
【Vue - Element 】实现表单输入框的远程搜索功能
需求 表单是一个常见的元素,而在表单中,常常需要用户从大量的数据中选择一个或多个选项。 为了提高用户体验,提供远程搜索功能可以帮助用户快速找到所需的选项,而不是从冗长的下拉列表中手动查找。 以该需求为例,我…...
学习华为熵减:激发组织活力(系列之三)
目录 为什么学习华为? 学习华为什么? 一、势:顺势而为,在风口上猪都会飞起来。 二、道:就是认识和利用规律层面,文化和制度创新就是企业经营之道。 三、法:就是一套价值管理的变革方法论。…...
多种vue前端框架介绍
学如逆水行舟,不进则退。 在现今的软件开发领域,Vue.js凭借其高效、灵活和易于上手的特性,成为了前端开发的热门选择。对于需要快速搭建企业级后台管理系统的开发者而言,使用现成的Vue后台管理系统模板无疑是一个明智之举。 本文…...
C语言重点回顾(持续更新中~)
个人见解,有异议可以留言~ 第一讲:初识C语言 目录 1.编译和链接 2.main函数 3.库函数 4.关键字 5.字符和字符串 6.转义字符 1.编译和链接 初始的C语言源代码是一个文本文件,要想将一个文本文件变成一个执行文件,需要经过编…...