程媛媛,董 輝,張曉光
(1.亳州職業(yè)技術(shù)學(xué)院信息工程系,安徽 亳州 236800;2.河北北方學(xué)院教育技術(shù)與信息中心,河北 張家口 075000)
?
基于局域網(wǎng)的軟件定義網(wǎng)絡(luò)技術(shù)研究
程媛媛1,董輝1,張曉光2
(1.亳州職業(yè)技術(shù)學(xué)院信息工程系,安徽 亳州 236800;2.河北北方學(xué)院教育技術(shù)與信息中心,河北 張家口 075000)
目的隨著云計(jì)算等新技術(shù)應(yīng)用的普及,需要一個(gè)龐大的網(wǎng)路環(huán)境支撐其大量的封包傳遞,而這種網(wǎng)路設(shè)定已超越傳統(tǒng)人工設(shè)定所能負(fù)擔(dān)的范圍,為了解決此問題,由軟件自動對網(wǎng)絡(luò)裝置進(jìn)行維護(hù),可以減少資源浪費(fèi)。方法開發(fā)1套基于局域網(wǎng)的軟件定義網(wǎng)路解決方案:Peregrine(虛擬移動網(wǎng)絡(luò)),主要提供3項(xiàng)核心技術(shù),分別為網(wǎng)路虛擬化、動態(tài)路徑規(guī)劃及快速故障移轉(zhuǎn)。結(jié)果可使CPU資源不浪費(fèi)在處理封包之封裝及解封裝的動作,進(jìn)而提升CPU使用效率及網(wǎng)路的產(chǎn)能,提高了帶寬利用率及網(wǎng)絡(luò)效能,通過簡單的實(shí)際測試,證明Peregrine的動態(tài)路徑規(guī)劃技術(shù)在流量的負(fù)載平衡方面具有良好的效能。結(jié)論搭建網(wǎng)絡(luò)環(huán)境較為容易,可有效提升CPU使用效率,且無需掌控所有設(shè)備的信息;可動態(tài)調(diào)整數(shù)據(jù)傳輸路徑,快速恢復(fù)網(wǎng)路的連通性;可有效地將流量分散至整個(gè)網(wǎng)絡(luò)上,達(dá)到流量負(fù)載平衡的目標(biāo)。大幅降低網(wǎng)路設(shè)備的硬體成本并且可以應(yīng)用到各種場所,擴(kuò)大設(shè)備使用效率,為今后解決網(wǎng)絡(luò)閉塞等應(yīng)用問題提供了解決方案。
軟件定義網(wǎng)絡(luò);網(wǎng)絡(luò)虛擬化;動態(tài)路徑規(guī)劃;快速故障移轉(zhuǎn)
近年來,隨著虛擬化技術(shù)的成熟,在現(xiàn)代化數(shù)據(jù)處理中已開始大量采用虛擬化技術(shù),用以動態(tài)滿足使用者需求、自動化部署、移除或移動虛擬設(shè)備、降低復(fù)雜的處理程序,并提高資源的使用效率[1]。然而,在虛擬化技術(shù)帶來諸多好處的同時(shí),帶來了許多新的挑戰(zhàn)。在傳統(tǒng)的網(wǎng)路中,網(wǎng)路管理人員可規(guī)劃多個(gè)VLAN,來隔離不同群組之間的封包,也可在交換機(jī)上設(shè)定存取控制機(jī)制,來達(dá)到過濾封包的目的[2]。以往,這些設(shè)定都是經(jīng)由網(wǎng)絡(luò)管理人員,聯(lián)機(jī)到每一臺交換機(jī)上進(jìn)行設(shè)定。網(wǎng)路環(huán)境越復(fù)雜,設(shè)定也將越繁瑣。尤其是隨著云計(jì)算及物聯(lián)網(wǎng)等新應(yīng)用的普及,這類應(yīng)用必定需要一個(gè)龐大且復(fù)雜的網(wǎng)絡(luò)環(huán)境來支撐其大量的封包傳遞,而這種網(wǎng)路設(shè)定已超越傳統(tǒng)人工設(shè)定所能負(fù)擔(dān)的范圍[3]。因此,在此趨勢下,由軟件自動化地進(jìn)行相關(guān)的網(wǎng)絡(luò)裝置設(shè)定與修改,已經(jīng)是明顯且迫切的需求,進(jìn)而衍生出軟體定義網(wǎng)路的概念。
在軟件定義網(wǎng)絡(luò)的技術(shù)中,網(wǎng)絡(luò)虛擬化、動態(tài)路徑規(guī)劃及快速故障移轉(zhuǎn)是3項(xiàng)非常重要的技術(shù)。
網(wǎng)絡(luò)虛擬化在軟件定義網(wǎng)絡(luò)中,是一個(gè)非常重要的技術(shù),通過該技術(shù),多個(gè)租戶可共享同1個(gè)實(shí)體網(wǎng)絡(luò),且彼此不會互相干擾。幾乎所有的軟件定義網(wǎng)路解決方案均支持該技術(shù),例如VMware的NSX、IBM的DOVE、NEC的VTN及Microsoft的VL2等[4]。此外,大部份公司采用Tunnel技術(shù)實(shí)現(xiàn)網(wǎng)路虛擬化。
動態(tài)路徑規(guī)劃是軟件定義網(wǎng)絡(luò)的一項(xiàng)重要技術(shù),在傳統(tǒng)網(wǎng)絡(luò)中,根據(jù)不同的生成樹協(xié)議,例如SpanningTreeProtocol或RapidSpanningTreeProtocol,可在網(wǎng)路環(huán)境中建立1棵SpanningTree,用以防止廣播風(fēng)暴(BroadcastStorm),并使實(shí)體或虛擬服務(wù)器之間通過該SpanningTree傳輸資料。然而,在數(shù)據(jù)中心,服務(wù)器間的數(shù)據(jù)傳輸非常頻繁,服務(wù)器的數(shù)量越多,傳輸量越大,此時(shí),該SpanningTree將成為網(wǎng)路傳輸效能的瓶頸[5]。為了改善網(wǎng)路傳輸效能,Cisco提出MultipleSpanningTreeProtocol技術(shù),希望通過建立多棵SpanningTree,讓流量分散至不同的Tree上。其概念是將VLAN分組,屬于同一群組的VLAN共用同一棵SpanningTree,因此,流量將被分散至不同的Tree上。然而,MSTP所支持的群組數(shù)量并不多,且共用同一棵Tree的VLAN依然無法負(fù)載平衡。所以,無論是何種生成樹協(xié)議,均以分散式的方式產(chǎn)生SpanningTree。網(wǎng)絡(luò)管理人員無法自己挑選服務(wù)器之間的數(shù)據(jù)傳輸路徑,而這與軟件定義網(wǎng)絡(luò)的宗旨相互違背,因此,現(xiàn)存于交換機(jī)上的各種生成樹協(xié)議,并不適用于軟件定義網(wǎng)絡(luò)的解決方案。
在網(wǎng)絡(luò)環(huán)境中,網(wǎng)絡(luò)設(shè)備故障將導(dǎo)致聯(lián)機(jī)中斷,而中斷時(shí)間過久會使得很多應(yīng)用不能使用[6]。因此,當(dāng)網(wǎng)路設(shè)備發(fā)生故障后,如何在短時(shí)間內(nèi)恢復(fù)網(wǎng)絡(luò)的連通性,是軟件定義網(wǎng)絡(luò)中一項(xiàng)重要的研究。
本節(jié)主要介紹Peregrine軟件定義網(wǎng)路解決方案。首先介紹其所適用的網(wǎng)絡(luò)環(huán)境,接著,分別針對3項(xiàng)核心技術(shù)進(jìn)行說明。
圖1 Peregrine所適用的網(wǎng)絡(luò)環(huán)境
2.1網(wǎng)絡(luò)環(huán)境
在Peregrine所適用的網(wǎng)路環(huán)境中,需存在多臺實(shí)體服務(wù)器與Ethernet交換機(jī)。每一臺實(shí)體服務(wù)器上,須安裝開放原始碼的虛擬OpenFlow交換機(jī)。因此,如圖1所示,所有的Ethernet交換機(jī)將被虛擬OpenFlow交換機(jī)包圍,且所有由服務(wù)器所發(fā)出的封包,必定將先經(jīng)過虛擬OpenFlow交換機(jī),接著才會流進(jìn)由實(shí)體Ethernet交換機(jī)所構(gòu)成的網(wǎng)路[7]。Peregrine可通過設(shè)定虛擬OpenFlow交換機(jī)上的FlowRule,及實(shí)體Ethernet交換機(jī)上的VLAN配置,控制封包的流向。
Peregrine運(yùn)行在OpenDaylightController上。通過Controller,Peregrine可經(jīng)由OpenFlow協(xié)議設(shè)定FlowRule至虛擬OpenFlow交換機(jī)上。為了控制Ethernet交換機(jī),下面將針對Peregrine所提供的3項(xiàng)核心技術(shù)進(jìn)行介紹。
2.2網(wǎng)絡(luò)虛擬化
根據(jù)上面所述,Peregrine支持OpenStackNeutron,根據(jù)Neutron的定義,每個(gè)租戶可建立多個(gè)網(wǎng)路(network),且每個(gè)網(wǎng)路被視為1個(gè)廣播區(qū)域?;诖硕x,Peregrine的網(wǎng)路虛擬化技術(shù)的中心思想為:替每個(gè)租戶建立的網(wǎng)路分配1個(gè)VLANID,通過VLAN天生的特性,即可達(dá)到網(wǎng)絡(luò)虛擬化的目標(biāo)[8]。例如,考慮一租戶A為一間大型企業(yè),其可替企業(yè)下屬的會計(jì)、市場部或信息等部門分別建立1個(gè)網(wǎng)路,而Peregrine將替每個(gè)部門各自分配1個(gè)VLANID,并在交換機(jī)上進(jìn)行VLAN的相關(guān)配置,因此,每個(gè)部門計(jì)算機(jī)所發(fā)出的封包將各自攜帶其專屬的VLANID[9]。即使所有部門均共享同1個(gè)實(shí)體網(wǎng)絡(luò),其所發(fā)送的信息依然可通過交換機(jī)上VLAN的配置,將信息進(jìn)行隔離,讓每個(gè)部門的用戶都可以實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳送。
圖2 VLANTree的邊
所以,Peregrine的網(wǎng)路虛擬化技術(shù)是利用VLAN天生的特性,故可有效達(dá)到網(wǎng)路虛擬化的目標(biāo)。與Tunnel技術(shù)相比,本技術(shù)可讓CPU資源不浪費(fèi)在處理封包之封裝及解封裝的動作,進(jìn)而提升CPU使用效率及網(wǎng)路的產(chǎn)能。
2.3動態(tài)路徑規(guī)劃
圖3 網(wǎng)絡(luò)產(chǎn)能
為了將流量的負(fù)載平衡,不采用任何的生成樹協(xié)議。其基本概念是為每一個(gè)VLAN計(jì)算1棵Tree,用以防止廣播風(fēng)暴,且為了將流量分散至整個(gè)網(wǎng)絡(luò)環(huán)境中,所有的VLANTree將盡量不使用相同的交換機(jī)鏈路,因此當(dāng)網(wǎng)絡(luò)環(huán)境中存在足夠多的鏈路時(shí),任一條鏈路最多只會成為1棵VLANTree的邊[10]。如圖2所示,考慮一網(wǎng)路環(huán)境存在A至G7臺實(shí)體Eth-ernet交換機(jī),與VM1至VM10共10臺虛擬服務(wù)器。其中,VM1、VM4、VM7及VM8屬于藍(lán)色的VLAN,而剩余的虛擬服務(wù)器則屬于綠色的VLAN。Peregrine所開發(fā)的動態(tài)路徑規(guī)劃技術(shù),會為2個(gè)VLAN各自計(jì)算1棵Tree,且若網(wǎng)路環(huán)境中存在足夠多的交換機(jī)鏈路,則2棵樹將不會使用相同的鏈路,因此,可分散2個(gè)VLAN的流量,進(jìn)而提升帶寬利用率及網(wǎng)絡(luò)效能。
2.4快速故障移轉(zhuǎn)
在管理網(wǎng)路方面,Peregrine以In-band控制的方式管理網(wǎng)路。Peregrine通過Controller所下達(dá)的指令,將通過ControlPlane網(wǎng)路送至網(wǎng)路裝置;服務(wù)器間的資料交換,則是通過DataPlane網(wǎng)路(即由動態(tài)路徑規(guī)劃技術(shù)所產(chǎn)生的Tree)進(jìn)行傳輸。因此,當(dāng)某條鏈路或某臺交換機(jī)故障時(shí),Peregrine所開發(fā)的快速故障移轉(zhuǎn)技術(shù),將優(yōu)先修復(fù)ControlPlane網(wǎng)路,之后才修復(fù)受影響的VLANTree。其基本概念是替ontrol及DataPlane網(wǎng)路事先計(jì)算備用方案,當(dāng)網(wǎng)路設(shè)備故障時(shí),Peregrine即可根據(jù)相對應(yīng)的方案,進(jìn)行網(wǎng)路修復(fù)的動作。
首先,Peregrine替每一個(gè)動態(tài)路徑規(guī)劃技術(shù)所產(chǎn)生的VLANTree,事先計(jì)算所有可能的備用方案(BackupSolution)。此方案的目的在于,當(dāng)網(wǎng)絡(luò)因某條鏈路或某臺交換機(jī)故障,導(dǎo)致1棵Tree分裂成2棵以上的Tree時(shí),可將所有的Tree重新修復(fù)成1棵VLANTree,以恢復(fù)該VLAN的網(wǎng)路連通性。
為了量測Peregrine的動態(tài)路徑規(guī)劃技術(shù)的效能,首先讓所有的流量通過相同的Tree進(jìn)行傳輸,用以模擬使用STP或RSTP的網(wǎng)絡(luò)環(huán)境。然后,啟動Peregrine動態(tài)路徑規(guī)劃技術(shù),重新規(guī)劃服務(wù)器之間的路徑,以此觀察本技術(shù)的效能。圖3顯示4個(gè)Receiver隨著時(shí)間的推移,所量測出的網(wǎng)絡(luò)產(chǎn)能。其中,在前26 s使用相同的Tree進(jìn)行傳輸時(shí),4個(gè)Receiver所測出的網(wǎng)路產(chǎn)能大致落在250~550 Mbits·s-1的范圍內(nèi),原因是所有的流量均擠在同1棵Tree上,導(dǎo)致該Tree成為網(wǎng)絡(luò)傳輸效能的瓶頸。然后,于第26 s啟動Peregrine動態(tài)路徑規(guī)劃技術(shù)。此時(shí),可明顯的發(fā)現(xiàn)4個(gè)Receiver所測出的網(wǎng)絡(luò)產(chǎn)能均開始提升,最后達(dá)到900 Mbits·s-1左右,與前26 s相比,效能提升約1倍。其中,在第26~27 s時(shí),4個(gè)Receiver所測出的產(chǎn)能往下降,因?yàn)榇藭r(shí)Peregrine正將其計(jì)算后的結(jié)果布署至網(wǎng)絡(luò)設(shè)備上,故會造成封包丟失的情況,導(dǎo)致該段時(shí)間網(wǎng)絡(luò)產(chǎn)能下降。
通過簡單的實(shí)際測試,證明Peregrine的動態(tài)路徑規(guī)劃技術(shù),確實(shí)在流量的負(fù)載平衡上,具有良好的效能。當(dāng)Peregrine完成所有的開發(fā)與功能測試后,本實(shí)驗(yàn)將會進(jìn)行更加深入且完善的效能分析。
本文所介紹的Peregrine,針對傳統(tǒng)以太網(wǎng)絡(luò),開發(fā)1套軟件定義網(wǎng)絡(luò)解決方案,主要提供3項(xiàng)核心技術(shù),分別為網(wǎng)絡(luò)虛擬化、動態(tài)路徑規(guī)劃及快速故障移轉(zhuǎn)。在網(wǎng)絡(luò)虛擬化部份,本技術(shù)可有效提升CPU使用效率,且無需掌控所有設(shè)備的信息,故適用的場景更加廣泛;在動態(tài)路徑規(guī)劃部份,本技術(shù)不依賴特殊硬設(shè)備,可動態(tài)調(diào)整數(shù)據(jù)傳輸路徑;在快速故障移轉(zhuǎn)部份,相較于傳統(tǒng)技術(shù)以秒為單位的修復(fù)速度,本技術(shù)可于300 ms的時(shí)間內(nèi),恢復(fù)網(wǎng)路的連通性。此外,與其它軟體定義網(wǎng)路技術(shù)相比,Peregrine系統(tǒng)無需使用實(shí)體的OpenFlow交換機(jī),僅需使用目前主流的Ethernet交換機(jī),即可搭建一個(gè)軟件定義網(wǎng)絡(luò)的環(huán)境。
[1]曹小娜.Peregrine智能整合UltraCMOS技術(shù)突破RF性能屏障[J]世界電子元器件,2015,(02):45-48.
[2]袁廣翔.軟件定義網(wǎng)絡(luò)技術(shù)發(fā)展與應(yīng)用研究[J].現(xiàn)代電信科技,2013,(04):45-50.
[3]張順淼.基于軟件定義網(wǎng)絡(luò)的MPLSTE和VPN網(wǎng)絡(luò)實(shí)現(xiàn)方法[J].福州大學(xué)學(xué)報(bào):自然科學(xué)版,2015,(03):340-344.
[4]馬健,董輝,朱慶友.基于面向多對象的網(wǎng)絡(luò)化信息安全風(fēng)險(xiǎn)評估算法研究[J].菏澤學(xué)院學(xué)報(bào),2015,37(05):36:41.
[5]孔欣,李清平.基于Packet Tracer的跨路由器實(shí)現(xiàn)VLAN間通信及分析[J].現(xiàn)代計(jì)算機(jī),2010,(01):126-129.
[6]盧偉,孟婥,孫以澤,等.基于以太網(wǎng)的傳感器數(shù)據(jù)傳輸可靠性設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2015,36(11):2910-2914.
[7]曹劍文.網(wǎng)絡(luò)應(yīng)用協(xié)議識別研究[J].電子技術(shù)與軟件工程,2015,(09):36.
[8]裘瑩,李士寧,徐相森,等.傳感器網(wǎng)絡(luò)鄰居發(fā)現(xiàn)協(xié)議綜述[J].計(jì)算機(jī)學(xué)報(bào),2015,(38):2-6.
[9]李澤琦.Ethernet/IP協(xié)議的分析實(shí)現(xiàn)及在工廠信息化中的應(yīng)用[J].電腦知識與技術(shù),2015,11(27):24-25.
[10]鄔春學(xué),楊洋,楊桂松.基于距離和能量感知的WSN非均勻分簇路由協(xié)議[J].數(shù)據(jù)通信,2015,(05):39-45.
[責(zé)任編輯:王榮榮英文編輯:劉彥哲]
LAN-Based Software-Defined Network Technology
CHENG Yuan-yuan1,DONG Hui1,ZHANG Xiao-guang2
(1.Bozhou Vocational and Technical College,Bozhou,Anhui 236800,China;2.Hebei North University,Zhangjiakou,Hebei 075000,China)
ObjectiveWith the popularity of cloud computing and other new applications,it requires a giant network environment to support its large number of packets transmitted,and this goes beyond the traditional network range manually affordable.To solve this problem,a software was developed to automatically maintain the network device and reduce the waste of resources.MethodsThis paper developed a LAN-based software-defined networking solution:Peregrine(mobile virtual network),which mainly provided three core technologies,namely,network virtualization,dynamic route planning and fast failover.ResultsThe technology allowed CPU resources not to be wasted in the operation of packaging and unpackaging,thus enhancing the efficient use of CPU and network capacity and improving bandwidth utilization and network performance.By simple practical tests,the Peregrine dynamic path planning demonstrated a good performance on balance of traffic load.ConclusionIt is easy to build the network environment with which the CPU efficiency can improve effectively without control of the information for all devices.And the network can dynamically adjust the transmission path of data and quickly recover the web connectivity,thus effectively dispersing traffic to the entire network and achieving the goal of balancing the traffic load.Thereby significantly reducing the cost of network hardware devices,applying to a variety of places and expanding the equipment efficiency provide a solution for future application problems,such as network occlusion,etc.
software-defined network;network virtualization;dynamic path planning;fast failover
2013年安徽省教育廳質(zhì)量工程項(xiàng)目(2013sxzx055);2014年安徽省教育廳大規(guī)模在線開放示范項(xiàng)目(2014mooc074);亳州職業(yè)技術(shù)學(xué)院院級課題:“基于遺傳模擬退火指數(shù)平滑模型的中藥材價(jià)格預(yù)測研究”(BYK1511);亳州職業(yè)技術(shù)學(xué)院軟件技術(shù)專業(yè)綜合教改項(xiàng)目及2016安徽省高校自然科學(xué)研究項(xiàng)重點(diǎn)項(xiàng)目(KJ2016A493)
程媛媛(1986-),女,安徽亳州人,助教,主要從事數(shù)據(jù)挖掘、網(wǎng)絡(luò)方面的研究。
TP 393
A
10.3969/j.issn.1673-1492.2016.09.004