黃韜,劉江,張晨,魏亮,劉韻潔
近年來,SDN得到了學術界和工業界的矚目。SDN的基本理念是將控制平面與轉發平面分離,賦予網絡可編程的能力。SDN的控制器也被稱為網絡操作系統(NOS, network operating system),承載了從底層物理設備中剝離出來的控制功能,能夠在遠端集中地對網絡進行控制與管理。SDN的特征使新型網絡業務能夠得到敏捷部署,新的網絡管控功能、策略也能夠在不依賴設備廠商的情況下迅速得到實現。OpenFlow協議[1]是目前用于控制器與網絡設備之間的標準化控制的主流協議之一。
研究者常使用仿真(simulation)、模擬(emulation)平臺或試驗床(testbed)來評估新的網絡設計、算法的性能。由于試驗床中往往承載著更多真實的網絡流量和網絡設備,因此,相比于simulation和emulation平臺,使用試驗床進行的網絡創新試驗更有說服力。為了支持 SDN及其他網絡技術的研究,許多大規模試驗床開始使用 SDN虛擬化技術進行搭建。其核心思路是在統一的物理基礎設施上,利用網絡切片技術[2-4]透明地向不同試驗者提供相互隔離的網絡資源。同時,結合OpenStack等云管理平臺,網絡研究者可以根據自己的實際需求向試驗床動態申請虛擬化的網絡切片資源。此外,試驗床的控制框架可以支持管理者集中管理大多數設備和試驗項目。
許多國家都在基于SDN技術構建大規模網絡試驗床,其中大部分都是基于OpenFlow協議搭建的,這些SDN試驗床吸引了許多研究者在其上部署自己的網絡業務,或驗證網絡本身的一些創新性試驗。通過全球科研者的努力,SDN試驗床對未來網絡體系架構和關鍵技術的創新做出了積極的貢獻。
本文將對 SDN試驗床的設計進行概述,并從設計目標、關鍵技術、網絡部署和特色應用4個方面詳細介紹一些大規模 SDN試驗床的具體實現,包括 GENI OpenFlow 項目[5]、OFELIA[6]、RISE[7]、韓國的OF@TEIN[8]以及作者在SDN網絡創新試驗平臺方面的嘗試。此外,本文還將討論大規模SDN試驗床中所面臨的挑戰。
本節將從3個角度對SDN試驗床進行概述,分別是 SDN試驗床相比傳統網絡試驗床的優勢、大規模SDN試驗床的設計原則以及大規模SDN試驗床的關鍵技術。
傳統的網絡試驗床通常缺少自動化能力和靈活性,而 SDN提供了一個能改變傳統網絡試驗床工作方式的技術路線。采用 SDN系統架構,特別是利用OpenFlow協議來搭建網絡試驗床,能有效解決傳統試驗床靈活性差和無法自動化部署的問題,為新型協議和業務等試驗提供便捷性。SDN帶來的優勢主要在于以下4個方面。
1) 易部署
在非 SDN試驗床中,試驗床的搭建需要管理者手動配置繁多的網絡設備,這一過程煩瑣、耗時,且容易發生配置方面的錯誤。SDN向管理者提供了可編程的接口,使試驗的搭建過程變得更加簡單,SDN試驗床能自動化地完成試驗環境的部署。
2) 控制優化
傳統的網絡設備采取分布式的流量轉發邏輯,缺少全局的網絡視圖,導致轉發策略無法達到全局最優。SDN分離了網絡設備中的控制邏輯和轉發邏輯,集中式的 SDN控制器擁有全局的網絡視圖,因此,SDN應用能夠通過全局信息制訂策略來提高網絡資源的利用率。
3) 更靈活的網絡虛擬化
網絡虛擬化技術是網絡試驗床中的核心技術。傳統的網絡試驗床通常采取分布式配置的方式來實現虛擬化?;?SDN的虛擬平臺能降低虛擬化的復雜性并避免操作錯誤,還能通過先進的自動化算法來提高試驗床中網絡虛擬化的靈活性、可用性和資源利用率。
4) 新型協議和業務試驗便捷化
對新型協議和業務的試驗是試驗床的一個重要指標。傳統的網絡試驗床常常受已部署的物理網絡設備的硬件限制,只能支持OSI中某幾層的試驗。而 SDN將網絡各層的特征抽取出來,在流表的匹配域中進行識別,根據試驗者的需求,可以更加便捷地支持網絡各層新型協議和業務的試驗。
當 SDN試驗床規模變大時,則需要考慮更多理論與實踐的因素,其中比較重要的包含以下4條設計原則。
1) 自動化
在傳統的試驗床中進行試驗需要許多人工配置,這一過程十分復雜且會隨著網絡規模擴大增加出錯的可能性。SDN開放了網絡的可編程能力,同時,計算機虛擬化技術能夠提供虛擬機接口的編排和部署能力。通過結合上述2種技術,SDN試驗床能提供完全自動化配置的網絡試驗環境。
2) 靈活性
能夠支持試驗環境的變化是網絡研究的重要需求之一,例如,當研究一種新的防環算法的性能時,研究者需要在不同規模的網絡環境中進行試驗對比。因此 SDN試驗床應該提供足夠的靈活性,讓研究者能夠按需改變試驗環境中網絡設備的數量以及調整設備間的鏈路帶寬。
3) 可擴展性
相較于傳統網絡,SDN集中控制的特點給其帶來了許多優點,但同時也帶來了可擴展性的問題。特別是當 SDN試驗床在國家級或跨國范圍內進行部署時,可擴展性會成為一個重要的影響因素。因此,需要在架構設計時充分地考慮集中控制與分布(甚至異構)部署的權衡關系。
4) 安全性
安全在所有 IT架構中都是至關重要的。對于SDN試驗床來說,不同的網絡試驗共享相同的物理基礎設施,安全性的保障主要涉及了認證、授權、計費(AAA, authentication authorization accounting)的安全管理和切片技術中的流量隔離技術。
綜合以上設計要素,SDN試驗床可以被認為是“為網絡研究者設計的云網一體化平臺”,為進行網絡研究的租戶提供了計算、存儲以及網絡資源,這些資源的集合通常被稱為“切片”。
部署大規模SDN試驗床包含了多項關鍵技術,本文計劃首先重點研究管理技術、組網技術與切片技術這3項關鍵技術,因為它們是完成試驗床設計目標的核心關鍵和基礎。
1) 管理技術
本文所闡述的管理技術不局限于 SDN的管理(如OF-CONFIG和OVSDB協議等),還包含了虛擬機資源管理以及試驗的運行狀態管理。這些管理技術的集合構成了試驗床的“控制框架”。
在控制框架下,用戶通過前端網頁與試驗床資源進行交互,在前端上提交資源申請,描述試驗所需拓撲與設備參數,控制框架會操作底層物理資源,例如虛擬機和網絡設備等,分配給對應的虛網切片。虛擬機的控制依賴于服務器虛擬化技術[9-10],網絡設備的控制依賴于網絡虛擬化技術,協同管理技術通過調用這2項技術的API來創建和管理虛網切片。當用戶申請的試驗切片被激活后,相關的數據會被收集和分析。當試驗結束后,相關的切片資源將被重新釋放。
管理技術將支撐整個試驗生命周期。除此之外,還會涉及與安全相關的AAA機制、與跨區域擴展性相關的互聯機制。
2) 組網技術
數據平面的組網技術解決了如何在物理和邏輯上連接SDN交換機的問題。在一個純SDN域內,交換機能夠通過銅線或光纖直接相連。而在數據層需要跨越傳統網絡時,交換機則需要通過標簽技術(如MPLS[11])或隧道技術(如GRE[12])連接。
管理/控制平面的組網技術解決了如何連接管理/控制網元的問題。管理模塊包括實現管理功能的軟件,控制模塊包括虛擬化平臺以及試驗用戶所用的SDN控制器。管理/控制平面組網技術主要關心連通問題,通常3層的IP可達性就可以滿足要求。
3) 切片技術
SDN試驗床中網絡虛擬化平臺使用切片技術來隔離不同試驗的流量。由于 SDN采用了集中式架構,因此,虛擬化功能通常以應用的形式被集成在 SDN控制平臺中[13-14]。在許多數據中心中,網絡虛擬化功能負責管理全網的轉發邏輯虛擬化,保證網絡連通基礎上不同虛網流量間的隔離,數據中心的用戶不需要知道網絡底層數據分組轉發的細節。然而,在 SDN試驗床中,虛擬化的場景需求與數據中心虛擬化有所不同,即為了進行網絡本身的創新,試驗床的用戶往往需要控制試驗網中的數據分組轉發機制,而不僅僅是在試驗網上運行業務應用,因此,他們需要擁有自己的 SDN控制器和網絡控制邏輯。因此,SDN試驗床的切片技術需要協同不同用戶的控制器以保證虛網間的流量隔離,并使每個用戶控制器都察覺不到其他虛網切片及控制器的存在。
為了實現以上目標,SDN試驗床的虛擬化平臺也可以在通用SDN控制器平臺外部獨立實現[15-19]。一種典型的方案是基于OpenFlow協議實現,以代理的形式位于 OpenFlow交換機和用戶控制器之間,通過修改OpenFlow消息和利用數據分組中的用戶標簽對控制信令(如 PacketIn、FlowMod等)進行分流,并隔離數據平面上不同試驗切片的流量。
當前,全球已經有多個建設運行的 SDN試驗床,本文將介紹5個典型的大規模SDN試驗床,每個試驗床都將從4個方面進行詳細介紹:試驗床的設計目標與項目進展情況、試驗床的關鍵技術、試驗床的網絡部署情況、試驗床的特色應用。
3.1.1 設計目標與項目進展
GENI由美國國家自然基金(NSF)贊助,通過使用網絡虛擬化技術來進行大規模的網絡創新性試驗,后期由于OpenFlow等SDN技術的提出,GENI重點關注了基于OpenFlow的試驗床。GENI采用螺旋上升的發展方式,在最初2個階段,構建了點到點的發展模型,并且向可進行連續試驗的方向演進。在第3個階段,GENI引進了OpenFlow技術,并且將OpenFlow交換機部署到校園網絡試驗環境中。目前,GENI已經處于第6個階段?,F階段主要目標為以下幾點。1) 以更好的工具和服務吸引更多的試驗;2) 通過部署更多的GENI服務器機架吸引更多學校對 GENI進行支持,從而增大GENI的規模;3) 完善GENI的測量與監測工具。
目前,OpenFlow已經成為GENI重點支持的技術之一。通過OpenFlow技術可以給用戶提供大規模網絡試驗的真實環境,這其中包括GENI的切片和可編程性的核心概念。通過 GENI中 OpenFlow交換機提供的可編程特性,網絡管理者可以自行定義網絡轉發的規則。另外,GENI OpenFlow是開放的,用戶可以通過門戶網站申請自己的試驗切片。
3.1.2 關鍵技術
1) 管理技術
GENI試驗網管理的核心是被稱為控制框架的GCF(GENI control framework),GCF包含4個部分:GMOC、Clearinghouse、Research Tools和Aggregates,其關系如圖1所示。

