陳尊明,王 茹,岑 云
(南京郵電大學(xué),江蘇 南京 210046)
基于SDN的IP網(wǎng)絡(luò)流量工程問題研究
陳尊明,王茹,岑云
(南京郵電大學(xué),江蘇南京210046)
文章以SDN為基礎(chǔ),對(duì)IP網(wǎng)絡(luò)流量工程進(jìn)行分析和研究,探討了IP網(wǎng)絡(luò)流量工程的實(shí)現(xiàn)原理、技術(shù)及功能模塊,對(duì)IP流量工程的實(shí)現(xiàn)流程進(jìn)行了分析,經(jīng)過驗(yàn)證可知,文章提出的基于SDN的IP網(wǎng)絡(luò)流量工程準(zhǔn)確性和有效性良好。
SDN;IP網(wǎng)絡(luò);流量工程;流量管理
互聯(lián)網(wǎng)發(fā)展迅猛,網(wǎng)絡(luò)用戶日漸增加,網(wǎng)絡(luò)資源不足導(dǎo)致的網(wǎng)絡(luò)擁塞問題屢見不鮮。IP網(wǎng)絡(luò)流量工程是對(duì)IP網(wǎng)絡(luò)流量實(shí)時(shí)管理的一種策略,能夠有效提升IP網(wǎng)絡(luò)運(yùn)行效率和服務(wù)質(zhì)量。隨著Open Flow技術(shù)的出現(xiàn)和發(fā)展,軟件定義網(wǎng)絡(luò)(Software Defned Network,SDN)備受關(guān)注,其為網(wǎng)絡(luò)提出了新的發(fā)展思路和方向?;谝陨险撌觯疚囊許DN為基礎(chǔ),探討了IP網(wǎng)絡(luò)流量工程的相關(guān)問題,旨在為相關(guān)研究和實(shí)踐提供參考。
SDN是軟件定義網(wǎng)絡(luò)的簡稱,是一種新型網(wǎng)絡(luò)結(jié)構(gòu),SDN將傳統(tǒng)網(wǎng)絡(luò)架構(gòu)進(jìn)行了拆分,分為了應(yīng)用層、控制層及數(shù)據(jù)轉(zhuǎn)發(fā)層等3層相互分離的一種體系結(jié)構(gòu),對(duì)現(xiàn)有網(wǎng)絡(luò)架構(gòu)進(jìn)行了改變,所提供的網(wǎng)絡(luò)管理模式有著可編程的特點(diǎn)。
1.1數(shù)據(jù)轉(zhuǎn)發(fā)層
交換機(jī)是數(shù)據(jù)轉(zhuǎn)發(fā)層的重要組成部分,交換機(jī)支持Open Flow技術(shù),相較于傳統(tǒng)以太網(wǎng)交換機(jī)來說,Open Flow交換機(jī)有著一定的特殊性,其由Open Flow協(xié)議、安全通道和流表組成,其中安全通道的主要作用是連接控制器和Open Flow??刂破饕設(shè)pen Flow協(xié)議規(guī)定的格式為基礎(chǔ),能夠?qū)pen Flow交換機(jī)進(jìn)行管理,流表組成處理單元,多個(gè)流表項(xiàng)組成流表,流表項(xiàng)是數(shù)據(jù)轉(zhuǎn)發(fā)的重要規(guī)則,主要包括:①匹配域。包括網(wǎng)絡(luò)層、傳輸層及數(shù)據(jù)鏈路層的大多數(shù)標(biāo)記[1];②操作。指的是成功匹配數(shù)據(jù)包執(zhí)行的動(dòng)作,例如轉(zhuǎn)發(fā)、包頭信息修改等;③計(jì)數(shù)器。計(jì)數(shù)器的主要功能是對(duì)數(shù)據(jù)流基本信息進(jìn)行統(tǒng)計(jì)。
1.2控制層
控制層能夠?qū)⒖刂撇糠謴膫鹘y(tǒng)交換設(shè)備中抽離,形成網(wǎng)絡(luò)操作系統(tǒng),其主要功能是對(duì)數(shù)據(jù)轉(zhuǎn)發(fā)層網(wǎng)絡(luò)設(shè)備進(jìn)行集中的維護(hù)、管理和控制。以O(shè)pen Flow協(xié)議為基礎(chǔ)對(duì)底層網(wǎng)絡(luò)設(shè)備進(jìn)行管理,同時(shí)能夠獲取設(shè)備的相關(guān)信息,此外,向上層應(yīng)用提供北向接口也是控制層的重要功能之一。
1.3應(yīng)用層
應(yīng)用層的主要功能是滿足不同網(wǎng)絡(luò)需求的應(yīng)用程序,其以控制層北向編程接口為基礎(chǔ),利用動(dòng)態(tài)應(yīng)用程序配置和網(wǎng)絡(luò)設(shè)備管理來實(shí)現(xiàn)。例如防火墻、負(fù)載均衡等應(yīng)用的實(shí)現(xiàn)都依賴于應(yīng)用層,其能夠提升網(wǎng)絡(luò)管理的靈活性和可控性。
2.1技術(shù)分析
流量工程指的就是流量管理,是對(duì)IP網(wǎng)絡(luò)性能優(yōu)化的一系列方法,一般來說,主要專用硬件設(shè)備和簡單網(wǎng)絡(luò)管理協(xié)議(Simple Network Management Protocol,SNMP)軟件測(cè)試系統(tǒng)來實(shí)現(xiàn)流量工程。但需要注意的是,SNMP協(xié)議主要在2—3層提供IP網(wǎng)絡(luò)運(yùn)行的相關(guān)信息,這就給不同協(xié)議流量的區(qū)分帶來了較大的困難[2]。此外,在利用測(cè)量設(shè)備對(duì)網(wǎng)絡(luò)狀態(tài)檢測(cè)的過程中有著一定限制條件,需要將硬件設(shè)備或軟件Agent系統(tǒng)添加到數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備上,這就不可避免會(huì)增加網(wǎng)絡(luò)部署成本,經(jīng)濟(jì)性不良。
本文提出的IP網(wǎng)絡(luò)流量工程以SDN架構(gòu)為基礎(chǔ),在Open Flow協(xié)議基礎(chǔ)上,利用SDN控制器來對(duì)交換機(jī)流量信息進(jìn)行采集,并根據(jù)網(wǎng)絡(luò)狀態(tài)的具體評(píng)價(jià)來進(jìn)行IP網(wǎng)絡(luò)流量的管理。本工程在網(wǎng)絡(luò)流量情況分析的過程中,主要依賴于交換機(jī)中流表項(xiàng)計(jì)數(shù)器數(shù)值,IP網(wǎng)絡(luò)流量情況的獲取不再需要額外增加專用的硬件設(shè)備,IP網(wǎng)絡(luò)流量工程成本大大降低。此外,Open Flow流表項(xiàng)匹配域不僅涵蓋2—3層大多數(shù)標(biāo)記,例如進(jìn)出端口、Ethernet類型、IP源、IP目的地址等,同時(shí)包括目的端口、UDP源、TCP等,這就使得控制器僅僅通過計(jì)數(shù)器就能夠采集到不同層次的流量信息[3]。IP網(wǎng)絡(luò)流量工程在控制器上運(yùn)行,以O(shè)pen Flow協(xié)議為基礎(chǔ)來集中管理底層網(wǎng)絡(luò)設(shè)備,能夠獲得網(wǎng)絡(luò)全局的運(yùn)行狀態(tài)信息,此外,可以借助統(tǒng)一的接口來對(duì)網(wǎng)絡(luò)中節(jié)點(diǎn)進(jìn)行有效的管理,以此為基礎(chǔ)制定可行性更高、更加便于實(shí)現(xiàn)且更加合理的管理策略。
2.2IP網(wǎng)絡(luò)流量工程模塊分析
從實(shí)現(xiàn)機(jī)理的角度來分析,基于SDN的IP網(wǎng)絡(luò)流量工程功能模塊主要有5個(gè),分別是狀態(tài)檢測(cè)模塊、流量檢測(cè)模塊、ACL管理和控制模塊、流量限速模塊以及自動(dòng)決策模塊,IP網(wǎng)絡(luò)流量工程具體的功能模塊設(shè)計(jì)如圖1所示。
2.2.1狀態(tài)檢測(cè)模塊分析
狀態(tài)檢測(cè)模塊的主要功能是對(duì)交換機(jī)連接狀態(tài)進(jìn)行檢測(cè),同時(shí)能夠獲取交換機(jī)端口狀態(tài)及版本號(hào)等基本信息。如果狀態(tài)檢測(cè)模塊檢測(cè)到交換機(jī)連接正常,則會(huì)存儲(chǔ)端口狀態(tài)及版本號(hào)等基本信息,并觸發(fā)流量檢測(cè)模塊,如果檢測(cè)到交換機(jī)連接不正常,即斷開連接的時(shí)候,則控制器不會(huì)獲取交換機(jī)連接信息。
圖1 基于SDN的IP網(wǎng)絡(luò)流量工程功能模塊設(shè)計(jì)結(jié)構(gòu)
2.2.2流量檢測(cè)模塊
流量檢測(cè)模塊的主要功能是定期讀取交換機(jī)流表項(xiàng)計(jì)數(shù)器,其功能實(shí)現(xiàn)依賴于Open Flow協(xié)議,通過每個(gè)流表項(xiàng)計(jì)數(shù)器的定期獲取能夠得到每個(gè)表、端口及隊(duì)列的相關(guān)數(shù)據(jù),例如丟包數(shù)數(shù)據(jù)、錯(cuò)誤包數(shù)數(shù)據(jù)、傳輸數(shù)據(jù)包數(shù)數(shù)據(jù)等,對(duì)這些數(shù)據(jù)進(jìn)行分析和整理,則可以得到IP流、MAC流信息,將這些信息在控制器中進(jìn)行存儲(chǔ),對(duì)流量速率進(jìn)行計(jì)算[4]。
2.2.3ACL管理和控制模塊
以不同網(wǎng)絡(luò)需求為基礎(chǔ),將應(yīng)用層協(xié)議對(duì)應(yīng)優(yōu)先級(jí)及網(wǎng)絡(luò)流量上限設(shè)置在ACL管理和控制模塊中,例如SMTP,F(xiàn)TP等。一旦IP網(wǎng)絡(luò)中出現(xiàn)流量暴增的情況,則會(huì)禁止或延緩應(yīng)用層協(xié)議對(duì)應(yīng)低優(yōu)先級(jí)業(yè)務(wù)的實(shí)現(xiàn),此時(shí)高優(yōu)先級(jí)業(yè)務(wù)會(huì)順利實(shí)現(xiàn)。如果發(fā)現(xiàn)IP網(wǎng)絡(luò)中業(yè)務(wù)數(shù)量出現(xiàn)變化,則可以在ACL管理和控制模塊中重新對(duì)優(yōu)先級(jí)進(jìn)行設(shè)置,以此來保證當(dāng)前IP網(wǎng)絡(luò)中高優(yōu)先級(jí)業(yè)務(wù)能夠獲取足夠的帶寬,從而保證其順利實(shí)現(xiàn)。這種對(duì)流量的管理和控制更加靈活。
2.2.4流量限速模塊
對(duì)于流量限速模塊來說,其就可以添加或刪除不同源/目的的端口、IP,MAC等的流量速率上限,流量速率上限默認(rèn)為交換機(jī)端口最大流量速率,同時(shí),對(duì)于超過流量上限的數(shù)據(jù)流來說,可以針對(duì)性地設(shè)置丟包、轉(zhuǎn)發(fā)、延緩發(fā)送等相關(guān)處理和執(zhí)行動(dòng)作,以此來實(shí)現(xiàn)流量限速功能[5]。
2.2.5自動(dòng)決策模塊
自動(dòng)決策模塊能夠自動(dòng)生成流表項(xiàng),以O(shè)pen Flow協(xié)議為基礎(chǔ),能夠?qū)α鞅眄?xiàng)命令進(jìn)行處理,例如添加命令、修改命令、刪除命令等。
2.3工作流程分析
(1)初始化處理。在IP網(wǎng)絡(luò)流量工程啟動(dòng)之后,進(jìn)行初始化處理[6]。首先,控制器對(duì)底層設(shè)備連接情況進(jìn)行檢查,如果檢查發(fā)現(xiàn)底層設(shè)備連接正常,則對(duì)交換機(jī)設(shè)備相關(guān)信息進(jìn)行讀取,如果檢查發(fā)現(xiàn)底層設(shè)備連接不正常,則對(duì)控制器中相關(guān)交換機(jī)存在的信息進(jìn)行刪除,以讀取的交換機(jī)設(shè)備信息為基礎(chǔ),轉(zhuǎn)發(fā)動(dòng)作為NOEMAL的流表項(xiàng),下發(fā)至交換機(jī),網(wǎng)絡(luò)交換設(shè)備對(duì)數(shù)據(jù)包進(jìn)行正常的轉(zhuǎn)發(fā)工作。
(2)對(duì)不同應(yīng)用層服務(wù)的總流量上限、速率上限、執(zhí)行動(dòng)作以及優(yōu)先級(jí)等進(jìn)行時(shí)劃分和設(shè)置。
(3)對(duì)交換機(jī)中流表項(xiàng)計(jì)數(shù)器進(jìn)行定期讀取,獲取數(shù)據(jù)包信息,并將其在控制器中進(jìn)行分類存儲(chǔ)。
(4)對(duì)IP網(wǎng)絡(luò)總流量進(jìn)行計(jì)算,并將計(jì)算結(jié)果與設(shè)置的總流量上限進(jìn)行比較,如果計(jì)算的IP網(wǎng)絡(luò)總流量超過設(shè)置的總流量上限,則刪除交換機(jī)中低優(yōu)先級(jí)服務(wù)相關(guān)流表項(xiàng),禁止低優(yōu)先級(jí)服務(wù)實(shí)現(xiàn),如果計(jì)算的IP網(wǎng)絡(luò)總流量沒有超過設(shè)置的總流量上限,則對(duì)低優(yōu)先級(jí)服務(wù)進(jìn)行恢復(fù),將生成的相關(guān)流表項(xiàng)添加到交換機(jī)中的流表中。
(5)將交換機(jī)端口流量速率與設(shè)置的流量上限進(jìn)行比較,如果超過設(shè)置的流量上限,則以設(shè)置動(dòng)作為基礎(chǔ),生成流表項(xiàng),并將流表項(xiàng)下發(fā),如果低于設(shè)置的流量上限,則對(duì)相應(yīng)流表項(xiàng)刪除,將動(dòng)作為NORMAL的流表項(xiàng)下發(fā)。
綜上所述,本文提出了一種基于SDN的IP網(wǎng)絡(luò)流量工程,利用SDN網(wǎng)絡(luò)可編程模式的擴(kuò)展性,在不需要逐一配置每個(gè)交換設(shè)備的前提下,只需要利用控制器更新策略就可以實(shí)現(xiàn)流量管理功能的升級(jí),借助Open Flow協(xié)議能夠?qū)崿F(xiàn)多種流量信息的獲取,降低了成本。但需要注意的是,本文提出的是基于SDN的IP網(wǎng)絡(luò)流量工程能夠?qū)崿F(xiàn)簡單業(yè)務(wù)的流量管理,但對(duì)于IP網(wǎng)絡(luò)中加密流量等復(fù)雜業(yè)務(wù)來說,還需要進(jìn)一步研究和改進(jìn)。
[1]周桐慶,蔡志平,夏竟,等. 基于軟件定義網(wǎng)絡(luò)的流量工程[J]. 軟件學(xué)報(bào),2016(2):394-417.
[2]樊璽. 基于SDN的IP網(wǎng)絡(luò)流量工程問題研究[D].成都:電子科技大學(xué),2014.
[3]張文. IP網(wǎng)絡(luò)流量工程和服務(wù)質(zhì)量控制研究與設(shè)計(jì)[D].長沙:湖南大學(xué),2012.
[4]李鶴飛,董晨,鄭曉航,等. 基于軟件定義網(wǎng)絡(luò)的流量管理應(yīng)用的研究和實(shí)現(xiàn)[J]. 計(jì)算機(jī)應(yīng)用與軟件,2015(5):17-19,41.
[5]張順淼. 基于軟件定義網(wǎng)絡(luò)的MPLSTE和VPN網(wǎng)絡(luò)實(shí)現(xiàn)方法[J]. 福州大學(xué)學(xué)報(bào)(自然科學(xué)版),2015(3):340-344.
[6]MARK M,CLOUGHERTY,CHRISTOPHER A,et al. SDN在IP網(wǎng)絡(luò)演進(jìn)中的作用[J]. 電信科學(xué),2014(5):1-13.
Research on traffc engineering of IP network based on SDN
Chen Zunming, Wang Ru, Cen Yun
(Nanjing University of Posts and Telecommunications, Nanjing 210046, China)
Taking the SDN as a basis, this paper carries on the analysis and the research to the IP network traffc engineering, discusses the principle and implementation of IP network traffc engineering, technology and function module, makes an analysis of implementation process of IP traffc engineering. Through verifcation, IP network traffc engineering based on SDN proposed in this paper has an good accuracy and effciency.
SDN; IP network; traffc engineering; traffc management
陳尊明(1994— ),男,廣東廣州,本科;研究方向:模式識(shí)別與人工智能。