HCNA Routing&Switching之GVRP
前文我们了解了不同vlan间路由相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15110336.html,今天我们来聊一聊vlan动态注册相关话题;
首先在说GVRP之前我们先来了解下GARP;GARP是Generic Attribute Registration Protocol的首字母缩写,通用属性注册协议;它是一种协议规范,主要作用是用来在交换机间分发、传播、注册某种信息(VLAN属性、组播地址等),主要用于大中型网络中,用来提升交换机的管理效率;而GVRP是GARP的一种具体实现,GARP VLAN Registration Protocol,VLAN注册协议;主要用于维护设备动态VLAN属性;通过GVRP协议,一台交换机的vlan会迅速传播至整个交换网络;GVRP实现了VLAN属性的动态分发,注册和传播,从而减少了管理员的工作量,也能保证VLAN配置的正确性;
技术背景
实验:如下拓扑,实现相同VLAN的pc互通

分析:上述实验拓扑要想实现pc1 和pc3 通讯,pc2和pc4通讯,我们只需要在sw1和sw2上创建vlan 10 和vlan 20,然后把对应的端口加入到对应的vlan里,然后把各交换机相互连接的端口设置为trunk即可;
sw1的配置

sys
sys sw1
vlan batch 10 20
int g0/0/1
p l a
p d v 10
int g0/0/3
p l a
p d v 20
int g0/0/2
p l t
p t a v 10 20

验证:查看sw1上的vlan信息

sw2的配置

sys
sys sw2
int g0/0/1
p l t
p t a v all
int g0/0/2
p l t
p t a v all

验证:查看sw2的端口vlan信息

提示:可以看到g0/0/1和g0/0/2两个接口都是trunk,并允许所有vlan通过;
sw3的配置

sys
sys sw3
vlan batch 10 20
int g0/0/1
p l a
p d v 10
int g0/0/3
p l a
p d v 20
int g0/0/2
p l t
p t a v 10 20

验证:查看sw3的vlan信息

验证:pc1 ping pc3或者pc2ping pc4看看是否能通?

提示:可以看到pc1现在ping不通pc3,同样pc2也ping不通pc4;
在sw2的g0/0/1口上抓包看看,看看对应pc1pingpc2的包是否过去了?

提示:可以看到pc1发送到arp广播到达了sw2,但是没有回复;
在sw2的g0/0/2口抓包,看看对应arp是否通过了g0/0/2?

提示:可以看到在sw2口g0/0/2口抓包,并没有抓到pc1发送到arp广播,这说明pc1发送的数据在sw2就被丢弃了;这是为什么呢?其实原因很简单,在pc1发送arp广播时,在sw1收到以后,它会被打伤vlan10的标签,然后从sw1的g0/0/2口发送出去,在sw2收到了sw1发送到带有vlan10的标签的数据包时,虽然sw2的trunk都允许所有vlan的数据包通过,但是sw2上并没有vlan10 和vlan20,所以sw2并没有任何一个端口是在vlan10 和vlan20 ,所以当sw2收到带有vlan10 或vlan20标签的数据,它根据就泛洪不出去(交换机泛洪是在同vlan端口下泛洪,默认都是vlan1);
解决上述问题的方式很简单,就是在sw2上面创建vlan10 或vlan20即可;
验证:在sw2上创建vlan10,看看pc1是否能够ping通pc3呢?

提示:可以看到当sw2上创建vlan10以后,对应g0/0/1和g0/0/2口会自动加入到这个vlan里(原因是trunk允许vlan列表里包含vlan10);此时如果sw2收到带有vlan10的标签广播,就可以从g0/0/1和g0/0/2口泛洪出去;
验证:pc1 ping pc3 看看是否能通?

