[计算机网络] 虚拟局域网

news2024/11/24 5:06:17

虚拟局域网

VLAN(Virtual Local Area Network,虚拟局域网)是将一个物理的局域网在逻辑上划分成多个广播域的技术。

通过在交换机上配置VLAN,可以实现在同一个VLAN 内的用户可以进行二层互访,而不同VLAN 间的用户被二层隔离。这样既能够隔离广播域,又能够提升网络的安全性。

为什么需要VLAN技术

VLAN技术解决了在传统以太网中冲突严重广播泛滥以及安全性无法保障的问题。

共享式网络

随着主机数量的增加,共享网络中的冲突会越来越严重,交换网络中的广播也会越来越多。

早期的局域网LAN 技术是基于总线型结构的,它存在以下主要问题:

  • 若某时刻有多个节点同时试图发送消息,那么它们将产生冲突。
  • 从任意节点发出的消息都会被发送到其他节点,形成广播。
  • 所有主机共享一条传输通道,无法控制网络中的信息安全。

这种网络构成了一个冲突域,网络中计算机数量越多,冲突越严重,网络效率越低。同时,该网络也是一个广播域,当网络中发送信息的计算机数量变多时,广播流量将会耗费大量带宽。因此,传统局域网不仅面临冲突域太大和广播域太大两大难题,而且无法保障传输信息的安全。

交换式网络

为了扩展传统LAN,以接入更多计算机,同时避免冲突的恶化,出现了网桥和二层交换机,它们能有效隔离冲突域。网桥和交换机采用交换方式将来自入端口的信息转发到出端口上,克服了共享网络中的冲突问题。

但是,采用交换机进行组网时,广播域和信息安全问题依旧存在。

为限制广播域的范围,减少广播流量,需要在没有二层互访需求的主机之间进行隔离。路由器是基于三层IP 地址信息来选择路由和转发数据的,其连接两个网段时可以有效抑制广播报文的转发,但成本较高。因此,人们设想在物理局域网上构建多个逻辑局域网,即VLAN。

VLAN技术

VLAN 技术(隔离广播域)可以将一个物理局域网在逻辑上划分成多个广播域,也就是多个VLAN。VLAN 技术部署在数据链路层,用于隔离二层流量

同一个VLAN 内的主机共享同一个广播域,它们之间可以直接进行二层通信。而VLAN 间的主机属于不同的广播域,不能直接实现二层互通。这样,广播报文就被限制在各个相应的VLAN 内,同时也提高了网络安全性。

VLAN帧格式

通过Tag(VLAN 标签)区分不同VLAN。Tag 是一种区分不同VLAN 接口的标识。

在这里插入图片描述

VLAN 标签长4 个字节,直接添加在以太网帧头中,IEEE 802.1Q 文档对VLAN 标签作出了说明。

VLAN 字段:

字段长度说明
TPID Tag Protocol Identifier2 B0x8100 IEEE 定义的新类型,表明这是一个携带802.1Q 标签的帧。 如果不支持802.1Q 的设备收到这样的帧,会将其丢弃。
PRI Priority3 b表示帧的优先级,取值范围为0~7,值越大优先级越高。 当交换机阻塞时,优先发送优先级高的数据帧。
CFI Canonical Format Indicator1 bCFI 表示MAC 地址是否是经典格式。 CFI 为0 说明是经典格式,CFI 为1 表示为非经典格式。 用于区分 以太网帧 FDDI(Fiber Distributed Digital Interface)帧 * 令牌环网帧。 在以太网中,CFI的值为0。
VLAN ID VLAN Identifier12 b在X7 系列交换机中, 可配置的VLAN ID 取值范围为0~4095, 但是0 和4095 在协议中规定为保留的VLAN ID, 不能给用户使用。

在现有的交换网络环境中,以太网的帧有两种格式:

  • 没有加上VLAN 标记的标准以太网帧(untagged frame);
  • 有VLAN 标记的以太网帧(tagged frame)。

链路类型

VLAN 链路分为两种类型:Access 链路Trunk 链路

  • 接入链路(Access Link):连接用户主机和交换机的链路称为接入链路。
  • 干道链路(Trunk Link):连接交换机和交换机的链路称为干道链路。干道链路上通过的帧一般为带Tag 的VLAN 帧。

PVID

PVID (Port VLAN ID)表示端口在缺省情况下所属的VLAN。缺省情况下,交换机每个端口的PVID 都是1