圖1 GCF組件示意
Aggregates用于給試驗者提供資源,不同的Aggregates提供不同類型的資源,如計算資源、網絡資源等。
Research Tools主要用于試驗者對GENI資源的管理和控制。例如,資源預留工具用于繪制試驗拓撲以及管理切片,測量工具用于測量統計數據,而監測工具可以監測資源的使用情況。
GMOC目前有2個功能:一個是對GENI基礎設施的健康情況進行維護;另一個是作為GENI用戶操作試驗切片的入口。
Clearinghouse將試驗切片、GENI Aggregates和GMOC聯合起來,同時提供認證和授權服務。
GENI控制框架定義了一系列的互聯接口,其中Clearinghouse API是 Clearinghouse與 Tools/Aggregates之間的接口。GENI Aggregates Manager API明確了Tools和Aggregates之間的接口,使GENI Aggregates可以為切片分配資源。GENI AM API是SFA(slice federation architecture)的接口,用來將不同試驗床的資源編排為一個切片,SFA已經應用于PlanetLab、ProtoGENI、ExoGENI、InstaGENI和GENI OpenFlow等多個項目中。
2) 組網技術
GENI根據試驗者的需求和現有的網絡資源來提供多種組網操作。GENI OpenFlow試驗床由控制平面和數據平面組成??刂破矫嬷饕撠煂祿矫嬷羞\行的試驗進行配置和控制。用戶可以通過Internet或隧道進行SSH連接,以接入自己的試驗切片,控制平面上承載的是控制和監測數據的管理流量。
數據平面上同時運行著多個試驗切片。GENI試驗床數據平面的組網技術主要包括以下幾種。
① 全局 VLAN。這是一種最直接的方式。經過協商,所有的網絡都擁有全局唯一的VLAN ID。
② VLAN轉譯。當不同網絡使用互相重疊的VLAN方案時,VLAN轉譯可以解決它們之間的沖突問題,使不同VLAN ID的網絡可以加入同一個試驗中,且試驗中的VLAN ID在每個網絡的邊緣進行轉譯。
③ L2隧道。在經過運營商網絡時,GENI通常使用Q-in-Q方法建立隧道,某些情況下也會使用MPLS技術。
④ 光纖連接。該方法可以為數據平面提供更高的吞吐量。因此,GENI在很多場景下直接使用光纖來連通校園網,并在骨干部分借助了Internet2和NLR的光纖網絡。
3) 切片技術
傳統網絡使用VLAN來實現基本的策略虛擬化,但是在GENI中,為了能夠提供更加靈活的虛擬化方案,GENI使用了基于OpenFlow的網絡虛擬化平臺。網絡虛擬化平臺是控制器和交換機間的透明代理,允許多個用戶的控制器管理同一臺物理OpenFlow交換機。下面是GENI使用的典型方案。
① FlowVisor
FlowVisor是一款支持切片技術的軟件平臺。在這個平臺上,不同的試驗者都可以從底層網絡基礎設施中獲得他們自己獨立的切片,并且用他們自己的SDN控制器對切片進行控制。最初從斯坦福大學發展起來的FlowVisor現在已經廣泛應用在了試驗網絡中。
圖2顯示了FlowVisor的實現框架。通過XML-RPC模塊,FlowVisor可以向用戶提供Web服務。Poll Loop模塊定期監聽FlowVisor事件。FVClassifier模塊維持與物理OpenFlow交換設備的連接、處理I/O請求和記錄OpenFlow交換機端口、性能方面的信息。每一個FVClassifier模塊對應一個OpenFlow交換設備。OFSwitchAccessor模塊幫助FVClassifier模塊接入物理交換機并和FlowVisor相連,然后將來自交換機的OpenFlow消息分發到正確的切片中。FVSlicer模塊維持與控制器的連接,并管理OpenFlow會話和處理控制器發出的信號。Flowspace數據庫使用OpenFlow 12元組存儲來自不同切片的匹配信息。當來自一個物理OpenFlow交換設備的流到達Flowspace數據庫時,OpenFlow消息會先根據切片規則被送到FVSlicer模塊,然后再送至對應的控制器。