提示:可以看到此时pc1就能ping通pc3了;从上面的实验我们可以总结一点,如果同vlan跨设备通讯,沿途链路所有交换机必须要有对应的vlan,数据包才能从该交换机通过,仅仅是trunk允许对应vlan,没有对应vlan,数据包是泛洪不出去的;
GVRP主要就是解决上述类似问题,上面实验拓扑比较简单,我们是手动创建vlan就解决了问题,当现网拓扑环境复杂,vlan较多,人工手动管理vlan很容易出错,为了方便管理员配置和动态的管理vlan,GVRP可以实现动态的注册、注销vlan,让其他交换机动态的学习vlan,并自动将对应端口加入到对应vlan里;
GVRP的应用
1、接收来自其它交换机的VLAN注册信息,并动态更新本地的VLAN注册信息,包括当前的VLAN、VLAN成员等。
2、将本地的VLAN注册信息向其它交换机传播,以便使同一交换网内所有支持GVRP特性的设备的VLAN信息达成一致。
3、交换机可以静态创建VLAN,也可以动态通过GVRP获取VLAN信息。手动配置的VLAN是静态VLAN,通过GVRP创建的VLAN是动态VLAN。GVRP传播的VLAN注册信息包括本地手工配置的静态注册信息和来自其它交换机的动态注册信息。
GARP消息类型
1、join:加入,端口加入VLAN,注册属性

提示:当一个交换机希望其他交换机注册自己的属性,它会对外发送join消息;当一个交换机希望其他交换机注销自己的属性信息时,它会对外发送leave消息;当交换机发送leave all消息时,收到该消息的其他交换机会注销所有的属性;
实验:还是上述实验拓扑,各交换机在对应接口开启GVRP,然后在sw1上静态创建vlan20,看看其他交换机上的vlan变化
sw1的g0/0/2口开启gvrp

sw2的g0/0/1和g0/0/2口开启gvrp

sw3的g0/0/2口开启gvrp

提示:开启GVRP必须要在系统模式下现全局开启gvrp,然后进入端口模式再开启gvrp才行,其次gvrp只能在trunk口上开启,非trunk口开启不了;
验证:查看sw2上是否学习到vlan20?

提示:可以看到在sw2上,通过gvrp学习到了vlan20,并把g0/0/1口和g0/0/2口都加入到vlan20里;这里说明一点,gvrp的注册和注销都是单向,只有收到gvrp消息的端口才能学习并加入到对应vlan里;对于注销也是单向的,只有收到对应gvrp的leave消息,对应端口才会从对应vlan里删除;
GVRP单向注册
实验:在上述实验环境中,在sw1上创建vlan100,看看sw2和sw3那些端口可以加入到vlan100?

提示:这里需要注意一点,我们创建的vlan必须是对应trunk允许列表里的vlan,对应vlan才会被发送出去,让其他交换机学习注册;
验证:查看sw2上的vlan信息

提示:可以看到在sw2上,动态的创建了vlan100,并且g0/0/1口加入到vlan100里,g0/0/2口并没有加入到vlan 100里,其原因是g0/0/2口并没有收到交换机1的join消息;
验证:查看sw3上的vlan信息

提示:可以看到sw3上并没有学习到vlan100,其原因是vlan100没有在sw3的trunk口的允许列表里,所以sw3没有学习到vlan100;
验证:修改sw3trunk的允许列表为允许所有vlan,看看sw3是否能够学习到vlan100 呢?

提示:可以看到当把sw3的g0/0/2口的允许vlan列表修改为允许所有vlan通过后,对应sw3就学习到vlan100并且g0/0/2口也加入到vlan100里(原因是g0/0/2口能够收到sw2转发的join消息);
GVRP单向注销
实验:在上述实验环境中,在sw3上删除vlan20,看看sw2上的vlan信息会有什么变化?

提示:可以看到在sw3上删除了vlan20以后,对应vlan20从原来的静态变为了动态,并且对应g0/0/2口加入其中,这说明这个动态的vlan20是从g0/0/2口收到的,即从sw2学习到的vlan20;
验证:查看sw2上的vlan信息

提示:从上面的截图可以看到,在sw3上删除vlan20之前,sw2上g0/0/1和g0/0/2口都加入到vlan20;在sw3上删除vlan20以后,对应g0/0/2口就从vlan20里删除,g0/0/1口还在vlan20里;这里的原因和单向注册是一样的,因为g0/0/1收到了sw3的leave消息,所以g0/0/2从vlan20里删除,而g0/0/1并没有收到sw3的leave消息,所以它还会在vlan20里;
验证:查看sw1上的vlan信息,看看有什么变化没有?