交换机从对端设备收到的帧有可能是Untagged 的数据帧,但所有以太网帧在交换机中都是以Tagged 的形式来被处理和转发的,因此交换机必须给端口收到的Untagged 数据帧添加上Tag(如果交换机收到的帧不带Tag,它就要给它加上Tag)。为了实现此目的,必须为交换机配置端口的缺省VLAN。当该端口收到Untagged 数据帧时,交换机将给它加上该缺省VLAN 的VLAN Tag。

Access端口

Access 端口在收到数据后会添加VLAN Tag,VLAN ID 和端口的PVID 相同。(进交换机加标签,出交换机剥标签)Access 端口是交换机上用来连接用户主机的端口,它只能连接接入链路,并且只能允许唯一的VLAN ID 通过本端口。

在这里插入图片描述

Access 端口收发数据帧的规则如下:(如果标签相同就让过,不一样就不让过)

  • 如果该端口收到对端设备发送的帧是untagged(不带VLAN 标签),交换机将强制加上该端口的PVID。如果该端口收到对端设备发送的帧是tagged(带VLAN标签),交换机会检查该标签内的VLAN ID。当VLAN ID 与该端口的PVID 相同时,接收该报文。当VLAN ID 与该端口的PVID 不同时,丢弃该报文。
  • Access 端口发送数据帧时,总是先剥离帧的Tag,然后再发送。Access 端口发往对端设备的以太网帧永远是不带标签的帧。

Trunk链路

Trunk 端口允许多个VLAN 的帧(带Tag 标记)通过。

当Trunk 端口收到帧时,如果该帧不包含Tag,将添加上端口的PVID;如果该帧包含Tag,则不改变

当Trunk 端口发送帧时,该帧的VLAN ID 在Trunk 的允许发送列表中:

  • 若与端口的PVID 相同时,则剥离Tag 发送;
  • 若与端口的PVID不同时,则直接发送。

Trunk 端口收发数据帧的规则如下:(允许所有带Tag的报文通过)

  • 当接收到对端设备发送的不带Tag 的数据帧时,会添加该端口的PVID,如果PVID 在允许通过的VLAN ID 列表中,则接收该报文,否则丢弃该报文。当接收到对端设备发送的带Tag 的数据帧时,检查VLAN ID 是否在允许通过的VLAN ID 列表中。如果VLAN ID 在接口允许通过的VLAN ID 列表中,则接收该报文。否则丢弃该报文。
  • 端口发送数据帧时,当VLAN ID 与端口的PVID 相同,且是该端口允许通过的VLAN ID 时,去掉Tag,发送该报文。当VLAN ID 与端口的PVID 不同,且是该端口允许通过的VLAN ID 时,保持原有Tag,发送该报文。

Hybrid端口(华为设备混杂端口)

Hybrid 端口既可以连接主机,又可以连接交换机。

Hybrid 端口可以以Tagged 或Untagged 方式加入VLAN。

Hybrid 端口是交换机上既可以连接用户主机,又可以连接其他交换机的端口。Hybrid 端口既可以连接接入链路又可以连接干道链路。Hybrid 端口允许多个VLAN 的帧通过,并可以在出端口方向将某些VLAN 帧的Tag 剥掉。华为设备默认的端口类型是Hybrid

Hybrid 端口收发数据帧的规则如下:

  • 当接收到对端设备发送的不带Tag 的数据帧时,会添加该端口的PVID,如果PVID 在允许通过的VLAN ID 列表中,则接收该报文,否则丢弃该报文。
  • 当接收到对端设备发送的带Tag 的数据帧时,检查VLAN ID 是否在允许通过的VLAN ID 列表中。如果VLAN ID 在接口允许通过的VLAN ID 列表中,则接收该报文,否则丢弃该报文。

Hybrid 端口发送数据帧时,将检查该接口是否允许该VLAN 数据帧通过。如果允许通过,则可以通过命令配置发送时是否携带Tag。

配置port hybrid tagged vlan vlan-id命令后,接口发送该vlan-id 的数据帧时,不剥离帧中的VLAN Tag,直接发送。该命令一般配置在连接交换机的端口上。

配置port hybrid untagged vlan vlan-id命令后,接口在发送vlan-id 的数据帧时,会将帧中的VLAN Tag 剥离掉再发送出去。该命令一般配置在连接主机的端口上。

