999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于集群的SDN控制器負載均衡方案

2016-07-19 02:07:21黃小曼沈蘇彬
計算機應用與軟件 2016年6期

黃小曼 沈蘇彬

(南京郵電大學計算機學院 江蘇 南京 210003)

?

一種基于集群的SDN控制器負載均衡方案

黃小曼沈蘇彬

(南京郵電大學計算機學院江蘇 南京 210003)

摘要SDN(Software Defined Networking)集中式管控在帶來網絡全局視角、可編程以及靈活性的同時,其可靠性和可縮放性一直是其弱點。工業界和學術界普遍指出分布式控制器是解決這個問題的一種可行方案。然而,交換機和控制器之間的靜態映射關系會限制分布式控制器系統的性能。針對這個問題,基于OpenFlow協議,提出一種在運行時動態修改交換機與控制器之間配置關系的交換機遷移方案。實驗證明,該方案可以實現分布式控制器之間的負載均衡,提高了控制平面的可縮放性。

關鍵詞SDN可縮放性OpenFlow負載均衡

0引言

軟件定義聯網SDN[1]是一種軟件可編程的新型網絡體系結構,其核心思想是將數據平面與控制平面分離,控制平面利用控制—轉發接口對數據平面上的網絡設備進行集中控制,SDN網絡中的集中式管控由軟件控制器實現。

大規模數據中心具有成百上千臺交換機,僅使用一臺集中式控制器很難滿足要求,且集中控制器會帶來可縮放性和可靠性的問題。實現一個邏輯集中、物理分布式的控制器體系結構成為解決SDN控制平面可縮放性的良好解決方案,這樣既可以獲得分布式系統帶來的較高可縮放性和可靠性,又可以保留集中控制系統的簡單特性。近年來,關于分布式SDN控制結構已經有了一系列研究成果[2,3],大多分布式控制器系統的研究焦點是建立實現分布式功能的模塊。然而,限制分布式控制器系統性能的一個關鍵因素是交換機與控制器之間的靜態配置關系,這一靜態配置關系會造成控制平面的負載不均衡。現實網絡(例如數據中心網絡、企業網)中流量在時間和空間上都是不停變化的。所以,當交換機突發大量流請求時,與之相連的控制器負載將快速上升,可能會造成控制器性能降低甚至癱瘓,經過一段時間,可能會造成整個控制平面性能的降低[4]。因此,交換機和控制器間的靜態配置關系會降低系統性能。解決方法之一是為控制器配置多冗余容量,以應對大量突發流。但這種方法會增加開銷,同時浪費資源。

針對這個問題,本文提出了交換機遷移方案,實現在運行過程中動態修改交換機與控制器之間的配置狀態。然而將交換機從一臺控制器中遷往另外一臺控制器時會破壞控制器正在進行的消息處理過程,現有OpenFlow[5]協議標準并沒有提供一個合適的解決方案,本文提出的遷移機制是在充分利用OpenFlow定義的三種控制器角色基礎上,保護控制器的流處理過程,實現分布式控制器之間的流請求負載均衡,提高了系統的吞吐量和可縮放性。

1相關技術分析

1.1分布式控制器

控制器結構發展經歷了單線程控制器[6]到多線程控制器[7]這樣的過程。但單一的物理控制器系統帶來了低可縮放性和易受損的缺點。近年來,隨著網絡需求的提高,分布式控制器受到廣泛關注。分布式控制器研究的核心研究問題是關于如何解決分布式控制器實例之間的狀態一致性。例如,Onix[2]通過維護網絡信息庫NIB(NetworkInformationBase)的分發機制,保證整個網絡狀態信息庫的一致性。HyperFlow[3]復制所有分布式節點中發生的事件,所以每個節點可以處理這些事件并更新本地狀態。現有的分布式控制器方案大多建立在傳統分布式系統基礎之上,旨在建立分布式節點狀態信息共享、狀態更新等分布式功能模塊。SDN作為新興網絡技術,將分布式系統引入到SDN控制器中時,需要對控制—轉發接口協議進行分析,提供在分布式環境下的靈活部署特性。

