姜典言,張麗茹,李 艷
(中國電子科技集團公司第五十四研究所,河北石家莊050081)
目前互聯(lián)網(wǎng)存在先天性的設計缺陷,且這些缺陷無法通過局部修改來糾正,因此,下一代網(wǎng)絡體系結(jié)構(gòu)設計應運而生。2005年,美國國家科學基金會(NSF)設立了未來互聯(lián)網(wǎng)網(wǎng)絡設計(FIND)和GENI兩項計劃。其中,GENI是一套網(wǎng)絡研究基礎設施,主要用來支持網(wǎng)絡科學和工程領域的試驗性研究,目前正處在原型設計階段。GENI能夠支持很大范圍的網(wǎng)絡科學和工程試驗項目[1],比如基于基礎光纖設施和新的光交換機的新協(xié)議和數(shù)據(jù)分發(fā)技術(shù)、新的高速路由器、城域無線網(wǎng)、高端計算集群以及傳感器網(wǎng)格等[2]。
整個GENI的體系結(jié)構(gòu)分為3個層次,為基礎層、聚合層和分塊應用層。圖1給出了GENI平臺的體系結(jié)構(gòu)圖,描述了3層之間關(guān)系。
在基礎層,GENI提供了一套物理設施(如路由器、處理器、鏈路和無線設備),該層的設計是為了確保物理資源、布局和互聯(lián)拓撲能支持GENI的研究目標?;A層也稱為物理底層,部分設備對研究人員是不可見的。
圖1 GENI體系架構(gòu)
聚合層表示所有資源的整體,對研究人員是可見的,并可以對所有的資源統(tǒng)一進行操作。集合是可以接受和拒絕對它的調(diào)用操作,集合可以是物理位置(某個站點的所有組件)、集群(共享物理連接的組件)、配置文件(共享配置信息的組件),或者一個網(wǎng)絡(實現(xiàn)骨干網(wǎng)或無線子網(wǎng)的一群組件)。
分塊應用層是分布式網(wǎng)絡的一個可編程元素。綁定到某個特定試驗的資源是一個切片。每個切片為不同的研究人員提供服務。GENI包括用來將資源分配到切片的軟件和資源中內(nèi)嵌的切片,并能確保這些切片之間不會互相干擾。
圖2描述了不同組件連接而成的GENI的物理層,物理層包括GENI網(wǎng)關(guān)、可編程核心節(jié)點、可編程邊界簇、可編程邊界節(jié)點、客戶端、無線接入網(wǎng)絡、傳感器網(wǎng)絡和自適應網(wǎng)絡等。
圖2 物理結(jié)構(gòu)
GENI物理層是由諸多物理網(wǎng)絡部件組成的集合體,其中包括動態(tài)光學平面、轉(zhuǎn)發(fā)器、存儲與處理器集群及無線子網(wǎng)。GENI的部件是可以編程的,可以進行嵌入式實驗。
1.2.1 網(wǎng)絡開放接口有限
GENI好處很多,但是要部署這樣一個系統(tǒng)是一個太過昂貴的事情,利用現(xiàn)有互聯(lián)網(wǎng)進行實驗不僅滿足真實網(wǎng)絡的復雜度,而且實驗效果更好。互聯(lián)網(wǎng)最關(guān)鍵的節(jié)點就是交換設備,然而交換設備被幾家巨頭壟斷,開放的接口十分有限,如何能有一套開放接口、支持控制的交換標準來滿足實驗要求?OpenFlow應運而生,它不需要生產(chǎn)商公布設備的內(nèi)部工作原理,同時又不需要研究人員按照開發(fā)商的指定的規(guī)范去寫控制軟件[3]。OpenFlow技術(shù)在商業(yè)交換機的基礎上添加流表、安全通道和OpenFlow協(xié)議來獲得了OpenFlow交換機。這樣,原來完全由交換機/路由器控制的報文轉(zhuǎn)發(fā)過程轉(zhuǎn)化為由OpenFlow交換機和控制器來共同完成,從而實現(xiàn)了數(shù)據(jù)轉(zhuǎn)發(fā)和路由控制的分離。
1.2.2 異構(gòu)網(wǎng)絡之間的底層資源如何共享
GENI的底層是各種異構(gòu)網(wǎng)絡,這些異構(gòu)網(wǎng)絡之間底層資源(如計算、緩存、帶寬和網(wǎng)絡拓撲等)需要共享。GENI采用了虛擬化技術(shù)來共享底層的資源。早期的虛擬化技術(shù)只關(guān)注在連接的虛擬節(jié)點或在物理節(jié)點之間部署虛擬鏈路,實現(xiàn)虛擬網(wǎng)的隔離。GENI不僅僅實現(xiàn)節(jié)點或鏈路的虛擬化,更關(guān)注通過有效的完整隔離實現(xiàn)服務器、交換機和網(wǎng)絡管理平面的虛擬化。
林強信說,我們其實是一家人,所以我一直都在關(guān)注著景花廠,關(guān)注著阿花和你。我要沒猜錯的話,你們現(xiàn)在又有了難處,對吧?
(3)網(wǎng)絡節(jié)點封閉,新的網(wǎng)絡服務難以快速實現(xiàn)
網(wǎng)絡已越來越需要為用戶定制的網(wǎng)絡服務來滿足新的應用需求,但是由于網(wǎng)絡節(jié)點的封閉特性,使得新的網(wǎng)絡服務需要漫長的過程才能實現(xiàn)。GENI采用網(wǎng)絡可編程技術(shù)為研究者提供良好的服務支持,不必為了增加網(wǎng)絡業(yè)務控制功能而做大量的修改。
GENI采用OpenFlow技術(shù)思想完成數(shù)據(jù)轉(zhuǎn)發(fā)層和控制層的分離,在網(wǎng)絡中實現(xiàn)了軟硬件的分離以及底層硬件的虛擬化,利用可編程技術(shù)和網(wǎng)管實現(xiàn)網(wǎng)絡可管控性。
隨著網(wǎng)絡技術(shù)的不斷成熟和發(fā)展,在現(xiàn)有的網(wǎng)絡設備及協(xié)議基礎之上,想要對已有網(wǎng)絡進行創(chuàng)新性試驗變得越來越困難。GENI參考利用OpenFlow技術(shù)在現(xiàn)有網(wǎng)絡上進行試驗而不影響正常的網(wǎng)絡通信。
OpenFlow技術(shù)通過開放的流表支持研究者對網(wǎng)絡處理行為進行控制。OpenFlow網(wǎng)絡由Open-Flow交換機、FlowVisor和控制器組成[4]。OpenFlow交換機進行數(shù)據(jù)層的轉(zhuǎn)發(fā);FlowVisor是位于硬件結(jié)構(gòu)和軟件之間的網(wǎng)絡虛擬層,可以對網(wǎng)絡進行虛擬化;控制器實現(xiàn)控制層功能,可以通過事先規(guī)定好的接口操作來控制OpenFlow交換機中的流表,從而達到控制數(shù)據(jù)轉(zhuǎn)發(fā)的目的。
OpenFlow交換機由數(shù)據(jù)流表、安全通道和OpenFlow協(xié)議組成,圖3給出了OpenFlow交換機的模型。網(wǎng)絡中的路由和交換設備最核心的路由和交換信息都存放在“數(shù)據(jù)流表”里,每一條流表項就是一個轉(zhuǎn)發(fā)規(guī)則。
圖3 OpenFlow交換機模型
GENI借鑒PlantLab和其他類似的試驗床,通過搭建一個開放、大規(guī)模、現(xiàn)實的實驗設施,代表終端用戶承載真實流量并連接現(xiàn)有互聯(lián)網(wǎng)到外部站點[5]。GENI從空間和時間2個方面將資源以分片形式進行虛擬化,為不同網(wǎng)絡實驗者提供他們需要的網(wǎng)絡資源,并提供網(wǎng)絡資源的可操作性、可測性和安全性。
對底層硬件的虛擬化允許眾多的研究人員共享一套資源,并且能通過一個單獨的物理硬件綜合出多種更高級功能的虛擬環(huán)境,來提高靈活性。
另外,虛擬化并不意味著每個分塊都能公平地享有可用資源,因此就導致了不可預測的性能。一個準入控制機制能限制任一時間內(nèi)活動分塊個數(shù),而且可以對某些分塊做資源隔離。
在時間上分割資源,意味著資源不能維護一個真實的用戶負載,因此限制了它對分布式研究的正確性。GENI資源的某些部分可以用這種方式共享,只要有充足的資源去支持分布式研究。即使引入虛擬化,也需要用一個準入控制機制,限制任意給定時間活動的分塊個數(shù),類似基于時間的資源分割。在空間上分割資源,意味著只有有限的研究者可以將給定的資源包含在分塊中。
在OpenFlow交換機中,虛擬化軟件運行在控制器和OpenFlow交換機之間,虛擬化軟件可支持多個控制器的同時運行,不同用戶的控制器可以在一個物理網(wǎng)絡上定義各自的邏輯網(wǎng)絡拓撲,再通過運行在各自控制器上的路由算法來控制數(shù)據(jù)報文在邏輯拓撲中的轉(zhuǎn)發(fā)路徑。虛擬化軟件可以使用戶之間相互隔離、互不影響。
可編程技術(shù)主要利用在網(wǎng)絡節(jié)點中提供標準的網(wǎng)絡應用編程接口向研究者和網(wǎng)絡業(yè)務供應者提供一個“開放”的網(wǎng)絡控制機制。
在GENI中,轉(zhuǎn)發(fā)層和控制層分離,使得網(wǎng)絡具有更好的可編程基礎,網(wǎng)絡研究者可以進行實際網(wǎng)絡中各種試驗而不會干擾正常的網(wǎng)絡業(yè)務。GENI可編程網(wǎng)絡連接拓撲如圖2所示,可編程邊界節(jié)點通過GENI網(wǎng)絡與可編程核心網(wǎng)相連。用戶設備通過接入網(wǎng)連接到可編程無線節(jié)點,可編程無線節(jié)點進行幀格式轉(zhuǎn)換??删幊踢吔绱赝ㄟ^GENI網(wǎng)關(guān)控制可編程核心網(wǎng)的接入。
GENI的網(wǎng)絡管理技術(shù)采用分布管理,集中控制。網(wǎng)絡管理采用運維控制和分片控制功能聚合的架構(gòu),這些聚合可以協(xié)同管理一套組件,圖4給出管理體系示意圖。實驗人員需要使用研究者端口進行分片和控制試驗,運維端口控制相應的子網(wǎng)管理聚合。
圖4 GENI管理架構(gòu)示意圖
GENI采用“螺旋式”開發(fā)過程,第一階段關(guān)注大規(guī)模研究試驗中的資源發(fā)現(xiàn)、調(diào)度和控制,以及評測GENI的容量。
GENI有試驗性網(wǎng)絡基礎設施,允許研究人員對新互聯(lián)網(wǎng)架構(gòu)進行與當今互聯(lián)網(wǎng)并行的大規(guī)模實驗。目前,GENI正在對網(wǎng)絡可編程進行測試,并對網(wǎng)絡設備編程性能進行試驗。2009年,GENI實現(xiàn)了新的原始的端到端工作模型的開發(fā)、整合和試運行。2010年,GENI把OpenFlow擴展安裝到7所大學以及2個骨干研究網(wǎng)絡中。文獻[6]給出Open-Flow交換數(shù)據(jù)平面性能試驗的結(jié)果,當OpenFlow交換機過載的數(shù)據(jù)包較小時,吞吐量性能會變得稍差。通過128K轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)的64字節(jié)數(shù)據(jù)包吞吐量性能降低11%,96字節(jié)數(shù)據(jù)包吞吐量性能降低3.5%。通過128K轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)的96字節(jié)數(shù)據(jù)包最差情況下,2層交換入負載性能降低不超過10%。試驗證明,在Linux系統(tǒng)中OpenFlow設備提供很好的性能。
GENI使未來的互聯(lián)網(wǎng)更加安全、可靠、可管理,是一種全新的網(wǎng)絡架構(gòu)。這里描述了GENI的體系結(jié)構(gòu)和網(wǎng)絡拓撲,并對其關(guān)鍵技術(shù)進行重點介紹,最后簡要介紹了GENI相關(guān)的性能試驗。GENI項目的發(fā)展遵循一種結(jié)構(gòu)化的自適應螺旋式過程,包括規(guī)劃、設計、實現(xiàn)、集成和應用,降低了技術(shù)風險。GENI是一個全球性的平臺,采用支持聯(lián)盟的設計,使得不同國家構(gòu)建的類似平臺能夠連接在一起,讓參與GENI的國家或機構(gòu)在保持自治的前提下,充分分享它的資源。
[1]黃玉蘭.信息網(wǎng)絡對抗系統(tǒng)效能評估研究[J].無線電工程,2007,37(2):10-13.
[2]劉家俊,王琨,王長山.GENI的研究與設計[J].現(xiàn)代電信科技,2008(2):44-47.
[3]畢軍,林萍萍,胡虹雨.一種可演進的互聯(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]姜明,王保進,吳春明.網(wǎng)絡虛擬化與虛擬網(wǎng)映射算法研究[J].電子學報,2011(39):1315-1320.