CN105915387B - 一种IaaS云平台下云主机的外网带宽限速方法、装置及系统 - Google Patents
一种IaaS云平台下云主机的外网带宽限速方法、装置及系统 Download PDFInfo
- Publication number
- CN105915387B CN105915387B CN201610378467.9A CN201610378467A CN105915387B CN 105915387 B CN105915387 B CN 105915387B CN 201610378467 A CN201610378467 A CN 201610378467A CN 105915387 B CN105915387 B CN 105915387B
- Authority
- CN
- China
- Prior art keywords
- filter
- outer net
- bandwidth
- address
- network 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种IaaS云平台下云主机的外网带宽限速方法、装置及系统,用以实现云主机外网带宽的双向有效限速。所述方法包括:当L3agent给虚拟路由器增加外部网络接口时,在入口方向建立无类的队列规则、出口方向建立有类的根队列规则;接收到客户端发送的外网浮动IP绑定云主机请求后,将外网浮动IP绑定到外部网络接口上,并获取外网浮动IP对应的自定义带宽值;在外部网络接口的入口方向上创建第一过滤器,并设置第一过滤器需要过滤数据包的目的IP为外网浮动IP、限速带宽为自定义带宽值;在外部网络接口的出口方向上创建用于带宽限速的类及其对应的第二过滤器,并设置第二过滤器需要过滤数据包的源IP为外网浮动IP、类的限速带宽为自定义带宽值。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种IaaS云平台下云主机的外网带宽限速方法、装置及系统。
背景技术
根据NIST(National Institute of Standards and Technology,美国国家标准与技术研究院)的权威定义,云计算的服务模式有SPI(即SaaS、PaaS和IaaS)这三个大类或层次。IaaS(Infrastructure as a Service,基础设施即服务)是指消费者通过Internet可以从完善的计算基础设施获得服务。IaaS提供给消费者的服务是对所有计算基础设施的利用,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。消费者不管理或控制任何计算基础设施,但能控制操作系统的选择、存储空间、部署的应用,也有可能获得有限制的网络组件(例如路由器、防火墙、负载均衡器等)的控制。
本发明实施例中,将IaaS服务模式下的云计算平台简称为IaaS云平台。现有主流开源IaaS云平台能够实现云主机的内网带宽限速,但不支持云主机的外网带宽限速。现有技术中,外网流量控制一般基于路由器或三层物理交换机实现,这种实现方案对物理硬件依赖性强,很容易造成lock-in(锁定)。可见,基于路由器或三层物理交换机实现外网流量控制的方案,对实现IaaS云平台下云主机的外网带宽限速不具有实际参考意义。
综上,针对现有IaaS云平台下带宽限速技术的不足,如何实现IaaS云平台下云主机的外网带宽限速,成为现有技术中亟待解决的技术问题之一。
发明内容
有鉴于此,针对现有IaaS云平台下带宽限速技术的不足,本发明提供一种IaaS云平台下云主机的外网带宽限速方法及装置,用以实现IaaS云平台下云主机外网带宽的双向有效限速。
为了实现上述目的,本发明提供一种IaaS云平台下云主机的外网带宽限速方法,所述IaaS云平台包括计算节点和网络节点,所述计算节点上部署云主机,所述网络节点上部署三层代理L3agent和三层网络设备,所述三层网络设备包括虚拟路由器,所述方法包括:
当L3agent给虚拟路由器增加外部网络接口时,使用流量控制工具在所述外部网络接口的入口方向建立无类的队列规则、出口方向建立有类的根队列规则;
接收到客户端发送的外网浮动IP绑定云主机请求后,将所述外网浮动IP绑定到所述外部网络接口上,并获取所述外网浮动IP对应的自定义带宽值;
在所述外部网络接口的入口方向上,使用流量控制工具创建第一过滤器,并设置所述第一过滤器需要过滤数据包的目的IP为所述客户端申请的外网浮动IP、以及设置限速带宽为所述客户端申请的外网浮动IP对应的自定义带宽值;
在所述外部网络接口的出口方向上,使用流量控制工具创建用于带宽限速的类及其对应的第二过滤器,并设置所述第二过滤器需要过滤数据包的源IP为所述客户端申请的外网浮动IP、以及设置所述类的限速带宽为所述客户端申请的外网浮动IP对应的自定义带宽值。
基于同一技术构思,本发明还提供了一种IaaS云平台下云主机的外网带宽限速装置,所述装置部署在三层代理L3agent中,所述L3agent和三层网络设备部署在IaaS云平台的网络节点上,云主机部署在IaaS云平台的计算节点上,所述三层网络设备包括虚拟路由器,所述装置包括:
初始化模块,用于当L3agent给虚拟路由器增加外部网络接口时,使用流量控制工具在所述外部网络接口的入口方向建立无类的队列规则、出口方向建立有类的根队列规则;
请求处理模块,用于接收到客户端发送的外网浮动IP绑定云主机请求后,将所述外网浮动IP绑定到所述外部网络接口上,并获取所述外网浮动IP对应的自定义带宽值;
入口限速模块,用于在所述外部网络接口的入口方向上,使用流量控制工具创建第一过滤器,并设置所述第一过滤器需要过滤数据包的目的IP为所述客户端申请的外网浮动IP、以及设置限速带宽为所述客户端申请的外网浮动IP对应的自定义带宽值;
出口限速模块,用于在所述外部网络接口的出口方向上,使用流量控制工具创建用于带宽限速的类及其对应的第二过滤器,并设置所述第二过滤器需要过滤数据包的源IP为所述客户端申请的外网浮动IP、以及设置所述类的限速带宽为所述客户端申请的外网浮动IP对应的自定义带宽值。
基于同一技术构思,本发明还提供了一种IaaS云平台下云主机的外网带宽限速系统,包括客户端和部署在IaaS云平台的网络节点上的三层代理L3agent,IaaS云平台的网络节点上还部署三层网络设备,云主机部署在IaaS云平台的计算节点上,所述三层网络设备包括虚拟路由器,其中:
所述客户端,用于申请自定义带宽值的外网浮动IP,并发送外网浮动IP绑定云主机请求;
所述L3agent,用于当给虚拟路由器增加外部网络接口时,使用流量控制工具在所述外部网络接口的入口方向建立无类的队列规则、出口方向建立有类的根队列规则;接收到客户端发送的外网浮动IP绑定云主机请求后,将所述外网浮动IP绑定到所述外部网络接口上,并获取所述外网浮动IP对应的自定义带宽值;在所述外部网络接口的入口方向上,使用流量控制工具创建第一过滤器,并设置所述第一过滤器需要过滤数据包的目的IP为所述客户端申请的外网浮动IP、以及设置限速带宽为所述客户端申请的外网浮动IP对应的自定义带宽值;在所述外部网络接口的出口方向上,使用流量控制工具创建用于带宽限速的类及其对应的第二过滤器,并设置所述第二过滤器需要过滤数据包的源IP为所述客户端申请的外网浮动IP、以及设置所述类的限速带宽为所述客户端申请的外网浮动IP对应的自定义带宽值。
本发明实施例提供的IaaS云平台下云主机的外网带宽限速方法、装置及系统,为了在外部网络接口的入口方向为所有外网浮动IP进行统一限速、在外部网络接口的出口方向为每个外网浮动IP单独执行限速,使用流量控制工具对外部网络接口执行限速初始化:入口方向建立无类的队列规则、出口方向建立有类的根队列规则;基于限速初始化,在外部网络接口的入口方向上,创建第一过滤器,第一过滤器需要过滤数据包的目的IP为外网浮动IP、限速带宽为自定义带宽值,从而,从外部网络接口的入口方向流入并匹配上该第一过滤器的数据流量均受到该带宽上限值管控,在入口方向上实现了为所有外网浮动IP进行统一限速;基于限速初始化,在外部网络接口的出口方向上,创建用于带宽限速的类及其对应的第二过滤器,设置该类的限速带宽为自定义带宽值,第二过滤器需要过滤数据包的源IP为外网浮动IP,从而,从外部网络接口的出口方向流出并与第二过滤器匹配上的数据流量均会导向该类,从而受到该类的带宽上限值管控,在出口方向上实现了为每个外网浮动IP单独执行限速。本方案弥补了IaaS云平台下云主机的外网带宽限速的空缺,实现了双向有效限速。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明实施例中IaaS云平台的网络拓扑示意图;
图2是本发明实施例中IaaS云平台下云主机的外网带宽限速方法流程图;
图3是本发明实施例中基于Linux操作系统的IaaS云平台下云主机的外网带宽限速方案具体实现流程图;
图4是本发明实施例中外部网络接口qg的入口方向限速原理示意图;
图5是本发明实施例中外部网络接口qg的出口方向限速原理示意图;
图6是本发明实施例中IaaS云平台下云主机的外网带宽限速装置框图。
具体实施方式
针对现有IaaS云平台下带宽限速技术的不足,本发明实施例旨在提供一种IaaS云平台下云主机的外网带宽限速方法、装置及系统,用以实现IaaS云平台下云主机外网带宽的双向有效限速。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
IaaS云平台的网络拓扑如图1所示,IaaS云平台包括计算节点和网络节点,计算节点主要提供云主机(Virtual Machine,VM)服务;网络节点主要提供网络服务,例如DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务。每个网络节点上都部署一个L3agent(三层代理),用于提供对三层网络设备(例如虚拟路由器)的管理。
基于IaaS云平台的网络拓扑,本发明实施例提供了一种IaaS云平台下云主机的外网带宽限速方法,如图2所示,包括:
S201、当L3agent给虚拟路由器增加外部网络接口时,使用流量控制工具对外部网络接口执行限速初始化,即:在该外部网络接口的入口方向建立无类的队列规则、出口方向建立有类的根队列规则;
S202、接收到客户端发送的外网浮动IP绑定云主机请求后,将外网浮动IP绑定到该外部网络接口上,并获取外网浮动IP对应的自定义带宽值;
S203、在该外部网络接口的入口方向上,使用流量控制工具创建第一过滤器,并设置第一过滤器需要过滤数据包的目的IP为客户端申请的外网浮动IP、以及设置限速带宽为客户端申请的外网浮动IP对应的自定义带宽值;从而,从外部网络接口的入口方向上流入并匹配上该第一过滤器(目的IP为客户端申请的外网浮动IP)的数据流量均受到该带宽上限值(即外网浮动IP对应的自定义带宽值)管控。
S204、在该外部网络接口的出口方向上,使用流量控制工具创建用于带宽限速的类及其对应的第二过滤器,并设置第二过滤器需要过滤数据包的源IP为客户端申请的外网浮动IP、以及设置类的限速带宽为客户端申请的外网浮动IP对应的自定义带宽值;从而,所有从外部网络接口的出口方向上流出并匹配上该第二过滤器(源IP为客户端申请的外网浮动IP)的数据流量均会导向该类,从而受到该类的带宽上限值(即外网浮动IP对应的自定义带宽值)管控。
需要说明的是,每个类对应一个队列,为了避免不同的外网浮动IP共享一个队列的问题,在外部网络接口的出口方向上,为每个浮动IP创建一个单独的队列,从而有效解决了单队列资源抢占问题。
具体实施中,在虚拟路由器的命名空间内,使用防火墙管理工具增加一条浮动IP到固定IP的NAT(网络地址转换)规则,用以实现内外网互通。
三层网络设备还包括虚拟路由器的外部网关,具体实施中基于网络攻防考虑,为了保护CPU和内存资源,进一步实现了对虚拟路由器的外部网关的双向有效限速。因为外部网关和外网浮动IP共用虚拟路由器的外部网络接口,对外部网络接口执行限速初始化时,也就实现了对外网浮动IP和外部网关的限速初始化。针对外部网关来说,限速带宽由网络管理员预先配置,限速方式与外网浮动IP的限速方式类似。具体的:
在外部网络接口的入口方向上,使用流量控制工具创建第三过滤器,并设置第三过滤器需要过滤数据包的目的IP为外部网关IP、以及设置限速带宽为网络管理员预先配置的带宽值;从而,从外部网络接口的入口方向上流入并匹配上该第三过滤器(目的IP为外部网关IP)的数据流量均受到带宽上限值(即网络管理员预先配置的带宽值)管控。
在外部网络接口的出口方向上,使用流量控制工具创建用于带宽限速的类及其对应的第四过滤器,并设置第四过滤器需要过滤数据包的源IP为外部网关IP、以及设置类的限速带宽为网络管理员预先配置的带宽值;从而,所有从外部网络接口的出口方向上流出并匹配上该第四过滤器(源IP为外部网关IP)的数据流量均会导向该类,从而受到该类的带宽上限值(即网络管理员预先配置的带宽值)管控。
下面,以基于Linux操作系统的IaaS云平台下云主机的外网带宽限速方案的具体实现,进行详细说明,如图3所示:
S301、当L3agent给虚拟路由器增加外部网络接口qg时,使用Linux操作系统中的TC(Traffic Control,流量控制)工具对外部网络接口qg执行限速初始化。
本发明实施例中,将Linux操作系统中的TC工具简称为Linux TC工具。Linux TC工具用于Linux内核的流量控制,主要是通过在端口处建立一个队列来实现流量控制。如图1外部网络接口qg上蓝色箭头标示:入口方向需要为所有floatingip(浮动IP)进行统一限速,因此在外部网络接口qg的入口方向建立无类的队列规则pfifo_fast QDisc(无类默认队列规则);出口方向需要为每个floatingip单独执行限速,因此在外部网络接口qg的出口方向建立有类的根队列规则HTB QDisc(HTB QDisc队列规则用于对每个class单独限速)。
简单说明一下。QDisc(Queueing Discipline,排队规则)是理解流量控制的基础。无论何时,内核如果需要通过某个网络接口发送数据包,它都需要按照为这个接口配置的QDisc把数据包加入队列。最简单的QDisc是pfifo,pfifo不对进入的数据包做任何的处理,数据包采用先入先出的方式通过队列,不过pfifo会保存网络接口一时无法处理的数据包。pfifo_fast是系统的标准QDisc,它的队列包括三个波段(band)。在每个波段里面,使用先进先出规则;而三个波段(band)的优先级也不相同,band 0的优先级最高,band 2的最低;如果band里面有数据包,系统就不会处理band 1里面的数据包,band 1和band 2之间也是一样。HTB(Hierarchy Token Bucket)实现了一个丰富的连接共享类别体系,使用HTB可以很容易地保证每个类的带宽。
S302、客户端申请一个自定义带宽值的外网floatingip,并发送外网floatingip绑定云主机请求。
S303、L3agent接收到客户端发送的外网floatingip绑定云主机请求后,将该外网floatingip绑定到外部网络接口qg上,同时获取该外网floatingip对应的自定义带宽值,执行下述带宽限速操作。
S304、L3agent在外部网络接口qg的入口方向上,使用Linux TC工具创建一个数据包的filter(过滤器),为了便于区分称为filter 1。外部网络接口qg的入口方向限速原理如图4所示,设置filter 1需要过滤数据包的目的IP为客户端申请的外网floatingip、限速带宽为客户端指定的自定义带宽值。从而,从外部网络接口qg的入口方向流入并匹配上该filter 1的数据流量均受到该带宽上限值管控。
S305、L3agent在外部网络接口qg的出口方向上,使用Linux TC工具创建一个用于带宽限速的class(类)及其对应的filter(过滤器),为了便于区分称为filter 2。外部网络接口qg的出口方向限速原理如图5所示,设置该class的限速带宽为客户端指定的自定义带宽值,并设置filter 2需要过滤数据包的源IP为客户端申请的外网floatingip。从而,从外部网络接口qg的出口方向流出并与该filter 2匹配上的数据流量均会导向该class,从而受到该class的带宽上限值管控。
需要说明的是,每个class对应一个队列,为了避免不同的外网floatingip共享一个队列的问题,在外部网络接口qg的出口方向上,为每个外网floatingip都创建了一个单独的队列,这样就解决了单队列资源抢占问题。
S306、L3agent在虚拟路由器的命名空间内,使用iptables(防火墙管理)工具增加一条floatingip到fixip(固定IP)的NAT(Network Address Translation,网络地址转换)规则,用于实现内外网互通。
同时基于网络攻防考虑,为了保护CPU和内存资源,也实现了对虚拟路由器的外部网关的双向限速,限速带宽由网络管理员预先配置,限速方式同S304、S305所述的floatingip限速,具体的:
S307、L3agent在外部网络接口qg的入口方向上,使用linux TC工具创建一个数据包的filter(过滤器),为了便于区分称为filter 3。设置filter 3需要过滤数据包的目的IP为外部网关IP、限速带宽为网络管理员预先配置的带宽值。从而,从外部网络接口qg的入口方向流入并匹配上该filter 3的数据流量均受到该带宽上限值管控。
S308、L3agent在外部网络接口qg的出口方向上,使用Linux TC工具创建一个用于带宽限速的class(类)及其对应的filter(过滤器),为了便于区分称为filter 4。设置该class的限速带宽为网络管理员预先配置的带宽值,并设置filter 4需要过滤数据包的源IP为外部网关IP。从而,从外部网络接口qg的出口方向流出并与该filter 4匹配上的数据流量均会导向该class,从而受到该class的带宽上限值管控。
需要说明的是,只是为了描述方便而除了具体的步骤编号,本领域普通技术人员可以理解,本实施例中步骤编号并不限定具体的时序关系。
基于同一技术构思,本发明实施例提供了一种IaaS云平台下云主机的外网带宽限速装置,由于该装置解决问题的原理与IaaS云平台下云主机的外网带宽限速方法相一致,因此该装置的实施可以参见方法的实施,重复之处不在赘述。
本领域普通技术人员可以理解,IaaS云平台下云主机的外网带宽限速装置部署在三层代理L3agent中,如图6所示,该装置包括:
初始化模块601,用于当L3agent给虚拟路由器增加外部网络接口时,使用流量控制工具在所述外部网络接口的入口方向建立无类的队列规则、出口方向建立有类的根队列规则;
请求处理模块602,用于接收到客户端发送的外网浮动IP绑定云主机请求后,将所述外网浮动IP绑定到所述外部网络接口上,并获取所述外网浮动IP对应的自定义带宽值;
入口限速模块603,用于在所述外部网络接口的入口方向上,使用流量控制工具创建第一过滤器,并设置所述第一过滤器需要过滤数据包的目的IP为所述客户端申请的外网浮动IP、以及设置限速带宽为所述客户端申请的外网浮动IP对应的自定义带宽值;
出口限速模块604,用于在所述外部网络接口的出口方向上,使用流量控制工具创建用于带宽限速的类及其对应的第二过滤器,并设置所述第二过滤器需要过滤数据包的源IP为所述客户端申请的外网浮动IP、以及设置所述类的限速带宽为所述客户端申请的外网浮动IP对应的自定义带宽值。
具体实施中,所述的出口限速模块604具体用于在所述外部网络接口的出口方向上,为每个外网浮动IP创建一个单独的队列,其中每个类对应一个队列。
为了实现内外网互通,所述装置还包括:
内外网互通模块605,用于在虚拟路由器的命名空间内,使用防火墙管理工具增加一条浮动IP到固定IP的NAT规则。
具体实施中,三层网络设备还包括虚拟路由器的外部网关,为了实现对外部网关的双向有效限速:
入口限速模块603,还用于在所述外部网络接口的入口方向上,使用流量控制工具创建第三过滤器,并设置所述第三过滤器需要过滤数据包的目的IP为外部网关IP、以及设置限速带宽为网络管理员预先配置的带宽值;
出口限速模块604,还用于在所述外部网络接口的出口方向上,使用流量控制工具创建用于带宽限速的类及其对应的第四过滤器,并设置所述第四过滤器需要过滤数据包的源IP为外部网关IP、以及设置所述类的限速带宽为网络管理员预先配置的带宽值。
基于同一技术构思,本发明实施例还一种IaaS云平台下云主机的外网带宽限速系统,包括客户端和部署在IaaS云平台的网络节点上的L3agent,其中:
客户端,用于申请自定义带宽值的外网浮动IP,并发送外网浮动IP绑定云主机请求;
L3agent,用于当给虚拟路由器增加外部网络接口时,使用流量控制工具在所述外部网络接口的入口方向建立无类的队列规则、出口方向建立有类的根队列规则;接收到客户端发送的外网浮动IP绑定云主机请求后,将所述外网浮动IP绑定到所述外部网络接口上,并获取所述外网浮动IP对应的自定义带宽值;在所述外部网络接口的入口方向上,使用流量控制工具创建第一过滤器,并设置所述第一过滤器需要过滤数据包的目的IP为所述客户端申请的外网浮动IP、以及设置限速带宽为所述客户端申请的外网浮动IP对应的自定义带宽值;在所述外部网络接口的出口方向上,使用流量控制工具创建用于带宽限速的类及其对应的第二过滤器,并设置所述第二过滤器需要过滤数据包的源IP为所述客户端申请的外网浮动IP、以及设置所述类的限速带宽为所述客户端申请的外网浮动IP对应的自定义带宽值。
具体实施中,为了实现对虚拟路由器的外部网关的双向有效限速:
L3agent,还用于在所述外部网络接口的入口方向上,使用流量控制工具创建第三过滤器,并设置所述第三过滤器需要过滤数据包的目的IP为外部网关IP、以及设置限速带宽为网络管理员预先配置的带宽值;在所述外部网络接口的出口方向上,使用流量控制工具创建用于带宽限速的类及其对应的第四过滤器,并设置所述第四过滤器需要过滤数据包的源IP为外部网关IP、以及设置所述类的限速带宽为网络管理员预先配置的带宽值。
本发明实施例提供的IaaS云平台下云主机的外网带宽限速方法、装置及系统,为了在外部网络接口的入口方向为所有外网浮动IP进行统一限速、在外部网络接口的出口方向为每个外网浮动IP单独执行限速,使用流量控制工具对外部网络接口执行限速初始化:入口方向建立无类的队列规则、出口方向建立有类的根队列规则;基于限速初始化,在外部网络接口的入口方向上,创建第一过滤器,第一过滤器需要过滤数据包的目的IP为外网浮动IP、限速带宽为自定义带宽值,从而,从外部网络接口的入口方向流入并匹配上该第一过滤器的数据流量均受到该带宽上限值管控,在入口方向上实现了为所有外网浮动IP进行统一限速;基于限速初始化,在外部网络接口的出口方向上,创建用于带宽限速的类及其对应的第二过滤器,设置该类的限速带宽为自定义带宽值,第二过滤器需要过滤数据包的源IP为外网浮动IP,从而,从外部网络接口的出口方向流出并与第二过滤器匹配上的数据流量均会导向该类,从而受到该类的带宽上限值管控,在出口方向上实现了为每个外网浮动IP单独执行限速。本方案弥补了IaaS云平台下云主机的外网带宽限速的空缺,实现了双向有效限速。
进一步的,每个类对应一个队列,为了避免不同的外网浮动IP共享一个队列的问题,在外部网络接口的出口方向上,为每个浮动IP创建一个单独的队列,从而有效解决了单队列资源抢占问题;基于网络攻防考虑,还实现了外部网关的独立限速。
本领域的技术人员应明白,本发明的实施例可提供为方法、系统、装置或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基础设施即服务IaaS云平台下云主机的外网带宽限速方法,其特征在于,所述IaaS云平台包括计算节点和网络节点,所述计算节点上部署云主机,所述网络节点上部署三层代理L3 agent和三层网络设备,所述三层网络设备包括虚拟路由器,所述方法包括:
当L3 agent给虚拟路由器增加外部网络接口时,使用流量控制工具在所述外部网络接口的入口方向建立无类的队列规则、出口方向建立有类的根队列规则;
接收到客户端发送的外网浮动IP绑定云主机请求后,将所述外网浮动IP绑定到所述外部网络接口上,并获取所述外网浮动IP对应的自定义带宽值;
在所述外部网络接口的入口方向上,使用流量控制工具创建第一过滤器,并设置所述第一过滤器需要过滤数据包的目的IP为所述客户端申请的外网浮动IP、以及设置限速带宽为所述客户端申请的外网浮动IP对应的自定义带宽值;
在所述外部网络接口的出口方向上,使用流量控制工具创建用于带宽限速的类及其对应的第二过滤器,并设置所述第二过滤器需要过滤数据包的源IP为所述客户端申请的外网浮动IP、以及设置所述类的限速带宽为所述客户端申请的外网浮动IP对应的自定义带宽值。
2.如权利要求1所述的方法,其特征在于,在所述外部网络接口的出口方向上,为每个外网浮动IP创建一个单独的队列,其中每个类对应一个队列。
3.如权利要求1所述的方法,其特征在于,还包括:
在虚拟路由器的命名空间内,使用防火墙管理工具增加一条浮动IP到固定IP的网络地址转换NAT规则。
4.如权利要求1、2或3所述的方法,其特征在于,所述三层网络设备还包括虚拟路由器的外部网关;以及所述方法还包括:
在所述外部网络接口的入口方向上,使用流量控制工具创建第三过滤器,并设置所述第三过滤器需要过滤数据包的目的IP为外部网关IP、以及设置限速带宽为网络管理员预先配置的带宽值;
在所述外部网络接口的出口方向上,使用流量控制工具创建用于带宽限速的类及其对应的第四过滤器,并设置所述第四过滤器需要过滤数据包的源IP为外部网关IP、以及设置所述类的限速带宽为网络管理员预先配置的带宽值。
5.一种基础设施即服务IaaS云平台下云主机的外网带宽限速装置,其特征在于,所述装置部署在三层代理L3 agent中,所述L3 agent和三层网络设备部署在IaaS云平台的网络节点上,云主机部署在IaaS云平台的计算节点上,所述三层网络设备包括虚拟路由器,所述装置包括:
初始化模块,用于当L3 agent给虚拟路由器增加外部网络接口时,使用流量控制工具在所述外部网络接口的入口方向建立无类的队列规则、出口方向建立有类的根队列规则;
请求处理模块,用于接收到客户端发送的外网浮动IP绑定云主机请求后,将所述外网浮动IP绑定到所述外部网络接口上,并获取所述外网浮动IP对应的自定义带宽值;
入口限速模块,用于在所述外部网络接口的入口方向上,使用流量控制工具创建第一过滤器,并设置所述第一过滤器需要过滤数据包的目的IP为所述客户端申请的外网浮动IP、以及设置限速带宽为所述客户端申请的外网浮动IP对应的自定义带宽值;
出口限速模块,用于在所述外部网络接口的出口方向上,使用流量控制工具创建用于带宽限速的类及其对应的第二过滤器,并设置所述第二过滤器需要过滤数据包的源IP为所述客户端申请的外网浮动IP、以及设置所述类的限速带宽为所述客户端申请的外网浮动IP对应的自定义带宽值。
6.如权利要求5所述的装置,其特征在于,所述出口限速模块具体用于在所述外部网络接口的出口方向上,为每个外网浮动IP创建一个单独的队列,其中每个类对应一个队列。
7.如权利要求5所述的装置,其特征在于,还包括:
内外网互通模块,用于在虚拟路由器的命名空间内,使用防火墙管理工具增加一条浮动IP到固定IP的网络地址转换NAT规则。
8.如权利要求5、6或7所述的装置,其特征在于,所述三层网络设备还包括虚拟路由器的外部网关;以及
所述入口限速模块,还用于在所述外部网络接口的入口方向上,使用流量控制工具创建第三过滤器,并设置所述第三过滤器需要过滤数据包的目的IP为外部网关IP、以及设置限速带宽为网络管理员预先配置的带宽值;
所述出口限速模块,还用于在所述外部网络接口的出口方向上,使用流量控制工具创建用于带宽限速的类及其对应的第四过滤器,并设置所述第四过滤器需要过滤数据包的源IP为外部网关IP、以及设置所述类的限速带宽为网络管理员预先配置的带宽值。
9.一种基础设施即服务IaaS云平台下云主机的外网带宽限速系统,其特征在于,包括客户端和部署在IaaS云平台的网络节点上的三层代理L3 agent,IaaS云平台的网络节点上还部署三层网络设备,云主机部署在IaaS云平台的计算节点上,所述三层网络设备包括虚拟路由器,其中:
所述客户端,用于申请自定义带宽值的外网浮动IP,并发送外网浮动IP绑定云主机请求;
所述L3 agent,用于当给虚拟路由器增加外部网络接口时,使用流量控制工具在所述外部网络接口的入口方向建立无类的队列规则、出口方向建立有类的根队列规则;接收到客户端发送的外网浮动IP绑定云主机请求后,将所述外网浮动IP绑定到所述外部网络接口上,并获取所述外网浮动IP对应的自定义带宽值;在所述外部网络接口的入口方向上,使用流量控制工具创建第一过滤器,并设置所述第一过滤器需要过滤数据包的目的IP为所述客户端申请的外网浮动IP、以及设置限速带宽为所述客户端申请的外网浮动IP对应的自定义带宽值;在所述外部网络接口的出口方向上,使用流量控制工具创建用于带宽限速的类及其对应的第二过滤器,并设置所述第二过滤器需要过滤数据包的源IP为所述客户端申请的外网浮动IP、以及设置所述类的限速带宽为所述客户端申请的外网浮动IP对应的自定义带宽值。
10.如权利要求9所述的系统,其特征在于,所述三层网络设备还包括虚拟路由器的外部网关;以及
所述L3 agent,还用于在所述外部网络接口的入口方向上,使用流量控制工具创建第三过滤器,并设置所述第三过滤器需要过滤数据包的目的IP为外部网关IP、以及设置限速带宽为网络管理员预先配置的带宽值;在所述外部网络接口的出口方向上,使用流量控制工具创建用于带宽限速的类及其对应的第四过滤器,并设置所述第四过滤器需要过滤数据包的源IP为外部网关IP、以及设置所述类的限速带宽为网络管理员预先配置的带宽值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610378467.9A CN105915387B (zh) | 2016-05-31 | 2016-05-31 | 一种IaaS云平台下云主机的外网带宽限速方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610378467.9A CN105915387B (zh) | 2016-05-31 | 2016-05-31 | 一种IaaS云平台下云主机的外网带宽限速方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105915387A CN105915387A (zh) | 2016-08-31 |
CN105915387B true CN105915387B (zh) | 2019-04-30 |
Family
ID=56741855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610378467.9A Active CN105915387B (zh) | 2016-05-31 | 2016-05-31 | 一种IaaS云平台下云主机的外网带宽限速方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105915387B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107800645B (zh) * | 2016-09-06 | 2020-05-01 | 北京京东尚科信息技术有限公司 | 云主机数据发送、接收、传输方法和装置 |
CN106487590B (zh) * | 2016-10-20 | 2019-05-21 | 国云科技股份有限公司 | 一种基于虚拟网络实现批量虚拟机端口限速的方法 |
CN116614378A (zh) | 2019-09-17 | 2023-08-18 | 华为云计算技术有限公司 | 云业务的带宽管理及配置方法及相关装置 |
CN111049669A (zh) * | 2019-10-30 | 2020-04-21 | 烽火通信科技股份有限公司 | 一种实现流量控制的分布式存储系统及方法 |
CN111447146B (zh) * | 2020-03-20 | 2022-04-29 | 上海中通吉网络技术有限公司 | 物理路由信息的动态更新方法、装置、设备和存储介质 |
CN114900470B (zh) * | 2022-06-17 | 2023-10-31 | 中国联合网络通信集团有限公司 | 流量控制方法、装置、设备及存储介质 |
CN115174407B (zh) * | 2022-06-17 | 2024-06-04 | 上海仪电(集团)有限公司中央研究院 | 一种基于私有云环境下带宽动态分配方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634235A (zh) * | 2013-11-01 | 2014-03-12 | 国云科技股份有限公司 | 一种限定虚拟机网络接口速度的方法 |
CN105471765A (zh) * | 2015-12-22 | 2016-04-06 | 国云科技股份有限公司 | 一种云平台的虚拟机外网带宽限制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040187156A1 (en) * | 2003-01-08 | 2004-09-23 | Stephen Palm | Transporting home networking frame-based communication signals over coaxial cables |
-
2016
- 2016-05-31 CN CN201610378467.9A patent/CN105915387B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634235A (zh) * | 2013-11-01 | 2014-03-12 | 国云科技股份有限公司 | 一种限定虚拟机网络接口速度的方法 |
CN105471765A (zh) * | 2015-12-22 | 2016-04-06 | 国云科技股份有限公司 | 一种云平台的虚拟机外网带宽限制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105915387A (zh) | 2016-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105915387B (zh) | 一种IaaS云平台下云主机的外网带宽限速方法、装置及系统 | |
US11838199B1 (en) | System and method for deploying, scaling and managing network endpoint groups in cloud computing environments | |
US10333889B2 (en) | Central namespace controller for multi-tenant cloud environments | |
US10320674B2 (en) | Independent network interfaces for virtual network environments | |
CN110704155B (zh) | 容器网络构建方法及装置、物理主机、数据传输方法 | |
US10103972B2 (en) | Managing data flows in software-defined network using network interface card | |
US10621127B2 (en) | Communication channel for reconfigurable devices | |
US10721273B2 (en) | Automated security policy | |
EP3044919B1 (en) | Controlling data storage input/output requests | |
JP6200497B2 (ja) | 仮想マシンのフローの物理的なキューへのオフロード | |
JP7400105B2 (ja) | データ処理方法、装置、分散型データフロープログラミングフレームワーク及び関連コンポーネント | |
CN109194502B (zh) | 多租户容器云计算系统的管理方法 | |
US11360800B2 (en) | RDMA with virtual address space | |
US20140307554A1 (en) | Virtual enhanced transmission selection (vets) for lossless ethernet | |
CN108989071B (zh) | 虚拟服务提供方法、网关设备及存储介质 | |
US9497165B2 (en) | Virtual firewall load balancer | |
US9100399B2 (en) | Portable virtual systems for composite solutions | |
CN117897691A (zh) | 在Kubernetes中使用远程POD | |
Costache et al. | Software-defined networking of linux containers | |
US9686100B2 (en) | Packet encapsulation with redirected DMA for software defined networks | |
US20200412688A1 (en) | Discovery-less virtual addressing in software defined networks | |
US11870647B1 (en) | Mapping on-premise network nodes to cloud network nodes | |
WO2017023256A1 (en) | Cloud provisioning for networks | |
CN107508845B (zh) | 一种组网系统、网络共享方法和系统 | |
Aleksiyants et al. | Implementing Apache Spark jobs execution and Apache Spark cluster creation for Openstack Sahara |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230412 Address after: Room 501-502, 5/F, Sina Headquarters Scientific Research Building, Block N-1 and N-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193 Patentee after: Sina Technology (China) Co.,Ltd. Address before: 100080, International Building, No. 58 West Fourth Ring Road, Haidian District, Beijing, 20 floor Patentee before: Sina.com Technology (China) Co.,Ltd. |