一种流量统计方法和装置与流程

文档序号:31723594发布日期:2022-10-04 23:57阅读:36来源:国知局
一种流量统计方法和装置与流程

1.本技术涉及数据通信技术领域,尤其涉及一种流量统计方法和装置。


背景技术:

2.云计算已经成为数据中心的发展方向,同时数据中心为了更大的业务量并降低维护成本,逐渐向大二层技术及虚拟化迁移,随着数据中心在物理网络基础设施上向服务器虚拟化的方向快速发展,可扩展虚拟局域网络(virtual extensible local area metwork,vxlan)技术具有很强的适应性为数据中心提供了良好的解决方案。
3.现有技术中普遍采用netflow、sflow等流量采集方式对云网络内部的网络流量进行采集与监控。但是,现有的流量采集方式中,在接收vxlan报文时无法区分vxlan报文的传输类型,进而无法在接收vxlan报文时对vxlan报文进行细分流量统计。
4.因此,目前亟需一种方案,用以在可扩展虚拟局域网络中,对接收到的报文进行区分传输类型的流量统计。


技术实现要素:

5.本技术提供一种流量统计方法和装置,用以在可扩展虚拟局域网络中,对接收到的报文进行区分传输类型的流量统计。
6.第一方面,本技术实施例提供一种流量统计方法,该方法包括:虚拟交换机ovs针对从可扩展虚拟局域网络vxlan接口接收的报文,解析所述报文的vxlan头;按照所述vxlan头中第一标志位指示的vxlan传输类型,对所述报文进行所述vxlan传输类型的流量统计;其中,vxlan传输类型用于标识报文所经的不同类型的vxlan传输路径。
7.上述技术方案中,通过在vxlan头设置用于指示vxlan传输类型的第一标志位,使得ovs在解析vxlan接口接收的报文时,通过vxlan头中的第一标志位获知该报文的传输类型,进而ovs可以根据第一标志位指示的vxlan传输类型,对接收到的报文进行区分传输类型的流量统计。
8.在一种可能的设计中,所述解析所述报文的vxlan头,包括:解析所述报文的vxlan头中的第二标志位;在确定所述第二标志位指示第一标志位有效后,解析所述vxlan头中的所述第一标志位。
9.上述技术方案中,通过在vxlan头部设置第二标志位,使得当ovs解析报文的vxlan头时,若识别到第二标志位指示第一标志位有效,则继续解析vxlan头的第一标志位;若识别到第二标志位指示第一标志位无效时,则将报文转发至下一节点,省去了解析第一标志位的过程,如此,可以节省处理报文的开销,提高处理报文的效率。
10.在一种可能的设计中,所述第一标志位设置在所述vxlan头的保留字段中,所述第二标志位设置在所述vxlan头的标记字段中。
11.上述技术方案中,vxlan头的标记字段在保留字段的前面,当ovs顺序解析vxlan头时,通过识别vxlan头的标记字段中的第二标志位指示第一标志位是否有效,来判断是否继
续解析保留字段中的第一标志位,可以节省处理报文的开销,提高处理报文的效率。
12.在一种可能的设计中,所述对所述报文进行所述vxlan传输类型的流量统计之后,还包括:将不同的vxlan传输类型的流量统计结果转发至网络监控站点,所述网络监控站点用于对所述不同的vxlan传输类型的流量统计结果进行展示。
13.上述技术方案中,网络监控站点可以对不同的vxlan传输类型的流量进行进一步分析和展示,进而可以使用户清楚直观地获知网络中不同的vxlan传输类型的流量统计结果。
14.在一种可能的设计中,所述vxlan传输类型包括二层流量的vxlan传输类型、三层流量的vxlan传输类型和三层流量卸载的vxlan传输类型。
15.上述技术方案中,根据不同vxlan传输类型的报文的细分流量统计结果,可以进一步对网络架构和网络性能进行评估。
16.第二方面,本技术实施例提供一种流量标记方法,该方法包括:虚拟交换机ovs针对虚拟机发送的报文进行vxlan封装时,根据流表确定所述报文的vxlan传输类型;其中,vxlan传输类型用于标识报文所经的不同类型的vxlan传输路径;在vxlan头的第一标志位中填充所述vxlan传输类型对应的编码。
17.上述技术方案中,虚拟交换机ovs在对虚拟机发送的报文进行vxlan封装时,将报文的vxlan传输类型填充在vxlan头的第一标志位中,以便在接收报文时,通过vxlan头中的第一标志位,获知该报文的传输类型,进而根据第一标志位指示的vxlan传输类型,对接收到的报文进行区分传输类型的流量统计。
18.在一种可能的设计中,所述虚拟交换机ovs针对虚拟机发送的报文进行vxlan封装之前,还包括:虚拟交换机ovs根据流表确定虚拟机发送的报文的下一跳为vxlan接口;根据流表确定所述报文的vxlan传输类型,包括:基于流表得到的所述报文的流表轨迹,确定所述报文的vxlan传输类型。
19.上述技术方案中,不同vxlan传输类型的报文在流表的匹配过程中流表轨迹不同,因此可以根据报文的流表轨迹确定报文的vxlan传输类型,以便根据确定的报文的vxlan传输类型对vxlan头进行填充。
20.在一种可能的设计中,所述根据流表确定所述报文的vxlan传输类型之后,还包括:将所述vxlan头的第二标志位置为指示所述第一标志位有效的编码。
21.上述技术方案中,虚拟交换机ovs在对虚拟机发送的报文进行vxlan封装时,除了将报文的vxlan传输类型填充在vxlan头的第一标志位中,还将vxlan头的第二标志位置为指示第一标志位有效的编码。以便在接收报文时,通过识别vxlan头的第二标志位,来判断是否继续解析第一标识位,若识别到第二标志位指示第一标志位有效,则继续解析vxlan头的第一标志位;若识别到第二标志位指示第一标志位无效时,则将报文转发至下一节点,省去了解析第一标志位的过程,如此,可以节省处理报文的开销,提高处理报文的效率。
22.第三方面,本技术实施例提供一种流量统计装置,包括:
23.解析模块,用于虚拟交换机ovs针对从可扩展虚拟局域网络vxlan接口接收的报文,解析所述报文的vxlan头;
24.统计模块,用于按照所述vxlan头中第一标志位指示的vxlan传输类型,对所述报文进行所述vxlan传输类型的流量统计;其中,vxlan传输类型用于标识报文所经的不同类
型的vxlan传输路径。
25.在一种可能的设计中,所述解析模块,还用于解析所述报文的vxlan头中的第二标志位;在确定所述第二标志位指示第一标志位有效后,解析所述vxlan头中的所述第一标志位。
26.在一种可能的设计中,所述第一标志位设置在所述vxlan头的保留字段中,所述第二标志位设置在所述vxlan头的标记字段中。
27.在一种可能的设计中,所述统计模块还用于,对所述报文进行所述vxlan传输类型的流量统计之后,将不同的vxlan传输类型的流量统计结果转发至网络监控站点,所述网络监控站点用于对所述不同的vxlan传输类型的流量统计结果进行展示。
28.在一种可能的设计中,所述vxlan传输类型包括二层流量的vxlan传输类型、三层流量的vxlan传输类型和三层流量卸载的vxlan传输类型。
29.第四方面,本技术实施例提供一种流量标记装置,包括:
30.确定模块,用于针对虚拟机发送的报文进行vxlan封装时,根据流表确定所述报文的vxlan传输类型;其中,vxlan传输类型用于标识报文所经的不同类型的vxlan传输路径;
31.处理模块,用于在vxlan头的第一标志位中填充所述vxlan传输类型对应的编码。
32.在一种可能的设计中,针对虚拟机发送的报文进行vxlan封装之前,所述确定模块,还用于根据流表确定虚拟机发送的报文的下一跳为vxlan接口;
33.所示确定模块,还用于基于流表得到的所述报文的流表轨迹,确定所述报文的vxlan传输类型。
34.在一种可能的设计中,在所述确定模块根据流表确定所述报文的vxlan传输类型之后,所述处理模块还用于将所述vxlan头的第二标志位置为指示所述第一标志位有效的编码。
35.第五方面,本技术实施例还提供一种计算设备,包括:
36.存储器,用于存储程序指令;
37.处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如第一方面或第二方面的任一种可能的设计中所述的方法。
38.第六方面,本技术实施例还提供一种计算机可读存储介质,其中存储有计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得上述第一方面或第二方面的任一种可能的设计中所述的方法实现。
附图说明
39.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
40.图1为本技术实施例提供的一种系统架构的示意图;
41.图2为本技术实施例提供的一种二层流量的报文传输路径的示意图;
42.图3为本技术实施例提供的一种三层流量的报文传输路径的示意图;
43.图4为本技术实施例提供的一种三层流量卸载的报文传输路径的示意图;
44.图5为本技术实施例提供的一种流量统计方法的流程示意图;
45.图6为本技术实施例提供的一种流量标记方法的流程示意图;
46.图7为本技术实施例提供的一种流量标记的具体流程的示意图;
47.图8为本技术实施例提供的一种流量统计的具体流程的示意图;
48.图9为本技术实施例提供的一种流量统计装置的结构示意图;
49.图10为本技术实施例提供的一种流量标记装置的结构示意图;
50.图11为本技术实施例提供的一种计算设备的结构示意图。
具体实施方式
51.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
52.在本技术的实施例中,多个是指两个或两个以上。“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
53.为了便于理解本技术实施例的方案,以下简单介绍一下本技术实施例涉及的缩略语和关键术语定义:
54.可扩展虚拟局域网络(virtual extensible lan,vxlan):是一种隧道技术,能在三层网络的基础上建立二层以太网网络隧道,从而实现跨地域的二层互连。
55.虚拟机(virtual machine,vm):通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
56.vxlan隧道端点(vxlan tunnel end point,vtep):用于建立vxlan隧道的端点设备,报文的封装和解封装在vtep节点上进行。
57.软件定义网络(software sefined network,sdn):一种新型网络创新架构,是网络虚拟化的一种实现方式。
58.虚拟交换机(openvswitch,ovs):一个高质量的,多层虚拟交换机,其目的是让大规模网络自动化可以通过编程扩展,同时仍然支持标准的管理接口和协议:例如netflow、sflow等,并且它还支持多个物理机的分布式环境。
59.虚拟私有云(virtual private cloud,vpc)。
60.云计算如今已经成为数据中心的发展方向,同时数据中心为了更大的业务量并降低维护成本,逐渐向大二层技术及虚拟化迁移。随着数据中心在物理网络基础设施上向服务器虚拟化的快速发展,vxlan技术具有很强的适应性为数据中心提供了良好的解决方案。基于vxlan的云网络解决方案中,主要有网络overlay、主机overlay和混合overlay几种模式。云厂商中最常使用的主机overlay场景,其典型云网络组网场景如图1所示,在主机overlay场景中所有终端均采用ovs作为vtep节点,即把vxlan的vtep设置在ovs上,上层的网络设备只做路由承载无须运行vxlan。
61.图1所示的云网络为spine-leaf网络架构,基础网络层(underlay网络层)包括多个脊spine节点和叶leaf节点,业务网络层(overlay网络层)包括多台主机/服务器,控制层和展示层包括多种不同功能的插件。
62.其中,spine节点用于连接各个leaf节点,spine节点上的交换机和leaf节点上的交换机之间通过ecmp(equal cost multi path)动态选择多条路径进行数据传输。leaf节点包括server leaf节点(如图中的leaf1节点、leaf2节点)和service leaf节点。server leaf节点用于连接含有多个虚拟机的主机/服务器;service leaf节点用于为各个节点提供服务,可以连接租户网关(tencent gateway,tgw)、防火墙、ids等设备,根据租户的需要分配资源。
63.主机/服务器上包括多个虚拟机vm,每个vm都可以独立运行,有自己的操作系统、app,也有自己独立的mac地址和ip地址,它们通过主机/服务器内部的虚拟交换机ovs与外部实体网络连接。
64.需要说明的是,上述图1所示的云网络组网场景仅是一种示例,本技术实施例对此不做具体限定。
65.现有技术中普遍采用netflow、sflow等流量采集方式对云网络内部的网络流量(东西向流量)进行采集与监控,通过在ovs上开启netflow协议识别报文,待流老化后打包上传到网络监控站点进行统计及分析。
66.但是现有技术中对流量的采集都是基于报文的源ip地址、目的ip地址、源端口号、目的端口号、输入接口号、输出接口号等信息进行报文的识别和统计。这些流量采集方式对报文识别的颗粒度较粗,无法识别出报文的传输路径,进而无法对接收到的报文进行区分传输类型的流量统计。例如,在有些vpc三层流量卸载的云网络环境中,执行三层流量卸载的vpc和没执行三层流量卸载的vpc中的三层流量的传输路径是不一样的。由于现有的流量采集方式无法区分出这两种不同传输路径的报文,因此,无法评估三层流量卸载对网关减轻了多少压力。
67.下面结合图2、图3和图4对不同传输类型的报文进行分析。
68.二层流量的vxlan传输类型的报文的转发路径,如图2所示,假设vm1和vm3在同一网段,vm1访问vm3,ovs1和ovs2之间建立vxlan隧道,vm1至vm3的一条数据传输路径为:vm1

