GVRP工作过程
下面通过一个简单的组网环境介绍一下通过GVRP实现动态VLAN注册和动态VLAN注销的工作过程。
VLAN属性的双向注册
分别在SwitchA和SwitchC上创建静态VLAN 2,通过各个应用实体的GVRP功能,使SwitchB的相应接口自动加入VLAN 2。
在SwitchA上创建静态VLAN 2,接口10GE1/0/1加入VLAN 2后接口自动启动Join定时器和Hold定时器。等待Hold定时器超时后,SwitchA向SwitchB发送一个JoinEmpty消息。
SwitchB接收到JoinEmpty后创建动态VLAN 2,并把接收到JoinEmpty消息的10GE1/0/2加入到动态VLAN 2中。同时,SwitchB会告知10GE1/0/3启动Join定时器和Hold定时器,等待Hold定时器超时后向SwitchC发送一个JoinEmpty消息。
SwitchC接收到JoinEmpty后创建动态VLAN 2,并把接收到JoinEmpty消息的10GE1/0/4加入到动态VLAN 2中。
至此,VLAN属性的单向注册过程已经完成,经过上述注册过程,接口10GE1/0/1、10GE1/0/2、10GE1/0/4已经加入VLAN 2,但是10GE1/0/3还没有加入VLAN 2。为使VLAN 2流量可以双向互通,需要进行SwitchC到SwitchA方向的VLAN属性的注册过程。
在SwitchC上创建静态VLAN 2(将动态VLAN转换成静态VLAN),10GE1/0/4也相应地加入静态VLAN 2中并自动启动Join定时器和Hold定时器,等待Hold定时器超时后,SwitchC向SwitchB发送一个JoinIn消息。
SwitchB上接收到JoinIn消息后,把接收到JoinIn消息的10GE1/0/3加入到动态VLAN 2中,同时告知10GE1/0/2启动Join定时器和Hold定时器,等待Hold定时器超时后,向SwitchA发送一个JoinIn消息。
双向注册过程中,Join定时器超时后等待一个Hold定时器周期,设备发送一个JoinEmpty消息或者JoinIn消息,最多发送两次。当SwitchA上接收到JoinIn消息之后,就停止向SwitchB发送JoinEmpty消息。此后,当LeaveAll定时器超时或收到LeaveAll消息,设备重新启动包括LeaveAll定时器在内的所有定时器。SwitchA的10GE1/0/1在Hold定时器超时之后就开始发送JoinIn消息。SwitchB向SwitchC发送JoinIn消息。SwitchC收到JoinIn消息后,由于本身已经创建了静态VLAN 2,所以不会再创建动态VLAN 2。
为方便描述,上述工作过程采用先在SwitchA上创建静态VLAN 2,后在SwitchC上创建静态VLAN 2。实际操作中可以同时创建静态VLAN,两个方向的注册过程同时进行。
VLAN属性的双向注销
当设备上不再需要VLAN 2时,分别在SwitchA和SwitchC上删除静态VLAN 2,通过VLAN属性的注销过程将VLAN 2从设备上删除。
在SwitchA上删除静态VLAN 2,10GE1/0/1启动Hold定时器,等待Hold定时器超时后,SwitchA向SwitchB发送LeaveEmpty消息。
SwitchB上接收到LeaveEmpty时,10GE1/0/2启动Leave定时器,等待Leave定时器超时之后10GE1/0/2注销VLAN 2,将10GE1/0/2从动态VLAN 2中删除,由于此时VLAN 2中还存在接口10GE1/0/3,所以不会删除VLAN 2。同时,SwitchB告知10GE1/0/3启动Hold定时器和Leave定时器,等待Hold定时器超时后,向SwitchC发送LeaveIn消息。
SwitchC上接收到LeaveIn后,由于SwitchC的静态VLAN 2还没有删除,所以10GE1/0/4不会从VLAN 2中删除,并且10GE1/0/3在Leave定时器超时之前仍然能够收到10GE1/0/4发送的JoinIn消息,SwitchA和SwitchB上仍然能够学习到动态的VLAN 2。因此,为了彻底删除所有设备上的VLAN 2,需要在SwitchC上删除静态VLAN 2。SwitchC删除静态VLAN 2后,10GE1/0/4启动Hold定时器,等待Hold定时器超时后,SwitchC向SwitchB发送LeaveEmpty消息。
SwitchB接收到LeaveEmpty消息后,10GE1/0/3启动Leave定时器,等待Leave定时器超时之后10GE1/0/3注销VLAN 2,将10GE1/0/3从动态VLAN 2中删除并删除动态VLAN 2,同时告知10GE1/0/2启动Hold定时器,等待Hold定时器超时后,向SwitchA发送LeaveEmpty消息。SwitchA接收到LeaveEmpty消息后,10GE1/0/1启动Leave定时器,等待Leave定时器超时之后10GE1/0/1注销VLAN 2,将10GE1/0/1从动态VLAN 2中删除并删除动态VLAN 2。
双向注销过程中,Leave定时器超时后等待一个Hold定时器周期,设备发送一个LeaveEmpty消息或者LeaveIn消息,且只发送一次。
为方便描述,上述工作过程采用先在SwitchA上删除静态VLAN 2,后在SwitchC上删除静态VLAN 2。实际操作中可以同时删除静态VLAN,两个方向的注销过程同时进行。