亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

報文流量控制方法及相關裝置和計算節(jié)點的制作方法

文檔序號:7783040閱讀:199來源:國知局
報文流量控制方法及相關裝置和計算節(jié)點的制作方法
【專利摘要】本發(fā)明實施例公開了報文流量控制方法及相關裝置和計算節(jié)點。其中一種報文流量控制方法可以包括:基于虛擬機的流量控制能力在虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方;若確定協(xié)商出的流量控制策略執(zhí)行方為虛擬機,則虛擬機基于流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理;若確定協(xié)商出的流量控制策略的執(zhí)行方為Host,則虛擬機將待轉發(fā)處理的報文發(fā)送給Host,以便Host基于流量控制策略對接收到的報文進行轉發(fā)處理。本發(fā)明實施例提供的技術方案有利于減少處理虛擬機出方向的報文流量對Host地址空間的占用。
【專利說明】報文流量控制方法及相關裝置和計算節(jié)點
【技術領域】
[0001]本發(fā)明涉及計算機【技術領域】,具體涉及一種報文流量控制方法及相關裝置和計算節(jié)點。
【背景技術】
[0002]虛擬化技術是一種將底層硬件設備與上層操作系統(tǒng)、應用程序分離的去耦合技術,如圖1所示,引入虛擬機監(jiān)控器(VMM,Virtual Machine Monitor)層直接管理底層硬件資源,創(chuàng)建與底層硬件無關的虛擬機(VM,Virtual Machine)供上層操作系統(tǒng)和應用程序使用。
[0003]虛擬化技術作為當前流行的云計算(Cloud Computing)平臺的底層重要支撐技術之一,可以極大的提高物理設備的資源使用效率。與傳統(tǒng)的物理服務器相比,虛擬機具有更好的隔離性和封裝性。
[0004]現(xiàn)有一些虛擬化場景下,宿主機(Host)對虛擬機出方向的流量做帶寬限制或基于其它策略的訪問控制。例如VM發(fā)出報文之后,Host先將該報文從VM地址空間拷貝到Host地址空間,Host判斷該報文是否超過發(fā)送限制,對于超過發(fā)送限制的報文通常直接丟棄或先進行緩存,而對超過緩存限制的報文通常就直接丟棄。
[0005]研究實踐過程中發(fā)明人發(fā)現(xiàn),現(xiàn)有由Host執(zhí)行的流量控制機制有時候會造成較大的處理延遲(例如在有些VM數(shù)量較多的場景下或者VM發(fā)包數(shù)量較多的場景下),造成Host地址空間的大量占用。

【發(fā)明內容】

[0006]本發(fā)明實施例提供流量控制方法及相關裝置和計算節(jié)點,以減少處理虛擬機出方向的報文流量對Host地址空間的占用。
[0007]為解決上述技術問題,本發(fā)明實施例提供以下技術方案:
[0008]本發(fā)明實施例第一方面提供一種報文流量控制方法,可包括:
[0009]基于虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方;
[0010]若確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機,則所述虛擬機基于所述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理;
[0011]若確定協(xié)商出的流量控制策略的執(zhí)行方為所述Host,則所述虛擬機將待轉發(fā)處理的報文發(fā)送給所述Host,以便于所述Host基于所述流量控制策略對接收到的所述報文進行轉發(fā)處理。
[0012]結合第一方面,在第一種可能的實施方式中,
[0013]所述基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括:
[0014]虛擬機向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求;
[0015]所述虛擬機若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;
[0016]所述虛擬機若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0017]或者,
[0018]所述基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括:
[0019]虛擬機向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本;
[0020]所述虛擬機若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;
[0021]所述虛擬機若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0022]或者,
[0023]所述基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括:
[0024]虛擬機向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求;
[0025]所述虛擬機若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;
[0026]所述虛擬機若在第一設定時長內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0027]或者,
[0028]所述基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括:
[0029]虛擬機向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本;
[0030]所述虛擬機若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;
[0031]所述虛擬機若在第一設定時長內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0032]或者,
[0033]所述基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括:
[0034]虛擬機向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求;
[0035]所述虛擬機若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0036]所述虛擬機在第二設定時長內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;
[0037]或者,
[0038]所述基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括:
[0039]虛擬機向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本;
[0040]所述虛擬機若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0041]所述虛擬機若在第二設定時長內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機。
[0042]結合第一方面的第一種可能的實施方式,在第二種可能的實施方式中,所述協(xié)商確認指示中包含所述流量控制策略;
[0043]所述虛擬機基于所述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理,包括:
[0044]所述虛擬機基于所述協(xié)商確認指示中包含的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理。
[0045]結合第一方面的第一種可能的實施方式或第一方面的第二種可能的實施方式,在第三種可能的實施方式中,所述虛擬機向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求包括:
[0046]虛擬機在接收到用戶態(tài)進程發(fā)起的協(xié)商啟動請求之后,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求;或者,虛擬機在接收到來自所述Host的協(xié)商啟動請求之后,向上述Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求。
[0047]結合第一方面或第一方面的第一種可能的實施方式或第一方面的第二種可能的實施方式或第一方面的第三種可能的實施方式,在第四種可能的實施方式中,所述基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方包括:部署于虛擬機中的預載客戶端與部署于Host中的預載服務端之間的連接建立完成之后,所述預載客戶端基于建立的所述連接與所述預載服務端基于所述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方。
[0048]結合第一方面的第四種可能的實施方式,在第五種可能的實施方式中,
[0049]所述方法還包括:
[0050]在確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機之后,所述預載客戶端基于所述連接周期性的向所述預載服務端發(fā)送心跳消息。
[0051]結合第一方面或第一方面的第一種可能的實施方式或第一方面的第二種可能的實施方式或者第一方面的第三種可能的實施方式或第一方面的第四種可能的實施方式或第一方面的第五種可能的實施方式,在第六種可能的實施方式中,所述流量控制策略為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略。
[0052]本發(fā)明實施例第二方面提供一種報文流量控制方法,可包括:
[0053]基于虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方;
[0054]若確定協(xié)商出的流量控制策略執(zhí)行方為所述Host,所述Host在接收到來自所述虛擬機的報文之后,基于所述流量控制策略對接收到的所述報文進行轉發(fā)處理。。
[0055]結合第二方面,在第一種可能的實施方式中,所述宿主機Host與虛擬機基于所述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方,包括:
[0056]基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括:
[0057]Host接收虛擬機發(fā)送的攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求;
[0058]若所述Host根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略,則向所述虛擬機發(fā)送協(xié)商確認指示,所述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;
[0059]若所述Host根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略,則向所述虛擬機發(fā)送協(xié)商否認指示,所述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0060]或者,
[0061]基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括:
[0062]Host接收虛擬機發(fā)送的攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本;
[0063]若所述Host根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向所述虛擬機發(fā)送協(xié)商確認指示,其中,所述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;
[0064]若所述Host根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向所述虛擬機發(fā)送協(xié)商否認指示,其中,所述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述Host。[0065]結合第二方面或第二方面的第一種可能的實施方式,在第二種可能的實施方式中,所述基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括:在Host中的預載服務端與虛擬機中的預載客戶端之間的連接建立完成之后,所述預載服務端通過所述連接與所述預載客戶端基于所述虛擬機的流量控制能力,在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方。
[0066]結合第二方面或第二方面的第一種可能的實施方式或第二方面的第二種可能的實施方式,在第三種可能的實施方式中,所述方法還包括:
[0067]在確定協(xié)商出的流量控制策略的執(zhí)行方為所述虛擬機之后,若在設定時長內未接收到來自所述虛擬機的心跳消息,則所述Host向所述虛擬機發(fā)送用于指示流量控制策略的執(zhí)行方切換為所述Host的指示消息。
[0068]結合第二方面或第二方面的第一種可能的實施方式或第二方面的第二種可能的實施方式或者第二方面的第三種可能的實施方式,在第四種可能的實施方式中,所述流量控制策略為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略。
[0069]本發(fā)明第三方面提供一種報文流量控制方法,可包括:
[0070]基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方;
[0071]若協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機,則基于所述流量控制策略對所述虛擬機待轉發(fā)處理的報文進行轉發(fā)處理;
[0072]若協(xié)商出的流量控制策略的執(zhí)行方為所述Host,則將所述虛擬機待轉發(fā)處理的報文發(fā)送給所述Host ;基于所述流量控制策略對所述Host接收到的待轉發(fā)處理的所述報文進行轉發(fā)處理。
[0073]結合第三方面,在第一種可能的實施方式中,
[0074]所述基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方包括:
[0075]向Host發(fā)送所述虛擬機待向所述Host發(fā)送的執(zhí)行方協(xié)商請求,所述執(zhí)行方協(xié)商請求攜帶所述虛擬機的流量控制能力的描述信息;
[0076]在所述Host接收到所述執(zhí)行方協(xié)商請求之后,若根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略,則向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的協(xié)商確認指示,其中,所述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;和/或,若根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略,則向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的協(xié)商否認指示,所述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0077]或者,
[0078]所述基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方包括:
[0079]向Host發(fā)送所述虛擬機待向所述Host發(fā)送的執(zhí)行方協(xié)商請求,所述執(zhí)行方協(xié)商請求攜帶所述虛擬機的流量控制能力的描述信息,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本;
[0080]在所述Host接收到所述執(zhí)行方協(xié)商請求之后,若根據(jù)所述流量控制能力的描述信息,確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的協(xié)商確認指示,所述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;和/或若根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的協(xié)商否認指示,其中,所述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述Host。
[0081]結合第三方面或第三方面的第一種可能的實施方式,在第二種可能的實施方式中,所述協(xié)商確認指示中包含所述流量控制策略;
[0082]其中,所述基于所述流量控制策略對所述虛擬機待轉發(fā)處理的報文進行轉發(fā)處理包括:基于所述協(xié)商確認指示中包含的所述流量控制策略對所述虛擬機待轉發(fā)處理的報文進行轉發(fā)處理。
[0083]結合第三方面或第三方面的第一種可能的實施方式或第三方面的第二種可能的實施方式,在第三種可能的實施方式中,在協(xié)商出的流量控制策略的執(zhí)行方為所述虛擬機之后,若所述Host在設定時長內未接收到來自所述虛擬機的心跳消息,向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的,用于指示流量控制策略的執(zhí)行方切換為所述Host的指示消息。
[0084]結合第三方面或第三方面的第一種可能的實施方式或第三方面的第二種可能的實施方式或者第三方面的第三種可能的實施方式,在第四種可能的實施方式中,
[0085]所述流量控制策略為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略。
[0086]結合第三方面或第三方面的第一種可能的實施方式或第三方面的第二種可能的實施方式或者第三方面的第三種可能的實施方式或者第三方面的第四種可能的實施方式,在第五種可能的實施方式中,所述向Host發(fā)送所述虛擬機待向所述Host發(fā)送的執(zhí)行方協(xié)商請求包括:
[0087]在虛擬機在接收到用戶態(tài)進程發(fā)起的協(xié)商啟動請求之后,向Host發(fā)送所述虛擬機待向所述Host發(fā)送的執(zhí)行方協(xié)商請求;或者,在虛擬機在接收到來自所述Host的協(xié)商啟動請求之后,向所述Host發(fā)送所述虛擬機待向所述Host發(fā)送的執(zhí)行方協(xié)商請求。
[0088]結合第三方面或者第三方面的第一種可能的實施方式或第三方面的第二種可能的實施方式或者第三方面的第三種可能的實施方式或者第三方面的第四種可能的實施方式或者第三方面的第五種可能的實施方式,在第六種可能的實施方式中,基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方包括:在部署于虛擬機中的預載客戶端與部署于Host中的預載服務端之間的連接建立完成之后,通過建立的所述連接,基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行。
[0089]本發(fā)明第四方面提供一種報文流量控制方法,可包括:
[0090]處理器基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方;
[0091]若協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機,則所述處理器基于所述流量控制策略對所述虛擬機待轉發(fā)處理的報文進行轉發(fā)處理;[0092]若協(xié)商出的流量控制策略的執(zhí)行方為所述Host,則所述處理器將所述虛擬機待轉發(fā)處理的報文發(fā)送給所述Host ;所述處理器基于所述流量控制策略對所述Host接收到的待轉發(fā)處理的所述報文進行轉發(fā)處理。
[0093]結合第四方面,在第一種可能的實施方式中,
[0094]所述處理器基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方包括:所述處理器向Host發(fā)送所述虛擬機待向所述Host發(fā)送的執(zhí)行方協(xié)商請求,所述執(zhí)行方協(xié)商請求攜帶所述虛擬機的流量控制能力的描述信息;
[0095]在所述Host接收到所述執(zhí)行方協(xié)商請求之后,所述處理器若根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略,則所述處理器向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的協(xié)商確認指示,其中,所述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;和/或,所述處理器若根據(jù)所述流量控制能力的描述信息,確定所述虛擬機不支持執(zhí)行流量控制策略,則所述處理器向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的協(xié)商否認指示,其中,所述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0096]或者,
[0097]所述處理器基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方包括:所述處理器向Host發(fā)送所述虛擬機待向所述Host發(fā)送的執(zhí)行方協(xié)商請求,所述執(zhí)行方協(xié)商請求攜帶所述虛擬機的流量控制能力的描述信息,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本;
[0098]在所述Host接收到所述執(zhí)行方協(xié)商請求之后,所述處理器若根據(jù)所述流量控制能力的描述信息,確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則所述處理器向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的協(xié)商確認指示,所述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;和/或所述處理器若根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則所述處理器向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的協(xié)商否認指示,其中,所述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述Host。
[0099]結合第四方面或第四方面的第一種可能的實施方式,在第二種可能的實施方式中,所述協(xié)商確認指示中包含所述流量控制策略;
[0100]其中,所述處理器基于所述流量控制策略對所述虛擬機待轉發(fā)處理的報文進行轉發(fā)處理包括:所述處理器基于所述協(xié)商確認指示中包含的所述流量控制策略對所述虛擬機待轉發(fā)處理的報文進行轉發(fā)處理。
[0101]結合第四方面或第四方面的第一種可能的實施方式或第四方面的第二種可能的實施方式,在第三種可能的實施方式中,所述方法還包括:在協(xié)商出的流量控制策略的執(zhí)行方為所述虛擬機之后,若所述Host在設定時長內未接收到來自所述虛擬機的心跳消息,所述處理器向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的,用于指示流量控制策略的執(zhí)行方切換為所述Host的指示消息。
[0102]結合第四方面或第四方面的第一種可能的實施方式或第四方面的第二種可能的實施方式或者第四方面的第三種可能的實施方式,在第四種可能的實施方式中,
[0103]所述流量控制策略為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略。
[0104]結合第四方面或第四方面的第一種可能的實施方式或第四方面的第二種可能的實施方式或者第四方面的第三種可能的實施方式或者第四方面的第四種可能的實施方式,在第五種可能的實施方式中,所述處理器向Host發(fā)送所述虛擬機待向所述Host發(fā)送的執(zhí)行方協(xié)商請求包括:
[0105]在虛擬機在接收到用戶態(tài)進程發(fā)起的協(xié)商啟動請求之后,所述處理器向Host發(fā)送所述虛擬機待向所述Host發(fā)送的執(zhí)行方協(xié)商請求;或者,在虛擬機在接收到來自所述Host的協(xié)商啟動請求之后,所述處理器向所述Host發(fā)送所述虛擬機待向所述Host發(fā)送的執(zhí)行方協(xié)商請求。
[0106]結合第四方面或者第四方面的第一種可能的實施方式或第四方面的第二種可能的實施方式或者第四方面的第三種可能的實施方式或者第四方面的第四種可能的實施方式或者第四方面的第五種可能的實施方式,在第六種可能的實施方式中,所述基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方,包括:在部署于虛擬機中的預載客戶端與部署于Host中的預載服務端之間的連接建立完成之后,所述處理器通過建立的所述連接,基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行。
[0107]本發(fā)明第五方面提供一種虛擬機,可包括:
[0108]第一協(xié)商單元,用于基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方;
[0109]報文處理單元,用于若確定協(xié)商出的流量控制策略的執(zhí)行方為所述虛擬機,則基于所述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理;若確定協(xié)商出的流量控制策略的執(zhí)行方為所述Host,則將待轉發(fā)處理的報文發(fā)送給所述Host,以便于所述Host基于所述流量控制策略對接收到的所述報文進行轉發(fā)處理。
[0110]結合第五方面,在第一種可能的實施方式中,
[0111]所述第一協(xié)商單元具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0112]或者,
[0113]所述第一協(xié)商單元具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0114]或者,[0115]所述第一協(xié)商單元具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若在第一設定時長內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0116]或者,
[0117]所述第一協(xié)商單元具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若在第一設定時長之內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0118]或者,
[0119]所述第一協(xié)商單元具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;若在第二設定時長內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;
[0120]或者,
[0121]所述第一協(xié)商單元具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;若在第二設定時長之內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機。
[0122]結合第五方面或者第五方面的第一種可能的實施方式,在第二種可能的實施方式中,所述虛擬機還包括:
[0123]發(fā)送單元,用于在確定協(xié)商出的流量控制策略的執(zhí)行方為所述虛擬機之后,周期性的向所述Host發(fā)送心跳消息。
[0124]結合第五方面或者第五方面的第一種可能的實施方式或第五方面的第二種可能的實施方式,在第三種可能的實施方式中,
[0125]所述流量控制策略為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略。
[0126]結合第五方面的第一種可能的實施方式或者第五方面的第二種可能的實施方式或第五方面的第三種可能的實施方式,在第四種可能的實施方式中,在所述向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求的方面,所述協(xié)商單元具體用于,在接收到用戶態(tài)進程發(fā)起的協(xié)商啟動請求之后,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求;或者在接收到來自所述Host的協(xié)商啟動請求之后,向上述Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求。
[0127]本發(fā)明第六方面提供一種宿主機,包括:
[0128]第二協(xié)商單元,用于基于所述虛擬機的流量控制能力在所述虛擬機與所述宿主機之間協(xié)商流量控制策略的執(zhí)行方;
[0129]報文處理單元,用于若確定協(xié)商出的流量控制策略的執(zhí)行方為所述宿主機,在接收到來自所述虛擬機的報文之后,基于所述流量控制策略對接收到的所述報文進行轉發(fā)處理。
[0130]結合第六方面,在第一種可能的實施方式中,
[0131]所述第二協(xié)商單元具體用于,接收虛擬機發(fā)送的攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略,則向所述虛擬機發(fā)送協(xié)商確認指示,所述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略,則向所述虛擬機發(fā)送協(xié)商否認指示,所述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述宿主機;
[0132]或者,
[0133]所述第二協(xié)商單元具體用于,接收虛擬機發(fā)送的攜帶有所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本,若根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向所述虛擬機發(fā)送協(xié)商確認指示,其中,所述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向所述虛擬機發(fā)送協(xié)商否認指示,其中,所述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述宿主機。
[0134]結合第六方面或者第六方面的第一種可能的實施方式,在第二種可能的實施方式中,所述報文處理單元還用于,在確定協(xié)商出的流量控制策略的執(zhí)行方為所述虛擬機之后,若在設定時長內未接收到來自所述虛擬機的心跳消息,則向所述虛擬機發(fā)送用于指示流量控制策略執(zhí)行方切換為所述Host的指示消息。
[0135]結合第六方面或者第六方面的第一種可能的實施方式或第六方面的第二種可能的實施方式,在第三種可能的實施方式中,
[0136]所述流量控制策略為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略。
[0137]本發(fā)明第七方面提供一種計算節(jié)點,可包括,硬件層、運行在所述硬件層之上的宿主機Host、以及運行在所述Host之上的至少一個虛擬機,
[0138]所述虛擬機,用于基于所述虛擬機的流量控制能力在所述虛擬機與所述Host之間協(xié)商流量控制策略的執(zhí)行方;若確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機,則基于所述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理;若確定協(xié)商出的流量控制策略的執(zhí)行方為所述Host,則將待轉發(fā)處理的報文發(fā)送給所述Host ;
[0139]所述Host用于若確定協(xié)商出的流量控制策略執(zhí)行方為所述Host,則在接收到來自所述虛擬機的報文之后,基于所述流量控制策略對接收到的所述報文進行轉發(fā)處理。
[0140]結合第七方面,在第一種可能的實施方式中,
[0141]在基于所述虛擬機的流量控制能力在所述虛擬機與所述Host之間協(xié)商流量控制策略的執(zhí)行方的方面,所述虛擬機具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0142]或者,
[0143]在基于所述虛擬機的流量控制能力在所述虛擬機與所述Host之間協(xié)商流量控制策略的執(zhí)行方的方面,所述虛擬機具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0144]或者,
[0145]在基于所述虛擬機的流量控制能力在所述虛擬機與所述Host之間協(xié)商流量控制策略的執(zhí)行方的方面,所述虛擬機具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若在第一設定時長內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0146]或者,
[0147]在基于所述虛擬機的流量控制能力在所述虛擬機與所述Host之間協(xié)商流量控制策略的執(zhí)行方的方面,所述虛擬機具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若在第一設定時長之內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0148]或者,
[0149]在基于所述虛擬機的流量控制能力在所述虛擬機與所述Host之間協(xié)商流量控制策略的執(zhí)行方的方面,所述虛擬機具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;若在第二設定時長內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;
[0150]或者,
[0151]在基于所述虛擬機的流量控制能力在所述虛擬機與所述Host之間協(xié)商流量控制策略的執(zhí)行方的方面,所述虛擬機具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;若在第二設定時長之內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機。
[0152]結合第七方面或者第七方面的第一種可能的實施方式,在第二種可能的實施方式中,
[0153]所述Host還用于,在確定協(xié)商出的流量控制策略的執(zhí)行方為所述虛擬機之后,若在設定時長內未接收到來自所述虛擬機的心跳消息,則向所述虛擬機發(fā)送用于指示流量控制策略執(zhí)行方切換為所述Host的指示消息。
[0154]可以看出,在本發(fā)明實施例的一些技術方案中,基于上述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方;若確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機,則上述虛擬機基于上述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理;若確定協(xié)商出的流量控制策略的執(zhí)行方為上述Host,則上述虛擬機將待轉發(fā)處理的報文發(fā)送給上述Host,以便上述Host基于上述流量控制策略對接收到的上述報文進行轉發(fā)處理。通過引入虛擬機與Host協(xié)商流量控制策略執(zhí)行方的機制,使得虛擬機與Host都有機會成為流量控制策略執(zhí)行方,這使得由執(zhí)行虛擬機流量控制策略變得可能,這樣就有利于盡可能早的對報文流進行流量控制,進而有利于減少無效處理、減少無效報文流量對帶寬和Host地址空間的占用。可見,上述方案有利于減少處理虛擬機出方向的報文流量對Host地址空間的占用。并且由于是通過協(xié)商來確定流量控制策略執(zhí)行方,流量控制策略執(zhí)行方的執(zhí)行能力得到一定程度的保證,因此有利于提高流量控制策略執(zhí)行的可靠性。
【專利附圖】

