GVRP协议与动态、静态vlan
一、GVRP协议使用场景
1、当实际组网复杂到网络管理员无法短时间内了解网络的拓扑结构,或者是整个网络的VLAN太多时,工作量会非常大,而且非常容易配置错误。在这种情况下,用户可以通过GVRP的VLAN自动注册功能完成VLAN的配置。
2、GVRP特性使得不同设备上的VLAN信息可以由协议动态维护和更新,用户只需要对少数设备进行VLAN配置即可应用到整个交换网络,无需耗费大量时间进行拓扑分析和配置管理。
3、主干结构使用的是华为系列智能网管型交换机时。
4、网络覆盖范围较大时,不建议使用GVRP协议。当需要GARP动态注册的VLAN数量较多或网络半径较大时,使用缺省定时器值可能会导致VLAN震荡、设备CPU占用率偏高。
二、GVRP协议简介
(一)GVRP协议的三类消息
GVRP协议应用实体之间的信息交换借助于消息的传递来完成,主要有三类消息起作用,分别为Join消息、Leave消息和Leave All消息。
1、Join消息:当一个GARP应用实体希望其它设备注册自己的属性信息时,它将对外发送Join消息;当收到其它实体的Join消息或本设备静态配置了某些属性,需要其它GARP应用实体进行注册时,它也会向外发送Join消息。
Join消息分为Join Empty和Join In两种,区别如下:
(1)Join Empty:声明一个本身没有注册的属性。
(2)Join In:声明一个本身已经注册的属性。
2、Leave消息:当一个GARP应用实体希望其它设备注销自己的属性信息时,它将对外发送Leave消息;当收到其它实体的Leave消息注销某些属性或静态注销了某些属性后,它也会向外发送Leave消息。
Leave消息分为Leave Empty和Leave In两种,区别如下:
(1)Leave Empty:注销一个本身没有注册的属性。
(2)Leave In:注销一个本身已经注册的属性。
3、Leave All消息:每个应用实体启动后,将同时启动Leave All定时器,当该定时器超时后应用实体将对外发送Leave All消息。
Leave All消息用来注销所有的属性,以使其它应用实体重新注册本实体上所有的属性信息,以此来周期性地清除网络中的垃圾属性(例如某个属性已经被删除,但由于设备突然断电,并没有发送Leave消息来通知其他实体注销此属性)。
每个GARP应用实体启动后,将同时启动Leave All定时器,当该定时器超时后GARP应用实体将对外发送Leave All消息,随后再启动Leave All定时器,开始新的一轮循环。
(二)GVRP协议的注册模式:
手工配置的VLAN称为静态VLAN,通过GVRP协议创建的VLAN称为动态VLAN。GVRP有三种注册模式,不同的模式对静态VLAN和动态VLAN的处理方式也不同。GVRP的三种注册模式分别定义如下:
1、Normal模式:允许动态VLAN在端口上进行注册,同时会发送静态VLAN和动态VLAN的声明消息。
2、Fixed模式:不允许动态VLAN在端口上注册,只发送静态VLAN的声明消息。
3、Forbidden模式:不允许动态VLAN在端口上进行注册,同时删除端口上除VLAN1外的所有VLAN,只发送VLAN1的声明消息。
(三)VLAN的注册和注销
1、GVRP协议可以实现VLAN属性的自动注册和注销:
(1)VLAN的注册:指的是将端口加入VLAN。
(2)VLAN的注销:指的是将端口退出VLAN。
2、GVRP协议通过声明和回收声明实现VLAN属性的注册和注销。
(1)当端口接收到一个VLAN属性声明时,该端口将注册该声明中包含的VLAN信息(端口加入VLAN)。
(2)当端口接收到一个VLAN属性的回收声明时,该端口将注销该声明中包含的VLAN信息(端口退出VLAN)。
3、说明:GVRP协议的属性注册和注销仅仅是对于接收到GVRP协议报文的端口而言的。
三、拓扑图:
四、配置过程:
配置命令理解参考:
https://blog.csdn.net/weixin_43075093/article/details/130466915
https://blog.csdn.net/weixin_43075093/article/details/130662938
https://blog.csdn.net/weixin_43075093/article/details/130893922
(一)LSW1:
System-view
sysname LSW1
Gvrp
vlan batch 10 20
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
gvrp
interface Ethernet0/0/1
interface Ethernet0/0/2
port link-type access
port default vlan 10
interface Ethernet0/0/3
port link-type access
port default vlan 20
(二)LSW2:
System-view
sysname LSW2
Gvrp
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
gvrp
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 2 to 4094
gvrp
(三)LSW3:
System-view
sysname LSW3
gvrp
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
gvrp
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 2 to 4094
gvrp
interface GigabitEthernet0/0/3
port link-type trunk
port trunk allow-pass vlan 2 to 4094
gvrp
(四)LSW4:
System-view
sysname LSW4
gvrp
vlan batch 30 40
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
gvrp
gvrp registration fixed
interface Ethernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
gvrp
interface Ethernet0/0/2
port link-type access
port default vlan 30
interface Ethernet0/0/3
port link-type access
port default vlan 40
(五)LSW5:
System-view
sysname LSW5
gvrp
vlan batch 50
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
gvrp
gvrp registration forbidden
interface Ethernet0/0/1
port link-type access
port default vlan 50
五、结果验证:
(一)在不同的交换机上查看GVRP协议的工作模式和vlan运行状态
1、在LSW1上查看动态与静态vlan:
相对LSW1来说,vlan30和vlan40是动态的;vlan10和van20是自己创建的静态vlan。vlan50被forbidden模式抑制。如下图:
2、在LSW2上查看动态与静态vlan:
相对LSW2来说,van10、20、30、40都是动态vlan,在LSW2上的2个接口运行的GVRP协议都是normal模式。LSW4的接口运行的Fixed模式:不允许动态VLAN在端口上注册,只发送静态VLAN的声明消息,所以vlan30、40能声明后由LSW3和LSW2接收到。vlan 50仍然是被forbidden模式抑制。
3、在LSW3上查看动态与静态vlan:
相对LSW3来说,3个接口都开启了GVRP的normal模式,所以也能收到vlan1、 10、20、30、40的声明,能透传这几个vlan的数据。其中vlan10、20、30、40都不是在本地创建的静态vlan,所以都是dynamic动态vlan。
4、在LSW4上查看动态与静态vlan:
由于LSW4的G0/0/1接口开启GVRP协议时使用的是fixed模式,所以只声明自己创建的静态vlan30、40,不能传递LSW1创建的vlan10、20。相对LSW4来说,LSW1创建的vlan 10、20,在自己看来属于动态vlan,所以不声明,不透传。Vlan 50仍被LSW5的forbidden模式抑制,该模式只传递vlan1。
5、在LSW5上查看动态与静态vlan:
由于LSW5的上行接口G0/0/1开启的是GVRP协议的forbidden模式,该模式只传递vlan1的声明,所以LSW5只转发vlan1和自己创建的vlan50的数据,且vlan50的数据只在本交换机内转发。
(二)抓包查看不同的消息状态
1、join empty消息:声明一个本身没有注册的属性。
2、join in消息:声明一个本身已经注册的属性。
3、Leave Empty:注销一个本身没有注册的属性消息。当一个GARP应用实体希望其它设备注销自己的属性信息时,它将对外发送Leave消息;当收到其它实体的Leave消息注销某些属性或静态注销了某些属性后,它也会向外发送Leave消息。
4、Leave in消息:注销一个本身已经注册的属性。
(1)拓扑图中,LSW1与LSW3上都创建了静态vlan10时,在LSW2上查看vlan如下图:
两端(LSW1、LSW3)都会声明动态vlan10给LSW2,如上图。
(2)在LSW1上断开G0/0/1端口
(3)在LSW2的G0/0/1接口抓包可看到leave in消息,如下图:
5、Leave All消息:每个应用实体启动后,将同时启动Leave All定时器,当该定时器超时后应用实体将对外发送Leave All消息。
至此,本文运用的GVRP协议结束,不足之处敬请批评指正。
相关文章:

GVRP协议与动态、静态vlan
一、GVRP协议使用场景 1、当实际组网复杂到网络管理员无法短时间内了解网络的拓扑结构,或者是整个网络的VLAN太多时,工作量会非常大,而且非常容易配置错误。在这种情况下,用户可以通过GVRP的VLAN自动注册功能完成VLAN的配置。 2、…...
shell脚本启动jar包
1、启动脚本的命令start.sh # 设置jar包名称 JAR_NAME"ruoyi-admin.jar" # 使用pgrep查找jar包名称的进程,如果存在,返回0(表示找到了进程) if pgrep -f "$JAR_NAME" >/dev/null thenecho "Jar进程已…...
qt 元对象系统及属性系统
Qt元对象系统(QMetaObject) Qt 的元对象系统叫 Meta-Object-System,提供了对象之间通信的信号与槽机制、运行时类型信息和动态属性系统。即使编译器不支持RTTI(RTTI的实现耗费了很大的时间和存储空间,这就会降低程序的性能)&…...

2024年MathorCup数学建模A题移动通信网络中PCI规划问题解题文档与程序
2024年第十四届MathorCup高校数学建模挑战赛 A题 移动通信网络中PCI规划问题 原题再现: 物理小区识别码(PCI)规划是移动通信网络中下行链路层上,对各覆盖小区编号进行合理配置,以避免 PCI 冲突、PCI 混淆以及 PCI 模3 千扰等现象。PCI 规划…...

Learn something about front end——颜色
好装的标题啊哈哈哈哈哈哈 最近get了一个学习前端的网站叫FreeCodeCamp 原色:rgb三个值的其中一个值拉满,比如说rgb(255,0,0)是红色这样,三个主色: 红色 rgb(255, 0, 0) #FF0000绿色 rgb(0, 255, 0) #00FF00蓝色 rgb(0, 0, …...