VLAN划分方法

VLAN 的划分包括如下5 种方法:

  • 基于端口划分(最常见):根据交换机的端口编号来划分VLAN 。通过为交换机的每个端口配置不同的PVID ,来将不同端口划分到VLAN 中。初始情况下,华为交换机的端口处于VLAN1 中。此方法配置简单,但是当主机移动位置时,需要重新配置VLAN 。
  • 基于MAC 地址划分:根据主机网卡的MAC 地址划分VLAN 。此划分方法需要网络管理员提前配置网络中的主机MAC 地址和VLAN ID 的映射关系。如果交换机收到不带标签的数据帧,会查找之前配置的MAC 地址和VLAN 映射表,根据数据帧中携带的MAC地址来添加相应的VLAN 标签。在使用此方法配置VLAN 时,即使主机移动位置也不需要重新配置VLAN。
  • 基于IP 子网划分:交换机在收到不带标签的数据帧时,根据报文携带的IP 地址给数据帧添加VLAN 标签。
  • 基于协议划分:根据数据帧的协议类型(或协议族类型)、封装格式来分配VLAN ID 。网络管理员需要首先配置协议类型和VLAN ID 之间的映射关系。
  • 基于策略划分(比较麻烦):使用几个条件的组合来分配VLAN 标签。这些条件包括IP 子网、端口和IP 地址等。只有当所有条件都匹配时,交换机才为数据帧添加VLAN 标签。另外,针对每一条策略都是需要手工配置的。

VLAN配置

在这里插入图片描述

VLAN划分

[SWA]vlan 10
[SWA-vlan10]quit
[SWA]vlan batch 2 to 3
[SWA]display vlan

注意事项在交换机上划分VLAN 时,需要首先创建VLAN。在交换机上执行vlan <vlan-id> 命令,创建VLAN。如本例所示,执行vlan 10 命令后,就创建了VLAN 10,并进入了VLAN 10 视图。VLAN ID 的取值范围是1 到4094 。如需创建多个VLAN,可以在交换机上执行vlan batch { vlan-id1 [ to vlan-id2 ] }命令,以创建多个连续的VLAN。也可以执行vlan batch { vlan-id1 vlan-id2 }命令,创建多个不连续的VLAN,VLAN 号之间需要有空格。

创建VLAN 后,可以执行display vlan 命令验证配置结果。如果不指定任何参数,则该命令将显示所有VLAN 的简要信息。

执行display vlan [ vlan-id [ verbose ] ] 命令,可以查看指定VLAN 的详细信息,包括VLAN ID 、类型、描述、VLAN 的状态、VLAN 中的端口、以及VLAN 中端口的模式等。

执行display vlan vlan-id statistics 命令,可以查看指定VLAN 中的流量统计信息

执行display vlan summary 命令,可以查看系统中所有VLAN 的汇总信息

配置Trunk端口

配置Trunk 时,应先使用port link-type trunk命令修改端口的类型为Trunk ,然后再配置Trunk 端口允许哪些VLAN 的数据帧通过。执行port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } | all } 命令,可以配置端口允许的VLAN,all 表示允许所有VLAN 的数据帧通过。

执行port trunk pvid vlan vlan-id命令,可以修改Trunk 端口的PVID 。修改Trunk 端口的PVID 之后,需要注意:缺省VLAN 不一定是端口允许通过的VLAN 。只有使用命令port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } | all }允许缺省VLAN 数据通过,才能转发缺省VLAN 的数据帧。交换机的所有端口默认允许VLAN1 的数据通过。

配置Access端口

华为X7 系列交换机上,默认的端口类型是hybrid 。

配置端口类型的命令是port link-type <type>,type 可以配置为Access ,Trunk 或Hybrid 。需要注意的是,如果查看端口配置时没有发现端口类型信息,说明端口使用了默认的hybrid 端口链路类型。当修改端口类型时,必须先恢复端口的默认VLAN 配置,使端口属于缺省的VLAN 1 。

添加端口到VLAN

可以使用两种方法把端口加入到VLAN:

  • 第一种方法是进入到VLAN 视图,执行port <interface> 命令,把端口加入VLAN 。
  • 第二种方法是进入到接口视图(推荐),执行port default vlan <vlan-id>命令,把端口加入VLAN 。vlan-id 是指端口要加入的VLAN。

