姜典言,張麗茹,李 艷
(中國電子科技集團(tuán)公司第五十四研究所,河北石家莊050081)
目前互聯(lián)網(wǎng)存在先天性的設(shè)計(jì)缺陷,且這些缺陷無法通過局部修改來糾正,因此,下一代網(wǎng)絡(luò)體系結(jié)構(gòu)設(shè)計(jì)應(yīng)運(yùn)而生。2005年,美國國家科學(xué)基金會(huì)(NSF)設(shè)立了未來互聯(lián)網(wǎng)網(wǎng)絡(luò)設(shè)計(jì)(FIND)和GENI兩項(xiàng)計(jì)劃。其中,GENI是一套網(wǎng)絡(luò)研究基礎(chǔ)設(shè)施,主要用來支持網(wǎng)絡(luò)科學(xué)和工程領(lǐng)域的試驗(yàn)性研究,目前正處在原型設(shè)計(jì)階段。GENI能夠支持很大范圍的網(wǎng)絡(luò)科學(xué)和工程試驗(yàn)項(xiàng)目[1],比如基于基礎(chǔ)光纖設(shè)施和新的光交換機(jī)的新協(xié)議和數(shù)據(jù)分發(fā)技術(shù)、新的高速路由器、城域無線網(wǎng)、高端計(jì)算集群以及傳感器網(wǎng)格等[2]。
整個(gè)GENI的體系結(jié)構(gòu)分為3個(gè)層次,為基礎(chǔ)層、聚合層和分塊應(yīng)用層。圖1給出了GENI平臺(tái)的體系結(jié)構(gòu)圖,描述了3層之間關(guān)系。
在基礎(chǔ)層,GENI提供了一套物理設(shè)施(如路由器、處理器、鏈路和無線設(shè)備),該層的設(shè)計(jì)是為了確保物理資源、布局和互聯(lián)拓?fù)淠苤С諫ENI的研究目標(biāo)。基礎(chǔ)層也稱為物理底層,部分設(shè)備對(duì)研究人員是不可見的。

圖1 GENI體系架構(gòu)
聚合層表示所有資源的整體,對(duì)研究人員是可見的,并可以對(duì)所有的資源統(tǒng)一進(jìn)行操作。集合是可以接受和拒絕對(duì)它的調(diào)用操作,集合可以是物理位置(某個(gè)站點(diǎn)的所有組件)、集群(共享物理連接的組件)、配置文件(共享配置信息的組件),或者一個(gè)網(wǎng)絡(luò)(實(shí)現(xiàn)骨干網(wǎng)或無線子網(wǎng)的一群組件)。
分塊應(yīng)用層是分布式網(wǎng)絡(luò)的一個(gè)可編程元素。綁定到某個(gè)特定試驗(yàn)的資源是一個(gè)切片。每個(gè)切片為不同的研究人員提供服務(wù)。GENI包括用來將資源分配到切片的軟件和資源中內(nèi)嵌的切片,并能確保這些切片之間不會(huì)互相干擾。
圖2描述了不同組件連接而成的GENI的物理層,物理層包括GENI網(wǎng)關(guān)、可編程核心節(jié)點(diǎn)、可編程邊界簇、可編程邊界節(jié)點(diǎn)、客戶端、無線接入網(wǎng)絡(luò)、傳感器網(wǎng)絡(luò)和自適應(yīng)網(wǎng)絡(luò)等。

