基于VXLAN网络的逻辑环路检测方法及装置与流程

文档序号:12278382阅读:844来源:国知局
基于VXLAN网络的逻辑环路检测方法及装置与流程

本发明涉及通信技术领域,尤指一种基于虚拟可扩展局域网(Virtual eXtensible Local Area Network,VXLAN)网络的逻辑环路检测方法及装置。



背景技术:

如图1所示是VXLAN网络的架构图,虚拟可扩展局域网隧道终端(Virtual eXtensible Local Area Network End Point,VTEP)1、VTEP2、VTEP3与VTEP4两两之间建立VXLAN隧道。由于整网规划的问题,该VXLAN网络可能存在逻辑环路。

假设VTEP1-VTEP4作为VXLAN网络的桥设备,它们下联的服务器都运行在标识为10的虚拟局域网(Virtual Local Area Network,VLAN)下,即VTEP1-VTEP4通过VXLAN网络转发接收到的携带VLAN 10的报文。若由于整网规划的问题,VTEP1、VTEP2与S5之间互联的端口是二层端口(trunk口),VTEP3通过三层端口发送给VTEP2的广播报文,在VTEP2解封装后,会发往上联trunk口,而S5收到广播报文后,发往所有的下联口(包括与S1之间互联的端口),S1收到广播报文,并进行VXLAN封装后发送给与之互联的VTEP2-VTEP4,由于VTEP3通过三层端口发送给VTEP2的广播报文,再次通过VTEP2的trunk口被VTEP2接收,这就造成逻辑环路。

而目前尚未存在基于VXLAN网络的逻辑环路检测方法。



技术实现要素:

本发明实施例提供一种基于VXLAN网络的逻辑环路检测方法及装置,用以检测VXALN网络中存在的逻辑环路。

根据本发明实施例,提供一种基于VXLAN网络的逻辑环路检测方法,应用在所述VXLAN网络包括的虚拟可扩展局域网隧道终端VTEP中,其特征在于,所述VXLAN网络包括的VTEP构成检测组,所述方法包括:

确定自身设备在所述检测组的角色,所述角色为主检测设备或者辅检测设备;

若确定所述自身设备在所述检测组的角色为主检测设备,则向所述检测组的辅检测设备发送携带已有虚拟局域网VLAN标识的检测报文,每个所述检测报文携带一个已有VLAN标识;监控是否从所述自身设备的二层端口接收到所述检测报文,若从所述自身设备的二层端口接收到所述检测报文,则检测到所述VXLAN网络存在逻辑环路;

若确定所述自身设备在所述检测组的角色为辅检测设备,则监控是否从所述自身设备的二层端口接收到检测报文,若从所述自身设备的二层端口接收到所述检测报文,则检测到所述VXLAN网络存在逻辑环路。

具体的,确定自身设备在所述检测组的角色,具体包括:

在所述检测组中广播携带自身设备标识的选取请求,并接收所述检测组中的其他VTEP发送的携带对应VTEP的设备标识的选取请求;

将所述其他VTEP的设备标识分别与所述自身设备标识进行比较;

若所述自身设备标识最大,则确定所述自身设备在所述检测组中的角色为主检测设备;

若所述自身设备标识不是最大,则确定所述自身设备在所述检测组中的角色为辅检测设备。

具体的,向所述检测组的辅检测设备发送携带已有VLAN标识的检测报文,具体包括:

获取本地VLAN转发表包括的VLAN标识,得到已有VLAN标识;

分别构造包括各个已有VLAN标识的检测报文;

通过各个三层端口向所述检测组中对应的辅检测设备发送构造的检测报文。

可选的,若所述自身设备在所述检测组的角色为主检测设备,所述方法还包括:

将检测报文特征信息发送给所述检测组的辅检测设备,以使所述检测组的辅检测设备根据所述检测报文特征信息确定接收到的报文是否为检测报文。

可选的,若所述自身设备在所述检测组的角色为辅检测设备,所述方法还包括:

接收所述检测组的主检测设备发送的检测报文特性信息;

监控是否从所述自身设备的二层端口接收到检测报文,具体包括:

监控是否从所述自身设备的二层端口接收到报文;

若从所述自身设备的二层端口接收到报文,则根据所述检测报文特征信息确定所述报文是否是检测报文;

若所述报文是检测报文,则确定从所述自身设备的二层端口接收到检测报文。

可选的,检测到所述VXLAN网络存在逻辑环路之后,所述方法还包括:

