SDN是生意 OpenFlow是技術
許多人不了解OpenFlow和SDN之間的差別。這并不奇怪,因為這兩個技術名詞關系本就非常密切。不過,二者卻不能互換。OpenFlow是使用類似API進程配置網(wǎng)絡交換機的協(xié)議。而SDN這個術語描述的是在網(wǎng)絡基礎設施中提供可編程界面,以便自動提供網(wǎng)絡服務。SDN有被營銷人員濫用的嫌疑。
事實上,SDN是可被精準定義的。一個SDN網(wǎng)絡中包含三個架構層級:物理網(wǎng)絡,SDN應用以及SDN控制器。讓我們分別了解一下。
物理網(wǎng)絡
物理網(wǎng)絡處于最低層,包含組成整個IT基礎架構的網(wǎng)絡中的所有物理設備。我們使用“交換機”這個術語是因為OpenFlow改變了以太網(wǎng)交換機的運作方式。在這篇文章中,你還可以考慮物理基礎設施的虛擬交換機部分。
SDN應用
SDN設計的最可視部分就是提供服務的應用,如交換機/網(wǎng)絡 虛擬化,防火墻和數(shù)據(jù)流均衡器。(注意基于OpenFlow的負載均衡器被稱為流均衡器。他們不是傳統(tǒng)意義上的負載均衡器,因為它們不能讀取數(shù)據(jù)包內(nèi)容。)這些應用類似于或者等同于現(xiàn)在軟件運行于專用硬件時所使用的應用。大多數(shù)網(wǎng)絡技術的創(chuàng)新都來自SDN應用。

SDN控制器
SDN控制器就像是一個整個架構的中間件。控制器必須整合網(wǎng)絡中所有物理和虛擬設備。控制器會從與設備一起工作的SDN軟件中提取物理網(wǎng)絡設備。控制器與網(wǎng)絡設備之間高度融合。在OpenFlow環(huán)境中,控制器會使用OpenFlow協(xié)議和NETCONF協(xié)議與交換機聯(lián)系。(OpenFlow是將流數(shù)據(jù)發(fā)送到交換機的API,而NETCONF是網(wǎng)絡配置API。)
SDN:基礎架構
在當前SDN方法中,供應商只是把應用和控制器作為單獨產(chǎn)品提供。例如,Nicira/VMware將其應用和控制器打包到了一個單獨的專屬應用堆棧中。思科則通過把控制器嵌入IOS軟件的方式把控制器打包到了OnePK產(chǎn)品中。筆者也希望思科可以在近期推出一款有分量的控制器。Big Switch Networks最近發(fā)布了SDN控制器的商用版,該產(chǎn)品提供的兩個應用(Big Virtual Switch和Big Tap)運行于控制器之上。
顯然,控制器是網(wǎng)絡架構中的關鍵要素。它必須把API顯示給代表著可用功能的應用,而SDN戰(zhàn)場上這一部分的角逐也最激烈。
#p#
SDN API:新的戰(zhàn)場
一個SDN架構包含兩個截然不同的網(wǎng)絡API:北向和南向。OpenFlow是一個北向API。OpenFlow描述了一個行業(yè)標準API,這個API在以太網(wǎng)交換機中配置了幀轉發(fā)芯片 并且定義了網(wǎng)絡中的數(shù)據(jù)流路徑。此外,開放網(wǎng)絡基金會(ONF)作為監(jiān)督OpenFlow協(xié)議的標準組織發(fā)布了一個用于設備配置的API,其名稱為OF-CONFIG。OF-CONFIG使用NETCONF XML數(shù)據(jù)格式定義語言。
思科的OnePK是南向API。關于OpenFlow是否能滿足網(wǎng)絡需求有些爭議,特別是從基于數(shù)據(jù)包的網(wǎng)絡轉向基于數(shù)據(jù)流的網(wǎng)絡。一些懸而未決的問題會影響到這種過渡,如與現(xiàn)有協(xié)議STP或OSPF的互操作性問題。
北向和南向API
北向API在SDN架構中提供了一種機制呈現(xiàn)服務或應用。每個應用都會為網(wǎng)絡設備開發(fā)出一個流量表視圖,然后將請求發(fā)送給控制器獲取網(wǎng)絡設備的配額。
例如,一個虛擬交換應用應能夠在物理和虛擬機網(wǎng)絡的所有連接點上創(chuàng)建一個網(wǎng)絡圖表/數(shù)據(jù)庫。在多租戶的以太網(wǎng)中,應用可以開發(fā)一套流量規(guī)則模擬以太網(wǎng)VLAN,同時保持每位租戶瀏覽的獨立性。流量規(guī)則應該包含進出端口的數(shù)值,加上始發(fā)MAC地址和目的地MAC地址。