圖2 物理結(jié)構(gòu)
GENI物理層是由諸多物理網(wǎng)絡(luò)部件組成的集合體,其中包括動(dòng)態(tài)光學(xué)平面、轉(zhuǎn)發(fā)器、存儲(chǔ)與處理器集群及無線子網(wǎng)。GENI的部件是可以編程的,可以進(jìn)行嵌入式實(shí)驗(yàn)。
1.2.1 網(wǎng)絡(luò)開放接口有限
GENI好處很多,但是要部署這樣一個(gè)系統(tǒng)是一個(gè)太過昂貴的事情,利用現(xiàn)有互聯(lián)網(wǎng)進(jìn)行實(shí)驗(yàn)不僅滿足真實(shí)網(wǎng)絡(luò)的復(fù)雜度,而且實(shí)驗(yàn)效果更好。互聯(lián)網(wǎng)最關(guān)鍵的節(jié)點(diǎn)就是交換設(shè)備,然而交換設(shè)備被幾家巨頭壟斷,開放的接口十分有限,如何能有一套開放接口、支持控制的交換標(biāo)準(zhǔn)來滿足實(shí)驗(yàn)要求?OpenFlow應(yīng)運(yùn)而生,它不需要生產(chǎn)商公布設(shè)備的內(nèi)部工作原理,同時(shí)又不需要研究人員按照開發(fā)商的指定的規(guī)范去寫控制軟件[3]。OpenFlow技術(shù)在商業(yè)交換機(jī)的基礎(chǔ)上添加流表、安全通道和OpenFlow協(xié)議來獲得了OpenFlow交換機(jī)。這樣,原來完全由交換機(jī)/路由器控制的報(bào)文轉(zhuǎn)發(fā)過程轉(zhuǎn)化為由OpenFlow交換機(jī)和控制器來共同完成,從而實(shí)現(xiàn)了數(shù)據(jù)轉(zhuǎn)發(fā)和路由控制的分離。
1.2.2 異構(gòu)網(wǎng)絡(luò)之間的底層資源如何共享
GENI的底層是各種異構(gòu)網(wǎng)絡(luò),這些異構(gòu)網(wǎng)絡(luò)之間底層資源(如計(jì)算、緩存、帶寬和網(wǎng)絡(luò)拓?fù)涞龋┬枰蚕怼ENI采用了虛擬化技術(shù)來共享底層的資源。早期的虛擬化技術(shù)只關(guān)注在連接的虛擬節(jié)點(diǎn)或在物理節(jié)點(diǎn)之間部署虛擬鏈路,實(shí)現(xiàn)虛擬網(wǎng)的隔離。GENI不僅僅實(shí)現(xiàn)節(jié)點(diǎn)或鏈路的虛擬化,更關(guān)注通過有效的完整隔離實(shí)現(xiàn)服務(wù)器、交換機(jī)和網(wǎng)絡(luò)管理平面的虛擬化。
林強(qiáng)信說,我們其實(shí)是一家人,所以我一直都在關(guān)注著景花廠,關(guān)注著阿花和你。我要沒猜錯(cuò)的話,你們現(xiàn)在又有了難處,對(duì)吧?
(3)網(wǎng)絡(luò)節(jié)點(diǎn)封閉,新的網(wǎng)絡(luò)服務(wù)難以快速實(shí)現(xiàn)
網(wǎng)絡(luò)已越來越需要為用戶定制的網(wǎng)絡(luò)服務(wù)來滿足新的應(yīng)用需求,但是由于網(wǎng)絡(luò)節(jié)點(diǎn)的封閉特性,使得新的網(wǎng)絡(luò)服務(wù)需要漫長的過程才能實(shí)現(xiàn)。GENI采用網(wǎng)絡(luò)可編程技術(shù)為研究者提供良好的服務(wù)支持,不必為了增加網(wǎng)絡(luò)業(yè)務(wù)控制功能而做大量的修改。
GENI采用OpenFlow技術(shù)思想完成數(shù)據(jù)轉(zhuǎn)發(fā)層和控制層的分離,在網(wǎng)絡(luò)中實(shí)現(xiàn)了軟硬件的分離以及底層硬件的虛擬化,利用可編程技術(shù)和網(wǎng)管實(shí)現(xiàn)網(wǎng)絡(luò)可管控性。
隨著網(wǎng)絡(luò)技術(shù)的不斷成熟和發(fā)展,在現(xiàn)有的網(wǎng)絡(luò)設(shè)備及協(xié)議基礎(chǔ)之上,想要對(duì)已有網(wǎng)絡(luò)進(jìn)行創(chuàng)新性試驗(yàn)變得越來越困難。GENI參考利用OpenFlow技術(shù)在現(xiàn)有網(wǎng)絡(luò)上進(jìn)行試驗(yàn)而不影響正常的網(wǎng)絡(luò)通信。
OpenFlow技術(shù)通過開放的流表支持研究者對(duì)網(wǎng)絡(luò)處理行為進(jìn)行控制。OpenFlow網(wǎng)絡(luò)由Open-Flow交換機(jī)、FlowVisor和控制器組成[4]。OpenFlow交換機(jī)進(jìn)行數(shù)據(jù)層的轉(zhuǎn)發(fā);FlowVisor是位于硬件結(jié)構(gòu)和軟件之間的網(wǎng)絡(luò)虛擬層,可以對(duì)網(wǎng)絡(luò)進(jìn)行虛擬化;控制器實(shí)現(xiàn)控制層功能,可以通過事先規(guī)定好的接口操作來控制OpenFlow交換機(jī)中的流表,從而達(dá)到控制數(shù)據(jù)轉(zhuǎn)發(fā)的目的。
OpenFlow交換機(jī)由數(shù)據(jù)流表、安全通道和OpenFlow協(xié)議組成,圖3給出了OpenFlow交換機(jī)的模型。網(wǎng)絡(luò)中的路由和交換設(shè)備最核心的路由和交換信息都存放在“數(shù)據(jù)流表”里,每一條流表項(xiàng)就是一個(gè)轉(zhuǎn)發(fā)規(guī)則。

