虚拟局域网VLAN_基础知识

news2024/10/6 12:33:43

虚拟局域网VLAN的概述

一. 虚拟局域网VLAN的诞生背景

  • 将多个站点通过一个或多个以太网交换机连接起来就构建出了交换式以太网。

  • 交换式以太网中的所有站点都属于同一个广播域。

  • 随着交换式以太网规模的扩大,广播域也相应扩大。

  • 巨大的广播域会带来一系列问题:

    • 广播风暴:广播风暴会浪费网络资源和各主机的CPU资源
    • 难以管理和维护,带来潜在的安全
  • TCPIP协议栈中的很多协议都会使用广播:

    • 地址解析协议ARP
    • 路由信息协议RIPv1
    • 动态主机配置协议DHCP
  • NetBEUI: Windows下使用的广播型协议

  • IPX/SPX: Novell网络的协议栈

  • Apple Talk: Apple公司的网络协议栈

  • 分割广播域的方法:

    • 使用路由器可以隔离广播域.(成本较高)
    • 虚拟局域网技术应运而生

所以,为了分割广播域,引入虚拟局域网VLAN概述

  • 虚拟局域网(Virtual Local Area Network,VLAN)是一种将局域网内的站点划分成与物理位置无关的逻辑组的技术,一个逻辑组就是一个VLAN,VLAN中的各站点具有某些共同的应用需求。
  • 属于同一VLAN的站点之间可以直接进行通信,而不同VLAN中的站点之间不能直接通信。
  • 网络管理员可对局域网中的各交换机进行配置来建立多个逻辑上独立的VLAN。
    • 连接在同一交换机上的多个站点可以属于不同的VLAN,而属于同一VLAN的多个站点可以连接在不同的交换机上。
      虚拟局域网VLAN并不是一种新型网络,它只是局域网能够提供给用户的一种服务。

在这里插入图片描述

二. 虚拟局域网VLAN的实现机制

  • 虚拟局域网VLAN有多种实现技术,最常见的就是基于以太网交换机的接口来实现VLAN。这就需要以太网交换机能够实现以下两个功能:
    • (1)能够处理带有VLAN标记的帧,也就是IEEE 802.1Q帧
    • (2)交换机的各接口可以支持不同的接口类型,不同接口类型的接口对帧的处理方式有所不同。

(一).IEEE 802.1Q帧

  • IEEE 802.1Q帧也称为Dot One Q帧,它对以太网V2的MAC帧格式进行了扩展:在源地址字段和类型字段之间插入了4字节的VLAN标签(tag)字段。
    在这里插入图片描述
    注意最大长度一个是1518字节的,另一个1522字节
    相比于以太网V2的MAC帧,802.1Q帧多了VLAN标签
    在这里插入图片描述

  • 标签协议标识符TPID:长度为16比特,其值固定为0x8100,表示该帧是IEEE 802.1Q帧。

  • 优先级PRI:长度为3比特,取值范围是0~7,值越大优先级越高。当网络阻塞时,设备优先发送优先级高的
    802.1Q帧。

  • 规范格式指示符CFI:长度为1比特,取值为0表示MAC地址以规范格式封装,取值为1表示MAC地址以非规范格式封装。对于以太网,CFI的取值为0。

  • 虚拟局域网标识符VID:长度为12比特,取值范围是0~4095,其中0和4095保留不使用。VID是802.1Q帧所属VLAN的编号,设备利用VID来识别帧所属的VLAN。广播帧只在同一VLAN内转发,这样就将广播域限制在了一个VLAN内.
    注意:

  • 802.1Q帧一般不由用户主机处理,而是由以太网交换机来处理:

    • 当交换机收到普通的以太网MAC帧时,会给其插入4字节的VLAN标签使之成为802.1Q帧,该处理简称为“打标签”。
    • 当交换机转发802.1Q帧时,可能会删除其4字节的VLAN标签使之成为普通的以太网MAC帧,该处理简称为“去标签”。交换机转发802.1Q帧时也有可能不进行“去标签”处理,是否进行“去标签”处理取决于交换机的接口类型。

(二).以太网交换机的接口类型

  • 根据接口在接收帧和发送帧时对帧的处理方式的不同,以及接口连接对象的不同,以太网交换机的接口类型一般分为Access和Trunk两种。
  • 当以太网交换机上电启动后,若之前未对其各接口进行过VLAN的相关设置,则各接口的接口类型默认为Access,并且各接口的缺省VLAN ID为1,即各接口默认属于VLAN1。
    • 对于思科交换机,接口的缺省VLAN ID称为本征VLAN (Native VLAN)。
    • 对于华为交换机,接口的缺省VLAN ID称为端口VLANID (Port VLAN ID),简记为PVID
      注意:交换机的每个接口有且仅有一个PVID

