26-交换机,GVRP


1.技术背景 如图:     三个交换机,sw1和sw3都属于vlan10;sw2允许所有vlan;交换机之间都配的是trunk链路;     但sw1依然无法ping通sw3;     因为sw2并没有创建vlan10;     根据vlan的数据转发规则,在检查lsw2的允许列表之前,需要lsw2先创建了目标vlan; 也就是说,中间的交换机lsw2创建的vlan必须和两边的路由器同步才行; 这使得中间的交换机的vlan,需要根据两边的vlan情况要动态维护; 为了解决这一问题,引入了一个标准:GARP;   2.GARP:Generic Attribute Regisration Protocol 通用属性注册协议   garp标准的作用:  
  • 在交换机间分发、传播、注册某种信息(VLAN属性、组播地址等)
  • 主要用于大中型企业网络中,用来提升管理交换机的效率
  • 一种协议规范
翻译成人话就是:     两边的交换机告诉中间的交换机,我添加了一个vlan10,你给我学习;或者我删掉了vlan10,你也给我删掉;   GVRP(GARP vlan 注册 协议):     GARP只是一种标准,具体实现这种标准的协议为GVRP协议;     3.GARP的作用机制 garp通过在交换机之间发送数据包来起作用; 0   GARP定义了三种数据包类型:
类型 备注
Join 加入,端口加入VLAN
Leave 注销,端口退出VLAN
Leave 注销所有
1)join包 例如:交换机SWA给其它交换机发送join包,其它交换机收到后会创建vlan; 0   2)leave包 交换机SWA给其它交换机发leave包,其它交换机收到后删掉目标vlan; 0   3)leave all 包 其它交换机收到leave all包后删掉所有vlan,除了默认的vlan1 0   4.GVRP:GARP VLAN Registration Protocol  VLAN注册协议 GVRP基于GARP的工作机制,是GARP的一种应用,传递VLAN信息   当配置小型网络时,由于交换机数量较少,可以手动维护vlan; 但如果是大型网络,交换机多,手动维护vlan很复杂,最好用GVRP;  0     1)GVRP的作用机制  
  • 接收来自其他交换机的VLAN注册信息,并动态的更新本地的VLAN信息同步
  • 将本地的VLAN注册信息向其他交换机传播,以便同一交换网内所有支持GVRP的设备VLAN信息同步
  • 手动配置的VLAN是静态VLAN,通过GVRP创建的VLAN是动态VLAN
  • GVRP传播的VLAN注册信息包括静态创建的VLAN信息和动态学习的VLAN信息
    交换机如果开启了gvrp,当创建新的vlan时,会给其它交换机发送join包; 例如:     交换机创建了vlan20,会给其它交换机发送gvrp包;     用wireshark抓gvrp包,可以看到消息内容为:请加入vlan20;   其它交换机想学到vlan必须也开启gvrp; 通过gvrp协议学到的vlan为动态vlan; VLAN分为常规(静态)和动态VLAN; 用命令dis vlan查看目标接口的vlan信息: dis vlan 可以看到:     该交换机创建了2个vlan,vlan10和vlan20;     vlan10是手动创建的,类型为common;     vlan20是通过gvrp学到的,类型为dynamic; 0   2)gvrp的应用 1】单向注册 0 如上图:     交换机SWA手动创建了一个静态的vlan2;     swa的g0/0/1接口开启了gvrp,通过该接口发送gvrp的join包;     交换机SWB,的g0/0/1接口也开启了gvrp,g0/0/1接口收到join包,学到了vlan2;     swb的g0/0/2接口也开启可gvrp,g0/0/2接口给交换机swc发送join包     但g0/0/2接口没学到vlan2,因为只有收到join消息才学到vlan,分发不会学习vlan;     swc的g0/0/1接口收到join消息,学到vlan2;     最终,swb的1接口和swc的1接口通过gvrp学到了vlan2,而swb的2接口没学到vlan2;     导致的结果是,从swa过来的vlan2的流量能到达swc,而从swc发送的vlan2流量无法到达swa,因为g0/0/2接口没注册vlan2;     一般为了双向通信,会使用双向注册,让swb的两个接口都能学到vlan2,具体实现为:swa和swc都配置一个静态的vlan2;   2】单向注销 单向注销机制和单向注册差不多;   3)GVRP注册模式: 有三种注册模式:normal(默认)、forbidden、fixed   1】normal 0 Normal正常模式是默认模式 创建静态和动态都会发送VLAN注册; 如上图:     swa的g0/0/1接口是gvrp的normal模式,当创建了静态的vlan2和动态的vlan3时,都会向其它交换机发送join包   2】forbidden 0 Forbidden禁止模式 不会接收动态VLAN注册,同时删除所有学习到的VLAN (除VLAN1)   例如: 交换机2的g0/0/1接口注册静态的vlan10,并且动态学到了vlan20、30、40、50   将g0/0/1接口的改为forbidden模式   用命令:dis vlan查看,可以看到交换机lsw2的g0/0/1接口只和vlan1关联了;(与lsw2的另外一个接口g0/0/2无关)   此时如果在lsw2中手动创建一个vlan88:     lsw2的g0/0/1接口是forbidden,因此不会关联vlan88;     并且也不会从该口发送vlan88的注册信息给lsw1,导致lsw1的g0/0/1接口无法学到vlan88;     但lsw2的g0/0/2接口还是normal,g0/0/2接口会关联vlan88,并且发送join消息给lsw3,导致lsw3的g0/0/1接口学到vlan88 交换机lsw2手动创建的vlan88只和接口2有关: lsw2的2号接口会发送join消息让lsw3的1号接口学到vlan88:   3】fixed  0 fixed固定模式 不会发送和接收动态的注册信息,只会发送静态注册消息 例如:     如果上图中的swa的g0/0/1接口是fixed,则只会给其它交换机发送静态的vlan2的join包,而不会发送动态的vlan3的join包;     如果交换机swb的g0/0/1接口也是fixed,则不会接受sw1发来的vlan2的join包;   4)GVRP配置:
命令 配置
Gvrp 全局开启GVRP,默认关闭
Gvrp 接口开启GVRP,接口类型必须是Trunk
Gvrp registration fixed/ forbidden/normal 配置GVRP注册模式
Display gvrp status 查看GVRP状态
示例:     给swa的g0/0/1接口开启gvrp,并且配置注册模式为fixed 0