圖3 OpenFlow交換機(jī)模型
GENI借鑒PlantLab和其他類似的試驗(yàn)床,通過搭建一個(gè)開放、大規(guī)模、現(xiàn)實(shí)的實(shí)驗(yàn)設(shè)施,代表終端用戶承載真實(shí)流量并連接現(xiàn)有互聯(lián)網(wǎng)到外部站點(diǎn)[5]。GENI從空間和時(shí)間2個(gè)方面將資源以分片形式進(jìn)行虛擬化,為不同網(wǎng)絡(luò)實(shí)驗(yàn)者提供他們需要的網(wǎng)絡(luò)資源,并提供網(wǎng)絡(luò)資源的可操作性、可測(cè)性和安全性。
對(duì)底層硬件的虛擬化允許眾多的研究人員共享一套資源,并且能通過一個(gè)單獨(dú)的物理硬件綜合出多種更高級(jí)功能的虛擬環(huán)境,來提高靈活性。
另外,虛擬化并不意味著每個(gè)分塊都能公平地享有可用資源,因此就導(dǎo)致了不可預(yù)測(cè)的性能。一個(gè)準(zhǔn)入控制機(jī)制能限制任一時(shí)間內(nèi)活動(dòng)分塊個(gè)數(shù),而且可以對(duì)某些分塊做資源隔離。
在時(shí)間上分割資源,意味著資源不能維護(hù)一個(gè)真實(shí)的用戶負(fù)載,因此限制了它對(duì)分布式研究的正確性。GENI資源的某些部分可以用這種方式共享,只要有充足的資源去支持分布式研究。即使引入虛擬化,也需要用一個(gè)準(zhǔn)入控制機(jī)制,限制任意給定時(shí)間活動(dòng)的分塊個(gè)數(shù),類似基于時(shí)間的資源分割。在空間上分割資源,意味著只有有限的研究者可以將給定的資源包含在分塊中。
在OpenFlow交換機(jī)中,虛擬化軟件運(yùn)行在控制器和OpenFlow交換機(jī)之間,虛擬化軟件可支持多個(gè)控制器的同時(shí)運(yùn)行,不同用戶的控制器可以在一個(gè)物理網(wǎng)絡(luò)上定義各自的邏輯網(wǎng)絡(luò)拓?fù)洌偻ㄟ^運(yùn)行在各自控制器上的路由算法來控制數(shù)據(jù)報(bào)文在邏輯拓?fù)渲械霓D(zhuǎn)發(fā)路徑。虛擬化軟件可以使用戶之間相互隔離、互不影響。
可編程技術(shù)主要利用在網(wǎng)絡(luò)節(jié)點(diǎn)中提供標(biāo)準(zhǔn)的網(wǎng)絡(luò)應(yīng)用編程接口向研究者和網(wǎng)絡(luò)業(yè)務(wù)供應(yīng)者提供一個(gè)“開放”的網(wǎng)絡(luò)控制機(jī)制。
在GENI中,轉(zhuǎn)發(fā)層和控制層分離,使得網(wǎng)絡(luò)具有更好的可編程基礎(chǔ),網(wǎng)絡(luò)研究者可以進(jìn)行實(shí)際網(wǎng)絡(luò)中各種試驗(yàn)而不會(huì)干擾正常的網(wǎng)絡(luò)業(yè)務(wù)。GENI可編程網(wǎng)絡(luò)連接拓?fù)淙鐖D2所示,可編程邊界節(jié)點(diǎn)通過GENI網(wǎng)絡(luò)與可編程核心網(wǎng)相連。用戶設(shè)備通過接入網(wǎng)連接到可編程無線節(jié)點(diǎn),可編程無線節(jié)點(diǎn)進(jìn)行幀格式轉(zhuǎn)換。可編程邊界簇通過GENI網(wǎng)關(guān)控制可編程核心網(wǎng)的接入。
GENI的網(wǎng)絡(luò)管理技術(shù)采用分布管理,集中控制。網(wǎng)絡(luò)管理采用運(yùn)維控制和分片控制功能聚合的架構(gòu),這些聚合可以協(xié)同管理一套組件,圖4給出管理體系示意圖。實(shí)驗(yàn)人員需要使用研究者端口進(jìn)行分片和控制試驗(yàn),運(yùn)維端口控制相應(yīng)的子網(wǎng)管理聚合。

