軟件定義網(wǎng)絡(luò)中的流量管理系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及流量管理領(lǐng)域,特別是涉及一種軟件定義網(wǎng)絡(luò)中的流量管理系統(tǒng)及方法。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)用戶和業(yè)務(wù)流量不斷增加,網(wǎng)絡(luò)資源相對不足造成數(shù)據(jù)交互速率下降,網(wǎng)絡(luò)擁塞問題日益凸現(xiàn)。網(wǎng)絡(luò)流量管理是基于網(wǎng)絡(luò)的實時流量和流量管理策略,對數(shù)據(jù)流識別分類,實現(xiàn)流量控制、優(yōu)化和保障關(guān)鍵應(yīng)用的主要技術(shù),可以保障網(wǎng)絡(luò)運行效率和QoS (Quality of Service,服務(wù)質(zhì)量)。
[0003]軟件定義網(wǎng)絡(luò)(Software Defined Network, SDN)是把傳統(tǒng)網(wǎng)絡(luò)設(shè)備緊密f禹合的網(wǎng)絡(luò)架構(gòu)分拆為應(yīng)用、控制、數(shù)據(jù)轉(zhuǎn)發(fā)3層分離的體系架構(gòu),其核心技術(shù)Openf low通過實現(xiàn)網(wǎng)絡(luò)設(shè)備的控制權(quán)和轉(zhuǎn)發(fā)權(quán)的相互獨立,從而靈活、方便的控制數(shù)據(jù)包的轉(zhuǎn)發(fā),SDN提供了一種可編程的網(wǎng)絡(luò)管理模式。在軟件定義網(wǎng)絡(luò)中,控制器通過南向接口(openflow協(xié)議)獲取底層網(wǎng)絡(luò)設(shè)備信息,進行統(tǒng)一部署、集中管理以及靈活控制,從而解決了分散網(wǎng)絡(luò)設(shè)備的管理控制問題。同時,控制器提供了可編程擴展的北向接口,按不同需求設(shè)計的功能應(yīng)用軟件可以直接運行在控制器上,利用控制器對全局網(wǎng)絡(luò)設(shè)備進行統(tǒng)一更新和功能升級。
[0004]軟件定義網(wǎng)絡(luò)是一個新興的網(wǎng)絡(luò)架構(gòu)體系,其網(wǎng)絡(luò)設(shè)備由控制器統(tǒng)一管理,而原有的網(wǎng)絡(luò)流量管理多為分布式管理,并且都需要增加額外的硬件設(shè)備或軟件agent系統(tǒng),使得原有的方法難以應(yīng)用到SDN網(wǎng)絡(luò)架構(gòu)中,形成完整有效的流量管理系統(tǒng),保障網(wǎng)絡(luò)運行效率。因此,如何實現(xiàn)對SDN網(wǎng)絡(luò)的流量管理已經(jīng)成為本領(lǐng)域技術(shù)人員需要解決的技術(shù)課題。
【發(fā)明內(nèi)容】
[0005]鑒于以上所述現(xiàn)有技術(shù)的缺點,本發(fā)明的目的在于提供一種軟件定義網(wǎng)絡(luò)中的流量管理系統(tǒng)及方法,以解決傳統(tǒng)流量管理技術(shù)無法適用SDN網(wǎng)絡(luò)的問題,有效地提高網(wǎng)絡(luò)運行效率。
[0006]為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種軟件定義網(wǎng)絡(luò)中的流量管理系統(tǒng),其至少包括:
[0007]設(shè)置在Openflow交換機中的匹配模塊,用于基于openflow流表來對接收到的數(shù)據(jù)包進行匹配;
[0008]設(shè)置在Openflow交換機中的數(shù)據(jù)包轉(zhuǎn)發(fā)模塊,用于基于匹配結(jié)果來轉(zhuǎn)發(fā)數(shù)據(jù)包;
[0009]設(shè)置在Openflow交換機中的流量測量模塊,用于基于匹配結(jié)果來對數(shù)據(jù)包的相關(guān)信息進行統(tǒng)計;
[0010]設(shè)置在控制器中的流量分析模塊,用于基于所述流量測量模塊所統(tǒng)計的數(shù)據(jù)包的相關(guān)信息來計算流量相關(guān)信息;
[0011]流量管理模塊,用于基于所述流量分析模塊所計算出的流量相關(guān)信息、網(wǎng)絡(luò)拓撲信息及流量管理策略來生成流量管理規(guī)則;
[0012]設(shè)置在所述控制器的流表更新模塊,用于基于所述流量管理規(guī)則來生成openflow流表更新信息,并將所述流表更新信息提供給所述匹配模塊;
[0013]設(shè)置在控制器中的封裝模塊,用于將所述流量分析模塊及流表更新模塊封裝成具有北向接口的模塊,以便與所述流量管理模塊通信。
[0014]優(yōu)選地,所述流量相關(guān)信息包括:交換機端口流的流量速率及丟包率、mac流的流量速率及丟包率、IP流的流量速率及丟包率、tcp/udp流的流量速率及丟包率等。
[0015]優(yōu)選地,所述北向接口包括具有REST API接口形式的北向接口。
[0016]本發(fā)明還提供一種軟件定義網(wǎng)絡(luò)中的流量管理方法,其至少包括:
[0017]匹配模塊基于openflow流表來對接收到的數(shù)據(jù)包進行匹配,若匹配成功,則數(shù)據(jù)包轉(zhuǎn)發(fā)模塊將數(shù)據(jù)包予以轉(zhuǎn)發(fā),同時流量測量模塊更新數(shù)據(jù)包的相關(guān)信息;
[0018]流量分析模塊獲取所述流量測量模塊所統(tǒng)計的數(shù)據(jù)包的相關(guān)信息,并進行分析后,將獲得的流量相關(guān)信息通過北向接口傳送給流量管理模塊;
[0019]流量管理模塊根據(jù)流量管理策略和接收到的流量相關(guān)信息,判斷是否需要對于當前網(wǎng)絡(luò)采取管理動作,如果需要,則形成相應(yīng)的流量管理規(guī)則并通過北向接口返回給流表更新1吳塊;
[0020]流表更新模塊根據(jù)流量管理規(guī)則生成openflow流表更新信息,并基于Openflow協(xié)議將所述openflow流表更新信息下發(fā)給所述匹配模塊;
[0021]所述匹配模塊基于所述openflow流表更新信息來更新openflow流表。
[0022]優(yōu)選地,若匹配不成功,則將數(shù)據(jù)包交由控制器進行處理。
[0023]優(yōu)選地,所述管理動作包括丟包、限制速率、及分配空閑資源等。
[0024]如上所述,本發(fā)明的軟件定義網(wǎng)絡(luò)中的流量管理系統(tǒng)及方法,具有以下有益效果:能實現(xiàn)對整個網(wǎng)絡(luò)中所有數(shù)據(jù)流的靈活調(diào)配和統(tǒng)一管理,可彌補分布式管理無法進行最優(yōu)配置的缺陷;同時還簡化了流量管理措施的執(zhí)行等。
【附圖說明】
[0025]圖1顯示為本發(fā)明的軟件定義網(wǎng)絡(luò)中的流量管理系統(tǒng)示意圖。
[0026]圖2顯示為本發(fā)明的軟件定義網(wǎng)絡(luò)中的流量管理方法流程圖。
[0027]元件標號說明
[0028]I流量管理系統(tǒng)
[0029]11匹配模塊
[0030]12數(shù)據(jù)包轉(zhuǎn)發(fā)模塊
[0031]13流量測量模塊
[0032]14流量分析模塊
[0033]15流量管理模塊
[0034]16流表更新模塊
[0035]17封裝模塊
[0036]2Openflow 交換機
[0037]3控制器
[0038]SI ?S5步驟
【具體實施方式】
[0039]以下通過特定的具體實例說明本發(fā)明的實施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可以通過另外不同的【具體實施方式】加以實施或應(yīng)用,本說明書中的各項細節(jié)也可以基于不同觀點與應(yīng)用,在沒有背離本發(fā)明的精神下進行各種修飾或改變。
[0040]請參閱圖1至圖2。需要說明的是,本實施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實際實施時的組件數(shù)目、形狀及尺寸繪制,其實際實施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
[0041]如圖1所示,本發(fā)明提供一種軟件定義網(wǎng)絡(luò)中的流量管理系統(tǒng)。所述流量管理系統(tǒng)I至少包括:匹配模塊11、數(shù)據(jù)包轉(zhuǎn)發(fā)模塊12、流量測量模塊13、流量分析模塊14、流量管理模塊15、流表更新模塊16以及封裝模塊17。
[0042]所述匹配模塊11設(shè)置在Openflow交換機2中,用于基于openflow流表來對接收到的數(shù)據(jù)包進行匹配。
[0043]具體地,所述匹配模塊11基于openflow流表中的各流表項來匹配接收到的數(shù)據(jù)包的包頭,以確定是否匹配。
[0044]其中,所述流表項包括但不限于:交換機端口、mac地址、、IP地址、協(xié)議端口號等項目。
[0045]所述數(shù)據(jù)包轉(zhuǎn)發(fā)模塊I設(shè)置在Openflow交換機2中,用于基于匹配結(jié)果來對數(shù)據(jù)包進行相應(yīng)轉(zhuǎn)發(fā)。
[0046]具體地,若所述匹配模塊11對接收到的數(shù)據(jù)包匹配成功,則所述數(shù)據(jù)包轉(zhuǎn)發(fā)模塊I將該匹配成功的數(shù)據(jù)包轉(zhuǎn)發(fā)至其他相應(yīng)設(shè)備;若匹配不成功,則所述數(shù)據(jù)包轉(zhuǎn)發(fā)模塊I將該匹配不成功的數(shù)據(jù)包轉(zhuǎn)發(fā)給控制器3進行處理。其中,所述其他相應(yīng)設(shè)備為主機或其他交換機等。
[0047]所述流量測量模塊13設(shè)置在Openflow交換機2中,用于基于匹配結(jié)果來對數(shù)據(jù)包的相關(guān)信息進行統(tǒng)計。
[0048]其中,所述數(shù)據(jù)包的相關(guān)信息包括任何與數(shù)據(jù)包相關(guān)的信息,優(yōu)選地,包括但不限于:接收及傳輸數(shù)據(jù)包的數(shù)目、丟包數(shù)、接收及傳輸?shù)淖止?jié)數(shù)等。
[0049]所述流量分析模塊14設(shè)置在控制器3中,用于基于所述流量測量模塊13所統(tǒng)計的數(shù)據(jù)包的相關(guān)信息來計算流量相關(guān)信息。
[0050]其中,所述流量相關(guān)信息包括任何與流量相關(guān)的信息,優(yōu)選地,包括但不限于:交換機端口流的流量速率及丟包率、mac流的流量速率及丟包率、IP流的流量速率及丟包率、tcp/udp流的流量速率及丟包率等。
[0051]具體地,所述流量分析模塊14根據(jù)流表項中的匹配域和計數(shù)器,分類計算交換機端口、mac地址、IP地址、協(xié)議端口號的各個流的流量接收速率、傳輸速率以及丟包速率。
[0052]所述流量管理模塊15用于基于所述流量分析模塊14所計算出的流量相關(guān)信息、網(wǎng)絡(luò)拓撲信息及流量管理策略來生成流量管理規(guī)則理模塊。
[0053]具體地,所述流量管理模塊15利用所述流量分析模塊14提供的流量相關(guān)信息以及軟件定義網(wǎng)絡(luò)中的控制器3提供的網(wǎng)絡(luò)拓撲信息、以及管理人員提供的流量管理策略來生成流量管理規(guī)則,也就是確定是否需要對