例1:在一个交换机上不进行人为的VLAN划分,交换机各接口默认属于VLAN1且类型为Access的情况
简单来说,下面的情况就是交换机VLAN初始化情况
在这里插入图片描述
例2:在一个交换机上划分两个不同VLAN的情况。
PVID不同
在这里插入图片描述
例3:两个交换机通过Trunk类型的接口互连,Trunk接口将802.1Q帧“去标签”后进行转发的情况。
在这里插入图片描述
例4:两个交换机通过Trunk类型的接口互连,Trunk接口将802.1Q帧直接转发的情况。
在这里插入图片描述
总结:Access接口Trunk接口
Access接口:Access接口一般用于连接用户计算机,由于其只能属于一个VLAN,因此Access接口的PVID值与其所属VLAN的ID相同,其默认值为1。

  • 接收处理
    • 一般只接受“未打标签”的普通以太网MAC帧,根据接收帧的接口的PVID给帧“打标签”,即插入4字节的VLAN标签字段,VLAN标签字段中的VID取值就是接口的PVID值。
  • 转发处理
    • 若帧中的VID值与接口的PVID值相等,则给帧“去标签”后再进行转发,否则不转发帧。因此,从Access接口转发出的帧,是不带VLAN标签的普通以太网MAC帧。
      Trunk接口:Trunk接口一般用于交换机之间的互连。Trunk接口可以属于多个VLAN,即Trunk接口可以通过属于不同VLAN的帧。Trunk接口的默认PVID值为1,一般不建议用户修改,若互连的Trunk接口的PVID值不相等,则可能出现转发错误。
  • 接收处理
    • 既可以接收“未打标签”的普通以太网MAC帧,也可以接收“已打标签”的802.1Q帧。若接收到普通以太网MAC帧时,根据接收帧的接口的PVID给帧“打标签”,这与Access接口的处理相同。
  • 转发处理
    • 对于帧的VID值等于接口的PVID值的802.1Q帧,将其“去标签”转发;对于帧的VID值不等于接口的PVID值的802.1Q帧,将其直接转发。因此,从Trunk接口转发出的帧,可能是普通以太网MAC帧,也可能是802.1Q帧。
      拓展:Hybird接口
  • Hybrid接口是华为交换机私有的接口类型。Hybrid接口既可以用于交换机之间的互连(与Trunk接口相同),也可用于交换机与用户计算机之间的互连(与Access接口相同)。
  • 除此之外,Hybrid接口的绝大部分功能与Trunk接口相同。不同点在于Hybrid接口的转发处理: Hybrid接口会查看帧的VID值是否在接口的“去标签”列表中,若存在则“去标签”后转发,若不存在则直接转发。

例题

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1221686.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【案例分享】BenchmarkSQL 5.0 压测 openGauss 5.0.0

一、前言 本次BenchmarkSQL 压测openGauss仅作为学习使用压测工具测试tpcc为目的,并不代表数据库性能如本次压测所得数据。实际生产性能压测,还需结合服务器软硬件配置、数据库性能参数调优、BenchmarkSQL 配置文件参数相结合,是一个复杂的过…

解决 vite 4 开发环境和生产环境打包后空白、配置axios跨域、nginx代理本地后端接口问题

1、解决打包本地无法访问空白 首先是pnpm build 打包后直接在dist访问,是访问不了的,需要开启服务 终端输入 npm install -g serve 然后再输入 serve -s dist 就可以访问了 但要保证 路由模式是:createWebHashHistory 和vite.conffig.j…

linux关于cmake,makefile和gdb的使用

c文件的编译 安装环境(centos 7) 检查命令是否齐全 gcc --version g --version gdb–version 安装命令 yum -y install gcc-c安装g命令(用于编译c/c文件) yum -y install gcc安装gcc命令(用于编译c文件) 每个都出现版本号,证明…

Sentinel 熔断规则 (DegradeRule)

Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 SpringbootDubboNacos 集成 Sentinel&…

Flutter笔记:桌面应用 窗口定制库 bitsdojo_window

Flutter笔记 桌面应用窗口管理库 bitsdojo_window 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/13446…

zookeperkafka学习

1、why kafka 优点 缺点kafka 吞吐量高,对批处理和异步处理做了大量的设计,因此Kafka可以得到非常高的性能。延迟也会高,不适合电商场景。RabbitMQ 如果有大量消息堆积在队列中,性能会急剧下降每秒处理几万到几十万的消息。如果…

