发明内容
本发明提供了一种网络中虚MAC地址表项建立的方法、路由器及系统,以解决在二层接入三层网络中,接入设备通过PW Redundancy接入VRRP备份组,当主PW故障,接入设备通过备PW接入三层网络时,以广播的方式进行流量转发导致的网络拥塞的问题。
第一方面,提供了一种网络中虚MAC地址表项建立的方法,所述网络包括虚拟路由器冗余协议VRRP备份组,所述VRRP备份组包括主用路由器和备用路由器,所述主用路由器和所述备用路由器之间建立有连接,所述方法包括:
所述备用路由器检测通过所述连接从所述主用路由器学习到的所述VRRP备份组的第一虚MAC地址表项是否被删除;
当所述备用路由器检测到所述第一虚MAC地址表项被删除时,向所述主用路由器发送ARP请求报文;
所述备用路由器接收所述主用路由器发送的ARP应答报文,所述ARP应答报文的源MAC地址为所述VRRP备份组虚MAC地址;
所述备用路由器根据所述VRRP备份组虚MAC地址建立所述VRRP备份组的第二虚MAC地址表项。
在所述第一方面的第一种可能的实现方式中,所述检测通过所述连接从所述主用路由器学习到的VRRP备份组的第一虚MAC地址表项是否被删除之前包括:
所述备用路由器建立VRRP监听表项,所述VRRP监听表项包括:
VRRP监听功能使能标志位和所述VRRP备份组虚MAC地址;
相应地,当所述VRRP监听功能使能标志位为使能状态时,所述备用路由器针对所述VRRP备份组虚MAC地址对应的所述第一虚MAC地址表项进行检测。
在所述第一方面或所述第一方面的第一种可能的实现方式中,还提供了所述第一方面的第二种可能的实现方式,在所述第一方面的第二种可能的实现方式中,所述连接可以为虚拟交换实例VSI连接或虚拟交换网VLAN连接。
在所述第一方面或所述第一方面的上述任意一种可能的实现方式中,还提供了所述第一方面的第三种可能的实现方式,在所述第一方面的第三种可能的实现方式中,所述网络还包括接入设备,所述接入设备通过伪线PW冗余Redundancy接入所述VRRP备份组,所述接入设备通过第一PW与所述主用路由器连接,通过第二PW与所述备用路由器连接,正常情况下,所述接入设备通过所述第一PW与所述VRRP备份组进行数据交换,所述检测通过所述连接从所述主用路由器学习到的VRRP备份组的第一虚MAC地址表项是否被删除之前包括:
所述备用路由器接收所述接入设备发送的MAC清除Withdraw报文,所述MAC Withdraw报文是在所述第一PW出现故障后,所述接入设备通过所述第二PW向所述备用路由器发送的;
所述备用路由器删除MAC地址表中的所有MAC地址表项。
第二方面,提供了一种网络中虚MAC地址表项建立的备用路由器,所述网络包括虚拟路由器冗余协议VRRP备份组,所述VRRP备份组包括主用路由器和所述备用路由器,所述主用路由器和所述备用路由器之间建立有连接,所述备用路由器包括:
检测单元,用于检测通过所述连接从所述主用路由器学习到的所述VRRP备份组的第一虚MAC地址表项是否被删除;
发送单元,用于当所述检测单元检测到所述第一虚MAC地址表项被删除时,向所述主用路由器发送地址解析协议ARP请求报文;
接收单元,用于接收所述主用路由器发送的ARP应答报文,所述ARP应答报文的源MAC地址为所述VRRP备份组虚MAC地址;
处理单元,用于根据所述VRRP备份组虚MAC地址建立所述VRRP备份组的第二虚MAC地址表项。
在所述第二方面的第一种可能的实现方式中,所述处理单元,还用于在所述检测单元检测通过所述连接从所述主用路由器学习到的所述VRRP备份组的第一虚MAC地址表项是否被删除之前,建立VRRP监听表项,所述VRRP监听表项包括:
VRRP监听功能使能标志和所述VRRP备份组虚MAC地址;
相应地,
所述检测单元当判断所述VRRP监听表项的VRRP监听功能使能标志位使能状态时,针对所述VRRP监听表项包含的所述VRRP备份组MAC地址对应的所述第一虚MAC地址表项进行检测。
在所述第二方面或所述第二方面的第一种可能的实现方式中,还提供了所述第二方面的第二种可能的实现方式,在所述第二方面的第二种可能的实现方式中,所述网络还包括接入设备,所述接入设备通过伪线PW冗余Redundancy接入所述VRRP备份组,所述接入设备通过第一PW与所述主用路由器连接,通过第二PW与所述备用路由器连接,正常情况下,所述接入设备通过所述第一PW与所述VRRP备份组进行数据交换,
所述接收单元,还用于在所述检测单元检测通过所述连接从所述主用路由器学习到的所述VRRP备份组的第一虚MAC地址表项是否被删除之前,接收所述接入设备发送的MAC清除Withdraw报文,所述MAC Withdraw报文是在所述第一PW出现故障后,所述接入设备通过所述第二PW向所述备用路由器发送的;
所述处理单元删除MAC地址表中的所有MAC地址表项。
第三方面,提供了一种虚MAC地址表项建立的网络系统,所述网络系统包括:主用路由器和备用路由器,所述主用路由器和所述备用路由器属于同一个VRRP备份组,所述主用路由器和所述备用路由器之间建立有连接,
所述备用路由器包括:
第一检测单元,用于检测通过所述连接从所述主用路由器学习到的所述VRRP备份组的第一虚MAC地址表项是否被删除;
第一发送单元,用于当所述第一检测单元检测到所述第一虚MAC地址表项被删除时,向所述主用路由器发送地址解析协议ARP请求报文;
第一接收单元,用于接收所述主用路由器发送的ARP应答报文,所述ARP应答报文的源MAC地址为所述VRRP备份组虚MAC地址;
第一处理单元,用于根据所述VRRP备份组虚MAC地址建立所述VRRP备份组的第二虚MAC地址表项;
所述主用路由器包括:
第二接收单元,用于接收所述备用路由器的所述第一发送单元发送的所述ARP请求报文;
第二处理单元,用于根据所述第二接收单元接收的所述ARP请求报文构造所述ARP应答报文;
第二发送单元,用于向所述备用路由器发送所述第二处理单元构造的所述ARP应答报文。
在所述第三方面的第一种可能的实现方式中,所述网络系统还包括接入设备,所述接入设备通过伪线PW冗余接入所述VRRP备份组,所述接入设备通过第一PW与所述主用路由器连接,通过第二PW与所述备用路由器连接,正常情况下,所述接入设备通过所述第一PW与所述VRRP备份组进行数据交换,
所述接入设备包括:
第二检测单元,用于检测所述第一PW是否出现故障;
第三发送单元,用于当所述第二检测单元检测到所述第一PW出现故障时,向所述备用路由器发送MAC清除Withdraw报文;
相应地,
所述备用路由器的所述第一接收单元,还用于在所述第一检测单元检测通过所述连接从所述主用路由器学习到的所述VRRP备份组的所述第一虚MAC地址表项是否被删除之前,接收所述第三发送单元发送的所述MACWithdraw报文;
所述第一处理单元,还用于在所述第一接收单元接收到所述MACWithdraw报文后,删除MAC地址表中的所有MAC地址表项。
根据本发明实施例提供的一种网络中虚MAC地址表项建立的方法、路由器及系统,VRRP备份组的备用路由器实时检测从主用路由器学习到的VRRP备份组虚MAC地址表项是否被删除,并当检测到虚MAC地址表项被删除时,向主用路由器发送ARP请求报文,并接收主用路由器返回的以VRRP备份组虚MAC地址作为源MAC地址的ARP应答报文,以根据该ARP应答报文重新建立VRRP备份组虚MAC地址表项。因此,当接入设备通过PW Redundancy接入VRRP备份组,进而接入三层网络时,在主PW故障,接入设备通过备PW接入三层网络时,该备用路由器能够在较短时间内恢复VRRP备份组虚MAC地址表项,从而尽量避免了接入设备通过备PW接入三层网络时,该备用路由器以广播的方式进行流量转发造成网络拥塞,影响正常用户的网络业务的问题。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下文中,以在图1所示的二层接入三层网络的一个应用场景中,应用本发明实施例的技术方案为例,对本发明实施例的网络中虚MAC地址表项建立的方法、路由器及系统进行详细说明。在下述实施例中,结合图1所示的二层接入三层网络的应用场景,对主用路由器和备用路由器通过VSI连接时,备用路由器建立虚MAC地址表项的流程进行详细说明,本领域的技术人员能够理解,本发明实施例的技术方案也同样适用于主用路由器和备用路由器通过虚拟交换网(Virtual Local Area Network,VLAN)连接的应用场景。
参见图2,本发明实施例提供了一种网络中虚MAC地址表项建立的方法,所述网络包括虚拟路由器冗余协议VRRP备份组,所述VRRP备份组包括主用路由器和备用路由器,所述主用路由器和所述备用路由器之间建立有连接,所述方法包括,所述方法包括以下内容。
201,所述备用路由器检测通过所述连接从所述主用路由器学习到的所述VRRP备份组的第一虚MAC地址表项是否被删除;
可选地,所述连接可以为虚拟交换实例VSI连接或虚拟交换网VLAN连接。具体地,以图1所示的二层接入三层网络的应用场景为例,当所述主用路由器和所述备用路由器之间建立连接后,所述主用路由器会通过VSI向备用路由器发送VRRP心跳报文,该VRRP心跳报文携带有VRRP备份组虚MAC地址。所述备用路由器具备MAC地址学习能力,根据接收到的VRRP心跳报文即可学习到VRRP备份组虚MAC地址,并在其存储的MAC地址表中增加对应所述VRRP备份组的虚MAC地址的第一虚MAC地址表项。
可选地,所述第一虚MAC地址表项可能是通过如下原因导致被删除的:
所述网络还包括接入设备,所述接入设备通过PW Redundancy接入所述VRRP备份组,所述接入设备通过第一PW与所述主用路由器连接,通过第二PW与所述备用路由器连接,正常情况下,所述接入设备通过所述第一PW与所述VRRP备份组进行数据交换,所述检测通过所述连接从所述主用路由器学习到的VRRP备份组的第一虚MAC地址表项是否被删除之前包括:
所述备用路由器接收所述接入设备发送的MAC Withdraw报文,所述MAC Withdraw报文是在所述第一PW出现故障后,所述接入设备通过所述第二PW向所述备用路由器发送的;
所述备用路由器删除MAC地址表中的所有MAC地址表项,其中所述第一虚MAC地址表项也被删除。
可选地,所述第一虚MAC地址表项也可能是被网络管理员错误操作删除的。
202,当所述备用路由器检测到所述第一虚MAC地址表项被删除时,向所述主用路由器发送地址解析协议(Address Resolution Protocol,ARP)请求报文;
具体地,备用路由器可以根据配置,向主用路由器发送一个或多个ARP请求报文,该ARP请求报文封装如下:目的MAC地址为广播地址,源MAC地址为VRRP备份组接口MAC地址,源IP地址为VRRP备份组接口IP地址,目的IP地址为VRRP备份组虚拟IP地址。
203,所述备用路由器接收所述主用路由器发送的ARP应答报文,所述ARP应答报文的源MAC地址为所述VRRP备份组虚MAC地址;
204,所述备用路由器根据所述VRRP备份组虚MAC地址建立所述VRRP备份组的第二虚MAC地址表项。
具体地,所述主用路由器接收到ARP请求报文后,对ARP请求报文进行响应,向所述备用路由器返回ARP应答报文,该ARP应答报文封装如下:目的MAC地址为ARP请求中的源MAC地址,源MAC地址为VRRP备份组虚MAC地址,源IP地址为VRRP备份组虚拟IP地址,目的IP地址为ARP请求中的源IP地址。
所述主用路由器返回的ARRP应答报文经VSI透传至所述备用路由器,所述备用路由器接收到该源MAC地址为VRRP备份组虚MAC地址的ARRP应答报文时,在其存储的MAC地址表中建立第二虚MAC地址表项。所述第二虚MAC地址表项与所述第一虚MAC地址表项中的MAC地址都为所述VRRP备份组虚MAC地址,此处,便于名称标识通过“第一”和“第二”进行区分。
可选地,在上述网络中虚MAC地址表项建立的方法中,所述检测通过所述连接从所述主用路由器学习到的VRRP备份组的第一虚MAC地址表项是否被删除之前包括:
所述备用路由器建立VRRP监听表项,所述VRRP监听表项包括:
VRRP监听功能使能标志和所述VRRP备份组虚MAC地址;
相应地,当所述VRRP监听功能使能标志位为使能状态时,所述备用路由器针对所述VRRP备份组虚MAC地址对应的所述第一虚MAC地址表项进行检测。
通过上述网络中虚MAC地址表项建立的方法,所述VRRP备份组的备用路由器实时检测从主用路由器学习到的VRRP备份组虚MAC地址表项是否被删除,并当检测到虚MAC地址表项被删除时,向主用路由器发送ARP请求报文,并接收主用路由器返回的以VRRP备份组虚MAC地址作为源MAC地址的ARP应答报文,以根据该ARP应答报文重新建立VRRP备份组虚MAC地址表项。因此,当接入设备通过PW Redundancy接入VRRP备份组,进而接入三层网络时,在主PW故障,接入设备通过备PW接入三层网络时,该备用路由器能够在较短时间内恢复VRRP备份组虚MAC地址表项,从而尽量避免了接入设备通过备PW接入三层网络时,以广播的方式进行流量转发造成网络拥塞,影响正常用户的网络业务的问题。
参见图3,本发明实施例提供了另一种网络中虚MAC地址表项建立的方法,包括以下步骤:
301,所述备用路由器使能VRRP监听(VRRP SNOOPING)功能,建立VRRP监听表项,并当使能VRRP功能的接口启用(UP)时,将所述VRRP监听表项的VRRP监听功能使能标志位置为使能状态;
具体地,所述备用路由器使能VRRP SNOOPING功能时,建立的所述VRRP SNOOPING表项可以包含如下信息:
VRRP SNOOPING使能标志位(VRRP SNOOPING ENABLE):0或1,当使能VRRP功能的接口UP时,将该标志位置1,当使能VRRP功能的接口未启用(DOWN)时,将该标志位置0;
MAC地址:记录需要监听的MAC地址,本发明实施例中该MAC地址为所述VRRP备份组的虚MAC地址。
302,所述备用路由器启用VRRP监听操作,对存储的MAC地址表中的MAC地址表项进行轮询检测,以判断该MAC地址表是否包括所述VRRP备份组的第一虚MAC地址表项;若是,则执行步骤303,若否,则直接执行步骤304;
303,所述备用路由器监听MAC地址表中是否清除了VRRP SNOOPING表项中的MAC地址对应的表项;若是,则执行步骤304,若否,则保持监听,反复执行步骤303;
304,所述备用路由器向所述主用路由器发送ARP请求报文;
具体地,所述备用路由器从VRRP SNOOPING表项中获取所述VRRP备份组接口MAC地址、VRRP备份组接口IP地址和VRRP备份组虚IP地址,将APR请求报文封装如下并向主用路由器发送:目的MAC地址为广播,源MAC地址为VRRP备份组接口MAC地址,源IP地址为VRRP备份组接口IP地址,目的IP地址为VRRP备份组虚IP地址。
305,所述备用路由器通过接收所述主用路由器返回的、携带有所述VRRP备份组虚MAC地址的ARP应答报文,根据所述VRRP备份组虚MAC地址生成第二虚MAC地址表项,并将所述第二虚MAC地址表项添加至MAC地址表中,并返回执行步骤303,继续对MAC地址表进行监听。
根据上述网络中虚MAC地址表项建立的方法,通过在所述备用路由器中动态建立VRRP SNOOPING表项,启动对MAC地址表中的MAC地址表项进行轮询监听,能够快捷、准确地获知所述第一虚MAC地址表项是否被清除,当所述第一虚MAC地址表项被删除时,向所述主用路由器发送ARP请求报文,以使所述备用路由器根据所述主用路由器返回的ARP应答报文,重新学习到所述VRRP备份组虚MAC地址,生成第二虚MAC地址表项。因此,对于任意原因导致的清除VRRP备份组虚MAC地址,均能够在较短时间内恢复所述VRRP备份组的虚MAC地址表项,因此,当接入设备通过PWRedundancy接入所述VRRP备份组,进而接入三层网络时,在主PW故障,接入设备通过备PW接入三层网络时,所述备用路由器能够在较短时间内恢复VRRP备份组虚MAC地址表项,从而尽量避免了接入设备通过备PW接入三层网络时,所述备用路由器以广播的方式进行流量转发造成网络拥塞,影响正常用户的网络业务的问题。
参见图4,本发明实施例提供一种网络中虚MAC地址表项建立的备用路由器,所述网络包括VRRP备份组,所述VRRP备份组包括主用路由器和所述备用路由器40,所述主用路由器和所述备用路由器40之间建立有连接,所述备用路由器40包括:
检测单元41,用于检测通过所述连接从所述主用路由器学习到的所述VRRP备份组的第一虚MAC地址表项是否被删除;
发送单元42,用于当所述检测单元41检测到所述第一虚MAC地址表项被删除时,向所述主用路由器发送地址解析协议ARP请求报文;
接收单元43,用于接收所述主用路由器发送的ARP应答报文,所述ARP应答报文的源MAC地址为所述VRRP备份组虚MAC地址;
处理单元44,用于根据所述VRRP备份组虚MAC地址建立所述VRRP备份组的第二虚MAC地址表项。
可选地,所述连接可以为虚拟交换实例VSI连接或虚拟交换网VLAN连接。具体地,以图1所示的二层接入三层网络的应用场景为例,当所述主用路由器和所述备用路由器40之间建立连接后,所述主用路由器会通过VSI向备用路由器40发送VRRP心跳报文,该VRRP心跳报文携带有VRRP备份组虚MAC地址。所述备用路由器40具备MAC地址学习能力,根据接收到的VRRP心跳报文即可学习到VRRP备份组虚MAC地址,并在其存储的MAC地址表中增加对应所述VRRP备份组的虚MAC地址的第一虚MAC地址表项。
可选地,所述第一虚MAC地址表项可能是通过如下原因导致被删除的。
具体地,所述主用路由器接收到ARP请求报文后,对ARP请求报文进行响应,向所述备用路由器返回ARP应答报文,该ARP应答报文封装如下:目的MAC地址为ARP请求中的源MAC地址,源MAC地址为VRRP备份组虚MAC地址,源IP地址为VRRP备份组虚拟IP地址,目的IP地址为ARP请求中的源IP地址。
所述主用路由器返回的ARRP应答报文经VSI透传至所述备用路由器40,所述备用路由器40接收到该源MAC地址为VRRP备份组虚MAC地址的ARRP应答报文时,在其存储的MAC地址表中建立对应所述VRRP备份组虚MAC地址的第二虚MAC地址表项。所述第二虚MAC地址表项与所述第一虚MAC地址表项中的MAC地址都为所述VRRP备份组虚MAC地址,此处,便于名称标识通过“第一”和“第二”进行区分。
进一步地,在上述备用路由器中,所述处理单元44,还用于在所述检测单元检测41通过所述连接从所述主用路由器学习到的VRRP备份组的第一虚MAC地址表项是否被删除之前,建立VRRP监听表项,所述VRRP监听表项包括:
VRRP监听功能使能标志和所述VRRP备份组虚MAC地址;
相应地,
所述检测单元41当判断所述VRRP监听表项的使能VRRP监听功能使能标志位使能状态时,针对所述VRRP监听表项包含的所述VRRP备份组MAC地址对应的所述第一虚MAC地址表项进行检测。
进一步地,所述网络还包括接入设备,所述接入设备通过伪线PW冗余Redundancy接入所述VRRP备份组,所述接入设备通过第一PW与所述主用路由器连接,通过第二PW与所述备用路由器连接,正常情况下,所述接入设备通过所述第一PW与所述VRRP备份组进行数据交换;
所述接收单元43,还用于在所述检测单元检测通过所述连接从所述主用路由器学习到的VRRP备份组的第一虚MAC地址表项是否被删除之前,接收所述接入设备发送的MAC清除Withdraw报文,所述MAC Withdraw报文是在所述第一PW出现故障后,所述接入设备通过所述第二PW向所述备用路由器发送的;
所述处理单元44删除MAC地址表中的所有MAC地址表项。
可见,根据本发明实施例的备用路由器40,检测通过所述连接从所述主用路由器学习到的VRRP备份组虚MAC地址表项是否被删除,并当检测到虚MAC地址表项被删除时,向主用路由器发送ARP请求报文,并接收主用路由器返回的以VRRP备份组虚MAC地址作为源MAC地址的ARP应答报文,以根据该ARP应答报文重新建立VRRP备份组虚MAC地址表项。因此,当接入设备通过PW Redundancy接入VRRP备份组,进而接入三层网络时,在主PW故障,接入设备通过备PW接入三层网络时,该备用路由器40能够在较短时间内恢复VRRP备份组虚MAC地址表项,从而尽量避免了接入设备通过备PW接入三层网络时,所述备用路由器以广播的方式进行流量转发造成网络拥塞,影响正常用户的网络业务的问题。
参见图5,本发明实施例还提供另一种网络中虚MAC地址表项建立的备用路由器。所述网络包括VRRP备份组,所述VRRP备份组包括主用路由器和所述备用路由器50,所述主用路由器和所述备用路由器50之间建立有连接,所述备用路由器50包括:处理器51,以及与处理器51连接的发送器52和接收器53,其中:
所述处理器51,用于检测通过所述连接从所述主用路由器学习到的VRRP备份组虚MAC地址表项是否被删除;若检测到通过所述连接从所述主用路由器学习到的VRRP备份组的第一虚MAC地址表项被删除,则触发发送器52执行发送操作;
所述发送器52,用于响应处理器的触发,向所述主用路由器发送地址解析协议ARP请求报文;
所述接收器53,用于接收所述主用路由器发送的ARP应答报文,所述ARP应答报文的源MAC地址为所述VRRP备份组虚MAC地址;
所述处理器51还用于根据所述VRRP备份组虚MAC地址建立所述VRRP备份组的第二虚MAC地址表项。
可选地,所述连接可以为虚拟交换实例VSI连接或虚拟交换网VLAN连接。具体地,以图1所示的二层接入三层网络的应用场景为例,当所述主用路由器和所述备用路由器40之间建立连接后,所述主用路由器会通过VSI向备用路由器50发送VRRP心跳报文,该VRRP心跳报文携带有VRRP备份组虚MAC地址。所述备用路由器50具备MAC地址学习能力,根据接收到的VRRP心跳报文即可学习到VRRP备份组虚MAC地址,并在其存储的MAC地址表中增加对应所述VRRP备份组的虚MAC地址的第一虚MAC地址表项。
可选地,所述第一虚MAC地址表项可能是通过如下原因导致被删除的。
具体地,所述主用路由器接收到ARP请求报文后,对ARP请求报文进行响应,向所述备用路由器返回ARP应答报文,该ARP应答报文封装如下:目的MAC地址为ARP请求中的源MAC地址,源MAC地址为VRRP备份组虚MAC地址,源IP地址为VRRP备份组虚拟IP地址,目的IP地址为ARP请求中的源IP地址。
所述主用路由器返回的ARRP应答报文经VSI透传至所述备用路由器50,所述备用路由器50接收到该源MAC地址为VRRP备份组虚MAC地址的ARRP应答报文时,在其存储的MAC地址表中建立对应所述VRRP备份组虚MAC地址的第二虚MAC地址表项。所述第二虚MAC地址表项与所述第一虚MAC地址表项中的MAC地址都为所述VRRP备份组虚MAC地址,此处,便于名称标识通过“第一”和“第二”进行区分。
可选地,上述处理器51、发送器52和接收器53可以集成为一个或多个独立的电路或硬件,如:专用集成电路(英文全称为Application SpecificIntegrated Circuit,英文简称为ASIC)。
可见,根据本发明实施例的备用路由器50,检测通过所述连接从所述主用路由器学习到的VRRP备份组虚MAC地址表项是否被删除,并当检测到虚MAC地址表项被删除时,向主用路由器发送ARP请求报文,并接收主用路由器返回的以VRRP备份组虚MAC地址作为源MAC地址的ARP应答报文,以根据该ARP应答报文重新建立VRRP备份组虚MAC地址表项。因此,当接入设备通过PW Redundancy接入VRRP备份组,进而接入三层网络时,在主PW故障,接入设备通过备PW接入三层网络时,该备用路由器50能够在较短时间内恢复VRRP备份组虚MAC地址表项,从而尽量避免了接入设备通过备PW接入三层网络时,所述备用路由器50以广播的方式进行流量转发造成网络拥塞,影响正常用户的网络业务的问题。
参见图6,本发明实施例还提供一种虚MAC地址表项建立的网络系统,所述网络系统包括:主用路由器61和备用路由器62,所述主用路由器61和所述备用路由器62属于同一个VRRP备份组,所述主用路由器61和所述备用路由器62之间建立有连接,
所述备用路由器62包括:
第一检测单元62a,用于检测通过所述连接从所述主用路由器61学习到的VRRP备份组的第一虚MAC地址表项是否被删除;
第一发送单元62b,用于当所述第一检测单元检测62a到所述第一虚MAC地址表项被删除时,向所述主用路由器61发送地址解析协议ARP请求报文;
第一接收单元62c,用于接收所述主用路由器61发送的ARP应答报文,所述ARP应答报文的源MAC地址为所述VRRP备份组虚MAC地址;
第一处理单元62d,用于根据所述VRRP备份组虚MAC地址建立所述VRRP备份组的第二虚MAC地址表项;
所述主用路由器61包括:
第二接收单元61a,用于接收所述备用路由器62的所述第一发送单元62b发送的所述ARP请求报文;
第二处理单元61b,用于根据所述第二接收单元61a接收的所述ARP请求报文构造所述ARP应答报文;
第二发送单元61c,用于向所述备用路由器62发送所述第二处理单元61b构造的所述ARP应答报文。
可选地,所述连接可以为虚拟交换实例VSI连接或虚拟交换网VLAN连接。具体地,以图1所示的二层接入三层网络的应用场景为例,当所述主用路由器61和所述备用路由器62之间建立连接后,所述主用路由器61会通过VSI向备用路由器62发送VRRP心跳报文,该VRRP心跳报文携带有VRRP备份组虚MAC地址。所述备用路由器62具备MAC地址学习能力,根据接收到的VRRP心跳报文即可学习到VRRP备份组虚MAC地址,并在其存储的MAC地址表中增加对应所述VRRP备份组的虚MAC地址的第一虚MAC地址表项。
可选地,所述第一虚MAC地址表项可能是通过如下原因导致被删除的。
具体地,所述主用路由器61接收到ARP请求报文后,对ARP请求报文进行响应,向所述备用路由器62返回ARP应答报文,该ARP应答报文封装如下:目的MAC地址为ARP请求中的源MAC地址,源MAC地址为VRRP备份组虚MAC地址,源IP地址为VRRP备份组虚拟IP地址,目的IP地址为ARP请求中的源IP地址。
所述主用路由器61返回的ARRP应答报文经VSI透传至所述备用路由器62,所述备用路由器62接收到该源MAC地址为VRRP备份组虚MAC地址的ARRP应答报文时,在其存储的MAC地址表中建立对应所述VRRP备份组虚MAC地址的第二虚MAC地址表项。所述第二虚MAC地址表项与所述第一虚MAC地址表项中的MAC地址都为所述VRRP备份组虚MAC地址,此处,便于名称标识通过“第一”和“第二”进行区分。
进一步地,在上述网络系统中,还包括接入设备,所述接入设备通过伪线PW冗余Redundancy接入所述VRRP备份组,所述接入设备通过第一PW与所述主用路由器连接,通过第二PW与所述备用路由器连接,正常情况下,所述接入设备通过所述第一PW与所述VRRP备份组进行数据交换,
所述接入设备包括:
第二检测单元,用于检测所述第一PW是否出现故障;
第三发送单元,用于当所述第二检测单元检测到所述第一PW出现故障时,向所述备用路由器发送MAC清除Withdraw报文;
相应地,
所述备用路由器的所述第一接收单元,还用于在所述第一检测单元检测通过所述连接从所述主用路由器学习到的VRRP备份组的第一虚MAC地址表项是否被删除之前,接收所述第三发送单元发送的所述MAC Withdraw报文;
所述第一处理单元,还用于在所述第一接收单元接收到所述MACWithdraw报文后,删除MAC地址表中的所有MAC地址表项。
可见,根据本发明实施例的系统,所述备用路由器62检测通过所述连接从所述主用路由器61学习到的VRRP备份组虚MAC地址表项是否被删除,并当检测到虚MAC地址表项被删除时,向主用路由器61发送ARP请求报文,并接收主用路由器61返回的以VRRP备份组虚MAC地址作为源MAC地址的ARP应答报文,以根据该ARP应答报文重新建立VRRP备份组虚MAC地址表项。因此,当接入设备通过PW Redundancy接入VRRP备份组,进而接入三层网络时,在主PW故障,接入设备通过备PW接入三层网络时,该备用路由器62能够在较短时间内恢复VRRP备份组虚MAC地址表项,从而尽量避免了接入设备通过备PW接入三层网络时,所述备用路由器62以广播的方式进行流量转发造成网络拥塞,影响正常用户的网络业务的问题。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:只读存储器(Read-Only Memory,ROM)、随机访问内存(Random-Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以示例性说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明及本发明带来的有益效果进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求的范围。