VTEP保活检测方法及装置与流程

文档序号:13763217阅读:436来源:国知局
VTEP保活检测方法及装置与流程

本发明涉及通信技术领域,尤指一种虚拟可扩展局域网隧道终端(Virtual eXtensible Local Area Network Tunnel End Point,VTEP)保活检测方法及装置。



背景技术:

虚拟可扩展局域网(Virtual eXtensible Local Area Network,VXLAN)是一种建立在互联网协议(Internet Protocol,IP)网络之上的叠加(Overlay)网络技术,其使用媒体介入控制(Media Access Control,MAC)在(in)用户数据报协议(User Datagram Protocol,UDP)的方法进行封装,即将普通以太网报文封装在UDP报文里,普通以太网报文当作UDP数据传输。VXLAN网络由VXLAN网络标识(VXLAN Network Identifier,VNI)作为唯一标识,不同VNI的VXLAN网络的终端不能直接通信,需要VXLAN网关路由。

如图1所示为VXLAN网络的架构图,包括终端(如虚拟机、服务器等)、域内本地网络设备(如站点(Site)A内部的网络设备)、VTEP和IP网络。其中,VTEP是VXLAN网络的边缘设备,与物理网络相连,分配有物理网络的IP地址,该地址用于VXLAN报文的封装和解封装,VTEP之间在IP网络上建立隧道,这些隧道实现了VXLAN报文穿越IP网络的传输服务。

VXLAN标准定义在RFC7348中,规定了通过数据平面的源地址学习来形成VXLAN控制平面的信息。VXLAN网络使用组播报文对广播报文、组播报文及未知单播报文进行泛洪,例如,在如图1所示的VXLAN网络中,VTEP A接收到终端A发送的地址解析协议(Address Resolution Protocol,ARP)请求报文后,将该ARP请求报文封装成组播VXLAN报文并转发至VTEP B和VTEP C,VTEP B和VTEP C在对ARP请求报文解封装时进行地址学习(VNI,终端A的MAC地址,VTEP A的IP地址),若终端B向终端A发送ARP应答报文,VTEP A在对ARP应答报文解封装时也可以进行地址学习(VNI,终端B的MAC地址,VTEP B的IP地址),若后续终端A与终端B之间还有数据传输,VTEP A和VTEP B学习到的地址即可作为后续报文转发的转发表项。

在上述报文转发的过程中,如果VTEP B出现故障,则无法响应终端B发送的报文,由于VTEP A上还存在(VNI,终端B的MAC地址,VTEP B的IP地址)这一转发表项,VTEP A会继续封装终端A发送给终端B的报文,但是终端B无法收到,从而出现黑洞现象,浪费VTEP A的转发资源和链路带宽。因此,亟需一种对VXLAN网络中的VTEP进行保活检测的方法,进一步避免出现黑洞现象,并节省VTEP的转发资源和链路带宽。



技术实现要素:

本发明实施例提供一种VTEP保活检测方法及装置,用以实现对VXLAN网络中的VTEP进行保活检测。

根据本发明实施例,提供一种VTEP保活检测方法,应用在VXLAN网络包括的每个VTEP中,其特征在于,所述方法包括:

确定所述VTEP在所述VXLAN网络中的角色,所述角色为保活检测从机或者保活检测主机;

若在所述VXLAN网络中的角色为保活检测从机,则以设定周期向所述保活检测主机发送携带所述VTEP的设备标识的探测请求,若在第一设定时长内接收到所述保活检测主机返回的携带存活VTEP信息表的探测应答,则根据所述存活VTEP信息表更新与所述VXLAN网络中的第一其他VTEP之间的VXLAN隧道的连接状态,所述存活VTEP信息表保存的是所述VXLAN网络中存活VTEP的设备标识;

若在所述VXLAN网络中的角色为保活检测主机,则监控所述存活VTEP信息表中的设备标识对应的VTEP是否失效,在所述存活VTEP信息表中删除失效VTEP的设备标识,并关闭与所述失效VTEP之间的VXLAN隧道;以及,接收所述VXLAN网络中的第二其他VTEP发送的携带所述第二其他VTEP的设备标识的探测请求,根据所述第二其他VTEP的设备标识更新所述存活VTEP信息表、以及与所述第二其他VTEP之间的VXLAN隧道的连接状态,并向所述第二其他VTEP发送携带所述存活VTEP信息表的探测应答。

