1 月 13 日,OpenvSwitch 團(tuán)隊(duì)正式宣布了 OVN(Open Virtual Network )項(xiàng)目,參考 Open Virtual Network Annoucement。
眾所周知,OpenvSwitch 已經(jīng)是現(xiàn)在數(shù)據(jù)中心里軟件交換機(jī)的事實(shí)標(biāo)準(zhǔn)。由于硬件交換設(shè)備的成本一直降不下來(lái),而且用硬件交換設(shè)備去延伸管控服務(wù)器上的虛擬機(jī)的相關(guān)標(biāo)準(zhǔn)和協(xié)議仍不成熟,OpenvSwitch 在相當(dāng)長(zhǎng)的一段時(shí)間里,以其成本和靈活性的優(yōu)勢(shì),占據(jù)很大一部分低端市場(chǎng)。
傳統(tǒng)情況下,大家使用 OpenvSwitch 主要有兩個(gè)目的,一個(gè)是支持 OpenFlow、OVSDB 這樣的 SDN 管控協(xié)議;另外一個(gè)是作為數(shù)據(jù)中心中的接入層交換機(jī)。
而OVN項(xiàng)目的提出,其實(shí)是針對(duì)后一種應(yīng)用場(chǎng)景,大大增強(qiáng)和簡(jiǎn)化了 OpenvSwitch 作為接入層交換機(jī)的使用。
OVN 要做的事情,看起來(lái)其實(shí)蠻簡(jiǎn)單,就是直接提供對(duì)虛擬網(wǎng)絡(luò)(各種 overlay、安全組等)的支持。這件事很簡(jiǎn)單,但是將產(chǎn)生的影響實(shí)際上很大。
現(xiàn)在數(shù)據(jù)中心里,由于大二層的需求和硬件交換機(jī)的不給力,虛擬網(wǎng)絡(luò)實(shí)際上已經(jīng)成為了一種基礎(chǔ)設(shè)施。誰(shuí)不上虛擬網(wǎng)絡(luò),那他的數(shù)據(jù)中心規(guī)模一定大不了。正是看到了這點(diǎn),OVN 希望將如何提供虛擬網(wǎng)絡(luò)這件事情 take over 過(guò)來(lái),讓上層的用戶直接使用它,而無(wú)需自己費(fèi)心思去采用各種 overlay 技術(shù)往 OpenvSwitch 中塞各種規(guī)則。
在實(shí)現(xiàn)上也不難理解,底下還是 OpenvSwitch,上面多了一層 Hypervisor 層,如下圖(基于官方的圖修改)所示,新的組件主要包括一個(gè) OVN DB 和 一個(gè) OVN-Controller,以及它們之間的通訊協(xié)議。
雖然官方一直堅(jiān)持 OVN-Controller 并非一個(gè) SDN 的完整控制器,但是由于目前虛擬網(wǎng)絡(luò)管理往往是在 SDN 控制器中做的,其實(shí)可以理解為把傳統(tǒng) SDN 控制器中這一層要做的事情給接管了過(guò)來(lái)。往后控制器實(shí)際上可以直接操作現(xiàn)成的虛擬網(wǎng)絡(luò)了。
從架構(gòu)設(shè)計(jì)上,理念跟 OpenvSwitch 類似,核心還是數(shù)據(jù)庫(kù),組件之間通過(guò)協(xié)議進(jìn)行松耦合的調(diào)用。
如果說(shuō)最初大家討論 SDN 是希望將控制平面跟數(shù)據(jù)平面拿開(kāi),那么,在這里其實(shí)是希望將控制層的部分功能再往回放放。這個(gè)思想跟我們 12 年提出的設(shè)計(jì)很相似。
不從對(duì)錯(cuò)的角度,從實(shí)用的角度看,數(shù)據(jù)平面特點(diǎn)是“傻快”,控制平面是“靈慢”。這意味大量重復(fù)性的簡(jiǎn)單操作應(yīng)該是跟數(shù)據(jù)平面靠的近一些,反過(guò)來(lái)發(fā)生頻率低的,需要復(fù)雜處理的則應(yīng)該爭(zhēng)取放到控制平面去。OVN 無(wú)疑也是看到了在數(shù)據(jù)中心網(wǎng)絡(luò)這個(gè)特殊場(chǎng)景中,各種虛擬網(wǎng)絡(luò)所依靠的封裝、映射等操作已經(jīng)成為了常見(jiàn)的基本需求。這些基本需求都放到遠(yuǎn)端的控制器,已經(jīng)有點(diǎn)“殺雞用牛刀”的感覺(jué)了。
當(dāng)然,思路是這個(gè)思路,具體怎么做,現(xiàn)在這個(gè)樣子是否是最合理的,還得看實(shí)踐的檢驗(yàn)。但這確實(shí)是一個(gè)從底下往上走的很好的嘗試。