網(wǎng)絡(luò)是數(shù)據(jù)中心里最為保守和封閉的系統(tǒng)。網(wǎng)絡(luò)的很多技術(shù)是私有的,封閉的,這樣的技術(shù)在云計算和大數(shù)據(jù)的時代顯然過于保守了,不適應新技術(shù)的發(fā)展。網(wǎng)絡(luò)技術(shù)已經(jīng)成為阻礙新技術(shù)革新的絆腳石,正因為此,數(shù)據(jù)中心的很多新技術(shù)都是基于網(wǎng)絡(luò)做出的。所以,數(shù)據(jù)中心網(wǎng)絡(luò)是技術(shù)變化最大的一塊,新的技術(shù)也是層出不窮,讓人看得眼花繚亂。這里拿出了兩塊最新的網(wǎng)絡(luò)技術(shù)Neutron和SDN,做個對比分析。在對比介紹中,就可以了解到兩大技術(shù)的特點,這兩大技術(shù)可能是未來的發(fā)展方向。
可能很多人并不知道Neutron,但是如果提起OpenStack,一定很多人都有耳聞。OpenStack是一個開源的IaaS云計算平臺,這是由美國國家航空航天局和RAX合作研發(fā)并發(fā)起的,支持幾乎所有類型的云環(huán)境。很多的大型公共云和企業(yè)云,比如阿里云、百度云等都是基于OpenStack做的二次開發(fā),OpenStack和Linux操作系統(tǒng)一樣,都是免費和開源項目。OpenStack的社區(qū)擁有超過130家企業(yè)及1千多名開發(fā)者,這樣OpenStack的開源代碼會得到不斷的更新。OpenStack是由一系列核心組件組成,網(wǎng)絡(luò)就是其中的重要部分,Neutron就是OpenStack的虛擬網(wǎng)絡(luò)解決方案。Neutron的發(fā)展自誕生到現(xiàn)在,可謂是一波三折,其命名先是由nova-network,改為quantum,因其與一家公司名沖突,接著才改為Neutron。SDN就不用多說了,軟件定義網(wǎng)絡(luò)火熱了好幾年,SDN紅遍大江南北,這是目前數(shù)據(jù)中心網(wǎng)絡(luò)中最為火熱的技術(shù)。SDN誕生于美國斯坦福大學,是一種新型的網(wǎng)絡(luò)創(chuàng)新架構(gòu),是網(wǎng)絡(luò)虛擬化的一種實現(xiàn)方式,其核心技術(shù)OpenFlow通過將網(wǎng)絡(luò)設(shè)備控制面與數(shù)據(jù)面分離開來,從而實現(xiàn)了網(wǎng)絡(luò)流量的靈活控制,使網(wǎng)絡(luò)作為管道變得更加智能。顯然,Neutron和SDN雖然都是做虛擬網(wǎng)絡(luò)的,但出身并不相同,來自于不同的團體,自然相互之間有不少差別。
Neutron和SDN 都是實現(xiàn)對網(wǎng)絡(luò)虛擬化資源的流量控制,是將轉(zhuǎn)發(fā)與控制分離的網(wǎng)絡(luò)新技術(shù)。Neutron和SDN都可以配置和管理虛擬機所用的網(wǎng)絡(luò),網(wǎng)絡(luò)服務(wù)層包括2~7層。兩種技術(shù)突出了軟件在數(shù)據(jù)中心網(wǎng)絡(luò)中的作用,通過新的網(wǎng)絡(luò)技術(shù)讓數(shù)據(jù)中心網(wǎng)絡(luò)更加適應云計算、大數(shù)據(jù)等這些新興技術(shù)。不過,既然Neutron和SDN師出異門,兩大技術(shù)還是存在巨大差異的。Nentron的網(wǎng)絡(luò)部分比SDN實現(xiàn)的內(nèi)容要多一些,無論是SaaS 還是IaaS,Neutron都已有現(xiàn)成方案或者支持,而SDN卻對Openflow的具體實現(xiàn)還未做明確要求。Neutron和SDN的側(cè)重點也不一樣,Netruon更多的是說管理網(wǎng)絡(luò),而SDN更多是說網(wǎng)絡(luò)可編程。比如:Neutron可以通過下發(fā)流表指定目標IP是1.1.1.1的流量,對此流量轉(zhuǎn)發(fā)到某某網(wǎng)口,而SDN不僅可以用上面的方式,也可以自己寫代碼指定其發(fā)到哪里。Neutron更加偏向于網(wǎng)絡(luò)管理,這樣有很多網(wǎng)絡(luò)功能無法滿足部署的需求,例如基于VM網(wǎng)卡或IP的限速、基于路由的限速以及基于租戶的限速等網(wǎng)絡(luò)需求,Neutron至今仍沒有提出完善的解決方案,而這些在實際物理網(wǎng)絡(luò)中部署都是極其常見的功能,在SDN部署中也不難實現(xiàn)。表1將兩種技術(shù)特點做了詳細對比,從表中的描述中就可以看到兩者技術(shù)實現(xiàn)上的側(cè)重點和差異:
通過對比不難看出,Neutron在網(wǎng)絡(luò)功能具體實現(xiàn)上缺失,沒有SDN實現(xiàn)的那樣切合實際。Neutron更像是一個架構(gòu)技術(shù),為未來數(shù)據(jù)中心網(wǎng)絡(luò)描述了一個框架,并沒有對具體的實現(xiàn)做考慮。正是這樣,有人就考慮是不是可以將SDN加入到Neutron中來,Neutron本身是可以包括很多API的,SDN可以作為一個API,填充到Neutron中來。事實發(fā)展上,Neutron也的確在如此演進。Neutron本身作為一個SDN網(wǎng)絡(luò)控制系統(tǒng),在網(wǎng)絡(luò)配置方面提供了一種自服務(wù)能力,用戶可以創(chuàng)建自己的網(wǎng)絡(luò)并控制流量,實現(xiàn)連接服務(wù)器和設(shè)備到一個或多個網(wǎng)絡(luò)?;贜eutron的SDN技術(shù),將成為OpenStack未來發(fā)展的重要組成部分,這使得OpenStack網(wǎng)絡(luò)實現(xiàn)了一個可擴展的框架,并能部署和管理多種網(wǎng)絡(luò)服務(wù),如入侵檢測系統(tǒng)(IDS),負載均衡,防火墻和虛擬專用網(wǎng)絡(luò)(VPN)等。
Neutron和SDN雖然來自不同的發(fā)源地,各自使命不同,各有特點。但是在云技術(shù)應用的背景下,兩者走向融合是必然趨勢。Neutron和SDN勿用再去爭論誰是未來網(wǎng)絡(luò)的技術(shù)主宰。目前來講,誰也無法替代誰,只有充分利用這種技術(shù)優(yōu)勢,才能更好地為數(shù)據(jù)中心網(wǎng)絡(luò)發(fā)展服務(wù)。當然,Neutron和SDN都是在不斷發(fā)展完善中,各自都有著很多缺陷,沒有解決的技術(shù)難題,此時兩者的融合會帶來更多的問題。將SDN作為Neutron的一個應用插件使用起來,讓SDN充分融合到Neutron網(wǎng)絡(luò)中來,這樣在整個數(shù)據(jù)中心利用OpenStack技術(shù)部署各種云,這將成為目前進行數(shù)據(jù)中心網(wǎng)絡(luò)部署的實際可行方案。