1.2OpenFlow協議

OpenFlow協議從2009年首次提出后,目前已經發展到v1.4,ONF組織將v1.3作為一個穩定的版本,本節以OpenFlowv1.3進行討論。下面簡要介紹本文使用的OpenFlow消息類型:

(1)Role-request/Role-reply消息:Role-Request消息由控制器發起,用于交換機與多控制器連接的場景中,當交換機收到該消息時,根據請求的控制器角色類型作出相應回復,向控制器發送Role-Reply消息,告知控制器是否允許修改角色。

(2)Flow-mod/Flow-removed消息:Flow-mod消息由控制器發起,用來增加、刪除和修改交換機中的流表項,通過對Flow-mod消息格式中command字段指定操作來完成,該字段可以指定為增加、刪除和修改等。當交換機收到控制器的Flow-mod刪除消息時,根據消息中指定的流表項信息,找到流表中的相應流表項刪除,并返回Flow-removed消息表示確認刪除,Flow-Removed消息也用于因流表項超時,而引起的流表項刪除情況。當交換機連接到多臺控制器時,Flow-Removed會發送給與交換機相連的master控制器和equal控制器.

(3)Barrier-request/Barrier-reply消息:Barrier-request消息用于確保之前下發的消息已經被交換機處理完畢,當控制器發送該消息到交換機時,交換機會立即處理之前收到的所有消息,并回復Barrier-reply消息。如果要確保控制器先后發送到交換機的兩條消息得到按序處理,可以在兩個消息中間增加Barrier-request消息。

OpenFlow協議提出了交換機與多臺控制器相連的概念,多連接可以有效地預防控制器單點故障問題,OpenFlow協議將控制器角色分為三種:Master、Equal和Slave。

控制器的默認角色是Equal,Equal控制器對于交換機具有全部處理能力,能夠接受所有交換機發來的異步消息(例如Packet-in、Flow-removed消息等),Equal控制器也可以發送控制器-交換機消息以修改交換機的狀態;Slave控制器對交換機只有讀權限,默認情況下Slave控制器不接受任何交換機異步消息,但交換機可以處理Slave控制器的角色請求消息;Master控制器與Equal控制器對交換機所具有的權限相似,區別在于交換機可以與多臺Equal控制器相連,而僅可以與一臺Master控制器相連。當某臺控制器發送Role-request消息到交換機,請求將當前角色修改為Master,交換機會將與之相連的Master控制器角色改為Slave。交換機維護與多控制器的連接,控制器可以在任意時刻修改它的角色。

本文旨在分布式控制器環境下,基于OpenFlow協議定義的三種控制器角色,將Equal角色作為過渡角色,逐步實現交換機在多控制器之間的無縫遷移,以實現在集群環境下的控制器負載均衡功能。

2設計目標

本文將服務器集群技術應用到SDN分布式控制器方案中,構建SDN控制器集群環境。本節首先介紹控制器集群需要完成的功能,其次分析交換機遷移方案所需解決的幾類關鍵問題。

2.1控制器集群

控制器集群采用分布式數據存儲方式維持一個邏輯集中的控制平面.它存儲所有交換機信息,集群中各個節點共享這些信息。集群服務主要提供以下服務:集群系統在啟動時,集群服務提供從文件讀取集群配置的服務;運行過程中,集群服務提供集群節點名稱到節點所在主機名稱/IP地址的解析服務。