圖2 FlowVisor實現框架
FlowVisor的核心規則是將上行消息映射給不同用戶的控制器,并過濾下行消息,從而正確地轉發流量,并保證不同切片流量的隔離。利用FlowVisor,各個切片可以共同使用OpenFlow硬件資源,這些資源主要包括網絡拓撲、鏈路帶寬、設備CPU以及轉發表。FlowVisor對切片使用的策略語言進行了規定,通過FlowVisor,每一個切片都可以控制一系列的流,構成流空間Flowspace,并且每一個切片使用它自己的控制器對其試驗網絡進行管理。
然而,FlowVisor存在一些架構機制上的缺陷。例如,不同試驗切片的流空間不允許重疊,這將導致試驗切片地址空間不能按需分配。另外,FlowVisor只能為用戶提供規模有限的拓撲,該拓撲只能是物理拓撲的一個子集。
② OpenVirteX
OpenVirteX(OVX)由ON.Lab開發,可以將一個物理SDN基礎設備虛擬化成多個SDN虛擬子設備。其核心是一個網絡嵌入模塊,用戶可以基于該模塊利用OVX定制試驗網絡拓撲,并部署控制器,如圖3所示。首先,嵌入模塊從用戶側收到虛擬試驗網絡的信息,如拓撲和地址;然后,網絡嵌入模塊將生成一張虛擬網映射到實際設備的映射表,并將它發送給OVX;接下來,OVX記錄映射信息,并且在物理基礎設施之上實例化試驗網絡切片。當用戶想要變更網絡時,OVX也支持在不中斷試驗流量的情況下更改試驗切片拓撲。

