交换机基础(二):VLAN 基础知识
一、VLAN 基础知识
虚拟局域网 (Virtual Local Area Network,VLAN) 是一种将局域网设 备从逻辑上划分成一个个网段,从而实现虚拟工作组的数据交换技术。 这一技术主要应用于3层交换机和路由器中,但主流应用还是在3层交换机中。
VLAN 是基于物理网络上构建的逻辑子网,所以构建VLAN 需要使用支持VLAN 技术的交换机。当网络之间的不同VLAN 进行通信时,就需要路由设备的支持。这时就需要增加路由器、3层交换机之类的路由设备。
一个VLAN 内部的广播和单播流量都不会转发到其他VLAN 中,这样有助于控制流量、减少设备投资、简化网络管理、提高网络的安全性。
二、VLAN 划分方法
VLAN 的划分方式有多种,但并非所有交换机都支持,而且只能选择一种应用。
(1)根据端口划分。
这种划分方式是依据交换机端口来划分VLAN 的,是最常用的VLAN 划分方式,属于静态划分。
(2)根据MAC 地址划分。
这种划分方法是根据每个主机的MAC 地址来划分的,即对每个MAC 地址的主机都配置其属于哪个组,属于动态划分VLAN。
(3)根据网络层上层协议划分。
这种划分方法是根据每个主机的网络层地址或协议类型(如果支持多协议)划分的,属于动态划分VLAN。
(4)根据IP组播划分VLAN。
IP组播实际上也是一种VLAN 的定义,即认为一个组播组就是一个VLAN。 该方式属于动态划分VLAN。
(5)基于策略的VLAN。
根据管理员事先制定的VLAN 规则,自动将加入网络中的设备划分到正确的VLAN。 该方式属于动态划分VLAN。
三、VLAN 创建
创建VLAN 可以分为批量创建和单独创建两种形式。 一般情况下,新出厂的交换机默认的VLAN 是VLAN1。 我们可以在交换机上使用命令display vlan 查看VLAN 的情况。
[gkys]disp vlan
(1)批量创建多个连续的VLAN
<gkys> system-view
[gkys] vlan batch x to y
其中的X和Y用来表示不同的VLAN 编号; to用于创建连续的VLAN,省略to 则只创建列表中指定号码的VLAN。
批量创建VLAN11到VLAN20的步骤:
<gkys> system-view
[gkys] vlan batch 11 to 20
(2)单独创建VLAN
<gkys> system-view
[gkys] vlan x
其中的X用来表示VLAN 编号。如果VLAN 已经创建,则直接进入VLAN 视图,否则创建该VLAN。
单独创建VLAN30 的步骤:
<gkys> system-view
[gkys] vlan 30 //创建或者进入VLAN30
如果设备上创建了多个VLAN, 为了便于管理,可以为VLAN 配置 名称。配置VLAN 名称后,即可直接通过VLAN 名称进入VLAN 视图。
配置VLAN10 的名称为huawei 的命令:
<gkys> system-view
[gkys] vlan 10
[gkys-vlan10] name huawei
[gkys-vlan10] quit
配置VLAN名称后,可直接通过VLAN名称进入VLAN视图:
[gkys] vlan vlan-name huawei
[gkys-vlan10] quit
四、 将端口指定到VLAN
华为设备中划分VLAN 的方式有基于接口、基于MAC 地址、基于IP子网、基于协议、基于策略 (MAC 地址、IP 地址、接口)。其中基于接口划分VLAN 是最简单、最常见的划分方式,也是考试中考得最多的一种形式。基于接口划分VLAN 指的是根据交换机的接口来划分VLAN。 需要网络管理员预先为交换机的每个接口配置不同的PVID, 当一个数据帧进入交换机时,如果没有带VLAN 标签,该数据帧就会被打上接口指定PVID 的Tag, 然后数据帧将在指定PVID 中传输。
当在交换机上创建了VLAN 后,接下来就需要将相应的端口指定至该VLAN, 可以是单一端口指定VLAN 或者成批端口指定VLAN。
(1)单一端口指定VLAN 的配置步骤
system-view //进入系统视图
vlan vlan-id //创建VLAN 并进入VLAN 视图。如果VLAN 已经创建,则直接进入VLAN 视图
quit //返回系统视图
interface interface-type interface-number //进入需要加入VLAN 的以太网接口视图
port link-type access //配置接口类型为Access
port default vlan vlan-id //配置接口的缺省VLAN 并将接口加入到指定VLAN
VLAN 配置的步骤在考试中常考,需要重点掌握。
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]vlan 10
[Huawei-vlan10]quit
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1] port link-type access
[Huawei-GigabitEthernet0/0/1]port default vlan 10
(2)成批端口指定VLAN
如需要对一批接口执行相同的VLAN 配置,则可以在VLAN 视图下执行命令port interface-type {interface-number1[ to interface-number2]}批量配置。将接口gi0/0/1-gi0/0/10全部加
入VLAN 2的命令:
[gkys] vlan 2 //进入VLAN 2视图
[gkys-vlan2]port GigabitEthernet 0/0/1 to 0/0/10 //将1~10号接口全部设置为VLAN 2
也可以使用以下方式:
system-view //进入系统视图
vlan vlan-id //创建VLAN 并进入VLAN 视图。如果VLAN 已经创建,则直接进入VLAN 视图
quit //返回系统视图
port-group group-member //进入接口组视图。
group-member interface-type interface-number to interface-type interface-number//把需要的接口加入组
port link-type access //配置接口类型为Access。 此时系统会对每个接口进行一次设置
port default vlan vlan-id //配置接口的缺省VLAN 并将接口加入到指定VLAN, 系统也会自
动对每个接口执行一次命令
如要将接口GigabitEthernet0/0/1到GigabitEthernet0/0/10的这 10个接口统一配置成Access模式,默认的VLAN 是VLAN10 的命令:
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]vlan 10
[Huawei-vlan10]quit
[Huawei]Port-group 1
[Huawei-port-group-1]group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/10 //把1到10端口加入分组
[Huawei-port-group-1]port link-type access //下面10行是这条命令执行之后,系统自动分步执行的结果
[Huawei-GigabitEthernet0/0/1]port link-type access
[ ……
[Huawei-GigabitEthernet0/0/10]port link-type access
[Huawei-port-group-1]port default vlan 10 //设置接口的默认PVID, 系统自动执行以下10条命令,并在屏幕上输出
[Huawei-GigabitEthernet0/0/1]port default vlan 10
[ ……
[Huawei-GigabitEthernet0/0/10]port default vlan 10
[Huawei-port-group-1]quit
五、Vlan配置注意事项:
华为交换设备的重要概念就是默认VLAN。 通常Access 端口只属于1个VLAN, 所以它的默认VLAN 就是其所在的VLAN, 无须设置。而Hybrid 端口和Trunk 端口可以属于多个VLAN, 因此需要设置默认VLAN ID。默认情况下, Hybrid 端口和Trunk 端口的默认VLAN为VLAN 1。
当端口接收到不带VLAN Tag的报文后,则将报文转发到属于默认VLAN 的端口(如果设置了端口的默认VLAN ID)。 当端口发送带有VLAN Tag的报文时,如果该报文的VLAN ID与端口默认的VLAN ID相同,则系统将去掉报文的VLAN Tag, 然后发送该报文。
在配置VLAN 时要注意:
(1)默认情况下,所有端口都属于VLAN 1,一个Access端口只能属于一个VLAN。
(2)如果端口是Access端口,则在将端口加入到另外一个VLAN的同时,系统自动把该端口从原来的VLAN 中删除掉。
(3)除了VLAN 1外,如果VLAN XX不存在,在系统视图下输入VLAN XX,则创建VLAN XX并进入VLAN 视图;如果VLAN XX已经存在,则进入VLAN 视图。
六、VLAN 封装协议
VTP 协议有两种链路封装协议: IEEE 802.1Q和QinQ 技术。
(1)IEEE 802.1Q: 俗称dot1q, 由IEEE创建。它是一个通用协议,在各个不同厂商的设备之间使用IEEE 802.1Q。IEEE 802.1Q所附加的VLAN 间。基于IEEE 的标签。 IEEE交换机实现。
识别信息位于数据帧中的源MAC 地址与类型字段之802.1Q附加的VLAN 信息,就像在传递物品时附加802.1QVLAN最多可支持4096个VLAN 组,并可跨交换机实现。
IEEE 802.1Q协议在原来的以太帧中增加了4个字节的标记 (Tag)字段,如图所示。增加了4个字节后,交换机默认最大MTU 应由1500个字节改为至少1504个字节。
802.1Q封装格式
TPID: 值为0x8100(hex), 标记IEEE 802.1Q帧, hex 表示十六进制。
TCI: 标签控制信息字段,包括用户优先级 (User Priority)、 规范格式指示器 (Canonical Format Indicator) 和VLAN ID。User Priority: 定义用户优先级,3位,有8个优先级别。
CFI: 以太网交换机中,规范格式指示器总被设置为0。设置为1时,表 示该帧格式并非合法格式,这类帧不被转发。
VID:VLAN ID标识VLAN, 长度为12位,所以取值范围为[0,212-1],即 [0,4095]。 VLAN ID在标准IEEE 802.1Q中常常用到。在VID可能的取 值范围[0,4095]中, VID=0 用于识别帧优先级,4095(转换为十六进制 为FFF) 作为预留值,所以VLAN 号的最大可能值为4094,最多可以配 置4094个不同VLAN, 其编号范围是[1,4094]。
相关文章:
交换机基础(二):VLAN 基础知识
一、VLAN 基础知识 虚拟局域网 (Virtual Local Area Network,VLAN) 是一种将局域网设 备从逻辑上划分成一个个网段,从而实现虚拟工作组的数据交换技术。 这一技术主要应用于3层交换机和路由器中,但主流应用还是在3层交换机中。 VLAN 是基于物理网络上构建…...
一个基于Vue3搭建的低代码数据可视化开发平台
JNPF是一个Vue3搭建的低代码数据可视化开发平台,将图表或页面元素封装为基础组件,无需编写代码即可完成业务需求。 在JNPF中,至少包含表单建模、流程设计、报表可视化、代码生成器、系统管理、前端UI等组件,这种情况下我们避免了重…...
经验风险最小化与结构风险最小化:优化机器学习模型的两种方法
随着大数据时代的到来,机器学习在各个领域中的应用越来越广泛。然而,在构建机器学习模型时,我们面临着两个主要的挑战:经验风险最小化和结构风险最小化。本文将深入探讨这两种方法,并分析它们在优化机器学习模型中的作…...
Java泛型中的问号是什么意思
通配符概念 因为 List 是泛型类,为了 表示各种泛型 List 的父类,可以使用类型通配符,类型通配符使用问号(?)表示,将一个问号当做类型元素传递个 List,可以表示为 List<?>,意思是 元素类型未知的 List…...

粤嵌实训医疗项目day02(Vue + SpringBoot)
目录 一、创建vue项目并运行 二、vue-cli中的路由使用 三、element-ui框架、实现页面布局以及vue-路由 四、前端登录页面 五、user登录后端接口完善【后端】 六、user登录前端-请求工具-请求发起【前端】 七、请求的跨域-访问策略 八、完善项目的页面布局、导航菜单以及…...

又是一年1024程序员日
程序员节是每年的10月24日,这是一个特殊的节日,旨在庆祝和表彰程序员们对科技和社会的贡献。作为技术领域的从业者,程序员们在现代社会中扮演着重要的角色,他们致力于编写、测试和维护软件代码,为我们的生活带来了无数…...

acme.sh签发和部署ZeroSSL泛域名证书
大家好,我叫徐锦桐,个人博客地址为www.xujintong.com。平时记录一下学习计算机过程中获取的知识,还有日常折腾的经验,欢迎大家访问。 介绍 acme.sh 是个开源的shell证书生成脚本,他可以自动生成Let’s Encrypt 的证书…...

Calibre拾遗:FDI (Foreign Database Interface)系统简介
Calibre是强大的GDS处理工具,包括查看,验证,分析等操作,操作由浅入深,除过手动编辑GDS的不是很灵活外,其他各种命令和操作策略,都是远(遥)远(遥)走…...

记一次渗透测试事件
一、漏洞发现 拿到登录的接口,丢到sqlmap里面跑一把,发现延时注入 进一步查询,发现是sa权限,直接os-shell whomai查询发现是管理员权限 os-shell执行命令太慢了,直接进行nc 反弹 执行base64 加密后的powershell命令&…...

AIGC笔记--基于DDPM实现图片生成
目录 1--扩散模型 2--训练过程 3--损失函数 4--生成过程 5--参考 1--扩散模型 完整代码:ljf69/DDPM 扩散模型包含两个过程,前向扩散过程和反向生成过程。 前向扩散过程对一张图像逐渐添加高斯噪声,直至图像变为随机噪声。 反向生成过程…...

三十七、【进阶】SQL的explain
1、explain 2、基础使用 在使用explain关键字时,只需要在所执行语句前加上explain即可 mysql> explain select * from stu where id3; ---------------------------------------------------------------------------------------------------------- | id | s…...
【Python】取火柴小游戏(巴什博弈)
火柴游戏:Python编程示例 当我们想要玩一个简单而有趣的游戏,同时又想锻炼自己的编程技能时,一个经典的选择就是火柴游戏。这个游戏的规则很简单:有一堆火柴,每次可以拿走1到6根,两名玩家轮流取火柴&#…...

030-第三代软件开发-密码输入框
第三代软件开发-密码输入框 文章目录 第三代软件开发-密码输入框项目介绍密码输入框总结一下 关键字: Qt、 Qml、 echoMode、 TextInput、 Image 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object Language…...

mysql读取文件
环境地址:phpMyAdmin LOAD DATA INFILE 任意文件读取漏洞 | VULNSPY 参考文章: mysql任意文件读取漏洞学习_BerL1n的博客-CSDN博客 从一道ctf题学习mysql任意文件读取漏洞 - 安全客,安全资讯平台 MYSQL 任意文件读取 小组CTF出题感想 - …...
CentOS(5)——rpm包和源码包区别
目录 一、简介 二、区别 ①包名称 ②概念 ③优缺点 ④安装位置的区别 ⑤安装位置不同带来的影响 ⑥卸载方式的不同 一、简介 最近在公司内网离线升级Git时,遇见两个概念,分别是使用rpm包安装git,另一个这是编译源码包安装git&#x…...
Golang 实现对配置文件加密
引言 在实际的应用中,配置文件通常包含了一些敏感的信息,如数据库密码、API密钥等。为了保护这些敏感信息不被恶意获取,我们可以对配置文件进行加密。本文将介绍如何使用Go语言实现对配置文件的加密。 场景 在这个场景中,我们将…...
MYSQL数字函数详解和实战(数字函数大全,内含示例)
MySQL提供了许多数字函数,用于对数字进行各种计算和处理。以下是一些常用的MySQL数字函数。 内容有点多,建议收藏以备后续用到查阅参考。 目录 一、SIGN 取数字的符号 二、ABS 取绝对值 三、COS 取余弦值 四、ACOS 取反余弦值 五、SIN 取正弦值 六…...

Linux系列讲解 —— VIM配置与美化
目录 1. Vim基本配置1.1 配置文件1.2 基本配置 2. 插件管理器Vundle2.1 下载Vundle2.2 在vimrc中添加Vundle的配置 3. Vundle的使用3.1 安装插件3.2 卸载插件 1. Vim基本配置 1.1 配置文件 vim的配置文件有两处,请根据实际情况选择修改哪个。 (1) 全局配置文件&am…...
FreeSWITCH 使用指北(2)-多段音频顺序播放的设置
文章目录 1. 多段音频顺序播放的设置 1. 多段音频顺序播放的设置 在 FreeSWITCH 中涉及到放音的 APP 有不少,比较典型的是播放录音文件的 playback 和 play_and_detect_speech 。这两个 APP 播放录音的功能都依赖于 switch_ivr_play_say.c#switch_ivr_play_file() …...
使用python爬虫语言调用有道翻译实现英中互译(2023实现)
使用python爬虫语言调用有道翻译实现英中互译(2023实现) 作者: 安静到无声 作者简介:人工智能和硬件设计博士生、CSDN与阿里云开发者博客专家,多项比赛获奖者,发表SCI论文多篇。 Thanks♪(・ω・)ノ 如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...