处理VXLAN报文的方法、装置及VTEP设备与流程

文档序号:11279138阅读:431来源:国知局
处理VXLAN报文的方法、装置及VTEP设备与流程

本申请涉及通信技术领域,尤其涉及一种处理vxlan报文的方法、装置及vtep设备。



背景技术:

随着云计算的快速发展,数据中心的虚拟化程度越来越高,对物理网络的要求也越来越高。例如,数据中心网络中部署的机柜顶部(topofrack,tor)交换机,需要维护大规模的媒体接入控制(mediaaccesscontrol,mac)地址表。又例如,现有的虚拟局域网(virtuallocalareanetwork,vlan)技术最大仅支持4094个二层隔离独立转发域,无法实现海量虚拟机的网络隔离。再例如,多租户环境迫切需要行之有效的网络隔离技术,以保证用户的数据安全。

现有的虚拟可扩展局域网(virtualextensiblelan,vxlan)技术虽然可以解决上述问题。然而,在实际应用中,vxlan存在容易遭受仿冒的vxlan报文攻击的问题。例如,当攻击者将大量仿冒的vxlan报文发送至vxlan隧道端点(vxlantunnelingendpoint,vtep)设备时,vtep设备不得不提供大量的处理器资源处理仿冒的vxlan报文,导致vtep设备没有足够的剩余处理器资源来处理非vxlan报文,从而降低了vtep设备的正常工作效率。



技术实现要素:

本申请提供一种处理vxlan报文的方法及装置,用于解决vxlan遭受仿冒的vxlan报文攻击时,vtep设备的正常工作效率较低的问题。

为达到上述目的,本申请采用如下技术方案:

本申请提供了一种处理vxlan报文的方法,该方法应用于虚拟可扩展局域网隧道目的端vtep设备,其中,vtep设备与其所在虚拟可扩展局域网vxlan中的其他vtep设备互为vxlan隧道的源端和目的端,该方法包括:

接收vxlan报文,其中,vxlan报文包括本地vxlan报文和非本地vxlan报文,本地vxlan报文是指头部携带有本地vni的vxlan报文,非本地vxlan报文是指头部未携带本地vni的vxlan报文;

在第一预设时间内,统计非本地vxlan报文的数量;

当非本地vxlan报文的统计值大于或等于第一阈值时,丢弃接收到的非本地vxlan报文。

本申请还提供了一种处理vxlan报文的装置,该装置应用于虚拟可扩展局域网隧道目的端vtep设备,其中,vtep设备与其所在虚拟可扩展局域网vxlan中的其他vtep设备互为vxlan隧道的源端和目的端,该装置包括:

接收单元,用于接收vxlan报文,其中,vxlan报文包括本地vxlan报文和非本地vxlan报文,本地vxlan报文是指头部携带有本地vni的vxlan报文,非本地vxlan报文是指头部未携带本地vni的vxlan报文;

统计单元,用于在第一预设时间内,统计非本地vxlan报文的数量;

决策单元,用于当非本地vxlan报文的统计值大于或等于第一阈值时,丢弃接收到的非本地vxlan报文。

本申请还提供了一种vtep设备,该vtep设备与其所在虚拟可扩展局域网vxlan中的其他vtep设备互为vxlan隧道的源端和目的端,该vtep设备包括处理器,该处理器用于实现以下步骤:

通过接收单元接收vxlan报文,其中,vxlan报文包括本地vxlan报文和非本地vxlan报文,本地vxlan报文是指头部携带有本地vni的vxlan报文,非本地vxlan报文是指头部未携带本地vni的vxlan报文;

在第一预设时间内,统计非本地vxlan报文的数量;

当非本地vxlan报文的统计值大于或等于第一阈值时,丢弃接收到的非本地vxlan报文。

