黃韜,劉江,張晨,魏亮,劉韻潔
近年來(lái),SDN得到了學(xué)術(shù)界和工業(yè)界的矚目。SDN的基本理念是將控制平面與轉(zhuǎn)發(fā)平面分離,賦予網(wǎng)絡(luò)可編程的能力。SDN的控制器也被稱(chēng)為網(wǎng)絡(luò)操作系統(tǒng)(NOS, network operating system),承載了從底層物理設(shè)備中剝離出來(lái)的控制功能,能夠在遠(yuǎn)端集中地對(duì)網(wǎng)絡(luò)進(jìn)行控制與管理。SDN的特征使新型網(wǎng)絡(luò)業(yè)務(wù)能夠得到敏捷部署,新的網(wǎng)絡(luò)管控功能、策略也能夠在不依賴(lài)設(shè)備廠商的情況下迅速得到實(shí)現(xiàn)。OpenFlow協(xié)議[1]是目前用于控制器與網(wǎng)絡(luò)設(shè)備之間的標(biāo)準(zhǔn)化控制的主流協(xié)議之一。
研究者常使用仿真(simulation)、模擬(emulation)平臺(tái)或試驗(yàn)床(testbed)來(lái)評(píng)估新的網(wǎng)絡(luò)設(shè)計(jì)、算法的性能。由于試驗(yàn)床中往往承載著更多真實(shí)的網(wǎng)絡(luò)流量和網(wǎng)絡(luò)設(shè)備,因此,相比于simulation和emulation平臺(tái),使用試驗(yàn)床進(jìn)行的網(wǎng)絡(luò)創(chuàng)新試驗(yàn)更有說(shuō)服力。為了支持 SDN及其他網(wǎng)絡(luò)技術(shù)的研究,許多大規(guī)模試驗(yàn)床開(kāi)始使用 SDN虛擬化技術(shù)進(jìn)行搭建。其核心思路是在統(tǒng)一的物理基礎(chǔ)設(shè)施上,利用網(wǎng)絡(luò)切片技術(shù)[2-4]透明地向不同試驗(yàn)者提供相互隔離的網(wǎng)絡(luò)資源。同時(shí),結(jié)合OpenStack等云管理平臺(tái),網(wǎng)絡(luò)研究者可以根據(jù)自己的實(shí)際需求向試驗(yàn)床動(dòng)態(tài)申請(qǐng)?zhí)摂M化的網(wǎng)絡(luò)切片資源。此外,試驗(yàn)床的控制框架可以支持管理者集中管理大多數(shù)設(shè)備和試驗(yàn)項(xiàng)目。
許多國(guó)家都在基于SDN技術(shù)構(gòu)建大規(guī)模網(wǎng)絡(luò)試驗(yàn)床,其中大部分都是基于OpenFlow協(xié)議搭建的,這些SDN試驗(yàn)床吸引了許多研究者在其上部署自己的網(wǎng)絡(luò)業(yè)務(wù),或驗(yàn)證網(wǎng)絡(luò)本身的一些創(chuàng)新性試驗(yàn)。通過(guò)全球科研者的努力,SDN試驗(yàn)床對(duì)未來(lái)網(wǎng)絡(luò)體系架構(gòu)和關(guān)鍵技術(shù)的創(chuàng)新做出了積極的貢獻(xiàn)。
本文將對(duì) SDN試驗(yàn)床的設(shè)計(jì)進(jìn)行概述,并從設(shè)計(jì)目標(biāo)、關(guān)鍵技術(shù)、網(wǎng)絡(luò)部署和特色應(yīng)用4個(gè)方面詳細(xì)介紹一些大規(guī)模 SDN試驗(yàn)床的具體實(shí)現(xiàn),包括 GENI OpenFlow 項(xiàng)目[5]、OFELIA[6]、RISE[7]、韓國(guó)的OF@TEIN[8]以及作者在SDN網(wǎng)絡(luò)創(chuàng)新試驗(yàn)平臺(tái)方面的嘗試。此外,本文還將討論大規(guī)模SDN試驗(yàn)床中所面臨的挑戰(zhàn)。
本節(jié)將從3個(gè)角度對(duì)SDN試驗(yàn)床進(jìn)行概述,分別是 SDN試驗(yàn)床相比傳統(tǒng)網(wǎng)絡(luò)試驗(yàn)床的優(yōu)勢(shì)、大規(guī)模SDN試驗(yàn)床的設(shè)計(jì)原則以及大規(guī)模SDN試驗(yàn)床的關(guān)鍵技術(shù)。
傳統(tǒng)的網(wǎng)絡(luò)試驗(yàn)床通常缺少自動(dòng)化能力和靈活性,而 SDN提供了一個(gè)能改變傳統(tǒng)網(wǎng)絡(luò)試驗(yàn)床工作方式的技術(shù)路線。采用 SDN系統(tǒng)架構(gòu),特別是利用OpenFlow協(xié)議來(lái)搭建網(wǎng)絡(luò)試驗(yàn)床,能有效解決傳統(tǒng)試驗(yàn)床靈活性差和無(wú)法自動(dòng)化部署的問(wèn)題,為新型協(xié)議和業(yè)務(wù)等試驗(yàn)提供便捷性。SDN帶來(lái)的優(yōu)勢(shì)主要在于以下4個(gè)方面。
1) 易部署
在非 SDN試驗(yàn)床中,試驗(yàn)床的搭建需要管理者手動(dòng)配置繁多的網(wǎng)絡(luò)設(shè)備,這一過(guò)程煩瑣、耗時(shí),且容易發(fā)生配置方面的錯(cuò)誤。SDN向管理者提供了可編程的接口,使試驗(yàn)的搭建過(guò)程變得更加簡(jiǎn)單,SDN試驗(yàn)床能自動(dòng)化地完成試驗(yàn)環(huán)境的部署。
2) 控制優(yōu)化
傳統(tǒng)的網(wǎng)絡(luò)設(shè)備采取分布式的流量轉(zhuǎn)發(fā)邏輯,缺少全局的網(wǎng)絡(luò)視圖,導(dǎo)致轉(zhuǎn)發(fā)策略無(wú)法達(dá)到全局最優(yōu)。SDN分離了網(wǎng)絡(luò)設(shè)備中的控制邏輯和轉(zhuǎn)發(fā)邏輯,集中式的 SDN控制器擁有全局的網(wǎng)絡(luò)視圖,因此,SDN應(yīng)用能夠通過(guò)全局信息制訂策略來(lái)提高網(wǎng)絡(luò)資源的利用率。
3) 更靈活的網(wǎng)絡(luò)虛擬化
網(wǎng)絡(luò)虛擬化技術(shù)是網(wǎng)絡(luò)試驗(yàn)床中的核心技術(shù)。傳統(tǒng)的網(wǎng)絡(luò)試驗(yàn)床通常采取分布式配置的方式來(lái)實(shí)現(xiàn)虛擬化。基于 SDN的虛擬平臺(tái)能降低虛擬化的復(fù)雜性并避免操作錯(cuò)誤,還能通過(guò)先進(jìn)的自動(dòng)化算法來(lái)提高試驗(yàn)床中網(wǎng)絡(luò)虛擬化的靈活性、可用性和資源利用率。
4) 新型協(xié)議和業(yè)務(wù)試驗(yàn)便捷化
對(duì)新型協(xié)議和業(yè)務(wù)的試驗(yàn)是試驗(yàn)床的一個(gè)重要指標(biāo)。傳統(tǒng)的網(wǎng)絡(luò)試驗(yàn)床常常受已部署的物理網(wǎng)絡(luò)設(shè)備的硬件限制,只能支持OSI中某幾層的試驗(yàn)。而 SDN將網(wǎng)絡(luò)各層的特征抽取出來(lái),在流表的匹配域中進(jìn)行識(shí)別,根據(jù)試驗(yàn)者的需求,可以更加便捷地支持網(wǎng)絡(luò)各層新型協(xié)議和業(yè)務(wù)的試驗(yàn)。
當(dāng) SDN試驗(yàn)床規(guī)模變大時(shí),則需要考慮更多理論與實(shí)踐的因素,其中比較重要的包含以下4條設(shè)計(jì)原則。
1) 自動(dòng)化
在傳統(tǒng)的試驗(yàn)床中進(jìn)行試驗(yàn)需要許多人工配置,這一過(guò)程十分復(fù)雜且會(huì)隨著網(wǎng)絡(luò)規(guī)模擴(kuò)大增加出錯(cuò)的可能性。SDN開(kāi)放了網(wǎng)絡(luò)的可編程能力,同時(shí),計(jì)算機(jī)虛擬化技術(shù)能夠提供虛擬機(jī)接口的編排和部署能力。通過(guò)結(jié)合上述2種技術(shù),SDN試驗(yàn)床能提供完全自動(dòng)化配置的網(wǎng)絡(luò)試驗(yàn)環(huán)境。
2) 靈活性
能夠支持試驗(yàn)環(huán)境的變化是網(wǎng)絡(luò)研究的重要需求之一,例如,當(dāng)研究一種新的防環(huán)算法的性能時(shí),研究者需要在不同規(guī)模的網(wǎng)絡(luò)環(huán)境中進(jìn)行試驗(yàn)對(duì)比。因此 SDN試驗(yàn)床應(yīng)該提供足夠的靈活性,讓研究者能夠按需改變?cè)囼?yàn)環(huán)境中網(wǎng)絡(luò)設(shè)備的數(shù)量以及調(diào)整設(shè)備間的鏈路帶寬。
3) 可擴(kuò)展性
相較于傳統(tǒng)網(wǎng)絡(luò),SDN集中控制的特點(diǎn)給其帶來(lái)了許多優(yōu)點(diǎn),但同時(shí)也帶來(lái)了可擴(kuò)展性的問(wèn)題。特別是當(dāng) SDN試驗(yàn)床在國(guó)家級(jí)或跨國(guó)范圍內(nèi)進(jìn)行部署時(shí),可擴(kuò)展性會(huì)成為一個(gè)重要的影響因素。因此,需要在架構(gòu)設(shè)計(jì)時(shí)充分地考慮集中控制與分布(甚至異構(gòu))部署的權(quán)衡關(guān)系。
4) 安全性
安全在所有 IT架構(gòu)中都是至關(guān)重要的。對(duì)于SDN試驗(yàn)床來(lái)說(shuō),不同的網(wǎng)絡(luò)試驗(yàn)共享相同的物理基礎(chǔ)設(shè)施,安全性的保障主要涉及了認(rèn)證、授權(quán)、計(jì)費(fèi)(AAA, authentication authorization accounting)的安全管理和切片技術(shù)中的流量隔離技術(shù)。
綜合以上設(shè)計(jì)要素,SDN試驗(yàn)床可以被認(rèn)為是“為網(wǎng)絡(luò)研究者設(shè)計(jì)的云網(wǎng)一體化平臺(tái)”,為進(jìn)行網(wǎng)絡(luò)研究的租戶(hù)提供了計(jì)算、存儲(chǔ)以及網(wǎng)絡(luò)資源,這些資源的集合通常被稱(chēng)為“切片”。
部署大規(guī)模SDN試驗(yàn)床包含了多項(xiàng)關(guān)鍵技術(shù),本文計(jì)劃首先重點(diǎn)研究管理技術(shù)、組網(wǎng)技術(shù)與切片技術(shù)這3項(xiàng)關(guān)鍵技術(shù),因?yàn)樗鼈兪峭瓿稍囼?yàn)床設(shè)計(jì)目標(biāo)的核心關(guān)鍵和基礎(chǔ)。
1) 管理技術(shù)
本文所闡述的管理技術(shù)不局限于 SDN的管理(如OF-CONFIG和OVSDB協(xié)議等),還包含了虛擬機(jī)資源管理以及試驗(yàn)的運(yùn)行狀態(tài)管理。這些管理技術(shù)的集合構(gòu)成了試驗(yàn)床的“控制框架”。
在控制框架下,用戶(hù)通過(guò)前端網(wǎng)頁(yè)與試驗(yàn)床資源進(jìn)行交互,在前端上提交資源申請(qǐng),描述試驗(yàn)所需拓?fù)渑c設(shè)備參數(shù),控制框架會(huì)操作底層物理資源,例如虛擬機(jī)和網(wǎng)絡(luò)設(shè)備等,分配給對(duì)應(yīng)的虛網(wǎng)切片。虛擬機(jī)的控制依賴(lài)于服務(wù)器虛擬化技術(shù)[9-10],網(wǎng)絡(luò)設(shè)備的控制依賴(lài)于網(wǎng)絡(luò)虛擬化技術(shù),協(xié)同管理技術(shù)通過(guò)調(diào)用這2項(xiàng)技術(shù)的API來(lái)創(chuàng)建和管理虛網(wǎng)切片。當(dāng)用戶(hù)申請(qǐng)的試驗(yàn)切片被激活后,相關(guān)的數(shù)據(jù)會(huì)被收集和分析。當(dāng)試驗(yàn)結(jié)束后,相關(guān)的切片資源將被重新釋放。
管理技術(shù)將支撐整個(gè)試驗(yàn)生命周期。除此之外,還會(huì)涉及與安全相關(guān)的AAA機(jī)制、與跨區(qū)域擴(kuò)展性相關(guān)的互聯(lián)機(jī)制。
2) 組網(wǎng)技術(shù)
數(shù)據(jù)平面的組網(wǎng)技術(shù)解決了如何在物理和邏輯上連接SDN交換機(jī)的問(wèn)題。在一個(gè)純SDN域內(nèi),交換機(jī)能夠通過(guò)銅線或光纖直接相連。而在數(shù)據(jù)層需要跨越傳統(tǒng)網(wǎng)絡(luò)時(shí),交換機(jī)則需要通過(guò)標(biāo)簽技術(shù)(如MPLS[11])或隧道技術(shù)(如GRE[12])連接。
管理/控制平面的組網(wǎng)技術(shù)解決了如何連接管理/控制網(wǎng)元的問(wèn)題。管理模塊包括實(shí)現(xiàn)管理功能的軟件,控制模塊包括虛擬化平臺(tái)以及試驗(yàn)用戶(hù)所用的SDN控制器。管理/控制平面組網(wǎng)技術(shù)主要關(guān)心連通問(wèn)題,通常3層的IP可達(dá)性就可以滿足要求。
3) 切片技術(shù)
SDN試驗(yàn)床中網(wǎng)絡(luò)虛擬化平臺(tái)使用切片技術(shù)來(lái)隔離不同試驗(yàn)的流量。由于 SDN采用了集中式架構(gòu),因此,虛擬化功能通常以應(yīng)用的形式被集成在 SDN控制平臺(tái)中[13-14]。在許多數(shù)據(jù)中心中,網(wǎng)絡(luò)虛擬化功能負(fù)責(zé)管理全網(wǎng)的轉(zhuǎn)發(fā)邏輯虛擬化,保證網(wǎng)絡(luò)連通基礎(chǔ)上不同虛網(wǎng)流量間的隔離,數(shù)據(jù)中心的用戶(hù)不需要知道網(wǎng)絡(luò)底層數(shù)據(jù)分組轉(zhuǎn)發(fā)的細(xì)節(jié)。然而,在 SDN試驗(yàn)床中,虛擬化的場(chǎng)景需求與數(shù)據(jù)中心虛擬化有所不同,即為了進(jìn)行網(wǎng)絡(luò)本身的創(chuàng)新,試驗(yàn)床的用戶(hù)往往需要控制試驗(yàn)網(wǎng)中的數(shù)據(jù)分組轉(zhuǎn)發(fā)機(jī)制,而不僅僅是在試驗(yàn)網(wǎng)上運(yùn)行業(yè)務(wù)應(yīng)用,因此,他們需要擁有自己的 SDN控制器和網(wǎng)絡(luò)控制邏輯。因此,SDN試驗(yàn)床的切片技術(shù)需要協(xié)同不同用戶(hù)的控制器以保證虛網(wǎng)間的流量隔離,并使每個(gè)用戶(hù)控制器都察覺(jué)不到其他虛網(wǎng)切片及控制器的存在。
為了實(shí)現(xiàn)以上目標(biāo),SDN試驗(yàn)床的虛擬化平臺(tái)也可以在通用SDN控制器平臺(tái)外部獨(dú)立實(shí)現(xiàn)[15-19]。一種典型的方案是基于OpenFlow協(xié)議實(shí)現(xiàn),以代理的形式位于 OpenFlow交換機(jī)和用戶(hù)控制器之間,通過(guò)修改OpenFlow消息和利用數(shù)據(jù)分組中的用戶(hù)標(biāo)簽對(duì)控制信令(如 PacketIn、FlowMod等)進(jìn)行分流,并隔離數(shù)據(jù)平面上不同試驗(yàn)切片的流量。
當(dāng)前,全球已經(jīng)有多個(gè)建設(shè)運(yùn)行的 SDN試驗(yàn)床,本文將介紹5個(gè)典型的大規(guī)模SDN試驗(yàn)床,每個(gè)試驗(yàn)床都將從4個(gè)方面進(jìn)行詳細(xì)介紹:試驗(yàn)床的設(shè)計(jì)目標(biāo)與項(xiàng)目進(jìn)展情況、試驗(yàn)床的關(guān)鍵技術(shù)、試驗(yàn)床的網(wǎng)絡(luò)部署情況、試驗(yàn)床的特色應(yīng)用。
3.1.1 設(shè)計(jì)目標(biāo)與項(xiàng)目進(jìn)展
GENI由美國(guó)國(guó)家自然基金(NSF)贊助,通過(guò)使用網(wǎng)絡(luò)虛擬化技術(shù)來(lái)進(jìn)行大規(guī)模的網(wǎng)絡(luò)創(chuàng)新性試驗(yàn),后期由于OpenFlow等SDN技術(shù)的提出,GENI重點(diǎn)關(guān)注了基于OpenFlow的試驗(yàn)床。GENI采用螺旋上升的發(fā)展方式,在最初2個(gè)階段,構(gòu)建了點(diǎn)到點(diǎn)的發(fā)展模型,并且向可進(jìn)行連續(xù)試驗(yàn)的方向演進(jìn)。在第3個(gè)階段,GENI引進(jìn)了OpenFlow技術(shù),并且將OpenFlow交換機(jī)部署到校園網(wǎng)絡(luò)試驗(yàn)環(huán)境中。目前,GENI已經(jīng)處于第6個(gè)階段。現(xiàn)階段主要目標(biāo)為以下幾點(diǎn)。1) 以更好的工具和服務(wù)吸引更多的試驗(yàn);2) 通過(guò)部署更多的GENI服務(wù)器機(jī)架吸引更多學(xué)校對(duì) GENI進(jìn)行支持,從而增大GENI的規(guī)模;3) 完善GENI的測(cè)量與監(jiān)測(cè)工具。
目前,OpenFlow已經(jīng)成為GENI重點(diǎn)支持的技術(shù)之一。通過(guò)OpenFlow技術(shù)可以給用戶(hù)提供大規(guī)模網(wǎng)絡(luò)試驗(yàn)的真實(shí)環(huán)境,這其中包括GENI的切片和可編程性的核心概念。通過(guò) GENI中 OpenFlow交換機(jī)提供的可編程特性,網(wǎng)絡(luò)管理者可以自行定義網(wǎng)絡(luò)轉(zhuǎn)發(fā)的規(guī)則。另外,GENI OpenFlow是開(kāi)放的,用戶(hù)可以通過(guò)門(mén)戶(hù)網(wǎng)站申請(qǐng)自己的試驗(yàn)切片。
3.1.2 關(guān)鍵技術(shù)
1) 管理技術(shù)
GENI試驗(yàn)網(wǎng)管理的核心是被稱(chēng)為控制框架的GCF(GENI control framework),GCF包含4個(gè)部分:GMOC、Clearinghouse、Research Tools和Aggregates,其關(guān)系如圖1所示。
圖1 GCF組件示意
Aggregates用于給試驗(yàn)者提供資源,不同的Aggregates提供不同類(lèi)型的資源,如計(jì)算資源、網(wǎng)絡(luò)資源等。
Research Tools主要用于試驗(yàn)者對(duì)GENI資源的管理和控制。例如,資源預(yù)留工具用于繪制試驗(yàn)拓?fù)湟约肮芾砬衅?,測(cè)量工具用于測(cè)量統(tǒng)計(jì)數(shù)據(jù),而監(jiān)測(cè)工具可以監(jiān)測(cè)資源的使用情況。
GMOC目前有2個(gè)功能:一個(gè)是對(duì)GENI基礎(chǔ)設(shè)施的健康情況進(jìn)行維護(hù);另一個(gè)是作為GENI用戶(hù)操作試驗(yàn)切片的入口。
Clearinghouse將試驗(yàn)切片、GENI Aggregates和GMOC聯(lián)合起來(lái),同時(shí)提供認(rèn)證和授權(quán)服務(wù)。
GENI控制框架定義了一系列的互聯(lián)接口,其中Clearinghouse API是 Clearinghouse與 Tools/Aggregates之間的接口。GENI Aggregates Manager API明確了Tools和Aggregates之間的接口,使GENI Aggregates可以為切片分配資源。GENI AM API是SFA(slice federation architecture)的接口,用來(lái)將不同試驗(yàn)床的資源編排為一個(gè)切片,SFA已經(jīng)應(yīng)用于PlanetLab、ProtoGENI、ExoGENI、InstaGENI和GENI OpenFlow等多個(gè)項(xiàng)目中。
2) 組網(wǎng)技術(shù)
GENI根據(jù)試驗(yàn)者的需求和現(xiàn)有的網(wǎng)絡(luò)資源來(lái)提供多種組網(wǎng)操作。GENI OpenFlow試驗(yàn)床由控制平面和數(shù)據(jù)平面組成??刂破矫嬷饕?fù)責(zé)對(duì)數(shù)據(jù)平面中運(yùn)行的試驗(yàn)進(jìn)行配置和控制。用戶(hù)可以通過(guò)Internet或隧道進(jìn)行SSH連接,以接入自己的試驗(yàn)切片,控制平面上承載的是控制和監(jiān)測(cè)數(shù)據(jù)的管理流量。
數(shù)據(jù)平面上同時(shí)運(yùn)行著多個(gè)試驗(yàn)切片。GENI試驗(yàn)床數(shù)據(jù)平面的組網(wǎng)技術(shù)主要包括以下幾種。
① 全局 VLAN。這是一種最直接的方式。經(jīng)過(guò)協(xié)商,所有的網(wǎng)絡(luò)都擁有全局唯一的VLAN ID。
② VLAN轉(zhuǎn)譯。當(dāng)不同網(wǎng)絡(luò)使用互相重疊的VLAN方案時(shí),VLAN轉(zhuǎn)譯可以解決它們之間的沖突問(wèn)題,使不同VLAN ID的網(wǎng)絡(luò)可以加入同一個(gè)試驗(yàn)中,且試驗(yàn)中的VLAN ID在每個(gè)網(wǎng)絡(luò)的邊緣進(jìn)行轉(zhuǎn)譯。
③ L2隧道。在經(jīng)過(guò)運(yùn)營(yíng)商網(wǎng)絡(luò)時(shí),GENI通常使用Q-in-Q方法建立隧道,某些情況下也會(huì)使用MPLS技術(shù)。
④ 光纖連接。該方法可以為數(shù)據(jù)平面提供更高的吞吐量。因此,GENI在很多場(chǎng)景下直接使用光纖來(lái)連通校園網(wǎng),并在骨干部分借助了Internet2和NLR的光纖網(wǎng)絡(luò)。
3) 切片技術(shù)
傳統(tǒng)網(wǎng)絡(luò)使用VLAN來(lái)實(shí)現(xiàn)基本的策略虛擬化,但是在GENI中,為了能夠提供更加靈活的虛擬化方案,GENI使用了基于OpenFlow的網(wǎng)絡(luò)虛擬化平臺(tái)。網(wǎng)絡(luò)虛擬化平臺(tái)是控制器和交換機(jī)間的透明代理,允許多個(gè)用戶(hù)的控制器管理同一臺(tái)物理OpenFlow交換機(jī)。下面是GENI使用的典型方案。
① FlowVisor
FlowVisor是一款支持切片技術(shù)的軟件平臺(tái)。在這個(gè)平臺(tái)上,不同的試驗(yàn)者都可以從底層網(wǎng)絡(luò)基礎(chǔ)設(shè)施中獲得他們自己獨(dú)立的切片,并且用他們自己的SDN控制器對(duì)切片進(jìn)行控制。最初從斯坦福大學(xué)發(fā)展起來(lái)的FlowVisor現(xiàn)在已經(jīng)廣泛應(yīng)用在了試驗(yàn)網(wǎng)絡(luò)中。
圖2顯示了FlowVisor的實(shí)現(xiàn)框架。通過(guò)XML-RPC模塊,F(xiàn)lowVisor可以向用戶(hù)提供Web服務(wù)。Poll Loop模塊定期監(jiān)聽(tīng)FlowVisor事件。FVClassifier模塊維持與物理OpenFlow交換設(shè)備的連接、處理I/O請(qǐng)求和記錄OpenFlow交換機(jī)端口、性能方面的信息。每一個(gè)FVClassifier模塊對(duì)應(yīng)一個(gè)OpenFlow交換設(shè)備。OFSwitchAccessor模塊幫助FVClassifier模塊接入物理交換機(jī)并和FlowVisor相連,然后將來(lái)自交換機(jī)的OpenFlow消息分發(fā)到正確的切片中。FVSlicer模塊維持與控制器的連接,并管理OpenFlow會(huì)話和處理控制器發(fā)出的信號(hào)。Flowspace數(shù)據(jù)庫(kù)使用OpenFlow 12元組存儲(chǔ)來(lái)自不同切片的匹配信息。當(dāng)來(lái)自一個(gè)物理OpenFlow交換設(shè)備的流到達(dá)Flowspace數(shù)據(jù)庫(kù)時(shí),OpenFlow消息會(huì)先根據(jù)切片規(guī)則被送到FVSlicer模塊,然后再送至對(duì)應(yīng)的控制器。
圖2 FlowVisor實(shí)現(xiàn)框架
FlowVisor的核心規(guī)則是將上行消息映射給不同用戶(hù)的控制器,并過(guò)濾下行消息,從而正確地轉(zhuǎn)發(fā)流量,并保證不同切片流量的隔離。利用FlowVisor,各個(gè)切片可以共同使用OpenFlow硬件資源,這些資源主要包括網(wǎng)絡(luò)拓?fù)?、鏈路帶寬、設(shè)備CPU以及轉(zhuǎn)發(fā)表。FlowVisor對(duì)切片使用的策略語(yǔ)言進(jìn)行了規(guī)定,通過(guò)FlowVisor,每一個(gè)切片都可以控制一系列的流,構(gòu)成流空間Flowspace,并且每一個(gè)切片使用它自己的控制器對(duì)其試驗(yàn)網(wǎng)絡(luò)進(jìn)行管理。
然而,F(xiàn)lowVisor存在一些架構(gòu)機(jī)制上的缺陷。例如,不同試驗(yàn)切片的流空間不允許重疊,這將導(dǎo)致試驗(yàn)切片地址空間不能按需分配。另外,F(xiàn)lowVisor只能為用戶(hù)提供規(guī)模有限的拓?fù)?,該拓?fù)渲荒苁俏锢硗負(fù)涞囊粋€(gè)子集。
② OpenVirteX
OpenVirteX(OVX)由ON.Lab開(kāi)發(fā),可以將一個(gè)物理SDN基礎(chǔ)設(shè)備虛擬化成多個(gè)SDN虛擬子設(shè)備。其核心是一個(gè)網(wǎng)絡(luò)嵌入模塊,用戶(hù)可以基于該模塊利用OVX定制試驗(yàn)網(wǎng)絡(luò)拓?fù)?,并部署控制器,如圖3所示。首先,嵌入模塊從用戶(hù)側(cè)收到虛擬試驗(yàn)網(wǎng)絡(luò)的信息,如拓?fù)浜偷刂?;然后,網(wǎng)絡(luò)嵌入模塊將生成一張?zhí)摂M網(wǎng)映射到實(shí)際設(shè)備的映射表,并將它發(fā)送給OVX;接下來(lái),OVX記錄映射信息,并且在物理基礎(chǔ)設(shè)施之上實(shí)例化試驗(yàn)網(wǎng)絡(luò)切片。當(dāng)用戶(hù)想要變更網(wǎng)絡(luò)時(shí),OVX也支持在不中斷試驗(yàn)流量的情況下更改試驗(yàn)切片拓?fù)洹?/p>
圖3 OpenVirtex架構(gòu)
與FlowVisor相比,OVX根據(jù)接入點(diǎn)信息(例如DPID和端口ID)對(duì)切片主機(jī)進(jìn)行辨識(shí),并給每一個(gè)切片分配一個(gè)獨(dú)立的租戶(hù)ID。這種方法雖欠缺靈活性,但相比Flowspace的方法更具有實(shí)際意義。OVX在入口交換機(jī)重寫(xiě)數(shù)據(jù)分組的MAC地址來(lái)攜帶租戶(hù)ID,并且在出口交換機(jī)中將MAC地址寫(xiě)回,因此OVX可以給每一個(gè)用戶(hù)提供完整的地址空間,供用戶(hù)使用。如果用戶(hù)的控制器也需要修改MAC地址,那么OVX會(huì)將新的MAC地址記錄下來(lái),并據(jù)此在出口交換機(jī)將新的MAC地址寫(xiě)回。除此之外,OVX還允許租戶(hù)任意配置拓?fù)?,而不受物理拓?fù)湎拗啤?/p>
3.1.3 網(wǎng)絡(luò)部署
本節(jié)將從校園網(wǎng)和骨干網(wǎng)2個(gè)方面介紹GENI OpenFlow的網(wǎng)絡(luò)部署,通過(guò)協(xié)調(diào)多個(gè)校園網(wǎng)和骨干網(wǎng)資源,研究者可以實(shí)施大規(guī)模的網(wǎng)絡(luò)試驗(yàn)。
1) 校園網(wǎng)絡(luò)部署
OpenFlow網(wǎng)絡(luò)最先部署在高校的校園網(wǎng)絡(luò)中,包括普林斯頓大學(xué)、斯坦福大學(xué)、克萊姆森大學(xué)和佐治亞理工學(xué)院等。園區(qū)級(jí)的OpenFlow網(wǎng)絡(luò)大多進(jìn)行了混合部署,包括生產(chǎn)網(wǎng)絡(luò)、試驗(yàn)網(wǎng)絡(luò)和測(cè)試網(wǎng)絡(luò),這些網(wǎng)絡(luò)都是基于FlowVisor來(lái)實(shí)現(xiàn)隔離的。
2) 骨干網(wǎng)絡(luò)部署
GENI OpenFlow網(wǎng)絡(luò)的核心部分由Internet2和NLR網(wǎng)絡(luò)中互聯(lián)的OpenFlow交換機(jī)組成。圖4展示了GENI OpenFlow骨干網(wǎng)的部署情況[20]:GENI與NLR網(wǎng)絡(luò)通過(guò)HP6600交換機(jī)和NetFPGA交換機(jī)進(jìn)行連接,與Internet2的連接也是通過(guò)OpenFlow交換機(jī)實(shí)現(xiàn)的。
目前,有3個(gè)骨干互聯(lián)VLAN(3715、3716和3717)運(yùn)行在核心網(wǎng)中的5臺(tái)交換機(jī)上。這5臺(tái)交換機(jī)分別位于圖4所示的5個(gè)城市中。VLAN3715和3716在拓?fù)渖铣尸F(xiàn)一個(gè)截?cái)喹h(huán)型分布,從而預(yù)防突發(fā)環(huán)路的出現(xiàn),VLAN3717為環(huán)型拓?fù)?。每個(gè)截?cái)喹h(huán)型VLAN的截?cái)嗵幎嘉挥?個(gè)不同的鏈路之間。這3個(gè)VLAN在核心網(wǎng)中不是互聯(lián)的,因此,它們的范圍不應(yīng)該超越骨干網(wǎng)進(jìn)入校園網(wǎng)絡(luò)。
3.1.4 特色應(yīng)用
在 GENI上進(jìn)行了多項(xiàng)未來(lái)網(wǎng)絡(luò)體系架構(gòu)試驗(yàn),如MobilityFirst的原型設(shè)計(jì)試驗(yàn)。MobilityFirst架構(gòu)不需要任何特殊的網(wǎng)關(guān)或代理,就可以提供對(duì)移動(dòng)設(shè)備的完全支持和各種服務(wù),包括對(duì)無(wú)線鏈路斷開(kāi)重連的穩(wěn)定支持。GEC12會(huì)議上展示了MobilityFirst架構(gòu)的概念驗(yàn)證原型,GEC15會(huì)議上展示了MobilityFirst在OpenFlow交換機(jī)上實(shí)現(xiàn)相應(yīng)的功能。
3.2.1 設(shè)計(jì)目標(biāo)與項(xiàng)目進(jìn)展
歐盟 FP7項(xiàng)目組在 2010年秋季開(kāi)始部署OFELIA,其主要的設(shè)計(jì)目標(biāo)是建立一個(gè)多層次、多區(qū)域、分布式的未來(lái)網(wǎng)絡(luò)試驗(yàn)床,以同時(shí)容納生產(chǎn)型流量和試驗(yàn)型流量。OFELIA部署的第一周期分為了3個(gè)階段,第1階段完成了底層基礎(chǔ)設(shè)施部署,包括 OpenFlow交換機(jī)和虛擬化服務(wù)器;第 2階段完成了不同區(qū)域的連接,并將 SDN試驗(yàn)擴(kuò)展到了無(wú)線和光通信領(lǐng)域;第3階段完成控制框架開(kāi)發(fā),提供了與外部 Internet設(shè)施和其他試驗(yàn)床的互操作能力。OFELIA目前不再對(duì)外開(kāi)放,只對(duì)FP7內(nèi)部成員開(kāi)放。
圖4 GENI骨干網(wǎng)部署情況
3.2.2 關(guān)鍵技術(shù)
1) 管理技術(shù)
為了支持虛網(wǎng)用戶(hù)能對(duì)底層物理設(shè)施進(jìn)行管理,并允許用戶(hù)接入自己的試驗(yàn),OFELIA開(kāi)發(fā)了自己的控制框架[21]OCF(OFELIA control framework)。OCF主要負(fù)責(zé)資源分配、試驗(yàn)床的自動(dòng)化管理,以及試驗(yàn)切片的生命周期管理。圖5為OCF的設(shè)計(jì)框架,支持通過(guò)基于切片的聯(lián)合架構(gòu)SFA與其他試驗(yàn)床聯(lián)合,整個(gè)架構(gòu)分為門(mén)戶(hù)、Clearinghouse以及資源管理層3層。
圖5 OCF設(shè)計(jì)框架
OCF的門(mén)戶(hù)負(fù)責(zé)向用戶(hù)提供管理切片的相關(guān)操作,方便管理員對(duì)系統(tǒng)進(jìn)行管理。Clearinghouse負(fù)責(zé)同步用戶(hù)在不同區(qū)域內(nèi)的試驗(yàn)賬戶(hù)信息,通過(guò)部署輕量級(jí)LDAP服務(wù)器來(lái)提供統(tǒng)一的認(rèn)證服務(wù)。Clearinghouse的功能可以在AMsoil中以開(kāi)發(fā)插件的形式進(jìn)行擴(kuò)展,其中,AMsoil是一個(gè)輕量級(jí)的可部署插件的框架,用于創(chuàng)建和管理試驗(yàn)床的資源。
資源管理層中最基本的模塊是虛擬機(jī)管理模塊和 OpenFlow管理模塊。虛擬機(jī)管理模塊 AM(aggregate manager)將資源管理模塊的接口綁定在Clearinghouse層上,并負(fù)責(zé)為試驗(yàn)切片分配虛擬機(jī)。OpenFlow管理模塊是一個(gè)基于Opt-in管理器[22]的OpenFlow工具,負(fù)責(zé)試驗(yàn)網(wǎng)絡(luò)切片規(guī)則的管理和配置。
2) 組網(wǎng)技術(shù)
為了更為可靠地管控整個(gè)試驗(yàn)網(wǎng)絡(luò),OFELIA還設(shè)計(jì)了2個(gè)帶外網(wǎng)絡(luò)用于控制與管理。目前,所有OFELIA平臺(tái)的各個(gè)區(qū)域以hub-spoke拓?fù)溥B接。OFELIA hub位于比利時(shí),用來(lái)中繼不同區(qū)域的試驗(yàn)流量和控制流量。
OFELIA數(shù)據(jù)平面跨越所有的OFELIA區(qū)域,試驗(yàn)流量可以跨越歐洲不同的國(guó)家和區(qū)域,各個(gè)網(wǎng)絡(luò)區(qū)域通過(guò)比利時(shí) iMinds的OFELIA hub[6]來(lái)連接。如圖 6所示,OFELIA中運(yùn)行了超過(guò) 25個(gè)來(lái)自不同供應(yīng)商的 OpenFlow交換機(jī)。試驗(yàn)網(wǎng)中的服務(wù)器通常與多個(gè)交換機(jī)相連,為網(wǎng)絡(luò)試驗(yàn)的部署提供了一個(gè)穩(wěn)定的環(huán)境。數(shù)據(jù)平面通過(guò)GEANT骨干網(wǎng)[23]的1 Gbit/s二層專(zhuān)用線路連接,利用OpenvSwitch[24]在公共網(wǎng)絡(luò)上搭建的L2隧道作為冗余線路。在管理網(wǎng)和試驗(yàn)網(wǎng)中,專(zhuān)用線路和隧道以網(wǎng)格狀拓?fù)洳渴?,同時(shí)起到了冗余容錯(cuò)的作用。
圖6 OFELIA數(shù)據(jù)平面和控制平面組網(wǎng)示意
OFELIA中不同區(qū)域的控制網(wǎng)絡(luò)為每個(gè)區(qū)域分配了私有的IP網(wǎng)段,控制網(wǎng)絡(luò)使用OSPF協(xié)議根據(jù)私有地址進(jìn)行路由。所有區(qū)域的控制網(wǎng)絡(luò)都連接到OFELIA hub,其中部分網(wǎng)絡(luò)作為冗余備份以保證控制網(wǎng)絡(luò)穩(wěn)定運(yùn)行。這些連接由GEANT的專(zhuān)用線路或基于Internet的L3隧道實(shí)現(xiàn)。每個(gè)區(qū)域都提供了一些自動(dòng)化的服務(wù),如LDAP和DNS。OFELIA向用戶(hù)提供了控制網(wǎng)絡(luò)的遠(yuǎn)程接入服務(wù),可通過(guò)遠(yuǎn)程VPN連接到試驗(yàn)切片。
OFELIA管理網(wǎng)絡(luò)用于監(jiān)控和管理各個(gè)項(xiàng)目以及切片資源。實(shí)際上,管理網(wǎng)絡(luò)并不是必需的,有些區(qū)域可以直接使用控制網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)這些管理功能。
3) 切片技術(shù)
OFELIA曾使用FlowVisor來(lái)劃分切片,然而FlowVisor存在許多局限性,因此,OFELIA項(xiàng)目的研究人員開(kāi)發(fā)了VeRTIGO來(lái)改善FlowVisor的缺陷。圖7描述了VeRTIGO的架構(gòu)以及VeRTIGO各模塊間的交互。其中,Web UI接受用戶(hù)試驗(yàn)網(wǎng)絡(luò)切片的請(qǐng)求,VT Planner執(zhí)行高效的算法[25],將虛網(wǎng)請(qǐng)求映射到實(shí)際物理資源。Storage是用戶(hù)記錄映射策略和流統(tǒng)計(jì)數(shù)據(jù)的數(shù)據(jù)庫(kù)。當(dāng)切片申請(qǐng)被接受后,以下4個(gè)模塊對(duì)OpenFlow通道進(jìn)行虛擬化:Classifier根據(jù)流的分組頭信息對(duì)異步的OpenFlow消息(如PacketIn)進(jìn)行分類(lèi),Node Virtualizer根據(jù)用戶(hù)的需求實(shí)例化邏輯交換機(jī),實(shí)現(xiàn)物理交換機(jī)到邏輯交換機(jī)間的switch ID的轉(zhuǎn)換,Port Mapper實(shí)現(xiàn)物理交換機(jī)到邏輯交換機(jī)間的Port ID的轉(zhuǎn)換,Internal Contoller負(fù)責(zé)下發(fā)流表項(xiàng)。
圖7 VeRTIGO設(shè)計(jì)架構(gòu)
3.2.3 網(wǎng)絡(luò)部署
OFELIA項(xiàng)目從2010年9月開(kāi)始啟動(dòng),最初分別在 iMinds、布里斯托爾大學(xué)、ETHZ、i2CAT和TUB這 5個(gè)區(qū)域建立了試驗(yàn)床,到目前為止,OFELIA的規(guī)模已經(jīng)發(fā)展超過(guò)10個(gè)區(qū)域,如圖8所示。OFELIA的第一個(gè)建設(shè)階段持續(xù)了3年。第一個(gè)階段完成后,OFELIA已經(jīng)建設(shè)成了一個(gè)可編程、可擴(kuò)展、協(xié)議無(wú)關(guān)且能快速部署網(wǎng)絡(luò)創(chuàng)新的真實(shí)網(wǎng)絡(luò)試驗(yàn)環(huán)境。目前OFELIA是一個(gè)可管控、盡力而為的服務(wù)提供商?;?OpenFlow協(xié)議,OFELIA允許試驗(yàn)部署在多層次、多區(qū)域的網(wǎng)絡(luò)上,為未來(lái)網(wǎng)絡(luò)的技術(shù)創(chuàng)新提供了真實(shí)的試驗(yàn)環(huán)境。
圖8 OFELIA部署情況
3.2.4 特色應(yīng)用
在OFELIA上實(shí)施的基于SDN和OpenFlow的ICN架構(gòu)試驗(yàn),不僅能夠支持現(xiàn)有的CCNx應(yīng)用程序,還能夠支持所有基于CCN/NDN的ICN協(xié)議,可拓展性非常強(qiáng)。
3.3.1 設(shè)計(jì)目標(biāo)和項(xiàng)目進(jìn)展
2009年以來(lái),日本信息通信研究機(jī)構(gòu)NICT一直在 JGN-X[26]上開(kāi)發(fā)用于大規(guī)模網(wǎng)絡(luò)試驗(yàn)研究的基礎(chǔ)設(shè)施(RISE),其目標(biāo)是為網(wǎng)絡(luò)研究者提供一個(gè)多租戶(hù)、大規(guī)模的環(huán)境,用于驗(yàn)證 SDN試驗(yàn)。RISE向公眾開(kāi)放,而且被授權(quán)的用戶(hù)可以自己決定所獲取RISE資源的試驗(yàn)要求[27]。至今為止,RISE已經(jīng)更新了3個(gè)版本。
RISE 1.0發(fā)布于2009年,其OpenFlow交換機(jī)之間使用 Q-in-Q[28]傳送用戶(hù)數(shù)據(jù)分組,不支持切片,試驗(yàn)用戶(hù)需要占用整個(gè)OpenFlow網(wǎng)絡(luò),也無(wú)法向用戶(hù)提供虛擬機(jī)。2011年11月,RISE 2.0發(fā)布,相比RISE1.0有了3個(gè)主要的改進(jìn):物理基礎(chǔ)設(shè)施可以由多用戶(hù)共享;用偽線(Pseudo-Wire)技術(shù)替代Q-in-Q實(shí)現(xiàn)站點(diǎn)互聯(lián);可以向用戶(hù)提供虛擬機(jī)。不過(guò)RISE2.0仍然存在以下2個(gè)問(wèn)題:并發(fā)用戶(hù)容量小;底層網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)不靈活。為了解決這些問(wèn)題,NICT于2014年在RISE 3.0中設(shè)計(jì)出分層的OpenFlow網(wǎng)絡(luò),包括用戶(hù)切片層、拓?fù)涮摂M化層以及物理路徑層。
3.3.2 關(guān)鍵技術(shù)
1) 管理技術(shù)
RISE旨在按照用戶(hù)要求提供定制的可自動(dòng)部署的SDN試驗(yàn)。RISE3.0中發(fā)展起來(lái)的RISE編排器[29]可以幫助RISE管理員管理網(wǎng)絡(luò)和用戶(hù)試驗(yàn)。
RISE中通過(guò)瀏覽器和用戶(hù)進(jìn)行交互,使用RESTful應(yīng)用編程接口接收試驗(yàn)配置和監(jiān)視試驗(yàn)狀態(tài)。項(xiàng)目管理器管理所有的底層資源和上層試驗(yàn)并指導(dǎo)相關(guān)管理模塊提供虛擬服務(wù)器和虛擬機(jī)。通過(guò)發(fā)送和接收幀,RISE編排器可以知道物理網(wǎng)絡(luò)和用戶(hù)預(yù)配置的試驗(yàn)網(wǎng)絡(luò)的全部拓?fù)湫畔ⅲ撔畔⒖捎糜诠芾砦锢鞳penFlow交換機(jī)中的流表項(xiàng),用戶(hù)可以方便、快捷地使用RISE編排器定制試驗(yàn)。
2) 組網(wǎng)技術(shù)
JGN-X是一個(gè)基于VLAN的網(wǎng)絡(luò)試驗(yàn)床,RISE起初在JGN-X中使用Q-in-Q運(yùn)行覆蓋網(wǎng)絡(luò),然而使用Q-in-Q技術(shù)導(dǎo)致了很多問(wèn)題。自RISE2.0之后,人們一致認(rèn)為 EoMPLS技術(shù)是最適合管理 JGN-X中OpenFlow網(wǎng)絡(luò)的技術(shù)。
Q-in-Q隧道技術(shù)中,內(nèi)部標(biāo)簽被稱(chēng)之為用戶(hù)VLAN標(biāo)簽(C-VLAN),它用于本地且對(duì)運(yùn)營(yíng)商網(wǎng)絡(luò)透明。外部標(biāo)簽被稱(chēng)之為運(yùn)營(yíng)商 VLAN標(biāo)簽(S-VLAN),在運(yùn)營(yíng)商網(wǎng)絡(luò)唯一地標(biāo)識(shí)一個(gè)用戶(hù)。RISE1.0中使用Q-in-Q隧道,當(dāng)一個(gè)帶有C-VLAN標(biāo)簽的數(shù)據(jù)分組到達(dá)JGN-X網(wǎng)絡(luò),在入口設(shè)備上加入一個(gè)S-VLAN來(lái)穿越JGN-X網(wǎng)絡(luò),并在出口設(shè)備處移除S-VLAN。當(dāng)使用Q-in-Q時(shí),RISE用戶(hù)的物理地址不得不暴露給JGN-X交換機(jī),因此,當(dāng)用戶(hù)網(wǎng)絡(luò)連接大量設(shè)備時(shí),這些可能會(huì)導(dǎo)致JGN-X交換機(jī)的MAC表項(xiàng)溢出。
MPLS是一種可以封裝多種網(wǎng)絡(luò)協(xié)議的高性能通信組網(wǎng)機(jī)制,EoMPLS部署在運(yùn)營(yíng)商的網(wǎng)絡(luò)邊緣,維護(hù)以太網(wǎng)VLAN標(biāo)簽和MPLS標(biāo)簽之間用于隧道技術(shù)的映射關(guān)系。RISE2.0采用EoMPLS的偽線技術(shù),用來(lái)替代Q-in-Q,因?yàn)檗D(zhuǎn)發(fā)依賴(lài)于MPLS標(biāo)簽而不是物理地址,解決了JGN-X交換機(jī)MAC表項(xiàng)溢出的問(wèn)題。除此之外,一個(gè)MPLS標(biāo)簽比VLAN標(biāo)簽更長(zhǎng),使RISE的組網(wǎng)擴(kuò)展性更好。
3) 切片技術(shù)
在RISE1.0中,用戶(hù)請(qǐng)求在RISE上進(jìn)行試驗(yàn)時(shí),直到試驗(yàn)完成前,將會(huì)一直占用整個(gè)OpenFlow資源,即RISE1.0是基于時(shí)間進(jìn)行切片的,沒(méi)有遵照多租戶(hù)的初始設(shè)計(jì)目標(biāo)。RISE2.0可以同時(shí)提供16個(gè)虛擬交換機(jī)實(shí)例,為了區(qū)分不同切片的流量,用戶(hù)虛擬機(jī)使用特定的VLAN標(biāo)簽來(lái)發(fā)分組,所以VLAN字段必須對(duì)用戶(hù)的控制器隱藏。雖然 RISE2.0在一定程度上實(shí)現(xiàn)了網(wǎng)絡(luò)切片,但16個(gè)切片數(shù)量是不可拓展的,而且該方法也不夠靈活,因?yàn)槊總€(gè)切片的拓?fù)涫怯晒潭ǖ腏GN-X拓?fù)錄Q定的。
在 RISE3.0中,為了得到更多的、靈活的切片,RISE網(wǎng)絡(luò)和JGN-X網(wǎng)絡(luò)之間嵌入了拓?fù)涮摂M化層[30]。如圖9所示,拓?fù)涮摂M化層通過(guò)物理地址重寫(xiě)將“邏輯路徑”映射至JGN-X網(wǎng)絡(luò),從而從JGN-X網(wǎng)絡(luò)中分離出用戶(hù)OpenFlow網(wǎng)絡(luò)的拓?fù)??;谶@種方法,切片的規(guī)模拓展了2~3倍,最大數(shù)量可以超過(guò) 50個(gè)。然而,使用物理地址重寫(xiě)依然有一些缺點(diǎn),例如,地址重寫(xiě)將會(huì)給網(wǎng)絡(luò)排錯(cuò)帶來(lái)麻煩,分組重寫(xiě)也會(huì)帶來(lái)更多開(kāi)銷(xiāo)。
圖9 RISE通過(guò)改寫(xiě)MAC地址來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)切片
3.3.3 網(wǎng)絡(luò)部署
至今為止,RISE有10個(gè)日本站點(diǎn)和3個(gè)其他地區(qū)站點(diǎn)[31](分別為洛杉磯、曼谷和新加坡),它們都被稱(chēng)之為 EVN,如圖 10所示。EVN之上是OpenFlow網(wǎng)絡(luò)和 OpenFlow交換機(jī),所有的OpenFlow網(wǎng)絡(luò)都是建立在EVN之上的邏輯(虛擬)網(wǎng)絡(luò),東京作為拓?fù)渲行闹甭?lián)洛杉磯、曼谷和新加坡。雖然物理的部署不是一個(gè)全網(wǎng)狀拓?fù)?,但是用?hù)可以通過(guò)拓?fù)涮摂M化層請(qǐng)求多樣化的拓?fù)鋪?lái)進(jìn)行試驗(yàn)。
3.3.4 特色應(yīng)用
RISE上的Snow Festive應(yīng)用實(shí)現(xiàn)了世界上第一例在長(zhǎng)距離IP網(wǎng)絡(luò)情況下的8K視頻流傳輸,成功支持了IP網(wǎng)絡(luò)下速度超過(guò)36 Gbit/s的4K/8K無(wú)壓縮傳輸和速度在1 Gbit/s以?xún)?nèi)的HD/4K壓縮視頻流傳輸。
圖10 RISE部署情況
3.4.1 設(shè)計(jì)目標(biāo)和項(xiàng)目進(jìn)展
OF@TEIN發(fā)起于2012年,由韓國(guó)政府通過(guò)國(guó)家信息社會(huì)局贊助。它的目標(biāo)是在 TEIN4(trans-eurasia information network 4)上逐漸建立起支持OpenFlow的SDN試驗(yàn)床。OF@TEIN由韓國(guó)大學(xué)和國(guó)際合作機(jī)構(gòu)聯(lián)合執(zhí)行,由韓國(guó)光州科技學(xué)會(huì)牽頭。OF@TEIN的設(shè)計(jì)側(cè)重于3個(gè)任務(wù):設(shè)計(jì)SmartX機(jī)架并進(jìn)行驗(yàn)證、多站點(diǎn)部署和互聯(lián)、開(kāi)發(fā)一些有用的SDN工具。OF@TEIN目前不再對(duì)公眾開(kāi)放。
3.4.2 關(guān)鍵技術(shù)
1) 管理技術(shù)
參考 OFELIA管理技術(shù),OF@TEIN開(kāi)發(fā)了OF@TEIN Portal,可以通過(guò)試驗(yàn)用戶(hù)界面創(chuàng)造切片和監(jiān)視試驗(yàn)狀態(tài)。通過(guò)前端接口,SmartX機(jī)架和網(wǎng)絡(luò)資源可以被聚合起來(lái)為試驗(yàn)提供所需資源。OF@TEIN還建立了 SmartX自動(dòng)中心用來(lái)管理基礎(chǔ)設(shè)施。
2) 組網(wǎng)技術(shù)
OF@TEIN網(wǎng)絡(luò)通過(guò)具有 OpenFlow感知封裝器功能的 NVGRE隧道技術(shù)實(shí)現(xiàn)站點(diǎn)互聯(lián)[32]。在OF@TEIN的每一個(gè)站點(diǎn)內(nèi)已經(jīng)設(shè)計(jì)、開(kāi)發(fā)和部署了各種類(lèi)型的SmartX 機(jī)架,這些機(jī)架要么是包含連接到虛擬機(jī)服務(wù)器的 OpenvSwitch,要么是包含連接到虛擬機(jī)服務(wù)器的OpenFlow數(shù)據(jù)平面設(shè)備。這些站點(diǎn)中,跨廣域網(wǎng)互聯(lián)的數(shù)據(jù)平面由 SmartX機(jī)架中的隧道封裝節(jié)點(diǎn)實(shí)施。
OF@TEIN的控制和管理網(wǎng)絡(luò)被設(shè)計(jì)成一個(gè)帶外的覆蓋網(wǎng)絡(luò),除了使用OpenFlow控制隧道轉(zhuǎn)發(fā)之外,OF@TEIN管理員還可以通過(guò)OVSDB協(xié)議遠(yuǎn)程管理隧道[33],這增強(qiáng)了站點(diǎn)間組網(wǎng)的自動(dòng)化能力。
3) 切片技術(shù)
OF@TEIN使用FlowVisor進(jìn)行基于VLAN的切片。用戶(hù)的Flowspace包括switch ID和Port ID,流量在入口交換機(jī)處被標(biāo)記上切片的VLAN,沿途交換機(jī)發(fā)送PacketIn消息時(shí)會(huì)攜帶該VLAN標(biāo)識(shí),F(xiàn)lowVisor通過(guò)該標(biāo)識(shí)在不同試驗(yàn)用戶(hù)的控制器間進(jìn)行分流,在出口交換機(jī)處該 VLAN標(biāo)識(shí)會(huì)被剝離掉。
3.4.3 網(wǎng)絡(luò)部署
如圖11所示,OF@TEIN[34]通過(guò)TEIN4國(guó)際網(wǎng)絡(luò)將分布在7個(gè)國(guó)家(韓國(guó)、印度尼西亞、馬來(lái)西亞、泰國(guó)、越南、菲律賓以及巴基斯坦)的 12個(gè)站點(diǎn)連接起來(lái)。在圖 11中,實(shí)線和虛線分別表示主要路徑和次要路徑。
圖11 OF@TEIN部署情況
3.4.4 特色應(yīng)用
在OF@TEIN上進(jìn)行的原型媒體分發(fā)試驗(yàn)定義了清晰的實(shí)驗(yàn)生命周期,基于 SDN和資源預(yù)留技術(shù),擴(kuò)展了基于工作流的實(shí)驗(yàn)控制策略,同時(shí)更好地發(fā)揮了DevOps工具在實(shí)驗(yàn)生命周期各階段提供自動(dòng)部署的能力。
3.5.1 設(shè)計(jì)目標(biāo)和項(xiàng)目進(jìn)展
2012年開(kāi)始,北京郵電大學(xué)和江蘇省未來(lái)網(wǎng)絡(luò)創(chuàng)新研究院聯(lián)合構(gòu)建了一個(gè)基于SDN的試驗(yàn)網(wǎng)—— 計(jì)算存儲(chǔ)網(wǎng)絡(luò)協(xié)同管控的虛擬化網(wǎng)絡(luò)試驗(yàn)平臺(tái)(C-Lab)。
C-Lab的主要目標(biāo)是為了支撐國(guó)家級(jí)“未來(lái)網(wǎng)絡(luò)試驗(yàn)設(shè)施(CENI)”項(xiàng)目的建設(shè),服務(wù)下一代網(wǎng)絡(luò)體系架構(gòu)和關(guān)鍵技術(shù)的研究,支持創(chuàng)新型網(wǎng)絡(luò)體系架構(gòu)和關(guān)鍵技術(shù)的試驗(yàn)驗(yàn)證,如服務(wù)定制網(wǎng)絡(luò)SCN(service customized networking)、應(yīng)用驅(qū)動(dòng)網(wǎng)絡(luò)AND(application driving network)、超融合網(wǎng)絡(luò)、物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)、4K/8K/AR/VR、云計(jì)算等。CENI的核心技術(shù)主要包括可擴(kuò)展的網(wǎng)絡(luò)操作系統(tǒng)、網(wǎng)絡(luò)虛擬化平臺(tái)、可編程芯片、轉(zhuǎn)發(fā)設(shè)備以及網(wǎng)絡(luò)安全技術(shù)等。目前,CENI項(xiàng)目已經(jīng)正式立項(xiàng)啟動(dòng),包含IPv6、可編程網(wǎng)絡(luò)、SDN等多條技術(shù)路線,C-Lab的相關(guān)成果將為CENI項(xiàng)目中構(gòu)建一個(gè)端到端SDN試驗(yàn)網(wǎng)提供有力支撐。
C-Lab平臺(tái)項(xiàng)目的發(fā)展分2期進(jìn)行,一期是基礎(chǔ)平臺(tái)構(gòu)建,重點(diǎn)完成基礎(chǔ)試驗(yàn)網(wǎng)絡(luò)建設(shè),完成光網(wǎng)絡(luò)融合、無(wú)線網(wǎng)絡(luò)接入、業(yè)務(wù)應(yīng)用等幾個(gè)方面的建設(shè)與初步應(yīng)用試驗(yàn)示范,實(shí)現(xiàn)內(nèi)部開(kāi)放運(yùn)行;二期在第一期基礎(chǔ)上進(jìn)一步擴(kuò)大網(wǎng)絡(luò)規(guī)模,實(shí)現(xiàn)虛網(wǎng)之間的高效隔離,同時(shí)增加網(wǎng)絡(luò)管理、網(wǎng)絡(luò)測(cè)量、網(wǎng)絡(luò)安全、云計(jì)算、物聯(lián)網(wǎng)、應(yīng)用工具等方面的建設(shè),進(jìn)行了更大規(guī)模的測(cè)試試驗(yàn)與應(yīng)用示范,正式上線開(kāi)放運(yùn)行。
目前,C-Lab平臺(tái)通過(guò)解決網(wǎng)絡(luò)虛擬化標(biāo)識(shí)、資源映射、計(jì)算存儲(chǔ)融合等問(wèn)題,已經(jīng)支持了一批網(wǎng)絡(luò)領(lǐng)域基金項(xiàng)目的成果試驗(yàn)驗(yàn)證,促進(jìn)了科研成果更加接近實(shí)際應(yīng)用環(huán)境,加快了科研成果的產(chǎn)業(yè)化速度,取得了階段性的成果。
3.5.2 關(guān)鍵技術(shù)
1) 管理技術(shù)
C-Lab研發(fā)了試驗(yàn)平臺(tái)的控制框架CCF,通過(guò)CCF管理平臺(tái),可以對(duì)底層各種網(wǎng)絡(luò)資源進(jìn)行調(diào)度與整合,并對(duì)平臺(tái)的參數(shù)進(jìn)行設(shè)置,以便試驗(yàn)用戶(hù)的相關(guān)操作。一個(gè)C-Lab試驗(yàn)的生命周期包括3個(gè)階段:設(shè)計(jì)、執(zhí)行和完成。第1個(gè)階段,用戶(hù)登錄CCF門(mén)戶(hù)并根據(jù)自己的需求設(shè)計(jì)他們的試驗(yàn),負(fù)責(zé)虛擬化的CNVP模塊調(diào)用底層可用資源來(lái)創(chuàng)建虛擬網(wǎng)絡(luò)切片。第2個(gè)階段,用戶(hù)登錄創(chuàng)建的控制器節(jié)點(diǎn)和虛擬機(jī)節(jié)點(diǎn)進(jìn)行試驗(yàn)。第3個(gè)階段,用戶(hù)完成試驗(yàn),獲取數(shù)據(jù)并釋放資源。此外,隨著跨域組網(wǎng)、多域協(xié)同管控、多功能試驗(yàn)網(wǎng)元等需求的出現(xiàn),C-Lab還繼續(xù)研發(fā)了SDN跨域虛網(wǎng)通信、網(wǎng)絡(luò)服務(wù)編排以及虛擬網(wǎng)元管理技術(shù),進(jìn)一步豐富了管控平面功能。
2) 組網(wǎng)技術(shù)
考慮到試驗(yàn)平臺(tái)的可擴(kuò)展性、設(shè)備性?xún)r(jià)比、協(xié)議支持靈活性等因素,C-Lab試驗(yàn)平臺(tái)初期建設(shè)采用了部署更加靈活的Open vSwitch方案,即通過(guò)在多網(wǎng)卡服務(wù)器上安裝 Open vSwitch,以實(shí)現(xiàn)OpenFlow交換機(jī)功能。初期采用這種方式可以按需創(chuàng)建虛擬交換節(jié)點(diǎn)、動(dòng)態(tài)更改網(wǎng)絡(luò)拓?fù)湟约芭渲镁W(wǎng)絡(luò)資源,方便試驗(yàn)者進(jìn)行各種試驗(yàn)以及對(duì)OpenFlow技術(shù)的探索和使用。
隨著 SDN產(chǎn)業(yè)的發(fā)展,同時(shí)為了增加試驗(yàn)平臺(tái)的設(shè)備多樣性,C-Lab逐步引入了支持OpenFlow的商用 SDN設(shè)備作為網(wǎng)絡(luò)核心節(jié)點(diǎn)。在保證設(shè)備靈活性、協(xié)議支持度以及流表匹配功能等基本特征的基礎(chǔ)上,根據(jù)不同的業(yè)務(wù)需求分別部署在匯聚和出口位置。
3) 切片技術(shù)
C-Lab借鑒了GENI中FlowVisor的虛擬化切片方案,并在此基礎(chǔ)上應(yīng)用了團(tuán)隊(duì)研發(fā)的基于 SDN的高效隔離的網(wǎng)絡(luò)虛擬化技術(shù)—— CNVP技術(shù)。CNVP針對(duì)當(dāng)前網(wǎng)絡(luò)虛擬化技術(shù)依賴(lài)于分布式協(xié)議、效率低的問(wèn)題,基于軟件定義網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)了集中式高效率的網(wǎng)絡(luò)虛擬化系統(tǒng),重點(diǎn)攻克了其中的3個(gè)關(guān)鍵問(wèn)題:基于SDN集中代理節(jié)點(diǎn)上下行信令實(shí)時(shí)處理的虛擬化切片技術(shù)、基于 SDN的虛擬化流規(guī)則沖突的檢測(cè)與隔離技術(shù)以及低時(shí)延高資源利用率聯(lián)合優(yōu)化的虛擬網(wǎng)絡(luò)映射算法。
3.5.3 網(wǎng)絡(luò)部署
C-Lab總體為分級(jí)分域結(jié)構(gòu),在每個(gè)域部署一個(gè)控制器,從而共同組成基礎(chǔ)控制平面,提供虛擬化網(wǎng)絡(luò)切片服務(wù),域間部署超級(jí)控制器管理跨域流量。目前,北京郵電大學(xué)已建成30多個(gè)核心節(jié)點(diǎn)和部分接入節(jié)點(diǎn),覆蓋北京郵電大學(xué)新科研樓、網(wǎng)絡(luò)中心、主樓、教三樓等區(qū)域,并與江蘇省未來(lái)網(wǎng)絡(luò)創(chuàng)新研究院、華南理工大學(xué)、華中科技大學(xué)、西安交通大學(xué)、重慶郵電大學(xué)等網(wǎng)絡(luò)節(jié)點(diǎn)通過(guò)隧道實(shí)現(xiàn)了互聯(lián)。
3.5.4 特色應(yīng)用
在 C-Lab 上運(yùn)行著國(guó)內(nèi)多個(gè)高校和研究機(jī)構(gòu)的關(guān)于未來(lái)網(wǎng)絡(luò)架構(gòu)和關(guān)鍵技術(shù)的研究,例如,面向服務(wù)的未來(lái)網(wǎng)絡(luò)體系架構(gòu)、ONOS控制器故障檢測(cè)模塊、內(nèi)容中心網(wǎng)絡(luò)等。
SDN試驗(yàn)床的網(wǎng)絡(luò)切片機(jī)制能夠?qū)υ囼?yàn)床的物理資源進(jìn)行切分并重新整合分配給不同的用戶(hù),這對(duì)于網(wǎng)絡(luò)的動(dòng)態(tài)靈活性和資源利用率提升具有重要意義。
基于流空間和基于固定標(biāo)簽是目前常用的2種切片標(biāo)識(shí)思路。在基于流空間中,基于 OpenFlow v1.0開(kāi)發(fā)的第一代SDN切片工具FlowVisor作為透明代理位于 SDN控制器和底層交換機(jī)之間。FlowVisor利用了OpenFlow v1.0中的12元組進(jìn)行切片,但仍存在不少局限性,比如虛網(wǎng)和物理網(wǎng)絡(luò)沒(méi)有完全解耦,虛網(wǎng)拓?fù)涫芟抻谖锢硗負(fù)洌诹骺臻g的切片標(biāo)識(shí)方式也無(wú)法做到地址虛擬化。在基于固定標(biāo)簽中,VLAN標(biāo)簽通常被用作切片標(biāo)識(shí),GENI、OFELIA和RISE都有用到VLAN標(biāo)簽,但VLAN標(biāo)簽有限的位數(shù)只能容納不超過(guò)4 096張?zhí)摼W(wǎng),有可能不滿足現(xiàn)實(shí)需求。
后續(xù)的多個(gè)研究方案就 FlowVisor在切片標(biāo)識(shí)、鏈路虛擬化、節(jié)點(diǎn)虛擬化上的局限性做出了針對(duì)性的改進(jìn)。例如,OVX利用改寫(xiě)MAC地址的方式來(lái)實(shí)現(xiàn)地址虛擬化,同時(shí)也避免了使用VLAN標(biāo)簽而導(dǎo)致的虛網(wǎng)容量瓶頸。OFELIA中的 VeRTIGO使用了鏈路虛擬化技術(shù)來(lái)解耦虛網(wǎng)拓?fù)渑c物理拓?fù)洹?/p>
切片技術(shù)領(lǐng)域仍然有許多問(wèn)題值得進(jìn)一步研究。目前,切片方案大多重點(diǎn)關(guān)注數(shù)據(jù)層面的地址虛擬化和拓?fù)涮摂M化,對(duì)控制層的性能隔離研究較少。在網(wǎng)絡(luò)虛擬化場(chǎng)景中,虛網(wǎng)的控制流量一般會(huì)經(jīng)過(guò)切片工具,若缺少好的隔離機(jī)制,虛網(wǎng)的性能同樣會(huì)受到影響。此外,切片技術(shù)可以結(jié)合先進(jìn)的虛擬化映射算法來(lái)提供更加靈活的虛擬化方案[35-37]。同時(shí),當(dāng)試驗(yàn)床的規(guī)模進(jìn)一步增長(zhǎng)時(shí),切片工具的擴(kuò)展性可能會(huì)成為性能瓶頸,如何設(shè)計(jì)滿足大規(guī)模網(wǎng)絡(luò)切片需求的虛擬化系統(tǒng)也是一個(gè)重點(diǎn)的研究方向。
為了支持在不同網(wǎng)絡(luò)域多樣化的研究,SDN試驗(yàn)床在數(shù)據(jù)平面不應(yīng)該僅僅是基于 SDN交換機(jī),而且應(yīng)該支持 SDN無(wú)線和光設(shè)備,并且應(yīng)該仔細(xì)考慮現(xiàn)存IP或電路域設(shè)備的兼容性,各類(lèi)型異構(gòu)設(shè)備都應(yīng)該能以某種方式互聯(lián)、控制和管理。
許多 SDN試驗(yàn)床已經(jīng)在研究這個(gè)問(wèn)題。GENI將SDN引入WiMAX并實(shí)現(xiàn)了軟件定義無(wú)線接入的原型系統(tǒng)。通過(guò)將GMPLS整合到OpenFlow控制器中,OFELIA支持了對(duì)光交換的控制。為了拓展OpenFlow試驗(yàn)床能力,RISE也致力于為試驗(yàn)床提供不同的接入方式。
當(dāng)前,多種類(lèi)設(shè)備組網(wǎng)技術(shù)可以歸類(lèi)為以下2種。第一種是在相應(yīng)的網(wǎng)絡(luò)域拓展 SDN南向協(xié)議,比如 OpenFlow;第二種是兼容當(dāng)前控制和管理技術(shù),如SNMP和GMPLS,將其作為SDN控制器和 SDN轉(zhuǎn)發(fā)設(shè)備的翻譯器。除此之外,控制上的相關(guān)協(xié)議應(yīng)用也需要統(tǒng)一的控制,例如,Alien是OFELIA的一個(gè)子項(xiàng)目,它提出了硬件抽象層,用于多種設(shè)備組網(wǎng)的系統(tǒng)查詢(xún)。
SDN技術(shù)帶來(lái)了網(wǎng)絡(luò)的可編程性,與此同時(shí)也導(dǎo)致了一些安全漏洞,這將直接威脅基于 SDN的網(wǎng)絡(luò)試驗(yàn)床的穩(wěn)定性:在網(wǎng)絡(luò)試驗(yàn)床上并發(fā)運(yùn)行的試驗(yàn)數(shù)量眾多,而且網(wǎng)絡(luò)試驗(yàn)環(huán)境處于動(dòng)態(tài)變化之中,如果沒(méi)有可靠的安全機(jī)制確保試驗(yàn)的正常運(yùn)行,當(dāng)試驗(yàn)環(huán)境受到惡意或無(wú)意的攻擊時(shí),這些并行的網(wǎng)絡(luò)試驗(yàn)一定會(huì)互相干擾,從而導(dǎo)致試驗(yàn)數(shù)據(jù)的失真,甚至導(dǎo)致系統(tǒng)的崩潰。因此,試驗(yàn)床必須采取有效的安全機(jī)制,保證試驗(yàn)環(huán)境之間的獨(dú)立性以及試驗(yàn)資源調(diào)度的合理性。目前,因?yàn)榭刂破矫媾c數(shù)據(jù)平面相對(duì)隔離,SDN在網(wǎng)絡(luò)安全方面有一定的特殊性,針對(duì)這種特殊架構(gòu)的SDN安全解決方案仍在不斷研究中,并成為了一個(gè)重要的方向。
網(wǎng)絡(luò)正在向虛擬化和軟件化發(fā)展,這種趨勢(shì)下,應(yīng)用具有低成本、高控制精度和部署靈活的優(yōu)勢(shì)。然而,在這種軟件定義的網(wǎng)絡(luò)環(huán)境下,試驗(yàn)床系統(tǒng)的可靠性問(wèn)題比較復(fù)雜。例如,傳統(tǒng)的故障檢測(cè)機(jī)制使用心跳機(jī)制,即遠(yuǎn)程節(jié)點(diǎn)在足夠長(zhǎng)的時(shí)間內(nèi)沒(méi)有心跳則顯示出錯(cuò)。然而 SDN試驗(yàn)床在控制平面和數(shù)據(jù)平面之間引入虛擬控制平面,以實(shí)現(xiàn)虛擬資源向物理資源的映射,由于SDN網(wǎng)絡(luò)的控制/數(shù)據(jù)/虛擬化多元網(wǎng)絡(luò)域問(wèn)題,實(shí)現(xiàn)可靠的軟件體系的試驗(yàn)床變得更加困難。目前,盡管在各個(gè)網(wǎng)絡(luò)域如OpenFlow交換節(jié)點(diǎn)、數(shù)據(jù)平面鏈路層以及控制器集群,都有一些對(duì)于故障恢復(fù)的研究,但是在針對(duì)分離網(wǎng)絡(luò)域的失敗檢測(cè)和故障恢復(fù)的統(tǒng)一管理方面仍有很大的研究空間。
本文對(duì)全球 SDN試驗(yàn)床的研究和建設(shè)進(jìn)行了綜述性介紹。首先討論了 SDN試驗(yàn)床相比傳統(tǒng)網(wǎng)絡(luò)試驗(yàn)床的優(yōu)勢(shì)以及大規(guī)模 SDN試驗(yàn)床的基本設(shè)計(jì)原則;其次從項(xiàng)目目標(biāo)與進(jìn)展情況、關(guān)鍵技術(shù)、網(wǎng)絡(luò)部署和特色應(yīng)用4個(gè)方面對(duì)已有的網(wǎng)絡(luò)試驗(yàn)床項(xiàng)目進(jìn)行了深入分析;最后介紹了該領(lǐng)域面臨的挑戰(zhàn)和未來(lái)可行的研究方向。
基于 SDN技術(shù)構(gòu)建網(wǎng)絡(luò)試驗(yàn)床是一個(gè)仍在發(fā)展完善中的技術(shù)方向,不僅有利于對(duì)網(wǎng)絡(luò)技術(shù)創(chuàng)新進(jìn)行驗(yàn)證,也為基于新網(wǎng)絡(luò)技術(shù)進(jìn)行網(wǎng)絡(luò)建設(shè)、網(wǎng)絡(luò)運(yùn)營(yíng)和網(wǎng)絡(luò)管理提供了一定的借鑒和參考,有助于未來(lái)網(wǎng)絡(luò)能夠更快更好的發(fā)展。