一個控制器集群的例子,如圖1所示,該集群包括兩個控制器節點,分別為A和B;A連接交換機X,交換機X又與多個交換機相連,x1、x2、…、xn。B連接交換機Y,Y與一系列交換機相連。根據OpenFlow協議的定義,交換機可以與多臺控制器相連,圖1中,實線A1和B1代表與交換機相連的控制器是Master控制器,虛線代表與交換機相連的控制器是Slave控制器,在該集群結構下,A與B之間通過TCP協議互聯,共享網絡狀態信息,且每個控制器節點都維護全局網絡狀態拓撲,包含全局網絡狀態信息。

圖1 兩個節點的控制器集群

控制器集群的可縮放性體現在整個集群平面對數據平面流請求的處理性能,包括計算時間和流規則安裝延遲。文獻[8]中實驗證明,控制器對流請求的計算時間可以忽略不計,流規則安裝延遲則受控制器資源使用情況限制,主要包括CPU使用率和內存使用率,控制器集群需要監測集群中每個控制器節點的資源使用情況,當集群中某點控制器節點資源使用率較高時,負責從集群中選舉出具有較小資源使用率的控制節點。

2.2交換機遷移

交換機與控制器之間的靜態配置關系是限制分布式控制器系統性能的一個主要因素,它使得分布式控制器結構無法適用于在空間上和時間上多變的流情況。例如,不同時間測量數據中心網絡的流量,其最大值和最小值之間相差很大[9],或者數據中心網絡中可能大部分流量只由少量幾臺交換機產生,而大部分交換機產生較少流量。當一臺控制器資源使用率較高時,分布式控制器系統的整體響應時間會增加,從而影響上層應用。本文通過在控制器之間動態遷移交換機的方法,來提高整個控制平面的可縮放性,即在數據層是通過遷移交換機來實現控制平面負載均衡,交換機在遷移過程中,需要滿足下面兩個條件:

(1)交換機在遷移的過程中,要保證與該遷移交換機至少有一臺相連控制器處于正常運行狀態,而不能直接通過將目的控制器的角色改成Master來完成交換機的遷移工作。例如控制器在遷移開始之前,發送了一條Flow-mod刪除消息到交換機中,在交換機遷移之前還沒有回復Flow-removed消息到控制器中,那么遷移之后會造成信息的丟失和狀態的不一致性。

(2) 交換機在遷移的過程中,要保證安全性。即只能有一臺控制器處理交換機的異步消息。例如多臺控制器對同一交換機的Packet-in消息進行處理,會造成流表項的多次安裝,還會造成分布式數據存儲的不一致性。

3系統實現

3.1集群配置

集群配置主要描述集群內部狀態信息,包括集群中包含的成員信息、每個控制器節點所維護的數據分片信息以及數據分片上所存放的數據信息。