圖3 OpenVirtex架構
與FlowVisor相比,OVX根據接入點信息(例如DPID和端口ID)對切片主機進行辨識,并給每一個切片分配一個獨立的租戶ID。這種方法雖欠缺靈活性,但相比Flowspace的方法更具有實際意義。OVX在入口交換機重寫數據分組的MAC地址來攜帶租戶ID,并且在出口交換機中將MAC地址寫回,因此OVX可以給每一個用戶提供完整的地址空間,供用戶使用。如果用戶的控制器也需要修改MAC地址,那么OVX會將新的MAC地址記錄下來,并據此在出口交換機將新的MAC地址寫回。除此之外,OVX還允許租戶任意配置拓撲,而不受物理拓撲限制。
3.1.3 網絡部署
本節將從校園網和骨干網2個方面介紹GENI OpenFlow的網絡部署,通過協調多個校園網和骨干網資源,研究者可以實施大規模的網絡試驗。
1) 校園網絡部署
OpenFlow網絡最先部署在高校的校園網絡中,包括普林斯頓大學、斯坦福大學、克萊姆森大學和佐治亞理工學院等。園區級的OpenFlow網絡大多進行了混合部署,包括生產網絡、試驗網絡和測試網絡,這些網絡都是基于FlowVisor來實現隔離的。
2) 骨干網絡部署
GENI OpenFlow網絡的核心部分由Internet2和NLR網絡中互聯的OpenFlow交換機組成。圖4展示了GENI OpenFlow骨干網的部署情況[20]:GENI與NLR網絡通過HP6600交換機和NetFPGA交換機進行連接,與Internet2的連接也是通過OpenFlow交換機實現的。
目前,有3個骨干互聯VLAN(3715、3716和3717)運行在核心網中的5臺交換機上。這5臺交換機分別位于圖4所示的5個城市中。VLAN3715和3716在拓撲上呈現一個截斷環型分布,從而預防突發環路的出現,VLAN3717為環型拓撲。每個截斷環型VLAN的截斷處都位于2個不同的鏈路之間。這3個VLAN在核心網中不是互聯的,因此,它們的范圍不應該超越骨干網進入校園網絡。
3.1.4 特色應用
在 GENI上進行了多項未來網絡體系架構試驗,如MobilityFirst的原型設計試驗。MobilityFirst架構不需要任何特殊的網關或代理,就可以提供對移動設備的完全支持和各種服務,包括對無線鏈路斷開重連的穩定支持。GEC12會議上展示了MobilityFirst架構的概念驗證原型,GEC15會議上展示了MobilityFirst在OpenFlow交換機上實現相應的功能。
3.2.1 設計目標與項目進展
歐盟 FP7項目組在 2010年秋季開始部署OFELIA,其主要的設計目標是建立一個多層次、多區域、分布式的未來網絡試驗床,以同時容納生產型流量和試驗型流量。OFELIA部署的第一周期分為了3個階段,第1階段完成了底層基礎設施部署,包括 OpenFlow交換機和虛擬化服務器;第 2階段完成了不同區域的連接,并將 SDN試驗擴展到了無線和光通信領域;第3階段完成控制框架開發,提供了與外部 Internet設施和其他試驗床的互操作能力。OFELIA目前不再對外開放,只對FP7內部成員開放。

圖4 GENI骨干網部署情況
3.2.2 關鍵技術
1) 管理技術
為了支持虛網用戶能對底層物理設施進行管理,并允許用戶接入自己的試驗,OFELIA開發了自己的控制框架[21]OCF(OFELIA control framework)。OCF主要負責資源分配、試驗床的自動化管理,以及試驗切片的生命周期管理。圖5為OCF的設計框架,支持通過基于切片的聯合架構SFA與其他試驗床聯合,整個架構分為門戶、Clearinghouse以及資源管理層3層。

圖5 OCF設計框架
OCF的門戶負責向用戶提供管理切片的相關操作,方便管理員對系統進行管理。Clearinghouse負責同步用戶在不同區域內的試驗賬戶信息,通過部署輕量級LDAP服務器來提供統一的認證服務。Clearinghouse的功能可以在AMsoil中以開發插件的形式進行擴展,其中,AMsoil是一個輕量級的可部署插件的框架,用于創建和管理試驗床的資源。
資源管理層中最基本的模塊是虛擬機管理模塊和 OpenFlow管理模塊。虛擬機管理模塊 AM(aggregate manager)將資源管理模塊的接口綁定在Clearinghouse層上,并負責為試驗切片分配虛擬機。OpenFlow管理模塊是一個基于Opt-in管理器[22]的OpenFlow工具,負責試驗網絡切片規則的管理和配置。
2) 組網技術
為了更為可靠地管控整個試驗網絡,OFELIA還設計了2個帶外網絡用于控制與管理。目前,所有OFELIA平臺的各個區域以hub-spoke拓撲連接。OFELIA hub位于比利時,用來中繼不同區域的試驗流量和控制流量。
OFELIA數據平面跨越所有的OFELIA區域,試驗流量可以跨越歐洲不同的國家和區域,各個網絡區域通過比利時 iMinds的OFELIA hub[6]來連接。如圖 6所示,OFELIA中運行了超過 25個來自不同供應商的 OpenFlow交換機。試驗網中的服務器通常與多個交換機相連,為網絡試驗的部署提供了一個穩定的環境。數據平面通過GEANT骨干網[23]的1 Gbit/s二層專用線路連接,利用OpenvSwitch[24]在公共網絡上搭建的L2隧道作為冗余線路。在管理網和試驗網中,專用線路和隧道以網格狀拓撲部署,同時起到了冗余容錯的作用。

