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

相关推荐
C-cat.15 分钟前
Linux|环境变量
linux·运维·服务器
yunfanleo29 分钟前
docker run m3e 配置网络,自动重启,GPU等 配置渠道要点
linux·运维·docker
hakesashou36 分钟前
Python中常用的函数介绍
java·网络·python
C++忠实粉丝1 小时前
计算机网络socket编程(4)_TCP socket API 详解
网络·数据结构·c++·网络协议·tcp/ip·计算机网络·算法
九州ip动态1 小时前
做网络推广及游戏注册为什么要换IP
网络·tcp/ip·游戏
Estar.Lee1 小时前
时间操作[取当前北京时间]免费API接口教程
android·网络·后端·网络协议·tcp/ip
蝶开三月1 小时前
php:使用socket函数创建WebSocket服务
网络·websocket·网络协议·php·socket
G丶AEOM1 小时前
SSL/TLS,SSL,TLS分别是什么
网络·网络协议·网络安全
烦躁的大鼻嘎1 小时前
【Linux】深入理解GCC/G++编译流程及库文件管理
linux·运维·服务器
乐大师1 小时前
Deepin登录后提示“解锁登陆密钥环里的密码不匹配”
运维·服务器