具体的,确定所述VTEP在所述VXLAN网络中的角色,具体包括:

获取所述VXLAN网络的整网配置信息表;

在所述整网配置信息表中查找包括所述VTEP的设备标识的表项;

将所述表项中包括的角色作为所述VTEP在所述VXLAN网络中的角色。

可选的,还包括:

若在设定时长内未接收到所述保活检测主机返回的携带存活VTEP信息表的探测应答,则发出保活检测主机告警,以提示管理员重新指定保活检测主机、并更新所述VXLAN网络的整网配置信息表;或者,

发起保活检测主机自协商,与所述VXLAN网络中的第三其他VTEP重新协商出保活检测主机,并根据协商结果更新所述VXLAN网络的整网配置信息表。

具体的,根据所述存活VTEP信息表更新与所述VXLAN网络中的第一其他VTEP之间的VXLAN隧道的连接状态,具体包括:

关闭所述VTEP的所有VXLAN隧道;

打开与所述存活VTEP信息表中的设备标识对应的VTEP之间的VXLAN隧道。

具体的,监控所述存活VTEP信息表中的设备标识对应的VTEP是否失效,具体包括:

监控在第二设定时长内是否接收到存活VTEP信息表中包括的设备标识对应的VTEP发送的探测请求;

将发送探测请求的VTEP确定为存活,以及将未发送探测请求的VTEP确定为失效。

具体的,根据所述第二其他VTEP的设备标识更新所述存活VTEP信息表、以及与所述第二其他VTEP之间的VXLAN隧道的连接状态,具体包括:

确定所述第二其他VTEP的设备标识是否保存在所述存活VTEP信息表中;

若所述第二其他VTEP的设备标识未保存在所述存活VTEP信息表中,则将所述第二其他VTEP的设备标识保存在所述存活VTEP信息表中,并打开与所述第二其他VTEP之间的VXLAN隧道。

根据本发明实施例,还提供一种VTEP保活检测装置,应用在VXLAN网络包括的每个VTEP中,所述装置包括:

确定模块,用于确定所述VTEP在所述VXLAN网络中的角色,所述角色为保活检测从机或者保活检测主机;

第一检测模块,用于若在所述VXLAN网络中的角色为保活检测从机,则以设定周期向所述保活检测主机发送携带所述VTEP的设备标识的探测请求,若在第一设定时长内接收到所述保活检测主机返回的携带存活VTEP信息表的探测应答,则根据所述存活VTEP信息表更新与所述VXLAN网络中的第一其他VTEP之间的VXLAN隧道的连接状态,所述存活VTEP信息表保存的是所述VXLAN网络中存活VTEP的设备标识;

第二检测模块,用于若在所述VXLAN网络中的角色为保活检测主机,则监控所述存活VTEP信息表中的设备标识对应的VTEP是否失效,在所述存活VTEP信息表中删除失效VTEP的设备标识,并关闭与所述失效VTEP之间的VXLAN隧道;以及,接收所述VXLAN网络中的第二其他VTEP发送的携带所述第二其他VTEP的设备标识的探测请求,根据所述第二其他VTEP的设备标识更新所述存活VTEP信息表、以及与所述第二其他VTEP之间的VXLAN隧道的连接状态,并向所述第二其他VTEP发送携带所述存活VTEP信息表的探测应答。

具体的,所述确定模块,具体用于:

获取所述VXLAN网络的整网配置信息表;

在所述整网配置信息表中查找包括所述VTEP的设备标识的表项;

将所述表项中包括的角色作为所述VTEP在所述VXLAN网络中的角色。

可选的,所述第一检测模块,还用于:

若在设定时长内未接收到所述保活检测主机返回的携带存活VTEP信息表的探测应答,则发出保活检测主机告警,以提示管理员重新指定保活检测主机、并更新所述VXLAN网络的整网配置信息表;或者,

