super_vlan
Super VLAN产生的背景
就经典的酒店例子来说,若是将101房和102房的网络划分在同一个vlan下面,那么101房出现了一个懂得某些安全技术的大佬,就会使得102房的隐私得到严重的隐患
所以这时我们就需要将二层给隔离开,但又要去保证101房和102房之间的基本通信,所以我们就需要使得101房和102房之间二层隔离,而三层互通
方法1:将101房划分一个vlan并分配一个IP地址段,在102房划分另一个vlan并分配另一个IP地址段,这样也能使得两房之间的网络互通,但是一旦酒店规模增大,vlan的id还好说,但就会显得非常地浪费IP地址
方法2:为了解决方法1中浪费IP地址的问题,我们可以使用super vlan技术来解决,如给101房在物理层面上分配一个sub vlan 10,给102房在物理层面上分配一个sub vlan 20 ,而对于sub vlan 10/20,逻辑层面上,它们都属于super vlan 2。即可达到这些sub vlan都属于同一个子网和网关,而又二层隔离,节约IP地址段的目的
super vlan概述
通过上面对super vlan的基本应用介绍,我们大致了解了super vlan和sub vlan的用途是怎么样的,但还是对super vlan怎么建,用什么建等理论问题有所欠缺
super vlan:用于创建SVI接口,但不包含物理接口
sub vlan:只包含物理接口,没有SVI接口
只是将sub vlan创建出来是没有办法让sub vlan之间的主机通信的,要想是sub vlan之间通信,则需要通过super vlan上开启ARP代理
相同sub vlan的通信
相同sub vlan通信的时候,由于PC3发出的ARP报文中携带vlan 10 的标签,这个vlan 10的标签被交换机看到之后,会将ARP报文泛洪到所有被绑定为vlan 10的端口
当PC4收到ARP报文后,会进行一个应答包的发送,以同样的方式发送给PC3
不同sub vlan的通信
这里super vlan已经开启了ARP代理功能,而在整个转发的过程中,PC是并没有跨二层的概念的,虽然说两者通信的方式都是通过交换机SW1的MAC地址,但是对于PC3和PC4而言,它们两个一直是在一个广播域内的
为什么要开启ARP代理
对于PC而言,根本没有VLAN的概念,PC3和PC4会认为自己和对方都处在同一个广播域,所以当发生PC3访问PC4的时候,PC3会直接发ARP包给SW,让SW去给PC4
但在没有开启ARP代理之前,SW去不会去给ARP包给PC4的,因为只是PC上没有VLAN的概念,一旦到了交换机上,就有VLAN的概念,交换机发现没有和PC3处于同一个VLAN物理接口,就不会在进行ARP包的转发
开启ARP代理之后,super vlan就会向所有的sub vlan发送ARP包,即一个为广播形式的ARP包,但前提是super vlan需要到达目的网段,才能进行数据的发送
交换机发送完广播形式的ARP包后,就可以寻找到PC4,PC4收到这个ARP包后,将会发送一个应答包
交换机收到应答之后,在交换机SW上会产生一个MAC地址汇总表,存储了所有PC的MAC地址的汇总表,如果下次有访问的请求,就可以直接根据该表进行转发
随后由交换机在发送PC3自己的MAC地址,而PC3和PC4学到的MAC地址实际上都是交换机的,只不过在PC的眼中没有VLAN的概念
所以PC3和PC4都会认为这是对方的MAC地址,再次由PC3访问PC4的情况,就会将数据交给交换机SW,由交换机SW来根据MAC地址表处理后面的转发
sub vlan与其它普通vlan的二层通信
由于super vlan是不存在任何的成员接口的,即super vlan没有任何的物理接口,所以但SW1给SW2发送报文的时候,是不包含任何super vlan的信息的
换一句话说,对于除了sub vlan 来说,将没有任何人知道super vlan的任何信息
所以当数据sub vlan 10要去访问SW2下的vlan10时,由于SW2不知道super vlan 的存在,就只会将sub vlan 10看作普通的vlan 10
从而,我们得出结论,sub vlan 与普通vlan的通信方式与普通vlan 和普通vlan 的通信方式是一致的
sub vlan与其它的三层网络通信
刚刚已经说过了,除了sub vlan,在整个网络体系中,就没有其它人知道super vlan这个概念了
所以若是sub vlan与其它的三层网络进行通信,也是走普通的IP网络转发
super vlan的配置
既然是高级的vlan,那么基础也是从vlan开始,所以第一步,我们要做的应该是创建vlan
SW(config)#vlan range 10,20,30,2
告诉vlan2,它是super vlan,并关联它的sub vlan为10,20,30
SW(config)#vlan 2
SW(config-vlan)#SW(config)#vlan 2
SW(config-vlan)#subvlan 10,20,30
创建SVI接口,这一步也是为sub vlan们配置网关
SW(config)#int vlan 2
SW(config-if-VLAN 2)#ip add 192.168.1.2 24
给sub vlan定义地址范围,这一步是可选的,当存在DHCP服务器的时候,这一步就是非必要的
重点:因为如果dhcp分配的给vlan 10中其中一台主机的地址为192.168.1.120,而我们却定义vlan 10 的地址段为192.168.1.10~192.168.1.40
这样会造成DHCP分配地址成功,但是该主机不能与外界通信的后果
SW(config)#vlan 10
SW(config-vlan)#subvlan-address-range 192.168.1.10 192.168.1.50
SW(config-vlan)#ex
SW(config)#vlan 20
SW(config-vlan)#subvlan-address-range 192.168.1.60 192.168.1.100
SW(config-vlan)#ex
SW(config)#vlan 30
SW(config-vlan)#subvlan-address-range 192.168.1.110 192.168.1.160
SW(config-vlan)#ex
将vlan划入到对应的接口
SW(config)#int g0/0
SW(config-if-GigabitEthernet 0/0)#switchport mode access
SW(config-if-GigabitEthernet 0/0)#switchport access vlan 10
SW(config-if-GigabitEthernet 0/0)#int g0/1
SW(config-if-GigabitEthernet 0/1)#switchport mode access
SW(config-if-GigabitEthernet 0/1)#switchport access vlan 20
SW(config-if-GigabitEthernet 0/1)#int g0/2
SW(config-if-GigabitEthernet 0/2)#switchport mode access
SW(config-if-GigabitEthernet 0/2)#switchport access vlan 30
SW(config-if-GigabitEthernet 0/2)#ex
super vlan 的限制
super vlan虽然解决了IP地址浪费的问题,但是还是存在着不少的缺陷的
1、super vlan往下后,没有成员接口,只有sub vlan,换句话说super vlan不属于任何一个物理接口,只有sub vlan才有物理接口,如果super vlan绑定到接口下,将会出现如下的报错
2、super vlan不能作为其它super vlan的sub vlan,即在super vlan中是没有层级概念的
3、vlan1不能属于super vlan,因为在默认情况下,每个物理接口下都打上了vlan 1的标签,又因为super vlan不可能被绑定到物理接口下,所以vlan 1就更不可能成为super vlan了
4、在sub vlan上不能配置IP地址,sub vlan 没有路由口,即无SVI接口
5、一个sub vlan只能属于一个super vlan,我们可以将super vlan看作sub vlan下联成员的网关,而一个设备不能存在两个网关,自然不能存在属于两个super vlan
6、sub vlan的删除不能直接使用no vlan命令来删除,需要先将sub vlan转换成普通的vlan才能正常地删除
7、基于super vlan所在设备的接口ACL和QOS,对于sub vlan来说是无效的
super vlan实验
目的1:PC3和PC4都为一个sub vlan,PC5为另一个sub vlan,PC6不为sub vlan,但是处于vlan 10下
基础IP配置
PC3上,192.168.1.30
VPCS> ip 192.168.1.30 255.255.255.0 192.168.1.2
PC4上,192.168.1.40
VPCS> ip 192.168.1.40 255.255.255.0 192.168.1.2
PC5上,192.168.1.50
VPCS> ip 192.168.1.50 255.255.255.0 192.168.1.2
PC6上,192.168.1.60
VPCS> ip 192.168.1.60 255.255.255.0 192.168.1.2
配置SW1和SW2上的接口类型为trunk,并且允许所有vlan通过
SW1上
SW1(config)#int g0/3
SW1(config-if-GigabitEthernet 0/3)#switchport mode trunk
SW1(config-if-GigabitEthernet 0/3)#switchport trunk allowed vlan all
SW2上
SW2(config)#int g0/1
SW2(config-if-GigabitEthernet 0/1)#switchport mode trunk
SW2(config-if-GigabitEthernet 0/1)#switchport trunk allowed vlan all
配置super vlan
在SW1上创建所需要的vlan
SW1(config)#vlan range 10,20,2
SW1(config-vlan-range)#ex
在SW1上配置super vlan,并划分sub vlan
SW1(config)#vlan 2
SW1(config-vlan)#supervlan
SW1(config-vlan)#subvlan 10,20
SW1(config-vlan)#ex
为sub vlan划分物理接口
SW1(config)#int g0/0
SW1(config-if-GigabitEthernet 0/0)#switchport mode access
SW1(config-if-GigabitEthernet 0/0)#switchport access vlan 10
SW1(config-if-GigabitEthernet 0/0)#int g0/1
SW1(config-if-GigabitEthernet 0/1)#switchport mode access
SW1(config-if-GigabitEthernet 0/1)#switchport access vlan 10
SW1(config-if-GigabitEthernet 0/1)#int g0/2
SW1(config-if-GigabitEthernet 0/2)#switchport mode access
SW1(config-if-GigabitEthernet 0/2)#switchport access vlan 20
SW1(config-if-GigabitEthernet 0/2)#ex
在我们没有配置SVI,即没有开启ARP代理之前,由于PC3和PC4都是处于sub vlan10,所以PC3与PC4是互通的,而PC5却是处于sub vlan 20下,所以此时PC3/PC4去pingPC5是ping不通的
现在在SW1上将SVI配上,会默认自动开启ARP代理,此时PC3/PC4应该是能ping通PC5的
SW1(config)#int vlan 2
SW1(config-if-VLAN 2)#ip add 192.168.1.2 24
SW1(config-if-VLAN 2)#ex
PC3ping通PC5图片
此时若是手动将ARP代理给关掉,则会返回刚刚PC3/PC4去pingPC5是ping不通的现象
SW1(config)#vlan 2
SW1(config-vlan)#no proxy-arp
PC3再次ping不通PC5图片,如果出现ping的现象,那说明刚刚SW1发个PC3的MAC地址缓存还存在
目标2:验证sub vlan 10与普通vlan 10之间的通信是三层还是二层
现在我们已经将ARP代理手动关闭了,如果由处于sub vlan 10的PC3去ping处于普通vlan 10 的PC6能ping通的话,那么就说明sub vlan 10与普通vlan 10之间的通信走的是二层,因为开启ARP代理才能代表走三层
在SW2上创建vlan 10并为vlan 10划分物理接口
SW2(config)#vlan 10
SW2(config-vlan)#ex
sub vlan 10的PC3去ping处于普通vlan 10 的PC6能ping通图片如下,说明sub vlan 10与普通vlan 10之间的通信是走三层的
相关文章:

super_vlan
Super VLAN产生的背景 就经典的酒店例子来说,若是将101房和102房的网络划分在同一个vlan下面,那么101房出现了一个懂得某些安全技术的大佬,就会使得102房的隐私得到严重的隐患 所以这时我们就需要将二层给隔离开,但又要去保证10…...

前端CSS3学习
学习菜鸟教程 火狐-moz- 谷歌 Safari -webkit- 前面都加这个,可能才生效 边框 border: 1px solid #ddd 粗细 样式 样色 经常和border-radius 一块用 border-radius: 50px 20px 第一个左右 第二个右左 border-top-left-radius … box-shadow: 10px 5px 10px 0 #88…...

HTML——58.value和placeholder
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>value和placeholder属性</title></head><body><!--input元素的type属性:(必须要有)1.指定输入内容的类型2.默认为text,单行文本框-->&l…...

STM32单片机芯片与内部57 SPI 数据手册 寄存器
目录 一、SPI寄存器 1、SPI控制寄存器 1(SPI_CR1)(I2S模式下不使用) 2、SPI控制寄存器 2(SPI_CR2) 3、SPI 状态寄存器(SPI_SR) 4、SPI 数据寄存器(SPI_DR) 5、SPI CRC多项式寄存器(SPI_CRCPR)(I2S模式下不使用) 6、SPI Rx CRC寄存器(SPI_RXCRCR)(I2S模式下不…...
前端异常处理合集
文章目录 前言:思考:一、为什么要处理异常?二、需要处理哪些异常? js 代码处理基本的try...catch语句 Promise 异常Promise 错误处理async/await 全局处理错误捕获window.onerrorwindow.onunhandledrejectionwindow.addEventListe…...
求职:求职者在现场面试中应该注意哪些问题?
求职者在现场面试中需要注意诸多方面的问题 面试前的准备 了解公司信息: 提前通过公司官网、社交媒体账号、新闻报道等渠道,熟悉公司的发展历程、业务范围、企业文化、主要产品或服务等内容。例如,如果是应聘一家互联网科技公司,…...

第2章波动光学引论—抓本质,本质必定简单
1波动光学的电磁理论 1.1波动方程 1)波动方程是通过描述波函数随时间和空间的变化来表达波动的传播和演化。 2)一维波动方程: a.一维波动方程描述了沿着一条直线传播的波动。它的一般形式为: ∂u/∂t v ∂u/∂x 其中ÿ…...