在本地VLAN转发表中删除接收到的所述检测报文携带的VLAN标识,以停止转发与接收到的所述检测报文携带的VLAN标识相关的报文。

根据本发明实施例,还提供一种基于VXLAN网络的逻辑环路检测装置,应用在所述VXLAN网络包括的虚拟可扩展局域网隧道终端VTEP中,所述VXLAN网络包括的VTEP构成检测组,所述装置包括:

确定模块,用于确定自身设备在所述检测组的角色,所述角色为主检测设备或者辅检测设备;

第一检测模块,用于若确定所述自身设备在所述检测组的角色为主检测设备,则向所述检测组的辅检测设备发送携带已有虚拟局域网VLAN标识的检测报文,每个所述检测报文携带一个已有VLAN标识;监控是否从所述自身设备的二层端口接收到所述检测报文,若从所述自身设备的二层端口接收到所述检测报文,则检测到所述VXLAN网络存在逻辑环路;

第二检测模块,用于若确定所述自身设备在所述检测组的角色为辅检测设备,则监控是否从所述自身设备的二层端口接收到检测报文,若从所述自身设备的二层端口接收到所述检测报文,则检测到所述VXLAN网络存在逻辑环路。

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

在所述检测组中广播携带自身设备标识的选取请求,并接收所述检测组中的其他VTEP发送的携带对应VTEP的设备标识的选取请求;

将所述其他VTEP的设备标识分别与所述自身设备标识进行比较;

若所述自身设备标识最大,则确定所述自身设备在所述检测组中的角色为主检测设备;

若所述自身设备标识不是最大,则确定所述自身设备在所述检测组中的角色为辅检测设备。

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

获取本地VLAN转发表包括的VLAN标识,得到已有VLAN标识;

分别构造包括各个已有VLAN标识的检测报文;

通过各个三层端口向所述检测组中对应的辅检测设备发送构造的检测报文。

可选的,若所述自身设备在所述检测组的角色为主检测设备,所述第一检测模块还用于:

将检测报文特征信息发送给所述检测组的辅检测设备,以使所述检测组的辅检测设备根据所述检测报文特征信息确定接收到的报文是否为检测报文。

可选的,若所述自身设备在所述检测组的角色为辅检测设备,所述第二检测模块还用于:

接收所述检测组的主检测设备发送的检测报文特性信息;

所述第二检测模块,用于监控是否从所述自身设备的二层端口接收到检测报文,具体用于:

监控是否从所述自身设备的二层端口接收到报文;

若从所述自身设备的二层端口接收到报文,则根据所述检测报文特征信息确定所述报文是否是检测报文;

若所述报文是检测报文,则确定从所述自身设备的二层端口接收到检测报文。

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

检测到所述VXLAN网络存在逻辑环路之后,在本地VLAN转发表中删除接收到的所述检测报文携带的VLAN标识,以停止转发与接收到的所述检测报文携带的VLAN标识相关的报文。

本发明有益效果如下:

本发明实施例提供一种基于VXLAN网络的逻辑环路检测方法及装置,通过确定自身设备在所述检测组的角色,所述角色为主检测设备或者辅检测设备;若确定所述自身设备在所述检测组的角色为主检测设备,则向所述检测组的辅检测设备发送携带已有虚拟局域网VLAN标识的检测报文,每个所述检测报文携带一个已有VLAN标识;监控是否从所述自身设备的二层端口接收到所述检测报文,若从所述自身设备的二层端口接收到所述检测报文,则检测到所述VXLAN网络存在逻辑环路;若确定所述自身设备在所述检测组的角色为辅检测设备,则监控是否从所述自身设备的二层端口接收到检测报文,若从所述自身设备的二层端口接收到所述检测报文,则检测到所述VXLAN网络存在逻辑环路。该方案中,检测组的主检测设备可以发出检测报文,并通过监控二层端口是否接收到检测报文来检测VXLAN网络是否存在逻辑环路,检测组中的辅检测设备直接通过监控二层端口是否接收到检测报文来检测VXLAN网络是否存在逻辑环路,从而实现检测VXLAN网络中的逻辑环路,从而可以防止VXLAN网络发生地址震荡,确保VXLAN网络中报文的正常转发。

附图说明

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

图2为本发明实施例中基于VXLAN网络的网络环路检测方法的流程图;

图3为本发明实施例中S21的流程图;

图4为本发明实施例中S22的流程图;