发起保活检测主机自协商,与所述VXLAN网络中的第三其他VTEP重新协商出保活检测主机,并根据协商结果更新所述VXLAN网络的整网配置信息表。

具体的,所述第一检测模块,具体用于:

关闭所述VTEP的所有VXLAN隧道;

打开与所述存活VTEP信息表中的设备标识对应的VTEP之间的VXLAN隧道。

具体的,所述第二检测模块,具体用于:

监控在第二设定时长内是否接收到存活VTEP信息表中包括的设备标识对应的VTEP发送的探测请求;

将发送探测请求的VTEP确定为存活,以及将未发送探测请求的VTEP确定为失效。

具体的,所述第二检测模块,具体用于:

确定所述第二其他VTEP的设备标识是否保存在所述存活VTEP信息表中;

若所述第二其他VTEP的设备标识未保存在所述存活VTEP信息表中,则将所述第二其他VTEP的设备标识保存在所述存活VTEP信息表中,并打开与所述第二其他VTEP之间的VXLAN隧道。

本发明有益效果如下:

本发明实施例提供一种VTEP保活检测方法及装置,确定所述VTEP在所述VXLAN网络中的角色,所述角色为保活检测从机或者保活检测主机;若在所述VXLAN网络中的角色为保活检测从机,则以设定周期向所述保活检测主机发送携带所述VTEP的设备标识的探测请求,若在第一设定时长内接收到所述保活检测主机返回的携带存活VTEP信息表的探测应答,则根据所述存活VTEP信息表更新与所述VXLAN网络中的第一其他VTEP之间的VXLAN隧道的连接状态,所述存活VTEP信息表保存的是所述VXLAN网络中存活VTEP的设备标识;若在所述VXLAN网络中的角色为保活检测主机,则监控所述存活VTEP信息表中的设备标识对应的VTEP是否失效,在所述存活VTEP信息表中删除失效VTEP的设备标识,并关闭与所述失效VTEP之间的VXLAN隧道;以及,接收所述VXLAN网络中的第二其他VTEP发送的携带所述第二其他VTEP的设备标识的探测请求,根据所述第二其他VTEP的设备标识更新所述存活VTEP信息表、以及与所述第二其他VTEP之间的VXLAN隧道的连接状态,并向所述第二其他VTEP发送携带所述存活VTEP信息表的探测应答。该方案中,保活检测从机可以通过发送探测请求向保活检测主机上报存活状态,保活检测主机可以获知并监控VXLAN网络中的存活VTEP,并将存活VTEP的设备标识保存在存活VTEP信息表中同步给所有的保活检测从机,从而实现对VXLAN网络中的VTEP进行保活检测,进一步避免出现黑洞现象,并节省VTEP的转发资源和链路带宽。

附图说明

图1为现有技术中VXLAN网络的架构图;

图2为本发明实施例中VTEP保活检测方法的流程图;

图3为本发明实施例中VTEP保活检测装置的结构示意图。

具体实施方式

为了实现对VXLAN网络中的VTEP进行保活检测,本发明实施例提供一种VTEP保活检测方法,应用在VXLAN网络包括的每个VTEP中,VXLAN网络的架构图如图1所示。该发明方法的流程如图2所示,执行步骤如下:

S21:流程开始。

S22:确定VTEP在VXLAN网络中的角色,若在VXLAN网络中的角色为保活检测从机,执行S23;若在VXLAN网络中的角色为保活检测主机,执行S24。

VXLAN网络中的VTEP的角色可以为保活检测从机或者保活检测主机,在进行VTEP保活检测时,首先需要确定在VXLAN网络中的角色,一种可选的方式,VXLAN网络中至多包括一个保活检测主机,当保活检测主机存活时,VXLAN网络中包括一个保活检测主机,当保活检测主机失效时,VXLAN网络中没有保活检测主机。

S23:以设定周期向保活检测主机发送携带VTEP的设备标识的探测请求,若在第一设定时长内接收到保活检测主机返回的携带存活VTEP信息表的探测应答,则根据存活VTEP信息表更新与VXLAN网络中的第一其他VTEP之间的VXLAN隧道的连接状态。