本申请提供的处理vxlan报文的方法、装置及vtep设备,通过统计第一预设时间内接收到的非本地vxlan报文的数量,且当非本地vxlan报文的统计值大于或等于第一阈值时,丢弃接收到的非本地vxlan报文,避免了处理来自非本地vxlan网络的仿冒的vxlan报文占用该vtep设备大量的处理器资源,从而使得该vtep设备能够保留足够的处理器资源处理本地vxlan报文和非vxlan报文,提高了该vtep设备的正常工作效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种处理vxlan报文的方法流程图;

图2为本申请实施例提供的另一种处理vxlan报文的方法流程图;

图3为本申请实施例提供的另一种处理vxlan报文的方法流程图;

图4为本申请实施例提供的另一种处理vxlan报文的方法流程图;

图5为本申请实施例提供的另一种处理vxlan报文的方法流程图;

图6为本申请实施例提供的一种处理vxlan报文的装置的结构示意图;

图7为本申请实施例提供的另一种处理vxlan报文的装置的结构示意图;

图8为本申请实施例提供的另一种处理vxlan报文的装置的结构示意图;

图9为本申请实施例提供的一种vtep设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

vxlan网络通常使用用户数据报协议(userdatagramprotocol,udp)将普通以太报文封装在udp报文内进行传输。vxlan网络使用24位的vxlan网络标识(vxlannetworkidentifier,vni),最大可支持16777215个二层隔离独立转发域,远大于vlan网络所能支持的4094个二层隔离独立转发域,能够更好地满足诸如数据中心、云处理器等较大规模的网络中海量租户网络隔离的需求,因此得到了广泛的应用。

在实际应用中,通常由位于vxlan隧道两端的vtep设备完成vxlan报文的封装及解封装。例如,位于vxlan隧道一端的vtep设备,将封装后的vxlan报文,向vxlan隧道另一端的vtep设备发送;而位于vxlan隧道另一端的vtep设备在接收到该vxlan报文后,对该vxlan报文作解封装处理。

需要注意的是,在vxlan网络中传输的报文,除了上述vxlan报文之外,还有非vxlan报文。因此,当vtep设备接收到一个报文之后,首先需要判断该报文是否为vxlan报文,具体方法如下:vtep设备判断该报文头部的udp目的端口号与该vtep设备本地配置的vxlan专用端口号是否相同,若上述两个端口号相同,则可确定该报文为vxlan报文,否则,为非vxlan报文。

如图1所示,本申请实施例提供一种处理vxlan报文的方法,该方法可以应用于vtep设备,其中,vtep设备与其所在vxlan网络中的其他vtep设备互为vxlan隧道的源端和目的端。

其中,该vtep设备可以支持至少一个vxlan网络,用于对来自至少一个vxlan网络的报文进行封装和解封装处理。

需要说明的是,发送vxlan报文的vtep设备为隧道源端vtep设备,接收vxlan报文的vtep设备为目的端vtep设备。然而,在实际应用中,vtep设备之间的vxlan报文传输通常是双向的,因此参与双向vxlan报文传输的vtep设备可以互为源端和目的端。

如图1所示,上述处理vxlan报文的方法具体包括:

步骤101、接收vxlan报文。

其中,vxlan报文包括本地vxlan报文和非本地vxlan报文。

需要说明的是,本地vxlan报文是指,该vxlan报文头部携带有本地vni的vxlan报文,本地vni包括该vtep设备支持的所有vxlan网络的vni,携带有本地vni是指,该vxlan报文头部携带的vni与该vtep设备支持的所有vxlan网络的vni中的一个vni相等。相应地,非本地vxlan报文是指,该vxlan报文头部未携带本地vni的vxlan报文,未携带本地vni是指,该vxlan报文头部携带的vni是除了该vtep设备支持的所有vxlan网络之外的其他vxlan的网络的vni。

步骤102、在第一预设时间内,统计非本地vxlan报文的数量。