北向API,從服務到控制器都還未被定義。筆者認為可以歸結為三個原因。第一,大廠商還不能找到有力的使用案例足以說服他們投資。第二,只有少部分控制器上市,還未有證據(jù)顯示它們是強大的生產(chǎn)平臺。第三,不同的應用或許要依據(jù)各自的情況通過不同API訪問控制器。例如,一個防火墻應用或許需要高性能,低延時,低復雜度的數(shù)據(jù)交換,同時監(jiān)控應用只需讀取途經(jīng)的數(shù)據(jù)。
整個行業(yè)面臨多種選擇。似乎ONF中會有一些論壇在不久后將推出一些指導,而IETF也通過Network Working Group發(fā)布了一些草案。
缺乏標準的API意味著軟件開發(fā)者不得不對開發(fā)平臺做出選擇。F5 是為思科還是Big Switch的控制器做研發(fā)呢?安全公司為OpenFlow開發(fā)防火墻又會怎樣?他們會選擇惠普OpenFlow控制器還是為IBM呢?北向API必須形成一定的標準,但是其格式,性能和數(shù)據(jù)結構或許無法很好地被理解。所以在這個方面還需要有更多努力。
適合
在檢查OpenFlow和SDN之間的差異時,要考慮到它們在基礎設施中的位置。OpenFlow是一種技術——技術服務SDN,因為 它連接著控制權和網(wǎng)絡設備,用戶或企業(yè)看不到。相反,SDN是企業(yè)——技術界面,會先向用戶和企業(yè)提供服務,然后再把服務轉換成控制權可翻譯的操作。
現(xiàn)在,可以說是一場網(wǎng)絡技術的革命。我們目前的網(wǎng)絡中沒有SDN。現(xiàn)在的網(wǎng)絡管理平臺不足以為網(wǎng)絡所有者提供可視性和控制。這主要歸咎于SNMP協(xié)議的局限性,而這一協(xié)議是從網(wǎng)絡中抽取數(shù)據(jù)唯一標準方法(盡管也有一些工具試圖從命令行界面抽取數(shù)據(jù))。

SDN可以從物理和虛擬網(wǎng)絡中抽取完整數(shù)據(jù)。南向API對OpenFlow和NETCONF有完好定義,讓程序員相信產(chǎn)品不會僅限于一個供應商。在接下來的幾個月里,市場會向北向API集中。需要SDN廠商有更多營銷策略和創(chuàng)新。這種創(chuàng)新會以控制器和應用的形式表現(xiàn)出來。
供應商已經(jīng)宣布OpenFlow支持他們的物理設備和虛擬交換機,比如Open vSwitch以及思科Nexus 1000V。市場的下一步動作是識別可以為企業(yè)提供服務的OpenFlow控制器和應用。其實,這一動作已現(xiàn)端倪,早前已經(jīng)有報道Big Switch Networks在推出OpenFlow控制器的同時還推出了兩款應用。惠普也聲稱自己的應用會在2013年上市。隨著越來越多的應用出現(xiàn),SDN也將被廣泛接受。