GVRP
产生需求:
在划分VLAN时,需要对每台交换机进行对VLAN的创建、修改,如果有添加网络或删除VLAN且在一个较大的网络环境下对多台交换机进行修改,工作量比较繁琐且容易出错。所以引进了GVRP协议。
简介:
GARP(Generic Attribute registration protocol) 协议主要用于建立一种属性传递扩散的机制,以保证协议实体能够注册和注销该属性。
GVRP(GARP VLAN registration protocol ) 是GARP协议的一种应用,用于注册和注销VLAN属性. 可以实现同步VLAN状态信息。
VLAN: 静态VLAN、动态VLAN
VLAN的注册和注销:
- 注册:指的是将端口加入VLAN
- 注销:知道是将端口退出VLAN
GVRP应用实体:Normal模式、Fixed模式、Forbidden模式
GVRP工作过程
单向注册
-
在S2上创建一个VLAN10(静态VLAN),在S2上开启GVRP服务,S2就会发送存放S2的VLAN属性的GVRP的报文(报文自己会多几次保证对方能够收到)
-
S1收到后,S1自己也会创建VLAN10并将G0/0/1端口划为VLAN10。
-
S1收到后,同样会进行扩散,开启GVRP后,S1会发送GVRP报文给S3。
-
S3也会创建VLAN10并将G0/0/2加入到VLAN10。
-
注意:G0/0/2没有被设置成VLAN10,所以需要双向注册或多增加回流链路(麻烦且浪费资源)。
双向注册
在S3上也创建VLAN10(自己手动创建的VLAN叫静态VLAN),同样开启GVRP服务。传递回去即可。
- 传递回去时,S1的G0/0/2端口也会被划分到VLAN10。
GVRP注意事项
尽量不要在有冗余链路的情况下,使用GVRP,因为STP协议无法阻止GVRP报文的传播,容易造成CPU允许过载造成系统模拟器或系统崩溃。
GVRP实施
[LSW1-g0/0/1] port link-type trunk | 先对交换机的端口设置好trunk |
---|---|
[LSW1-g0/0/1] port trunk allow-pass all | 如没有明确的VLAN规划,允许所有VLAN通信 |
[LSW3] gvrp | 在系统视图下开启GVRP |
[LSW3-g0/0/1] gvrp | 如果要让哪个接口接收GVRP报文,还要进入接口下启GVRP服务。(连接PC的端口不需要,因为PC本身就不知道VLAN的存在。) |
默认开启的gvrp服务模式为formal模式 | |
[LSW1] gvrp [LSW1-G0/0/1] gvrp [LSW1-G0/0/2] gvrp | 在LSW1上设备以及接口上开启gvrp |
[LSW2] gvrp [LSW2-G0/0/1] gvrp [LSW2-G0/0/2] gvrp | 在LSW2上开启 |
[LSW4] int g0/0/1 [LSW4-g0/0/1] gvrp | 在LSW4上开启 |
所有交换机开启完成后,就可以对(头、末端交换机创建VLAN)并查看是否成功传递VLAN属性成功
[LSW4] vlan 10 | |
---|---|
[LSW4-vlan10] quit | |
![]() | |
LSW2的G0/0/2口无法接收和发送VLAN10的流量(单向注册时) | 可以看到是 LSW2上创建了一个动态(dynamic) 的 VLAN。 TG:GE0/0/1 :TG:带标记发送,非本PVID的数据都打上标签。(默认PVID为1) |
到LSW3上创建VLAN10,然后到LSW2重新查看:两个端口都能接发VLAN10的流量 | ![]() |
这样对VLAN进行管理可以大大减少工作量。
静态VLAN与动态VLAN的区别
依旧为刚才的拓扑,在主干链路上,我们添加一台PC设备并直连到LSW2的g0/0/3端口并将其划分到VLAN10:
error: 动态VLAN无法对其进行配置。
动态VLAN的交换机只能转发对应VLAN的流量,但是无法分配VLAN。
只能通过创建静态VLAN再进行划分VLAN。
不足:
- GVRP在冗余链路中容易导致机器崩溃
- 创建的动态VLAN无法分配
- 开启了gvrp服务动作繁琐,仅仅传递了VLAN属性没有手动创建实用。(个人觉得更加适用于大型网络)
VRP(思科)
VTP(VLAN TrunkingProtocol) : VLAN中继协议
VTP有三种工作模式: VTP Server 、Client、Transparent
VTP是工作在交换机上的,不是端口上的。
VRP的优势
-
不存在静态动态VLAN之分,都可以进行创建修改以及分配VLAN
-
GVRP无法在冗余链路中实现,而VRP可以。
VRP的三种模式
-
Sever模式:
- 服务器模式,可在服务器模式下的交换的VLAN属性进行传递
-
Client模式
- 客户端模式:被动学习Sever上的VLAN属性
-
Transparent模式
- 透明模式,自己可以设置VLAN属性,且不会干扰其它交换机
- 作为一个中转站
- 发送VTP报文给下行设备
- 自己不会学习Sever的VLAN属性
VTP实施
先给交换机的各接口设置trunk模式
VTP的安全防护
- 什么样的交换机才能互相学习呢
- 跟谁学?
|
VTP 版本号 2 修订版本号 0 对VLAN进行任何一次修改,版本都会增加1次 支持最大VLAN数量 255 现存的VLAN数量5 VTP工作模式 Sever 交换机默认为Sever VTP Domin Name: VTP域名为空 |
Domin(域):
将交换机划分为一个域,再加上一个密码password,来保证设备网络的漏洞。
:只有当同一个Domin 并且密码答对时,VTP服务才能正常开启。
S1(config) # vtp domain baidu | 在S1上设置了域名为baidu |
---|---|
S2 (config) # do show vtp status | 在S2上查看VTP信息时,发现S2的域名也改为了baidu |
如果不设置密码,入侵者连接你的交换机,岂不是让你的设备跟着他的设置走? | 所以我们需要设置一道密码 |
S1(config) # vtp password cisco S2(config) # vtp password cisco S3(config) # vtp password cisco | 进入S1、S2、S3、设置密码(都要设置) |
S1(config) # vtp mode client | 设置后,S1只能跟着“服务”交换机学习了且自己也不能创建VLAN |
注意:正常情况下多设置一台sever交换机提高容错率(Sever交换机直接相互学习) |
VLAN拓展
思科的VLAN可以对其进行命名,便于知道VLAN的功能,方便管理。
s2(config)# vlan 10 | 进入VLAN10 |
---|---|
s2(config-vlan) # name Guests | 备注VLAN10名称为Guests |
VLAN的名称也会被传递学习 | VLAN的名称只是备注,实质还是通过VLAN ID |