圖6 OFELIA數據平面和控制平面組網示意
OFELIA中不同區域的控制網絡為每個區域分配了私有的IP網段,控制網絡使用OSPF協議根據私有地址進行路由。所有區域的控制網絡都連接到OFELIA hub,其中部分網絡作為冗余備份以保證控制網絡穩定運行。這些連接由GEANT的專用線路或基于Internet的L3隧道實現。每個區域都提供了一些自動化的服務,如LDAP和DNS。OFELIA向用戶提供了控制網絡的遠程接入服務,可通過遠程VPN連接到試驗切片。
OFELIA管理網絡用于監控和管理各個項目以及切片資源。實際上,管理網絡并不是必需的,有些區域可以直接使用控制網絡來實現這些管理功能。
3) 切片技術
OFELIA曾使用FlowVisor來劃分切片,然而FlowVisor存在許多局限性,因此,OFELIA項目的研究人員開發了VeRTIGO來改善FlowVisor的缺陷。圖7描述了VeRTIGO的架構以及VeRTIGO各模塊間的交互。其中,Web UI接受用戶試驗網絡切片的請求,VT Planner執行高效的算法[25],將虛網請求映射到實際物理資源。Storage是用戶記錄映射策略和流統計數據的數據庫。當切片申請被接受后,以下4個模塊對OpenFlow通道進行虛擬化:Classifier根據流的分組頭信息對異步的OpenFlow消息(如PacketIn)進行分類,Node Virtualizer根據用戶的需求實例化邏輯交換機,實現物理交換機到邏輯交換機間的switch ID的轉換,Port Mapper實現物理交換機到邏輯交換機間的Port ID的轉換,Internal Contoller負責下發流表項。

圖7 VeRTIGO設計架構
3.2.3 網絡部署
OFELIA項目從2010年9月開始啟動,最初分別在 iMinds、布里斯托爾大學、ETHZ、i2CAT和TUB這 5個區域建立了試驗床,到目前為止,OFELIA的規模已經發展超過10個區域,如圖8所示。OFELIA的第一個建設階段持續了3年。第一個階段完成后,OFELIA已經建設成了一個可編程、可擴展、協議無關且能快速部署網絡創新的真實網絡試驗環境。目前OFELIA是一個可管控、盡力而為的服務提供商。基于 OpenFlow協議,OFELIA允許試驗部署在多層次、多區域的網絡上,為未來網絡的技術創新提供了真實的試驗環境。

圖8 OFELIA部署情況
3.2.4 特色應用
在OFELIA上實施的基于SDN和OpenFlow的ICN架構試驗,不僅能夠支持現有的CCNx應用程序,還能夠支持所有基于CCN/NDN的ICN協議,可拓展性非常強。
3.3.1 設計目標和項目進展
2009年以來,日本信息通信研究機構NICT一直在 JGN-X[26]上開發用于大規模網絡試驗研究的基礎設施(RISE),其目標是為網絡研究者提供一個多租戶、大規模的環境,用于驗證 SDN試驗。RISE向公眾開放,而且被授權的用戶可以自己決定所獲取RISE資源的試驗要求[27]。至今為止,RISE已經更新了3個版本。
RISE 1.0發布于2009年,其OpenFlow交換機之間使用 Q-in-Q[28]傳送用戶數據分組,不支持切片,試驗用戶需要占用整個OpenFlow網絡,也無法向用戶提供虛擬機。2011年11月,RISE 2.0發布,相比RISE1.0有了3個主要的改進:物理基礎設施可以由多用戶共享;用偽線(Pseudo-Wire)技術替代Q-in-Q實現站點互聯;可以向用戶提供虛擬機。不過RISE2.0仍然存在以下2個問題:并發用戶容量??;底層網絡拓撲結構不靈活。為了解決這些問題,NICT于2014年在RISE 3.0中設計出分層的OpenFlow網絡,包括用戶切片層、拓撲虛擬化層以及物理路徑層。
3.3.2 關鍵技術
1) 管理技術
RISE旨在按照用戶要求提供定制的可自動部署的SDN試驗。RISE3.0中發展起來的RISE編排器[29]可以幫助RISE管理員管理網絡和用戶試驗。
RISE中通過瀏覽器和用戶進行交互,使用RESTful應用編程接口接收試驗配置和監視試驗狀態。項目管理器管理所有的底層資源和上層試驗并指導相關管理模塊提供虛擬服務器和虛擬機。通過發送和接收幀,RISE編排器可以知道物理網絡和用戶預配置的試驗網絡的全部拓撲信息,該信息可用于管理物理OpenFlow交換機中的流表項,用戶可以方便、快捷地使用RISE編排器定制試驗。
2) 組網技術
JGN-X是一個基于VLAN的網絡試驗床,RISE起初在JGN-X中使用Q-in-Q運行覆蓋網絡,然而使用Q-in-Q技術導致了很多問題。自RISE2.0之后,人們一致認為 EoMPLS技術是最適合管理 JGN-X中OpenFlow網絡的技術。
Q-in-Q隧道技術中,內部標簽被稱之為用戶VLAN標簽(C-VLAN),它用于本地且對運營商網絡透明。外部標簽被稱之為運營商 VLAN標簽(S-VLAN),在運營商網絡唯一地標識一個用戶。RISE1.0中使用Q-in-Q隧道,當一個帶有C-VLAN標簽的數據分組到達JGN-X網絡,在入口設備上加入一個S-VLAN來穿越JGN-X網絡,并在出口設備處移除S-VLAN。當使用Q-in-Q時,RISE用戶的物理地址不得不暴露給JGN-X交換機,因此,當用戶網絡連接大量設備時,這些可能會導致JGN-X交換機的MAC表項溢出。
MPLS是一種可以封裝多種網絡協議的高性能通信組網機制,EoMPLS部署在運營商的網絡邊緣,維護以太網VLAN標簽和MPLS標簽之間用于隧道技術的映射關系。RISE2.0采用EoMPLS的偽線技術,用來替代Q-in-Q,因為轉發依賴于MPLS標簽而不是物理地址,解決了JGN-X交換機MAC表項溢出的問題。除此之外,一個MPLS標簽比VLAN標簽更長,使RISE的組網擴展性更好。
3) 切片技術
在RISE1.0中,用戶請求在RISE上進行試驗時,直到試驗完成前,將會一直占用整個OpenFlow資源,即RISE1.0是基于時間進行切片的,沒有遵照多租戶的初始設計目標。RISE2.0可以同時提供16個虛擬交換機實例,為了區分不同切片的流量,用戶虛擬機使用特定的VLAN標簽來發分組,所以VLAN字段必須對用戶的控制器隱藏。雖然 RISE2.0在一定程度上實現了網絡切片,但16個切片數量是不可拓展的,而且該方法也不夠靈活,因為每個切片的拓撲是由固定的JGN-X拓撲決定的。
在 RISE3.0中,為了得到更多的、靈活的切片,RISE網絡和JGN-X網絡之間嵌入了拓撲虛擬化層[30]。如圖9所示,拓撲虛擬化層通過物理地址重寫將“邏輯路徑”映射至JGN-X網絡,從而從JGN-X網絡中分離出用戶OpenFlow網絡的拓撲。基于這種方法,切片的規模拓展了2~3倍,最大數量可以超過 50個。然而,使用物理地址重寫依然有一些缺點,例如,地址重寫將會給網絡排錯帶來麻煩,分組重寫也會帶來更多開銷。