其中,第一预设时间是指,该vtep设备统计非本地vxlan报文的数量的预设时间,可以根据具体的应用环境设置。例如,若该vtep设备在不同时间段内接收到的非本地vxlan报文的数量变化较大,则第一预设时间可以设置为一个较小值,例如1秒,以提高统计非本地vxlan报文的数量的准确度。又例如,若该vtep设备在较长时间内接收到的非本地xlan报文的数量一直较小,则第一预设时间可以设置为一个较大值,例如1小时。

步骤103、当非本地vxlan报文的统计值大于或等于第一阈值时,丢弃接收到的非本地vxlan报文。

需要说明的是,第一阈值可以根据具体的应用环境设置,其中具体的应用环境包括该vtep设备单位时间内所能处理的报文的最大数量。在实际应用中,除统计非本地vxlan报文的数量之外,还可以统计本地vxlan报文的数量和非vxlan报文的数量;当本地vxlan报文和非vxlan报文占接收到的所有报文的比例较高(例如80%),且单位时间内接收到的报文总量与该vtep设备单位时间内所能处理的报文的最大数量的比值较大(例如0.9)时,可以将第一阈值设置为一个较小值。其中,该vtep设备单位时间内接收到的报文总量,是指该vtep设备在该单位时间内接收到的非本地vxlan报文的数量、本地vxlan报文的数量和非vxlan报文的数量之和。

另外,若非本地vxlan报文的统计值小于第一阈值,则表明vtep设备有足够的剩余处理器资源处理接收到的非本地vxlan报文、本地vxlan报文和非vxlan报文,因此vtep设备会对接收到的非本地vxlan报文、本地vxlan报文和非vxlan报文作解封装处理。

本申请实施例提供的一种处理vxlan报文的方法,统计第一预设时间内接收到的非本地vxlan报文的数量,当非本地vxlan报文的统计值大于或等于第一阈值时,丢弃接收到的非本地vxlan报文,避免了处理来自非本地vxlan网络的仿冒的vxlan报文占用该vtep设备大量的处理器资源,从而使得该vtep设备能够保留足够的处理器资源处理本地vxlan报文和非vxlan报文,提高了该vtep设备的正常工作效率。

在如图1所示的实现方式的基础上,还可以实现为如图2所示的实现方式。在执行步骤103当非本地vxlan报文的统计值大于或等于第一阈值时,丢弃接收到的非本地vxlan报文之后,还可以执行步骤201和步骤202:

步骤201、在第二预设时间内,统计本地vxlan报文的数量。

其中,第二预设时间是指,该vtep设备统计本地vxlan报文的数量的预设时间,可以根据具体的应用环境设置。例如,若该vtep设备在不同时间段内接收到的本地vxlan报文的数量变化较大,则第二预设时间可以设置为一个较小值,例如1秒,以提高统计本地vxlan报文的数量的准确度。又例如,若该vtep设备在较长时间内接收到的本地xlan报文的数量一直较小,则第二预设时间可以设置为一个较大值,例如1小时。在本发明实施例中,可以为该vtep设备上的每个vxlan网络独立设置对应的第二阈值,即在vtep设备上配置vxlan网络时设置对应的第二阈值;不同vxlan网络设置的第二阈值可以相同,也可以不同。

步骤202、当本地vxlan报文的统计值大于或等于第二阈值时,丢弃接收到的本地vxlan报文。

需要说明的是,第二阈值可以根据具体的应用环境设置,其中具体的应用环境包括该vtep设备单位时间内所能处理的报文的最大数量。在实际应用中,除统计非本地vxlan报文的数量和本地vxlan报文的数量之外,还可以统计非vxlan报文的数量;当非vxlan报文的数量占接收到的所有报文的比例较高(例如70%),且该vtep设备单位时间内接收到的报文总量与该vtep设备单位时间内所能处理的报文的最大数量的比值较大(例如0.9)时,可以将第一阈值和第二阈值均设置为一个较小值。

另外,若本地vxlan报文的统计值小于第二阈值,则表明vtep设备有足够的剩余处理器资源处理接收到的本地vxlan报文和非vxlan报文,因此vtep设备会对接收到的本地vxlan报文和非vxlan报文作解封装处理。