ovs1

leaf1

ovs2

vm3。vm1首先向vm1所属的host1上的ovs1发送原始报文(原始以太帧),vm1发送的原始报文结构,如表1所示,原始报文的源mac地址为vm1的mac地址,目的mac地址为vm3的mac地址,源ip地址为vm1的ip地址,目的ip地址为vm3的ip地址。
69.表1
70.源mac地址vm1-mac目的mac地址vm3-mac源ip地址vm1-ip目的ip地址vm3-ip 数据包
71.ovs根据接收到的vm1发送的原始报文中的源mac地址、目的mac地址、源ip地址、目的ip地址查找ovs的流表,根据流表对原始报文进行vxlan封装。vxlan封装包括外层以太头、外层ip头、外层udp头和vxlan头四个部分的封装。ovs对原始报文封装后得到的vxlan报文如表2所示,在vxlan报文的vxlan封装中,外层以太头中的源mac地址为vm1所属host1的mac地址,目的mac地址是所属host1下一跳的mac地址。外层ip头中源ip地址为ovs1上的vtep的ip地址,目的ip地址为ovs2上的vtep的ip地址。外层udp头的目的端口为用户自定义
的vxlan端口号,一般默认使用4789号端口。原始以太帧即为vm1发送的原始报文。
72.表2
[0073][0074]
三层流量的vxlan传输类型的报文的转发路径,如图3所示,假设vm1和vm4在不同网段,vm1访问vm4,ovs1和租户网关之间建立vxlan隧道,vm1至vm4的一条数据传输路径为:vm1