【附圖說明】
[0155]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0156]圖1是本發(fā)明實施例提供的虛擬化架構示意圖;
[0157]圖2是本發(fā)明實施例提供的另一種虛擬化架構示意圖;
[0158]圖3是本發(fā)明實施例提供的一種報文流量控制方法的流程示意圖;
[0159]圖4_a是本發(fā)明實施例提供的另一種報文轉發(fā)控制方法的流程示意圖;
[0160]圖4_b是本發(fā)明實施例提供的另一種報文轉發(fā)控制方法的流程示意圖;[0161]圖5_a是本發(fā)明實施例提供的另一種報文轉發(fā)控制方法的流程示意圖;
[0162]圖5_b是本發(fā)明實施例提供的一種計算節(jié)點的結構示意圖;
[0163]圖5-c是本發(fā)明實施例提供的一種報文流量控制的效果示意圖;
[0164]圖6_a是本發(fā)明實施例提供的另一種報文轉發(fā)控制方法的流程示意圖;
[0165]圖6_b是本發(fā)明實施例提供的另一種報文流量控制的效果示意圖;
[0166]圖7是本發(fā)明實施例提供的另一種報文轉發(fā)控制方法的流程示意圖;
[0167]圖8是本發(fā)明實施例提供的另一種報文轉發(fā)控制方法的流程示意圖;
[0168]圖9是本發(fā)明實施例提供的一種虛擬機的結構示意圖;
[0169]圖10是本發(fā)明實施例提供的一種宿主機的結構示意圖;
[0170]圖11是本發(fā)明實施例提供的一種計算節(jié)點的結構示意圖;
[0171]圖12是本發(fā)明實施例提供的另一種計算節(jié)點的結構示意圖;
[0172]圖13是本發(fā)明實施例提供的另一種計算節(jié)點的結構示意圖。
【具體實施方式】
[0173]本發(fā)明實施例提供流量控制方法及相關裝置和計算節(jié)點,以減少處理虛擬機出方向的報文流量對Host地址空間的占用。
[0174]為了使本【技術領域】的人員更好地理解本發(fā)明方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
[0175]為了方便理解本發(fā)明實施例,首先在此介紹本發(fā)明實施例描述中會引入的幾個要素;
[0176]虛擬機VM:
[0177]通過虛擬機軟件可以在一臺物理計算機上模擬出一臺或者多臺虛擬的計算機,而這些虛擬機就像真正的計算機那樣進行工作,虛擬機上可以安裝操作系統(tǒng)和應用程序,虛擬機還可訪問網(wǎng)絡資源。對于在虛擬機中運行的應用程序而言,虛擬機就像是在真正的計算機中進行工作。
[0178]硬件層:
[0179]虛擬化環(huán)境運行的硬件平臺。其中,硬件層可包括多種硬件,例如某計算節(jié)點的硬件層可包括CPU和內存,還可以包括網(wǎng)卡、存儲器等等高速/低速輸入/輸出(I/O, Input/Output)設備,及具有特定處理功能的其它設備,如輸入輸出內存管理單元(10MMU,Input/Output Memory Management Unit),其中IOMMU可用于虛擬機物理地址和Host物理地址的轉換。
[0180]宿主機(Host):
[0181]作為管理層,用以完成硬件資源的管理、分配;為虛擬機呈現(xiàn)虛擬硬件平臺;實現(xiàn)虛擬機的調度和隔離。其中,Host可能是虛擬機監(jiān)控器(VMM);此外,有時VMM和I個特權虛擬機配合,兩者結合組成Host。其中,虛擬硬件平臺對其上運行的各個虛擬機提供各種硬件資源,如提供虛擬CPU、內存、虛擬磁盤、虛擬網(wǎng)卡等等。其中,該虛擬磁盤可對應Host的一個文件或者一個邏輯塊設備。虛擬機則運行在Host為其準備的虛擬硬件平臺上,Host上運行一個或多個虛擬機。
[0182]參見圖2和,圖2是本發(fā)明實施例提出的一種計算節(jié)點的虛擬化體系架構示意圖,該體系架構主要包括三個層次:硬件層、Host和虛擬機(VM)。硬件層包括網(wǎng)卡。Host中部署有與網(wǎng)卡對應的后端實例(BE,Back-End),VM中具有網(wǎng)卡對應的前端實例(FE,F(xiàn)ront-End);其中,VM中的BE可以看成是網(wǎng)卡的前端驅動,Host中的FE可以看成是網(wǎng)卡的后端驅動。
[0183]本發(fā)明流量控制方法的一個實施例,一種報文流量控制方法包括:基于虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方;若確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機,則上述虛擬機基于上述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理;若確定協(xié)商出的流量控制策略的執(zhí)行方為上述Host,則上述虛擬機將待轉發(fā)處理的報文發(fā)送給上述Host,以便于上述Host基于上述流量控制策略對接收到的上述報文進行轉發(fā)處理。
[0184]請參見圖3,圖3為本發(fā)明的一個實施例提供的一種報文流量控制方法的流程示意圖。其中,如圖3所示,本發(fā)明的一個實施例提供的一種報文流量控制方法可包括以下內容:
[0185]301、基于虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方。
[0186]在本發(fā)明一些實施例中,虛擬機與宿主機Host可通過多種方式來基于上述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方。
[0187]舉例來說,上述基于虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方,包括:虛擬機向Host發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求;上述虛擬機若接收到上述Host在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則上述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;上述虛擬機若接收到上述Host在根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則上述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為上述Host。
[0188]又舉例來說,基于虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方,包括:虛擬機向Host發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本;上述虛擬機若接收到上述Host在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則上述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機。上述虛擬機若接收到上述Host在根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則上述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為上述Host ;
[0189]又舉例來說,基于上述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方,包括:虛擬機向Host發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求;上述虛擬機若接收到上述Host在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則上述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;上述虛擬機若在第一設定時長內未接收到上述Host發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則上述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為上述Host。
[0190]又舉例來說,上述基于虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方,包括:虛擬機向Host發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本;上述虛擬機若接收到上述Host在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則上述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;上述虛擬機若在第一設定時長內未接收到上述Host發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則上述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為上述Host。
[0191]又舉例來說,上述基于虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方,包括:虛擬機向Host發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求;上述虛擬機若接收到上述Host在根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則上述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為上述Host ;上述虛擬機在第二設定時長內未接收到上述Host發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則上述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機。
[0192]又舉例來說,上述基于虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方,包括:虛擬機向Host發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本;上述虛擬機若接收到上述Host在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則上述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為上述Host ;上述虛擬機若在第二設定時長內未接收到上述Host發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則上述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機。
[0193]在本發(fā)明的一些實施例中,由于上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,因此,Host根據(jù)上述流量控制能力的描述信息確定上述虛擬機是否支持執(zhí)行當前最新版本或者預設版本的流量控制策略具體可包括:比較上述流量控制能力的描述信息所描述出上述虛擬機支持執(zhí)行的流量控制策略的版本是否與流量控制策略的當前最新版本或者預設版本相同,若是,則可確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略;若否,則可確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略。又例如,Host根據(jù)上述流量控制能力的描述信息確定上述虛擬機是否支持執(zhí)行當前最新版本或者預設版本的流量控制策略具體可包括:比較上述流量控制能力的描述信息所描述出上述虛擬機支持執(zhí)行的流量控制策略的k個(其中,k為正整數(shù))版本中的每個版本,是否與流量控制策略的當前最新版本或者預設版本相同,若比較出上述k個版本中的其中I個版本與流量控制策略的當前最新版本或者預設版本相同,則可確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略;若比較出上述k個版本中的任意I個版本與流量控制策略的當前最新版本或者預設版本均不同,則可確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略。
[0194]可以理解,虛擬機與宿主機Host基于上述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方的具體方式并不限于上述舉例。
[0195]302、若確定出協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機,則上述虛擬機可基于上述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理。
[0196]303、若確定出協(xié)商出的流量控制策略的執(zhí)行方為上述Host,則上述虛擬機將待轉發(fā)處理的報文發(fā)送給上述Host,以便于上述Host基于上述流量控制策略對接收到的上述報文進行轉發(fā)處理。
[0197]本實施例中提及的流量控制策略例如可為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略,當然流量控制策略也可是參考其他因素的流量控制策略。
[0198]其中,基于服務質量的流量控制策略主要基于待轉發(fā)處理報文對應的業(yè)務優(yōu)先級,來確定該報文的具體轉發(fā)處理方式(其中,具體轉發(fā)處理方式可以是延遲發(fā)送報文、無延遲的發(fā)送報文或丟棄報文等)。例如,當前緩存中存在多個待轉發(fā)處理的報文,則所對應業(yè)務優(yōu)先級越高的報文發(fā)送延遲可能越短甚至無延遲,所對應業(yè)務優(yōu)先級越低的報文發(fā)送延遲可能越長,甚至可以丟棄所對應業(yè)務優(yōu)先級低于設定的優(yōu)先級閾值的待轉發(fā)處理報文,這樣就有利于盡可能的保障高優(yōu)先級業(yè)務的服務質量。即,基于服務質量的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理具體可包括:按照待轉發(fā)處理報文的業(yè)務優(yōu)先級所對應的轉發(fā)處理方式對該待轉發(fā)處理的報文進行轉發(fā)處理。
[0199]其中,基于訪問控制列表的流量控制策略,主要基于待轉發(fā)處理報文所攜帶信息與訪問控制列表所包含記錄之間是否匹配,來確定報文的具體轉發(fā)處理方式。例如,訪問控制列表為限制訪問控制列表(類似黑名單),對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等等信息,若限制訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是直接丟棄,反之,對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若限制訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是轉發(fā)該報文。又舉例來說,假設訪問控制列表為允許訪問控制列表(類似白名單),則對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等信息,若允許訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為直接丟棄,而對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若允許訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為轉發(fā)該報文。其它情況以此類推。
[0200]在本發(fā)明一些實施例中,上述協(xié)商確認指示中包含上述流量控制策略;上述虛擬機基于上述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理包括:上述虛擬機基于上述協(xié)商確認指示中包含的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理。
[0201]當然,Host亦可通過其它方式將流量控制策略傳遞給虛擬機,以便于虛擬機在確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機之后,基于Host傳遞過來的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理。當然,也可以在虛擬機中預配置流量控制策略,當上述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機,上述虛擬機基于預配置的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理。
[0202]在本發(fā)明一些實施例中,上述虛擬機向Host發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求包括:虛擬機在接收到用戶態(tài)進程發(fā)起的協(xié)商啟動請求(即可能又用戶態(tài)應用或用戶指令觸發(fā))之后,向Host發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求;或者虛擬機可在接收到來自上述Host的協(xié)商啟動請求之后,向上述Host發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求。當然,虛擬機亦可自主或在其它條件的觸發(fā)下,向Host發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求。
[0203]在本發(fā)明一些實施例中,可在虛擬機中部署于預載客戶端,可Host中部署于預載服務端,可由預載客戶端和預載服務端來基于上述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方。例如,上述基于上述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方可包括:部署于虛擬機中的預載客戶端與部署于Host中的預載服務端之間的連接建立完成之后,上述預載客戶端基于建立的上述連接與上述預載服務端基于上述虛擬機的流量控制能力,在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方。
[0204]在本發(fā)明一些實施例中,進一步的,在確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機之后,上述預載客戶端基于上述連接周期性的向上述預載服務端發(fā)送心跳消息。其中,發(fā)送心跳消息的目的之一是將虛擬機工作正常的狀態(tài)通知Host,Host若在設定時長內未接收到來自上述虛擬機的心跳消息,則Host可默認為虛擬機可能存在故障。例如Host在確定協(xié)商出的流量控制策略的執(zhí)行方為上述虛擬機之后,若在設定時長內未接收到來自上述虛擬機的心跳消息,則上述Host可將流量控制策略的執(zhí)行方切換為上述Host (即無論虛擬機是否基于流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理,Host也基于流量控制策略對來自該虛擬機的報文進行轉發(fā)處理,由于Host和虛擬機中執(zhí)行的流量控制策略相同,因此,對于同一報文流,若Host和/或虛擬機執(zhí)行流量控制策略,最終報文輸出情況是基本相同的),可向或不向上述虛擬機發(fā)送用于指示流量控制策略的執(zhí)行方切換為上述Host的指示消息。
[0205]在本發(fā)明一些實施例中,在確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機之后,上述預載客戶端亦可在虛擬機執(zhí)行流量控制策略故障時,向預載服務端發(fā)送用于指示虛擬機執(zhí)行流量控制策略故障的指示消息,而Host在確定協(xié)商出的流量控制策略的執(zhí)行方為上述虛擬機之后,若接收到來自虛擬機的用于指示虛擬機執(zhí)行流量控制策略故障的指示消息,則上述Host可將流量控制策略的執(zhí)行方切換為上述Host。
[0206]在本發(fā)明一些實施例中,在確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機之后,預載服務端亦可周期性的或非周期性的向預載客戶端發(fā)送用于查詢虛擬機執(zhí)行流量控制策略是否正常的狀態(tài)查詢消息,若在設定時長之內未接收到來自虛擬機的用于響應上述狀態(tài)查詢消息的狀態(tài)指示消息,或接收到來自虛擬機的用于指示虛擬機執(zhí)行流量控制策略故障的指示消息,則可確定虛擬機執(zhí)行流量控制策略故障。當然,預載服務端亦可通過其它方式監(jiān)測虛擬機執(zhí)行流量控制策略是否故障。若確定虛擬機執(zhí)行流量控制策略故障,Host可將流量控制策略的執(zhí)行方切換為上述Host。[0207]可以看出,本實施例的方案中,基于上述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方;若確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機,則上述虛擬機基于上述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理;若確定協(xié)商出的流量控制策略的執(zhí)行方為上述Host,則上述虛擬機將待轉發(fā)處理的報文發(fā)送給上述Host,以便上述Host基于上述流量控制策略對接收到的上述報文進行轉發(fā)處理。通過引入虛擬機與Host協(xié)商流量控制策略執(zhí)行方的機制,使得虛擬機與Host都有機會成為流量控制策略執(zhí)行方,這使得由執(zhí)行虛擬機流量控制策略變得可能,這樣就有利于盡可能早的對報文流進行流量控制,進而有利于減少無效處理、減少無效報文流量對帶寬和Host地址空間的占用。可見,上述方案有利于減少轉發(fā)處理虛擬機出方向的報文流量對Host地址空間的占用。并且由于是通過協(xié)商來確定流量控制策略執(zhí)行方,因此有利于提高流量控制策略執(zhí)行的可靠性。
[0208]進一步的,當虛擬機與Host都支持執(zhí)行流量控制策略時,優(yōu)先讓虛擬機來執(zhí)行流量控制策略,這樣進一步有利于盡可能早的對報文進行流量控制,進而進一步有利于減少無效處理和無效報文流量對帶寬的占用。
[0209]本發(fā)明流量控制方法的另一個實施例,另一種報文流量控制方法包括:基于虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方;上述Host若確定協(xié)商出的流量控制策略執(zhí)行方為上述Host,上述Host在接收到來自上述虛擬機的報文之后,基于上述流量控制策略對接收到的上述報文進行轉發(fā)處理。
[0210]請參見圖4-a,圖4-a為本發(fā)明的另一個實施例提供的另一種報文流量控制方法的流程示意圖。其中,如圖4-a所示,本發(fā)明的另一個實施例提供的另一種報文流量控制方法可包括以下內容:
[0211]401、基于虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方。
[0212]在本發(fā)明一些實施例中,Host與虛擬機可通過多種方式來基于上述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方。
[0213]舉例來說,上述宿主機Host與虛擬機基于上述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方,可包括:Host接收虛擬機發(fā)送的攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求;若上述Host根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行流量控制策略,則向上述虛擬機發(fā)送協(xié)商確認指示,上述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;和/或,若上述Host根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行流量控制策略,則向上述虛擬機發(fā)送協(xié)商否認指示,上述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述Host。
[0214]又舉例來說,上述宿主機Host與虛擬機基于上述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方,可包括:Host接收虛擬機發(fā)送的攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本;若上述Host根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向上述虛擬機發(fā)送協(xié)商確認指示,其中,上述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;和/或若上述Host根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向上述虛擬機發(fā)送協(xié)商否認指示,其中,上述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述Host。
[0215]可以理解,虛擬機與宿主機Host基于上述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方的具體方式并不限于上述舉例。
[0216]402、若確定協(xié)商出的流量控制策略執(zhí)行方為上述Host,上述Host在接收到來自上述虛擬機的報文之后,基于上述流量控制策略對接收到的上述報文進行轉發(fā)處理。
[0217]可以理解的是,上面提到的“雙方”是指參與協(xié)商流量控制策略執(zhí)行方的對象雙方,而此處,這對象雙方即上述虛擬機與上述Host。
[0218]此外,若協(xié)商出的流量控制策略執(zhí)行方為該虛擬機,則上述虛擬機可基于上述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理。
[0219]本實施例中提及的流量控制策略例如可為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略,當然流量控制策略也可是參考其他因素的流量控制策略。
[0220]其中,基于服務質量的流量控制策略主要基于待轉發(fā)處理報文對應的業(yè)務優(yōu)先級,來確定該報文的具體轉發(fā)處理方式(其中,具體轉發(fā)處理方式可以是延遲發(fā)送報文、無延遲的發(fā)送報文或丟棄報文等)。例如,當前緩存中存在多個待轉發(fā)處理的報文,則所對應業(yè)務優(yōu)先級越高的報文發(fā)送延遲可能越短甚至無延遲,所對應業(yè)務優(yōu)先級越低的報文發(fā)送延遲可能越長,甚至可以丟棄所對應業(yè)務優(yōu)先級低于設定的優(yōu)先級閾值的待轉發(fā)處理報文,這樣就有利于盡可能的保障高優(yōu)先級業(yè)務的服務質量。即,基于服務質量的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理具體可包括:按照待轉發(fā)處理報文的業(yè)務優(yōu)先級所對應的轉發(fā)處理方式對該待轉發(fā)處理的報文進行轉發(fā)處理。
[0221]其中,基于訪問控制列表的流量控制策略,主要基于待轉發(fā)處理報文所攜帶信息與訪問控制列表所包含記錄之間是否匹配,來確定報文的具體轉發(fā)處理方式。例如,訪問控制列表為限制訪問控制列表(類似黑名單),對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等等信息,若限制訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是直接丟棄,反之,對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若限制訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是轉發(fā)該報文。又舉例來說,假設訪問控制列表為允許訪問控制列表(類似白名單),則對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等信息,若允許訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為直接丟棄,而對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若允許訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為轉發(fā)該報文。其它情況以此類推。
[0222]在本發(fā)明一些實施例中,上述協(xié)商確認指示包含上述流量控制策略;上述虛擬機基于上述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理包括:上述虛擬機基于上述協(xié)商確認指示中包含的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理。[0223]當然,Host亦可通過其它方式將流量控制策略傳遞給虛擬機,以便于虛擬機在確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機之后,基于Host傳遞過來的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理。當然,也可以在虛擬機中預配置流量控制策略,當上述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機,上述虛擬機基于預配置的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理。
[0224]在本發(fā)明一些實施例中,可在虛擬機中部署于預載客戶端,可Host中部署于預載服務端,可由預載客戶端和預載服務端來基于上述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方。例如,上述虛擬機與宿主機Host基于上述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方可包括:部署于Host中的預載服務端與部署于虛擬機中的預載客戶端之間的連接建立完成之后,上述預載服務端基于建立的上述連接與上述預載客戶端基于上述虛擬機的流量控制能力,在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方。
[0225]在本發(fā)明一些實施例中,進一步的,在確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機之后,上述預載客戶端可基于上述連接周期性的向上述預載服務端發(fā)送心跳消息。發(fā)送心跳消息的目的之一是將虛擬機工作正常的狀態(tài)通知Host,Host若在設定時長內未接收到來自上述虛擬機的心跳消息,則Host可默認為虛擬機可能存在故障。舉例來說,Host在確定協(xié)商出的流量控制策略的執(zhí)行方為上述虛擬機之后,若在設定時長內未接收到來自上述虛擬機的心跳消息,則上述Host可將流量控制策略的執(zhí)行方切換為上述Host (BP無論虛擬機是否基于流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理,Host也基于流量控制策略對來自該虛擬機的報文進行轉發(fā)處理,由于Host和虛擬機中執(zhí)行的流量控制策略相同,因此,對于同一報文流而言,若Host和/或虛擬機執(zhí)行流量控制策略,最終報文輸出情況是基本相同的),可向或不向上述虛擬機發(fā)送用于指示流量控制策略的執(zhí)行方切換為上述Host的指示消息。
[0226]可以看出,本實施例的方案中,Host與虛擬機基于上述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方;上述Host若確定協(xié)商出的流量控制策略執(zhí)行方為上述Host,上述Host在接收到來自上述虛擬機的報文之后,基于上述流量控制策略對接收到的上述報文進行轉發(fā)處理。通過引入虛擬機與Host協(xié)商流量控制策略執(zhí)行方的機制,使得虛擬機與Host都有機會成為流量控制策略執(zhí)行方,這使得由執(zhí)行虛擬機流量控制策略變得可能,這樣就有利于盡可能早的對報文流進行流量控制,進而有利于減少無效處理、減少無效報文流量對帶寬和Host地址空間的占用??梢?,上述方案有利于減少轉發(fā)處理虛擬機出方向的報文流量對Host地址空間的占用。并且,由于是通過協(xié)商方式來確定流量控制策略執(zhí)行方,因此有利于提高流量控制策略執(zhí)行的可靠性。
[0227]進一步的,當虛擬機與Host都支持執(zhí)行流量控制策略時,優(yōu)先讓虛擬機來執(zhí)行流量控制策略,這樣進一步有利于盡可能早的對報文進行流量控制,進而進一步有利于減少無效處理和無效報文流量對帶寬的占用。
[0228]本發(fā)明實施例還提供一種報文流量控制方法,可包括:基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方;若協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機,則基于所述流量控制策略對所述虛擬機待轉發(fā)處理的報文進行轉發(fā)處理;若協(xié)商出的流量控制策略的執(zhí)行方為所述Host,則將所述虛擬機待轉發(fā)處理的報文發(fā)送給所述Host ;基于所述流量控制策略對所述Host接收到的待轉發(fā)處理的所述報文進行轉發(fā)處理。
[0229]在本發(fā)明一些實施例中,所述基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方包括:
[0230]向Host發(fā)送所述虛擬機待向所述Host發(fā)送的執(zhí)行方協(xié)商請求,所述執(zhí)行方協(xié)商請求攜帶所述虛擬機的流量控制能力的描述信息;
[0231]在所述Host接收到所述執(zhí)行方協(xié)商請求之后,若根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略,則向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的協(xié)商確認指示,其中,所述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;和/或,若根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略,則向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的協(xié)商否認指示,所述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述Host ;
[0232]或者,
[0233]所述基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方包括:
[0234]向Host發(fā)送所述虛擬機待向所述Host發(fā)送的執(zhí)行方協(xié)商請求,所述執(zhí)行方協(xié)商請求攜帶所述虛擬機的流量控制能力的描述信息,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本;
[0235]在所述Host接收到所述執(zhí)行方協(xié)商請求之后,若根據(jù)所述流量控制能力的描述信息,確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的協(xié)商確認指示,所述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;和/或若根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的協(xié)商否認指示,其中,所述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述Host。
[0236]在本發(fā)明一些實施例中,所述協(xié)商確認指示中包含所述流量控制策略;
[0237]其中,所述基于所述流量控制策略對所述虛擬機待轉發(fā)處理的報文進行轉發(fā)處理包括:基于所述協(xié)商確認指示中包含的所述流量控制策略對所述虛擬機待轉發(fā)處理的報文進行轉發(fā)處理。
[0238]在本發(fā)明一些實施例中,在協(xié)商出的流量控制策略的執(zhí)行方為所述虛擬機之后,若所述Host在設定時長內未接收到來自所述虛擬機的心跳消息,向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的,用于指示流量控制策略的執(zhí)行方切換為所述Host的指示消
肩、O
[0239]本實施例中提及的上述處理器處理待轉發(fā)處理的報文所基于的流量控制策略例如可為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略,當然流量控制策略也可是參考其他因素的流量控制策略。
[0240]其中,基于服務質量的流量控制策略主要基于待轉發(fā)處理報文對應的業(yè)務優(yōu)先級,來確定該報文的具體轉發(fā)處理方式(其中,具體轉發(fā)處理方式可以是延遲發(fā)送報文、無延遲的發(fā)送報文或丟棄報文等)。例如,當前緩存中存在多個待轉發(fā)處理的報文,則所對應業(yè)務優(yōu)先級越高的報文發(fā)送延遲可能越短甚至無延遲,所對應業(yè)務優(yōu)先級越低的報文發(fā)送延遲可能越長,甚至可以丟棄所對應業(yè)務優(yōu)先級低于設定的優(yōu)先級閾值的待轉發(fā)處理報文,這樣就有利于盡可能的保障高優(yōu)先級業(yè)務的服務質量。即,基于服務質量的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理具體可包括:按照待轉發(fā)處理報文的業(yè)務優(yōu)先級所對應的轉發(fā)處理方式對該待轉發(fā)處理的報文進行轉發(fā)處理。
[0241]其中,基于訪問控制列表的流量控制策略,主要基于待轉發(fā)處理報文所攜帶信息與訪問控制列表所包含記錄之間是否匹配,來確定報文的具體轉發(fā)處理方式。例如,訪問控制列表為限制訪問控制列表(類似黑名單),對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等等信息,若限制訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是直接丟棄,反之,對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若限制訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是轉發(fā)該報文。又舉例來說,假設訪問控制列表為允許訪問控制列表(類似白名單),則對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等信息,若允許訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為直接丟棄,而對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若允許訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為轉發(fā)該報文。其它情況以此類推。
[0242]在本發(fā)明一些實施例中,所述向Host發(fā)送所述虛擬機待向所述Host發(fā)送的執(zhí)行方協(xié)商請求包括:在虛擬機在接收到用戶態(tài)進程發(fā)起的協(xié)商啟動請求之后,向Host發(fā)送所述虛擬機待向所述Host發(fā)送的執(zhí)行方協(xié)商請求;或者,在虛擬機在接收到來自所述Host的協(xié)商啟動請求之后,向所述Host發(fā)送所述虛擬機待向所述Host發(fā)送的執(zhí)行方協(xié)商請求。
[0243]在本發(fā)明一些實施例中,基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方包括:在部署于虛擬機中的預載客戶端與部署于Host中的預載服務端之間的連接建立完成之后,通過建立的所述連接,基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行。
[0244]其中,本實施例上述步驟可由處理器或其它硬件來執(zhí)行。
[0245]請參見圖4_b,圖4_b為本發(fā)明的另一個實施例提供的另一種報文流量控制方法的流程示意圖。其中,如圖4-b所示,本發(fā)明的另一個實施例提供的另一種報文流量控制方法可包括以下內容:
[0246]s401、處理器基于虛擬機的流量控制能力,在宿主機Host和上述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方。
[0247]S402、若協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機,則上述處理器基于上述流量控制策略對上述虛擬機待轉發(fā)處理的報文進行轉發(fā)處理。
[0248]s403、若協(xié)商出的流量控制策略的執(zhí)行方為上述Host,則上述處理器將上述虛擬機待轉發(fā)處理的報文發(fā)送給上述Host ;上述處理器基于上述流量控制策略對上述Host接收到的待轉發(fā)處理的上述報文進行轉發(fā)處理。
[0249]在本發(fā)明一些實施例中,上述處理器基于虛擬機的流量控制能力,在宿主機Host和上述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方,可包括:
[0250]上述處理器基于虛擬機的流量控制能力,在宿主機Host和上述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方包括:上述處理器向Host發(fā)送上述虛擬機待向上述Host發(fā)送的執(zhí)行方協(xié)商請求,上述執(zhí)行方協(xié)商請求攜帶上述虛擬機的流量控制能力的描述信息;
[0251]在上述Host接收到上述執(zhí)行方協(xié)商請求之后,上述處理器若根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行流量控制策略,則上述處理器向上述虛擬機發(fā)送上述Host待向上述虛擬機發(fā)送的協(xié)商確認指示,其中,上述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;和/或,上述處理器若根據(jù)上述流量控制能力的描述信息,確定上述虛擬機不支持執(zhí)行流量控制策略,則上述處理器向上述虛擬機發(fā)送上述Host待向上述虛擬機發(fā)送的協(xié)商否認指示,其中,上述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述Host ;
[0252]或者,
[0253]上述處理器基于虛擬機的流量控制能力,在宿主機Host和上述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方包括:上述處理器向Host發(fā)送上述虛擬機待向上述Host發(fā)送的執(zhí)行方協(xié)商請求,上述執(zhí)行方協(xié)商請求攜帶上述虛擬機的流量控制能力的描述信息,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本;
[0254]在上述Host接收到上述執(zhí)行方協(xié)商請求之后,上述處理器若根據(jù)上述流量控制能力的描述信息,確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則上述處理器向上述虛擬機發(fā)送上述Host待向上述虛擬機發(fā)送的協(xié)商確認指示,上述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;和/或上述處理器若根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則上述處理器向上述虛擬機發(fā)送上述Host待向上述虛擬機發(fā)送的協(xié)商否認指示,其中,上述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述Host。
[0255]在本發(fā)明一些實施例中,上述協(xié)商確認指示中包含上述流量控制策略。
[0256]其中,上述處理器基于上述流量控制策略對上述虛擬機待轉發(fā)處理的報文進行轉發(fā)處理包括:上述處理器基于上述協(xié)商確認指示中包含的上述流量控制策略對上述虛擬機待轉發(fā)處理的報文進行轉發(fā)處理。
[0257]當然,Host亦可通過其它方式將流量控制策略傳遞給虛擬機,以便于在確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機之后,上述處理器基于Host傳遞過來的流量控制策略對虛擬機待轉發(fā)處理的報文進行轉發(fā)處理。當然,也可以在虛擬機中預配置流量控制策略,當確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機,上述處理器基于預配置的流量控制策略對上述虛擬機待轉發(fā)處理的報文進行轉發(fā)處理。
[0258]在本發(fā)明的一些實施例中,在協(xié)商出的流量控制策略的執(zhí)行方為上述虛擬機后,若上述Host在設定時長內未接收到來自上述虛擬機的心跳消息,上述處理器向上述虛擬機發(fā)送上述Host待向上述虛擬機發(fā)送的,用于指示流量控制策略的執(zhí)行方切換為上述Host的指示消息。
[0259]在本發(fā)明一些實施例中,上述流量控制策略為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略。
[0260]在本發(fā)明一些實施例中,上述處理器向Host發(fā)送上述虛擬機待向上述Host發(fā)送的執(zhí)行方協(xié)商請求可包括:
[0261]在虛擬機在接收到用戶態(tài)進程發(fā)起的協(xié)商啟動請求之后,上述處理器向Host發(fā)送上述虛擬機待向上述Host發(fā)送的執(zhí)行方協(xié)商請求;或者,在虛擬機在接收到來自上述Host的協(xié)商啟動請求之后,上述處理器向上述Host發(fā)送上述虛擬機待向上述Host發(fā)送的執(zhí)行方協(xié)商請求。
[0262]本實施例中提及的上述處理器處理待轉發(fā)處理的報文所基于的流量控制策略例如可為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略,當然流量控制策略也可是參考其他因素的流量控制策略。
[0263]其中,基于服務質量的流量控制策略主要基于待轉發(fā)處理報文對應的業(yè)務優(yōu)先級,來確定該報文的具體轉發(fā)處理方式(其中,具體轉發(fā)處理方式可以是延遲發(fā)送報文、無延遲的發(fā)送報文或丟棄報文等)。例如,當前緩存中存在多個待轉發(fā)處理的報文,則所對應業(yè)務優(yōu)先級越高的報文發(fā)送延遲可能越短甚至無延遲,所對應業(yè)務優(yōu)先級越低的報文發(fā)送延遲可能越長,甚至可以丟棄所對應業(yè)務優(yōu)先級低于設定的優(yōu)先級閾值的待轉發(fā)處理報文,這樣就有利于盡可能的保障高優(yōu)先級業(yè)務的服務質量。即,基于服務質量的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理具體可包括:按照待轉發(fā)處理報文的業(yè)務優(yōu)先級所對應的轉發(fā)處理方式對該待轉發(fā)處理的報文進行轉發(fā)處理。
[0264]其中,基于訪問控制列表的流量控制策略,主要基于待轉發(fā)處理報文所攜帶信息與訪問控制列表所包含記錄之間是否匹配,來確定報文的具體轉發(fā)處理方式。例如,訪問控制列表為限制訪問控制列表(類似黑名單),對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等等信息,若限制訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是直接丟棄,反之,對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若限制訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是轉發(fā)該報文。又舉例來說,假設訪問控制列表為允許訪問控制列表(類似白名單),則對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等信息,若允許訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為直接丟棄,而對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若允許訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為轉發(fā)該報文。其它情況以此類推。
[0265]在本發(fā)明一些實施例中,上述基于虛擬機的流量控制能力,在宿主機Host和上述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方,可包括:在部署于虛擬機中的預載客戶端與部署于Host中的預載服務端之間的連接建立完成之后,上述處理器通過建立的上述連接,基于虛擬機的流量控制能力,在宿主機Host和上述虛擬機之間協(xié)商出流量控制策略的執(zhí)行。
[0266]可以看出,本實施例的方案中,在處理器的協(xié)助下,虛擬機與宿主機Host基于上述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方;若上述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機,則上述虛擬機基于上述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理;若上述虛擬機確定協(xié)商出的流量控制策略的執(zhí)行方為上述Host,則上述虛擬機將待轉發(fā)處理的報文發(fā)送給上述Host,以便上述Host基于上述流量控制策略對接收到的上述報文進行轉發(fā)處理。通過引入虛擬機與Host協(xié)商流量控制策略執(zhí)行方的機制,使得虛擬機與Host都有機會成為流量控制策略執(zhí)行方,這使得由執(zhí)行虛擬機流量控制策略變得可能,這樣就有利于盡可能早的對報文流進行流量控制,進而有利于減少無效處理、減少無效報文流量對帶寬和Host地址空間的占用??梢姡鲜龇桨赣欣跍p少轉發(fā)處理虛擬機出方向的報文流量對Host地址空間的占用。并且由于是通過協(xié)商來確定流量控制策略執(zhí)行方,因此有利于提高流量控制策略執(zhí)行的可靠性。
[0267]進一步的,當虛擬機與Host都支持執(zhí)行流量控制策略時,優(yōu)先讓虛擬機來執(zhí)行流量控制策略,這樣進一步有利于盡可能早的對報文進行流量控制,進而進一步有利于減少無效處理和無效報文流量對帶寬的占用。
[0268]為便于更好的理解和實施本發(fā)明實施例的上述方案,下面通過一些具體例子進行舉例說明。
[0269]參見圖5_a和圖5_b,其中,圖5_a為本發(fā)明的另一個實施例提供的另一種報文流量控制方法的流程示意圖。圖5-b為本發(fā)明實施例提供的一種可用于實施如圖5-a所示流量控制方法的計算節(jié)點結構示意圖。圖5-b中舉例部署于計算節(jié)點中的Host和虛擬機的一種具體內部邏輯架構,當然Host和虛擬機亦可具有區(qū)別于圖5-b舉例的其它內部邏輯架構。本實施例中主要以在圖5-b所示架構下實施流量控制方法為例進行描述。
[0270]如圖5-a所示,本發(fā)明的另一個實施例提供的另一種報文流量控制方法可包括以下內容:
[0271]501、虛擬機VM-m中部署的預載客戶端(preload client)與Host中部署的預載服務端(preload server)建立連接。其中,該連接傳輸控制協(xié)議連接或其它類型的通信連接。
[0272]其中,虛擬機VM-m中部署的preload client與Host中部署的preload server之間存在固有通信連接或可直接通信,則步驟501亦可省略之。
[0273]502、虛擬機 VM-m 中部署的 preload client 接收 Host 中部署的 preload server發(fā)送的協(xié)商啟動請求。
[0274]503、虛擬機 VM-m 中部署的 preload client,向 Host 中部署的 preload server 發(fā)送攜帶虛擬機VM-m的流量控制能力的描述信息的執(zhí)行方協(xié)商請求。
[0275]可以理解,步驟502中Host中部署的preload server向虛擬機VM_m中部署的preload client發(fā)送協(xié)商啟動請求,主要目的是為了觸發(fā)虛擬機VM-m中部署的preloadclient發(fā)起協(xié)商流量控制策略執(zhí)行方,當然,虛擬機VM-m中部署的preload client也可能在其它條件(舉例來說,接收到用戶態(tài)進程發(fā)起的協(xié)商啟動請求(即可能由用戶態(tài)應用或用戶指令觸發(fā)))的觸發(fā)下,發(fā)起協(xié)商流量控制策略執(zhí)行方。若虛擬機VM-m中部署的preloadclient自主發(fā)起流量控制策略執(zhí)行方的協(xié)商,則步驟502可以省略。
[0276]504、Host中部署的preload server接收攜帶虛擬機VMi的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,該執(zhí)行方協(xié)商請求攜帶的上述流量控制能力的描述信息用于指示出虛擬機VM-m是否支持執(zhí)行流量控制策略,因此Host中部署的preload server可根據(jù)上述流量控制能力的描述信息,確定上述虛擬機VM-m是否支持執(zhí)行流量控制策略。
[0277]本實施例下面以Host中部署的preload server確定上述虛擬機VM_m支持執(zhí)行流量控制策略為例。因此,Host中部署的preload server可向虛擬機VM_m中部署的preloadclient發(fā)送協(xié)商確認指示,其中,上述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機VM-m,其中,上述協(xié)商確認指示中可攜帶流量控制策略。其中,Host中部署的preload server還通知Host中部署的預載內核(preload kernel)不執(zhí)行流量控制策略。
[0278]505、虛擬機 VM-m 中部署的 preload client 接收 Host 中部署的 preload server發(fā)送的協(xié)商確認指示之后,確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機VM-m,因此,虛擬機VM-m中部署的preload client向虛擬機VM_m中部署的網(wǎng)卡對應的FE發(fā)送上述協(xié)商確認指示中攜帶的流量控制策略,以通知虛擬機VM-m中部署的網(wǎng)卡對應的FE執(zhí)行流量控制策略。
[0279]其中,通過執(zhí)行步驟503?505,虛擬機VM-m中部署的preload client和Host中部署的preload server雙方協(xié)商出了流量控制策略的執(zhí)行方。
[0280]506、虛擬機VM-m中部署的網(wǎng)卡對應的FE接收到流量控制策略后,基于接收到的流量控制策略,對來自虛擬機VM-m中部署的用戶態(tài)應用的待轉發(fā)處理報文進行轉發(fā)處理。
[0281]本實施例中以流量控制策略為基于服務質量的流量控制策略或基于訪問控制列表的流量控制策略為例。
[0282]其中,基于服務質量的流量控制策略主要基于待轉發(fā)處理報文對應的業(yè)務優(yōu)先級,來確定該報文的具體轉發(fā)處理方式(其中,具體轉發(fā)處理方式可以是延遲發(fā)送報文、無延遲的發(fā)送報文或丟棄報文等)。例如,當前緩存中存在多個待轉發(fā)處理的報文,則所對應業(yè)務優(yōu)先級越高的報文發(fā)送延遲可能越短甚至無延遲,所對應業(yè)務優(yōu)先級越低的報文發(fā)送延遲可能越長,甚至可以丟棄所對應業(yè)務優(yōu)先級低于設定的優(yōu)先級閾值的待轉發(fā)處理報文,這樣就有利于盡可能的保障高優(yōu)先級業(yè)務的服務質量。
[0283]其中,基于訪問控制列表的流量控制策略,主要基于待轉發(fā)處理報文所攜帶信息與訪問控制列表所包含記錄之間是否匹配,來確定報文的具體轉發(fā)處理方式。例如,訪問控制列表為限制訪問控制列表(類似黑名單),對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等等信息,若限制訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是直接丟棄,反之,對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若限制訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是轉發(fā)該報文。又舉例來說,假設訪問控制列表為允許訪問控制列表(類似白名單),則對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等信息,若允許訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為直接丟棄。而對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若允許訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為轉發(fā)該報文。其它情況以此類推。
[0284]因此,虛擬機VM-m中部署的網(wǎng)卡對應的FE,基于流量控制策略對來自虛擬機VM_m中部署的用戶態(tài)應用的待轉發(fā)處理的報文進行轉發(fā)處理可包括:虛擬機VM-m中部署的網(wǎng)卡對應的FE丟棄來自虛擬機VM-m中部署的用戶態(tài)應用的待轉發(fā)處理的報文;或者,虛擬機VM-m中部署的網(wǎng)卡對應的FE,有延遲(延遲程度可能與待轉發(fā)處理報文的業(yè)務優(yōu)先級和當前待轉發(fā)處理報文數(shù)量相關)的發(fā)送來自虛擬機VM-m中部署的用戶態(tài)應用的待轉發(fā)處理的報文;或虛擬機VM-m中部署的網(wǎng)卡對應的FE,無延遲的發(fā)送來自虛擬機VM-m中部署的用戶態(tài)應用的待轉發(fā)處理的報文,其它方式此處不再列舉。
[0285]Host中部署的網(wǎng)卡對應的BE若接收到來自虛擬機VM_m中部署的網(wǎng)卡對應的FE的報文,則向Host中部署的preload kernel轉發(fā)接收到的報文。
[0286]由于Host中部署的preload kernel無需執(zhí)行流量控制策略,因此Host中部署的preload kernel可直接通過網(wǎng)卡驅動向網(wǎng)卡轉發(fā)接收到的報文,網(wǎng)卡則對接收到的報文進行相應轉發(fā)處理。
[0287]在本發(fā)明一些實施例中,在確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機VM-m之后,上述preload client可基于上述連接周期性的向上述preload server發(fā)送心跳消息。其中,發(fā)送心跳消息的目的之一是將虛擬機VM-m工作正常的狀態(tài)通知上述preloadserver, preload server若在設定時長內未接收到來自上述preload client的心跳消息,則上述preload server可默認為VM_m可能存在故障。例如,上述preload server在確定協(xié)商出的流量控制策略的執(zhí)行方為上述虛擬機VM-m之后,若設定時長內未接收到來自上述preload client的心跳消息,貝U上述preload server可將流量控制策略的執(zhí)行方切換為上述Host (即無論虛擬機VM-m中部署的網(wǎng)卡對應的FE是否基于流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理,上述preload kernel都基于流量控制策略來對來自該虛擬機VM-m的報文進行轉發(fā)處理,由于Host和虛擬機VM-m中執(zhí)行的流量控制策略相同,因此,對于同一報文流,若上述preload kernel和/或虛擬機VM_m中部署的網(wǎng)卡對應的FE執(zhí)行同一個流量控制策略,preload kernel最終報文輸出情況是基本相同的),可向上述preloadclient發(fā)送用于指示流量控制策略的執(zhí)行方切換為上述Host的指示消息。
[0288]在本發(fā)明的一些實施例中,在確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機VM-m之后,上述preload client亦可在虛擬機VM_m中部署的網(wǎng)卡對應的FE執(zhí)行流量控制策略故障時,向上述preload server發(fā)送用于指示虛擬機VM_m執(zhí)行流量控制策略故障的指示消息。而上述preload server在確定協(xié)商出的流量控制策略的執(zhí)行方為上述虛擬機之后,若接收到來自上述preload client的用于指示虛擬機VM_m執(zhí)行流量控制策略故障的指示消息,則上述preload server可將流量控制策略的執(zhí)行方切換為Host,上述preloadserver可通知上述preload kernel執(zhí)行流量控制策略。
[0289]在本發(fā)明的一些實施例中,在確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機VM-m之后,上述preload server亦可周期性的或非周期性的向上述preload client亦發(fā)送用于查詢虛擬機VM-m執(zhí)行流量控制策略是否正常的狀態(tài)查詢消息,若在設定時長之內未接收到來自preload client的用于響應上述狀態(tài)查詢消息的狀態(tài)指示消息,或接收到來自preload client的用于指示虛擬機VM_m執(zhí)行流量控制策略故障的指示消息,則可確定虛擬機VM-m執(zhí)行流量控制策略故障。當然,preload server亦可通過其它方式監(jiān)測虛擬機VM-m執(zhí)行流量控制策略是否故障。若確定虛擬機VM-m執(zhí)行流量控制策略故障,則上述preload server可將流量控制策略的執(zhí)行方切換為Host,上述preload server可通知上述preload kernel執(zhí)行流量控制策略。
[0290]在被通知執(zhí)行流量控制策略之后,上述preload kernel則基于上述流量控制策略對來自虛擬機VM-m的待轉發(fā)處理報文進行轉發(fā)處理。[0291]參見圖5-c,圖5-c本發(fā)明實施例提供的一種流量控制效果示意圖,圖5-c中示出,來自虛擬機VM-m中的用戶態(tài)應用的大帶寬報文流量,經過網(wǎng)卡對應的FE執(zhí)行流量控制策略之后,報文流量的帶寬變小了,可見,通過盡早進行流量控制有利于減少資源消耗。
[0292]可以看出,本實施例的方案中,通過引入虛擬機與Host協(xié)商流量控制策略執(zhí)行方的機制,使得虛擬機與Host都有機會成為流量控制策略執(zhí)行方,這使得由執(zhí)行虛擬機流量控制策略變得可能,這樣就有利于盡可能早的對報文流進行流量控制,進而有利于減少無效處理、減少無效報文流量對帶寬和Host地址空間的占用??梢姡鲜龇桨赣欣跍p少轉發(fā)處理虛擬機出方向的報文流量對Host地址空間的占用。并且由于是通過協(xié)商方式來確定流量控制策略執(zhí)行方,因此有利于提高流量控制策略執(zhí)行的可靠性。
[0293]進一步的,當虛擬機與Host都支持執(zhí)行流量控制策略時,優(yōu)先讓虛擬機來執(zhí)行流量控制策略,這樣進一步有利于盡可能早的對報文進行流量控制,進而進一步有利于減少無效處理和無效報文流量對帶寬的占用。
[0294]進一步的,虛擬機與Host采用模塊化架構設計,有利于提升產品在復雜應用環(huán)境下的適應性,降低環(huán)境遷移的升級成本。
[0295]參見圖6-a,其中,圖6_a為本發(fā)明的另一個實施例提供的另一種報文流量控制方法的流程示意圖。圖5-b為本發(fā)明實施例提供的一種可用于實施如圖6所示流量控制方法的計算節(jié)點結構示意圖。圖5-b中舉例出了部署于計算節(jié)點中的Host和虛擬機的一種具體內部邏輯架構,當然Host和虛擬機亦可具有區(qū)別于圖5-b舉例的其它內部邏輯架構。本實施例中主要以在圖5-b所示架構下實施流量控制方法為例進行描述。
[0296]如圖6_a所示,本發(fā)明的另一個實施例提供的另一種報文流量控制方法可包括以下內容:
[0297]601、虛擬機 VM-m 中部署的 preload client 與 Host 中部署的 preload server 建立連接。其中,該連接傳輸控制協(xié)議連接或其它類型的通信連接。
[0298]其中,虛擬機VM-m中部署的preload client與Host中部署的preload server之間存在固有通信連接或可直接通信,則步驟601亦可省略之。
[0299]602、虛擬機 VM-m 中部署的 preload client 接收 Host 中部署的 preload server發(fā)送的協(xié)商啟動請求。
[0300]603、虛擬機 VM-m 中部署的 preload client,向 Host 中部署的 preload server 發(fā)送攜帶虛擬機VM-m的流量控制能力的描述信息的執(zhí)行方協(xié)商請求。
[0301]可以理解,步驟601中Host中部署的preload server向虛擬機VM_m中部署的preload client發(fā)送協(xié)商啟動請求,主要目的是為了觸發(fā)虛擬機VM-m中部署的preloadclient發(fā)起協(xié)商流量控制策略執(zhí)行方,當然,虛擬機VM-m中部署的preload client也可能在其它條件(舉例來說,接收到用戶態(tài)進程發(fā)起的協(xié)商啟動請求(即可能由用戶態(tài)應用或用戶指令觸發(fā)))的觸發(fā)下,發(fā)起協(xié)商流量控制策略執(zhí)行方。若虛擬機VM-m中部署的preloadclient自主發(fā)起流量控制策略執(zhí)行方的協(xié)商,則步驟602可以省略。
[0302]604、Host中部署的preload server接收攜帶虛擬機VMi的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,該執(zhí)行方協(xié)商請求攜帶的上述流量控制能力的描述信息用于指示出虛擬機VM-m是否支持執(zhí)行流量控制策略,因此Host中部署的preload server可根據(jù)上述流量控制能力的描述信息,確定上述虛擬機VM-m是否支持執(zhí)行流量控制策略。[0303]本實施例下面以Host中部署的preload server確定上述虛擬機VM_m不支持執(zhí)行流量控制策略為例。因此,Host中部署的preload server可向虛擬機VM_m中部署的preload client發(fā)送協(xié)商否認指示,其中,上述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述Host。其中,Host中部署的preload server還通知Host中部署的預載內核(preload kernel)執(zhí)行流量控制策略。
[0304]605、虛擬機 VM-m 中部署的 preload client 接收 Host 中部署的 preload server發(fā)送的協(xié)商否認指示之后,確定協(xié)商出的流量控制策略執(zhí)行方為上述Host,因此,虛擬機VM-m中部署的preload client通知虛擬機VMi中部署的網(wǎng)卡對應的FE不執(zhí)行流量控制策略。
[0305]其中,通過執(zhí)行步驟603?605,虛擬機VM-m中部署的preload client和Host中部署的preload server雙方協(xié)商出了流量控制策略的執(zhí)行方。
[0306]虛擬機VM-m中部署的網(wǎng)卡對應的FE轉發(fā)來自虛擬機VM_m中部署的用戶態(tài)應用的待轉發(fā)處理報文。此處,虛擬機VM-m中部署的網(wǎng)卡對應的FE不對待轉發(fā)處理報文進行流量控制。
[0307]606、Host中部署的網(wǎng)卡對應的BE若接收到來自虛擬機VM_m中部署的網(wǎng)卡對應的FE的報文,則向Host中部署的preload kernel轉發(fā)接收到的報文。
[0308]其中,preload kernel基于流量控制策略對接收到的報文進行轉發(fā)處理。
[0309]本實施例中以流量控制策略為基于服務質量的流量控制策略或基于訪問控制列表的流量控制策略為例。
[0310]其中,基于服務質量的流量控制策略主要基于待轉發(fā)處理報文對應的業(yè)務優(yōu)先級,來確定該報文的具體轉發(fā)處理方式(其中,具體轉發(fā)處理方式可以是延遲發(fā)送報文、無延遲的發(fā)送報文或丟棄報文等)。例如,當前緩存中存在多個待轉發(fā)處理的報文,則所對應業(yè)務優(yōu)先級越高的報文發(fā)送延遲可能越短甚至無延遲,所對應業(yè)務優(yōu)先級越低的報文發(fā)送延遲可能越長,甚至可以丟棄所對應業(yè)務優(yōu)先級低于設定的優(yōu)先級閾值的待轉發(fā)處理報文,這樣就有利于盡可能的保障高優(yōu)先級業(yè)務的服務質量。
[0311]其中,基于訪問控制列表的流量控制策略,主要基于待轉發(fā)處理報文所攜帶信息與訪問控制列表所包含記錄之間是否匹配,來確定報文的具體轉發(fā)處理方式。例如,訪問控制列表為限制訪問控制列表(類似黑名單),對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等等信息,若限制訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是直接丟棄,反之,對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若限制訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是轉發(fā)該報文。又舉例來說,假設訪問控制列表為允許訪問控制列表(類似白名單),則對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等信息,若允許訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為直接丟棄。而對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若允許訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為轉發(fā)該報文。其它情況以此類推。[0312]因此,preload kernel基于流量控制策略對來自虛擬機VM_m的待轉發(fā)處理的報文進行轉發(fā)處理可包括:preload kernel丟棄來自虛擬機VM_m的待轉發(fā)處理的報文;或者,preload kernel有延遲(延遲程度可能與待轉發(fā)處理報文的業(yè)務優(yōu)先級和當前待轉發(fā)處理報文數(shù)量相關)的發(fā)送來自虛擬機VM-m的待轉發(fā)處理的報文;或preload kernel無延遲的發(fā)送來自虛擬機VM-m的待轉發(fā)處理的報文,其它方式此處不再列舉。
[0313]網(wǎng)卡若通過網(wǎng)卡驅動接收到preload kernel發(fā)送的報文,網(wǎng)卡則對接收到的報文進行相應轉發(fā)處理。
[0314]參見圖6-b,圖6-b本發(fā)明實施例提供的另一種流量控制效果示意圖,圖6-b中示出,虛擬機VM-m中的用戶態(tài)應用發(fā)出大帶寬報文流量,網(wǎng)卡對應的FE未執(zhí)行流量控制策略之后,由Host中的preload kernel執(zhí)行流量控制策略之后報文流量的帶寬變小了。
[0315]可以看出,本實施例的方案中,通過引入虛擬機與Host協(xié)商流量控制策略執(zhí)行方的機制,使得虛擬機與Host都有機會成為流量控制策略執(zhí)行方,這使得由執(zhí)行虛擬機流量控制策略變得可能,這樣就有利于盡可能早的對報文流進行流量控制,進而有利于減少無效處理、減少無效報文流量對帶寬和Host地址空間的占用??梢?,上述方案有利于減少轉發(fā)處理虛擬機出方向的報文流量對Host地址空間的占用。并且由于是通過協(xié)商方式來確定流量控制策略執(zhí)行方,因此有利于提高流量控制策略執(zhí)行的可靠性。
[0316]進一步的,當虛擬機與Host都支持執(zhí)行流量控制策略時,優(yōu)先讓虛擬機來執(zhí)行流量控制策略,這樣進一步有利于盡可能早的對報文進行流量控制,進而進一步有利于減少無效處理和無效報文流量對帶寬的占用。
[0317]進一步的,虛擬機與Host采用模塊化架構設計,有利于提升產品在復雜應用環(huán)境下的適應性,降低環(huán)境遷移的升級成本。
[0318]參見圖7,其中,圖7為本發(fā)明的另一個實施例提供的另一種報文流量控制方法的流程示意圖。圖5-b為本發(fā)明實施例提供的一種可用于實施如圖7所示流量控制方法的計算節(jié)點結構示意圖。圖7中舉例了部署于計算節(jié)點中的Host和虛擬機的一種具體內部邏輯架構,當然Host和虛擬機亦可具有區(qū)別于圖5-b舉例的其它內部邏輯架構。本實施例中主要以在圖5-b所示架構下實施流量控制方法為例進行描述。
[0319]如圖7所示,本發(fā)明的另一個實施例提供的另一種報文流量控制方法可包括以下內容:
[0320]701、虛擬機 VM-m 中部署的 preload client 與 Host 中部署的 preload server 建立連接。其中,該連接傳輸控制協(xié)議連接或其它類型的通信連接。
[0321]其中,虛擬機VM-m中部署的preload client與Host中部署的preload server之間存在固有通信連接或可直接通信,則步驟501亦可省略之。
[0322]702、虛擬機 VM-m 中部署的 preload client 接收 Host 中部署的 preload server發(fā)送的協(xié)商啟動請求。
[0323]703、虛擬機 VM-m 中部署的 preload client,向 Host 中部署的 preload server 發(fā)送攜帶虛擬機VM-m的流量控制能力的描述信息的執(zhí)行方協(xié)商請求。
[0324]可以理解,步驟702中Host中部署的preload server向虛擬機VM_m中部署的preload client發(fā)送協(xié)商啟動請求,主要目的是為了觸發(fā)虛擬機VM-m中部署的preloadclient發(fā)起協(xié)商流量控制策略執(zhí)行方,當然,虛擬機VM-m中部署的preload client也可能在其它條件(舉例來說,接收到用戶態(tài)進程發(fā)起的協(xié)商啟動請求(即可能由用戶態(tài)應用或用戶指令觸發(fā)))的觸發(fā)下,發(fā)起協(xié)商流量控制策略執(zhí)行方。若虛擬機VM-m中部署的preloadclient自主發(fā)起流量控制策略執(zhí)行方的協(xié)商,則步驟702可以省略。
[0325]704、Host中部署的preload server接收攜帶虛擬機VM_m的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,該執(zhí)行方協(xié)商請求攜帶的上述流量控制能力的描述信息用于指示出虛擬機VM-m支持執(zhí)行流量控制策略的版本,因此Host中部署的preload server可根據(jù)上述流量控制能力的描述信息,確定上述虛擬機VM-m是否支持執(zhí)行當前最新版本或預設版本的流量控制策略。
[0326]在本發(fā)明的一些實施例中,由于上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,因此,preload server根據(jù)上述流量控制能力的描述信息確定上述虛擬機是否支持執(zhí)行當前最新版本或者預設版本的流量控制策略,具體可包括:比較上述流量控制能力的描述信息所描述出上述虛擬機支持執(zhí)行的流量控制策略的版本是否與流量控制策略的當前最新版本或者預設版本相同,若是,則可確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略;若否,則可確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略。又例如,preload server根據(jù)上述流量控制能力的描述信息確定上述虛擬機是否支持執(zhí)行當前最新版本或者預設版本的流量控制策略具體可包括:比較上述流量控制能力的描述信息所描述出上述虛擬機支持執(zhí)行的流量控制策略的k個(k為正整數(shù))版本中的每個版本,是否與流量控制策略的當前最新版本或者預設版本相同,若比較出上述k個版本中的其中I個版本與流量控制策略的當前最新版本或者預設版本相同,則可確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略;若比較出上述k個版本中的任意I個版本與流量控制策略的當前最新版本或者預設版本均不同,則可確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略。
[0327]其中,本實施例下面以Host中部署的preload server確定上述虛擬機VM_m支持執(zhí)行當前最新版本或者預設版本的流量控制策略為例。因此,Host中部署的preloadserver可向虛擬機VM_m中部署的preload client發(fā)送協(xié)商確認指示,其中,上述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機VM-m,其中,上述協(xié)商確認指示中可攜帶當前最新版本或者預設版本的流量控制策略。Host中部署的preload server還通知Host中部署的preload kernel不執(zhí)行流量控制策略。
[0328]705、虛擬機 VM-m 中部署的 preload client 接收 Host 中部署的 preload server發(fā)送的協(xié)商確認指示之后,確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機VM-m,因此,虛擬機VM-m中部署的preload client向虛擬機VM_m中部署的網(wǎng)卡對應的FE發(fā)送上述協(xié)商確認指示中攜帶的流量控制策略。
[0329]其中,通過執(zhí)行步驟703?705,虛擬機VM-m中部署的preload client和Host中部署的preload server雙方協(xié)商出了流量控制策略的執(zhí)行方。
[0330]706、虛擬機VM-m中部署的網(wǎng)卡對應的FE接收到流量控制策略后,基于接收到的流量控制策略,對虛擬機VM-m中部署的用戶態(tài)應用發(fā)送的待轉發(fā)處理報文進行轉發(fā)處理。
[0331]本實施例中以流量控制策略為基于服務質量的流量控制策略或基于訪問控制列表的流量控制策略為例。[0332]其中,基于服務質量的流量控制策略主要基于待轉發(fā)處理報文對應的業(yè)務優(yōu)先級,來確定該報文的具體轉發(fā)處理方式(其中,具體轉發(fā)處理方式可以是延遲發(fā)送報文、無延遲的發(fā)送報文或丟棄報文等)。例如,當前緩存中存在多個待轉發(fā)處理的報文,則所對應業(yè)務優(yōu)先級越高的報文發(fā)送延遲可能越短甚至無延遲,所對應業(yè)務優(yōu)先級越低的報文發(fā)送延遲可能越長,甚至可以丟棄所對應業(yè)務優(yōu)先級低于設定的優(yōu)先級閾值的待轉發(fā)處理報文,這樣就有利于盡可能的保障高優(yōu)先級業(yè)務的服務質量。
[0333]其中,基于訪問控制列表的流量控制策略,主要基于待轉發(fā)處理報文所攜帶信息與訪問控制列表所包含記錄之間是否匹配,來確定報文的具體轉發(fā)處理方式。例如,訪問控制列表為限制訪問控制列表(類似黑名單),對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等等信息,若限制訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是直接丟棄,反之,對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若限制訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是轉發(fā)該報文。又舉例來說,假設訪問控制列表為允許訪問控制列表(類似白名單),則對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等信息,若允許訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為直接丟棄。而對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若允許訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為轉發(fā)該報文。其它情況以此類推。
[0334]因此,虛擬機VM-m中部署的網(wǎng)卡對應的FE,基于流量控制策略對來自虛擬機VM_m中部署的用戶態(tài)應用的待轉發(fā)處理的報文進行轉發(fā)處理可包括:虛擬機VM-m中部署的網(wǎng)卡對應的FE丟棄來自虛擬機VM-m中部署的用戶態(tài)應用的待轉發(fā)處理的報文;或者,虛擬機VM-m中部署的網(wǎng)卡對應的FE,有延遲(延遲程度可能與待轉發(fā)處理報文的業(yè)務優(yōu)先級和當前待轉發(fā)處理報文數(shù)量相關)的發(fā)送來自虛擬機VM-m中部署的用戶態(tài)應用的待轉發(fā)處理的報文;或虛擬機VM-m中部署的網(wǎng)卡對應的FE,無延遲的發(fā)送來自虛擬機VM-m中部署的用戶態(tài)應用的待轉發(fā)處理的報文,其它方式此處不再列舉。
[0335]Host中部署的網(wǎng)卡對應的BE若接收到來自虛擬機VM_m中部署的網(wǎng)卡對應的FE的報文,則向Host中部署的preload kernel轉發(fā)接收到的報文。
[0336]由于Host中部署的preload kernel無需執(zhí)行流量控制策略,因此Host中部署的preload kernel可直接通過網(wǎng)卡驅動向網(wǎng)卡轉發(fā)接收到的報文,網(wǎng)卡則對接收到的報文進行相應轉發(fā)處理。
[0337]在本發(fā)明一些實施例中,在確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機VM-m之后,上述preload client可基于上述連接周期性的向上述preload server發(fā)送心跳消息。其中,發(fā)送心跳消息的目的之一是將虛擬機VM-m工作正常的狀態(tài)通知上述preloadserver, preload server若在設定時長內未接收到來自上述preload client的心跳消息,則上述preload server可默認為VM_m可能存在故障。例如,上述preload server在確定協(xié)商出的流量控制策略的執(zhí)行方為上述虛擬機VM-m之后,若設定時長內未接收到來自上述preload client的心跳消息,貝U上述preload server可將流量控制策略的執(zhí)行方切換為上述Host (即無論虛擬機VM-m中部署的網(wǎng)卡對應的FE是否基于流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理,上述preload kernel都基于流量控制策略來對來自該虛擬機VM-m的報文進行轉發(fā)處理,由于Host和虛擬機VM-m中執(zhí)行的流量控制策略相同,因此,對于同一報文流,若上述preload kernel和/或虛擬機VM_m中部署的網(wǎng)卡對應的FE執(zhí)行同一個流量控制策略,preload kernel最終報文輸出情況是基本相同的),可向上述preloadclient發(fā)送用于指示流量控制策略的執(zhí)行方切換為上述Host的指示消息。
[0338]在本發(fā)明的一些實施例中,在確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機VM-m之后,上述preload client亦可在虛擬機VM_m中部署的網(wǎng)卡對應的FE執(zhí)行流量控制策略故障時,向上述preload server發(fā)送用于指示虛擬機VM_m執(zhí)行流量控制策略故障的指示消息。而上述preload server在確定協(xié)商出的流量控制策略的執(zhí)行方為上述虛擬機之后,若接收到來自上述preload client的用于指示虛擬機VM_m執(zhí)行流量控制策略故障的指示消息,則上述preload server可將流量控制策略的執(zhí)行方切換為Host,上述preloadserver可通知上述preload kernel執(zhí)行流量控制策略。
[0339]在本發(fā)明的一些實施例中,在確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機VM-m之后,上述preload server亦可周期性的或非周期性的向上述preload client亦發(fā)送用于查詢虛擬機VM-m執(zhí)行流量控制策略是否正常的狀態(tài)查詢消息,若在設定時長之內未接收到來自preload client的用于響應上述狀態(tài)查詢消息的狀態(tài)指示消息,或接收到來自preload client的用于指示虛擬機VM_m執(zhí)行流量控制策略故障的指示消息,則可確定虛擬機VM-m執(zhí)行流量控制策略故障。當然,preload server亦可通過其它方式監(jiān)測虛擬機VM-m執(zhí)行流量控制策略是否故障。若確定虛擬機VM-m執(zhí)行流量控制策略故障,則上述preload server可將流量控制策略的執(zhí)行方切換為Host,上述preload server可通知上述preload kernel執(zhí)行流量控制策略。
[0340]在被通知執(zhí)行流量控制策略之后,上述preload kernel則基于上述流量控制策略對來自虛擬機VM-m的待轉發(fā)處理報文進行轉發(fā)處理。
[0341 ] 可以看出,本實施例的方案中,通過引入虛擬機與Host協(xié)商流量控制策略執(zhí)行方的機制,使得虛擬機與Host都有機會成為流量控制策略執(zhí)行方,這使得由執(zhí)行虛擬機流量控制策略變得可能,這樣就有利于盡可能早的對報文流進行流量控制,進而有利于減少無效處理、減少無效報文流量對帶寬和Host地址空間的占用??梢姡鲜龇桨赣欣跍p少轉發(fā)處理虛擬機出方向的報文流量對Host地址空間的占用。并且由于是通過協(xié)商方式來確定流量控制策略執(zhí)行方,因此有利于提高流量控制策略執(zhí)行的可靠性。
[0342]進一步的,當虛擬機與Host都支持執(zhí)行流量控制策略時,優(yōu)先讓虛擬機來執(zhí)行流量控制策略,這樣進一步有利于盡可能早的對報文進行流量控制,進而進一步有利于減少無效處理和無效報文流量對帶寬的占用。
[0343]進一步的,虛擬機與Host采用模塊化架構設計,有利于提升產品在復雜應用環(huán)境下的適應性,降低環(huán)境遷移的升級成本。
[0344]參見圖8,其中,圖8為本發(fā)明的另一個實施例提供的另一種報文流量控制方法的流程示意圖。圖5-b為本發(fā)明實施例提供的一種可用于實施如圖8所示流量控制方法的計算節(jié)點結構示意圖。圖5-b中舉例出了部署于計算節(jié)點中的Host和虛擬機的一種具體內部邏輯架構,當然Host和虛擬機亦可具有區(qū)別于圖5-b舉例的其它內部邏輯架構。本實施例中主要以在圖5-b所示架構下實施流量控制方法為例進行描述。
[0345]如圖8所示,本發(fā)明的另一個實施例提供的另一種報文流量控制方法可包括以下內容:
[0346]801、虛擬機 VM-m 中部署的 preload client 與 Host 中部署的 preload server 建立連接。其中,該連接傳輸控制協(xié)議連接或其它類型的通信連接。
[0347]其中,虛擬機VM-m中部署的preload client與Host中部署的preload server之間存在固有通信連接或可直接通信,則步驟601亦可省略之。
[0348]802、虛擬機 VM-m 中部署的 preload client 接收 Host 中部署的 preload server發(fā)送的協(xié)商啟動請求。
[0349]803、虛擬機 VM-m 中部署的 preload client,向 Host 中部署的 preload server 發(fā)送攜帶虛擬機VM-m的流量控制能力的描述信息的執(zhí)行方協(xié)商請求。
[0350]可以理解,步驟802中Host中部署的preload server向虛擬機VM_m中部署的preload client發(fā)送協(xié)商啟動請求,主要目的是為了觸發(fā)虛擬機VM-m中部署的preloadclient發(fā)起協(xié)商流量控制策略執(zhí)行方,當然,虛擬機VM-m中部署的preload client也可能在其它條件(舉例來說,接收到用戶態(tài)進程發(fā)起的協(xié)商啟動請求(即可能由用戶態(tài)應用或用戶指令觸發(fā)))的觸發(fā)下,發(fā)起協(xié)商流量控制策略執(zhí)行方。若虛擬機VM-m中部署的preloadclient自主發(fā)起流量控制策略執(zhí)行方的協(xié)商,則步驟802可以省略。
[0351]804、Host中部署的preload server接收攜帶虛擬機VM_m的流量控制能力的描述信息的執(zhí)行方協(xié)商請求。其中,該執(zhí)行方協(xié)商請求攜帶的上述流量控制能力的描述信息用于指示出虛擬機VM-m支持執(zhí)行流量控制策略的版本,因此Host中部署的preload server可根據(jù)上述流量控制能力的描述信息,確定上述虛擬機VM-m是否支持執(zhí)行當前最新版本或預設版本的流量控制策略。
[0352]在本發(fā)明的一些實施例中,由于上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,因此,preload server根據(jù)上述流量控制能力的描述信息確定上述虛擬機是否支持執(zhí)行當前最新版本或者預設版本的流量控制策略,具體可包括:比較上述流量控制能力的描述信息所描述出上述虛擬機支持執(zhí)行的流量控制策略的版本是否與流量控制策略的當前最新版本或者預設版本相同,若是,則可確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略;若否,則可確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略。又例如,preload server根據(jù)上述流量控制能力的描述信息確定上述虛擬機是否支持執(zhí)行當前最新版本或者預設版本的流量控制策略具體可包括:比較上述流量控制能力的描述信息所描述出上述虛擬機支持執(zhí)行的流量控制策略的k個(k為正整數(shù))版本中的每個版本,是否與流量控制策略的當前最新版本或者預設版本相同,若比較出上述k個版本中的其中I個版本與流量控制策略的當前最新版本或者預設版本相同,則可確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略;若比較出上述k個版本中的任意I個版本與流量控制策略的當前最新版本或者預設版本均不同,則可確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略。
[0353]本實施例下面以Host中部署的preload server確定上述虛擬機VMi不支持執(zhí)行當前最新版本或者預設版本的流量控制策略為例。因此,Host中部署的preload server可向虛擬機VM-m中部署的preload client發(fā)送協(xié)商否認指示,其中,上述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述Host。其中,Host中部署的preload server還通知Host中部署的預載內核(preload kernel)執(zhí)行流量控制策略。
[0354]805、虛擬機 VM-m 中部署的 preload client 接收 Host 中部署的 preload server發(fā)送的協(xié)商否認指示之后,確定協(xié)商出的流量控制策略執(zhí)行方為上述Host,因此,虛擬機VM-m中部署的preload client通知虛擬機VMi中部署的網(wǎng)卡對應的FE不執(zhí)行流量控制策略。
[0355]其中,通過執(zhí)行步驟803?805,虛擬機VM-m中部署的preload client和Host中部署的preload server雙方協(xié)商出了流量控制策略的執(zhí)行方。
[0356]虛擬機VM-m中部署的網(wǎng)卡對應的FE轉發(fā)來自虛擬機VM_m中部署的用戶態(tài)應用的待轉發(fā)處理報文。此處,虛擬機VM-m中部署的網(wǎng)卡對應的FE不對待轉發(fā)處理報文進行流量控制。
[0357]806、Host中部署的網(wǎng)卡對應的BE若接收到來自虛擬機VM_m中部署的網(wǎng)卡對應的FE的報文,則向Host中部署的preload kernel轉發(fā)接收到的報文。
[0358]其中,preload kernel基于流量控制策略對接收到的報文進行轉發(fā)處理。
[0359]本實施例中以流量控制策略為基于服務質量的流量控制策略或基于訪問控制列表的流量控制策略為例。
[0360]其中,基于服務質量的流量控制策略主要基于待轉發(fā)處理報文對應的業(yè)務優(yōu)先級,來確定該報文的具體轉發(fā)處理方式(其中,具體轉發(fā)處理方式可以是延遲發(fā)送報文、無延遲的發(fā)送報文或丟棄報文等)。例如,當前緩存中存在多個待轉發(fā)處理的報文,則所對應業(yè)務優(yōu)先級越高的報文發(fā)送延遲可能越短甚至無延遲,所對應業(yè)務優(yōu)先級越低的報文發(fā)送延遲可能越長,甚至可以丟棄所對應業(yè)務優(yōu)先級低于設定的優(yōu)先級閾值的待轉發(fā)處理報文,這樣就有利于盡可能的保障高優(yōu)先級業(yè)務的服務質量。
[0361]其中,基于訪問控制列表的流量控制策略,主要基于待轉發(fā)處理報文所攜帶信息與訪問控制列表所包含記錄之間是否匹配,來確定報文的具體轉發(fā)處理方式。例如,訪問控制列表為限制訪問控制列表(類似黑名單),對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等等信息,若限制訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是直接丟棄,反之,對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若限制訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是轉發(fā)該報文。又舉例來說,假設訪問控制列表為允許訪問控制列表(類似白名單),則對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等信息,若允許訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為直接丟棄。而對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若允許訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為轉發(fā)該報文。其它情況以此類推。
[0362]因此,preload kernel基于當前最新版本或者預設版本流量控制策略對來自虛擬機VM-m的待轉發(fā)處理的報文進行轉發(fā)處理可包括:preload kernel丟棄來自虛擬機VM_m的待轉發(fā)處理的報文;或者,preload kernel有延遲(延遲程度可能與待轉發(fā)處理報文的業(yè)務優(yōu)先級和當前待轉發(fā)處理報文數(shù)量相關)的發(fā)送來自虛擬機VM-m的待轉發(fā)處理的報文;或preload kernel無延遲的發(fā)送來自虛擬機VM_m的待轉發(fā)處理的報文,其它方式此處不再列舉。
[0363]網(wǎng)卡若通過網(wǎng)卡驅動接收到preload kernel發(fā)送的報文,網(wǎng)卡則對接收到的報文進行相應轉發(fā)處理。
[0364]可以看出,本實施例的方案中,通過引入虛擬機與Host協(xié)商流量控制策略執(zhí)行方的機制,使得虛擬機與Host都有機會成為流量控制策略執(zhí)行方,這使得由執(zhí)行虛擬機流量控制策略變得可能,這樣就有利于盡可能早的對報文流進行流量控制,進而有利于減少無效處理、減少無效報文流量對帶寬和Host地址空間的占用。可見,上述方案有利于減少轉發(fā)處理虛擬機出方向的報文流量對Host地址空間的占用。并且由于是通過協(xié)商方式來確定流量控制策略執(zhí)行方,因此有利于提高流量控制策略執(zhí)行的可靠性。
[0365]進一步的,當虛擬機與Host都支持執(zhí)行流量控制策略時,優(yōu)先讓虛擬機來執(zhí)行流量控制策略,這樣進一步有利于盡可能早的對報文進行流量控制,進而進一步有利于減少無效處理和無效報文流量對帶寬的占用。
[0366]進一步的,虛擬機與Host采用模塊化架構設計,有利于提升產品在復雜應用環(huán)境下的適應性,降低環(huán)境遷移的升級成本。
[0367]為便于更好的實施本發(fā)明實施的上方案,下面還提供用于實施上述方案的相關裝置。
[0368]參見圖,本發(fā)明實施例提供的一種虛擬機900可包括:第一協(xié)商單元910和報文處理單元920。
[0369]其中,第一協(xié)商單元910,用于基于上述虛擬機的流量控制能力在上述虛擬機900與Host之間協(xié)商流量控制策略的執(zhí)行方。
[0370]報文處理單元920,用于若確定協(xié)商出的流量控制策略的執(zhí)行方為上述虛擬機,則基于上述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理;若確定協(xié)商出的流量控制策略的執(zhí)行方為上述Host,則將待轉發(fā)處理的報文發(fā)送給上述Host,以便于上述Host基于上述流量控制策略對接收到的上述報文進行轉發(fā)處理。
[0371]在本發(fā)明的一些實施例中,第一協(xié)商單元910可具體用于,向Host發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到上述Host在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;若接收到上述Host在根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述Host ;
[0372]或者,
[0373]第一協(xié)商單元910可具體用于,向Host發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到上述Host在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;若接收到上述Host在根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述Host;
[0374]或者,
[0375]第一協(xié)商單元910可具體用于,向Host發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到上述Host在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;若在第一設定時長內未接收到上述Host發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述Host ;
[0376]或者,
[0377]第一協(xié)商單元910可具體用于,向Host發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到上述Host在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;若在第一設定時長之內未接收到上述Host發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述Host ;
[0378]或者,
[0379]第一協(xié)商單元910可具體用于,向Host發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到上述Host在根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述Host ;若在第二設定時長內未接收到上述Host發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;
[0380]或者,
[0381]第一協(xié)商單元910可具體用于,向Host發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到上述Host在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述Host ;若在第二設定時長之內未接收到上述Host發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機。
[0382]在本發(fā)明的一些實施例中,若上述流量控制能力的描述信息用于描述出上述虛擬機900支持執(zhí)行的流量控制策略的版本,則Host可根據(jù)上述流量控制能力的描述信息確定上述虛擬機900是否支持執(zhí)行當前最新版本或者預設版本的流量控制策略,具體可包括:比較上述流量控制能力的描述信息所描述出上述虛擬機900支持執(zhí)行的流量控制策略的版本是否與流量控制策略的當前最新版本或者預設版本相同,若是,則可確定上述虛擬機900支持執(zhí)行當前最新版本或者預設版本的流量控制策略;若否,則可確定上述虛擬機900不支持執(zhí)行當前最新版本或者預設版本的流量控制策略。又例如,Host可根據(jù)上述流量控制能力的描述信息確定上述虛擬機900是否支持執(zhí)行當前最新版本或者預設版本的流量控制策略具體可包括:比較上述流量控制能力的描述信息所描述出上述虛擬機900支持執(zhí)行的流量控制策略的k個(k為正整數(shù))版本中的每個版本,是否與流量控制策略的當前最新版本或者預設版本相同,若比較出上述k個版本中的其中I個版本與流量控制策略的當前最新版本或者預設版本相同,則可確定上述虛擬機900支持執(zhí)行當前最新版本或者預設版本的流量控制策略;若比較出上述k個版本中的任意I個版本與流量控制策略的當前最新版本或者預設版本均不同,則可確定上述虛擬機900不支持執(zhí)行當前最新版本或者預設版本的流量控制策略。
[0383]在本發(fā)明的一些實施例中,虛擬機900還可包括:
[0384]發(fā)送單元(圖9之中未示出),用于在確定協(xié)商出的流量控制策略的執(zhí)行方為上述虛擬機之后,周期性的向上述Host發(fā)送心跳消息。
[0385]本實施例中提及的流量控制策略例如可為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略,當然流量控制策略也可是參考其他因素的流量控制策略。
[0386]其中,基于服務質量的流量控制策略主要基于待轉發(fā)處理報文對應的業(yè)務優(yōu)先級,來確定該報文的具體轉發(fā)處理方式(其中,具體轉發(fā)處理方式可以是延遲發(fā)送報文、無延遲的發(fā)送報文或丟棄報文等)。例如,當前緩存中存在多個待轉發(fā)處理的報文,則所對應業(yè)務優(yōu)先級越高的報文發(fā)送延遲可能越短甚至無延遲,所對應業(yè)務優(yōu)先級越低的報文發(fā)送延遲可能越長,甚至可以丟棄所對應業(yè)務優(yōu)先級低于設定的優(yōu)先級閾值的待轉發(fā)處理報文,這樣就有利于盡可能的保障高優(yōu)先級業(yè)務的服務質量。即,基于服務質量的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理具體可包括:按照待轉發(fā)處理報文的業(yè)務優(yōu)先級所對應的轉發(fā)處理方式對該待轉發(fā)處理的報文進行轉發(fā)處理。
[0387]其中,基于訪問控制列表的流量控制策略,主要基于待轉發(fā)處理報文所攜帶信息與訪問控制列表所包含記錄之間是否匹配,來確定報文的具體轉發(fā)處理方式。例如,訪問控制列表為限制訪問控制列表(類似黑名單),對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等等信息,若限制訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是直接丟棄,反之,對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若限制訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是轉發(fā)該報文。又舉例來說,假設訪問控制列表為允許訪問控制列表(類似白名單),則對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等信息,若允許訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為直接丟棄,而對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若允許訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為轉發(fā)該報文。其它情況以此類推。
[0388]可以理解的是,本實施例中的虛擬機900各個模塊的功能可根據(jù)上述方法實施例介紹的方法具體實現(xiàn),其具體實現(xiàn)過程可以參見上述實施例中的相關描述,在此不再贅述。
[0389]可以看出,本實施例的方案中,通過引入虛擬機與Host協(xié)商流量控制策略執(zhí)行方的機制,使得虛擬機與Host都有機會成為流量控制策略執(zhí)行方,這使得由執(zhí)行虛擬機流量控制策略變得可能,這樣就有利于盡可能早的對報文流進行流量控制,進而有利于減少無效處理、減少無效報文流量對帶寬和Host地址空間的占用。可見,上述方案有利于減少轉發(fā)處理虛擬機出方向的報文流量對Host地址空間的占用。并且由于是通過協(xié)商方式來確定流量控制策略執(zhí)行方,因此有利于提高流量控制策略執(zhí)行的可靠性。
[0390]進一步的,當虛擬機與Host都支持執(zhí)行流量控制策略時,優(yōu)先讓虛擬機來執(zhí)行流量控制策略,這樣進一步有利于盡可能早的對報文進行流量控制,進而進一步有利于減少無效處理和無效報文流量對帶寬的占用。
[0391]進一步的,虛擬機與Host采用模塊化架構設計,有利于提升產品在復雜應用環(huán)境下的適應性,降低環(huán)境遷移的升級成本。
[0392]參見圖10、本發(fā)明實施例還提供宿主機1000,可包括:第二協(xié)商單元1010和報文處理單元1020。
[0393]其中,第二協(xié)商單元1010,用于基于上述虛擬機的流量控制能力在上述虛擬機與宿主機1000之間協(xié)商流量控制策略的執(zhí)行方。
[0394]報文處理單元1020,用于若確定協(xié)商出的流量控制策略的執(zhí)行方為上述宿主機,在接收到來自上述虛擬機的報文之后,基于上述流量控制策略對接收到的上述報文進行轉發(fā)處理。
[0395]在本發(fā)明的一些實施例中,第二協(xié)商單元1010可具體用于,接收虛擬機發(fā)送的攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行流量控制策略,則向上述虛擬機發(fā)送協(xié)商確認指示,上述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;和/或,若根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行流量控制策略,則向上述虛擬機發(fā)送協(xié)商否認指示,上述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述宿主機。
[0396]在本發(fā)明的另一些實施例中,第二協(xié)商單元1010可具體用于,接收虛擬機發(fā)送的攜帶有上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,若根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向上述虛擬機發(fā)送協(xié)商確認指示,其中,上述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;和/或,若根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向上述虛擬機發(fā)送協(xié)商否認指示,其中,上述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述宿主機。
[0397]在本發(fā)明的一些實施例中,若上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,則第二協(xié)商單元1010可根據(jù)上述流量控制能力的描述信息確定上述虛擬機是否支持執(zhí)行當前最新版本或預設版本的流量控制策略,具體可包括:比較上述流量控制能力的描述信息所描述出上述虛擬機支持執(zhí)行的流量控制策略的版本是否與流量控制策略的當前最新版本或者預設版本相同,若是,則可確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略;若否,則可確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略。又例如第二協(xié)商單元1010可根據(jù)上述流量控制能力的描述信息確定上述虛擬機是否支持執(zhí)行當前最新版本或預設版本的流量控制策略具體可包括:比較上述流量控制能力的描述信息所描述出上述虛擬機支持執(zhí)行的流量控制策略的k個(k為正整數(shù))版本中的每個版本,是否與流量控制策略的當前最新版本或者預設版本相同,若比較出上述k個版本中的其中I個版本與流量控制策略的當前最新版本或者預設版本相同,則可確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略;若比較出上述k個版本中的任意I個版本與流量控制策略的當前最新版本或者預設版本均不同,則可確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略。
[0398]在本發(fā)明的一些實施例中,報文處理單元1020還用于,在確定協(xié)商出的流量控制策略的執(zhí)行方為上述虛擬機之后,若在設定時長內未接收到來自上述虛擬機的心跳消息,則向上述虛擬機發(fā)送用于指示流量控制策略執(zhí)行方切換為上述Host的指示消息。
[0399]本實施例中報文處理單元1020處理待轉發(fā)處理的報文所基于的流量控制策略例如可為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略,當然流量控制策略也可是參考其他因素的流量控制策略。
[0400]其中,基于服務質量的流量控制策略主要基于待轉發(fā)處理報文對應的業(yè)務優(yōu)先級,來確定該報文的具體轉發(fā)處理方式(其中,具體轉發(fā)處理方式可以是延遲發(fā)送報文、無延遲的發(fā)送報文或丟棄報文等)。例如,當前緩存中存在多個待轉發(fā)處理的報文,則所對應業(yè)務優(yōu)先級越高的報文發(fā)送延遲可能越短甚至無延遲,所對應業(yè)務優(yōu)先級越低的報文發(fā)送延遲可能越長,甚至可以丟棄所對應業(yè)務優(yōu)先級低于設定的優(yōu)先級閾值的待轉發(fā)處理報文,這樣就有利于盡可能的保障高優(yōu)先級業(yè)務的服務質量。即,基于服務質量的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理具體可包括:按照待轉發(fā)處理報文的業(yè)務優(yōu)先級所對應的轉發(fā)處理方式對該待轉發(fā)處理的報文進行轉發(fā)處理。
[0401]其中,基于訪問控制列表的流量控制策略,主要基于待轉發(fā)處理報文所攜帶信息與訪問控制列表所包含記錄之間是否匹配,來確定報文的具體轉發(fā)處理方式。例如,訪問控制列表為限制訪問控制列表(類似黑名單),對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等等信息,若限制訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是直接丟棄,反之,對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若限制訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是轉發(fā)該報文。又舉例來說,假設訪問控制列表為允許訪問控制列表(類似白名單),則對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等信息,若允許訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為直接丟棄,而對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若允許訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為轉發(fā)該報文。其它情況以此類推。
[0402]可以理解的是,本實施例中的HostlOOO各個模塊的功能可根據(jù)上述方法實施例介紹的方法具體實現(xiàn),其具體實現(xiàn)過程可以參見上述實施例中的相關描述,在此不再贅述。
[0403]可以看出,本實施例的方案中,通過引入虛擬機與Host協(xié)商流量控制策略執(zhí)行方的機制,使得虛擬機與Host都有機會成為流量控制策略執(zhí)行方,這使得由執(zhí)行虛擬機流量控制策略變得可能,這樣就有利于盡可能早的對報文流進行流量控制,進而有利于減少無效處理、減少無效報文流量對帶寬和Host地址空間的占用??梢娚鲜龇桨赣欣跍p少轉發(fā)處理虛擬機出方向的報文流量對Host地址空間的占用。并且由于是通過協(xié)商方式來確定流量控制策略執(zhí)行方,因此有利于提高流量控制策略執(zhí)行的可靠性。
[0404]進一步的,當虛擬機與Host都支持執(zhí)行流量控制策略時,優(yōu)先讓虛擬機來執(zhí)行流量控制策略,這樣進一步有利于盡可能早的對報文進行流量控制,進而進一步有利于減少無效處理和無效報文流量對帶寬的占用。
[0405]進一步的,虛擬機與Host采用模塊化架構設計,有利于提升產品在復雜應用環(huán)境下的適應性,降低環(huán)境遷移的升級成本,降低環(huán)境遷移的升級成本。
[0406]參見圖11,本發(fā)明實施例還提供一種計算節(jié)點1100,可以包括:硬件層1110、運行在上述硬件層之上的宿主機1102、以及運行在上述宿主機1102之上的至少一個虛擬機1103。
[0407]其中,虛擬機1103,用于基于上述虛擬機1103的流量控制能力在上述虛擬機1103與宿主機1102之間協(xié)商流量控制策略的執(zhí)行方;若確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機,則基于上述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理;若確定協(xié)商出的流量控制策略的執(zhí)行方為上述宿主機1102,則將待轉發(fā)處理的報文發(fā)送給上述宿主機1102 ;
[0408]上述宿主機1102,用于若確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機1102,則在接收到來自上述虛擬機的報文之后,基于上述流量控制策略對接收到的上述報文進行轉發(fā)處理。
[0409]在本發(fā)明的一些實施例中,在基于上述虛擬機1103的流量控制能力在上述虛擬機1103與宿主機1102之間協(xié)商流量控制策略的執(zhí)行方的方面,上述虛擬機具體用于,向宿主機1102發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到上述宿主機1102在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;若接收到上述宿主機1102在根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機1102 ;
[0410]或者,在基于上述虛擬機1103的流量控制能力在上述虛擬機1103與宿主機1102之間協(xié)商流量控制策略的執(zhí)行方的方面,上述虛擬機具體用于,向宿主機1102發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到上述宿主機1102在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;若接收到上述宿主機1102在根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機1102 ;
[0411]或者,在基于上述虛擬機1103的流量控制能力在上述虛擬機1103與宿主機1102之間協(xié)商流量控制策略的執(zhí)行方的方面,上述虛擬機具體用于,向宿主機1102發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到上述宿主機1102在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;若在第一設定時長內未接收到上述宿主機1102發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機1102 ;
[0412]或者,在基于上述虛擬機1103的流量控制能力在上述虛擬機1103與宿主機1102之間協(xié)商流量控制策略的執(zhí)行方的方面,上述虛擬機具體用于,向宿主機1102發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到上述宿主機1102在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;若在第一設定時長之內未接收到上述宿主機1102發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機1102 ;
[0413]或者,在基于上述虛擬機1103的流量控制能力在上述虛擬機1103與宿主機1102之間協(xié)商流量控制策略的執(zhí)行方的執(zhí)行方的方面,上述虛擬機具體用于,向宿主機1102發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到上述宿主機1102在根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機1102 ;若在第二設定時長內未接收到上述宿主機1102發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;
[0414]或者,在基于上述虛擬機1103的流量控制能力在上述虛擬機1103與宿主機1102之間協(xié)商流量控制策略的執(zhí)行方的執(zhí)行方的方面,上述虛擬機1103具體用于向宿主機1102發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到上述宿主機1102在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機1102 ;若在第二設定時長之內未接收到上述宿主機1102發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機。
[0415]其中,在本發(fā)明的一些實施例中,宿主機1102可接收虛擬機發(fā)送的攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行流量控制策略,則向上述虛擬機發(fā)送協(xié)商確認指示,上述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;和/或,若根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行流量控制策略,則向上述虛擬機發(fā)送協(xié)商否認指示,上述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述宿主機。
[0416]在本發(fā)明的另一些實施例中,宿主機1102可接收虛擬機發(fā)送的攜帶有上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,若根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向上述虛擬機發(fā)送協(xié)商確認指示,其中,上述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;和/或,若根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向上述虛擬機發(fā)送協(xié)商否認指示,其中,上述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述宿主機。
[0417]在本發(fā)明的一些實施例中,若上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,則宿主機1102可根據(jù)上述流量控制能力的描述信息確定上述虛擬機是否支持執(zhí)行當前最新版本或者預設版本的流量控制策略,具體可包括:比較上述流量控制能力的描述信息所描述出上述虛擬機支持執(zhí)行的流量控制策略的版本是否與流量控制策略的當前最新版本或者預設版本相同,若是,則可確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略;若否,則可確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略。又例如,宿主機1102可根據(jù)上述流量控制能力的描述信息確定上述虛擬機是否支持執(zhí)行當前最新版本或者預設版本的流量控制策略具體可包括:比較上述流量控制能力的描述信息所描述出上述虛擬機支持執(zhí)行的流量控制策略的k個(k為正整數(shù))版本中的每個版本,是否與流量控制策略的當前最新版本或者預設版本相同,若比較出上述k個版本中的其中I個版本與流量控制策略的當前最新版本或者預設版本相同,則可確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略;若比較出上述k個版本中的任意I個版本與流量控制策略的當前最新版本或者預設版本均不同,則可確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略。
[0418]在本發(fā)明的一些實施例中,上述宿主機1102還用于,在確定協(xié)商出的流量控制策略的執(zhí)行方為上述虛擬機之后,若在設定時長內未接收到來自上述虛擬機的心跳消息,則向上述虛擬機發(fā)送用于指示流量控制策略執(zhí)行方切換為上述宿主機1102的指示消息。
[0419]在本發(fā)明的一些實施例中,所述協(xié)商確認指示中可以包含所述流量控制策略;其中,在所述虛擬機基于所述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理的方面,所述虛擬機具體用于,基于所述協(xié)商確認指示中包含的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理。
[0420]當然,宿主機1102亦可通過其它方式將流量控制策略傳遞給虛擬機,以便于虛擬機1103在確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機之后,基于宿主機1102傳遞過來的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理。當然也可以在虛擬機1103中預配置流量控制策略,當上述虛擬機1103確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機1103,上述虛擬機1103基于預配置的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理。
[0421]在本發(fā)明的一些實施例中,在所述虛擬機1102向宿主機1102發(fā)送攜帶虛擬機1102的流量控制能力的描述信息的執(zhí)行方協(xié)商請求的方面,虛擬機1102具體用于在接收到用戶態(tài)進程發(fā)起的協(xié)商啟動請求之后,向宿主機1102發(fā)送攜帶虛擬機1102的流量控制能力的描述信息的執(zhí)行方協(xié)商請求;或者,在接收到來自宿主機1102的協(xié)商啟動請求之后,向宿主機1102發(fā)送攜帶虛擬機1102的流量控制能力的描述信息的執(zhí)行方協(xié)商請求。
[0422]其中,本實施例中宿主機1102或虛擬機1102處理待轉發(fā)處理的報文所基于的流量控制策略例如可以為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略,當然,上述流量控制策略也可是參考其他因素的流量控制策略。
[0423]其中,基于服務質量的流量控制策略主要基于待轉發(fā)處理報文對應的業(yè)務優(yōu)先級,來確定該報文的具體轉發(fā)處理方式(其中,具體轉發(fā)處理方式可以是延遲發(fā)送報文、無延遲的發(fā)送報文或丟棄報文等)。例如,當前緩存中存在多個待轉發(fā)處理的報文,則所對應業(yè)務優(yōu)先級越高的報文發(fā)送延遲可能越短甚至無延遲,所對應業(yè)務優(yōu)先級越低的報文發(fā)送延遲可能越長,甚至可以丟棄所對應業(yè)務優(yōu)先級低于設定的優(yōu)先級閾值的待轉發(fā)處理報文,這樣就有利于盡可能的保障高優(yōu)先級業(yè)務的服務質量。即,基于服務質量的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理具體可包括:按照待轉發(fā)處理報文的業(yè)務優(yōu)先級所對應的轉發(fā)處理方式對該待轉發(fā)處理的報文進行轉發(fā)處理。
[0424]其中,基于訪問控制列表的流量控制策略,主要基于待轉發(fā)處理報文所攜帶信息與訪問控制列表所包含記錄之間是否匹配,來確定報文的具體轉發(fā)處理方式。例如,訪問控制列表為限制訪問控制列表(類似黑名單),對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等等信息,若限制訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是直接丟棄,反之,對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若限制訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是轉發(fā)該報文。又舉例來說,假設訪問控制列表為允許訪問控制列表(類似白名單),則對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等信息,若允許訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為直接丟棄,而對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若允許訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為轉發(fā)該報文。其它情況以此類推。
[0425]可以理解的是,本實施例中的計算節(jié)點1100各個單元的功能可根據(jù)上述方法實施例介紹的方法具體實現(xiàn),其具體實現(xiàn)過程可以參見上述實施例中的相關描述,在此不再贅述。
[0426]可以看出,本實施例的方案中,通過在計算節(jié)點1100中引入虛擬機與Host協(xié)商流量控制策略執(zhí)行方的機制,使得虛擬機與Host都有機會成為流量控制策略執(zhí)行方,這使得由執(zhí)行虛擬機流量控制策略變得可能,這樣就有利于盡可能早的對報文流進行流量控制,進而有利于減少無效處理、減少無效報文流量對帶寬和Host地址空間的占用??梢?,上述方案有利于減少轉發(fā)處理虛擬機出方向的報文流量對Host地址空間的占用。并且由于是通過協(xié)商方式來確定流量控制策略執(zhí)行方,因此有利于提高流量控制策略執(zhí)行的可靠性。
[0427]進一步的,當虛擬機與Host都支持執(zhí)行流量控制策略時,優(yōu)先讓虛擬機來執(zhí)行流量控制策略,這樣進一步有利于盡可能早的對報文進行流量控制,進而進一步有利于減少無效處理和無效報文流量對帶寬的占用。
[0428]進一步的,虛擬機與Host采用模塊化架構設計,有利于提升產品在復雜應用環(huán)境下的適應性,降低環(huán)境遷移的升級成本。
[0429]圖12描述了本發(fā)明實施例提供的一種計算節(jié)點1200的結構,該計算節(jié)點1200包括:至少一個處理器1201,例如CPU,至少一個網(wǎng)絡接口 1204或者其他用戶接口 1203,存儲器1205,至少一個通信總線1202。通信總線1202用于實現(xiàn)這些組件之間的連接通信。該計算節(jié)點1200可選的包含用戶接口 1203,包括顯示器,鍵盤或者點擊設備(例如,鼠標,軌跡球(trackball),觸感板或者觸感顯示屏)。存儲器1205可能包含高速RAM存儲器,也可能還包括非不穩(wěn)定的存儲器(non-volatile memory),例如至少一個磁盤存儲器。存儲器1205可選的可以包含至少一個處于遠離前述處理器1201的存儲裝置。其中,網(wǎng)絡接口 1204包括物理網(wǎng)卡等。
[0430]在一些實施方式中,存儲器1205存儲了如下的元素,可執(zhí)行模塊或者數(shù)據(jù)結構,或者他們的子集,或者他們的擴展集:宿主機12051和至少一個虛擬機12052。其中,受處理器1201的調用,宿主機12051可具有如上述實施例所描述宿主機的部分或全部功能,受處理器1201的調用,虛擬機12052可以具有如上述實施例所描述虛擬機的部分或全部功倉泛。
[0431]其中,在本發(fā)明的實施例中,受處理器1201的調用,虛擬機12052用于基于上述虛擬機的流量控制能力在上述虛擬機12052與Hostl2051之間協(xié)商流量控制策略的執(zhí)行方;若確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機,則基于上述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理;若確定協(xié)商出的流量控制策略的執(zhí)行方為上述宿主機12051,則將待轉發(fā)處理的報文發(fā)送給上述宿主機12051 ;
[0432]受處理器1201的調用,上述宿主機12051用于若確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機12051,在接收到來自虛擬機12052的報文后,基于上述流量控制策略對接收到的上述報文進行轉發(fā)處理。
[0433]在本發(fā)明一些實施例中,在基于上述虛擬機的流量控制能力在上述虛擬機12052與Hostl2051之間協(xié)商流量控制策略的執(zhí)行方的方面,受處理器1201的調用,虛擬機12052具體用于,向宿主機12051發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到上述宿主機12051在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;若接收到上述宿主機12051在根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機12051 ;
[0434]或者,在基于上述虛擬機的流量控制能力在上述虛擬機12052與Hostl2051之間協(xié)商流量控制策略的執(zhí)行方的方面,受處理器1201的調用,虛擬機12052具體用于,向宿主機12051發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到上述宿主機12051在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;若接收到上述宿主機12051在根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機12051 ;
[0435]或者,在基于上述虛擬機的流量控制能力在上述虛擬機12052與Hostl2051之間協(xié)商流量控制策略的執(zhí)行方的方面,受處理器1201的調用,虛擬機12052具體用于,向宿主機12051發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到上述宿主機12051在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;若在第一設定時長內未接收到上述宿主機12051發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機12051 ;
[0436]或者,在基于上述虛擬機的流量控制能力在上述虛擬機12052與Hostl2051之間協(xié)商流量控制策略的執(zhí)行方的方面,受處理器1201的調用,虛擬機12052具體用于,向宿主機12051發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到上述宿主機12051在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;若在第一設定時長之內未接收到上述宿主機12051發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機12051 ;
[0437]或者,在基于上述虛擬機的流量控制能力在上述虛擬機12052與Hostl2051之間協(xié)商流量控制策略的執(zhí)行方的方面,受處理器1201的調用,虛擬機12052具體用于,向宿主機12051發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到上述宿主機12051在根據(jù)上述流量控制能力的描述信息確定上述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機12051 ;若在第二設定時長內未接收到上述宿主機12051發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;
[0438]或者,在基于上述虛擬機的流量控制能力在上述虛擬機12052與Hostl2051之間協(xié)商流量控制策略的執(zhí)行方的方面,受處理器1201的調用,虛擬機12052具體用于,向宿主機12051發(fā)送攜帶上述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到上述宿主機12051在根據(jù)上述流量控制能力的描述信息確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機12051 ;若在第二設定時長之內未接收到上述宿主機12051發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機。
[0439]在本發(fā)明的一些實施例中,若上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,受處理器1201的調用,宿主機12051可根據(jù)上述流量控制能力的描述信息確定上述虛擬機是否支持執(zhí)行當前最新版本或者預設版本的流量控制策略,具體可包括:比較上述流量控制能力的描述信息所描述出上述虛擬機支持執(zhí)行的流量控制策略的版本是否與流量控制策略的當前最新版本或者預設版本相同,若是,則可確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略;若否,則可確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略。又例如,受處理器1201的調用,宿主機12051可根據(jù)上述流量控制能力的描述信息確定上述虛擬機是否支持執(zhí)行當前最新版本或者預設版本的流量控制策略具體可包括:比較上述流量控制能力的描述信息所描述出上述虛擬機支持執(zhí)行的流量控制策略的k個(k為正整數(shù))版本中的每個版本,是否與流量控制策略的當前最新版本或者預設版本相同,若比較出上述k個版本中的其中I個版本與流量控制策略的當前最新版本或者預設版本相同,則可確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略;若比較出上述k個版本中的任意I個版本與流量控制策略的當前最新版本或者預設版本均不同,則可確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略。
[0440]在本發(fā)明的一些實施例中,受處理器1201的調用,上述宿主機12051還用于,在確定協(xié)商出的流量控制策略的執(zhí)行方為上述虛擬機之后,若在設定時長內未接收到來自上述虛擬機的心跳消息,則向上述虛擬機發(fā)送用于指示流量控制策略執(zhí)行方切換為上述宿主機12051的指示消息。
[0441]在本發(fā)明的一些實施例中,所述協(xié)商確認指示中可以包含所述流量控制策略;其中,在所述虛擬機基于所述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理的方面,所述虛擬機12052具體用于,基于所述協(xié)商確認指示中包含的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理。
[0442]當然宿主機12051亦可通過其它方式將流量控制策略傳遞給虛擬機,以便于虛擬機12052在確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機之后,基于宿主機12051傳遞過來的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理。當然,也可以在虛擬機12052中預配置流量控制策略,當上述虛擬機12052確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機12052,上述虛擬機12052基于預配置的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理。
[0443]在本發(fā)明的一些實施例中,在所述虛擬機12051向宿主機12051發(fā)送攜帶虛擬機12051的流量控制能力的描述信息的執(zhí)行方協(xié)商請求的方面,受處理器1201的調用,虛擬機12051具體用于在接收到用戶態(tài)進程發(fā)起的協(xié)商啟動請求之后,向宿主機12051發(fā)送攜帶虛擬機12051的流量控制能力的描述信息的執(zhí)行方協(xié)商請求;或者在接收到來自宿主機12051的協(xié)商啟動請求之后,向宿主機12051發(fā)送攜帶虛擬機12051的流量控制能力的描述信息的執(zhí)行方協(xié)商請求。
[0444]其中,本實施例中宿主機12051或虛擬機12052處理待轉發(fā)處理的報文所基于的流量控制策略例如可以為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略,當然,上述流量控制策略也可是參考其他因素的流量控制策略。
[0445]其中,基于服務質量的流量控制策略主要基于待轉發(fā)處理報文對應的業(yè)務優(yōu)先級,來確定該報文的具體轉發(fā)處理方式(其中,具體轉發(fā)處理方式可以是延遲發(fā)送報文、無延遲的發(fā)送報文或丟棄報文等)。例如,當前緩存中存在多個待轉發(fā)處理的報文,則所對應業(yè)務優(yōu)先級越高的報文發(fā)送延遲可能越短甚至無延遲,所對應業(yè)務優(yōu)先級越低的報文發(fā)送延遲可能越長,甚至可以丟棄所對應業(yè)務優(yōu)先級低于設定的優(yōu)先級閾值的待轉發(fā)處理報文,這樣就有利于盡可能的保障高優(yōu)先級業(yè)務的服務質量。即,基于服務質量的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理具體可包括:按照待轉發(fā)處理報文的業(yè)務優(yōu)先級所對應的轉發(fā)處理方式對該待轉發(fā)處理的報文進行轉發(fā)處理。
[0446]其中,基于訪問控制列表的流量控制策略,主要基于待轉發(fā)處理報文所攜帶信息與訪問控制列表所包含記錄之間是否匹配,來確定報文的具體轉發(fā)處理方式。例如,訪問控制列表為限制訪問控制列表(類似黑名單),對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等等信息,若限制訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是直接丟棄,反之,對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若限制訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是轉發(fā)該報文。又舉例來說,假設訪問控制列表為允許訪問控制列表(類似白名單),則對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等信息,若允許訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為直接丟棄,而對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若允許訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為轉發(fā)該報文。其它情況以此類推。
[0447]可以理解的是,本實施例中的計算節(jié)點1200各個單元的功能可根據(jù)上述方法實施例介紹的方法具體實現(xiàn),其具體實現(xiàn)過程可以參見上述實施例中的相關描述,在此不再贅述。
[0448]可以看出,本實施例的方案中,通過在計算節(jié)點1200中引入虛擬機與Host協(xié)商流量控制策略執(zhí)行方的機制,使得虛擬機與Host都有機會成為流量控制策略執(zhí)行方,這使得由執(zhí)行虛擬機流量控制策略變得可能,這樣就有利于盡可能早的對報文流進行流量控制,進而有利于減少無效處理、減少無效報文流量對帶寬和Host地址空間的占用??梢姡鲜龇桨赣欣跍p少轉發(fā)處理虛擬機出方向的報文流量對Host地址空間的占用。并且由于是通過協(xié)商方式來確定流量控制策略執(zhí)行方,因此有利于提高流量控制策略執(zhí)行的可靠性。
[0449]進一步的,當虛擬機與Host都支持執(zhí)行流量控制策略時,優(yōu)先讓虛擬機來執(zhí)行流量控制策略,這樣進一步有利于盡可能早的對報文進行流量控制,進而進一步有利于減少無效處理和無效報文流量對帶寬的占用。
[0450]圖13描述了本發(fā)明實施例提供的一種計算節(jié)點1300的結構,該計算節(jié)點1300包括:至少一個處理器1301,例如CPU,至少一個網(wǎng)絡接口 1304或者其他用戶接口 1303,存儲器1305,至少一個通信總線1302。通信總線1302用于實現(xiàn)這些組件之間的連接通信。該計算節(jié)點1300可選的包含用戶接口 1303,包括顯示器,鍵盤或者點擊設備(例如,鼠標,軌跡球(trackball),觸感板或者觸感顯示屏)。存儲器1305可能包含高速RAM存儲器,也可能還包括非不穩(wěn)定的存儲器(non-volatile memory),例如至少一個磁盤存儲器。存儲器1305可選的可以包含至少一個處于遠離前述處理器1301的存儲裝置。其中,網(wǎng)絡接口 1304包括物理網(wǎng)卡等。
[0451]在一些實施方式中,存儲器1305存儲了如下的元素,可執(zhí)行模塊或者數(shù)據(jù)結構,或者他們的子集,或者他們的擴展集:宿主機13051和至少一個虛擬機13052。其中,受處理器1301的調用,宿主機13051可具有如上述實施例所描述宿主機的部分或全部功能,受處理器1301的調用,虛擬機13052可以具有如上述實施例所描述虛擬機的部分或全部功倉泛。
[0452]其中,在本發(fā)明實施例中,通過調用存儲器1305存儲的程序或指令,處理器1301可以用于,基于虛擬機13052的流量控制能力,在宿主機13051和上述虛擬機13052之間協(xié)商出流量控制策略的執(zhí)行方。若協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機13052,則基于上述流量控制策略對上述虛擬機13052待轉發(fā)處理的報文進行轉發(fā)處理;若協(xié)商出的流量控制策略的執(zhí)行方為上述宿主機13051,則將上述虛擬機13052待轉發(fā)處理的報文發(fā)送給上述宿主機13051 ;基于上述流量控制策略對上述宿主機13051接收到的待轉發(fā)處理的上述報文進行轉發(fā)處理。
[0453]在本發(fā)明的一些實施例中,上述處理器1301基于虛擬機13052的流量控制能力,在宿主機13051和上述虛擬機13052之間協(xié)商出流量控制策略的執(zhí)行方可包括:上述處理器1301向宿主機13051發(fā)送上述虛擬機13052待向上述宿主機13051發(fā)送的執(zhí)行方協(xié)商請求,上述執(zhí)行方協(xié)商請求攜帶上述虛擬機13052的流量控制能力的描述信息;
[0454]在上述宿主機13051接收到上述執(zhí)行方協(xié)商請求之后,上述處理器1301若根據(jù)上述流量控制能力的描述信息確定上述虛擬機13052支持執(zhí)行流量控制策略,則上述處理器1301向上述虛擬機13052發(fā)送上述宿主機13051待向上述虛擬機13052發(fā)送的協(xié)商確認指示,其中,上述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機13052 ;和/或上述處理器1301若根據(jù)上述流量控制能力的描述信息,確定上述虛擬機13052不支持執(zhí)行流量控制策略,則上述處理器1301向上述虛擬機13052發(fā)送上述宿主機13051待向上述虛擬機13052發(fā)送的協(xié)商否認指示,其中,上述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述宿主機13051 ;
[0455]或者,上述處理器1301基于虛擬機13052的流量控制能力,在宿主機13051和上述虛擬機13052之間協(xié)商出流量控制策略的執(zhí)行方包括:上述處理器1301向宿主機13051發(fā)送虛擬機13052待向上述宿主機13051發(fā)送的執(zhí)行方協(xié)商請求,上述執(zhí)行方協(xié)商請求攜帶虛擬機13052的流量控制能力的描述信息,上述流量控制能力的描述信息用于描述出上述虛擬機13052支持執(zhí)行的流量控制策略的版本;
[0456]在上述宿主機13051接收到上述執(zhí)行方協(xié)商請求之后,上述處理器1301若根據(jù)上述流量控制能力的描述信息,確定上述虛擬機13052支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則上述處理器1301向上述虛擬機13052發(fā)送上述宿主機13051待向上述虛擬機13052發(fā)送的協(xié)商確認指示,上述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機13052 ;和/或上述處理器1301若根據(jù)上述流量控制能力的描述信息確定上述虛擬機13052不支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則上述處理器1301向上述虛擬機13052發(fā)送上述宿主機13051待向上述虛擬機13052發(fā)送的協(xié)商否認指示,其中,上述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為上述宿主機13051。
[0457]在本發(fā)明的另一些實施例中,上述處理器1301基于虛擬機13052的流量控制能力,在宿主機13051和上述虛擬機13052之間協(xié)商出流量控制策略的執(zhí)行方可包括:上述處理器1301向宿主機13051發(fā)送上述虛擬機13052待向上述宿主機13051發(fā)送的執(zhí)行方協(xié)商請求,上述執(zhí)行方協(xié)商請求攜帶上述虛擬機13052的流量控制能力的描述信息;若虛擬機13052接收到上述宿主機13051發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商確認指示,處理器13051確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;若虛擬機13052接收到上述宿主機13051發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則處理器13051確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機13051。
[0458]或者,上述處理器1301基于虛擬機13052的流量控制能力,在宿主機13051和上述虛擬機13052之間協(xié)商出流量控制策略的執(zhí)行方可包括:上述處理器1301向宿主機13051發(fā)送上述虛擬機13052待向上述宿主機13051發(fā)送的執(zhí)行方協(xié)商請求,上述執(zhí)行方協(xié)商請求攜帶上述虛擬機13052的流量控制能力的描述信息,上述流量控制能力的描述信息用于描述出上述虛擬機13052支持執(zhí)行的流量控制策略的版本;若虛擬機13052接收到上述宿主機13051發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則處理器13051確定協(xié)商出的流量控制策略執(zhí)行方為虛擬機13052 ;若虛擬機13052接收到上述宿主機13051在發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機13051。
[0459]或者,上述處理器1301基于虛擬機13052的流量控制能力,在宿主機13051和上述虛擬機13052之間協(xié)商出流量控制策略的執(zhí)行方可包括:上述處理器1301向宿主機13051發(fā)送上述虛擬機13052待向上述宿主機13051發(fā)送的執(zhí)行方協(xié)商請求,上述執(zhí)行方協(xié)商請求攜帶上述虛擬機13052的流量控制能力的描述信息;若虛擬機13052接收到上述宿主機13051發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則上述處理器1301確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;若虛擬機13052在第一設定時長內未接收到上述宿主機13051發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則上述處理器1301確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機13051。
[0460]或者,上述處理器1301基于虛擬機13052的流量控制能力,在宿主機13051和上述虛擬機13052之間協(xié)商出流量控制策略的執(zhí)行方可包括:上述處理器1301向宿主機13051發(fā)送上述虛擬機13052待向上述宿主機13051發(fā)送的執(zhí)行方協(xié)商請求,上述執(zhí)行方協(xié)商請求攜帶上述虛擬機13052的流量控制能力的描述信息,其中,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,若虛擬機13052接收到上述宿主機13051發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則處理器1301確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;若虛擬機13052在第一設定時長之內未接收到上述宿主機13051發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則處理器1301可確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機13051。
[0461]或者,上述處理器1301基于虛擬機13052的流量控制能力,在宿主機13051和上述虛擬機13052之間協(xié)商出流量控制策略的執(zhí)行方可包括:上述處理器1301向宿主機13051發(fā)送上述虛擬機13052待向上述宿主機13051發(fā)送的執(zhí)行方協(xié)商請求,上述執(zhí)行方協(xié)商請求攜帶上述虛擬機13052的流量控制能力的描述信息,若虛擬機13052接收到上述宿主機13051發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則處理器1301確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機13051 ;若上述虛擬機13052在第二設定時長內未接收到上述宿主機13051發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則上述處理器1301確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機;
[0462]或者,上述處理器1301基于虛擬機13052的流量控制能力,在宿主機13051和上述虛擬機13052之間協(xié)商出流量控制策略的執(zhí)行方可包括:上述處理器1301向宿主機13051發(fā)送上述虛擬機13052待向上述宿主機13051發(fā)送的執(zhí)行方協(xié)商請求,上述執(zhí)行方協(xié)商請求攜帶上述虛擬機13052的流量控制能力的描述信息,其中,上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,若虛擬機13052接收到上述宿主機13051發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則處理器1301確定協(xié)商出的流量控制策略執(zhí)行方為上述宿主機13051 ;若虛擬機13052在第二設定時長之內未接收到上述宿主機13051發(fā)送的用于響應上述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則處理器1301確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機。[0463]在本發(fā)明一些實施例中,上述協(xié)商確認指示中包含上述流量控制策略。
[0464]其中,上述處理器1301基于上述流量控制策略對上述虛擬機13052待轉發(fā)處理的報文進行轉發(fā)處理可以包括:上述處理器1301基于上述協(xié)商確認指示中包含的上述流量控制策略,對上述虛擬機13052待轉發(fā)處理的報文進行轉發(fā)處理。
[0465]當然,宿主機13051亦可通過其它方式將流量控制策略傳遞給虛擬機13052,以便在確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機13052之后,上述處理器1301基于宿主機13051傳遞過來的流量控制策略對虛擬機13052待轉發(fā)處理的報文進行轉發(fā)處理。當然,也可以在虛擬機13052中預配置流量控制策略,當確定協(xié)商出的流量控制策略執(zhí)行方為上述虛擬機13052,上述處理器1301基于預配置的流量控制策略對上述虛擬機13052待轉發(fā)處理的報文進行轉發(fā)處理。
[0466]在本發(fā)明的一些實施例中,在上述宿主機13051接收到上述執(zhí)行方協(xié)商請求之后,若上述流量控制能力的描述信息用于描述出上述虛擬機支持執(zhí)行的流量控制策略的版本,處理器1301可根據(jù)上述流量控制能力的描述信息確定上述虛擬機是否支持執(zhí)行當前最新版本或者預設版本的流量控制策略,具體可包括:比較上述流量控制能力的描述信息所描述出上述虛擬機支持執(zhí)行的流量控制策略的版本是否與流量控制策略的當前最新版本或者預設版本相同,若是,則可確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略;若否,則可確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略。又例如,處理器1301可根據(jù)上述流量控制能力的描述信息確定上述虛擬機是否支持執(zhí)行當前最新版本或者預設版本的流量控制策略具體可包括:比較上述流量控制能力的描述信息所描述出上述虛擬機支持執(zhí)行的流量控制策略的k個(k為正整數(shù))版本中的每個版本,是否與流量控制策略的當前最新版本或者預設版本相同,若比較出上述k個版本中的其中I個版本與流量控制策略的當前最新版本或者預設版本相同,則可確定上述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略;若比較出上述k個版本中的任意I個版本與流量控制策略的當前最新版本或者預設版本均不同,則可確定上述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略。
[0467]在本發(fā)明一些實施例中,上述處理器1301還用于,在協(xié)商出的流量控制策略的執(zhí)行方為上述虛擬機13052后,若上述宿主機13051在設定時長內未接收到來自上述虛擬機13052的心跳消息,向上述虛擬機13052發(fā)送上述宿主機13051待向上述虛擬機13052發(fā)送的,用于指示流量控制策略的執(zhí)行方切換為上述宿主機13051的指示消息。
[0468]其中,本實施例中處理器1301處理宿主機13052或虛擬機13051待轉發(fā)處理的報文所基于的流量控制策略例如可以為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略,當然,上述流量控制策略也可是參考其他因素的流量控制策略。
[0469]其中,基于服務質量的流量控制策略主要基于待轉發(fā)處理報文對應的業(yè)務優(yōu)先級,來確定該報文的具體轉發(fā)處理方式(其中,具體轉發(fā)處理方式可以是延遲發(fā)送報文、無延遲的發(fā)送報文或丟棄報文等)。例如,當前緩存中存在多個待轉發(fā)處理的報文,則所對應業(yè)務優(yōu)先級越高的報文發(fā)送延遲可能越短甚至無延遲,所對應業(yè)務優(yōu)先級越低的報文發(fā)送延遲可能越長,甚至可以丟棄所對應業(yè)務優(yōu)先級低于設定的優(yōu)先級閾值的待轉發(fā)處理報文,這樣就有利于盡可能的保障高優(yōu)先級業(yè)務的服務質量。即,基于服務質量的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理具體可包括:按照待轉發(fā)處理報文的業(yè)務優(yōu)先級所對應的轉發(fā)處理方式對該待轉發(fā)處理的報文進行轉發(fā)處理。
[0470]其中,基于訪問控制列表的流量控制策略,主要基于待轉發(fā)處理報文所攜帶信息與訪問控制列表所包含記錄之間是否匹配,來確定報文的具體轉發(fā)處理方式。例如,訪問控制列表為限制訪問控制列表(類似黑名單),對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等等信息,若限制訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是直接丟棄,反之,對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若限制訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可以是轉發(fā)該報文。又舉例來說,假設訪問控制列表為允許訪問控制列表(類似白名單),則對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的特定關鍵字等信息,若允許訪問控制列表中沒有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為直接丟棄,而對于待轉發(fā)處理報文的源/目的地址、應用層協(xié)議類型、傳輸層協(xié)議類型和/或報文頭所包含的關鍵字等信息,若允許訪問控制列表中有與之匹配的記錄,則該待轉發(fā)處理報文的轉發(fā)處理方式可為轉發(fā)該報文。其它情況以此類推。
[0471]在本發(fā)明一些實施例中,上述處理器1301向宿主機13051發(fā)送上述虛擬機13052待向上述宿主機13051發(fā)送的執(zhí)行方協(xié)商請求可包括:
[0472]在虛擬機13052在接收到用戶態(tài)進程發(fā)起的協(xié)商啟動請求之后,上述處理器1301向宿主機13051發(fā)送上述虛擬機13052待向上述宿主機13051發(fā)送的執(zhí)行方協(xié)商請求;或者,在虛擬機13052在接收到來自上述宿主機13051的協(xié)商啟動請求之后,上述處理器1301向上述宿主機13051發(fā)送上述虛擬機13052待向上述宿主機13051發(fā)送的執(zhí)行方協(xié)商請求。
[0473]在本發(fā)明一些實施例中,上述基于虛擬機13052的流量控制能力,在宿主機13051和上述虛擬機13052之間協(xié)商出流量控制策略的執(zhí)行方,可包括:在部署于虛擬機13052中的預載客戶端與部署于宿主機13051中的預載服務端之間的連接建立完成之后,上述處理器1301通過建立的上述連接,基于虛擬機13052的流量控制能力,在宿主機13051和上述虛擬機13052之間協(xié)商出流量控制策略的執(zhí)行。
[0474]可以理解的是,本實施例中的計算節(jié)點1300各個單元的功能可以根據(jù)上述方法實施例介紹的方法具體實現(xiàn),其具體實現(xiàn)過程可以參見上述實施例中的相關描述,在此不再贅述。
[0475]可見,采用上述方案后,在計算節(jié)點1300中引入在虛擬機13052與宿主機13051之間協(xié)商流量控制策略執(zhí)行方的機制,在處理器1301協(xié)助之下,使得虛擬機13052與宿主機13051都有機會成為流量控制策略執(zhí)行方,這使得由執(zhí)行虛擬機13052流量控制策略變得可能,這樣就有利于盡可能早的對報文流進行流量控制,進而有利于減少無效處理、減少無效報文流量對帶寬和宿主機13051地址空間的占用。可見,上述方案有利于減少轉發(fā)處理虛擬機13052出方向的報文流量對宿主機13051地址空間的占用。并且由于是通過協(xié)商方式來確定流量控制策略執(zhí)行方,因此有利于提高流量控制策略執(zhí)行的可靠性。
[0476]進一步的,當虛擬機13052與宿主機13051都支持執(zhí)行流量控制策略時,優(yōu)先讓虛擬機13052來執(zhí)行流量控制策略,這樣進一步有利于盡可能早的對報文進行流量控制,進而進一步有利于減少無效處理和無效報文流量對帶寬的占用。
[0477]本發(fā)明實施例還提供一種計算機存儲介質,其中,該計算機存儲介質可存儲有程序,該程序執(zhí)行時包括上述方法實施例中記載的報文流量控制方法的部分或全部步驟。
[0478]需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
[0479]在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
[0480]在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置,可通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如上述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性或其它的形式。
[0481]上述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以處于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
[0482]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
[0483]上述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可為個人計算機、服務器或者網(wǎng)絡設備或者與內存連接的處理器等)執(zhí)行本發(fā)明各個實施例上述方法的全部或部分步驟。而前述的存儲介質包括:U盤、只讀存儲器(R0M,Read-Only Memory)、隨機存取存儲器(RAM, Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0484]以上所述,以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。
【權利要求】
1.一種報文流量控制方法,其特征在于,包括: 基于虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方; 若確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機,則所述虛擬機基于所述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理; 若確定協(xié)商出的流量控制策略的執(zhí)行方為所述Host,則所述虛擬機將待轉發(fā)處理的報文發(fā)送給所述Host,以便于所述Host基于所述流量控制策略對接收到的所述報文進行轉發(fā)處理。
2.根據(jù)權利要求1所述的方法,其特征在于, 所述基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括: 虛擬機向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求;所述虛擬機若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機; 所述虛擬機若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ; 或者, 所述基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括: 虛擬機向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本; 所述虛擬機若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機; 所述虛擬機若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ; 或者, 所述基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括: 虛擬機向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求;所述虛擬機若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機; 所述虛擬機若在第一設定時長內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;或者, 所述基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括: 虛擬機向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本; 所述虛擬機若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機; 所述虛擬機若在第一設定時長內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述Host; 或者, 所述基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括: 虛擬機向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求; 所述虛擬機若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ; 所述虛擬機在第二設定時長內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則所述虛擬機確`定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機; 或者, 所述基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括: 虛擬機向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本; 所述虛擬機若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ; 所述虛擬機若在第二設定時長內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則所述虛擬機確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機。
3.根據(jù)權利要求2所述的方法,其特征在于,所述協(xié)商確認指示中包含所述流量控制策略; 其中,所述虛擬機基于所述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理包括:所述虛擬機基于所述協(xié)商確認指示中包含的流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理。
4.根據(jù)權利要求2或3所述的方法,其特征在于, 所述虛擬機向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求包括:虛擬機在接收到用戶態(tài)進程發(fā)起的協(xié)商啟動請求之后,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求;或者,虛擬機在接收到來自所述Host的協(xié)商啟動請求之后,向所述Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求。
5.根據(jù)權利要求1至4任一項所述的方法,其特征在于,所述基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方包括:部署于虛擬機中的預載客戶端與部署于Host中的預載服務端之間的連接建立完成之后,所述預載客戶端基于建立的所述連接與所述預載服務端基于所述虛擬機的流量控制能力在上述虛擬機與Host之間協(xié)商流量控制策略的執(zhí)行方。
6.根據(jù)權利要求5所述的方法,其特征在于, 所述方法還包括: 在確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機之后,所述預載客戶端基于所述連接周期性的向所述預載服務端發(fā)送心跳消息。
7.根據(jù)權利要求1至6任一項所述的方法,其特征在于, 所述流量控制策略為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略。
8.一種報文流量控制方法,其特征在于,包括: 基于虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方; 若確定協(xié)商出的流量控制策略執(zhí)行方為所述Host,所述Host在接收到來自所述虛擬機的報文之后,基于所述流量控制策略對接收到的所述報文進行轉發(fā)處理。
9.根據(jù)權利要求8所述的方法,其特征在于, 基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括: Host接收虛擬機發(fā)送的攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求; 若所述Host根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略,則向所述虛擬機發(fā)送協(xié)商確認指示,所述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機; 若所述Host根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略,則向所述虛擬機發(fā)送協(xié)商否認指示,所述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述Host ; 或者, 基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括: Host接收虛擬機發(fā)送的攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本; 若所述Host根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向所述虛擬機發(fā)送協(xié)商確認指示,其中,所述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機; 若所述Host根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向所述虛擬機發(fā)送協(xié)商否認指示,其中,所述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述Host。
10.根據(jù)權利要求8或9所述的方法,其特征在于, 所述基于所述虛擬機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方,包括:在Host中的預載服務端與虛擬機中的預載客戶端之間的連接建立完成之后,所述預載服務端通過所述連接與所述預載客戶端基于所述虛擬機的流量控制能力,在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方。
11.根據(jù)權利要求8至10任一項所述的方法,其特征在于, 所述方法還包括: 在確定協(xié)商出的流量控制策略的執(zhí)行方為所述虛擬機之后,若在設定時長內未接收到來自所述虛擬機的心跳消息,則所述Host向所述虛擬機發(fā)送用于指示流量控制策略的執(zhí)行方切換為所述Host的指示消息。
12.根據(jù)權利要求8至11任一項所述的方法,其特征在于, 所述流量控制策略為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略。
13.—種虛擬機,其特征在于,包括: 第一協(xié)商單元,用于基于所述虛擬`機的流量控制能力在所述虛擬機與宿主機Host之間協(xié)商流量控制策略的執(zhí)行方; 報文處理單元,用于若確定協(xié)商出的流量控制策略的執(zhí)行方為所述虛擬機,則基于所述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理;若確定協(xié)商出的流量控制策略的執(zhí)行方為所述Host,則將待轉發(fā)處理的報文發(fā)送給所述Host,以便于所述Host基于所述流量控制策略對接收到的所述報文進行轉發(fā)處理。
14.根據(jù)權利要求13所述的虛擬機,其特征在于, 所述第一協(xié)商單元具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ; 或者, 所述第一協(xié)商單元具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host; 或者, 所述第一協(xié)商單元具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若在第一設定時長內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ; 或者, 所述第一協(xié)商單元具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若在第一設定時長之內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ; 或者, 所述第一協(xié)商單元具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;若在第二設定時長內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機; 或者, 所述第一協(xié)商單元具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;若在第二設定時長之內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機。
15.根據(jù)權利要求13至14任一項所述的虛擬機,其特征在于, 所述虛擬機還包括:發(fā)送單元,用于在確定協(xié)商出的流量控制策略的執(zhí)行方為所述虛擬機之后,周期性的向所述Host發(fā)送心跳消息。
16.根據(jù)權利要求13至15任一項所述的虛擬機,其特征在于, 所述流量控制策略為基于服務質量的流量控制策略和/或基于訪問控制列表的流量控制策略。
17.一種 宿主機,其特征在于,包括: 第二協(xié)商單元,用于基于所述虛擬機的流量控制能力在所述虛擬機與所述宿主機之間協(xié)商流量控制策略的執(zhí)行方; 報文處理單元,用于若確定協(xié)商出的流量控制策略的執(zhí)行方為所述宿主機,在接收到來自所述虛擬機的報文之后,基于所述流量控制策略對接收到的所述報文進行轉發(fā)處理。
18.根據(jù)權利要求17所述的宿主機,其特征在于, 所述第二協(xié)商單元具體用于,接收虛擬機發(fā)送的攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略,則向所述虛擬機發(fā)送協(xié)商確認指示,所述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略,則向所述虛擬機發(fā)送協(xié)商否認指示,所述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述宿主機; 或者, 所述第二協(xié)商單元具體用于,接收虛擬機發(fā)送的攜帶有所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本,若根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向所述虛擬機發(fā)送協(xié)商確認指示,其中,所述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向所述虛擬機發(fā)送協(xié)商否認指示,其中,所述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述宿主機。
19.根據(jù)權利要求17至18任一項所述的宿主機,其特征在于,所述報文處理單元還用于,在確定協(xié)商出的流量控制策略的執(zhí)行方為所述虛擬機之后,若在設定時長內未接收到來自所述虛擬機的心跳消息,則向所述虛擬機發(fā)送用于指示流量控制策略執(zhí)行方切換為所述Host的指示消息。
20.一種計算節(jié)點,其特征在于,包括,硬件層、運行在所述硬件層之上的宿主機Host、以及運行在所述Host之上的至少一個虛擬機, 所述虛擬機,用于基于所述虛擬機的流量控制能力在所述虛擬機與所述Host之間協(xié)商流量控制策略的執(zhí)行方;若確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機,則基于所述流量控制策略對待轉發(fā)處理的報文進行轉發(fā)處理;若確定協(xié)商出的流量控制策略的執(zhí)行方為所述Host,則將待轉發(fā)處理的報文發(fā)送給所述Host ; 所述Host用于若確定協(xié)商出的流量控制策略執(zhí)行方為所述Host,則在接收到來自所述虛擬機的報文之后,基于所述流量控制策略對接收到的所述報文進行轉發(fā)處理。
21.根據(jù)權利要求20所述的計算節(jié)點,其特征在于, 在基于所述虛擬機的流量控制能力在所述虛擬機與所述Host之間協(xié)商流量控制策略的執(zhí)行方的方面,所述虛擬機具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ; 或者,在基于所述虛擬機的流量控制能力在所述虛擬機與所述Host之間協(xié)商流量控制策略的執(zhí)行方的方面,所述虛擬機具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;或者,
在基于所述虛擬機的流量控制能力在所述虛擬機與所述Host之間協(xié)商流量控制策略的執(zhí)行方的方面,所述虛擬機具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若在第一設定時長內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ; 或者, 在基于所述虛擬機的流量控制能力在所述虛擬機與所述Host之間協(xié)商流量控制策略的執(zhí)行方的方面,所述虛擬機具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;若在第一設定時長之內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商確認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ; 或者, 在基于所述虛擬機的流量控制能力在所述虛擬機與所述Host之間協(xié)商流量控制策略的執(zhí)行方的方面,所述虛擬機具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;若在第二設定時長內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機; 或者, 在基于所述虛擬機的流量控制能力在所述虛擬機與所述Host之間協(xié)商流量控制策略的執(zhí)行方的方面,所述虛擬機具體用于,向Host發(fā)送攜帶所述虛擬機的流量控制能力的描述信息的執(zhí)行方協(xié)商請求,其中,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本,若接收到所述Host在根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略之后發(fā)送的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述Host ;若在第二設定時長之內未接收到所述Host發(fā)送的用于響應所述執(zhí)行方協(xié)商請求的協(xié)商否認指示,則確定協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機。
22.根據(jù)權利要求20或21所述的計算節(jié)點,其特征在于, 所述Host還用于,在確定協(xié)商出的流量控制策略的執(zhí)行方為所述虛擬機之后,若在設定時長內未接收到來自所述虛擬機的心跳消息,則向所述虛擬機發(fā)送用于指示流量控制策略執(zhí)行方切換為所述Host的指示消息。
23.一種報文流量控制方法,其特征在于,包括: 基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方; 若協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機,則基于所述流量控制策略對所述虛擬機待轉發(fā)處理的報文進行轉發(fā)處理; 若協(xié)商出的流量控制策略的執(zhí)行方為所述Host,則將所述虛擬機待轉發(fā)處理的報文發(fā)送給所述Host ;基于所述流量控制策略對所述Host接收到的待轉發(fā)處理的所述報文進行轉發(fā)處理。
24.根據(jù)權利要求23所述的方法,其特征在于, 所述基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方包括: 向Host發(fā)送所述虛擬機待向所述Host發(fā)送的執(zhí)行方協(xié)商請求,所述執(zhí)行方協(xié)商請求攜帶所述虛擬機的 流量控制能力的描述信息; 在所述Host接收到所述執(zhí)行方協(xié)商請求之后,若根據(jù)所述流量控制能力的描述信息確定所述虛擬機支持執(zhí)行流量控制策略,則向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的協(xié)商確認指示,其中,所述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;和/或,若根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行流量控制策略,則向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的協(xié)商否認指示,所述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述Host ; 或者, 所述基于虛擬機的流量控制能力,在宿主機Host和所述虛擬機之間協(xié)商出流量控制策略的執(zhí)行方包括: 向Host發(fā)送所述虛擬機待向所述Host發(fā)送的執(zhí)行方協(xié)商請求,所述執(zhí)行方協(xié)商請求攜帶所述虛擬機的流量控制能力的描述信息,所述流量控制能力的描述信息用于描述出所述虛擬機支持執(zhí)行的流量控制策略的版本; 在所述Host接收到所述執(zhí)行方協(xié)商請求之后,若根據(jù)所述流量控制能力的描述信息,確定所述虛擬機支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的協(xié)商確認指示,所述協(xié)商確認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述虛擬機;和/或若根據(jù)所述流量控制能力的描述信息確定所述虛擬機不支持執(zhí)行當前最新版本或者預設版本的流量控制策略,則向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的協(xié)商否認指示,其中,所述協(xié)商否認指示用于表示協(xié)商出的流量控制策略執(zhí)行方為所述Host。
25.根據(jù)權利要求24所述的方法,其特征在于,所述協(xié)商確認指示中包含所述流量控制策略; 其中,所述基于所述流量控制策略對所述虛擬機待轉發(fā)處理的報文進行轉發(fā)處理包括:基于所述協(xié)商確認指示中包含的所述流量控制策略對所述虛擬機待轉發(fā)處理的報文進行轉發(fā)處理。
26.根據(jù)權利要求23至25任意一項所述方法,其特征在于, 所述方法還包括: 在協(xié)商出的流量控制策略的執(zhí)行方為所述虛擬機之后,若所述Host在設定時長內未接收到來自所述虛擬機的心跳消息,向所述虛擬機發(fā)送所述Host待向所述虛擬機發(fā)送的,用于指示流量控制策略的執(zhí)行方切換為所`述Host的指示消息。
【文檔編號】H04L29/08GK103763403SQ201310746701
【公開日】2014年4月30日 申請日期:2013年12月30日 優(yōu)先權日:2013年12月30日
【發(fā)明者】王福海, 何冠森 申請人:華為技術有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1