配置Hybrid端口

port link-type hybrid 命令的作用是将端口的类型配置为Hybrid 。默认情况下,X7 系列交换机的端口类型是Hybrid 。因此,只有在把Access 口或Trunk 口配置成Hybrid 时,才需要执行此命令。

port hybrid tagged vlan{ { vlan-id1 [ to vlan-id2 ] } | all }命令用来配置允许哪些VLAN 的数据帧以Tagged 方式通过该端口。

port hybrid untagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }命令用来配置允许哪些VLAN 的数据帧以Untagged 方式通过该端口。

gged vlan{ { vlan-id1 [ to vlan-id2 ] } | all }`命令用来配置允许哪些VLAN 的数据帧以Tagged 方式通过该端口。

port hybrid untagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }命令用来配置允许哪些VLAN 的数据帧以Untagged 方式通过该端口。

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

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

相关文章

如何利用静力水准仪进行地形沉降测量

地形沉降测量在建筑工程和地质研究中起着至关重要的作用。准确的地形沉降测量可以帮助工程师预测和预防潜在的地基问题&#xff0c;从而保障建筑物的安全和稳定。本文将详细介绍如何利用静力水准仪进行地形沉降测量&#xff0c;并探讨其在实际应用中的优势。 静力水准仪的基本原…

线程池FutureTask浅谈

一,概述 FuturnTask实现了Future与Runnable接口,笔者知道,ThreadPoolExecutor#submit可以传入Callable接口而非Runnable,区别点在于Callable可以返回值,而整个FuturnTask可以理解为Callable设计,用来优雅地异步获取执行结果,无需手动Condition去实现。 围绕此,需知道…

碧海威L7云路由无线运营版 confirm.php/jumper.php 命令注入漏洞复现(XVE-2024-15716)

0x01 产品简介 碧海威L7网络设备是 北京智慧云巅科技有限公司下的产品,基于国产化ARM硬件平台,采用软硬一体协同设计方案,释放出产品最大效能,具有高性能,高扩展,产品性能强劲,具备万兆吞吐能力,支持上万用户同时在线等高性能。其采用简单清晰的可视化WEB管理界面,支持…

Aigtek:为何要使用电压放大器

电压放大器在现代电子技术中起到了至关重要的作用。它是一种电子设备&#xff0c;用于将输入信号的电压增大到所需的输出电压水平。电压放大器的使用有以下几个方面的原因和优势。 电压放大器可以提高信号的强度和质量。许多实际应用中的输入信号往往很微弱&#xff0c;比如来自…

基于springboot、vue影院管理系统

设计技术&#xff1a; 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringbootMybatisvue 工具&#xff1a;IDEA、Maven、Navicat 主要功能&#xff1a; 影城管理系统的主要使用者分为管理员和用户&#xff0c; 实现功能包括管理员&#xff1a; 首页…

搭建抖音微短剧系统:源码部署与巨量广告回传全解析

在数字化浪潮中&#xff0c;抖音微短剧已成为内容创作的新宠。想要搭建一个高效的抖音微短剧系统&#xff0c;并实现与巨量广告的有效回传吗&#xff1f;本文将为您详细解析源码部署与广告回传的关键步骤。 一、源码部署&#xff1a;构建短剧系统的基石 源码是软件开发的起点…

[leetcode]beautiful-arrangement. 优美的排列

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:vector<vector<int>> match;vector<int> vis;int num;void backtrack(int index, int n) {if (index n 1) {num;return;}for (auto &x : match[index]) {if (!vis[x]) {vis[x] tru…

Java - Execl自定义导入、导出

1.需求&#xff1a;问卷星答 下图框出区域&#xff0c;为用户自定义字段问题及答案 2.采用技术EasyExcel 模板所在位置如下 /*** 导出模板** param response*/ Override public void exportTemplate(HttpServletResponse response) throws IOException {ClassPathResource c…

python-18-零基础自学python 类和子类的基础练习

学习内容&#xff1a;《python编程&#xff1a;从入门到实践》第二版 知识点&#xff1a; 类&#xff0c;父类与子类的继承&#xff0c;调用函数方法等。 练习内容&#xff1a; 练习9-7&#xff1a;管理员 管理员是一种特殊的用户。编写一个名为Admin的类&#xff0c;让它继…

linux绝对路径与相对路径区别简述

绝对路径与相对路径定义 绝对路径&#xff1a;相对于根路径&#xff0c;只要文件不移动位置&#xff0c;那么它的绝对路径是永恒不变的 相对路径&#xff1a;相对于当前所在目录而言&#xff0c;当前所在的目录可能会改变&#xff0c;所以相对路径不是固定的 路径&#xff…

算法基础入门 - 1.排序

文章目录 算法基础入门第一章:排序1.1 桶排序1.2 冒泡排序1.3 快速排序1.4 买书问题算法基础入门 第一章:排序 1.1 桶排序 该算法好比桶,假设有11个桶,编号从0-11。每出现一个数,就往对应编号的桶中放入旗子,只需要数桶中旗子的个数即可。比如2号桶有1个旗子,表示2出…

从零开始做一辆简易麦克纳姆轮小车

一、前期准备 麦克纳姆轮小车&#xff08;Mecanum wheel robot&#xff09;是一种能够实现全向移动的机器人&#xff0c;其核心在于使用了特殊设计的麦克纳姆轮。要从头开始制作一辆麦克纳姆轮小车&#xff0c;你可能需要准备以下组件和工具&#xff1a; 1. 材料和部件 麦克纳…

AIGC在游戏行业落地如何了?一起看看这篇文章

在2023年初AIGC开始被大众所认知的时候&#xff0c;游戏领域的股票一片飘红&#xff0c;AIGC被认为可以赋能游戏制作的各个环节&#xff0c;游戏板块(BK1046)从2023年初的800左右到2023年中翻倍至1600左右。 到今天&#xff0c;距离这个概念普及一年半有余&#xff0c;期待的效…

vscode安装lean4

本教程演示在Windows系统下如何安装Lean 4正式版。Linux和MacOS版本请参考Lean Manual。 如果你身在中国&#xff0c;在运行安装程序前需要做如下准备&#xff1a; 在系统目录C:\Windows\System32\drivers\etc文件夹下找到hosts文件。对于其它系统用户也都是找到各自系统的host…

Mind+在线图形编程软件(Sractch类软件)

Scratch作为图形编程软件&#xff0c;可以为小朋友学习编程提供很好的入门&#xff0c;是初次接触编程的小朋友的首选开发软件。这里介绍的Mind软件与Sractch用法几乎完全一致&#xff0c;并且可以提供在线免安装版本使用&#xff0c;浏览器直接打开网址&#xff1a; ide.mindp…

各省药品集中采购平台-地方药品集采分析数据库

国家第十批药品集中采购的启动时间暂未明确&#xff0c;但即将到来&#xff0c;在5月&#xff0c;国家医保局发布了《关于加强区域协同做好2024年医药集中采购提质扩面的通知》&#xff0c;其中明确指出将“开展新批次国家组织药品和医用耗材集中带量采购&#xff0c;对协议期满…

python爬虫--scrapy框架

Scrapy 一 介绍 Scrapy简介 1.Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架&#xff0c;用途非常广泛2.框架的力量&#xff0c;用户只需要定制开发几个模块就可以轻松的实现一个爬虫&#xff0c;用来抓取网页内容以及各种图片&#xff0c;非…

模拟物理弧线轨道运动(模拟飞盘,子弹运动)

模拟物理弧线运动&#xff08;模拟飞盘&#xff09; 介绍实现代码总结 介绍 模拟弧线的运动&#xff0c;并且对象始终朝向运动的方向&#xff0c;模拟飞盘子弹的运动轨迹。这里我是没有加重力这么一个概念的&#xff0c;当然了重力其实比较简单可以参考我之前写的模拟抛物线运动…

2024十大首码地推拉新app平台,一手首码对接平台!

到了2024年&#xff0c;地推新应用的接单平台成为创业者们关注的焦点。对于地推行业的从业人员而言&#xff0c;选择一家拥有一手单资源的平台至关重要&#xff0c;因为这直接关系到他们的利益。 2024年如果想要进行app地推活动&#xff0c;却没有人脉渠道的困扰&#xff0c;建…

ABB机器人控制柜各模块指示灯状态说明

ABB机器人控制柜各模块指示灯状态说明 主计算机模块位于控制柜的正前方,负责机器人的各种运算处理,安全模块主要负责安全相关的信号处理,驱动单元模块用于接收上位机指令,驱动机器人运动,轴计算机模块用于接收主计算机的运动指令和串