图5为本发明实施例中S23的流程图;

图6为本发明实施例中基于VXLAN网络的流量转发控制装置的结构示意图。

具体实施方式

为了实现检测VXALN网络中存在的逻辑环路,本发明实施例提供一种基于VXLAN网络的网络环路检测方法,应用在VXLAN网络包括的VTEP中,该方法的流程如图2所示,执行步骤如下:

S20:流程开始。

S21:确定自身设备在检测组的角色,若确定自身设备在检测组的角色为主检测设备,则执行S22;若确定自身设备在检测组的角色为辅检测设备,则执行S23。

检测组是由VXLAN网络包括的VTEP构成,检测组中包括一个主检测设备和多个辅检测设备,也就是说,每个VTEP的角色为主检测设备或者辅检测设备。由于主检测设备和辅检测设备执行的操作不同,因此VTEP需要首先确定自身设备在检测组的角色。

S22:向检测组的辅检测设备发送携带已有VLAN标识的检测报文,监控是否从自身设备的二层端口接收到检测报文,若从自身设备的二层端口接收到检测报文,则检测到VXLAN网络存在逻辑环路。

S23:监控是否从自身设备的二层端口接收到检测报文,若从自身设备的二层端口接收到检测报文,则检测到VXLAN网络存在逻辑环路。

对于主检测设备,需要构造检测报文并发给检测组中的辅检测设备,若已有VLAN标识有多个,每个检测报文携带一个已有VLAN标识,也就是说有多少个标识就构造多少个检测报文,每个检测报文携带的VLAN标识不同;对于主检测设备和辅检测设备,都需要监控是否从自身设备的二层端口接收到检测报文,若从自身设备的二层端口(可以但不限于是trunk口)接收到检测报文,则检测到VXLAN网络存在逻辑环路,需要在本地VLAN转发表中删除接收到的检测报文携带的VLAN标识,以停止转发与接收到的检测报文携带的VLAN标识相关的报文,从而不再处理该VLAN标识相关的报文,破除VXLAN的逻辑环路。

该方案中,检测组的主检测设备可以发出检测报文,并通过监控二层端口是否接收到检测报文来检测VXLAN网络是否存在逻辑环路,检测组中的辅检测设备直接通过监控二层端口是否接收到检测报文来检测VXLAN网络是否存在逻辑环路,从而实现检测VXLAN网络中的逻辑环路,并且进一步还可以破除逻辑环路,从而可以防止VXLAN网络发生地址震荡,确保VXLAN网络中报文的正常转发。

具体的,上述S21中确定自身设备在检测组的角色的实现方式,如图3所示,具体包括:

S211:在检测组中广播携带自身设备标识的选取请求,并接收检测组中的其他VTEP发送的携带对应VTEP的设备标识的选取请求。

S212:将其他VTEP的设备标识分别与自身设备标识进行比较,若自身设备标识最大,则执行S213;若自身设备标识不是最大,则执行S214。

S213:确定自身设备在检测组中的角色为主检测设备。

S214:确定自身设备在检测组中的角色为辅检测设备。

本实施例中通过设备标识的大小确定自身设备的角色,也就是说选取设备标识最大的作为主检测设备,其它的VTEP为辅检测设备。确定自身设备在检测组中的角色有多种方式,其它方式这里不再赘述。

具体的,上述S22中的向检测组的辅检测设备发送携带已有VLAN标识的检测报文的实现方式,如图4所示,具体包括:

S221:获取本地VLAN转发表包括的VLAN标识,得到已有VLAN标识。

由于本地VLAN转发表包括的可以转发的报文中携带的VLAN标识,因此,可以通过通过本地VLAN转发表获取已有VLAN标识。

S222:分别构造包括各个已有VLAN标识的检测报文。

每个检测报文中携带一个VLAN标识,并且各个检测报文中携带的VLAN标识不同。

S223:通过各个三层端口向检测组中对应的辅检测设备发送构造的检测报文。

由于检测组中的VTEP之间存在VXLAN隧道,VTEP通过三层端口联通对应的VXLAN隧道,因此,可以通过各个三层端口向检测组中对应的辅检测设备发送构造的检测报文。

一种可选的实施方式,若自身设备在检测组的角色为主检测设备,上述方法还包括:将检测报文特征信息发送给检测组的辅检测设备,以使检测组的辅检测设备根据检测报文特征信息确定接收到的报文是否为检测报文。

