報文限速方法和裝置制造方法
【專利摘要】本發(fā)明提出一種報文限速方法,應用于軟件定義網(wǎng)絡(luò)SDN設(shè)備上,所述方法包括:保存SDN控制器下發(fā)的、與流表關(guān)聯(lián)的限速表項,其中,所述限速表項中配置了多個限速帶寬;接收報文,統(tǒng)計預設(shè)時間內(nèi)接收到的報文的流量;根據(jù)統(tǒng)計出的報文的流量,從所述多個限速帶寬中選擇適配限速帶寬;根據(jù)預設(shè)算法基于所述適配限速帶寬對所述報文進行限速。通過本發(fā)明,可以根據(jù)實際的報文流量來選擇適配的限速帶寬對報文進行更精準的限速,使得SDN設(shè)備在對報文進行限速處理時,可以適應更復雜的限速配置。
【專利說明】報文限速方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種報文限速方法和裝置。
【背景技術(shù)】
[0002]SDN(Software Defined Network,軟件定義網(wǎng)絡(luò))網(wǎng)絡(luò),通過將網(wǎng)絡(luò)進行虛擬化,將整網(wǎng)的資源分割成多個虛擬網(wǎng),分配給不同的用戶使用,且互不影響。
[0003]請參見圖1,在SDN網(wǎng)絡(luò)中,每個被虛擬化出來的網(wǎng)絡(luò)由SDN設(shè)備、SDN控制器以及安全通道(Secure Channel)組成。
[0004]所述SDN設(shè)備,用于接收由SDN控制器下發(fā)的流表(Flow Table),根據(jù)流表進行報文轉(zhuǎn)發(fā),并向SDN控制器上報設(shè)備的狀態(tài)和事件,例如本地SDN接口的UP/D0WN事件。
[0005]所述SDN控制器,是虛擬網(wǎng)的控制中心,根據(jù)用戶的配置或者動態(tài)運行的協(xié)議(例如OpenFlow協(xié)議)生成流表發(fā)送到SDN設(shè)備,用以指導SDN設(shè)備的報文轉(zhuǎn)發(fā)。
[0006]所述安全通道,用于保護SDN控制器和SDN設(shè)備之間傳遞信息的安全性,SDN控制器和SDN網(wǎng)絡(luò)中每一臺SDN設(shè)備均存在獨立的安全通道,SDN控制器可以通過所述安全通道向SDN設(shè)備下發(fā)流表,SDN交換機可以通過安全通道向SDN控制器上報設(shè)備的狀態(tài)和事件。
[0007]在現(xiàn)有實現(xiàn)中,SDN網(wǎng)絡(luò)中SDN設(shè)備對轉(zhuǎn)發(fā)的報文進行限速處理,通常是SDN控制器在為SDN設(shè)備下發(fā)流表時,關(guān)聯(lián)下發(fā)對應的限速表項,SDN設(shè)備根據(jù)限速表項對轉(zhuǎn)發(fā)的報文進行限速處理。
[0008]然而,在目前的實現(xiàn)方案中,SDN設(shè)備在對轉(zhuǎn)發(fā)的報文進行限速時,只能根據(jù)固定的限速帶寬對轉(zhuǎn)發(fā)的報文進行限速處理,因此限速不夠精準。。
【發(fā)明內(nèi)容】
[0009]有鑒于此,本發(fā)明提出一種報文限速方法,應用于SDN設(shè)備上,所述方法包括:
[0010]保存SDN控制器下發(fā)的、與流表關(guān)聯(lián)的限速表項,其中,所述限速表項中配置了多個限速帶寬;
[0011]接收報文,統(tǒng)計預設(shè)時間內(nèi)接收到的報文的流量;
[0012]根據(jù)統(tǒng)計出的報文的流量,從所述多個限速帶寬中選擇適配限速帶寬;
[0013]根據(jù)預設(shè)算法基于所述適配限速帶寬對所述報文進行限速。
[0014]可選的,所述接收報文,統(tǒng)計預設(shè)時間內(nèi)接收到的報文的流量包括:
[0015]創(chuàng)建報文緩存池,其中所述報文緩存池的緩存帶寬為所述多個限速帶寬中的最大限速帶寬;
[0016]將接收到的報文在所述報文緩存池中進行緩存;
[0017]統(tǒng)計所述報文緩存池中預設(shè)時間內(nèi)緩存的報文的流量。
[0018]可選的,所述根據(jù)統(tǒng)計出的報文的流量,從所述多個限速帶寬中選擇適配限速帶寬包括:
[0019]根據(jù)統(tǒng)計出的報文的流量,確定該報文的處理帶寬;
[0020]判斷所述處理帶寬是否大于或等于所述多個限速帶寬中的最大限速帶寬;
[0021]如果是,選擇所述最大限速帶寬作為所述適配限速帶寬;
[0022]如果否,選擇所述多個限速帶寬中所有帶寬值低于所述處理帶寬的限速帶寬中帶寬值最大者作為所述適配限速帶寬。
[0023]可選的,所述方法還包括:
[0024]當所述報文的流量發(fā)生變化而導致所述適配限速帶寬發(fā)生變化時,根據(jù)預設(shè)算法基于發(fā)生變化后的適配限速帶寬對所述報文進行限速。
[0025]可選的,所述預設(shè)算法為令牌桶算法。
[0026]本發(fā)明還提出一種報文流量限速裝置,應用于軟件定義網(wǎng)絡(luò)SDN設(shè)備上,所述裝置包括:
[0027]保存模塊,用于保存SDN控制器下發(fā)的、與流表關(guān)聯(lián)的限速表項,其中,所述限速表項中配置了多個限速帶寬;
[0028]統(tǒng)計模塊,用于接收報文,統(tǒng)計預設(shè)時間內(nèi)接收到的報文的流量;
[0029]選擇模塊,用于根據(jù)統(tǒng)計出的報文的流量,從所述多個限速帶寬中選擇適配限速帶寬;
[0030]限速模塊,用于根據(jù)預設(shè)算法基于所述適配限速帶寬對所述報文進行限速。
[0031]可選的,所述統(tǒng)計模塊具體用于:
[0032]創(chuàng)建報文緩存池,其中所述報文緩存池的緩存帶寬為所述多個限速帶寬中的最大限速帶寬;
[0033]將接收到的報文在所述報文緩存池中進行緩存;
[0034]統(tǒng)計所述報文緩存池中預設(shè)時間內(nèi)緩存的報文的流量。
[0035]可選的,所述選擇模塊具體用于:
[0036]根據(jù)統(tǒng)計出的報文的流量,確定該報文的處理帶寬;
[0037]判斷所述處理帶寬是否大于或等于所述多個限速帶寬中的最大限速帶寬;
[0038]如果是,選擇所述最大限速帶寬作為所述適配限速帶寬;
[0039]如果否,選擇所述多個限速帶寬中所有帶寬值低于所述處理帶寬的限速帶寬中帶寬值最大者作為所述適配限速帶寬。
[0040]可選的,所述限速模塊進一步用于:
[0041]當所述報文的流量發(fā)生變化而導致所述適配限速帶寬發(fā)生變化時,根據(jù)預設(shè)算法基于發(fā)生變化后的適配限速帶寬對所述報文進行限速。
[0042]可選的,所述預設(shè)算法為令牌桶算法。
[0043]本發(fā)明不再通過固定的限速值對報文進行限速,而是通過統(tǒng)計預設(shè)時間內(nèi)接收到的報文的流量,根據(jù)統(tǒng)計出的報文的流量,從SDN控制器下發(fā)的限速表項中的多個限速帶寬中選擇適配限速帶寬,并根據(jù)預設(shè)算法基于選擇出的適配限速帶寬對報文進行限速,從而實現(xiàn)了可以根據(jù)實際的報文流量來選擇適配的限速帶寬對報文進行更精準的限速。
【專利附圖】
【附圖說明】
[0044]圖1是本發(fā)明一種示例性實施方式中示出的現(xiàn)有技術(shù)SDN的組網(wǎng)圖;
[0045]圖2是本發(fā)明一種示例性實施方式中示出的限速表的基本結(jié)構(gòu)圖;
[0046]圖3是本發(fā)明一種示例性實施方式中示出的一種報文限速方法的處理流程圖;
[0047]圖4是本發(fā)明一種示例性實施方式中示出的SDN設(shè)備對報文進行限速的處理示意圖;
[0048]圖5是本發(fā)明一種示例性實施方式示出的一種報文限速裝置的框圖;
[0049]圖6是本發(fā)明一種示例性實施方式示出的一種承載所述一種報文限速裝置的SDN設(shè)備的硬件結(jié)構(gòu)圖。
【具體實施方式】
[0050]在SDN網(wǎng)絡(luò)中,SDN設(shè)備對轉(zhuǎn)發(fā)的報文進行限速,通常是由SDN控制器(以下簡稱控制器)在為SDN設(shè)備下發(fā)流表時,關(guān)聯(lián)下發(fā)對應的限速表項,SDN設(shè)備根據(jù)限速表項對轉(zhuǎn)發(fā)的報文進行限速處理。
[0051]目前,SDN網(wǎng)絡(luò)的一些應用協(xié)議中,控制器在為SDN設(shè)備下發(fā)流表時,所關(guān)聯(lián)下發(fā)的限速表項已可以設(shè)置多個限速帶寬;例如,以目前SDN網(wǎng)絡(luò)中應用最廣泛的為Openflow協(xié)議為例,openflow-spec-vl.3.1版已支持一個限速表項配置多個限速帶寬;請參見圖2,圖2為openflow-spec-vl.3.1版規(guī)定的限速表的基本結(jié)構(gòu),由圖2可見,一個限速表中可以配置一個或者多個限速表項,每一個限速表項可以配置一個或者多個的限速帶寬。
[0052]然而,在目前的實現(xiàn)方案中,SDN設(shè)備在對轉(zhuǎn)發(fā)的報文進行限速時,只能根據(jù)固定的限速帶寬對轉(zhuǎn)發(fā)的報文進行限速處理,對報文的限速不夠精準。
[0053]有鑒于此,本發(fā)明提出一種報文限速方法,不再通過固定的限度帶寬對報文進行限速,而是通過統(tǒng)計預設(shè)時間內(nèi)接收到的報文的流量,根據(jù)統(tǒng)計出的報文的流量,從SDN控制器下發(fā)的限速表項中的多個限速帶寬中選擇適配限速帶寬,并根據(jù)預設(shè)算法基于選擇出的適配限速帶寬對報文進行限速,實現(xiàn)了可以根據(jù)實際的報文流量來選擇適配的限速帶寬對報文進行更精準的限速。
[0054]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明所述方案作進一步地詳細說明。
[0055]請參見圖3,本發(fā)明提出一種報文限速方法,應用于SDN設(shè)備中,執(zhí)行如下步驟:
[0056]步驟301、保存SDN控制器下發(fā)的、與流表關(guān)聯(lián)的限速表項,其中,所述限速表項中配置了多個限速帶寬;
[0057]步驟302、接收報文,統(tǒng)計預設(shè)時間內(nèi)接收到的報文的流量;
[0058]步驟303、根據(jù)統(tǒng)計出的報文的流量,從所述多個限速帶寬中選擇適配限速帶寬;
[0059]步驟304、根據(jù)預設(shè)算法基于所述適配限速帶寬對所述報文進行限速。
[0060]在本實施例中,控制器在為SDN設(shè)備下發(fā)流表時,仍然可以關(guān)聯(lián)下發(fā)已配置了多個限速帶寬的限速表項;SDN設(shè)備在收到由控制器下發(fā)的限速表項時,在本地保存所述限速表項,然后可以統(tǒng)計接收到的報文的流量,并根據(jù)統(tǒng)計出的流量從所述限速表項配置的多個限速帶寬中選擇適配限速帶寬,并調(diào)用預設(shè)算法基于所述適配限速帶寬對報文進行限速處理。
[0061]具體的,SDN設(shè)備在統(tǒng)計預設(shè)時間內(nèi)收到報文的流量時,可以通過將接收到的報文在預先創(chuàng)建的報文緩存池中進行緩存,并統(tǒng)計預設(shè)時間內(nèi)緩存的報文的流量來實現(xiàn)。其中,在創(chuàng)建報文緩存池時,可以將所述報文緩存池的緩存帶寬指定為由控制器下發(fā)的限速表項中設(shè)置的多個限速帶寬中的最大限速帶寬;例如,假設(shè)控制器下發(fā)的限速表項中設(shè)置了 100M、50M和20M三個限速帶寬,那么在創(chuàng)建報文緩存池時,可以將報文緩存池的緩存帶寬設(shè)置為100M。其中,緩存池的緩存帶寬是指緩存池單位時間內(nèi)所能緩存的最大報文流量。
[0062]請參見圖4,當報文緩存池設(shè)置完成后,可以將收到的報文按照接收順序在報文緩存池中進行緩存,并統(tǒng)計報文緩存池中預設(shè)時間內(nèi)緩存的報文的流量。其中,統(tǒng)計報文緩存池中預設(shè)時間內(nèi)緩存的報文的流量,可以通過流量計數(shù)器統(tǒng)計收到的報文的個數(shù),并在每收到一個報文時就記錄收到的報文的大小,然后根據(jù)預設(shè)時間周期內(nèi)緩存報文的總數(shù),計算出預設(shè)時間內(nèi)緩存報文的總大小來實現(xiàn)。例如,假設(shè)所述預設(shè)時間周期為I秒,在統(tǒng)計收到的報文的流量時,可以將報文緩存池中I秒內(nèi)緩存的報文的總大小作為收到的報文的流量值。
[0063]值得說明的是,當報文緩存池充滿報文后,后續(xù)的報文將無法進入報文緩存池進行緩存,對于這部分報文可以直接進行丟棄或者降低優(yōu)先級進行延遲發(fā)送。可見,將緩存報文池的緩存帶寬設(shè)置為所述多個限速帶寬中的最大限速帶寬,可以對收到的報文進行一次初步的限速處理,將收到的報文的速率限制在所述最大限速帶寬以內(nèi)。
[0064]當統(tǒng)計出收到的報文的流量后,可以根據(jù)統(tǒng)計出的流量來確認出收到的報文的處理帶寬,同時將所述處理帶寬與所述多個限速帶寬中的最大限速帶寬進行比較,并根據(jù)比較結(jié)果來選擇合適的適配限速帶寬。
[0065]具體的,如果所述處理帶寬大于或者等于所述最大限速帶寬,此時可以直接選擇所述最大限速帶寬作為適配限速帶寬;例如,假設(shè)所述限速表項中設(shè)置了 100M、80M、60M、40M四個限速帶寬,此時可以選擇這四個限速帶寬中最大的100M作為所述適配限速帶寬;
[0066]如果所述處理帶寬小于所述最大限速帶寬,此時可以選擇所述限速表項中設(shè)置的多個限速帶寬中所有限速帶寬值低于所述處理帶寬的限速帶寬中,限速帶寬值的最大者作為所述適配限速帶寬。例如,假設(shè)所述限速表項中設(shè)置了 100M、80M、60M、40M四個限速帶寬,所述處理帶寬為90M,那么在確認適配限速帶寬時,可以選擇低于90M的限速帶寬中的最大者80M作為所述適配限速帶寬。
[0067]請繼續(xù)參見圖4,當選擇出適配限速帶寬后,可以根據(jù)預設(shè)算法基于選擇出的適配限速帶寬對報文進行限速處理。
[0068]在本實施例中,在根據(jù)預設(shè)算法基于所述適配限速帶寬對報文進行限速時,所述預設(shè)算法可以是令牌桶算法。根據(jù)令牌桶算法,在對報文進行限速時,可以預先投放一定數(shù)量的限速令牌,其中每一個限速令牌的大小為I個字節(jié),所述限速令牌的數(shù)量取決于所述適配限速帶寬,例如,如果選擇出的適配限速帶寬為100M,那么可以將所述適配限速帶寬值換算為字節(jié)數(shù)來確定限速令牌的數(shù)量。當對報文進行轉(zhuǎn)發(fā)時,可以從所述報文緩存池中提取報文,然后根據(jù)要轉(zhuǎn)發(fā)的報文的大小從預先投放的限速令牌中取走相同數(shù)量的限速令牌,例如,假設(shè)要轉(zhuǎn)發(fā)的報文大小為8個字節(jié),那么可以從預先投放的限速令牌中取走8個限速令牌;在預設(shè)的時間周期內(nèi),當預先投放的限速令牌全部被取走后,后續(xù)的報文將無法進行轉(zhuǎn)發(fā),對于這些報文可以直接丟棄或者降低優(yōu)先級在下一個預設(shè)時間周期內(nèi)令牌被重新投放后進行延遲轉(zhuǎn)發(fā)。
[0069]在本實施例中,當SDN設(shè)備收到的報文的流量發(fā)生變化,在實現(xiàn)時仍然可以按照以上方案,通過統(tǒng)計接收到的報文的流量,根據(jù)統(tǒng)計出的流量來選擇合適的適配限速帶寬。其中,如果由于報文的流量發(fā)生變化,最終選擇出的適配限速帶寬也發(fā)生變化時,在根據(jù)預設(shè)算法對轉(zhuǎn)發(fā)的報文進行限速時,需要實時的對適配限速帶寬進行更新,基于發(fā)生變化后的適配限速帶寬進行限速。例如,以所述預設(shè)算法為令牌桶算法為例,如果所述適配限速帶寬發(fā)生變化,算法可以實時的對投放的令牌數(shù)進行更新,以保證對報文限速的精準性。
[0070]通過以上實施例的描述可知,本發(fā)明提出一種報文限速方法,在實現(xiàn)時不再通過固定的限度帶寬對報文進行限速,而是通過統(tǒng)計預設(shè)時間內(nèi)接收到的報文的流量,根據(jù)統(tǒng)計出的報文的流量,從SDN控制器下發(fā)的限速表項中的多個限速帶寬中選擇適配限速帶寬,并根據(jù)預設(shè)算法基于選擇出的適配限速帶寬對報文進行限速,從而可以根據(jù)實際的報文流量來選擇適配的限速帶寬對報文進行更精準的限速,因此使得SDN設(shè)備在對報文進行限速處理時,可以適應更復雜的限速配置。
[0071]同時,如果報文流量發(fā)生變化而導致選擇出的適配限速帶寬發(fā)生變化,本發(fā)明還可以實時的對適配限速帶寬進行更新,并根據(jù)預設(shè)算法基于發(fā)生變化后的適配限速帶寬對報文進行限速處理,從而保證了對報文進行限速的精準性,而且由于本發(fā)明可以根據(jù)報文流量的變化對適配限速帶寬進行實時更新,使得SDN設(shè)備在對報文進行限速處理時,可以適應更復雜的限速配置。
[0072]以下通過具體的應用實例來詳細闡述本發(fā)明。
[0073]假設(shè)控制器向SDN設(shè)備下發(fā)流表項F,流表F下關(guān)聯(lián)限速表項Meterl ;其中Meterl中配置了 Bandl (100M),Band2 (50M), Band3 (20M),Band4(1M)四個限速帶寬,報文緩存池的緩存帶寬為100M,限速算法為令牌桶算法。
[0074]實例一
[0075]假設(shè)預設(shè)時間周期為I秒,報文緩存池統(tǒng)計出的報文流量為110M。由于110M>100M,因此可以選擇限速表項Meterl中配置的四個限速帶寬中的最大限速帶寬100M作為適配限速帶寬。
[0076]此時適配限速帶寬為100M,系統(tǒng)調(diào)用令牌桶算法投放100M的限速令牌對報文進行限速處理,限速后出方向的報文限制為lOOM/s。
[0077]實例二
[0078]假設(shè)預設(shè)時間周期為I秒,報文緩存池統(tǒng)計出的報文流量為30M,由于30M〈100M,并且限速表項Meterl中配置的四個限速帶寬中小于30M的限速帶寬中的最大值為20M,因此可以選擇限速表項Meterl中配置的四個限速帶寬中20M的限速帶寬作為適配限速帶寬。
[0079]此時適配限速帶寬為20M,系統(tǒng)調(diào)用令牌桶算法投放20M的限速令牌對報文進行限速處理,限速后出方向的報文限制為20M/s。
[0080]假設(shè)從第二秒開始,流量由20M突變?yōu)?0M,此時90M〈100M,并且限速表項Meterl中配置的四個限速帶寬中小于90M的限速帶寬中的最大值為50M,因此可以選擇限速表項Meterl中配置的四個限速帶寬中50M的限速帶寬作為適配限速帶寬。
[0081]此時適配限速帶寬由20M更新為50M,系統(tǒng)調(diào)用令牌桶算法,對投放的令牌數(shù)進行更新,然后根據(jù)更新后的令牌數(shù)對報文進行限速處理,限速后出方向的報文速率限制為20M/s。
[0082]實例三
[0083]假設(shè)預設(shè)時間周期為I秒,報文緩存池統(tǒng)計出的報文流量為5M,由于5M〈100M,而且5M〈10M,此時報文的處理帶寬小于限速表項中的所有限速帶寬值,此時可以不對報文進行限速處理,因此系統(tǒng)可以不調(diào)用令牌桶算法對報文進行限速,走正常轉(zhuǎn)發(fā)報文的流程。
[0084]與上述各方法實施例對應,本發(fā)明還提供裝置項實施例。
[0085]請參見圖5,本發(fā)明還提出一種報文限速裝置50,應用于SDN設(shè)置中;其中,請參見圖6,作為承載所述報文限速裝置50的SDN設(shè)備涉及的硬件架構(gòu)中,通常包括CPU、內(nèi)存、非易失性存儲器、網(wǎng)絡(luò)接口以及內(nèi)部總線等。以軟件實現(xiàn)為例,本發(fā)明裝置50通??梢岳斫鉃榧虞d在內(nèi)存中的計算機程序,通過CPU運行之后形成的軟硬件相結(jié)合的邏輯裝置;所述裝置50包括:
[0086]保存模塊501,用于保存SDN控制器下發(fā)的、與流表關(guān)聯(lián)的限速表項,其中,所述限速表項中配置了多個限速帶寬;
[0087]統(tǒng)計模塊502,用于接收報文,統(tǒng)計預設(shè)時間內(nèi)接收到的報文的流量;
[0088]選擇模塊503,用于根據(jù)統(tǒng)計出的報文的流量,從所述多個限速帶寬中選擇適配限速帶寬;
[0089]限速模塊504,用于根據(jù)預設(shè)算法基于所述適配限速帶寬對所述報文進行限速。
[0090]在本實施例中,所述統(tǒng)計模塊502具體用于:
[0091]創(chuàng)建報文緩存池,其中所述報文緩存池的緩存帶寬為所述多個限速帶寬中的最大限速帶寬;
[0092]將接收到的報文在所述報文緩存池中進行緩存;
[0093]統(tǒng)計所述報文緩存池中預設(shè)時間內(nèi)緩存的報文的流量。
[0094]在本實施例中,所述選擇模塊503具體用于:
[0095]根據(jù)統(tǒng)計出的報文的流量,確定該報文的處理帶寬;
[0096]判斷所述處理帶寬是否大于或等于所述多個限速帶寬中的最大限速帶寬;
[0097]如果是,選擇所述最大限速帶寬作為所述適配限速帶寬;
[0098]如果否,選擇所述多個限速帶寬中所有帶寬值低于所述處理帶寬的限速帶寬中帶寬值最大者作為所述適配限速帶寬。
[0099]在本實施例中,所述限速模塊504進一步用于:
[0100]當所述報文的流量發(fā)生變化而導致所述適配限速帶寬發(fā)生變化時,根據(jù)預設(shè)算法基于發(fā)生變化后的適配限速帶寬對所述報文進行限速。
[0101]在本實施例中,所述預設(shè)算法可以為令牌桶算法。
[0102]本領(lǐng)域技術(shù)人員可以理解實施例中的裝置中的模塊可以按照實施例描述分布于實施例的裝置中,也可以進行相應變化位于不同于本實施例的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可進一步拆分成多個子模塊。上述發(fā)明實施例編號僅僅為了描述,不代表實施例的優(yōu)劣。
[0103]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內(nèi)。
【權(quán)利要求】
1.一種報文流量限速方法,應用于軟件定義網(wǎng)絡(luò)SDN設(shè)備上,其特征在于,所述方法包括: 保存SDN控制器下發(fā)的、與流表關(guān)聯(lián)的限速表項,其中,所述限速表項中配置了多個限速帶寬; 接收報文,統(tǒng)計預設(shè)時間內(nèi)接收到的報文的流量; 根據(jù)統(tǒng)計出的報文的流量,從所述多個限速帶寬中選擇適配限速帶寬; 根據(jù)預設(shè)算法基于所述適配限速帶寬對所述報文進行限速。
2.如權(quán)利要求1所述的方法,其特征在于,所述接收報文,統(tǒng)計預設(shè)時間內(nèi)接收到的報文的流量包括: 創(chuàng)建報文緩存池,其中所述報文緩存池的緩存帶寬為所述多個限速帶寬中的最大限速帶寬; 將接收到的報文在所述報文緩存池中進行緩存; 統(tǒng)計所述報文緩存池中預設(shè)時間內(nèi)緩存的報文的流量。
3.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)統(tǒng)計出的報文的流量,從所述多個限速帶寬中選擇適配限速帶寬包括: 根據(jù)統(tǒng)計出的報文的流量,確定該報文的處理帶寬; 判斷所述處理帶寬是否大于或等于所述多個限速帶寬中的最大限速帶寬; 如果是,選擇所述最大限速帶寬作為所述適配限速帶寬; 如果否,選擇所述多個限速帶寬中所有帶寬值低于所述處理帶寬的限速帶寬中帶寬值最大者作為所述適配限速帶寬。
4.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 當所述報文的流量發(fā)生變化而導致所述適配限速帶寬發(fā)生變化時,根據(jù)預設(shè)算法基于發(fā)生變化后的適配限速帶寬對所述報文進行限速。
5.如權(quán)利要求1所述的方法,其特征在于,所述預設(shè)算法為令牌桶算法。
6.一種報文流量限速裝置,應用于軟件定義網(wǎng)絡(luò)SDN設(shè)備上,其特征在于,所述裝置包括: 保存模塊,用于保存SDN控制器下發(fā)的、與流表關(guān)聯(lián)的限速表項,其中,所述限速表項中配置了多個限速帶寬; 統(tǒng)計模塊,用于接收報文,統(tǒng)計預設(shè)時間內(nèi)接收到的報文的流量; 選擇模塊,用于根據(jù)統(tǒng)計出的報文的流量,從所述多個限速帶寬中選擇適配限速帶寬; 限速模塊,用于根據(jù)預設(shè)算法基于所述適配限速帶寬對所述報文進行限速。
7.如權(quán)利要求6所述的裝置,其特征在于,所述統(tǒng)計模塊具體用于: 創(chuàng)建報文緩存池,其中所述報文緩存池的緩存帶寬為所述多個限速帶寬中的最大限速帶寬; 將接收到的報文在所述報文緩存池中進行緩存; 統(tǒng)計所述報文緩存池中預設(shè)時間內(nèi)緩存的報文的流量。
8.如權(quán)利要求6所述的裝置,其特征在于,所述選擇模塊具體用于: 根據(jù)統(tǒng)計出的報文的流量,確定該報文的處理帶寬; 判斷所述處理帶寬是否大于或等于所述多個限速帶寬中的最大限速帶寬; 如果是,選擇所述最大限速帶寬作為所述適配限速帶寬; 如果否,選擇所述多個限速帶寬中所有帶寬值低于所述處理帶寬的限速帶寬中帶寬值最大者作為所述適配限速帶寬。
9.如權(quán)利要求6所述的裝置,其特征在于,所述限速模塊進一步用于: 當所述報文的流量發(fā)生變化而導致所述適配限速帶寬發(fā)生變化時,根據(jù)預設(shè)算法基于發(fā)生變化后的適配限速帶寬對所述報文進行限速。
10.如權(quán)利要求6所述的裝置,其特征在于,所述預設(shè)算法為令牌桶算法。
【文檔編號】H04L12/917GK104301248SQ201410604433
【公開日】2015年1月21日 申請日期:2014年10月31日 優(yōu)先權(quán)日:2014年10月31日
【發(fā)明者】張慶軍 申請人:杭州華三通信技術(shù)有限公司