计算机网络 —— 数据链路层(VLAN)
计算机网络 —— 数据链路层(VLAN)
- 什么是VLAN
- 为什么要有VLAN
- VLAN如何实现
- IEEE 802.1Q
我们今天来看VLAN:
什么是VLAN
VLAN(Virtual Local Area Network,虚拟局域网)是一种网络技术,它将一个物理的局域网(LAN)在逻辑上划分为多个独立的广播域。每个VLAN都可以看作是一个独立的网络,尽管所有VLAN可能共用相同的物理基础设施,如交换机和物理线路。
VLAN的主要特点和优势包括:
- 广播隔离:VLAN可以限制广播域的大小,减少广播风暴,提高网络效率。VLAN内部的设备可以相互通信,而不同VLAN间则不能直接通信,除非通过路由器或三层交换机进行路由。
- 逻辑分组:VLAN允许根据功能、部门、安全需求或其他逻辑关系来组织网络,而不是基于物理位置。这使得网络管理更加灵活,适应性强。
- 安全性增强:通过隔离不同VLAN,可以防止不必要的数据流通,增加了网络的安全性。例如,财务部门的流量可以与销售部门的流量分开,减少潜在的安全风险。
- 移动性和灵活性:当网络设备需要在物理位置上移动时,无需重新配置其网络设置,因为其VLAN成员身份不依赖于物理连接点。这大大降低了管理成本和网络变更的复杂性。
- 易于管理:VLAN简化了网络的管理,因为网络管理员可以按照逻辑单位来管理网络,而不是单独处理每一台设备。
实现VLAN通常需要支持VLAN功能的网络设备,如VLAN-aware交换机,这些设备根据配置的VLAN规则来转发数据帧。VLAN的划分可以通过端口、MAC地址、协议类型或子网等多种方式来定义成员资格。IEEE 802.1Q标准是VLAN实现中最常用的标准,它定义了如何在以太网帧中插入标签来标识VLAN信息。
为什么要有VLAN
VLAN(Virtual Local Area Network,虚拟局域网)技术的引入主要是为了解决传统局域网设计中的一些固有问题,提高网络的性能、安全性和管理效率。以下是采用VLAN的主要原因:
- 广播域的控制:在未使用VLAN的传统局域网中,所有设备都属于同一广播域,这意味着任何设备发出的广播帧都会传遍整个网络。随着网络规模的扩大,广播风暴成为了一个大问题,严重消耗网络带宽,降低网络性能。VLAN通过逻辑分割网络,限制了广播域的范围,仅允许同一VLAN内的设备相互通信,从而减少了广播流量,提升了网络效率。
- 网络安全性增强:通过隔离不同部门或业务的网络流量,VLAN能有效阻止未授权访问和信息泄露。不同VLAN间默认不能直接通信,这为敏感数据提供了额外的安全防护,增强了网络的整体安全性。
- 逻辑网络结构灵活性:VLAN允许根据功能、项目团队、地理位置等因素灵活组织网络,而不受物理位置限制。即使设备需要移动到网络的其他物理位置,只要保持其VLAN归属不变,其网络配置和访问权限仍能保持一致,大大简化了网络管理和维护工作。
- 资源优化和成本节约:由于VLAN可以跨越多台物理交换机,因此可以更有效地利用网络资源,减少对硬件的依赖。例如,不需要为每个小规模的部门或项目单独配备交换机,而是可以在一台交换机上通过VLAN划分来满足需求,降低了硬件成本和运营开销。
- 策略实施简便:网络管理员可以针对每个VLAN设定不同的访问控制列表(ACL)、服务质量(QoS)策略和安全策略,便于管理和执行网络策略,保证网络服务的质量和合规性。
综上所述,VLAN技术是现代网络设计中不可或缺的一部分,它帮助构建更加高效、安全、灵活和易于管理的网络环境。
VLAN如何实现
VLAN(Virtual Local Area Network,虚拟局域网)的实现主要依赖于网络设备的支持,尤其是二层和三层交换机的高级功能。
- VLAN划分:
- 基于端口划分:这是最直接的VLAN实现方式,网络管理员在交换机上为每个物理端口配置所属的VLAN ID。连接到同一VLAN ID端口的设备可以互相通信,而不同VLAN之间默认隔离。
- 基于MAC地址划分:交换机根据设备的MAC地址动态分配VLAN成员资格。这种方式需要交换机维护MAC-VLAN映射表,当设备首次接入网络时自动分配VLAN。
- 基于协议类型或子网划分:根据网络层的信息(如IP协议类型或子网)来划分VLAN,适用于需要根据上层协议特性来隔离网络的情况。
- 基于策略的VLAN:根据用户身份、时间、应用等策略动态分配VLAN,需要高级的网络策略服务器配合。
- VLAN标签:
- 为了使VLAN跨越多台交换机,IEEE 802.1Q标准被广泛采用。该标准在原有的以太网帧头中插入一个4字节的标签,包含12位的VLAN ID,以此来标识帧属于哪个VLAN。
- VLAN间通信:
- 路由器或三层交换机:VLAN间通信需要通过路由器或具备路由功能的三层交换机来实现。这通常涉及创建SVI(Switched Virtual Interface),即在交换机上为每个VLAN配置一个逻辑的三层接口,并分配IP地址作为该VLAN的默认网关。
- 路由协议:在复杂的网络中,可能还需要配置路由协议(如OSPF、RIP或BGP)来动态交换路由信息,确保VLAN间的路由可达。
综上所述,VLAN的实现是一个系统工程,涉及到网络规划、设备配置、策略制定等多个环节,旨在通过逻辑上划分网络来提升网络的效率、安全性和管理便利性。
这里比较抽象,建议结合视频理解。
IEEE 802.1Q
IEEE 802.1Q是一个由电气和电子工程师协会(IEEE)制定的标准,它详细规定了如何在以太网帧中插入VLAN(虚拟局域网)标签,以便在单一物理网络基础设施上创建多个逻辑网络段的技术细节。这一标准对于实现VLAN至关重要,是现代网络中常见的局域网技术之一。以下是IEEE 802.1Q的关键特点和组件:
- VLAN标签:802.1Q标准在标准的以太网帧头和数据之间插入了一个4字节的标签。这个标签包含了2字节的Tag Protocol Identifier (TPID),其值固定为0x8100,用于标识这是一个带有802.1Q标签的帧。另外2字节包含了一个12位的VLAN Identifier (VID),可以用来区分最多4096个不同的VLAN。
- 帧格式:标准以太网帧的Type/Length字段在带有802.1Q标签的帧中变成了TPID字段,用于识别VLAN标签的存在。VID字段随后跟随着用户优先级(3位)和Canonical Format Indicator (CFI,1位),这些共同构成了完整的VLAN标签。
- 中继和原生VLAN:802.1Q定义了中继端口和原生VLAN(也称为未经标记的VLAN或PVID)。中继端口是能够在VLAN间转发带有标签帧的端口,而原生VLAN则是未标记帧在进入中继链路时所属的VLAN,或者从中继链路离开时未标记帧所属的默认VLAN。
- VLAN桥接和转发:标准还规定了VLAN桥接和数据帧在VLAN间转发的规则,包括如何根据VLAN标签来决定帧的转发路径,以及如何在不同VLAN之间提供隔离。
- 流量控制和优先级:除了VLAN隔离功能外,802.1Q还支持优先级编码点(PCP),允许为不同类型的网络流量分配优先级,以实现服务质量(QoS)管理。
- 兼容性:802.1Q标准确保了不同厂商的网络设备之间的互操作性,使得VLAN技术可以广泛应用于企业网络、数据中心、云计算环境等,以实现网络资源的有效管理和隔离。
简而言之,IEEE 802.1Q是构建和管理虚拟局域网的关键技术,它通过在以太网帧中加入标签来区分不同VLAN的流量,从而在单一物理网络上实现逻辑上的网络分段和管理。
相关文章:

计算机网络 —— 数据链路层(VLAN)
计算机网络 —— 数据链路层(VLAN) 什么是VLAN为什么要有VLANVLAN如何实现IEEE 802.1Q 我们今天来看VLAN: 什么是VLAN VLAN(Virtual Local Area Network,虚拟局域网)是一种网络技术,它将一个物…...
Redis基本操作介绍
1. 安装与启动 安装:Redis支持多种操作系统,包括Linux、Windows等。从Redis官网下载相应的安装包,并按照系统要求进行安装。启动: Linux系统:在终端中,进入Redis的安装目录,运行redis-server命…...

Unity3d使用3D WebView for Windows and macOS打开全景网页(720云)操作问题记录
问题描述 使用Unity3d内嵌网页的形式打开720云中的全景图这个功能,使用的是3D WebView for Windows and macOS插件,720云的全景图在浏览器上的操作是滑动鼠标滚轮推远/拉近全景图,鼠标左键拖拽网页可以旋转全景图内容。网页的打开过程是正常…...

把文件从一台linux机器上传到另一台linux机器上
文章目录 1,第一种情况1.1 先测试2台机器是否可以互相通信1.2 对整个文件夹里面的所有内容进行传输的命令1.3 检查结果 2,第二种情况2.1,单个文件传输的命令 1,第一种情况 我这里有2台linux机器, 机器A:19…...