若在设定时长内未接收到保活检测主机返回的携带存活VTEP信息表的探测应答,则发出保活检测主机告警,以提示管理员重新指定保活检测主机、并更新VXLAN网络的整网配置信息表;或者,发起保活检测主机自协商,与VXLAN网络中的第三其他VTEP重新协商出保活检测主机,并根据协商结果更新VXLAN网络的整网配置信息表。若在设定时长内未接收到保活检测主机返回的携带存活VTEP信息表的探测应答,则说明保活检测主机失效,这时可以由管理员重新指定保活检测主机,其他的为保活检测从机,也可以由VTEP自主协商出保活检测主机;在这两种方式中,都需要更新VXLAN网络的整网配置信息表。

其中,设定周期可以根据实际需要进行设定,例如,可以设定为1秒、2秒、5秒等等;存活VTEP信息表保存的是VXLAN网络中存活VTEP的设备标识;整网配置信息表保存的是整个VXLAN网络中的VTEP的配置信息,包括VTEP的角色、设备标识、VXLAN隧道建立对象等等信息;第一设定时长可以根据实际需要进行设定,例如,可以设定为1秒、2秒、5秒、10秒等等。

S24:监控存活VTEP信息表中的设备标识对应的VTEP是否失效,在存活VTEP信息表中删除失效VTEP的设备标识,并关闭与失效VTEP之间的VXLAN隧道;以及,接收VXLAN网络中的第二其他VTEP发送的携带第二其他VTEP的设备标识的探测请求,根据第二其他VTEP的设备标识更新存活VTEP信息表、以及与第二其他VTEP之间的VXLAN隧道的连接状态,并向第二其他VTEP发送携带存活VTEP信息表的探测应答。

该方案中,保活检测从机可以通过发送探测请求向保活检测主机上报存活状态,保活检测主机可以获知并监控VXLAN网络中的存活VTEP,并将存活VTEP的设备标识保存在存活VTEP信息表中同步给所有的保活检测从机,从而实现对VXLAN网络中的VTEP进行保活检测,进一步避免出现黑洞现象,并节省VTEP的转发资源和链路带宽。

下面详细介绍上述VTEP保活检测方法中的各个步骤。

具体的,上述S22中的确定VTEP在VXLAN网络中的角色的实现过程,具体包括:获取VXLAN网络的整网配置信息表;在整网配置信息表中查找包括VTEP的设备标识的表项;将表项中包括的角色作为VTEP在VXLAN网络中的角色。

由于整网配置信息表中包括VTEP的角色、设备标识、VXLAN隧道建立对象等等信息,因此,可以在整网配置信息表中获取VTEP在VXLAN的角色,这里仅仅是列举了一种实现方式,其它实现方式不再赘述。

具体的,上述S23中的根据存活VTEP信息表更新与VXLAN网络中的第一其他VTEP之间的VXLAN隧道的连接状态的实现过程,具体包括:关闭VTEP的所有VXLAN隧道;打开与存活VTEP信息表中的设备标识对应的VTEP之间的VXLAN隧道。

这里仅仅列举了一种更新方式,还有很多其他方式,例如,也可以逐一确认与存活VTEP信息表中包括的每个设备标识对应的VTEP之间的VXLAN隧道的连接状态,若为关闭,则重新开启,若为开启,则保持开启状态。需要说明的是,VXLAN网络的一个特点是两两VTEP之间都要建立VXLAN隧道,因此,可以根据存活VTEP信息表关闭或打开VXLAN隧道来控制与第一其他VTEP的通信状态,当某个VTEP的设备标识保存在存活VTEP信息表中,说明某个VTEP是存活的,因此打开与某个VTEP之间的VXLAN隧道;当某个VTEP的设备标识未保存在存活VTEP信息表中,说明某个VTEP是失效的,因此需要关闭与某个VTEP之间的VXLAN隧道。

具体的,上述S24中的监控存活VTEP信息表中的设备标识对应的VTEP是否失效的实现过程,具体包括:监控在第二设定时长内是否接收到存活VTEP信息表中包括的设备标识对应的VTEP发送的探测请求;将发送探测请求的VTEP确定为存活,以及将未发送探测请求的VTEP确定为失效。

