軟件定義網(wǎng)絡潛在用戶所面臨的一個關鍵挑戰(zhàn)是判斷特定SDN控制器的特定價值,畢竟控制器作為網(wǎng)絡應用和網(wǎng)絡基礎設施之間的橋梁發(fā)揮著關鍵性作用。但目前還沒有一個可以規(guī)范SDN的模型,也沒有一個SDN控制器必須要遵守的任何標準。
雖然Linux基金會旗下的多廠商OpenDaylight項目的出現(xiàn)為統(tǒng)一的模塊化控制器架構所需的SDN堆棧帶來了希望,但是對于控制器需要提供什么樣的特定服務,廠商當中仍然存在著許多不同的意見。用戶的壓力在于確定SDN控制器具有什么樣的能力,以及這些功能是否能夠幫助實現(xiàn)期望的目標。即便如此,消費者也難以購買到一個獨立的SDN控制器。實際情況是廠商常常將控制器捆綁在整個SDN套裝之中,這個套裝通常包括:應用軟件、控制器和網(wǎng)絡硬件。
即便你考慮從廠商那里購買一個整體解決方案,控制器的功能也可能出現(xiàn)麻煩。畢竟,軟件定義網(wǎng)絡正在迅速發(fā)展,而最初的整體解決方案會顯得陳舊。因此我們有眾多的因素需要考慮,細述如下。
原始性能
談到原始性能,我們首先需要明確SDN控制器的作用。通常,SDN控制器的功能是將網(wǎng)絡環(huán)境中的控制與數(shù)據(jù)平面互相分離。換句話說,控制器將告訴網(wǎng)絡設備如何轉(zhuǎn)發(fā)流量(控制平面),但是它們并不真正轉(zhuǎn)發(fā)這些流量(數(shù)據(jù)平面)。這種情況在OpenFlow(OF)網(wǎng)絡中非常常見。在OpenFlow網(wǎng)絡中,SDN控制器主要用于對網(wǎng)絡設備中的OF表單進行編程。
在OpenFlow網(wǎng)絡中,OF交換機接收數(shù)據(jù)包并根據(jù)流表處理這些數(shù)據(jù)包。但是如果流表中的數(shù)據(jù)包沒有匹配的條目,將會怎樣?在這種情況下,OF交換機將把數(shù)據(jù)包發(fā)給OF控制器,這實際上相當于在問“我應該怎么處理這些數(shù)據(jù)包?”。OF控制器來決定當數(shù)據(jù)包與流匹配時交換機應當做些什么,并對交換機進行編程。這一程序被稱為“流安裝”。
由于擴展方面的需求,SDN控制器每秒的流安裝量受到了高度重視。通常,流安裝在SDN中會存在一個性能瓶頸。但是不要想當然的認為,在大量交換機和你希望控制的龐大微流數(shù)量共同作用下,它們很快就會超過控制器流安裝能力。必須牢記并不是每個流都需要與控制器聯(lián)系。只有那些還沒有被識別或編程的流才需要這一步驟,而這通常只是例外情況。
對于廠商來說,他們非常清楚OpenFlow網(wǎng)絡的流安裝性能所帶來的挑戰(zhàn)。廠商們已經(jīng)制訂了許多緩解控制器瓶頸的策略。因此不要因為原始性能數(shù)據(jù)不佳就簡單地將某一控制器選擇排除在外。廠商可能有辦法優(yōu)化你的網(wǎng)絡環(huán)境,將流安裝的需求量降到最低限度。在這些緩解辦法當中,有一種名為流通配符技術。該技術允許通過一個單一的流條目處理眾多微流。
拓撲
在評估SDN控制器時另一個要考慮因素是你的網(wǎng)絡拓撲。讓我們先考慮一下LAN和WAN的區(qū)別。你想用軟件定義網(wǎng)絡中的哪一部分?盡管LAN是典型的SDN使用案例,但是如果你希望橫跨WAN部署網(wǎng)絡虛擬化,那會是什么情況?控制器在這一模式中將如何工作?這在很大程度上是一個有關功能性的問題。當你的SDN環(huán)境對于單個控制器來說顯得過大因而無法有效管理時,供應商會提供什么樣的選項幫助你向廣域網(wǎng)擴展?
采用中央控制器方式的SDN解決方案可以進行橫向擴展。換句話說,你可以增加控制器以應對額外的交換機。不過這里存在一個非常棘手的問題,這些交換機彼此之間將如何進行通信。
對此,廠商給出了許多種答案。盡管業(yè)內(nèi)很早就展開了對控制器彼此對話方式進行標準化的討論,但是在大多數(shù)情況下,目前的解決方案還只是局限于特定的控制器。一個常見的技術組合是通過BGP協(xié)議實現(xiàn)控制器之間的信息交換。在這種方式中,控制器知道如何查找網(wǎng)絡中不同的軟件定義部分,并在兩個區(qū)域之間轉(zhuǎn)發(fā)流量。如果這一功能對你來說非常重要,那么你需要向備選的供應商詢問這個關鍵性問題。
雖然許多SDN解決方案能夠支持一個中央控制器,但是中央化控制器的概念仍然存在一個潛在的問題。首先是控制平面的流量(如從控制器到網(wǎng)絡交換機的指令)如何被傳輸。帶內(nèi)通信意味著控制平面的流量將使用所有正常網(wǎng)絡流量所使用的路徑,帶外(OOB)通信意味著傳輸控制平面的流量需要一個獨立的物理網(wǎng)絡。
帶內(nèi)通信受到了一些希望通過“可達性”調(diào)整網(wǎng)絡拓撲的廠商們的支持。這一方案的理念是,如果網(wǎng)絡設備不再能夠被控制器控制,那么拓撲將會發(fā)生調(diào)整,控制器能夠發(fā)現(xiàn)這些變化并做出相應調(diào)整。帶外通信也受到了一些廠商的支持。這部分廠商主要是希望確??刂破髦g和交換機之間的低延遲,提升安全性,消除控制平面流量丟失所造成的數(shù)據(jù)流量風險。