CN106209677A - 基于Openstack的neutron实现网络QOS的方法 - Google Patents
基于Openstack的neutron实现网络QOS的方法 Download PDFInfo
- Publication number
- CN106209677A CN106209677A CN201610559371.2A CN201610559371A CN106209677A CN 106209677 A CN106209677 A CN 106209677A CN 201610559371 A CN201610559371 A CN 201610559371A CN 106209677 A CN106209677 A CN 106209677A
- Authority
- CN
- China
- Prior art keywords
- qos
- network
- virtual
- neutron
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于Openstack的neutron实现网络QOS的方法,主要步骤包括:提供neutron客户端SDK与命令行工具,支持网络QOS规则的管理与维护;提供neutron服务端QOS插件,对QOS规则进行存储与下发;提供neutron的QOS代理实现QOS规则的设置,该发明可以针对虚拟机网络的接口流量进行QOS控制,也可以对虚拟的负载均衡、防火墙、路由器的接口进行QOS控制。该发明能实现对虚拟二层端口流量进行精细的控制,满足各种业务的网络要求。利用virsh命令的attach‑interface指令只能现在虚拟机的网络流量,对于虚拟网络设备的流量不能进行控制。
Description
技术领域
本发明涉及一种基于Openstack的neutron实现网络QOS的方法,属于网络技术领域。
背景技术
Neutron分别提供了二层(L2)vSwitch交换和三层(L3)Router路由抽象的功能,对应于物理网络环境中的交换机和路由器实现。具体实现了如下功能:
Router:为租户提供路由、NAT等服务。
Network:对应于一个真实物理网络中的二层局域网(VLAN),从租户的的角度而言,是租户私有的。
Subnet:为网络中的三层概念,指定一段IPV4或IPV6地址并描述其相关的配置信息。它附加在一个二层Network上,指明属于这个network的虚拟机可使用的IP地址范围。
Neutron提供了一种插件式扩展机制,扩展网络虚拟化的功能。目前已支持防火墙、VPN、安全组、路由器、交换机等网络功能的虚拟化。但在提供网络服务质量上,需要扩展新的功能。
发明内容
本发明的目的在于提供一种基于Openstack的neutron实现网络QOS的方法,以便更好地实现网络QOS方法,改善使用效果,方便使用。
为了实现上述目的,本发明的技术方案如下。
一种基于Openstack的neutron实现网络QOS的方法,主要步骤包括:提供neutron客户端SDK与命令行工具,支持网络QOS规则的管理与维护;提供neutron服务端QOS插件,对QOS规则进行存储与下发;提供neutron的QOS代理实现QOS规则的设置,该发明可以针对虚拟机网络的接口流量进行QOS控制,也可以对虚拟的负载均衡、防火墙、路由器的接口进行QOS控制。
在虚拟的网络中,允许根据业务情况,为指定的网络通信提供更好的服务能力。在Neutron现有的功能中,并不能对虚拟网络进行QOS控制,在Neutron的框架下扩展对虚拟网络进行QOS控制,包括二层控制、三层控制。
Neutron主要支持的网络模式有扁平、vlan、gre模式,三种网络架构中,虚拟机的虚拟网卡通过linux桥接入到了openvswitch的br-int的桥上,路由器、防火墙、负载均衡器的虚拟接口直接接在了openvswitch的br-int桥上,通过在br-int桥上在虚拟接口相对应端口的QOS队列与规则,即可以实现网络的QOS控制;实现对虚拟二层端口流量进行精细的控制,满足各种业务的网络要求。
利用virsh命令的attach-interface指令只能现在虚拟机的网络流量,对于虚拟网络设备的流量不能进行控制。
该发明的有益效果在于:该发明能实现对虚拟二层端口流量进行精细的控制,满足各种业务的网络要求。利用virsh命令的attach-interface指令只能现在虚拟机的网络流量,对于虚拟网络设备的流量不能进行控制。
具体实施方式
下面结合实施例对本发明的具体实施方式进行描述,以便更好的理解本发明。
实施例
Neutron服务端扩展QOS的插件:
①扩展的Rest接口定义,增加QOS_RULE的资源定义:REST接口有post,put,get,delete四种方法,post为创建资源,put为修改某个资源,get为获取某个资源,delete为删除某个资源
②定义扩展的描述:扩展的描述从extensions.ExtensionDescriptor继承。需要实现get_name、get_description、get_namespace、get_updated、get_resources、get_plugin_interface、update_attributes_map、get_extended_resources共8个接口。
③实现插件接口的定义:
插件的接口QOSPluginBase必须从ServicePluginBase继承,get_plugin_name,get_plugin_type,get_plugin_description必须实现,为插件的基础信息。
必须为每个资源定义5个接口,分别为:
#list资源的接口
def get_qos_rules(self,context,filters=None,fields=None)
#显示单个资源的接口
def get_qos_rule(self,context,id,fields=None):
#create单个资源的接口
def create_qos_rule(self,context,data):
#update单个资源的接口
def update_qos_rule(self,context,id,data):
#delete单个资源的接口
def delete_qos_rule(self,context,id):
④定义QOS规则的数据库模型。
从model_base.BASEV2,models_v2.HasId,models_v2.HasTenant继承,QOS规则属性包括:网络ID,端口ID,最大流量值,最大突发流量值。
⑤实现QOS规则的数据库操作。
需要多重继承插件接口类QOSPluginBase、base_db.CommonDbMixin;
#查询qos_rules表获取所有的qos规则
def get_qos_rules(self,context,filters=None,fields=None)
#查询qos_rules,获取id值匹配的qos规则
def get_qos_rule(self,context,id,fields=None):
#保存qos规则到qos_rules表
def create_qos_rule(self,context,data):
#修改qos_rules表中的qos规则
def update_qos_rule(self,context,id,data):
#从qos_ruls表中删除指定id的qos规则
def delete_qos_rule(self,context,id):
⑥插件调度类的实现
QOS-Agent可以在不同的计算节点,网络节点上运行,插件调度类找到对应的QOS-Agent;根据Agent的主机名,获取需要的QOS规则信息。
调度类从agentschedulers_db.AgentSchedulerDbMixin继承
⑦发送给Agent的RPC封装实现
当服务端创建、删除、修改QOS规则时,需要将信息通过RPC方式发送到Qos-Agent。
⑧处理QOS-Agent消息封装实现:通过plugin的数据库接口根据qos-agent的主机名查询对应的qos规则。
增加QOS-Agent:
①实现Agent的管理类,管理QOS驱动器的加载,从periodic_task.PeriodicTasks继承,周期性上报Agent的状态;
②实现OVS的QOS驱动,通过配置队列,端口的QOS选项、流表规则完成网络QOS的控制。
Neutron客户端扩展SDK与命令行:
①SDK封装:
neutronclient\neutron\v2_0\增加目录:qos
添加qos的命令定义
neutronclient\neutron\v2_0\qos\qos_rule.py
创建的接口需要从neutronv20.CreateCommand继承
查询列表的接口需要从neutronv20.ListCommand继承
修改的接口需要从neutronv20.UpdateCommand继承
删除的接口需要从neutronv20.DeleteCommand继承
显示单条的接口需要从neutronv20.ShowCommand继承;
②命令行实现:
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (1)
1.一种基于Openstack的neutron实现网络QOS的方法,其特征在于:主要步骤包括:提供neutron客户端SDK与命令行工具,支持网络QOS规则的管理与维护;提供neutron服务端QOS插件,对QOS规则进行存储与下发;提供neutron的QOS代理实现QOS规则的设置,该发明可以针对虚拟机网络的接口流量进行QOS控制,也可以对虚拟的负载均衡、防火墙、路由器的接口进行QOS控制;
在虚拟的网络中,允许根据业务情况,为指定的网络通信提供更好的服务能力;在Neutron现有的功能中,并不能对虚拟网络进行QOS控制,在Neutron的框架下扩展对虚拟网络进行QOS控制,包括二层控制、三层控制;
Neutron主要支持的网络模式有扁平、vlan、gre模式,三种网络架构中,虚拟机的虚拟网卡通过linux桥接入到了openvswitch的br-int的桥上,路由器、防火墙、负载均衡器的虚拟接口直接接在了openvswitch的br-int桥上,通过在br-int桥上在虚拟接口相对应端口的QOS队列与规则,即可以实现网络的QOS控制;实现对虚拟二层端口流量进行精细的控制,满足各种业务的网络要求;
利用virsh命令的attach-interface指令只能现在虚拟机的网络流量,对于虚拟网络设备的流量不能进行控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610559371.2A CN106209677A (zh) | 2016-07-15 | 2016-07-15 | 基于Openstack的neutron实现网络QOS的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610559371.2A CN106209677A (zh) | 2016-07-15 | 2016-07-15 | 基于Openstack的neutron实现网络QOS的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106209677A true CN106209677A (zh) | 2016-12-07 |
Family
ID=57474963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610559371.2A Pending CN106209677A (zh) | 2016-07-15 | 2016-07-15 | 基于Openstack的neutron实现网络QOS的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106209677A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106953848A (zh) * | 2017-02-28 | 2017-07-14 | 浙江工商大学 | 一种基于ForCES的软件定义网络实现方法 |
CN107547439A (zh) * | 2017-09-08 | 2018-01-05 | 中国银联股份有限公司 | 一种网络流量控制方法和计算节点 |
CN108234271A (zh) * | 2017-10-25 | 2018-06-29 | 国云科技股份有限公司 | 一种云平台业务网ip管理方法 |
CN109150609A (zh) * | 2018-08-28 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种openstack网络系统规范化命名的安全组配置方法 |
CN109842644A (zh) * | 2017-11-27 | 2019-06-04 | 中国电信股份有限公司 | 参数扩展方法和系统、云计算管理平台组件和用户终端 |
CN110635932A (zh) * | 2018-06-22 | 2019-12-31 | 复旦大学 | 一种基于OpenStack控制平面的虚拟网络性能的优化方法 |
CN112468458A (zh) * | 2020-11-12 | 2021-03-09 | 鹏城实验室 | 一种基于neutron分层机制的调度方法 |
CN113900728A (zh) * | 2021-09-18 | 2022-01-07 | 浪潮云信息技术股份公司 | 同步配置的方法、系统、电子设备及存储介质 |
CN114697242A (zh) * | 2022-03-21 | 2022-07-01 | 浪潮云信息技术股份公司 | 一种政务云场景下客户虚拟网卡流量管理方法及系统 |
CN114884816A (zh) * | 2022-06-17 | 2022-08-09 | 中国联合网络通信集团有限公司 | 数据包限速规则处理方法、装置、设备、存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092565A (zh) * | 2014-06-24 | 2014-10-08 | 复旦大学 | 一种面向云数据中心的多租户策略驱动型软件定义网络方法 |
WO2015021248A1 (en) * | 2013-08-09 | 2015-02-12 | Nec Laboratories America, Inc. | Hybrid network management |
WO2016082184A1 (zh) * | 2014-11-28 | 2016-06-02 | 华为技术有限公司 | 控制信令的传输方法及设备 |
-
2016
- 2016-07-15 CN CN201610559371.2A patent/CN106209677A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015021248A1 (en) * | 2013-08-09 | 2015-02-12 | Nec Laboratories America, Inc. | Hybrid network management |
CN104092565A (zh) * | 2014-06-24 | 2014-10-08 | 复旦大学 | 一种面向云数据中心的多租户策略驱动型软件定义网络方法 |
WO2016082184A1 (zh) * | 2014-11-28 | 2016-06-02 | 华为技术有限公司 | 控制信令的传输方法及设备 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106953848B (zh) * | 2017-02-28 | 2020-04-28 | 浙江工商大学 | 一种基于ForCES的软件定义网络实现方法 |
CN106953848A (zh) * | 2017-02-28 | 2017-07-14 | 浙江工商大学 | 一种基于ForCES的软件定义网络实现方法 |
CN107547439A (zh) * | 2017-09-08 | 2018-01-05 | 中国银联股份有限公司 | 一种网络流量控制方法和计算节点 |
CN107547439B (zh) * | 2017-09-08 | 2021-01-05 | 中国银联股份有限公司 | 一种网络流量控制方法和计算节点 |
CN108234271A (zh) * | 2017-10-25 | 2018-06-29 | 国云科技股份有限公司 | 一种云平台业务网ip管理方法 |
CN109842644B (zh) * | 2017-11-27 | 2021-11-19 | 中国电信股份有限公司 | 参数扩展方法和系统、云计算管理平台组件和用户终端 |
CN109842644A (zh) * | 2017-11-27 | 2019-06-04 | 中国电信股份有限公司 | 参数扩展方法和系统、云计算管理平台组件和用户终端 |
CN110635932A (zh) * | 2018-06-22 | 2019-12-31 | 复旦大学 | 一种基于OpenStack控制平面的虚拟网络性能的优化方法 |
CN110635932B (zh) * | 2018-06-22 | 2021-10-15 | 复旦大学 | 一种基于OpenStack控制平面的虚拟网络性能的优化方法 |
CN109150609A (zh) * | 2018-08-28 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种openstack网络系统规范化命名的安全组配置方法 |
CN109150609B (zh) * | 2018-08-28 | 2021-06-15 | 郑州云海信息技术有限公司 | 一种openstack网络系统规范化命名的安全组配置方法 |
CN112468458A (zh) * | 2020-11-12 | 2021-03-09 | 鹏城实验室 | 一种基于neutron分层机制的调度方法 |
CN113900728A (zh) * | 2021-09-18 | 2022-01-07 | 浪潮云信息技术股份公司 | 同步配置的方法、系统、电子设备及存储介质 |
CN114697242A (zh) * | 2022-03-21 | 2022-07-01 | 浪潮云信息技术股份公司 | 一种政务云场景下客户虚拟网卡流量管理方法及系统 |
CN114884816A (zh) * | 2022-06-17 | 2022-08-09 | 中国联合网络通信集团有限公司 | 数据包限速规则处理方法、装置、设备、存储介质 |
CN114884816B (zh) * | 2022-06-17 | 2024-02-13 | 中国联合网络通信集团有限公司 | 数据包限速规则处理方法、装置、设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106209677A (zh) | 基于Openstack的neutron实现网络QOS的方法 | |
CN108989091B (zh) | 基于Kubernetes网络的租户网络隔离方法、存储介质、电子设备 | |
US9088503B2 (en) | Multi-tenant information processing system, management server, and configuration management method | |
CN109743415B (zh) | 一种公有云网络弹性ip实现方法及系统 | |
CN109040276B (zh) | 一种构建云平台的方法、装置、计算机存储介质及终端 | |
US20180316543A1 (en) | Apparatus and method for managing integrated platform of wired and mobile communication services | |
CN104639372B (zh) | 基于sdn的覆盖网络和物理网络的关联方法及系统 | |
US9294351B2 (en) | Dynamic policy based interface configuration for virtualized environments | |
CN108809732B (zh) | 一种软件定义城域网网络控制系统 | |
EP2849064A1 (en) | Method and apparatus for network virtualization | |
CN103825954A (zh) | 一种OpenFlow控制方法及相应插件、平台和网络 | |
CN104584484A (zh) | 提供基于策略的数据中心网络自动化的系统和方法 | |
CN105900518A (zh) | 用于移动网络功能虚拟化的系统及方法 | |
CN104811393B (zh) | 组播报文复制处理方法、装置及开放流控制器 | |
CN103548376A (zh) | 通过openflow数据平面在云计算机中实现epc | |
CN111221619A (zh) | 一种业务开通和编排的方法、装置及设备 | |
CN103026660A (zh) | 网络策略配置方法、管理设备以及网络管理中心设备 | |
CN106953848B (zh) | 一种基于ForCES的软件定义网络实现方法 | |
CN104104534A (zh) | 一种虚拟网络管理的实现方法和系统 | |
CN106059915A (zh) | 基于sdn控制器实现租户南北向流量限速的系统及方法 | |
US10044562B2 (en) | Automatic provisioning of LISP mobility networks when interconnecting DC fabrics | |
CN105915470A (zh) | 一种基于Linux流量控制的弹性带宽配置方法 | |
KR20150094238A (ko) | 종단 시스템의 라이프 사이클에 따라 가상 확장 랜의 세그먼트를 위한 멀티캐스팅 터널을 자동적으로 구성하는 가상 확장 랜 네트워크 시스템 및 그 동작 방법 | |
CN110493062A (zh) | 一种基于Mininet的电力通信网的仿真平台 | |
CN109787938B (zh) | 实现访问虚拟私有云的方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161207 |