提示:在sw1上查看vlan信息,对应vlan20并没有什么变化,原因是在sw1上vlan20是我们手动创建的,静态创建的vlan优先级要比动态学习的优先级高,所以即便sw1收到sw2转发的leave信息,sw1上的vlan20也不会被删除,对应端口也不会从vlan20里删除;通过上述的实验,我们可以总结一点,GVRP的注册和注销都是单向的,只有收到对应消息的端口才会加入对应的vlan或者从对应vlan里删除;其次静态优先级高于动态;
GVRP的注册模式
GVRP的注册模式有三种,分别是normal,fixed,forbidden模式;默认开启gvrp时就是normal模式;
1、normal模式:默认模式,允许对应端口静态和动态vlan注册,注销,同时会发送动态和静态vlan的声明消息(即,端口为normal模式,它会接收和发送其他交换机发送的动态和静态的vlan注册或注销消息);
2、fixed模式:不允许动态vlan在端口上注册或注销,且只发送静态vlan的声明消息;(我们可以理解为fixed模式只能发送静态vlan的注册或注销,不学习动态vlan,如果之前学习的有,随之删除,它只限制本交换机对应端口学习和发送动态vlan信息)
3、forbidden模式:不允许动态vlan在端口上注册或注销,同时删除端口上除vlan1外的所有vlan;即不学习动态VLAN,同时将对应端口之前学习到的vlan全部清空,保留VLAN1;
验证:查看sw1的gvrp的注册模式

验证:上述实验,在sw1上将g0/0/2的注册模式修改为forbidden模式,看看对应vlan会有什么变化?

提示:可以看到在sw1上将注册模式修改为forbidden以后,对应g0/0/2在所有除vlan1以外的所有vlan里被删除了;
验证:查看sw2和sw3上的vlan,看看有什么变化?


提示:可以看到在sw2上和sw3之前在sw1上学习的vlan20也随之被注销;
验证:在sw3上创建vlan1000,看看sw1是否会学习呢?
在sw3上创建vlan1000

在sw1上查看,是否学习到sw3上的vlan1000呢?

提示:可以看到在sw3上创建vlan 1000,在sw1上并没有学习;说明把注册模式修改为forbidden以后,对应链路上的动态vlan对于该端口来说,它不会学习,同时它会向外发送注销所有vlan消息,让其他交换机删除从该端口学习到的动态vlan;即该模式下对应端口即不发送动态或静态注册消息,也不接受别的交换机发送的注册或注销消息,同时它只会发送leave all消息给其他交换机;
验证:将上述实验中sw3的g0/0/2口注册模式修改为fixed,看看对应vlan有什么变化?

提示:可以看到在sw3上把g0/0/2修改为fixed模式,对应sw3来说,vlan信息并没有什么变化,其原因是在sw3上的所有vlan都是静态的;
验证:在sw2上创建vlan500,看看sw3是否能够学习到呢?

提示:我们在sw3的g0/0/2口修改注册模式为fixed,对应sw2上的vlan信息也没有变化,vlan1000还是可以从sw3学习到;
在sw3上查看对应vlan500是否学习到?