分类模型评估利器-混淆矩阵
相关文章 地理时空动态模拟工具介绍(上) 地理时空动态模拟工具介绍(下)地理时空动态模拟工具的使用方法 前言 混淆矩阵(Confusion Matrix)是机器学习领域中用于评估分类模型性能的一种工具。它通过矩阵的…...

算法题(23):只出现一次的数字
初级: 审题: 需要输出只出现了一次的数据,其他数据均出现了两次 思路: 若不限制空间复杂度: 方法一:哈希表 用哈希映射循环一次,把对应数字出现的次数记录到数组里面,然后再遍历一次…...
@RestController与@Controller区别
区别1: RestController是Controller的升级版 区别2: RestController用于标识一个类作为控制器,并且可以处理HTTP请求。控制器类通常用于接收用户输入并决定返回响应的内容。 RestController通常用于返回JSON或XML数据 区别3:…...
使用ExecutorService和@Async来使用多线程
文章目录 使用ExecutorService和Async来使用多线程采用ExecutorService来使用多线程多线程过程的详细解释注意事项优点 使用Async来使用多线程对比Async和ExecutorService的多线程使用方式使用 ExecutorService 的服务类使用 Async 的服务类异步任务类自定义线程池主应用类解释…...

计算机网络 (19)扩展的以太网
前言 以太网(Ethernet)是一种局域网(LAN)技术,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网技术不断演进,从最初的10Mbps到如今的10Gbps、25Gbps、40Gbps、100Gbps等,已成…...
构造器/构造方法
1. 构造器 1.1 概述 先浏览下面简单代码; class Cons{ // 属性int age;String name; // 方法public void show(){System.out.println("age"age);} } class ConsTest{public static void main(String[] args) {Cons c new Cons();// Cons() 就是…...
异常
目录 1. 异常的概念及使用 1.1 异常的概念 1.2 异常的抛出和捕获 1.3 栈展开 1.4 查找匹配的处理代码 1.5 异常的重新抛出 1.6 异常安全问题 1.7 异常规范 2. 标准库的异常 1. 异常的概念及使用 1.1 异常的概念 异常处理机制允许程序中独⽴开发的部分能够在运⾏时就…...

MySQL中distinct和group by去重的区别
MySQL中distinct和group by去重的区别 在MySQL中,我们经常需要对查询结果进行去重,而DISTINCT和GROUP BY是实现这一功能的两种常见方法。虽然它们在很多情况下可以互换使用,但它们之间还是存在一些差异的。接下来,我们将通过创建测…...
Qt判别不同平台操作系统调用相应动态库读取RFID
本示例使用的读卡器:https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.52de2c1b8jdyXi&ftt&id562957272162 #include <QDebug> #include "mainwindow.h" #include "./ui_mainwindow.h" #include "QLibrary"…...

vue2+echarts实现水球+外层动效
实现效果 安装echarts-liquidfill 需要安装echarts-liquidfill!!!需要安装echarts-liquidfill!!!需要安装echarts-liquidfill!!! 安装命令 npm install echarts-liqui…...

C++ 基础思维导图(一)
目录 1、C基础 IO流 namespace 引用、const inline、函数参数 重载 2、类和对象 类举例 3、 内存管理 new/delete 对象内存分布 内存泄漏 4、继承 继承权限 继承中的构造与析构 菱形继承 1、C基础 IO流 #include <iostream> #include <iomanip> //…...
【gopher的java学习笔记】依赖管理方式对比(go mod maven)
什么是go mod go mod是Go语言官方引入的模块管理工具,旨在简化项目依赖管理,提高构建的可重复性和稳定性。以下是关于go mod的详细介绍: 在go mod之前,Go语言主要依赖GOPATH和vendor目录来管理项目依赖。然而,这种方式…...

CTFshow—远程命令执行
29-35 Web29 代码利用正则匹配过滤了flag,后面加了/i所以不区分大小写。 可以利用通配符绕过 匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file * ? 匹配任何一个字符(不…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...

tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例
目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码:冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...
Python爬虫实战:研究Restkit库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的有价值数据。如何高效地采集这些数据并将其应用于实际业务中,成为了许多企业和开发者关注的焦点。网络爬虫技术作为一种自动化的数据采集工具,可以帮助我们从网页中提取所需的信息。而 RESTful API …...