圖4 GENI管理架構(gòu)示意圖
GENI采用“螺旋式”開發(fā)過程,第一階段關(guān)注大規(guī)模研究試驗(yàn)中的資源發(fā)現(xiàn)、調(diào)度和控制,以及評(píng)測(cè)GENI的容量。
GENI有試驗(yàn)性網(wǎng)絡(luò)基礎(chǔ)設(shè)施,允許研究人員對(duì)新互聯(lián)網(wǎng)架構(gòu)進(jìn)行與當(dāng)今互聯(lián)網(wǎng)并行的大規(guī)模實(shí)驗(yàn)。目前,GENI正在對(duì)網(wǎng)絡(luò)可編程進(jìn)行測(cè)試,并對(duì)網(wǎng)絡(luò)設(shè)備編程性能進(jìn)行試驗(yàn)。2009年,GENI實(shí)現(xiàn)了新的原始的端到端工作模型的開發(fā)、整合和試運(yùn)行。2010年,GENI把OpenFlow擴(kuò)展安裝到7所大學(xué)以及2個(gè)骨干研究網(wǎng)絡(luò)中。文獻(xiàn)[6]給出Open-Flow交換數(shù)據(jù)平面性能試驗(yàn)的結(jié)果,當(dāng)OpenFlow交換機(jī)過載的數(shù)據(jù)包較小時(shí),吞吐量性能會(huì)變得稍差。通過128K轉(zhuǎn)發(fā)表項(xiàng)轉(zhuǎn)發(fā)的64字節(jié)數(shù)據(jù)包吞吐量性能降低11%,96字節(jié)數(shù)據(jù)包吞吐量性能降低3.5%。通過128K轉(zhuǎn)發(fā)表項(xiàng)轉(zhuǎn)發(fā)的96字節(jié)數(shù)據(jù)包最差情況下,2層交換入負(fù)載性能降低不超過10%。試驗(yàn)證明,在Linux系統(tǒng)中OpenFlow設(shè)備提供很好的性能。
GENI使未來的互聯(lián)網(wǎng)更加安全、可靠、可管理,是一種全新的網(wǎng)絡(luò)架構(gòu)。這里描述了GENI的體系結(jié)構(gòu)和網(wǎng)絡(luò)拓?fù)洌?duì)其關(guān)鍵技術(shù)進(jìn)行重點(diǎn)介紹,最后簡(jiǎn)要介紹了GENI相關(guān)的性能試驗(yàn)。GENI項(xiàng)目的發(fā)展遵循一種結(jié)構(gòu)化的自適應(yīng)螺旋式過程,包括規(guī)劃、設(shè)計(jì)、實(shí)現(xiàn)、集成和應(yīng)用,降低了技術(shù)風(fēng)險(xiǎn)。GENI是一個(gè)全球性的平臺(tái),采用支持聯(lián)盟的設(shè)計(jì),使得不同國家構(gòu)建的類似平臺(tái)能夠連接在一起,讓參與GENI的國家或機(jī)構(gòu)在保持自治的前提下,充分分享它的資源。
[1]黃玉蘭.信息網(wǎng)絡(luò)對(duì)抗系統(tǒng)效能評(píng)估研究[J].無線電工程,2007,37(2):10-13.
[2]劉家俊,王琨,王長山.GENI的研究與設(shè)計(jì)[J].現(xiàn)代電信科技,2008(2):44-47.
[3]畢軍,林萍萍,胡虹雨.一種可演進(jìn)的互聯(lián)網(wǎng)體系結(jié)構(gòu)[J].中興通訊技術(shù),2010(2):6-10.
[4]BIANCO A,BIRKE R.OpenFlow Switching:Data Plane Performance[J].2010 IEEE International Conference on,2010(1):1550-3607.
[5]VORST Van Nathanael,ERAZO Miguel.PrimoGENI:Integrating Real-Time Network Simulation and Emulation in GENI[J].IEEE,2011(6):1-9.
[6]姜明,王保進(jìn),吳春明.網(wǎng)絡(luò)虛擬化與虛擬網(wǎng)映射算法研究[J].電子學(xué)報(bào),2011(39):1315-1320.