欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于Openstack的neutron實現(xiàn)網(wǎng)絡QOS的方法與流程

文檔序號:11959897閱讀:3451來源:國知局

本發(fā)明涉及一種基于Openstack的neutron實現(xiàn)網(wǎng)絡QOS的方法,屬于網(wǎng)絡技術領域。



背景技術:

Neutron分別提供了二層(L2)vSwitch交換和三層(L3)Router路由抽象的功能,對應于物理網(wǎng)絡環(huán)境中的交換機和路由器實現(xiàn)。具體實現(xiàn)了如下功能:

Router:為租戶提供路由、NAT等服務。

Network:對應于一個真實物理網(wǎng)絡中的二層局域網(wǎng)(VLAN),從租戶的的角度而言,是租戶私有的。

Subnet:為網(wǎng)絡中的三層概念,指定一段IPV4或IPV6地址并描述其相關的配置信息。它附加在一個二層Network上,指明屬于這個network的虛擬機可使用的IP地址范圍。

Neutron提供了一種插件式擴展機制,擴展網(wǎng)絡虛擬化的功能。目前已支持防火墻、VPN、安全組、路由器、交換機等網(wǎng)絡功能的虛擬化。但在提供網(wǎng)絡服務質量上,需要擴展新的功能。



技術實現(xiàn)要素:

本發(fā)明的目的在于提供一種基于Openstack的neutron實現(xiàn)網(wǎng)絡QOS的方法,以便更好地實現(xiàn)網(wǎng)絡QOS方法,改善使用效果,方便使用。

為了實現(xiàn)上述目的,本發(fā)明的技術方案如下。

一種基于Openstack的neutron實現(xiàn)網(wǎng)絡QOS的方法,主要步驟包括:提供neutron客戶端SDK與命令行工具,支持網(wǎng)絡QOS規(guī)則的管理與維護;提供neutron服務端QOS插件,對QOS規(guī)則進行存儲與下發(fā);提供neutron的QOS代理實現(xiàn)QOS規(guī)則的設置,該發(fā)明可以針對虛擬機網(wǎng)絡的接口流量進行QOS控制,也可以對虛擬的負載均衡、防火墻、路由器的接口進行QOS控制。

在虛擬的網(wǎng)絡中,允許根據(jù)業(yè)務情況,為指定的網(wǎng)絡通信提供更好的服務能力。在Neutron現(xiàn)有的功能中,并不能對虛擬網(wǎng)絡進行QOS控制,在Neutron的框架下擴展對虛擬網(wǎng)絡進行QOS控制,包括二層控制、三層控制。

Neutron主要支持的網(wǎng)絡模式有扁平、vlan、gre模式,三種網(wǎng)絡架構中,虛擬機的虛擬網(wǎng)卡通過linux橋接入到了openvswitch的br-int的橋上,路由器、防火墻、負載均衡器的虛擬接口直接接在了openvswitch的br-int橋上,通過在br-int橋上在虛擬接口相對應端口的QOS隊列與規(guī)則,即可以實現(xiàn)網(wǎng)絡的QOS控制;實現(xiàn)對虛擬二層端口流量進行精細的控制,滿足各種業(yè)務的網(wǎng)絡要求。

利用virsh命令的attach-interface指令只能現(xiàn)在虛擬機的網(wǎng)絡流量,對于虛擬網(wǎng)絡設備的流量不能進行控制。

該發(fā)明的有益效果在于:該發(fā)明能實現(xiàn)對虛擬二層端口流量進行精細的控制,滿足各種業(yè)務的網(wǎng)絡要求。利用virsh命令的attach-interface指令只能現(xiàn)在虛擬機的網(wǎng)絡流量,對于虛擬網(wǎng)絡設備的流量不能進行控制。

具體實施方式

下面結合實施例對本發(fā)明的具體實施方式進行描述,以便更好的理解本發(fā)明。

實施例

Neutron服務端擴展QOS的插件:

①擴展的Rest接口定義,增加QOS_RULE的資源定義:REST接口有post,put,get,delete四種方法,post為創(chuàng)建資源,put為修改某個資源,get為獲取某個資源,delete為刪除某個資源

②定義擴展的描述:擴展的描述從extensions.ExtensionDescriptor繼承。需要實現(xiàn)get_name、get_description、get_namespace、get_updated、get_resources、get_plugin_interface、update_attributes_map、get_extended_resources共8個接口。

③實現(xiàn)插件接口的定義:

插件的接口QOSPluginBase必須從ServicePluginBase繼承,get_plugin_name,get_plugin_type,get_plugin_description必須實現(xiàn),為插件的基礎信息。

必須為每個資源定義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規(guī)則的數(shù)據(jù)庫模型。

從model_base.BASEV2,models_v2.HasId,models_v2.HasTenant繼承,QOS規(guī)則屬性包括:網(wǎng)絡ID,端口ID,最大流量值,最大突發(fā)流量值。

⑤實現(xiàn)QOS規(guī)則的數(shù)據(jù)庫操作。

需要多重繼承插件接口類QOSPluginBase、base_db.CommonDbMixin;

#查詢qos_rules表獲取所有的qos規(guī)則

def get_qos_rules(self,context,filters=None,fields=None)

#查詢qos_rules,獲取id值匹配的qos規(guī)則

def get_qos_rule(self,context,id,fields=None):

#保存qos規(guī)則到qos_rules表

def create_qos_rule(self,context,data):

#修改qos_rules表中的qos規(guī)則

def update_qos_rule(self,context,id,data):

#從qos_ruls表中刪除指定id的qos規(guī)則

def delete_qos_rule(self,context,id):

⑥插件調度類的實現(xiàn)

QOS-Agent可以在不同的計算節(jié)點,網(wǎng)絡節(jié)點上運行,插件調度類找到對應的QOS-Agent;根據(jù)Agent的主機名,獲取需要的QOS規(guī)則信息。

調度類從agentschedulers_db.AgentSchedulerDbMixin繼承

⑦發(fā)送給Agent的RPC封裝實現(xiàn)

當服務端創(chuàng)建、刪除、修改QOS規(guī)則時,需要將信息通過RPC方式發(fā)送到Qos-Agent。

⑧處理QOS-Agent消息封裝實現(xiàn):通過plugin的數(shù)據(jù)庫接口根據(jù)qos-agent的主機名查詢對應的qos規(guī)則。

增加QOS-Agent:

①實現(xiàn)Agent的管理類,管理QOS驅動器的加載,從periodic_task.PeriodicTasks繼承,周期性上報Agent的狀態(tài);

②實現(xiàn)OVS的QOS驅動,通過配置隊列,端口的QOS選項、流表規(guī)則完成網(wǎng)絡QOS的控制。

Neutron客戶端擴展SDK與命令行:

①SDK封裝:

neutronclient\neutron\v2_0\增加目錄:qos

添加qos的命令定義

neutronclient\neutron\v2_0\qos\qos_rule.py

創(chuàng)建的接口需要從neutronv20.CreateCommand繼承

查詢列表的接口需要從neutronv20.ListCommand繼承

修改的接口需要從neutronv20.UpdateCommand繼承

刪除的接口需要從neutronv20.DeleteCommand繼承

顯示單條的接口需要從neutronv20.ShowCommand繼承;

②命令行實現(xiàn):

以上所述是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
盐边县| 方正县| 武宣县| 巴林右旗| 九龙坡区| 贵定县| 大余县| 彰武县| 烟台市| 乌苏市| 邵东县| 开原市| 铜鼓县| 孝感市| 普宁市| 江西省| 固始县| 星子县| 彭州市| 宜都市| 枣庄市| 四川省| 平谷区| 黔江区| 措美县| 岢岚县| 梁山县| 旺苍县| 建平县| 呼和浩特市| 南涧| 岫岩| 喀什市| 威远县| 嘉义县| 揭东县| 柘荣县| 琼中| 蛟河市| 乌审旗| 井陉县|