圖9 RISE通過改寫MAC地址來實現網絡切片
3.3.3 網絡部署
至今為止,RISE有10個日本站點和3個其他地區站點[31](分別為洛杉磯、曼谷和新加坡),它們都被稱之為 EVN,如圖 10所示。EVN之上是OpenFlow網絡和 OpenFlow交換機,所有的OpenFlow網絡都是建立在EVN之上的邏輯(虛擬)網絡,東京作為拓撲中心直聯洛杉磯、曼谷和新加坡。雖然物理的部署不是一個全網狀拓撲,但是用戶可以通過拓撲虛擬化層請求多樣化的拓撲來進行試驗。
3.3.4 特色應用
RISE上的Snow Festive應用實現了世界上第一例在長距離IP網絡情況下的8K視頻流傳輸,成功支持了IP網絡下速度超過36 Gbit/s的4K/8K無壓縮傳輸和速度在1 Gbit/s以內的HD/4K壓縮視頻流傳輸。

圖10 RISE部署情況
3.4.1 設計目標和項目進展
OF@TEIN發起于2012年,由韓國政府通過國家信息社會局贊助。它的目標是在 TEIN4(trans-eurasia information network 4)上逐漸建立起支持OpenFlow的SDN試驗床。OF@TEIN由韓國大學和國際合作機構聯合執行,由韓國光州科技學會牽頭。OF@TEIN的設計側重于3個任務:設計SmartX機架并進行驗證、多站點部署和互聯、開發一些有用的SDN工具。OF@TEIN目前不再對公眾開放。
3.4.2 關鍵技術
1) 管理技術
參考 OFELIA管理技術,OF@TEIN開發了OF@TEIN Portal,可以通過試驗用戶界面創造切片和監視試驗狀態。通過前端接口,SmartX機架和網絡資源可以被聚合起來為試驗提供所需資源。OF@TEIN還建立了 SmartX自動中心用來管理基礎設施。
2) 組網技術
OF@TEIN網絡通過具有 OpenFlow感知封裝器功能的 NVGRE隧道技術實現站點互聯[32]。在OF@TEIN的每一個站點內已經設計、開發和部署了各種類型的SmartX 機架,這些機架要么是包含連接到虛擬機服務器的 OpenvSwitch,要么是包含連接到虛擬機服務器的OpenFlow數據平面設備。這些站點中,跨廣域網互聯的數據平面由 SmartX機架中的隧道封裝節點實施。
OF@TEIN的控制和管理網絡被設計成一個帶外的覆蓋網絡,除了使用OpenFlow控制隧道轉發之外,OF@TEIN管理員還可以通過OVSDB協議遠程管理隧道[33],這增強了站點間組網的自動化能力。
3) 切片技術
OF@TEIN使用FlowVisor進行基于VLAN的切片。用戶的Flowspace包括switch ID和Port ID,流量在入口交換機處被標記上切片的VLAN,沿途交換機發送PacketIn消息時會攜帶該VLAN標識,FlowVisor通過該標識在不同試驗用戶的控制器間進行分流,在出口交換機處該 VLAN標識會被剝離掉。
3.4.3 網絡部署
如圖11所示,OF@TEIN[34]通過TEIN4國際網絡將分布在7個國家(韓國、印度尼西亞、馬來西亞、泰國、越南、菲律賓以及巴基斯坦)的 12個站點連接起來。在圖 11中,實線和虛線分別表示主要路徑和次要路徑。

