專家詳談OpenFlow挑戰(zhàn)
OpenFlow:為什么?
網(wǎng)絡(luò)基礎(chǔ)架構(gòu)的成本、復(fù)雜性和可管理性是網(wǎng)絡(luò)運營商、服務(wù)提供商、企業(yè)和政府機(jī)構(gòu)共同面臨的問題。這些成本抑制了建設(shè)新的網(wǎng)絡(luò)和數(shù)據(jù)中心,而復(fù)雜性延長了新服務(wù)和應(yīng)用程序推向市場的時間??晒芾硇赃M(jìn)一步提高了運營成本并減緩了應(yīng)對變化的速度。由于大多數(shù)現(xiàn)有的基礎(chǔ)架構(gòu)運行專有操作系統(tǒng),部署和管理混合供應(yīng)商網(wǎng)絡(luò)意味著在虛擬協(xié)議池里運行和管理。
OpenFlow是由斯坦福大學(xué)開發(fā)的一種協(xié)議,可簡化和統(tǒng)一路由和交換。當(dāng)全面實施時,其目標(biāo)是使供應(yīng)商和企業(yè)能夠選擇購買協(xié)同工作的商品化交換機(jī)、路由器和控制器,以部署廉價且易于維護(hù)的網(wǎng)絡(luò)基礎(chǔ)架構(gòu)。
OpenFlow通過路由和交換設(shè)備的“控制層面”的抽象來實現(xiàn)這一目標(biāo)。通過將控制層面抽象到一個OpenFlow控制器組件,集中化智能并為基于OpenFlow交換機(jī)上運行的數(shù)據(jù)層面組件提供一個通用接口。
一個OpenFlow網(wǎng)絡(luò)由兩個主要組件組成:OpenFlow控制器和OpenFlow交換機(jī)。網(wǎng)絡(luò)中的每個交換機(jī)都與控制器建立連接。應(yīng)用編程接口(API)允許控制器填充交換機(jī)的流盤,這決定了它是如何匹配傳入數(shù)據(jù)包以及對數(shù)據(jù)包應(yīng)采取什么操作。
然后,控制器運行應(yīng)用程序,通過集成方式或通過控制交換機(jī)的應(yīng)用編程接口(API)在控制器上運行。這些“應(yīng)用程序”用于建立軟件定義網(wǎng)絡(luò)(SDN),提供不必要與特定硬件關(guān)聯(lián)的網(wǎng)絡(luò)數(shù)據(jù)流量的視圖。
OpenFlow一直活躍在學(xué)術(shù)領(lǐng)域數(shù)年,但為努力推動OpenFlow上市并實現(xiàn)商業(yè)化,開放網(wǎng)絡(luò)基金會(ONF)于2011年3月成立,并且現(xiàn)在擁有OpenFlow的知識產(chǎn)權(quán)。ONF是一個非營利會員制組織。截至2012年3月,共有57家成員公司,包括所有頂尖設(shè)備制造商和許多頂尖企業(yè)和服務(wù)提供商。ONF制定了OpenFlow標(biāo)準(zhǔn)的更新版本 V1.2,并于2012年2月獲得批準(zhǔn)。
雖然現(xiàn)在一些商業(yè)供應(yīng)商提供與OpenFlow兼容的控制器和交換機(jī),但為眾多供應(yīng)商提供僅支持OpenFlow的交換機(jī)還需要一段時間。與此同時,大多數(shù)供應(yīng)商將提供運行傳統(tǒng)路由/交換協(xié)議并同時支持OpenFlow的OpenFlow混合式交換機(jī)。OpenFlow混合式設(shè)備允許無縫遷移到支持OpenFlow的應(yīng)用程序,同時保護(hù)現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)架構(gòu)的投資。
將如何應(yīng)用 OpenFlow?
OpenFlow最引人注目的特點之一是,它旨在通過建立一個可以開發(fā)應(yīng)用程序和服務(wù)的通用平臺,來解決當(dāng)前和未來的問題。一些當(dāng)前的應(yīng)用程序可以在OpenFlow上開發(fā),包括:
網(wǎng)絡(luò)基礎(chǔ)架構(gòu)虛擬化。第2層和第3層VPN不再需要完全取決于MAC和IP地址,而是可以基于任何標(biāo)頭字段。
均衡網(wǎng)絡(luò)負(fù)載。OpenFlow維護(hù)統(tǒng)計數(shù)據(jù)作為其實施的組成部分。這允許動態(tài)、快速地平衡網(wǎng)絡(luò)流量。一個例子是架頂式(ToR)交換機(jī)在機(jī)架內(nèi)通過列端式(EoR)交換機(jī)并且通常通過冗余鏈路和設(shè)備將數(shù)據(jù)中心服務(wù)器連接到其他機(jī)架。OpenFlow交換機(jī)可以動態(tài)地監(jiān)視流量并根據(jù)需要平衡和指導(dǎo)負(fù)載。
第2層或第3層回路配置。其中包括在網(wǎng)絡(luò)端點之間建立對于正傳輸流量和鏈路地理布置有意義的主要和備用路徑的能力。
第2層或第3層學(xué)習(xí)網(wǎng)絡(luò)。這些網(wǎng)絡(luò)了解主機(jī)的位置并動態(tài)建立成本最低的路徑。
帶寬日歷。允許針對特殊、短期的網(wǎng)絡(luò)活動安排帶寬,然后自動重新分配。
分布式防火墻。防火墻經(jīng)常被視為周邊設(shè)備,隔離內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)。虛擬化網(wǎng)絡(luò)需要在多個地點應(yīng)用防火墻和其他安全技術(shù)。OpenFlow提供適合創(chuàng)建高效、分布式防火墻的協(xié)議。通過經(jīng)由OpenFlow控制器發(fā)送流量中的第一個數(shù)據(jù)包,來處理通過OpenFlow交換機(jī)的未知流量,從而做出集中式防火墻決策,然后在個別OpenFlow交換機(jī)上執(zhí)行。
使用支持OpenFlow的虛擬交換機(jī)配置通向 VM 的路徑。虛擬化主機(jī)核心位置的虛擬交換機(jī)(vSwitches)同樣可以支持OpenFlow。這將允許在虛擬化應(yīng)用程序的元素之間動態(tài)建立和移動回路。在現(xiàn)代化的數(shù)據(jù)中心中為虛擬化應(yīng)用程序建立網(wǎng)絡(luò)連接是必需的主要工作之一。
ONF工作組
ONF通過多個工作組的成員工作開發(fā)OpenFlow技術(shù)。有五個工作組,包括:
擴(kuò)展性工作組,由HP和Nicira Networks領(lǐng)導(dǎo)。該工作組維護(hù)OpenFlow交換機(jī)規(guī)范的核心,這是一個允許OpenFlow控制器編程OpenFlow交換機(jī)轉(zhuǎn)發(fā)狀態(tài)的協(xié)議。擴(kuò)展性工作組的目標(biāo)是使規(guī)范更靈活,開發(fā)更豐富的功能集和更廣泛的實施集,并確保OpenFlow規(guī)范的未來開發(fā)沒有障礙。尤其是,擴(kuò)展性工作組對模塊性、擴(kuò)展性、互通性和一致性感興趣。規(guī)范的最新版本是1.2,但是大多數(shù)商業(yè)實施仍然是1.0和1.1版。
配置和管理工作組,由Microsoft領(lǐng)導(dǎo)。該工作組為支持OpenFlow的網(wǎng)絡(luò)設(shè)備配置定義機(jī)制,以實現(xiàn)軟件定義網(wǎng)絡(luò)的愿景。該工作組一直在開發(fā)OpenFlow配置協(xié)議,最初集中在少數(shù)方案中。第一個OpenFlow配置和管理協(xié)議OF-Config 1.0于2012 年1月12日經(jīng)董事會批準(zhǔn)。
測試和互通性工作組,由Ixia和Big Switch Networks領(lǐng)導(dǎo)。該工作組關(guān)注以下三個領(lǐng)域:認(rèn)證、互通性和基準(zhǔn)測試。認(rèn)證測試套件1.0將在2012年完成,并將用作與將要授權(quán)認(rèn)證產(chǎn)品的商業(yè)測試實驗室建立正式伙伴關(guān)系的基礎(chǔ)。第一次互通性活動的結(jié)果如下所述?;鶞?zhǔn)方法正在開發(fā),以測量能力和性能。例如:
OpenFlow 交換機(jī)的流盤容量
OpenFlow 系統(tǒng)的學(xué)習(xí)速率
控制器和交換機(jī)之間受支持的最大信息速率
轉(zhuǎn)發(fā)性能基準(zhǔn)測試,包括吞吐量、丟失和延遲。
混合工作組,由 Cisco 和 Big Switch Networks 領(lǐng)導(dǎo)。該工作組探索并記錄混合可編程轉(zhuǎn)發(fā)板 (HPFP) 的要求。尤其是,混合工作組調(diào)查混合式交換機(jī)和混合式網(wǎng)絡(luò)的使用實例和要求,并提供避免、檢測和解決由于轉(zhuǎn)發(fā)狀態(tài)的多個生產(chǎn)者而導(dǎo)致的狀態(tài)不一致和錯誤的建議。
未來規(guī)劃工作組,由 Brocade 領(lǐng)導(dǎo)。該工作組正在定義包括轉(zhuǎn)發(fā)板模型的未來框架。它的任務(wù)是描述和確定初始 ONF 所有的模型以及控制器和交換機(jī)如何協(xié)商模型和參數(shù)。
市場教育工作組,由 Big Switch Networks、IP Infusion 和 IBM 領(lǐng)導(dǎo)。該工作組闡述超越 OpenFlow 和 SDN 技術(shù)的開放式網(wǎng)絡(luò)的好處。這將提高對 SDN 技術(shù)的整體理解,并在使用實例中共享客戶最佳實踐,以進(jìn)一步鼓勵他們采用。
首屆互通性大會
OpenFlow 在多供應(yīng)商環(huán)境中的成功互通性是其成功的關(guān)鍵。演示過的互通性使客戶能夠基于價格、性能和功能選擇適合自己需求的最佳解決方案,而不必鎖定單一供應(yīng)商。
互通性超越了認(rèn)證測試,其中只涉及適當(dāng)?shù)恼婧拓?fù)面功能?;ネㄐ詼y試多供應(yīng)商環(huán)境中的真實實例。而最關(guān)鍵的互通性接口是 OpenFlow 控制器與交換機(jī)之間的連接,同時對于了解不同的交換機(jī)如何運行并與 OpenFlow 的各種應(yīng)用協(xié)同工作也至關(guān)重要。
ONF 的首次互通活動于 3 月 5 日至 9 日在 Ixia 位于美國加利福尼亞州圣克拉拉的 iSimCity 實驗室舉行。十三個 ONF 成員公司和兩個研究機(jī)構(gòu)參加了會議。側(cè)重點在于使用 OpenFlow 的應(yīng)用程序的多供應(yīng)商互通性。本次成功的活動使用四種不同的控制器測試各種應(yīng)用程序,并結(jié)合 FlowVisor(允許網(wǎng)絡(luò)和連接同時切片傳入多個控制器)。測試發(fā)現(xiàn)多供應(yīng)商實施的多個問題,使他們能夠診斷并糾正問題。 www.opennetworking.org 上提供包含結(jié)果的白皮書。
參加活動的ONF會員如下:
OpenFlow 控制器:Big Switch Networks、NEC、NTT Data 和 Indiana University
OpenFlow 交換機(jī)和/或組件:Big Switch Networks、Broadcom、Brocade、HP、IBM、Intel/Wind River、Juniper Networks 和 NEC
測試設(shè)備:Ixia和Spirent
研究機(jī)構(gòu):Indiana University和Open Networking Lab
網(wǎng)絡(luò)配置如圖 1 所示:
圖 1 iSimCity OpenFlow 互通性活動網(wǎng)絡(luò)配置
執(zhí)行的互通性測試包括:
使用鏈路層發(fā)現(xiàn)協(xié)議 (LLDP) 的網(wǎng)絡(luò)發(fā)現(xiàn)
第 2 層回路配置
第 3 層學(xué)習(xí)與動態(tài)配置和故障轉(zhuǎn)移
負(fù)載平衡
第 2 層 MAC 學(xué)習(xí)
使用 FlowVisor 網(wǎng)絡(luò)切片
雖然互通性已實現(xiàn),但得到了一些有趣的經(jīng)驗教訓(xùn):
使用 LLDP 進(jìn)行網(wǎng)絡(luò)搜索實施的差異在整個測試期間造成了問題
有些交換機(jī)使用預(yù)期的默認(rèn)值無法運行,其中包括一些交換機(jī)不遵循默認(rèn)規(guī)則發(fā)送不明數(shù)據(jù)包到控制器和混合式交換機(jī),當(dāng)未連接到控制器時,這默認(rèn)為第 2 層轉(zhuǎn)發(fā)/洪水。
混合式交換機(jī)并不總是分離它們的流量
并不是所有供應(yīng)商使用相同的方式解釋規(guī)范
一些必要的功能在某些交換機(jī)上不存在
測試、再測試、還是測試
測試任何新的網(wǎng)絡(luò)技術(shù)都需遵循步驟的進(jìn)度,這些步驟大致反映了測試和互通性工作組的章程:
功能測試
一致性測試
互通性測試
性能、可擴(kuò)展性和穩(wěn)定性測試
與測試技術(shù)相關(guān)的復(fù)雜性基于新協(xié)議,尤其是仍在發(fā)展的協(xié)議及高級協(xié)議。即使定義完善的規(guī)范開放供詮釋,供應(yīng)商實施要求和選項對他們來說也是最容易的方式。供應(yīng)商可以實施不同的可選功能子集和“搶跑”使用下一代規(guī)范中的功能。
功能測試
功能測試回答“是否工作?”基本問題通過使用可用的免費工具、臨時測試并使用設(shè)備的早期版本來建立設(shè)備的操作。用于功能測試的設(shè)備有時是自己開發(fā)的,但更經(jīng)常使用供應(yīng)商的商業(yè)測試設(shè)備,如Ixia。
除了最早的時段,功能測試分為回歸測試和新功能測試?;貧w測試確保設(shè)備以前的功能未被新開發(fā)破壞。此類測試最經(jīng)常采用自動化,并包括針對過去發(fā)現(xiàn)問題的具體測試。應(yīng)經(jīng)常運行回歸測試,以確保新功能開發(fā)未破壞產(chǎn)品。
開發(fā)過程中需要執(zhí)行新功能測試,并且需要精心應(yīng)用。例如,可以從控制器插入單一規(guī)則、為入站端口套用單流數(shù)據(jù)包并在控制器或出站端口尋找所需結(jié)果來測試新的OpenFlow流盤入口類型。隨著功能數(shù)量的增加,更高級別測試的需求也增加 – 測試環(huán)境能以更普遍的方式模擬組件并控制流量的能力。
模擬模仿被測設(shè)備(DUT)周圍網(wǎng)絡(luò)元素的行為,如圖2所示。OpenFlow交換機(jī)是DUT,三個Ixia測試端口模擬環(huán)境:
OpenFlow 控制器(上)
OpenFlow 和發(fā)送流量到交換機(jī)的其他交換機(jī)(左)
OpenFlow 和從交換機(jī)接收流量的其他交換機(jī)(右)
圖 2:網(wǎng)絡(luò)測試模擬
根據(jù)測試設(shè)備的靈活性和復(fù)雜,可以用來執(zhí)行廣泛的功能測試。
一致性測試
一致性測試更為正式,通常在開發(fā)周期內(nèi)執(zhí)行功能測試后進(jìn)行。構(gòu)建自動化測試,以確保協(xié)議規(guī)范的每個部分皆得以遵循。如果實用,探索所有選項和組合,以確保DUT正確實施規(guī)范。
個別一致性測試被視為是正面和負(fù)面測試。正面測試可確保規(guī)范中的功能和選項都得以遵循,而負(fù)面測試確定DUT在輸入不正確的情況下如何運行。規(guī)范需要許多負(fù)面測試,但也可以執(zhí)行無限數(shù)量的非法輸入。可以應(yīng)用專門的隨機(jī)化測試技術(shù),如模糊測試。認(rèn)證涉及方方面面,從而確?;ネㄐ? – 如果多個供應(yīng)商都通過了相同的認(rèn)證測試,那么他們可能會進(jìn)行交互操作。
一致性測試最常見的是由測試設(shè)備供應(yīng)商和獨立測試實驗室開發(fā)。這些測試用作實現(xiàn)DUT認(rèn)證的基礎(chǔ)。ONF的認(rèn)證計劃為其成員提供這樣一個計劃。
需要對OpenFlow執(zhí)行功能測試、可擴(kuò)展性測試和穩(wěn)定性測試 – 包括每個OpenFlow交換機(jī)、OpenFlow混合式交換機(jī)和控制器的隔離。然后,需要執(zhí)行端到端測試,以了解規(guī)模化下的控制層面和數(shù)據(jù)層面性能。所有這一切都從V1.0開始,并會隨著ONF推進(jìn)標(biāo)準(zhǔn)和供應(yīng)商實施支持而繼續(xù)發(fā)展。
互通性測試
部署OpenFlow產(chǎn)品后,ONF贊助的互通性活動將成為推動技術(shù)的關(guān)鍵一步。官方認(rèn)證之前,這些活動是供應(yīng)商連接到多個其他供應(yīng)商設(shè)備的唯一手段?;顒油瑯訛楣?yīng)商提供了一個論壇,討論他們對規(guī)范的“解釋”。
OpenFlow 獨有的兩個特殊問題如下:
1. OpenFlow不是一個完整的網(wǎng)絡(luò)環(huán)境,并有很長的一段路要走,取決于用于網(wǎng)絡(luò)發(fā)現(xiàn)等活動的其他“標(biāo)準(zhǔn)”網(wǎng)絡(luò)協(xié)議。例如,剛剛舉行的活動使用LLDP(鏈路層發(fā)現(xiàn)協(xié)議)提供路徑信息供測試。此信息的接口并不是沒有問題。
2. OpenFlow交換機(jī)類似于計算機(jī),包含由OpenFlow架構(gòu)中定義的基本指令集。很明顯,該指令集的某些用途最有用的,幾乎所有的網(wǎng)絡(luò)流量和操作將成為可能。隨著SDNS的復(fù)雜性增加,許多OpenFlow交換機(jī)供應(yīng)商將聽到詢問:“你想用交換機(jī)做什么?”
性能、可擴(kuò)展性和穩(wěn)定性測試
如果要成為傳統(tǒng)交換機(jī)的成功替代設(shè)備或增補設(shè)備,OpenFlow控制器和交換機(jī)的性能極其重要。多年來傳統(tǒng)交換機(jī)已經(jīng)過開發(fā)和調(diào)整,并采用旨在實施既定交換協(xié)議的專用邏輯來運行。在OpenFlow協(xié)議中,所做的許多決策針對控制器。
為使 OpenFlow 具備商業(yè)可行性,針對每臺OpenFlow設(shè)備執(zhí)行性能測試、可擴(kuò)展性測試和穩(wěn)定性測試將必不可少。具體來說:
性能涉及速率和降級的測量,包括:
通過單個端口和跨設(shè)備聚合的吞吐量(以Mbps為單位測量)
大小不等數(shù)據(jù)包的延遲(以納秒為單位測量)
連接速率(以每秒連接數(shù)為單位衡量)。這一點對于OpenFlow交換機(jī)和控制器尤為重要,因為許多新的連接通過控制器重定向
可擴(kuò)展性涉及測量能力,包括:
流盤入口的最大數(shù)量。這最終限制了交換的數(shù)量和交換機(jī)可以維護(hù)的其他協(xié)議
連接和其他邏輯模塊的最大數(shù)量。這限制了使用環(huán)境。例如,OpenFlow的一個前景看好的使用是建立虛擬機(jī)(VM)至虛擬機(jī)連接。此類連接的數(shù)量將限制設(shè)備的效用
端口最大數(shù)量
穩(wěn)定性涉及測量真實、不完美環(huán)境下的運作能力,包括:
從一個路徑至另一個路徑的切換時間
至備用控制器的切換時間
由于近期OpenFlow將作為混合式設(shè)備的一部分實施,這將是一個非常復(fù)雜的問題。不僅需要在僅有OpenFlow的環(huán)境中完成這些測量,而且當(dāng)交換機(jī)用于“傳統(tǒng)”交換功能時,還需要在混合環(huán)境中測量。在這種情況下,OpenFlow混合交換機(jī)隔離流量和帶寬的能力將是一個重要的考慮因素。最好使用上面圖2中所述的相同設(shè)置,完成性能測試、可擴(kuò)展性測試和穩(wěn)定性測試。標(biāo)準(zhǔn)化測試可能將在OpenFlow交換機(jī)和控制器中將實施的新的和不同的協(xié)議采用,如RFC 2544。
OpenFlow 的未來將會怎樣?
在不久的將來,供應(yīng)商將開始實施OpenFlow v1.2版,并可能在今年年底前實施版本v1.3。v1.2中一個最顯著補充是在數(shù)據(jù)層面支持IPv6?,F(xiàn)今,只有極少數(shù)供應(yīng)商發(fā)布了OpenFlow支持?;谛袠I(yè)發(fā)展趨勢和ONF的利益,今年將有更多的實施上市。OpenFlow將從研究網(wǎng)絡(luò)轉(zhuǎn)到生產(chǎn)企業(yè)和數(shù)據(jù)中心網(wǎng)絡(luò)。服務(wù)提供商也開始關(guān)注OpenFlow如何在其網(wǎng)絡(luò)的邊緣使用,以在未來三到五年內(nèi)降低成本。
OpenFlow將可能在受控和專用環(huán)境中實施最直接和最引人注目的首次部署。這樣一個環(huán)境可能是大規(guī)模的數(shù)據(jù)中心,尤其是由大型運營商經(jīng)營的數(shù)據(jù)中心,如 Google、Facebook、Microsoft和Yahoo。這些運營商有具有短布線路徑、可靠環(huán)境以及可預(yù)見流量的受限環(huán)境。更重要的是,他們迫切需要新功能和創(chuàng)新功能,如虛擬機(jī)到虛擬機(jī)路徑、優(yōu)化路徑選擇、節(jié)能和動態(tài)硬件重新配置。
由于采用所有新技術(shù),將需要數(shù)年成為主流。
我們希望看到在未來幾年內(nèi)實驗和專門使用持續(xù)增長。