值得说明的是,在本实施例中,为了保证有足够的处理器资源处理本地vxlan报文和较少的处理非本地vxlan报文,可以设定第一阈值小于第二阈值。本申请实例中的步骤201和步骤202,也可以分别与步骤102和步骤103同时执行,本申请对此不作限定。

本申请实施例提供的另一种处理vxlan报文的方法,统计第一预设时间内接收到的非本地vxlan报文的数量和第二预设时间内接收到的本地vxlan报文的数量,当非本地vxlan报文的统计值大于或等于第一阈值,且本地vxlan报文的统计值大于或等于第二阈值时,丢弃接收到的非本地vxlan报文和本地vxlan报文,避免了当处理来自非本地vxlan网络的仿冒的vxlan报文,和来自本地vxlan网络的仿冒的vxlan报文时,占用该vtep设备大量的处理器资源,从而使得该vtep设备能够保留足够的处理器资源处理非vxlan报文,进一步提高了该vtep设备的正常工作效率。

在如图1或图2所示的实现方式的基础上,在执行步骤103当非本地vxlan报文的统计值大于或等于第一阈值时,丢弃接收到的非本地vxlan报文之后,或者在执行步骤202当本地vxlan报文的统计值大于或等于第二阈值时,丢弃接收到的本地vxlan报文之后,还可以执行步骤301。例如,在图1的基础上执行步骤301,可以得到如图3所示的实现方式。

如图3所示,在执行步骤103之后,执行步骤301:

步骤301、发送告警指示。

其中,告警指示用于发送给用户设备,提示通过该用户设备登录vxlan网络的用户排查仿冒的vxlan报文的攻击源。告警指示可以为警报声、语音提示、指示灯光、纸质文件、以及可以由该用户设备播放的文字、图像、视频中的至少一种。其中,用户设备包括手机、pc机、平板电脑等所有可用于接入vxlan网络的设备。

在如图3所示的实现方式的基础上,还可以实现为如图4所示的实现方式。在执行步骤301发送告警指示之后,还可以执行步骤302:

步骤302、在告警预设周期内,当已发送的告警指示的数量大于或等于告警数量阈值时,停止发送告警指示。

其中,告警预设周期通常设置为一个较大值。例如,将告警预设周期设置为第一预设时间和第二预设时间中的一个的m倍,或者设置为第一预设时间和第二预设时间的最小公倍数的n倍,其中的m和n均为大于或等于1的自然数。

告警指示的目的,在于通知通过该用户设备登录vxlan网络的用户排查攻击源,只要保证能够通知到该用户即可,没有必要在较短时间内发送过多的告警指示,以避免对该用户造成不必要的干扰,同时避免发送过多的告警指示占用过多的vxlan网络资源。因此,在实际应用中,通常将告警数量阈值设置为一个较小值,例如5。在告警预设周期内,当以发送的告警指示的数量大于或等于5时,停止发送同一个告警指示。

在如图2所示的实现方式的基础上,还可以实现为如图5所示的实现方式。如图5所示,在执行步骤101接收vxlan报文之前,该方法还包括步骤401:

步骤401、在vtep设备上配置每个vxlan网络时,针对该vxlan网络设置对应的第二预设时间和第二阈值。

值得说明的是,在实际应用中,本申请实施例中提到的第一预设时间、第一阈值、第二预设时间、第二阈值、告警预设周期和告警数量阈值均可由vxlan网络自动设置,也可以由通过用户设备登录该vxlan网络的用户手动设置,本申请对此不作限定。

另外,需要注意的是,在实际应用中,可以根据以往接收到的仿冒的vxlan报文源头的统计数据,采取有针对性的技术手段,本申请对此不作限定。例如,若来自非本地vxlan网络的仿冒的vxlan报文所占的比例较大,例如90%,且该vtep设备尚有足够的剩余处理器资源处理本地vxlan报文和非vxlan报文时,可以只针对接收到的非本地vxlan报文采取步骤102和步骤103。