通过上述过程可以更加准确地监控各个保活检测从机的状态。其中,第二设定时长可以根据实际需要进行设定,例如,可以设定为1秒、2秒、5秒等等。

具体的,上述S24中的根据第二其他VTEP的设备标识更新存活VTEP信息表、以及与第二其他VTEP之间的VXLAN隧道的连接状态,具体包括:确定第二其他VTEP的设备标识是否保存在存活VTEP信息表中;若第二其他VTEP的设备标识未保存在存活VTEP信息表中,则将第二其他VTEP的设备标识保存在存活VTEP信息表中,并打开与第二其他VTEP之间的VXLAN隧道。

通过上述过程可以准确地监控并记录各个保活检测从机的状态。

基于同一发明构思,本发明实施例提供一种VTEP保活检测装置,应用在VXLAN网络包括的每个VTEP中,该装置结构如图3所示,包括:

确定模块31,用于确定VTEP在VXLAN网络中的角色,角色为保活检测从机或者保活检测主机;

第一检测模块32,用于若在VXLAN网络中的角色为保活检测从机,则以设定周期向保活检测主机发送携带VTEP的设备标识的探测请求,若在第一设定时长内接收到保活检测主机返回的携带存活VTEP信息表的探测应答,则根据存活VTEP信息表更新与VXLAN网络中的第一其他VTEP之间的VXLAN隧道的连接状态,存活VTEP信息表保存的是VXLAN网络中存活VTEP的设备标识;

第二检测模块33,用于若在VXLAN网络中的角色为保活检测主机,则监控存活VTEP信息表中的设备标识对应的VTEP是否失效,在存活VTEP信息表中删除失效VTEP的设备标识,并关闭与失效VTEP之间的VXLAN隧道;以及,接收VXLAN网络中的第二其他VTEP发送的携带第二其他VTEP的设备标识的探测请求,根据第二其他VTEP的设备标识更新存活VTEP信息表、以及与第二其他VTEP之间的VXLAN隧道的连接状态,并向第二其他VTEP发送携带存活VTEP信息表的探测应答。

该方案中,保活检测从机可以通过发送探测请求向保活检测主机上报存活状态,保活检测主机可以获知并监控VXLAN网络中的存活VTEP,并将存活VTEP的设备标识保存在存活VTEP信息表中同步给所有的保活检测从机,从而实现对VXLAN网络中的VTEP进行保活检测,进一步避免出现黑洞现象,并节省VTEP的转发资源和链路带宽。

具体的,确定模块31,具体用于:

获取VXLAN网络的整网配置信息表;

在整网配置信息表中查找包括VTEP的设备标识的表项;

将表项中包括的角色作为VTEP在VXLAN网络中的角色。

可选的,第一检测模块32,还用于:

若在设定时长内未接收到保活检测主机返回的携带存活VTEP信息表的探测应答,则发出保活检测主机告警,以提示管理员重新指定保活检测主机、并更新VXLAN网络的整网配置信息表;或者,

发起保活检测主机自协商,与VXLAN网络中的第三其他VTEP重新协商出保活检测主机,并根据协商结果更新VXLAN网络的整网配置信息表。

具体的,第一检测模块32,具体用于:

关闭VTEP的所有VXLAN隧道;

打开与存活VTEP信息表中的设备标识对应的VTEP之间的VXLAN隧道。

具体的,第二检测模块33,具体用于:

监控在第二设定时长内是否接收到存活VTEP信息表中包括的设备标识对应的VTEP发送的探测请求;

将发送探测请求的VTEP确定为存活,以及将未发送探测请求的VTEP确定为失效。

具体的,第二检测模块33,具体用于:

确定第二其他VTEP的设备标识是否保存在存活VTEP信息表中;

若第二其他VTEP的设备标识未保存在存活VTEP信息表中,则将第二其他VTEP的设备标识保存在存活VTEP信息表中,并打开与第二其他VTEP之间的VXLAN隧道。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1