軟件定義網(wǎng)絡(luò)(SDN)初探
譯文【51CTO.com快譯】在2008年以前,整個網(wǎng)絡(luò)世界都是由硬件設(shè)備所組成和控制著的。隨著OpenFlow協(xié)議的出現(xiàn),人們首次對軟件定義網(wǎng)絡(luò)(software-defined networking,SDN)引起了關(guān)注。作為一種杰出的網(wǎng)絡(luò)控制機制和技術(shù)類別,SDN大幅簡化了網(wǎng)絡(luò)資源的自動化和企業(yè)基于策略的網(wǎng)絡(luò)管理。目前,SDN已經(jīng)發(fā)展成為由許多家技術(shù)服務(wù)提供商(例如Cisco)提供支持的,最為可靠且穩(wěn)定的網(wǎng)絡(luò)技術(shù)之一。
什么是軟件定義網(wǎng)絡(luò)?
簡而言之,軟件定義網(wǎng)絡(luò)(SDN)是一種可以促進網(wǎng)絡(luò)敏捷性和靈活性的體系架構(gòu)。SDN的主要技術(shù)目的是通過軟件應(yīng)用程序,來實現(xiàn)集中式的受控網(wǎng)絡(luò)。通過深入探究,您會發(fā)現(xiàn),軟件定義網(wǎng)絡(luò)的背后宗旨是通過智能化的編程服務(wù),來滿足不斷變化的業(yè)務(wù)需求,進而組織和構(gòu)建一套能夠?qū)崿F(xiàn)一致性和全面管理的網(wǎng)絡(luò)。
借助基于應(yīng)用程序編程接口(API)的軟件應(yīng)用,SDN允許開發(fā)人員在集中控制的環(huán)境中進行網(wǎng)絡(luò)編程。因此,企業(yè)可以通過實施通用的SDN控件,開啟全新的網(wǎng)絡(luò)平臺,并且能夠在不增加技術(shù)復(fù)雜性的情況下,管理整個網(wǎng)絡(luò)。
由于我們所在網(wǎng)絡(luò)中,承載的內(nèi)容越來越趨向于多樣性,對于云計算服務(wù)越來越深度的依賴性,以及在不同的移動設(shè)備之間越來越頻繁的互動與聯(lián)動,我們需要通過SDN及時地根據(jù)消費者業(yè)務(wù)供應(yīng)商的動態(tài)變化,持續(xù)將各類業(yè)務(wù)融合到一起,從而在根本上改變傳統(tǒng)業(yè)務(wù)的處理方式。可以說,為了達到預(yù)定的控制效果,許多企業(yè)都正在積極地通過SDN的技術(shù)服務(wù),來改善其原有的運營模式與績效。
眾所周知,網(wǎng)絡(luò)設(shè)計對于業(yè)務(wù)模型的數(shù)字化是至關(guān)重要的,而數(shù)字化往往得益于SDN技術(shù)在其關(guān)聯(lián)方面的落地與使用。那些以提供SDN服務(wù)為主企業(yè),通過網(wǎng)絡(luò)虛擬化的革命性實現(xiàn)方式,將網(wǎng)絡(luò)的控制面與數(shù)據(jù)面相互分離,從而實現(xiàn)了網(wǎng)絡(luò)流量的靈活控制,并以類似于智能管道的方式,為核心網(wǎng)絡(luò)及應(yīng)用的創(chuàng)新提供了良好的環(huán)境平臺。
Cisco SDN的普及在很大程度上歸功于基于控制器的集中式應(yīng)用,和可編程的網(wǎng)絡(luò)應(yīng)用。它們可以提供企業(yè)所處網(wǎng)絡(luò)的整體視圖。目前,SDN也正在改變著各大數(shù)據(jù)中心的現(xiàn)有架構(gòu),以及它們所連接的網(wǎng)絡(luò)模型。據(jù)此,企業(yè)的既有網(wǎng)絡(luò)也能夠根據(jù)實際的應(yīng)用需求,進行自動調(diào)整。
什么是SDN控制器?
作為Cisco網(wǎng)絡(luò)中的“大腦”,SDN控制器其實是一種軟件,它可以對企業(yè)的整體網(wǎng)絡(luò)提供集中化的視圖,以及全面的控制。企業(yè)內(nèi)、外部的IT運營人員、經(jīng)理、乃至網(wǎng)絡(luò)管理員,都可以通過管理基礎(chǔ)架構(gòu)的轉(zhuǎn)發(fā)層面,來調(diào)節(jié)流經(jīng)控制器的數(shù)據(jù)流。通過基于策略的管理器,SDN能夠有效地組織網(wǎng)絡(luò)中的各項資源和整體行為。網(wǎng)絡(luò)管理員也可以將那些原有應(yīng)用于設(shè)備的策略,一致性地應(yīng)用到網(wǎng)絡(luò)中的多個節(jié)點上。
其實從本質(zhì)上說,這些策略都是針對網(wǎng)絡(luò)入向流量的規(guī)則。它們可以為目標(biāo)網(wǎng)絡(luò)進行訪問級別的分級,進而對允許訪問的資源分配相應(yīng)的優(yōu)先級。通過集中化的網(wǎng)絡(luò)狀態(tài)視圖,我們可以基于預(yù)設(shè)的各種策略,來實現(xiàn)簡單而統(tǒng)一的網(wǎng)絡(luò)管理。
軟件定義網(wǎng)絡(luò)的體系架構(gòu)
SDN的體系架構(gòu)包括如下三個層面:
- 應(yīng)用
- 控制
- 基礎(chǔ)架構(gòu)
其中,在應(yīng)用層上包括了許多網(wǎng)絡(luò)上正在運行的服務(wù),控制層是通過被視為網(wǎng)絡(luò)“大腦”的SDN控制器來進行管理,而基礎(chǔ)架構(gòu)層則是由各種網(wǎng)絡(luò)交換機、路由器、以及其他支持性的硬件所組成。這些層面通過彼此通信,來發(fā)揮各種的作用。為了促進交互,SDN通常會帶有如下兩個相互獨立的應(yīng)用程序接口:
- 南向(Southbound)API
- 北向(Northbound)API
其中,北向API被用于在控制層和基礎(chǔ)架構(gòu)層之間進行通信;而南向API被用于在控制層和應(yīng)用層之間進行通信。
什么是北向API?
為了獲得可用的資源,SDN的各種應(yīng)用會依賴控制器來確定網(wǎng)絡(luò)的基礎(chǔ)架構(gòu)狀態(tài)。由管理員預(yù)先建立的網(wǎng)絡(luò)策略,能夠按照應(yīng)用流量的需求,來協(xié)調(diào)SDN控制器的路由。它們之間的相互關(guān)系,在Cisco的軟件定義網(wǎng)絡(luò)(SDN)和網(wǎng)絡(luò)功能虛擬化(Network Function Virtualization)文檔中,都進行了詳細的詮釋。
應(yīng)用層通過主動與控制層通信,能夠獲悉其資源需求的內(nèi)容和位置。接著,控制層根據(jù)網(wǎng)絡(luò)的可用性,來組織資源“訂單”,并進行交付。然后,控制層利用智能情報(intelligence)來產(chǎn)生具有同步延遲(synchronized latency)和安全特性的理想應(yīng)用路徑。值得注意的是,北向API的組織過程并非手動配置,而是被預(yù)先編程為自動進行的。
什么是南向API?
在南向API中,SDN控制器(控制層)通過各種路由器和交換機,與網(wǎng)絡(luò)中的基礎(chǔ)架構(gòu)層進行通信。它能夠指導(dǎo)網(wǎng)絡(luò)基礎(chǔ)架構(gòu),遵循由控制器設(shè)定的應(yīng)用數(shù)據(jù)路徑。盡管控制器的主要功能是改進路由器和交換機用于移動數(shù)據(jù)的方式,但是網(wǎng)絡(luò)基礎(chǔ)架構(gòu)中的數(shù)據(jù)的去向并不取決于物理設(shè)備或路由通道。就智能情報而言,控制器具有做出最佳決策和調(diào)整數(shù)據(jù)移動路徑的作用。
SDN的作用
SDN除了能夠提供可編程的網(wǎng)絡(luò)集中式視圖,和一致性的網(wǎng)絡(luò)資源,以滿足不斷變化的業(yè)務(wù)需求之外,SDN還提供了許多實用的技術(shù)和業(yè)務(wù)服務(wù),其中包括:
(1) 集中化的管理和可編程性
SDN的控制功能和轉(zhuǎn)發(fā)功能是相互分離的,您可以通過開放的源代碼、或?qū)S械淖詣踊ぞ?,來通過編程的方式配置目標(biāo)網(wǎng)絡(luò)。網(wǎng)絡(luò)的智能情報主要集中在控制器(即:大腦)的軟件之中,該軟件可以將目標(biāo)網(wǎng)絡(luò)作為單個交換機,以提供集中化的視圖。
(2) 最小化的運營支出
SDN的大部分應(yīng)用(包括各種網(wǎng)絡(luò)軟件的更新)都是自動化的。由于避免了為每一項業(yè)務(wù)或網(wǎng)絡(luò)需求,而添置網(wǎng)絡(luò)基礎(chǔ)架構(gòu),因此SDN能夠?qū)⑦\營的支出降至最低。它通過統(tǒng)一策略,并且在網(wǎng)絡(luò)范圍內(nèi)進行傳播,從而減少人為錯誤的可能性??梢哉f,通過將網(wǎng)絡(luò)管理員、或操作員的常規(guī)任務(wù)轉(zhuǎn)為自動化,SDN極大地減少了網(wǎng)絡(luò)管理的時間開銷。
(3) 敏捷性與靈活性
SDN旨在通過更加良好的敏捷性和靈活性,以幫助企業(yè)在現(xiàn)有基礎(chǔ)架構(gòu)中,部署最新的應(yīng)用和服務(wù),進而實現(xiàn)業(yè)務(wù)目標(biāo)。在服務(wù)進行各種實際更新和創(chuàng)建時,我們只需進行簡單的修改,便可將其集成并發(fā)布到整個網(wǎng)絡(luò)之中。
原文標(biāo)題:Detailed Look into the Software-Defined Networking (SDN) ,作者:Sitwat Maroof
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】