圖11 OF@TEIN部署情況
3.4.4 特色應用
在OF@TEIN上進行的原型媒體分發試驗定義了清晰的實驗生命周期,基于 SDN和資源預留技術,擴展了基于工作流的實驗控制策略,同時更好地發揮了DevOps工具在實驗生命周期各階段提供自動部署的能力。
3.5.1 設計目標和項目進展
2012年開始,北京郵電大學和江蘇省未來網絡創新研究院聯合構建了一個基于SDN的試驗網—— 計算存儲網絡協同管控的虛擬化網絡試驗平臺(C-Lab)。
C-Lab的主要目標是為了支撐國家級“未來網絡試驗設施(CENI)”項目的建設,服務下一代網絡體系架構和關鍵技術的研究,支持創新型網絡體系架構和關鍵技術的試驗驗證,如服務定制網絡SCN(service customized networking)、應用驅動網絡AND(application driving network)、超融合網絡、物聯網、工業互聯網、4K/8K/AR/VR、云計算等。CENI的核心技術主要包括可擴展的網絡操作系統、網絡虛擬化平臺、可編程芯片、轉發設備以及網絡安全技術等。目前,CENI項目已經正式立項啟動,包含IPv6、可編程網絡、SDN等多條技術路線,C-Lab的相關成果將為CENI項目中構建一個端到端SDN試驗網提供有力支撐。
C-Lab平臺項目的發展分2期進行,一期是基礎平臺構建,重點完成基礎試驗網絡建設,完成光網絡融合、無線網絡接入、業務應用等幾個方面的建設與初步應用試驗示范,實現內部開放運行;二期在第一期基礎上進一步擴大網絡規模,實現虛網之間的高效隔離,同時增加網絡管理、網絡測量、網絡安全、云計算、物聯網、應用工具等方面的建設,進行了更大規模的測試試驗與應用示范,正式上線開放運行。
目前,C-Lab平臺通過解決網絡虛擬化標識、資源映射、計算存儲融合等問題,已經支持了一批網絡領域基金項目的成果試驗驗證,促進了科研成果更加接近實際應用環境,加快了科研成果的產業化速度,取得了階段性的成果。
3.5.2 關鍵技術
1) 管理技術
C-Lab研發了試驗平臺的控制框架CCF,通過CCF管理平臺,可以對底層各種網絡資源進行調度與整合,并對平臺的參數進行設置,以便試驗用戶的相關操作。一個C-Lab試驗的生命周期包括3個階段:設計、執行和完成。第1個階段,用戶登錄CCF門戶并根據自己的需求設計他們的試驗,負責虛擬化的CNVP模塊調用底層可用資源來創建虛擬網絡切片。第2個階段,用戶登錄創建的控制器節點和虛擬機節點進行試驗。第3個階段,用戶完成試驗,獲取數據并釋放資源。此外,隨著跨域組網、多域協同管控、多功能試驗網元等需求的出現,C-Lab還繼續研發了SDN跨域虛網通信、網絡服務編排以及虛擬網元管理技術,進一步豐富了管控平面功能。
2) 組網技術
考慮到試驗平臺的可擴展性、設備性價比、協議支持靈活性等因素,C-Lab試驗平臺初期建設采用了部署更加靈活的Open vSwitch方案,即通過在多網卡服務器上安裝 Open vSwitch,以實現OpenFlow交換機功能。初期采用這種方式可以按需創建虛擬交換節點、動態更改網絡拓撲以及配置網絡資源,方便試驗者進行各種試驗以及對OpenFlow技術的探索和使用。
隨著 SDN產業的發展,同時為了增加試驗平臺的設備多樣性,C-Lab逐步引入了支持OpenFlow的商用 SDN設備作為網絡核心節點。在保證設備靈活性、協議支持度以及流表匹配功能等基本特征的基礎上,根據不同的業務需求分別部署在匯聚和出口位置。
3) 切片技術
C-Lab借鑒了GENI中FlowVisor的虛擬化切片方案,并在此基礎上應用了團隊研發的基于 SDN的高效隔離的網絡虛擬化技術—— CNVP技術。CNVP針對當前網絡虛擬化技術依賴于分布式協議、效率低的問題,基于軟件定義網絡技術實現了集中式高效率的網絡虛擬化系統,重點攻克了其中的3個關鍵問題:基于SDN集中代理節點上下行信令實時處理的虛擬化切片技術、基于 SDN的虛擬化流規則沖突的檢測與隔離技術以及低時延高資源利用率聯合優化的虛擬網絡映射算法。
3.5.3 網絡部署
C-Lab總體為分級分域結構,在每個域部署一個控制器,從而共同組成基礎控制平面,提供虛擬化網絡切片服務,域間部署超級控制器管理跨域流量。目前,北京郵電大學已建成30多個核心節點和部分接入節點,覆蓋北京郵電大學新科研樓、網絡中心、主樓、教三樓等區域,并與江蘇省未來網絡創新研究院、華南理工大學、華中科技大學、西安交通大學、重慶郵電大學等網絡節點通過隧道實現了互聯。
3.5.4 特色應用
在 C-Lab 上運行著國內多個高校和研究機構的關于未來網絡架構和關鍵技術的研究,例如,面向服務的未來網絡體系架構、ONOS控制器故障檢測模塊、內容中心網絡等。
SDN試驗床的網絡切片機制能夠對試驗床的物理資源進行切分并重新整合分配給不同的用戶,這對于網絡的動態靈活性和資源利用率提升具有重要意義。
基于流空間和基于固定標簽是目前常用的2種切片標識思路。在基于流空間中,基于 OpenFlow v1.0開發的第一代SDN切片工具FlowVisor作為透明代理位于 SDN控制器和底層交換機之間。FlowVisor利用了OpenFlow v1.0中的12元組進行切片,但仍存在不少局限性,比如虛網和物理網絡沒有完全解耦,虛網拓撲受限于物理拓撲,基于流空間的切片標識方式也無法做到地址虛擬化。在基于固定標簽中,VLAN標簽通常被用作切片標識,GENI、OFELIA和RISE都有用到VLAN標簽,但VLAN標簽有限的位數只能容納不超過4 096張虛網,有可能不滿足現實需求。
后續的多個研究方案就 FlowVisor在切片標識、鏈路虛擬化、節點虛擬化上的局限性做出了針對性的改進。例如,OVX利用改寫MAC地址的方式來實現地址虛擬化,同時也避免了使用VLAN標簽而導致的虛網容量瓶頸。OFELIA中的 VeRTIGO使用了鏈路虛擬化技術來解耦虛網拓撲與物理拓撲。
切片技術領域仍然有許多問題值得進一步研究。目前,切片方案大多重點關注數據層面的地址虛擬化和拓撲虛擬化,對控制層的性能隔離研究較少。在網絡虛擬化場景中,虛網的控制流量一般會經過切片工具,若缺少好的隔離機制,虛網的性能同樣會受到影響。此外,切片技術可以結合先進的虛擬化映射算法來提供更加靈活的虛擬化方案[35-37]。同時,當試驗床的規模進一步增長時,切片工具的擴展性可能會成為性能瓶頸,如何設計滿足大規模網絡切片需求的虛擬化系統也是一個重點的研究方向。
為了支持在不同網絡域多樣化的研究,SDN試驗床在數據平面不應該僅僅是基于 SDN交換機,而且應該支持 SDN無線和光設備,并且應該仔細考慮現存IP或電路域設備的兼容性,各類型異構設備都應該能以某種方式互聯、控制和管理。
許多 SDN試驗床已經在研究這個問題。GENI將SDN引入WiMAX并實現了軟件定義無線接入的原型系統。通過將GMPLS整合到OpenFlow控制器中,OFELIA支持了對光交換的控制。為了拓展OpenFlow試驗床能力,RISE也致力于為試驗床提供不同的接入方式。
當前,多種類設備組網技術可以歸類為以下2種。第一種是在相應的網絡域拓展 SDN南向協議,比如 OpenFlow;第二種是兼容當前控制和管理技術,如SNMP和GMPLS,將其作為SDN控制器和 SDN轉發設備的翻譯器。除此之外,控制上的相關協議應用也需要統一的控制,例如,Alien是OFELIA的一個子項目,它提出了硬件抽象層,用于多種設備組網的系統查詢。
SDN技術帶來了網絡的可編程性,與此同時也導致了一些安全漏洞,這將直接威脅基于 SDN的網絡試驗床的穩定性:在網絡試驗床上并發運行的試驗數量眾多,而且網絡試驗環境處于動態變化之中,如果沒有可靠的安全機制確保試驗的正常運行,當試驗環境受到惡意或無意的攻擊時,這些并行的網絡試驗一定會互相干擾,從而導致試驗數據的失真,甚至導致系統的崩潰。因此,試驗床必須采取有效的安全機制,保證試驗環境之間的獨立性以及試驗資源調度的合理性。目前,因為控制平面與數據平面相對隔離,SDN在網絡安全方面有一定的特殊性,針對這種特殊架構的SDN安全解決方案仍在不斷研究中,并成為了一個重要的方向。
網絡正在向虛擬化和軟件化發展,這種趨勢下,應用具有低成本、高控制精度和部署靈活的優勢。然而,在這種軟件定義的網絡環境下,試驗床系統的可靠性問題比較復雜。例如,傳統的故障檢測機制使用心跳機制,即遠程節點在足夠長的時間內沒有心跳則顯示出錯。然而 SDN試驗床在控制平面和數據平面之間引入虛擬控制平面,以實現虛擬資源向物理資源的映射,由于SDN網絡的控制/數據/虛擬化多元網絡域問題,實現可靠的軟件體系的試驗床變得更加困難。目前,盡管在各個網絡域如OpenFlow交換節點、數據平面鏈路層以及控制器集群,都有一些對于故障恢復的研究,但是在針對分離網絡域的失敗檢測和故障恢復的統一管理方面仍有很大的研究空間。
本文對全球 SDN試驗床的研究和建設進行了綜述性介紹。首先討論了 SDN試驗床相比傳統網絡試驗床的優勢以及大規模 SDN試驗床的基本設計原則;其次從項目目標與進展情況、關鍵技術、網絡部署和特色應用4個方面對已有的網絡試驗床項目進行了深入分析;最后介紹了該領域面臨的挑戰和未來可行的研究方向。
基于 SDN技術構建網絡試驗床是一個仍在發展完善中的技術方向,不僅有利于對網絡技術創新進行驗證,也為基于新網絡技術進行網絡建設、網絡運營和網絡管理提供了一定的借鑒和參考,有助于未來網絡能夠更快更好的發展。