一种neutron虚拟网络流量控制方法及装置与流程

文档序号:24722299发布日期:2021-04-16 15:19阅读:252来源:国知局
一种neutron虚拟网络流量控制方法及装置与流程

1.本发明涉及neutron虚拟网络领域,尤其是一种neutron虚拟网络流量控制方法及装置。


背景技术:

2.基于linux网桥结合openvswitch(简称ovs)的虚拟网络,其流量控制机制是基于linux tc(流量控制器)机制。按照数据流向分为入口(ingress)方向流量和出口(egress)方向流量,linux tc流量控制也分为入口方向流量策略和出口方向流量策略。入口方向流量和出口方向流量同时都支持以单个网口整体统计为基础的policing(限速)整形策略(无分类队列),而根据报文内容细化控制的可分类队列则只有出口方向流量即发送报文时使用。形成入口方向流量控制手段少的原因是传统ip网络的无连接性以及网络的分治导致无法形成集中的端到端网络控制方案。而在云计算和网络虚拟化场景中构建的虚拟交换机集中管控是基本特性,使得端到端网络管控成为现实。
3.图1是neutron虚拟网络的一个典型的组网模型示意图。如图1所示,标出了一个虚拟网络上的流量分类如下:
4.(1)实例1到实例4表示不同物理服务器上同一子网下的虚机流量,两个计算节点直接二层交换;
5.(2)实例2到实例4表示不同物理服务器上不同子网下的虚机流量,经过网络节点路由转发;
6.(3)实例3到实例4表示同一物理服务器上同一子网下的虚机流量,计算节点内直接二层交换;
7.(4)外部网络到实例4表示集群外访问虚机流量,经过网络节点路由转发;
8.综上所述,同一子网下的实例,无论是否同一计算节点,都可直接通讯,不用经过网络节点路由,而跨子网或者和集群外通讯都需要经过网络节点路由转发。
9.图1中各网络组件之间的连接点都有实施端到端流量控制的可能性。首先防火墙策略网桥是实例业务层面流量控制策略的实施点,由于网络节点上的流量不能及时监控,因此不应在防火墙策略网桥实施虚拟网络流量控制;其次是集成网桥(br

int)和隧道网桥(br

tun)的连接点,流量控制的越早越有利于降低虚拟网络负载,本发明的实现方案是在集成网桥上完成流量控制的。
10.neutron虚拟网络的流量控制使用的是linux tc队列规则控制机制,在传统的网络模型中网络设备只能在自己的出口方向控制网络流量,在入口方向无法有效控制对端发送流量,在入口方向能实施的控制策略非常有限,无法满足端到端精确控制流量的要求。结合图1可知,实施端到端流量控制的监控点有x1、x2

1、x2

2和x3,即计算节点和网络节点上集成网桥到隧道网桥的出口点。


技术实现要素:

11.针对上述情况,本发明提供一种neutron虚拟网络流量控制方法及装置,通过引入linux tc的ifb虚拟网卡,将进入虚拟交换机的流量方向由入口方向转换为出口方向,达到在流量入口处实现精确地控制管理目的。
12.为实现上述目的,本发明采用下述技术方案:
13.在本发明一实施例中,提出了一种neutron虚拟网络流量控制方法,该方法包括:
14.引入linux tc的ifb虚拟网卡;
15.配置无分类队列规则,将进入集成网桥的入口方向流量导入ifb虚拟网卡中;
16.根据业务需要配置分类队列规则,对ifb虚拟网卡的出口方向流量进行分类配置;
17.配置过滤器将ifb虚拟网卡的流量导入按照业务配置的分类中。
18.进一步地,引入linux tc的ifb虚拟网卡,包括:
19.在计算节点和网络节点的集成网桥的入口点创建linux tc的ifb虚拟网卡。
20.进一步地,配置无分类队列规则,将进入集成网桥的入口方向流量导入ifb虚拟网卡中,包括:
21.在集成网桥的入口点的ifb虚拟网卡中配置入口方向无分类队列规则;
22.在集成网桥的入口点的ifb虚拟网卡中配置过滤器,将入口方向流量导入ifb虚拟网卡中,同时ifb虚拟网卡将流量方向转换为出口方向。
23.进一步地,根据业务需要配置分类队列规则,对ifb虚拟网卡的出口方向流量进行分类配置,包括:
24.在ifb虚拟网卡中配置分类队列规则;
25.在ifb虚拟网卡中配置流量策略;
26.根据不同业务,对ifb虚拟网卡的出口方向流量,配置分配带宽的流量分类。
27.在本发明一实施例中,还提出了一种neutron虚拟网络流量控制装置,该装置包括:
28.ifb虚拟网卡创建模块,用于引入linux tc的ifb虚拟网卡;
29.入口方向流量导入模块,用于配置无分类队列规则,将进入集成网桥的入口方向流量导入ifb虚拟网卡中;
30.出口方向流量配置模块,用于根据业务需要配置分类队列规则,对ifb虚拟网卡的出口方向流量进行分类配置;
31.流量导入分类模块,用于配置过滤器将ifb虚拟网卡的流量导入按照业务配置的分类中。
32.进一步地,ifb虚拟网卡创建模块,具体用于:
33.在计算节点和网络节点的集成网桥的入口点创建linux tc的ifb虚拟网卡。
34.进一步地,入口方向流量导入模块,具体用于:
35.在集成网桥的入口点的ifb虚拟网卡中配置入口方向无分类队列规则;
36.在集成网桥的入口点的ifb虚拟网卡中配置过滤器,将入口方向流量导入ifb虚拟网卡中,同时ifb虚拟网卡将流量方向转换为出口方向。
37.进一步地,出口方向流量配置模块,具体用于:
38.在ifb虚拟网卡中配置分类队列规则;
39.在ifb虚拟网卡中配置流量策略;
40.根据不同业务,对ifb虚拟网卡的出口方向流量,配置分配带宽的流量分类。
41.在本发明一实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述neutron虚拟网络流量控制方法。
42.在本发明一实施例中,还提出了一种计算机可读存储介质,计算机可读存储介质存储有执行neutron虚拟网络流量控制方法的计算机程序。
43.有益效果:
44.1、通过linux tc的ifb虚拟网卡将流量控制点从虚拟交换机出口移到入口,防止无效流量消耗网络性能,降低突发流量对虚拟网络的冲击,阻断攻击流量在虚拟网络上的扩散。
45.2、在实例的防火墙外实施丰富的流量控制,分离实例的防火墙策略和端到端网络控制策略,便于运维管理。
46.3、在达到安全及时的流量控制的前提下,在计算节点和网络节点的集成网桥位置实施流量管理,有利于技术方案实现和简化后续运维管理。
附图说明
47.图1是neutron网络的一个典型的组网模型示意图;
48.图2本发明一实施例的neutron虚拟网络流量控制方法流程图;
49.图3是本发明一实施例的ifb虚拟网卡工作原理示意图;
50.图4是本发明一实施例的neutron虚拟网络流量控制装置结构示意图;
51.图5是本发明一实施例的计算机设备结构示意图。
具体实施方式
52.下面将参考若干示例性实施方式来描述本发明的原理和精神,应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
53.本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
54.根据本发明的实施方式,提出了一种neutron虚拟网络流量控制方法及装置,通过引入ifb虚拟网卡将流量监控点从集成网桥出口点提前到入口点(图1中标注的a、b、c、d)。在流量进入虚拟交换机时及时处理,防止无效消耗集群性能,降低突发流量对虚拟网络的冲击,阻断攻击流量在虚拟网络上的扩散。
55.下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
56.图2本发明一实施例的neutron虚拟网络流量控制方法流程图。如图2所示,该方法包括:
57.s1、引入linux tc的ifb虚拟网卡;
58.s2、配置无分类队列规则,将进入集成网桥的入口方向流量导入ifb虚拟网卡中;
59.s3、根据业务需要配置分类队列规则,对ifb虚拟网卡的出口方向流量进行分类配置;
60.s4、配置过滤器将ifb虚拟网卡的流量导入按照业务配置的分类中。
61.图3是本发明一实施例的ifb虚拟网卡工作原理示意图。如图3所示,linux内核对ifb虚拟网卡的实现只有接收(ingress入口方向)和发送(egress出口方向)两个报文处理队列,来自指定以太网口的流量进入接收报文处理队列后,立即分发到发送报文处理队列,此时在发送报文处理队列上配置tc队列规则(qdisc)实施流量控制策略(限速和整形等),经过策略处理后的报文返回原以太网口,继续后续处理(上送应用层或者转发)。
62.需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
63.为了对上述neutron虚拟网络流量控制方法进行更为清楚的解释,下面结合一个具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。
64.应用举例如下:
65.1、在计算节点和网络节点的集成网桥的入口点创建linux tc的ifb虚拟网卡。
66.2、配置无分类队列规则,将进入集成网桥的入口方向流量导入ifb虚拟网卡中:
67.在实例进入集成网桥的入口点的ifb虚拟网卡中配置入口方向无分类队列规则;
68.tc qdisc add dev qvo9bf32ba6

ba handle ffff:ingress
69.在集成网桥的入口点的ifb虚拟网卡中配置过滤器,将入口方向流量导入ifb虚拟网卡中,同时ifb虚拟网卡将流量方向转换为出口方向,从而可以配置灵活的控制策略;
70.tc filter add dev qvo9bf32ba6

