一种VRRP网关、VRRP系统和双主探测及修复方法技术方案

技术编号:14880206 阅读:99 留言:0更新日期:2017-03-24 02:59
本发明专利技术涉及数据通信技术。本发明专利技术解决了现有VRRP组网系统中,当出现双主现象时,VRRP网关不能自动修复的问题,提供了一种VRRP网关、VRRP系统和双主探测及修复方法,其技术方案可概括为:通过状态探测模块探测对端网关状态,判断当前是否为双主状态,若为双主状态则清除自身接口上所有的ARP且重新学习ARP,并将对应的终端地址通告给对端网关,若接收到对端网关通告来的终端地址,则在通信隧道上形成基于该终端的静态路由,并判断该终端地址是否与已学习的ARP相对应,若是则删除该ARP,否则不处理,当VRRP协议恢复,则删除隧道上对应的静态路由。本发明专利技术的有益效果是:缩短了故障修复时间,适用于VRRP组网系统。

【技术实现步骤摘要】

本专利技术涉及数据通信技术,特别涉及VRRP协议(VirtualRouterRedundancyProtocol,虚拟路由冗余协议)中网络异常时自动修复的技术。
技术介绍
目前部分客户在接入层面,一般还是会采用VRRP组网,但VRRP组网往往为了简单,会将两个三层交换机或一体机(即VRRP网关)的接口串联起来,其他接口直接与终端连接,其组网系统的示意图参见图1,其包括两个VRRP网关,分别记为第一VRRP网关N1及第二VRRP网关N2,两个VRRP网关之间互联,还包括多个终端,每个终端只与一个VRRP网关一一对应连接,可见在VRRP网关中,其互联端口和连接终端的端口都在同一个VLAN中,并且两个VRRP网关都启用三层接口及VRRP协议。当两个VRRP网关之间的线路故障时,必然就会出现双主现象,双主现象是指:VRRP组网在正常情况下,两个VRRP网关之中只有一个主设备,另一个为备用设备,当网络出现异常情况时,例如VRRP心跳不通时,两个VRRP网关都成为主设备,这种状态为双主现象,其中,每个启用了VRRP协议的VRRP网关都具有VRRP定时器,其作用在于周期的发送协议报文,即VRRP心跳,当该VRRP网关在一定时间内未收到协议报文,就认为对端设备故障。出现双主现象时,就会导致上端网络回包到原来备用设备节点的报文被丢弃,从而导致部分终端不通。在现有技术中,为避免出现VRRP双主现象,通常增加了VRRP冗余心跳链路,规避了出现双主现象,但该方式还是无法解决部分终端的通信问题,仍然需要手工修复。且无论双主是否出现,当VRRP心跳出现问题时,都需要人工手动修复,其时间通常较长,用户体验很差。出现该类问题时,从物理连接和三层IP连接上来看,其实终端和网络是联通的,其主要问题在于网络无法适应相同的网段出现在两个不同的物理位置,因此检测故障出现,并自动调整网络以适应这种情况就显得非常必要。
技术实现思路
本专利技术的目的就是解决目前VRRP组网系统中,当出现双主现象时,VRRP网关不能自动修复的问题,提供一种VRRP网关、VRRP系统和双主探测及修复方法。本专利技术解决其技术问题,采用的技术方案是,一种VRRP网关,包括VRRP处理模块、隧道建立模块、状态探测模块及静态路由生成模块,所述VRRP处理模块,用于运行VRRP协议,并指明自身的心跳地址,将自身的心跳地址通过网络发布出去,接收对端网关的心跳地址,当VRRP定时器超时且未收到对端网关VRRP报文时,按照VRRP协议进行处理,保持或切换至VRRP主设备,通知状态探测模块探测对端网关VRRP状态,接收状态探测模块发送来的通知,若当前并非为双主状态,则保持当前状态,若当前为双主状态则,清除自身接口上所有的ARP(AddressResolutionProtocol)信息,且重新学习ARP,并将学习到的ARP对应的终端地址通告给对端网关,若接收到对端网关通告来的终端地址,则通知静态路由生成模块,并判断该终端地址是否与已学习的ARP相对应,若是则删除该ARP,否则不处理,当VRRP协议恢复,则通知静态路由生成模块,删除对应的隧道上的静态路由;所述隧道建立模块,用于在自身的心跳地址及对端网关的心跳地址之间生成并维护一条通信隧道;所述状态探测模块,用于根据VRRP处理模块的通知通过对端网关的心跳地址来探测对端网关当前的VRRP状态,若探测到当前为双主则通知VRRP处理模块,否则通知VRRP处理模块并继续探测;所述静态路由生成模块用于根据VRRP处理模块的通知中的终端地址在通信隧道上形成基于该终端的静态路由,若已存在该终端地址对应的ARP,则删除该ARP,若接收到VRRP处理模块通知的VRRP协议恢复,则清除通信隧道上的所有静态路由。具体的,所述状态探测模块根据VRRP处理模块的通知通过对端网关的心跳地址来探测对端网关当前的VRRP状态,具体为:状态探测模块根据对端网关的心跳地址发送探测报文,若对端网关无应答,则判定为对端网关故障,当前并非双主状态,若接收到对端网关的应答,则根据该应答判断当前是否为双主状态,若是则判定为双主状态,否则为非双主状态。进一步的,所述探测报文中包含VRRP组ID、VRRP接口实地址、VRRP虚地址、VRF(VirtualRoutingForwarding,VPN路由转发表)的RD((Route-Distinguisher)及PIM(ProtocolIndependentMulticast)的DR(DesignatedRouter,指定路由器,即pim协议中的组播信息转发者也是IGMP的查询器)竞选相关信息。具体的,所述探测报文采用check和ack方式,所述通信隧道不限于为GRE(GenericRoutingEncapsulation)通信隧道或VXLAN(VirtualExtensibleLAN,虚拟可扩展局域网)通信隧道。再进一步的,所述将学习到的ARP对应的终端地址通告给对端网关中,所述通告以有序且周期的方式进行。VRRP组网系统,包括至少两个VRRP网关及多个终端,各VRRP网关之间通过接口连接,每个终端只与一个VRRP网关一一对应连接,各VRRP网关与网络连接,其特征在于,所述VRRP网关为上述一种VRRP网关。双主探测及修复方法,应用于上述VRRP组网系统中,其特征在于,包括以下步骤:步骤1、所有VRRP网关分别配置VRRP,并指明自身的心跳地址,将自身的心跳地址通过网络发布出去,分别接收各对端网关的心跳地址,VRRP配置完成后,形成VRRP主设备及VRRP备用设备;步骤2、各VRRP网关在自身的心跳地址及对端网关的心跳地址之间生成并维护一条通信隧道;步骤3、当各VRRP网关能够正常接收到对端网关VRRP报文时,正常运行VRRP协议,不进行其他处理,当某一VRRP网关的VRRP定时器超时且未收到对端网关VRRP报文时,则按照VRRP协议进行处理,保持或切换至VRRP主设备,且探测对端网关VRRP状态;步骤4、若该VRRP网关探测到当前并非为双主状态,则保持当前状态,若当前为双主状态则进入步骤5;步骤5、该VRRP网关清除自身接口上所有的ARP信息,且重新学习ARP;步骤6、该VRRP网关将新学习到的ARP对应的终端地址通告给对端网关;步骤7、若该VRRP网关接收到对端网关通告来的终端地址,则在通信隧道上形成基于该终端的静态路由,并判断该终端地址是否与已学习的ARP相对应,若是则删除该ARP;如果新学到ARP,则判断是否存在该主机ip地址是否在隧道存在静态路由,如果存在,就删除静态路由,并回到步骤6;步骤8、该VRRP网关进行报文转发;步骤9、该VRRP网关时刻判断VRRP协议是否恢复,若恢复,则清除通信隧道上的所有静态路由,若该VRRP网关在步骤3中切换至VRRP主设备,则此时需要切换回VRRP备用设备,回到步骤3,若该VRRP网关在步骤3中保持为VRRP主设备,则此时仍保持为VRRP主设备,回到步骤3,若未恢复则回到步骤6。具体的,步骤4中,若当前为双主状态,在进入步骤5之前,产生周期性告警信息。具体的,步骤8中,在该VRRP网关进行报文转发的过程中,若无法命中静态路由,就会命中直连接口路由,如果此时有ARP,则按照ARP转发,如果没有本文档来自技高网
...
一种VRRP网关、VRRP系统和双主探测及修复方法

【技术保护点】
一种VRRP网关,其特征在于,包括VRRP处理模块、隧道建立模块、状态探测模块及静态路由生成模块,所述VRRP处理模块,用于运行VRRP协议,并指明自身的心跳地址,将自身的心跳地址通过网络发布出去,接收对端网关的心跳地址,当VRRP定时器超时且未收到对端网关VRRP报文时,保持或切换至VRRP主设备,通知状态探测模块探测对端网关VRRP状态,接收状态探测模块发送来的通知,若当前并非为双主状态,则保持当前状态,若当前为双主状态则清除自身接口上所有的ARP信息,且重新学习ARP,并将学习到的ARP对应的终端地址通告给对端网关,若接收到对端网关通告来的终端地址,则通知静态路由生成模块,并判断该终端地址是否与已学习的ARP相对应,若是则删除该ARP,否则不处理,当VRRP协议恢复,则通知静态路由生成模块,删除对应的隧道上的静态路由;所述隧道建立模块,用于在自身的心跳地址及对端网关的心跳地址之间生成并维护一条通信隧道;所述状态探测模块,用于根据VRRP处理模块的通知通过对端网关的心跳地址来探测对端网关当前的VRRP状态,若探测到当前为双主则通知VRRP处理模块,否则通知VRRP处理模块并继续探测;所述静态路由生成模块,用于根据VRRP处理模块的通知中的终端地址在通信隧道上形成基于该终端的静态路由,若已存在该终端地址对应的ARP,则删除该ARP,若接收到VRRP处理模块通知的VRRP协议恢复,则清除通信隧道上的所有静态路由。...

【技术特征摘要】
1.一种VRRP网关,其特征在于,包括VRRP处理模块、隧道建立模块、状态探测模块及静态路由生成模块,所述VRRP处理模块,用于运行VRRP协议,并指明自身的心跳地址,将自身的心跳地址通过网络发布出去,接收对端网关的心跳地址,当VRRP定时器超时且未收到对端网关VRRP报文时,保持或切换至VRRP主设备,通知状态探测模块探测对端网关VRRP状态,接收状态探测模块发送来的通知,若当前并非为双主状态,则保持当前状态,若当前为双主状态则清除自身接口上所有的ARP信息,且重新学习ARP,并将学习到的ARP对应的终端地址通告给对端网关,若接收到对端网关通告来的终端地址,则通知静态路由生成模块,并判断该终端地址是否与已学习的ARP相对应,若是则删除该ARP,否则不处理,当VRRP协议恢复,则通知静态路由生成模块,删除对应的隧道上的静态路由;所述隧道建立模块,用于在自身的心跳地址及对端网关的心跳地址之间生成并维护一条通信隧道;所述状态探测模块,用于根据VRRP处理模块的通知通过对端网关的心跳地址来探测对端网关当前的VRRP状态,若探测到当前为双主则通知VRRP处理模块,否则通知VRRP处理模块并继续探测;所述静态路由生成模块,用于根据VRRP处理模块的通知中的终端地址在通信隧道上形成基于该终端的静态路由,若已存在该终端地址对应的ARP,则删除该ARP,若接收到VRRP处理模块通知的VRRP协议恢复,则清除通信隧道上的所有静态路由。2.如权利要求1所述的VRRP网关,其特征在于,所述状态探测模块根据VRRP处理模块的通知通过对端网关的心跳地址来探测对端网关当前的VRRP状态,具体为:所述状态探测模块根据对端网关的心跳地址发送探测报文,若对端网关无应答,则判定对端网关故障,若接收到对端网关的应答,则根据该应答判断当前是否为双主状态,若是则判定为双主状态,否则为非双主状态。3.如权利要求2所述的VRRP网关,其特征在于,所述探测报文中包含VRRP组ID、VRRP接口实地址、VRRP虚地址、VRF的RD以及及PIM的DR竞选信息。4.如权利要求2所述的VRRP网关,其特征在于,所述探测报文采用check和ack方式,所述通信隧道包括GRE通信隧道或VXLAN通信隧道。5.VRRP系统,包括至少两个VRRP网关及多个终端,各VRRP网关之间通过接口连接,每个终端只与一个VRRP网关一一对应连接,其特征在于,所述VRRP网关为如权利要求1-4任一项所述的VRRP网关。6.双主探测及修复方法,应用于如权利要求5所述的VRRP系统中,其特征在于,包括以下步骤:步骤1、所有VRRP网关分别配置VRRP,并指明自身的心跳地址,将自身的心跳地址通过网络发布出去,分别接收各对端网关的心跳地址,VRRP配置完成后,形成VRRP主设备及VRRP备用设备;步骤2、各VRRP网关在自身的...

【专利技术属性】
技术研发人员:陈箭飞
申请(专利权)人:迈普通信技术股份有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1