提示:可以看到在sw3上并没有学习到vlan500;通过上述实验我们可以看到fixed注册模式,只是限制了对应端口动态学习别的交换机的vlan信息,当并不影响自己向其他交换机发送自己的vlan信息,也不影响别的交换机学习自己的vlan信息,和forbidden模式相比,fixed模式只限制自己学习别的交换机的vlan信息(如果之前有动态学习到的vlan,会随之被删除,从该端口转发的动态vlan给其他交换机,其他交换机上对应的vlan信息也会被删除,即该端口只有静态vlan,没有动态vlan,动态vlan从该端口也过不去,只有静态vlan从该端口出去),并不限制其他交换机学习自己的vlan信息;而forbidden模式,它即限制了自己学习别的交换机vlan信息,同时也限制了别的交换机学习自己的vlan信息;
HCNA Routing&Switching之GVRP的更多相关文章
- HCNA Routing&Switching之动态路由协议RIP
前文我们了解了动态路由的基本概念,以及动态路由和静态路由的区别,优缺点,动态路由的分类,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14995317.html ...
- HCNA Routing&Switching之静态路由
前文我们聊到了路由的相关概念和路由基础方面的话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14947897.html:今天我们聊聊静态路由相关话题: 回顾 ...
- HCNA Routing&Switching之路由基础
在开始聊路由之前,我们首先要明白在网络通讯里,什么是路由?什么是路由表.路由器以及网关的相关术语:路由简单讲就是指网络数据包从源头到目标的路径,主要用来为不同网络间通讯提供数据包转发依据:路由表就是多 ...
- HCNA Routing&Switching之STP基础
前文我们了解了VLAN动态注册协议GVRP相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15113770.html:今天我们来讨论下二层环路和STP相 ...
- HCNA Routing&Switching之动态路由基本概念
前文我们了解了静态路由的相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14965433.html:今天我们来聊一聊动态路由相关概念: 首先我们要清楚什 ...
- HCNA Routing&Switching之RIP防环机制
前文我们了解了RIP的基础概念.RIP的特点.RIP报文格式.RIP度量以及RIP配置认证等相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/150085 ...
- HCNA Routing&Switching之动态路由协议OSPF基础(二)
前文我们主要了解了OSPF的区域.区域分类.路由器类型.OSPF的核心工作流程,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/15025533.html:今天 ...
- HCNA Routing&Switching之动态路由协议OSPF基础(一)
前文我们了解了基于路径矢量算法的动态路由协议RIP防环以及度量值的修改相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15012895.html:今天我 ...
- HCNA Routing&Switching之动态路由协议OSPF建立邻居的条件
前文我们了解了OSPF的router id.数据包结构.类型.不同类型的数据包作用以及OSPF状态机制,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15027 ...
随机推荐
- 9、make和make install的区别
简单来说,make 是编译,make install 是安装. 9.1.configure: 这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来 ...
- hdu 4686 Arc of Dream 自己推 矩阵快速幂
A.mat[0][0] = 1, A.mat[0][1] = 1, A.mat[0][2] = 0, A.mat[0][3] = 0, A.mat[0][4] = 0; A.mat[1][0] = 0 ...
- POJ 3026 Borg Maze 广搜(BFS)+最小生成树
题意:从S出发,去抓每一个A,求总路径最短长度.在S点和A点人可以分身成2人,不过一次只能让一个人走. 思路是先利用BFS求出各点之间的距离,建成图,再套用最小生成树模板. 一次性A了.不过觉得在判断 ...
- Centos 8 误删/boot文件夹下文件后的恢复
一.环境 Centos8 二.过程 1.查看/boot底下文件 ls /boot 2.模拟误删/boot底下文件 rm -rf /boot/*ls /boot 3.reboot,无法正常启动 4.在v ...
- JUnit5的Tag、Filter、Order、Lifecycle
Tag JUnit5可以使用@Tag注解给测试类和测试方法打tag,这些tag能用来在执行时进行过滤,它跟group有点类似. tag应该遵循以下规则: 不能为null或者为空. 不能包含空格. 不能 ...
- Mybatis学习(4)实现关联数据的查询
有了前面几章的基础,对一些简单的应用是可以处理的,但在实际项目中,经常是关联表的查询,比如最常见到的多对一,一对多等.这些查询是如何处理的呢,这一讲就讲这个问题.我们首先创建一个Article 这个表 ...
- PHP常见的设计模式
设计模式六大原则 开放封闭原则:一个软件实体如类.模块和函数应该对扩展开放,对修改关闭. 里氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象. 依赖倒置原则:高层模块不应该依赖低层模块,二者 ...
- buu 红帽杯 XX
一.拖入ida,静态分析 __int64 __fastcall sub_7FF65D4511A0(__int64 a1, __int64 a2) { signed __int64 v2; // rbx ...
- buu 不一样的flag
一.查壳 二.拖入ida,分析 从这里和51到53行的代码,基本判断这是一个迷宫题,并且是5行5列的一个迷宫.我当时感觉到一个奇怪的地方是 第一个,我自己想明白是因为可能是int型,数字占了4个字节, ...
- 职场人都该了解<荷花定律>
先看再点赞,给自己一点思考的时间,如果对自己有帮助,微信搜索[程序职场]关注这个执着的职场程序员.我有什么:职场规划指导,技能提升方法,讲不完的职场故事,个人成长经验. 荷花定律 ,听起来很新奇的一个 ...