又例如,若来自本地vxlan网络的仿冒的vxlan报文所占的比例较大,例如90%,且该vtep设备尚有足够的剩余处理器资源处理非本地vxlan报文和非vxlan报文时,可以只针对接收到的本地vxlan报文采取步骤201和步骤202。

再例如,若来自本地vxlan网络的仿冒的vxlan报文和来自非本地vxlan网络的仿冒的vxlan报文数量相近,例如各占50%,且该vtep设备没有足够的剩余处理器资源处理非vxlan报文时,可以对接收到的非本地vxlan报文采取步骤102和步骤103的同时,对接收到的本地vxlan报文采取步骤201和步骤202。

如图5所示,本申请还提供了一种处理vxlan报文的装置30,该装置30应用于虚拟可扩展局域网隧道目的端vtep设备,其中,vtep设备与其所在虚拟可扩展局域网vxlan中的其他vtep设备互为vxlan隧道的源端和目的端。

上述装置30包括:

接收单元31,用于接收vxlan报文,其中,vxlan报文包括本地vxlan报文和非本地vxlan报文。

统计单元32,用于在第一预设时间内,统计非本地vxlan报文的数量。

决策单元33,用于当非本地vxlan报文的统计值大于或等于第一阈值时,丢弃接收到的非本地vxlan报文。

在本申请实施例提供的一种处理vxlan报文的装置30中,统计单元32统计由接收单元31在第一预设时间内接收到的非本地vxlan报文的数量,且当非本地vxlan报文的统计值大于或等于第一阈值时,决策单元33丢弃接收到的非本地vxlan报文,避免了处理来自非本地vxlan网络的仿冒的vxlan报文占用该vtep设备大量的处理器资源,从而使得该vtep设备能够保留足够的处理器资源处理本地vxlan报文和非vxlan报文,提高了该vtep设备的正常工作效率。

在本申请实施例提供的另一种处理vxlan报文的装置30中,如图6所示:

统计单元32,还用于在第二预设时间内,统计本地vxlan报文的数量。

决策单元33,还用于当本地vxlan报文的统计值大于或等于第二阈值时,丢弃接收到的本地vxlan报文。

本申请实施例提供的另一种处理vxlan报文的装置30,统计单元32统计由接收单元31在第一预设时间内接收到的非本地vxlan报文的数量,以及由接收单元31在第二预设时间内接收到的本地vxlan报文的数量,且当非本地vxlan报文的统计值大于或等于第一阈值,且本地vxlan报文的统计值大于或等于第二阈值时,决策单元33丢弃接收到的非本地vxlan报文和本地vxlan报文,避免了处理来自非本地vxlan网络的仿冒的vxlan报文和来自本地vxlan网络的仿冒的vxlan报文,占用该vtep设备大量的处理器资源,从而使得该vtep设备能够保留足够的处理器资源处理非vxlan报文,进一步提高了该vtep设备的正常工作效率。

在如图5所示的上述两种处理vxlan报文的装置30的基础上,还可以实现为如图6所示的另一种处理vxlan报文的装置30,其中

决策单元33,还用于通过发送单元34发送告警指示。

为了避免发送过多的告警指示占用大量的资源,在如图6所示的一种处理vxlan报文的装置30的基础上,还可以实现为另一种实现方式。如图6所示,其中

决策单元33,还用于在告警预设周期内,当告警指示的统计值大于或等于告警数量阈值时,停止发送告警指示。

在如图5或图6所示的任意一种处理vxlan报文的装置30的基础上,还可以实现为另一种处理vxlan报文的装置30。图7所示的一种处理vxlan报文的装置30,是在图5的基础上实现的另一种处理vxlan报文的装置30。如图7所示,该装置30还包括:

处理单元35,用于当非本地vxlan报文的统计值小于第一阈值时,对接收到的非本地vxlan报文、本地vxlan报文和非vxlan报文作解封装处理;