WT32-ETH01作为TCP Server进行通讯
目录 模块简介WT32-ETH01作为TCP Server设置W5500作为TCP Client设置连接并进行通讯总结 模块简介 WT32-ETH01网关主要功能特点: 采用双核Xtensa⑧32-bit LX6 MCU.集成SPI flash 32Mbit\ SRAM 520KB 支持TCP Server. TCP Client, UDP Server. UDP Client工作模式 支持串口、wi…...
mvn install -DskipTests
mvn install -DskipTests mvn install -DskipTests 不用做测试的打包代码...

Lua搭建网站后台教程
本文讲解如何使用二进制发布包和FastWeb网站管理工具搭建站点 FastWeb网站管理工具 使用该工具可快速在Windows平台部署。支持官方或三方模块的自动安装、日志调试、版本更新等。 1、下载最新版本压缩包 2、解压到任意目录(建议英文) 3、运行 ①点击 [设置]->[安装] 部…...

Java | Leetcode Java题解之第137题只出现一次的数字II
题目: 题解: class Solution {public int singleNumber(int[] nums) {int a 0, b 0;for (int num : nums) {b ~a & (b ^ num);a ~b & (a ^ num);}return b;} }...
大数据技术Hbase列数据库——topic3
目录 启动Hadoop启动HbaseHbase常用Shell命令基本命令关于表的操作增删改查询 启动Hadoop 1.到Hadoop安装目录下输入命令 sbin/start-all.sh[rootlocalhost hadoop-2.7.1]# sbin/start-all.sh This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh Starti…...

Sklearn基础教程:机器学习界的瑞士军刀
Sklearn基础教程:机器学习界的瑞士军刀 引言 在机器学习的世界里,sklearn(Scikit-learn)就像是一把瑞士军刀,小巧、多功能,而且非常实用。无论你是数据科学家还是编程新手,sklearn都能成为你解…...

Python异步爬虫批量下载图片-协程
import aiofiles import aiohttp import asyncio import requests from lxml import etree from aiohttp import TCPConnectorclass Spider:def __init__(self, value):# 起始urlself.start_url value# 下载单个图片staticmethodasync def download_one(url):name url[0].spl…...

力扣 42. 接雨水
题目来源:https://leetcode.cn/problems/trapping-rain-water/description/ C题解1:双指针 按列算,一列一列的求雨水面积。使用双指针是记录当前列左右侧的最大元素。 class Solution { public:int trap(vector<int>& height) {in…...

Elastic Platform 8.14:ES|QL 正式发布、静态加密和向量搜索优化
作者:来自 Elastic Gilad Gal, Tyler Perkins, Alex Chalkias, Trevor Blackford, Ninoslav Miskovic, Fabio Busatto, Aris Papadopoulos Elastic Platform 8.14 提供了 Elasticsearch 查询语言 (ES|QL) 的正式发行版 (GA) — Elastic 中数据探索和操作的未来。它还…...

UE4获取动画序列资产的动画时长
谢谢”朝闻道“大佬的指点~...

win10怎么截图?电脑截图的3个方法分享
win10怎么截图?在Windows 10操作系统中,截图功能不仅强大而且极其便捷。无论用户需要快速捕捉整个屏幕的内容,还是精确截取屏幕上的特定区域,它都能迅速响应并满足需求。通过内置的截图工具和快捷键,我们可以轻松完成各…...

无线领夹麦克风哪个品牌性价比高?推荐领夹麦克风性价比最高品牌
当今的直播、短视频已经深深的融入到了我们的生活当中,很多小伙伴会通过拍摄短视频、Vlog来分享自己生活精彩的瞬间。不过录制视频时,如果单纯靠手机拾音,距离手机越远,声音越小越不清晰如果有噪音干扰,那更是“惨不忍…...
C语言----深入理解指针(5)
1.sizeof和strlen的对比 sizeof计算变量所占内存空间的大小的,单位是字节 sizeof只关注内存空间的大小,不在乎内存中方的什么数据 sizeof是操作符不是函数 sizeof会将\0算进去的 // sizeof计算变量所占内存空间的大小的,单位是字节int m…...
Ansible——cron模块
目录 参数总结 示例1:创建一个定时任务 示例2:删除一个定时任务 示例3:每周一早上 3 点清理临时文件 示例4:每小时运行一次日志轮转 示例5:为指定用户添加一个定时任务 Playbook (YAML 格式) 中管理定时任务。 …...

保存图片奇怪的bug
今天发现一个奇怪的bug 这个的dpi是100de ,但是我取完切片之后,发现这个结果就变了...

【Go语言精进之路】构建高效Go程序:了解map实现原理并高效使用
🔥 个人主页:空白诗 🔥 热门专栏:【Go语言精进之路】 文章目录 引言一、什么是map1.1 map的基本概念与特性1.2 map的初始化与零值问题1.3 map作为引用类型的行为 二、map的基本操作2.1 插入数据2.2 获取数据个数2.3 查找和数据读取…...

UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...