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