modules= [

{

name= “Topology”

//網絡拓撲模塊

shards= [

{

name= “shard-1”

replicas= [

“member-2”

//備份存放在成員2中

“member-1”

]

}

}

3.2資源使用情況監測實現

考慮到本分布式系統是運行在一個局域網中,各個控制器節點的IP地址各不相同。使用IP地址作為區分不同節點負載情況的標識。每個控制器節點維護一張日志表格,用于存放集群中各個節點的負載信息,其中包括IP地址、CPU使用率和內存使用率。控制器節點之間傳遞負載情況的消息格式如表1所示:

表1 資源使用情況格式

本集群中各個節點運行在Ubuntu系統上,每個控制器節點監測本機負載信息,并每隔30秒向其他所有節點發送負載信息。下面為監測CPU和內存使用率的描述:

Userid=”ip”

//IP地址作為控制機器節點標識

if(userid==$1){cpuUsage+=$3

//監測CPU使用率

memUsage+=$4

//檢測內存使用率

}

3.3交換機動態遷移

交換機遷移機制是通過運行中動態修改控制器角色完成,圖2(a)代表遷移前的拓撲圖,S1、S2、S3和S4共同組成一個網絡,每個交換機與一個或者兩個控制器相連;圖中虛線代表交換機連接的是Slave控制器,實線代表交換機連接的是Master控制器。圖2(b)中由于控制器A上負載過大,決定將交換機S3遷移到控制器B中,圖2(b)為交換機遷移后拓撲圖。

本文應用的遷移方案在開始階段由交換機插入一條冗余消息,由后續階段對其響應,逐步完成交換機的遷移。下面將遷移過程分為4個階段,具體描述如下:

階段1:控制器B請求修改角色為Equal;由控制器A通過集群通信信道告知控制器B交換機開始遷移,此時交換機尚未開始處理事務,交換機在遷移之前加入一條空的流表項,這樣操作主要是為了減少下一階段的冗余時間。當控制器B接收到來自控制器A的開始遷移消息,控制器B發送一個Role-request消息到交換機S3中,請求將控制器B的角色變成過渡角色-Equal。在交換機接收到來自控制器B的角色改變請求信息,交換機將控制器B的角色改變成Equal,且回復控制器B角色已經改變。

階段2:刪除空流表項;此時還無法完全將交換機S3的事務轉移到控制器B中,因為控制器A仍然是交換機S3的Master控制器,而控制器B是交換機S3的Equal控制器。為了將交換機業務平滑無縫地轉移到控制器B中,需利用遷移開始前插入的空流表項來實現。現階段控制器A發送Flow-mod刪除消息來刪除該流表項,在交換機S3收到該消息后,因為此時控制器A仍然工作在Master角色下,而控制器B工作在Equal角色下,所以交換機S3會向兩臺控制器都發送Flow-removed消息,以確認空流表項刪除。控制器B開始介入交換機S3的事務處理。

階段3:確認事物結束;控制器A此時無法立即與交換機S3斷開連接,網絡中可能還有正在處理的事務,所以控制器A發送一個Barrier-request消息到交換機中,直到交換機S3回復Barrier-reply消息。此時,控制器A與交換機S3之間的事務處理正式結束。

階段4:控制器B請求修改角色為Master;至此需要將控制器B改為Equal控制器,在上階段結束后,控制器A發送事務提交完成消息到控制器B中,在接收到該消息后,控制器B立即向交換機S3發送Role-request消息,請求變化為Master控制器,而交換機S3在收到角色改變請求后,經過交換機內部處理,返回Role-reply消息到控制器B中,交換機會自動將控制器A的角色修改為Slave。至此,正式完成交換機S3的遷移過程,控制器B開始處理交換機S3的請求。

圖3為交換機無縫遷移過程中具體的消息傳遞過程。

圖3 消息傳遞過程

4系統測試

4.1實驗環境

本文通過測試兩臺控制器組成的集群系統來分析SDN控制器系統的可縮放性,利用兩臺OpenDaylight[10]控制器組成控制器集群,以構成控制平面;下層的數據平面采用Mininet[11]來部署網絡設備環境。其中,控制平面上部署的兩臺控制器,控制器A和控制器B,兩臺控制器部署的主機IP地址分別是10.10.136.121和10.10.136.122;數據平面上利用Mininet部署八臺交換機,運行Mininet的主機IP地址是10.10.136.123,三臺主機均運行Ubuntu12.04系統。

圖4 實驗網絡拓撲

初始網絡如圖4所示,其中S1~S7的Master控制器是控制器A,控制器B作為Slave與S1~S7相連;S8的Master控制器是控制器B,控制器A作為Slave與S8相連,圖4中,實線代表與交換機相連的是Master控制器,虛線代表與交換機相連的是Slave控制器。

4.2測試方法和結果分析

文獻[12]指出SDN控制平面實際是一個分布式系統,可以通過測量分布式系統的響應時間來評估分布式系統的可縮放性。本文通過向控制器集群輪詢發送流請求消息,測試其響應時間來反映其可縮放性。每臺交換機每次發送2000條流請求消息(Packet-in消息),一共發送4次,分別測量每個控制器的資源使用情況以及響應時間。首次測量為控制器A處理S1~S7的流請求,控制器B處理S8的流請求;第二次測量時,將S7遷移到控制器B的控制域內,即將控制器B變為S7的Master控制器;按照這樣的順序,直到控制器A負責處理S1~S4的流請求,控制器B負責處理S5~S8的流請求。由于Slave控制器接收到Packet-in消息時,不處理并將其丟失,故對控制器的性能影響可以忽略不計。

(a) CPU使用率對比圖

(b) 內存使用率對比圖

(c) 響應時間對比圖圖5 對比情況

經過以上4次測量,得出4次監測控制器CPU使用率對比情況如圖5(a)所示,內存使用率對比如圖5(b)所示,兩臺控制器的響應時間對比如圖5(c)所示。

實驗證明,運行過程中遷移交換機可以降低控制平面的總體響應時間,提高控制平面的可縮放性,實現控制平面負載均衡。當應對數據平面的大量數據流請求時,控制平面仍能保持穩定的處理能力。

5結語

本文的研究內容是針對多控制器系統中負載不平衡引起的控制器效率下降的問題,提出了將集群技術應用到多控制系統中,且在集群中實現交換機在運行時動態轉移,這可以有效地提高控制器的處理性能以及網絡的吞吐量,使各個控制器節點負載得到均衡。本文未來的研究計劃是將容錯功能加入到控制器集群環境中。

參考文獻

[1]SDN[EB/OL].[2015-01-27].https://www.opennetworking.org/sdn-resources/sdn-library/whitepapers.2015.

[2]KoponenT,CasadoM,GudeN,etal.Onix:ADistributedControlPlatformforLarge-scaleProductionNetworks[C]//The9thUSENIXconferenceonOperatingSystemsDesignandImplementation(OSDI).2010.Vancouver,Canada,2010:351-364.

[3]TootoonchianA,GanjaliY.HyperFlow:AdistributedcontrolplaneforOpenFlow[C]//Proceedingsofthe2010internetnetworkmanagementconferenceonResearchonenterprisenetworking.USENIXAssociation,2010:3-3.

[4]YaoG,BiJ,GuoL.Onthecascadingfailuresofmulti-controllersinSoftwareDefinedNetworks[C]//NetworkProtocols(ICNP),2013 21stIEEEInternationalConferenceon.IEEE,2013:1- 2.

[5]OpenNetworkingFoundation(ONF).SDNArchitectureOverview[EB/OL].[2015-02-10].http://www.opennetworking.org.2015.

[6]GudeN,KoponenT,PettitJ,etal.NOX:towardsanoperatingsystemfornetworks[J].ACMSIGCOMMComputerCommunicationReview,2008,38(3):105-110.

[7]Floodlight[EB/OL].[2015-02-10 ].http://www.projectfloodlight.org/.2015.

[8]KrishnamurthyA,ChandraboseSP,Gember-JacobsonA.Pratyaastha:anefficientelasticdistributedSDNcontrolplane[C]//ProceedingsofthethirdworkshoponHottopicsinsoftwaredefinednetworking.ACM,2014:133-138.

[9]BensonT,AkellaA,MaltzDA.Networktrafficcharacteristicsofdatacentersinthewild[C]//Proceedingsofthe10thACMSIGCOMMconferenceonInternetmeasurement.ACM,2010:267-280.

[10]OpenDaylight[EB/OL].[2015-01-28].http://www.opendaylight.org.2015.

[11]LantzB,HellerB,McKeownN.Anetworkinalaptop:rapidprototypingforsoftware-definednetworks[C]//Proceedingsofthe9thACMSIGCOMMWorkshoponHotTopicsinNetworks.ACM,2010:19.

[12]HuJ,LinC,LiX,etal.ScalabilityofcontrolplanesforSoftwaredefinednetworks:Modelingandevaluation[C]//QualityofService(IWQoS),2014IEEE22ndInternationalSymposiumof.IEEE,2014:147-152.

A LOAD BALANCING SCHEME OF SDN CONTROLLERS BASED ON CLUSTERING

Huang XiaomanShen Subin

(School of Computer,Nanjing University of Posts and Telecommunications,Nanjing 210003,Jiangsu,China)

AbstractThe centralised SDN control brings the global network perspective,programmability and flexibility,but it also brings the weakness of reliability and scalability as well.The solution based on distributed controllers is a feasible method as widely noted by the industry and academia.However,the static mapping relationship between a switch and a controller limits the performance of distributed controllers.To solve this problem,this paper proposes based on OpenFlow protocol a switch migration scheme which can dynamically modify the configuration relationship between switch and controller on operation.It is proved by the experiment that the scheme can achieve the load balance between controllers and improve the scalability of the control plane.

KeywordsSDNScalabilityOpenFlowLoad balancing

收稿日期:2015-02-06。江蘇省未來網絡前瞻性研究項目(BY2013095-1-08)。黃小曼,碩士生,主研領域:計算機網絡。沈蘇彬,研究員。

中圖分類號TP393

文獻標識碼A

DOI:10.3969/j.issn.1000-386x.2016.06.032

主站蜘蛛池模板: 日本人妻丰满熟妇区| 亚洲色图狠狠干| 国产福利微拍精品一区二区| 国产日韩欧美在线视频免费观看| 欧美一级高清片久久99| 日韩人妻少妇一区二区| 2020亚洲精品无码| 欧美日韩一区二区在线免费观看| 欧美在线导航| 九九精品在线观看| 久久伊人操| 婷五月综合| 蜜臀AV在线播放| 狠狠色噜噜狠狠狠狠色综合久| 91热爆在线| AV片亚洲国产男人的天堂| 夜夜操国产| 波多野结衣一区二区三区AV| 无码在线激情片| 91极品美女高潮叫床在线观看| 亚洲二区视频| 免费高清a毛片| 色哟哟国产精品| 国产91导航| 日韩在线永久免费播放| 欧美成人第一页| 亚洲午夜久久久精品电影院| 亚洲国产看片基地久久1024| 伊人成人在线视频| 国产精品浪潮Av| 美女一级毛片无遮挡内谢| 国产视频一二三区| 国产黑人在线| 亚洲黄色成人| 中文字幕人妻无码系列第三区| 成人国产免费| 亚洲区欧美区| 久久久成年黄色视频| 五月天福利视频| 五月婷婷亚洲综合| 九九热精品在线视频| 青青久视频| 五月天婷婷网亚洲综合在线| 国产欧美日韩18| 日韩欧美国产三级| 精品一区二区三区中文字幕| 久久人妻系列无码一区| 老司国产精品视频| 色噜噜狠狠狠综合曰曰曰| 国产精品第三页在线看| 日本一区二区三区精品国产| 日本在线视频免费| 成人一级免费视频| 亚洲午夜天堂| 国产成人8x视频一区二区| 国产精品部在线观看| 成人免费午间影院在线观看| 欧洲极品无码一区二区三区| 韩国v欧美v亚洲v日本v| 亚洲不卡影院| 天堂在线www网亚洲| 国产丰满大乳无码免费播放| 午夜视频免费一区二区在线看| 久久精品国产免费观看频道| 久热99这里只有精品视频6| 综合社区亚洲熟妇p| 欧美日本激情| 欧美激情综合| 亚洲欧美不卡中文字幕| 国产激情无码一区二区三区免费| 最新国产高清在线| 久久国产拍爱| 亚洲成人一区二区三区| 成年看免费观看视频拍拍| 中文字幕亚洲精品2页| 91久久国产综合精品女同我| 九九线精品视频在线观看| 久久香蕉国产线看观| 国产亚洲欧美另类一区二区| 日韩高清一区 | 国内自拍久第一页| 91网站国产|