ovs1

leaf1

spine1

serviceleaf

tgw1

serviceleaf

spine2

leaf2

ovs2

vm4。vm1首先向vm1所属的host1上的ovs1发送原始报文(原始以太帧),vm1发送的原始报文结构,如表3所示,原始报文的源mac地址为vm1的mac地址,目的mac地址为租户网关上子网的网关(假设为tgw1)的mac地址,源ip地址为vm1的ip地址,目的ip地址为vm4的ip地址。
[0075]
表3
[0076]
源mac地址vm1-mac目的mac地址tgw1-mac源ip地址vm1-ip目的ip地址vm4-ip 数据包
[0077]
ovs根据接收到的vm1发送的原始报文中的源mac地址、目的mac地址、源ip地址、目的ip地址查找ovs的流表,根据流表对原始报文进行vxlan封装。ovs对原始报文封装后得到的vxlan报文,如表4所示,在vxlan报文的vxlan封装中,外层以太头中的源mac地址为vm1所属host1的mac地址,目的mac地址是所属host1下一跳的mac地址。外层ip头中源ip地址为ovs1上的vtep的ip地址,目的ip地址为租户网关上的vtep的ip地址。外层udp头的目的端口为用户自定义的vxlan端口号,一般默认使用4789号端口。原始以太帧即为vm1发送的原始报文。
[0078]
表4
[0079][0080][0081]
三层流量卸载的vxlan传输类型的报文的转发路径,如图4所示,假设vm1和vm4在不同网段,vm1访问vm4,ovs1模拟租户网关直接和ovs2建立了vxlan隧道,vm1至vm4的一种数据传输路径为:vm1