处理单元35,还用于当本地vxlan报文的统计值小于第二阈值时,对接收到的本地vxlan报文和非vxlan报文作解封装处理。

需要说明的是,非本地vxlan报文的统计值小于第一阈值,表明处理单元35还有足够的剩余处理器资源处理接收到的非本地vxlan报文、本地vxlan报文和非vxlan报文,因此处理单元35也会对接收到的非本地vxlan报文作解封装处理。也就是说,当非本地vxlan报文的统计值小于第一阈值时,处理单元35会对接收到的所有报文作解封装处理。

另一点需要说明的是,本地vxlan报文的统计值小于第二阈值,表明处理单元35还有足够的剩余处理器资源处理接收到的本地vxlan报文和非vxlan报文,因此处理单元35会对接收到的本地vxlan报文和非vxlan报文作解封装处理。

在如图6所示的一种处理vxlan报文的装置30的基础上,还可以实现为如图6所示的另一种处理vxlan报文的装置30。如图6所示,决策单元33,还用于在接收vxlan报文之前,在vtep设备上配置每个vxlan网络时,针对该vxlan网络设置对应的第二预设时间和第二阈值。

如图8所示,本申请实施例还提供了一种vtep设备40,该vtep设备40与其所在虚拟可扩展局域网vxlan中的其他vtep设备互为vxlan隧道的源端和目的端,该vtep设备包括处理器41,处理器41可用于实现以下步骤:

通过接收单元31接收vxlan报文,其中,vxlan报文包括本地vxlan报文和非本地vxlan报文;

在第一预设时间内,统计非本地vxlan报文的数量;

当非本地vxlan报文的统计值大于或等于第一阈值时,丢弃接收到的非本地vxlan报文。

在如图8所示的vtep设备40的基础上,本申请实施例还提供了另一种vtep设备40。如图8所示,在丢弃接收到的非本地vxlan报文之后,处理器41还用于执行以下步骤:

在第二预设时间内,统计本地vxlan报文的数量;

当本地vxlan报文的统计值大于或等于第二阈值时,丢弃接收到的本地vxlan报文。

在如图8所示的上述两种vtep设备中任意一种vtep设备的基础上,本申请实施例还提供了另一种vtep设备40。如图8所示,处理器41还用于执行以下步骤:

通过发送单元34发送告警指示。

为了避免发送过多的告警指示占用大量的资源,在本申请实施例的另一种实现方式中,处理器41还用于执行以下步骤:

在告警预设周期内,当已发送的告警指示的数量大于或等于告警数量阈值时,停止发送告警指示。

在如图8所示的任意一种vtep设备40的基础上,还可以实现为另一种vtep设备40。如图8所示,其中

处理器41,还用于当非本地vxlan报文的统计值小于第一阈值时,对接收到的非本地vxlan报文、本地vxlan报文和非vxlan报文作解封装处理;

处理器41,还用于当本地vxlan报文的统计值小于第二阈值时,对接收到的本地vxlan报文和非vxlan报文作解封装处理。

需要说明的是,非本地vxlan报文的统计值小于第一阈值,表明处理器41还有足够的剩余处理器资源处理接收到的非本地vxlan报文、本地vxlan报文和非vxlan报文,因此处理器41也会对接收到的非本地vxlan报文作解封装处理。也就是说,当非本地vxlan报文的统计值小于第一阈值时,处理器41会对接收到的所有报文作解封装处理。

另一点需要说明的是,本地vxlan报文的统计值小于第二阈值,表明处理器41还有足够的剩余处理器资源处理接收到的本地vxlan报文和非vxlan报文,因此处理器41会对接收到的本地vxlan报文和非vxlan报文作解封装处理。

在如图9所示的实现方式的基础上,还可以实现为如图9所示的另一种实现方式。如图9所示,处理器41还用于在接收vxlan报文之前,在vtep设备上配置每个vxlan网络时,针对该vxlan网络设置对应的第二预设时间和第二阈值。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

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