ba parent ffff:protocol ip u32\
71.match u3200 action mirred egress redirect dev ifb0
72.3、根据业务需要配置分类队列规则,对ifb虚拟网卡的出口方向流量进行分类配置(以带宽分配为例):
73.在ifb虚拟网卡中配置分类队列规则;
74.tc qdisc add dev ifb0 root handle 1:htb default 30
75.在ifb虚拟网卡中配置流量策略;
76.(例如:在千兆带宽网口上600mbit总带宽的分层令牌桶)
77.tc class add dev ifb0 parent 1:classid 1:1htb rate 600mbit ceil 600mbit
78.tc class add dev ifb0 parent 1:classid 1:2htb rate 400mbit ceil 1000mbit
79.根据不同业务,对ifb虚拟网卡的出口方向流量,配置分配带宽的流量分类:
80.创建带宽为200m的流量分类,网口空闲时不允许借用带宽;
81.tc class add dev ifb0 parent 1:1classid 1:10htb rate200mbit ceil 200mbit
82.创建带宽为400m的流量分类,网口空闲时可借用全部600m带宽;
83.tc class add dev ifb0 parent 1:1classid 1:20htb rate400mbit ceil 600mbit
84.4、配置过滤器将ifb虚拟网卡的流量导入按照业务配置的分类中:
85.根据源ip地址把流量导入对应的分类中;
86.来自192.168.0.10的流量导入1:10;
87.即来自192.168.0.10的流量限制为200mbit,最高带宽200mbitfilter add dev ifb0 protocol ip parent 1:handle 2prio 1u32\
88.match ip src 192.168.0.10flowid 1:10
89.来自192.168.1.0/24网段的流量导入1:20;
90.即来自192.168.1.0/24网段的流量限制为400mbit,网络空闲时可提高到600mbit;
91.filter add dev ifb0 protocol ip parent 1:handle 2prio 1u32\
92.match u32 c0a80100 ffffff00 flowid 1:20
93.没有为1:2流量分类创建过滤器,表示所有未分类流量默认导入该流量分类。
94.基于同一发明构思,本发明还提出一种neutron虚拟网络流量控制装置。该装置的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的术语“模块”,可以是实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
95.图4是本发明一实施例的neutron虚拟网络流量控制装置结构示意图。如图4所示,该装置包括:
96.ifb虚拟网卡创建模块101,用于引入linux tc的ifb虚拟网卡;
97.在计算节点和网络节点的集成网桥的入口点创建linux tc的ifb虚拟网卡。
98.入口方向流量导入模块102,用于配置无分类队列规则,将进入集成网桥的入口方向流量导入ifb虚拟网卡中;
99.在集成网桥的入口点的ifb虚拟网卡中配置入口方向无分类队列规则;
100.在集成网桥的入口点的ifb虚拟网卡中配置过滤器,将入口方向流量导入ifb虚拟网卡中,同时ifb虚拟网卡将流量方向转换为出口方向。
101.出口方向流量配置模块103,用于根据业务需要配置分类队列规则,对ifb虚拟网卡的出口方向流量进行分类配置;
102.在ifb虚拟网卡中配置分类队列规则;
103.在ifb虚拟网卡中配置流量策略;
104.根据不同业务,对ifb虚拟网卡的出口方向流量,配置分配带宽的流量分类。
105.流量导入分类模块104,用于配置过滤器将ifb虚拟网卡的流量导入按照业务配置的分类中。
106.应当注意,尽管在上文详细描述中提及了neutron虚拟网络流量控制装置的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
107.基于前述发明构思,如图5所示,本发明还提出一种计算机设备200,包括存储器210、处理器220及存储在存储器210上并可在处理器220上运行的计算机程序230,处理器220执行计算机程序230时实现前述neutron虚拟网络流量控制方法。
108.基于前述发明构思,本发明还提出一种计算机可读存储介质,计算机可读存储介质存储有执行前述neutron虚拟网络流量控制方法的计算机程序。
109.本发明提出的neutron虚拟网络流量控制方法及装置,通过linux tc的ifb虚拟网卡将流量控制点从虚拟交换机出口移到入口,防止无效流量消耗网络性能,降低突发流量对虚拟网络的冲击,阻断攻击流量在虚拟网络上的扩散;在实例的防火墙外实施丰富的流量控制,分离实例的防火墙策略和端到端网络控制策略,便于运维管理;在达到安全及时的流量控制的前提下,在计算节点和网络节点的集成网桥位置实施流量管理,有利于技术方案实现和简化后续运维管理。
110.虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包含的各种修改和等同布置。
111.对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1