主检测设备可以自定义检测报文,例如携带检测报文特征信息的报文为检测报文,主检测设备自定义检测报文后,需要将检测报文特征信息同步给辅检测设备,以使检测组的辅检测设备根据检测报文特征信息确定接收到的报文是否为检测报文。其中,检测报文特征信息可以根据实际需要进行设定,例如,可以设定为报文五元组,即源媒体访问控制(Media Access Control,MAC)地址、目的MAC地址、报文类型、源互联网协议(Internet Protocol,IP)地址和目的IP地址。

相应地,若自身设备在检测组的角色为辅检测设备,方法还包括:接收检测组的主检测设备发送的检测报文特性信息。

检测组的辅检测设备根据检测报文特征信息确定接收到的报文是否为检测报文。

相应地,上述S23中的监控是否从自身设备的二层端口接收到检测报文的实现方式,如图5所示,具体包括:

S231:监控是否从自身设备的二层端口接收到报文。

辅检测设备可以监控自身设备的二层端口是否接收到报文。

S232:若从自身设备的二层端口接收到报文,则根据检测报文特征信息确定报文是否是检测报文。

具体的,携带检测报文特征信息的报文检测报文,未携带检测报文特征信息的报文不是检测报文。

S233:若报文是检测报文,则确定从自身设备的二层端口接收到检测报文。

通过S231-S233可以实现监控是否从自身设备的二层端口接收到检测报文,从而进一步确定VXLAN网络中是否存在逻辑环路。

基于同一发明构思,本发明实施例提供一种基于VXLAN网络的逻辑环路检测装置,应用在VXLAN网络包括的VTEP中,VXLAN网络包括的VTEP构成检测组,该装置的结构如图6所示,包括:

确定模块61,用于确定自身设备在检测组的角色,角色为主检测设备或者辅检测设备;

第一检测模块62,用于若确定自身设备在检测组的角色为主检测设备,则向检测组的辅检测设备发送携带已有VLAN标识的检测报文,每个检测报文携带一个已有VLAN标识;监控是否从自身设备的二层端口接收到检测报文,若从自身设备的二层端口接收到检测报文,则检测到VXLAN网络存在逻辑环路;

第二检测模块63,用于若确定自身设备在检测组的角色为辅检测设备,则监控是否从自身设备的二层端口接收到检测报文,若从自身设备的二层端口接收到检测报文,则检测到VXLAN网络存在逻辑环路。

该方案中,检测组的主检测设备可以发出检测报文,并通过监控二层端口是否接收到检测报文来检测VXLAN网络是否存在逻辑环路,检测组中的辅检测设备直接通过监控二层端口是否接收到检测报文来检测VXLAN网络是否存在逻辑环路,从而实现检测VXLAN网络中的逻辑环路,从而可以防止VXLAN网络发生地址震荡,确保VXLAN网络中报文的正常转发。

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

在检测组中广播携带自身设备标识的选取请求,并接收检测组中的其他VTEP发送的携带对应VTEP的设备标识的选取请求;

将其他VTEP的设备标识分别与自身设备标识进行比较;

若自身设备标识最大,则确定自身设备在检测组中的角色为主检测设备;

若自身设备标识不是最大,则确定自身设备在检测组中的角色为辅检测设备。

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

获取本地VLAN转发表包括的VLAN标识,得到已有VLAN标识;

分别构造包括各个已有VLAN标识的检测报文;

通过各个三层端口向检测组中对应的辅检测设备发送构造的检测报文。

可选的,若自身设备在检测组的角色为主检测设备,第一检测模块62还用于:

将检测报文特征信息发送给检测组的辅检测设备,以使检测组的辅检测设备根据检测报文特征信息确定接收到的报文是否为检测报文。

可选的,若自身设备在检测组的角色为辅检测设备,第二检测模块63还用于:

接收检测组的主检测设备发送的检测报文特性信息;

第二检测模块63,用于监控是否从自身设备的二层端口接收到检测报文,具体用于:

监控是否从自身设备的二层端口接收到报文;

若从自身设备的二层端口接收到报文,则根据检测报文特征信息确定报文是否是检测报文;

若报文是检测报文,则确定从自身设备的二层端口接收到检测报文。

可选的,第一检测模块62和第二检测模块63,还用于:

检测到VXLAN网络存在逻辑环路之后,在本地VLAN转发表中删除接收到的检测报文携带的VLAN标识,以停止转发与接收到的检测报文携带的VLAN标识相关的报文。

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

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

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

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

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

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