各大厂都推出鸿蒙APP了,你就一定要学习一下鸿蒙APP测试了!
2023年8月,华为推出鸿蒙4.0,由于其广泛的用户基础和品牌传播力,在短短几个月的时间,使用鸿蒙4.0系统的设备就达到千万级别,并且在9月份发售Mate 6之后,还在装机量的增长更加迅猛。 基于此,11月…...

ppt里的音乐哪里来的?
心血来潮,想照着大神的模板套一个类似于快闪的ppt。 ppt里是有一段音乐的,那段音乐就是从幻灯片第二页开始响起的。 但是我就找不到音乐在哪。 甚至我把ppt里的所有素材都删除了,再看动画窗格,仍然是空无一物,显然&…...
【算法】标签算法及其运作流程
标签算法 1. 标签算法及其运作流程2. 标签算法主要有哪些?3.用python语言举例实现聚类 1. 标签算法及其运作流程 标签算法是一种用于自动为数据或文本内容添加标签或分类的算法。这些标签可以帮助组织、检索和理解数据,是信息管理和数据挖掘中的重要工具…...

【数据结构】习题之链表的回文结构和相交链表
👑个人主页:啊Q闻 🎇收录专栏:《数据结构》 🎉前路漫漫亦灿灿 前言 今日的习题是关于链表的,分别是链表的回文结构和相交链表的判断。 链表的回文结构 题目为:链表的回文结…...

5个常见的前端手写功能:New、call apply bind、防抖和节流、instanceof、ajax
实现New 首先创建一个新的空对象设置原型,将对象的原型设置为函数的prototype对象让函数的this指向这个对象,执行构造函数的代码判断函数的返回值类型,如果是值类型,返回创建的对象。如果是引用类型,就返回这个引用类…...
WPF 跨线程-Dispatcher:详解与示例
在 WPF 应用程序中,UI 线程负责处理用户界面元素的所有操作,例如绘制、布局和事件处理。由于 WPF 控件是线程敏感的,只能在 UI 线程上访问它们。如果我们想在后台线程中执行 UI 操作,我们就需要使用 Dispatcher 来确保这些操作在正…...
[c++][netcdf]通过c\c++读取字段的scale_factor与add_offset
函数:c void readScaleAndOffset(const char* FileName,const char* VarName) {NcFile dataFile(FileName, NcFile::read);NcVar Varf dataFile.getVar(VarName);//查看维度cout << "XSizef" << Varf.getDim(0).getSize() << endl;co…...

技术速递|.NET 智能组件简介 – AI 驱动的 UI 控件
作者:Daniel Roth 排版:Alan Wang AI 的最新进展有望彻底改变我们与软件交互和使用软件的方式。然而,将 AI 功能集成到现有软件中可能面临一些挑战。因此,我们开发了新的 .NET 智能组件,这是一组真正有用的 AI 支持的 …...

保护C#代码的艺术:深入浅出代码混淆技术
摘要 在C#开发中,代码的保护是一个不可忽视的问题。本文深入探讨了几种常用的C#代码混淆工具,帮助开发者理解如何有效地保护代码不被反编译。同时,本文也对混淆技术的优缺点进行了分析,并提供了一些实际使用的建议。 引言 C#是…...
多线程CountDownLatch使用
1、简介 CountDownLatch是一个同步工具类,用来携调多个线程之间的同步,它是是使用一个计数器进行实现的,计数器初始值为线程数量。当每一个线程完成自己任务后,计数器的值就会减1。当计数器的值为0时,表示所有的线程都…...

高校心理教育辅导系统|基于Springboot的高校心理教育辅导系统设计与实现(源码+数据库+文档)
高校心理教育辅导系统目录 目录 基于Springboot的高校心理教育辅导系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、学生功能模块的实现 (1)学生登录界面 (2)留言反馈界面 (3)试卷列表界…...
Rockchip Android13 Vold(三):App层
目录 前言 一:处理Volumes 1、接收StorageVolume 2、创建MediaVolume 3、附加MediaVolume...

数据结构——单链表(C语言版)
文章目录 一、链表的概念及结构二、单链表的实现SList.h链表的打印申请新的结点链表的尾插链表的头插链表的尾删链表的头删链表的查找在指定位置之前插入数据在指定位置之后插入数据删除pos结点删除pos之后的结点销毁链表 三、完整源代码SList.hSList.ctest.c 一、链表的概念及…...

:app debug:armeabi-v7a failed to configure C/C++
报错信息 由于刚换电脑不久,新建native c工程时,出现报错如下: :app debug:armeabi-v7a failed to configure C/C null java.lang.NullPointerExceptionat com.android.build.gradle.tasks.CmakeQueryMetadataGenerator.getProcessBuilder(…...
计算机网络——应用层(4)DHCP和套接字编程
一、动态主机配置协议DHCP 1、关于协议配置: 在协议软件中,给协议参数赋值的动作就叫协议配置一个协议软件在使用前必须已被正确配置,具体的配置信息取决于协议栈连接到互联网的计算机的协议软件需要正确配置的参数包括①IP地址;…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...

c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...

华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...