GVRP协议与动态、静态vlan

embedded/2024/9/23 14:25:32/

在这里插入图片描述

一、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协议结束,不足之处敬请批评指正。


http://www.ppmy.cn/embedded/5811.html

相关文章

MySQL事务

📟作者主页:慢热的陕西人 🌴专栏链接:MySQL 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 本博客主要内容介绍了MySQL中事务的概念,也是MySQL中非常重…

nodejs npm 常用的命令

大家好,我是资深前端之路,以下是自己对npm命令的回顾梳理。喜欢的朋友记得点赞关注收藏哟! npm npm init :生成package.json文件。 npm -v:查看npm版本号。 npm i:下载对应的文件包。npm i 下载包名版本号,可以下载制定的版本…

政安晨:【深度学习神经网络基础】(十)—— 反向传播网络中计算输出节点增量与计算剩余节点增量

目录 简述 二次误差函数 交叉熵误差函数 计算剩余节点增量 政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: 政安晨的机器学习笔记 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正&#xf…

万界星空科技机器人组装行业MES系统

一、为什么选择万界星空科技? 万界星空科技作为一家在云MES系统的研发、生产自动化方面拥有很多年行业经验的科技型企业,多年来专注于云MES系统的研发与技术支持服务,目前已成为国内知名的智能制造整体解决方案提供商。 公司凝聚了一支经验…

如何配置 Nginx 作为 Jenkins 的反向代理并启用 SSL 加密

简介 默认情况下,Jenkins 自带内置的 Web 服务器,监听在 8080 端口上。这对于运行私有 Jenkins 实例或者只是需要快速启动而不关心安全性的用户来说很方便。但是一旦您的主机上有真实的生产数据,使用更安全的 Web 服务器(如 Ngin…

Android Studio XML 预览View 底部移动到右边

以前 XML 的预览都是在右边的,最近不知道为什么突然到下面去了,很不习惯 找半天想把 预览view 移动到右边,一直没找到按钮。 误打误撞移回来了,原来只要再点击一次 split,就可以变动位置了,记录一下。

【SpringBoot】Spring Boot 项目中整合 MyBatis 和 PageHelper

目录 前言 步骤 1: 添加依赖 步骤 2: 配置数据源和 MyBatis 步骤 3: 配置 PageHelper 步骤 4: 使用 PageHelper 进行分页查询 IDEA指定端口启动 总结 前言 Spring Boot 与 MyBatis 的整合是 Java 开发中常见的需求,特别是在使用分页插件如 P…

结构体输出字符串末尾有奇怪字符

今天打开之前的陈年老题,发现一个思路全对,但是答案错误的简单结构体的题,发现这个字符串输出末尾有奇怪字符,后来经过一番搜索发现,是因为给字符串定义的时候分配的空间不够,所以多分配一些就好啦 修改后&…