ovs1

leaf1

ovs2

vm4。vm1首先向vm1所属的host1上的ovs1发送原始报文(原始以太帧),vm1发送的原始报文结构,如表5所示,原始报文的源mac地址为vm1的mac地址,目的mac地址为租户网关上子网的网关(假设为tgw1)的mac地址,源ip地址为vm1的ip地址,目的ip地址为vm4的ip地址。原始以太帧即为vm1发送的原始报文。
[0082]
表5
[0083]
源mac地址vm1-mac目的mac地址tgw1-mac源ip地址vm1-ip目的ip地址vm4-ip 数据包
[0084]
ovs根据接收到的vm1发送的原始报文中的源mac地址、目的mac地址、源ip地址、目的ip地址查找ovs的流表,根据流表对原始报文进行vxlan封装。ovs对原始报文封装后得到的vxlan报文,如表6所示,在vxlan报文的vxlan封装中,外层以太头中的源mac地址为vm1所属host1的mac地址,目的mac地址是所属host1下一跳的mac地址。外层ip头中源ip地址为ovs1上的vtep的ip地址,目的ip地址为ovs2上的vtep的ip地址。外层udp头的目的端口为用户自定义的vxlan端口号,一般默认使用4789号端口。
[0085]
表6
[0086][0087]
从上述对三种vxlan传输类型的vxlan报文的描述可以看出,ovs在接收vxlan报文时,无法通过vxlan报文的vxlan封装识别出不同的vxlan传输类型。例如表2中二层流量的vxlan传输类型的vxlan封装和表6中三层流量卸载的vxlan传输类型的vxlan封装的是一样的。进而ovs在接收vxlan报文时无法对vxlan报文进行区分传输类型的流量统计。
[0088]
基于上述描述,本技术实施例提供的一种流量统计方法和流量标记方法,用以在可扩展虚拟局域网络中,对接收到的报文进行区分传输类型的流量统计。
[0089]
图5示例性地示出了本技术实施例提供的一种流量统计方法,该方法应用于流量入口的ovs中。如图5所示,该方法包括以下步骤:
[0090]
步骤501、虚拟交换机ovs针对从可扩展虚拟局域网络vxlan接口接收的报文,解析报文的vxlan头。
[0091]
步骤502、按照vxlan头中第一标志位指示的vxlan传输类型,对报文进行vxlan传输类型的流量统计。
[0092]
其中,vxlan传输类型用于标识报文所经的不同类型的vxlan传输路径。vxlan传输类型可以包括二层流量的vxlan传输类型、三层流量的vxlan传输类型和三层流量卸载的vxlan传输类型。
[0093]
在vxlan报文中原始的vxlan头的格式,如表7所示,原始的vxlan头由8个字节组成,包括:8比特的标记vxlan flags字段、24比特的vxlan网络标识(vxlan network identifier,vni)字段以及分别为24比特和8比特的两个保留reserved字段。
[0094]
其中,vxlan flags字段的i位设置为1时,表示该头部是一个合法的vxlan头,此时vni字段有效,其余位(r位)保留,均设置为0。vni字段用于区分vxlan网络,每个vxlan网络拥有唯一的vni。保留字段暂未使用,均设置为0。
[0095]
表7
[0096][0097]
从上述对vxlan报文的结构的介绍可知,ovs无法根据vxlan报文识别出vxlan报文具体的传输类型。对此,本技术实施例通过在vxlan头中增加用于指示vxlan传输类型的第一标志位,使ovs在对从vxlan接口接收到的报文的外层封装进行解封的过程中,可以通过解析vxlan头中的第一标志位,识别出报文所经的不同类型的vxlan传输路径,进而对接收到的报文进行区分传输类型的流量统计。
[0098]
示例性地,第一标志位中不同传输类型的编码可以如表8所示。二层流量的vxlan传输类型的编码设置为001、三层流量的vxlan传输类型的编码设置为010、三层流量卸载的vxlan传输类型的编码设置为100。
[0099]
表8
[0100][0101]
需要说明的是,表8中不同传输类型的编码仅是一种示例,本技术对第一标志位在vxlan头的位置不做具体限定,例如,第一标志位可以设置在vxlan flags字段中除i位之外的保留位,或者第一标志位可以设置在reserved字段中。本技术对第一标志位的位数以及不同传输类型对应的编码数值不做具体限定,例如,二层流量的vxlan传输类型的编码还可以设置为1000、三层流量的vxlan传输类型的编码设置为0100、三层流量卸载的vxlan传输类型的编码设置为0010。
[0102]
进一步地,在vxlan头中增加第二标志位,该第二标志位用于指示第一标志位是否有效。如此,ovs在解析报文的vxlan头时,可以先解析报文的vxlan头中的第二标志位,在确定第二标志位指示第一标志位有效后,再解析vxlan头中的第一标志位。若ovs在解析报文的vxlan头时,确定第二标志位指示第一标志位无效,则将此报文转发至下一节点。
[0103]
通过在vxlan头部设置第二标志位,使得当ovs解析报文的vxlan头时,若识别到第二标志位指示第一标志位有效,则继续解析vxlan头的第一标志位;若识别到第二标志位指示第一标志位无效时,则将报文转发至下一节点,省去了解析第一标志位的过程,进而可以节省处理报文的开销,提高处理报文的效率。
[0104]
示例性地,改进后的vxlan头可以如表9所示,第二标志位可以设置在vxlan头的标记vxlan flags字段中,例如,表9中第二标志位设置在vxlan头的vxlan flags字段的首位(f位),当f位置1时指示第一标志位(flow label)有效,当f位置0时指示第一标志位无效。第一标志位可以设置在vxlan头的reserved字段中,例如,表9中第一标志位设置在vxlan头
第一个reserved字段的第一个字节的前三位。
[0105]
表9
[0106][0107]
需要说明的是,表9中改进后的vxlan头仅是一种示例,本技术对第二标志位在vxlan flags字段中的位置以及第二标志位的位数不做具体限定,第二标志位可以设置在vxlan flags字段中的除i位之外的任意保留位。本技术对第一标志位的位数和第一标志位在reserved字段中的位置不做具体限定,例如,第一标志位可以设置在第一个reserved字段中的第二个字节的前三位,第一标志位还可以设置在第二个reserved字段中的第一个字节的前三位。改进后的vxlan头的具体结构可以根据实际需求进行调整。
[0108]
当ovs上开启流量统计功能(例如开启netflow功能)后,当ovs针对从可扩展虚拟局域网络vxlan接口接收的报文进行解析时,当解析出报文的vxlan头的第二标志位指示第一标识位有效时,将报文转发至netflow的流表,在netflow匹配五元组的同时,还需要匹配vxlan头的第一标志位。进而根据vxlan头的第一标志位指示的传输类型,对接收到的报文进行区分传输类型的流量统计。
[0109]
需要说明的是,本技术不限制使用的流量统计软件,还可以使用sflow、ipfix等流量统计软件对接收到的报文进行区分传输类型的流量统计。
[0110]
在一种可能的实施方式中,对所述报文进行所述vxlan传输类型的流量统计之后,还包括:将不同的vxlan传输类型的流量统计结果转发至网络监控站点,该网络监控站点用于对不同的vxlan传输类型的流量统计结果进行展示。网络监控站点内置了流量采集工具以及网络监控工具,流量采集工具负责对采集流量报文进行协议解析,网络监控工具通过特征库识别,对网络进行安全分析。
[0111]
图6示例性地示出了本技术实施例提供的一种流量标记方法,该方法应用于流量出口的ovs中,如图6所示,该方法包括以下步骤:
[0112]
步骤601、虚拟交换机ovs针对虚拟机发送的报文进行vxlan封装时,根据流表确定所述报文的vxlan传输类型。
[0113]
其中,vxlan传输类型用于标识报文所经的不同类型的vxlan传输路径。vxlan传输类型可以包括二层流量的vxlan传输类型、三层流量的vxlan传输类型和三层流量卸载的vxlan传输类型。
[0114]
上述不同的vxlan传输类型是基于流表得到的报文的流表轨迹确定的。其中,流表为ovs进行数据转发的依据,ovs的流表中的各表项中整合了网络中各个层次的网络配置信息,因此,可以根据报文在流表中的匹配信息对报文进行封装和转发。
[0115]
流表中的每个流表项都由3部分组成,包括用于数据包匹配的匹配域header fields,用于统计匹配数据包个数的计数器counters和用于展示匹配的数据包如何处理的动作actions。当ovs接收到一个报文时,将按照优先级依次匹配其本地保存的流表中的表项,以具有最高优先级的匹配表项作为匹配结果,并根据相应的动作对报文进行操作。同时,报文匹配成功后,对应的计数器将更新;而如果没有匹配的表项,则将数据包转发给控
制器。
[0116]
在一种可能的实施方式中,虚拟交换机ovs针对虚拟机发送的报文进行vxlan封装之前,还包括:虚拟交换机ovs根据流表确定虚拟机发送的报文的下一跳是否为vxlan接口,若根据流表确定虚拟机发送的报文的下一跳是为vxlan接口,则对vxlan头进行填充。若根据流表确定虚拟机发送的报文的下一跳不是vxlan接口,则将报文转发至下一节点。
[0117]
步骤602、在vxlan头的第一标志位中填充所述vxlan传输类型对应的编码。
[0118]
上述步骤中,不同vxlan传输类型对应的编码可以如上述表8所示,本技术在此不做赘述。例如,当ovs根据流表确定报文的vxlan传输类型为三层流量卸载的vxlan传输类型时,则将vxlan头的第一标志位填充为三层流量卸载的vxlan传输类型对应的编码100。
[0119]
在一种可能的实施方式中,根据流表确定报文的vxlan传输类型之后,还包括:将vxlan头的第二标志位置为指示第一标志位有效的编码。
[0120]
上述步骤中,第二标志位在vxlan头中的位置可以如上述表9所示,本技术在此不做赘述。例如,当ovs根据流表确定报文的vxlan传输类型为三层流量卸载的vxlan传输类型时,则将vxlan头的vxlan flags字段的f位置1,指示第一标志位有效,将vxlan头第一个reserved字段的第一个字节的前三位(flow label)填充为三层流量卸载的vxlan传输类型对应的编码100。
[0121]
在流量出口处的ovs中,可以通过流表轨迹确定报文的vxlan传输类型,因此,通过在封装vxlan报文时,将vxlan传输类型对应的编码填充至vxlan头的第一标记位中,以便在流量入口处的ovs对报文进行解析时,根据vxlan头的第一标记位识别出该报文的vxlan传输类型,进而根据第一标志位指示的vxlan传输类型,对接收到的报文进行区分传输类型的流量统计。
[0122]
为了更好的解释本技术实施例,图7示例性地示出了本技术实施例提供的一种流量标记的具体流程的示意图,该流程应用于流量出口的ovs中。
[0123]
步骤701、接收vm发出的原始报文。
[0124]
步骤702、判断下一跳是否为vxlan接口。
[0125]
ovs判断报文的流表匹配的下一跳是否为vxlan接口,若是,则执行步骤703;若否,则执行步骤705。
[0126]
步骤703、根据流表确定报文的传输类型。
[0127]
根据报文在流表中的匹配过程(流表轨迹),确定报文的传输类型。
[0128]
步骤704、对原始报文进行封装时,将f位置1,将传输类型填充至flow label中。
[0129]
ovs根据vm发出的原始报文中的源ip地址、目的ip地址、源mac地址、目的mac地址,查找ovs的流表得到的vxlan封装中的源ip地址、目的ip地址、源mac地址、下一跳mac地址,将vm发出的原始报文封装为vxlan报文。并将vxlan报文的vxlan头的f位(第二标志位)置1,将报文的vxlan传输类型填充至flow label(第一标志位)中。
[0130]
步骤705、将报文发送至下一节点。
[0131]
为了更好的解释本技术实施例,图8示例性地示出了本技术实施例提供的一种流量统计的具体流程的示意图,该流程应用于流量入口的ovs中。
[0132]
步骤801、接收上一个节点发出的报文。
[0133]
步骤802、判断报文是否从vxlan接口进入。
[0134]
ovs判断报文是否从vxlan接口进入,若是,则执行步骤803;若否,则执行步骤805。
[0135]
步骤803、判断报文的vxlan头的f位是否为1。
[0136]
ovs判断报文的vxlan头的f位(第二标志位)是否为1,若是,则执行步骤804;若否,则执行步骤805。
[0137]
步骤804、将报文转发至netflow的流表,根据flow label(第一标志位)统计对应传输类型的流量。
[0138]
流量老化后,netflow将报文打包发送至网络监控站点进行分析。
[0139]
步骤805、将报文转发至下一节点。
[0140]
本技术实施例提供的一种流量统计方法和流量标记方法,虚拟交换机ovs在对虚拟机发送的报文进行vxlan封装时,根据ovs的流表确定报文的传输类型,并将报文的vxlan传输类型填充在vxlan头的第一标志位中,以便在接收报文时,通过vxlan头中的第一标志位,获知该报文的传输类型,进而根据第一标志位指示的vxlan传输类型,对接收到的报文进行区分传输类型的流量统计。
[0141]
基于相同的技术构思,图9示例性地示出了本技术实施例提供的一种流量统计装置。如图9所示,该装置900包括:
[0142]
解析模块901,用于虚拟交换机ovs针对从可扩展虚拟局域网络vxlan接口接收的报文,解析所述报文的vxlan头;
[0143]
统计模块902,用于按照所述vxlan头中第一标志位指示的vxlan传输类型,对所述报文进行所述vxlan传输类型的流量统计;其中,vxlan传输类型用于标识报文所经的不同类型的vxlan传输路径。
[0144]
在一种可能的设计中,所述解析模块901,还用于解析所述报文的vxlan头中的第二标志位;在确定所述第二标志位指示第一标志位有效后,解析所述vxlan头中的所述第一标志位。
[0145]
在一种可能的设计中,所述第一标志位设置在所述vxlan头的保留字段中,所述第二标志位设置在所述vxlan头的标记字段中。
[0146]
在一种可能的设计中,所述统计模块902还用于,对所述报文进行所述vxlan传输类型的流量统计之后,将不同的vxlan传输类型的流量统计结果转发至网络监控站点,所述网络监控站点用于对所述不同的vxlan传输类型的流量统计结果进行展示。
[0147]
在一种可能的设计中,所述vxlan传输类型包括二层流量的vxlan传输类型、三层流量的vxlan传输类型和三层流量卸载的vxlan传输类型。
[0148]
基于相同的技术构思,图10示例性地示出了本技术实施例提供的一种流量标记装置。如图10所示,该装置1000包括:
[0149]
确定模块1001,用于针对虚拟机发送的报文进行vxlan封装时,根据流表确定所述报文的vxlan传输类型;其中,vxlan传输类型用于标识报文所经的不同类型的vxlan传输路径;
[0150]
处理模块1002,用于在vxlan头的第一标志位中填充所述vxlan传输类型对应的编码。
[0151]
在一种可能的设计中,针对虚拟机发送的报文进行vxlan封装之前,所述确定模块1001,还用于根据流表确定虚拟机发送的报文的下一跳为vxlan接口;
[0152]
所示确定模块1001,还用于基于流表得到的所述报文的流表轨迹,确定所述报文的vxlan传输类型。
[0153]
在一种可能的设计中,在所述确定模块根据流表确定所述报文的vxlan传输类型之后,所述处理模块1002还用于将所述vxlan头的第二标志位置为指示所述第一标志位有效的编码。
[0154]
基于相同的技术构思,本技术实施例提供了一种计算设备,如图11所示,包括至少一个处理器1101,以及与至少一个处理器连接的存储器1102,本技术实施例中不限定处理器1101与存储器1102之间的具体连接介质,图11中处理器1101和存储器1102之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
[0155]
在本技术实施例中,存储器1102存储有可被至少一个处理器1101执行的指令,至少一个处理器1101通过执行存储器1102存储的指令,可以执行上述流量统计方法或流量标记方法。
[0156]
其中,处理器1101是计算设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器1102内的指令以及调用存储在存储器1102内的数据,从而进行资源设置。
[0157]
可选地,处理器1101可包括一个或多个处理单元,处理器1101可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1101中。在一些实施例中,处理器1101和存储器1102可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
[0158]
处理器1101可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0159]
存储器1102作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1102可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器1102是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器1102还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
[0160]
基于相同的技术构思,本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行程序,计算机可执行程序用于使计算机执行上述任一方式所列的流量统计方法或流量标记方法。
[0161]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0162]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0163]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0164]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0165]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
[0166]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1