如何用继承和多态来打印个人信息

1 问题 在python中的数据类型中,我们常常运用继承和多态。合理地使用继承和多态可以增强程序的可扩展性使代码更简洁。那么如何使用继承和多态来打印个人信息? 2 方法 打印基本信息添加子类,再定义一个class,可以直接从Person类继…

spring cloud openfeign 使用注意点

近期在做项目时给自己挖了一个坑,问题重现如下 使用的组件版本如下 spring boot 2.7.15,对应的 spring cloud 版本为 2021.0.5,其中 spring cloud 适配的 openfeign 版本是 3.1.5。 项目中使用的 feign 接口如下 public interface QueryApi…

高性能音乐流媒体服务Diosic

什么是 Diosic ? Diosic 是一个开源的基于网络的音乐收集服务器和流媒体。主要适合需要部署在硬件规格不高的服务器上的用户。Diosic 是使用 Rust 开发的,具有低内存使用率和高性能以及用于流媒体音乐的非常干净的界面。 安装 在群晖上以 Docker 方式安装。 在注…

Jenkins自动化部署一个Maven项目

Jenkins自动化部署 提示:本教程基于CentOS Linux 7系统下进行 Jenkins的安装 1. 下载安装jdk11 官网下载地址:https://www.oracle.com/cn/java/technologies/javase/jdk11-archive-downloads.html 本文档教程选择的是jdk-11.0.20_linux-x64_bin.tar.g…

赋能汽车企业数智化转型,鼎捷软件受邀出席“中国工业软件大会”

由中国国际智能产业博览会组委会、工业和信息化部、重庆市人民政府主办的“第三届中国工业软件大会”在重庆盛大召开。工业软件主管部委及政府部门、产业上下游企业代表和业内大咖、科教领域专家学者等800余位嘉宾代表齐聚,为加快制造业数字化转型和高质量发展建言献…

基于SpringBoot的SSMP整合案例(在Linux中发布项目的注意事项与具体步骤步骤)

前言与注意 这几天在Linux中上线之前的小项目时,遇到了很多的问题,Linux镜像的选择,jdk, mysql在linux中的下载,使用finallshell连接linux,使用tomcat连接linux中的数据库........ 在下面的注意事项中我会将…

人生阶段总结

--回顾一下我迷茫、努力、不开心又失败的阶段人生自我介绍一下,我是一个智力平平,记忆力差,适合自学的长睡眠者。 大专之前 国内的应试教育基本上不适合我,厌恶补课厌恶机械式听课刷题,所有的优势学科都是自学&#xf…

Sql Server 2017主从配置之:事务日志传送

使用事务日志传送模式搭建Sql Server 2017主从同步,该模式有一定的延迟,是通过3个不同的定时任务,将主库的日志同步到从库进行恢复来实现数据库同步操作。 环境准备 两台服务器,配置都是8g2核,50g硬盘,操…

CI/CD相关概念学习

文章目录 CI/CD相关概念学习前言CI/CD相关概念介绍集成地狱持续集成持续交付持续部署Devops CI/CD相关应用介绍JenkinsTekton PipelinesSpinnakerTravis CIGoCD CI/CD相关概念学习 前言 本文主要是介绍一些 CI/CD 相关的概念,通过阅读本文你将快速了解 CI/CD 是什么…

腾讯云4核8G服务器性能如何多少钱一年?

腾讯云服务器4核8G配置优惠价格表,轻量应用服务器和CVM云服务器均有活动,云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元,5年6490.44元,轻量应用服务器4核8G12M带宽一年446元、529元15个月,腾讯云百科txybk.com分…

在前端开发中,什么是CDN(Content Delivery Network)?它的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

Python实验项目7 :tkinter GUI编程

(1)利用tkinter 制作界面,效果图如下: from tkinter import * # winTk() for i in range(1,20):Button(width5,height10,bg"black" if i%20 else"white").pack(side"left") win.geometry("8…

“可信区块链运行监测服务平台TBM发展研讨会”将于11月23日在北京召开

为推动区块链治理与创新,积极推进信任科技生态体系建设,中国信息通信研究院、中国移动设计院联合区块链服务网络(BSN)发展联盟共同发起建立了可信区块链运行监测服务平台(TBM)。 TBM平台通过对区块链系统的…

idea显示pom.xml文件漂黄警告 Dependency maven:xxx:xxx is vulnerable

场景: idea警告某些maven依赖包有漏洞或者依赖传递有易受攻击包,如下: 解决: 1、打开idea设置,找到 File | Settings | Editor | Inspections 2、取消上述两项勾选即可