网工学习7-配置 GVRP 协议
7.1GARP概述
GARP(Generic Attribute Registration Protocol)是通用属性注册协议的应用,提供 802.1Q 兼容的 VLAN 裁剪 VLAN pruning 功能和在 802.1Q 干线端口 trunk port 上建立动态 VLAN 的功能。
GARP 作为一个属性注册协议的载体,可以用来传播属性, 将 GARP 协议报文的内容映射成不同的属 性即可支持不同上层协议应用。
GVRP( GARP VLAN Registration Protocol)是 GARP 的一种应用,用于注册和注销 VLAN 属性。
GARP 协议通过目的 MAC 地址区分不同的应用。在 IEEE Std 802.1Q 中将 01-80-C2-00-00-21 分配 给 VLAN 应用,即 GVRP。
7.2 配置 GVRP 示例
7.2.1 组网需求
如图所示,公司 A、公司 A 的分公司以及公司 B 之间有较多的交换设备相连,需要通过 GVRP 功能,实现 VLAN 的动态注册。公司 A 的分公司与总部通过 SwitchA 和 SwitchB 互通;公司 B 通过 SwitchB 和 SwitchC 与公司 A 互通,但只允许公司 B 配置的 VLAN 通过。
7.2.2 配置思路
① 使能 GVRP 功能,实现 VLAN 的动态注册。
② 公司 A 的所有交换机配置 GVRP 功能并配置接口注册模式为 Normal, 以简化配置。
③ 公司 B 的所有交换机配置 GVRP 功能并将与公司 A 相连的接口的注册模式配置为 Fixed,以控制 只允许公司 B 配置的 VLAN 通过。
说明:
使能 GVRP 之前,必须先设置 VCMP 的角色为 Transparent 或 Silent。
7.2.3 配置步骤
配置交换机 SwitchA
//全局使能 GVRP 功能
[SwitchA]vcmp role silent //配置接口为 Trunk类型,并允许所有 VLAN 通过
[SwitchA]interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1]port link-type trunk
[SwitchA-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[SwitchA-GigabitEthernet0/0/1]quit
[SwitchA]interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2]port link-type trunk
[SwitchA-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[SwitchA-GigabitEthernet0/0/2]quit
//使能接口的 GVRP功能,并配置接口注册模式
[SwitchA]interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1]gvrp
[SwitchA-GigabitEthernet0/0/1]gvrp registration normal
[SwitchA-GigabitEthernet0/0/1]quit
[SwitchA]interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2]gvrp
[SwitchA-GigabitEthernet0/0/2]gvrp registration normal
[SwitchA-GigabitEthernet0/0/2]quit
② 配置交换机 SwitchB
//全局使能 GVRP 功能
[SwitchB]vcmp role silent
//配置接口为 Trunk类型,并允许所有 VLAN 通过
[SwitchB]interface gigabitethernet 0/0/1
[SwitchB-GigabitEthernet0/0/1]port link-type trunk
[SwitchB-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[SwitchB-GigabitEthernet0/0/1]quit
[SwitchB]interface gigabitethernet 0/0/2
[SwitchB-GigabitEthernet0/0/2]port link-type trunk
[SwitchB-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[SwitchB-GigabitEthernet0/0/2]quit
//使能接口的 GVRP功能,并配置接口注册模式
[SwitchB]interface gigabitethernet 0/0/1
[SwitchB-GigabitEthernet0/0/1]gvrp
[SwitchB-GigabitEthernet0/0/1]gvrp registration normal
[SwitchB-GigabitEthernet0/0/1]quit
[SwitchB]interface gigabitethernet 0/0/2
[SwitchB-GigabitEthernet0/0/2]gvrp
[SwitchB-GigabitEthernet0/0/2]gvrp registration normal
[SwitchB-GigabitEthernet0/0/2]quit
③ 配置交换机 SwitchC
//创建 VLAN101~VLAN200
<HUAWEI>system-view
[SwitchC]vlan batch 101 to 200
//全局使能 GVRP 功能
[SwitchC]vcmp role silent
[SwitchC]gvrp
//配置接口为 Trunk类型,并允许所有 VLAN 通过
[SwitchC]interface gigabitethernet 0/0/1
[SwitchC-GigabitEthernet0/0/1]port link-type trunk
[SwitchC-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[SwitchC-GigabitEthernet0/0/1]quit
[SwitchC]interface gigabitethernet 0/0/2
[SwitchC-GigabitEthernet0/0/2]port link-type trunk
[SwitchC-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[SwitchC-GigabitEthernet0/0/2]quit
//使能接口的 GVRP功能,并配置接口注册模式
[SwitchC]interface gigabitethernet 0/0/1
[SwitchC-GigabitEthernet0/0/1]gvrp
[SwitchC-GigabitEthernet0/0/1]gvrp registration fixed
[SwitchC-GigabitEthernet0/0/1]quit
[SwitchC]interface gigabitethernet 0/0/2
[SwitchC-GigabitEthernet0/0/2]gvrp
[SwitchC-GigabitEthernet0/0/2]gvrp registration normal
[SwitchC-GigabitEthernet0/0/2]quit
7.3验证配置结果
配置完成后,公司 A 的分公司用户可以与总部互通,公司 A 属于 VLAN101~VLAN200 的用户可 以与公司 B 用户互通。
在 SwitchA 上使用命令 display gvrp statistics, 查看接口的 GVRP 统计信息, 其中包括:
GVRP 状态、 GVRP 注册失败次数、上一个 GVRP 数据单元源 MAC 地址和接口 GVRP 注册类型, 结果如下:
相关文章:

网工学习7-配置 GVRP 协议
7.1GARP概述 GARP(Generic Attribute Registration Protocol)是通用属性注册协议的应用,提供 802.1Q 兼容的 VLAN 裁剪 VLAN pruning 功能和在 802.1Q 干线端口 trunk port 上建立动态 VLAN 的功能。 GARP 作为一个属性注册协议的载体,可以用来传播属性…...
python:格式化输出指定内容
python:格式化输出指定内容 当涉及到在Python中格式化输出指定内容时,有几种方法可以让您的输出更加清晰和易读。Python的f-string(格式化字符串)是一种简洁而强大的工具,可以帮助您以所需的格式输出数据。 首先&…...
【C语言】7-35 强迫症 分数 10
7-35 强迫症 分数 10 全屏浏览题目 切换布局 作者 陈越 单位 浙江大学 小强在统计一个小区里居民的出生年月,但是发现大家填写的生日格式不统一,例如有的人写 199808,有的人只写 9808。有强迫症的小强请你写个程序,把所有人的…...

如何快速了解一家公司?
在炒股过程中,我们想要了解一家公司是否具有投资价值,需要查看和阅读很多公司的相关资料。股民们自行去查询往往会花费很多的时间精力,所以专业的炒股软件一般都会给股民提供这些现成的资料。 在金斗云智投APP内,进入到个股详情页…...

ZPLPrinter Emulator SDK for .NET 6.0.23.1123 Crack
ZPLPrinter Emulator SDK for .NET 适用于 .NET 的 ZPLPrinter 仿真器 SDK 允许您通过编写 C# 或VB.NET 代码针对任何 .NET Framework、.NET CORE、旧版 ASP.NET MVC 和 CORE、Xamarin、Mono 和通用 Windows 平台 (UWP) 作业。 适用于 .NET 的 ZPLPrinter 仿真器 SDK 允许您将…...

查收查引(通过文献检索开具论文收录或引用的检索证明)
开具论文收录证明的 专业术语为 查收查引,是高校图书馆、情报机构或信息服务机构提供的一项有偿服务。 因检索需要一定的时间,提交委托时请预留足够的检索时间。 一般需要提供:论文题目、作者、期刊名称、发表年代、卷期、页码。 目录 一、查…...
Python一帮一
在当前尚未分组的学生中,将名次最靠前的学生与名次最靠后的异性学生分为一组。 输入格式: 输入第一行给出正偶数N(≤50),即全班学生的人数。此后N行,按照名次从高到低的顺序给出每个学生的性别࿰…...
学员追访 | “IC的标签并不是只有高薪与965”
大家好,我是08期的学员小D 。 很开心能在这里与大家分享我的学习、工作经历,我毕业于一所双非本科院校。现在已经入职五个月了,很满意目前的薪资水平和工作状态。 接下来我把我的学习经历和求职经验给大家做个分享,希望能够帮到…...

LeetCode(39)赎金信【哈希表】【简单】
目录 1.题目2.答案3.提交结果截图 链接: 赎金信 1.题目 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字…...
输入日期求n天后
题目要求:输入一个日期startdate年月日和days天数(>1),输出自该日期days天后的日期enddate。 要求输出和输出的年份为四位整数,输入时对输入数据的有效性进行检查;同时考虑跨月,跨年和闰年情…...

科技论文中的Assumption、Remark、Property、Lemma、Theorem、Proof含义
一、背景 学控制、数学、自动化专业的学生在阅读论文时,经常会看到Assumption、Remark、Property、Lemma、Theorem、Proof等单词,对于初学者可能不太清楚他们之间的区别,因此这里做一下详细的说明。 以机器人领域的论文为例。 论文题目&…...

逆向爬虫进阶实战:突破反爬虫机制,实现数据抓取
文章目录 一、引言二、逆向爬虫进阶技巧三、逆向爬虫进阶实战代码片段四、总结与展望好书推荐内容简介作者简介前言节选 一、引言 随着网络技术的发展,网站为了保护自己的数据和资源,纷纷采用了各种反爬虫机制。然而,逆向爬虫技术的出现&…...
个体民营诊所-如何打破传统发展瓶颈,增客流-提营收?
随着人们对传统医学和自然疗法的需求增加,开办针灸诊所可以满足社会公众对健康的需求,提供更多元化的医疗选择。 针灸作为一种传统的中医疗法,不仅可以帮助调理身体,还能帮助客户缓解疼痛,改善循环等。但针灸诊所&…...
Filament引擎分析--command抽象设备API
1. 前言 Filament中使用了FrameGraph来管理渲染管线,需要准备两点: 设备接口抽象:设备API抽象为Command资源抽象:使用虚拟资源,在实际用到时再创建,方便剔除无用资源 下面就围绕Filament中设备API抽象为…...
网络协议与响应码
http:超文本(不止文本)传输协议,底层是tcp/ip get,post,put,delete GET把参数包含在 URL 中, POST 通过 request body 传递参数 请求都是tcp链接,HTTP规定,当…...

彻底删除VsCode配置和安装过的插件与缓存
前言 当你准备对 Visual Studio Code(VSCode)进行重新安装时,可能遇到一个常见问题:重新安装后,新的安装似乎仍然保留了旧的配置信息,这可能会导致一些麻烦。这种情况通常是由于卸载不彻底所致,…...
【XILINX】ISE chipscope出现错误 Can‘t load jre bin client jvm.dll
记录一个ISE软件使用过程中遇到的问题及解决方案。 问题 ISE chipscope出现错误 Cant load jre bin client jvm.dll C:\Xilinx\14.7\ISE_DS\ISE\bin\nt C:\Xilinx\14.7\ISE_DS\.xinstall\bin\nt C:\Xilinx\14.7\ISE_DS\.xinstall\bin\nt64 C:\Xilinx\14.7\ISE_DS\ISE\bin\nt6…...

并发编程(已整理,已废弃)
这一块知识,那真是有的啃了。 直接先看速成基础,再直接吃掉高频考点。 每个小知识点,直接看短视频,浅浅了解,在写下来就是自己的资料。 # 基础 一个进程有多个线程,多个线程共享进程的堆和方法区…...

第一篇:MongoDB的安装、启动、关闭、链接shell
目录 简介 安装 安装遇到的问题 查看brew 当前使用的源: 更换brew 源。更换成清华大学镜像源 版本查看 MongoDB 数据目录与日志目录 启动方式一: 启动MongoDB 验证MongoDB 是否正常运行 停止或重新启动 停止MongoDB 服务 重新启动MongoDB服…...

Python爬虫之重放攻击详解
更多资料获取 📚 个人网站:ipengtao.com 重放攻击是一种网络攻击方式,攻击者通过截获合法用户的请求,并将其重新发送,以模拟合法用户的行为。在Python爬虫领域,了解重放攻击的原理和防范方法至关重要。本文…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...

vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...

MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...

如何在Windows本机安装Python并确保与Python.NET兼容
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...

yaml读取写入常见错误 (‘cannot represent an object‘, 117)
错误一:yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因,后面把yaml.safe_dump直接替换成yaml.dump,确实能保存,但出现乱码: 放弃yaml.dump,又切…...