很多人都不了解OpenFlow和軟件定義網(wǎng)絡(luò)(SDN)之間的差異。這并不奇怪,因為這兩種技術(shù)是如此地緊密相關(guān)。然而,它們又是不可替換的。OpenFlow是配置網(wǎng)絡(luò)交換機的一種協(xié)議,采用的過程類似于API。而SDN則是描述網(wǎng)絡(luò)基礎(chǔ)設(shè)施內(nèi)部可編程接口的一個術(shù)語,這樣的接口可以讓網(wǎng)絡(luò)服務(wù)的配置高度自動化。SDN正在被市場營銷人員所濫用,用來指稱各種不同的技術(shù)。
事實上,SDN的定義很清晰。一個SDN網(wǎng)絡(luò)有三個架構(gòu)層:物理網(wǎng)絡(luò)、SDN應(yīng)用和SDN控制器。我們來仔細分析一下這三個層。
物理網(wǎng)絡(luò)。這是網(wǎng)絡(luò)的最底層,由各種物理設(shè)備構(gòu)成,形成所有IT基礎(chǔ)設(shè)施的基礎(chǔ)。我們之所以使用術(shù)語“交換機”,是因為OpenFlow改變了以太網(wǎng)交換機的工作方式。就本文而言,你還要考慮物理基礎(chǔ)設(shè)施的虛擬交換機部分。
SDN應(yīng)用。這是SDN設(shè)計中最容易看到的層,是交付各種服務(wù),如交換機/網(wǎng)絡(luò)虛擬化、防火墻和流量均衡器(注意:基于OpenFlow的負載均衡器叫做流量均衡器)等的各種應(yīng)用所在的層。這些應(yīng)用有點兒類似于我們今天在專用硬件上所使用的軟件。網(wǎng)絡(luò)中的大部分創(chuàng)新都將出自SDN應(yīng)用。
SDN控制器。SDN控制器是中間件,是整個SDN架構(gòu)的關(guān)鍵所在。該控制器必須與網(wǎng)絡(luò)中的所有物理和虛擬設(shè)備相集成。該控制器通過與物理網(wǎng)絡(luò)設(shè)備相應(yīng)的SDN軟件中去抽象各種物理設(shè)備??刂破髋c網(wǎng)絡(luò)設(shè)備之間是高度集成的。在OpenFlow環(huán)境中,控制器將使用OpenFlow協(xié)議和NETCONF協(xié)議與交換機進行通信(OpenFlow是API,它發(fā)送流數(shù)據(jù)給交換機,而NETCONF則是網(wǎng)絡(luò)配置API)。
在現(xiàn)有的各種SDN方式中,一般是廠商提供應(yīng)用,控制器是單一產(chǎn)品。舉例說,Nicira/VMware將其應(yīng)用于控制器打包成一個專利的應(yīng)用堆棧。思科則將其控制器打包成OnePK產(chǎn)品,嵌入思科設(shè)備上的IOS軟件中。我預(yù)計思科不久也會發(fā)布一款主控制器。Big Switch最近發(fā)布的商用版本SDN控制器可提供在控制器上運行的兩個應(yīng)用:Big Virtual Switch和Big Tap。
顯然,控制器是網(wǎng)絡(luò)架構(gòu)中的關(guān)鍵。它必須為各種應(yīng)用提供API,才能讓應(yīng)用呈現(xiàn)其有用的功能,所以爭奪SDN市場統(tǒng)治地位的最激烈的戰(zhàn)爭也將在這里發(fā)生。