精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當(dāng)前位置:虛擬化行業(yè)動(dòng)態(tài) → 正文

SDN落地的實(shí)踐與思考:帶著問(wèn)題找方案

責(zé)任編輯:editor004 |來(lái)源:企業(yè)網(wǎng)D1Net  2014-12-17 10:57:02 本文摘自:InfoQ

半年之前寫過(guò)一篇文章討論SDN的本質(zhì),當(dāng)時(shí)就說(shuō)這會(huì)是一個(gè)系列文章,后面還要寫一下SDN的落地。這一等就是半年多,其間有朋友問(wèn)過(guò)我為什么還不寫——不是我不想寫,是有些問(wèn)題還沒想清楚。直到現(xiàn)在我也不敢說(shuō)我完全想清楚了,但是畢竟有了更多的實(shí)踐,實(shí)踐過(guò)程中不停地思考,加上不斷有媒體朋友找我約稿,我想還是寫一寫吧。這篇文章可以看作是對(duì)我三年SDN工作歷程的一個(gè)總結(jié)和反思。我在這篇文章會(huì)回顧一下人們對(duì)SDN定義的爭(zhēng)議,SDN的落地實(shí)踐,阻礙SDN落地的一些障礙,給出一些對(duì)SDN落地的建議和看法。

SDN的定義回顧

現(xiàn)在大多數(shù)人對(duì)SDN的定義是控制跟轉(zhuǎn)發(fā)分離+開放的編程接口,包括Gartner也是這樣的定義。Gartner的數(shù)據(jù)中心云計(jì)算行業(yè)分析總監(jiān)曾紹清告訴我,他們認(rèn)為思科的ACI不是SDN,因?yàn)锳CI并非是控制和轉(zhuǎn)發(fā)分離,它只是把策略管理的功能分離到了控制器上,控制協(xié)議(OSPF、BGP等)仍然運(yùn)行在交換機(jī)上。但是我曾經(jīng)在國(guó)外著名的通信技術(shù)媒體lightreading上看到他們綜合一些專家的意見給出的定義,該定義里面只提到了開放的可編程接口以及由此帶來(lái)的業(yè)務(wù)敏捷性。就我個(gè)人的觀點(diǎn)來(lái)看,我更傾向于lightreading的定義(具體請(qǐng)參閱我的第一篇文章)。不過(guò),正如青云CEO Richard接受InfoQ采訪的時(shí)候說(shuō)過(guò)的,每個(gè)人對(duì)SDN都有不同的定義,這個(gè)并不重要,我深以為然,重要的是SDN帶來(lái)的價(jià)值。所以,以后大家不要把精力浪費(fèi)在討論SDN的定義上吧。

SDN在網(wǎng)絡(luò)虛擬化中的應(yīng)用

總有人說(shuō)沒看到SDN有落地案例,但是你去看一些國(guó)外專業(yè)的咨詢機(jī)構(gòu),總能看到他們的報(bào)告中,SDN的市場(chǎng)份額在逐年增加,且趨勢(shì)向好。是有人在撒謊嗎?No。

咨詢報(bào)告中說(shuō)的SDN市場(chǎng)份額在增加,主要是強(qiáng)調(diào)SDN現(xiàn)在最大的一個(gè)應(yīng)用場(chǎng)景——網(wǎng)絡(luò)虛擬化中的應(yīng)用。很多人說(shuō)沒看到SDN有落地案例,那是因?yàn)樗麄儩撘庾R(shí)里面只把控制器+硬件SDN交換機(jī)的應(yīng)用認(rèn)為是SDN應(yīng)用,云平臺(tái)+虛擬交換機(jī)他們認(rèn)為不是SDN。而事實(shí)上,以VMware的NSX為代表的網(wǎng)絡(luò)虛擬化的應(yīng)用早已經(jīng)是被廣泛認(rèn)可的SDN的典型落地案例。

目前看到的基于SDN的網(wǎng)絡(luò)虛擬化解決方案有以下三種:

純軟件方式,以VMware的NSX為代表。除了NSX,還有Juniper的Contrail、Midokura的MidoNet以及Vyatta、Nuage、Plumgrid等公司的商業(yè)網(wǎng)絡(luò)虛擬化方案。這些公司的實(shí)現(xiàn)方式都不太一樣,但是都在不同程度上用到了SDN技術(shù)。有的只是把一些策略管理的東西放在控制器上,轉(zhuǎn)發(fā)表項(xiàng)還是由虛擬交換機(jī)自己來(lái)生成,而有的則是控制器來(lái)下發(fā)轉(zhuǎn)發(fā)表項(xiàng)。而目前影響最廣泛的OpenStack的網(wǎng)絡(luò)組件Neutron,則兩種方式都支持,Neutron更是一種標(biāo)準(zhǔn)的SDN架構(gòu)。由于本文的目的不是介紹技術(shù)細(xì)節(jié),所以這里就不深入展開來(lái)講了。

硬件方式,以思科的ACI為代表,即將網(wǎng)絡(luò)虛擬化在硬件中實(shí)現(xiàn)(當(dāng)然也不排除會(huì)用到vRouter)。具體ACI的架構(gòu),我之前也寫過(guò)一篇文章,可以參閱一下。

軟件+硬件方式。盛科網(wǎng)絡(luò)推出的SDN方案即屬于此類(Arista也有類似方案),本質(zhì)上它是一個(gè)軟件方案的思路,只是把部分對(duì)性能影響最大的操作offload到硬件SDN交換機(jī),可以認(rèn)為是一個(gè)超級(jí)網(wǎng)卡。并且它為NSX之類的軟件方案提供了SDN交換機(jī)作為Tunnel Gateway來(lái)滿足物理服務(wù)器跟虛機(jī)混合組網(wǎng)的需求。

華為和華三也都相應(yīng)的都有自己的解決方案,只是目前看到的他們都是推整體云計(jì)算解決方案,沒有把網(wǎng)絡(luò)部分整出一個(gè)方案來(lái)單獨(dú)賣。

無(wú)論純軟件還是硬件的SDN解決方案,在云計(jì)算數(shù)據(jù)中心里面,應(yīng)用的越來(lái)越廣泛,所以如果要談SDN的落地,這是目前最大的,最不容忽視的一個(gè)。

SDN在別的領(lǐng)域的應(yīng)用

除了在網(wǎng)絡(luò)虛擬化領(lǐng)域的應(yīng)用,SDN交換機(jī)在別的領(lǐng)域也有一些應(yīng)用,但是從應(yīng)用廣度和影響力來(lái)看,都比不上在網(wǎng)絡(luò)虛擬化中的應(yīng)用。從我們自己以及國(guó)外一些案例來(lái)看,落地的SDN的應(yīng)用,其驅(qū)動(dòng)力主要可以歸結(jié)為兩大類:業(yè)務(wù)層面靈活性的需求,轉(zhuǎn)發(fā)層面靈活性的需求。前者的價(jià)值要遠(yuǎn)大于后者。

一、業(yè)務(wù)層面靈活性的需求

這主要是強(qiáng)調(diào)可編程。通過(guò)開放的可編程接口,提供給用戶原來(lái)無(wú)法獲得的對(duì)網(wǎng)絡(luò)配置管理和策略部署的靈活性控制。前段時(shí)間著名的運(yùn)營(yíng)商亞太環(huán)通(Pacnet)宣布在天津的一個(gè)IDC正式啟用,他們宣稱里面使用了SDN技術(shù)來(lái)為用戶提供自助調(diào)整帶寬的功能,其實(shí)該功能早就部署在了他們新加坡、澳大利亞,香港等國(guó)家和地區(qū)的其他數(shù)據(jù)中心。該功能是通過(guò)定制化的SDN交換機(jī)實(shí)現(xiàn)的,其中的千兆交換機(jī)是盛科提供的。這是一個(gè)很典型的體現(xiàn)業(yè)務(wù)靈活性的例子。用戶可以在他們提供的一個(gè)界面上,隨時(shí)按需修改自己的出口帶寬。而且不僅如此,一個(gè)用戶可能租用了他們多個(gè)數(shù)據(jù)中心,通過(guò)SDN創(chuàng)建的MPLS隧道把用戶在多地的數(shù)據(jù)連通之后,可以通過(guò)SDN動(dòng)態(tài)調(diào)整這些隧道的帶寬,一旦出現(xiàn)故障或者擁塞,還可以自動(dòng)重新選路。沒有SDN,要做到這一步很難。

但是大家更關(guān)心的是SDN在企業(yè)網(wǎng)里面如何用。并不是所有企業(yè)網(wǎng)都適合使用SDN,什么樣的企業(yè)網(wǎng)需要用SDN呢?這個(gè)問(wèn)題后面再分析。國(guó)外一個(gè)著名設(shè)備商N(yùn),他們有挺多的SDN案例,特別是有些案例規(guī)模還是較大的,不像某些公司掛羊頭賣狗肉的宣傳,我至少知道他們有一個(gè)案例是很值得拿出來(lái)講一講的(這個(gè)案例在國(guó)外網(wǎng)站上也有介紹)。他們給某電視臺(tái)的一個(gè)新的網(wǎng)絡(luò)進(jìn)行了SDN化設(shè)計(jì),該網(wǎng)絡(luò)有一個(gè)特點(diǎn),就是拓?fù)浜筒呗远际庆`活易變的,比如這個(gè)星期是為一個(gè)大型演出節(jié)目準(zhǔn)備的,而下個(gè)星期就變成為一個(gè)體育節(jié)目準(zhǔn)備,如果沒有SDN,他們需要靠人工去插拔線修改拓?fù)洌匦聞澐治锢砗瓦壿嬀W(wǎng)絡(luò)等,非常麻煩,在人工很貴的國(guó)外,這個(gè)問(wèn)題特別突出。使用了SDN之后,整個(gè)物理網(wǎng)絡(luò)基本不動(dòng),每次就依靠SDN將網(wǎng)絡(luò)重構(gòu)。這個(gè)案例還包括無(wú)線AP,也是SDN化的。而且值得關(guān)注的是,他們并非全部使用SDN,而是一個(gè)混合的網(wǎng)絡(luò),既有SDN,又有傳統(tǒng)的。即在需要SDN的時(shí)候SDN,不需要的時(shí)候就用傳統(tǒng),深得SDN的精髓。

在我們碰到的案例中,也有一個(gè)復(fù)雜度沒這么高,但是需要對(duì)網(wǎng)絡(luò)靈活控制的。該網(wǎng)絡(luò)管理員說(shuō)他管理了一個(gè)較大的實(shí)驗(yàn)室,每天都有人在里面做不同的實(shí)驗(yàn),對(duì)這些不同的人,網(wǎng)絡(luò)中都需要有一些不同的安全控制策略,每次都去找他該配置,他不勝其煩。而這個(gè)時(shí)候,如果建立一套用戶權(quán)限體系,用戶可以自行登錄申請(qǐng),一旦認(rèn)證通過(guò),根據(jù)他的權(quán)限,控制器可以自行下發(fā)安全控制策略到交換機(jī)上,SDN的業(yè)務(wù)靈活性充分體現(xiàn)出來(lái)。

二、轉(zhuǎn)發(fā)層面靈活性的需求

這主要是針對(duì)一些非常特定的場(chǎng)景,主要是為了匹配或者修改特定字段,通常是傳統(tǒng)交換機(jī)不支持的(其實(shí)芯片也許能支持,只是交換機(jī)系統(tǒng)沒做)。這些場(chǎng)景我們也碰到不少,比如用來(lái)做DDoS防攻擊(日本Sakura Internet的應(yīng)用),用來(lái)做負(fù)載均衡+NAT,用來(lái)做TAP應(yīng)用(價(jià)格是專業(yè)的TAP設(shè)備的至少1/5),用來(lái)將PPPoE跟IP區(qū)分開并靈活控制等等。還有一些用戶提出來(lái)過(guò),但是需要輔助FPGA或者NP才能做到的。這類應(yīng)用主要的靈活性體現(xiàn)在轉(zhuǎn)發(fā)面上而不是控制面。

SDN落地的障礙

硬件SDN的落地進(jìn)展并不順利。雖然現(xiàn)在慢慢有了一些更多的案例,但是離規(guī)模部署還很遠(yuǎn)。我跟Gartner的曾紹清一起探討過(guò)原因,曾說(shuō)Gartner經(jīng)過(guò)調(diào)查,形成了一些他們的看法。

Gartner的觀點(diǎn)認(rèn)為,以下幾個(gè)問(wèn)題阻礙了SDN的落地:

廠商的直接支持而欠缺傳統(tǒng)渠道的支持

SDN的革命性變革而使銷售難度大增,傳統(tǒng)廠商偏向銷售Ethernet Fabric等容易接受的產(chǎn)品

SDN的用戶價(jià)值較難從單一產(chǎn)品成本分析中體現(xiàn)

用戶的開發(fā)團(tuán)隊(duì)開發(fā)的東西,運(yùn)維團(tuán)隊(duì)不接受

我個(gè)人覺得Gartner的觀點(diǎn)都很有道理,相對(duì)來(lái)說(shuō)看得比較宏觀。我根據(jù)我們的客戶交流和項(xiàng)目實(shí)踐中碰到過(guò)的一些問(wèn)題,也談?wù)勎业目捶āN业挠^點(diǎn)其實(shí)跟Gartner有不少相通之處,算是一枚硬幣的兩個(gè)面。我認(rèn)為一個(gè)用戶要想把SDN在他的網(wǎng)絡(luò)中落地,必須同時(shí)滿足這三個(gè)條件,缺一不可。而現(xiàn)實(shí)中,這三個(gè)條件同時(shí)滿足的不多,這也導(dǎo)致了SDN的落地緩慢。

用戶必須清楚地知道自己網(wǎng)絡(luò)中存在的問(wèn)題,然后帶著這些問(wèn)題來(lái)尋找方案。我經(jīng)常碰到一些人問(wèn)我,你幫我看看SDN能用在我們網(wǎng)絡(luò)中什么地方?這種用戶是沒辦法讓SDN落地的。SDN是用來(lái)實(shí)現(xiàn)用戶的業(yè)務(wù)敏捷性的,不是用來(lái)全面替代傳統(tǒng)網(wǎng)絡(luò)的,如果你都不知道自己有什么問(wèn)題,怎么引入SDN?我碰到的最終能落地的,都是明確知道自己網(wǎng)絡(luò)中的問(wèn)題,迫切想找方案來(lái)解決的。

用戶做決策的人必須要足夠有魄力,而且能夠協(xié)調(diào)開發(fā)部門(或者第三方開發(fā))和使用部門之間的關(guān)系。某互聯(lián)網(wǎng)大廠告訴我,他們的自研交換機(jī)項(xiàng)目之所以能成功,全面在自己的網(wǎng)絡(luò)中替換商用交換機(jī),就是因?yàn)樗麄兊难邪l(fā)和運(yùn)維都?xì)w一個(gè)領(lǐng)導(dǎo)管,這個(gè)領(lǐng)導(dǎo)要求運(yùn)維部門必須用自己研發(fā)的交換機(jī),有問(wèn)題也在所不惜。而其它大廠之所以進(jìn)展不順,則恰好相反,研發(fā)部門和運(yùn)維部門彼此獨(dú)立。SDN這里也是如此,如Gartner所言,SDN的革命性變革,必然導(dǎo)致傳統(tǒng)運(yùn)維使用上的不適用,人都有使用自己習(xí)慣的東西的惰性,如果沒有強(qiáng)制命令來(lái)保證運(yùn)維人員使用新的工作方式,確實(shí)會(huì)比較難推。盛科就給一個(gè)互聯(lián)網(wǎng)大廠做過(guò)一個(gè)SDN項(xiàng)目,該項(xiàng)目很順利地解決了一些核心技術(shù)需求,但是反倒是在推到運(yùn)維那里的時(shí)候碰到了障礙。其實(shí)那些障礙可大可小,如果嚴(yán)格按照傳統(tǒng)運(yùn)維規(guī)則去要求,那就會(huì)阻礙重重,但是如果愿意給與新生事物足夠的耐心,讓它在使用中慢慢完善,那就可以順利推行下去。這都取決于決策人員的魄力和權(quán)責(zé)范圍。

用戶的研發(fā)部門或者第三方研發(fā)人員必須有足夠的研發(fā)能力,能夠有充分的理性選擇合適的技術(shù)。整個(gè)SDN體系中的核心是什么?是交換機(jī)嗎?是控制器嗎?都不是!核心是應(yīng)用程序。在SDN中,用戶自己或者用戶委托的第三方必須有足夠的能力去研發(fā)上層應(yīng)用軟件,必須知道這些應(yīng)用軟件如何去通過(guò)控制器控制交換機(jī)。很多人通常會(huì)問(wèn)SDN交換機(jī)廠商:你們除了交換機(jī),還有控制器賣嗎?我假設(shè)我們有,你拿去就能用嗎?不能!因?yàn)樵O(shè)備商提供的控制器不知道用戶要用來(lái)做什么應(yīng)用,所以它實(shí)際上提供的只是一些基礎(chǔ)API以及實(shí)現(xiàn)這些API的內(nèi)部邏輯,如何用這些API,那是用戶或者用戶委托的第三方需要去考慮的事情。國(guó)外的SDN為什么部署得比國(guó)內(nèi)多?至少我看到的原因之一是,國(guó)外有一些獨(dú)立的第三方的SDN應(yīng)用提供商,他們有能力架設(shè)起最終用戶和SDN設(shè)備商之間的橋梁,把用戶需求和SDN設(shè)備以及控制器結(jié)合在一起,打包交付給用戶。比如前面講的亞太環(huán)通的SDN應(yīng)用,就是一個(gè)第三方軟件提供商把盛科SDN交換機(jī)、另外一個(gè)廠商的SDN光傳輸設(shè)備、開源的控制器加上他們自己的應(yīng)用程序結(jié)合在一起,一起交付給客戶。而且他們進(jìn)行技術(shù)選擇的時(shí)候,非常理性不會(huì)刻意地去追求標(biāo)準(zhǔn),他們追求的是滿足客戶需求,所以有不少私有化的擴(kuò)展。盛科推到歐洲、日本、美國(guó)去的SDN設(shè)備,也都是因?yàn)橛袕?qiáng)有力的第三方合作伙伴或者客戶本身有強(qiáng)有力的研發(fā)能力。否則SDN交換機(jī)只能在實(shí)驗(yàn)室玩玩。我也很遺憾地看到過(guò)一些反面例子,本來(lái)他們或者他們的客戶確實(shí)有SDN的需求,但是他們自己不愿意或者沒有能力去針對(duì)控制器做二次開發(fā),也不愿意花錢去請(qǐng)第三方開發(fā),而在沒有量的保證的時(shí)候,設(shè)備商也不愿意去做太多定制開發(fā),最終導(dǎo)致落地受阻。

OpenFlow的局限性

OpenFlow是最廣為人知的SDN技術(shù),但是并非唯一。而且實(shí)踐證明,僅僅靠OpenFlow,很多事情做不了,OpenFlow可以應(yīng)用的場(chǎng)景非常狹窄。

關(guān)于OpenFlow本身的技術(shù)缺陷,很多文章都提過(guò),我之前的書和文章里面也都詳細(xì)分析過(guò),諸如當(dāng)前交換芯片支持的流表數(shù)量都有限,報(bào)文匹配和動(dòng)作都不夠靈活,都無(wú)法支持很多級(jí)流表等等。這些分析都是對(duì)的,但是我要告訴大家的是,這些限制根本不足為懼。為什么這么說(shuō)?因?yàn)檫@些都是從OpenFlow技術(shù)規(guī)范出發(fā)得出來(lái)的結(jié)論,而不是從SDN應(yīng)用的角度得出來(lái)的結(jié)論,換句話說(shuō),SDN的應(yīng)用,未必真的需要OpenFlow規(guī)范里面提到的所有技術(shù),所以就算有限制,問(wèn)題也不大。OpenFlow真正的限制在別的地方。

運(yùn)維管理的缺失

還是以我們給那個(gè)互聯(lián)網(wǎng)大廠做的項(xiàng)目為例,該廠所要求的一個(gè)核心技術(shù)點(diǎn)別的交換機(jī)都做不到,只有盛科的能做到(因?yàn)槭⒖剖怯米约旱男酒『弥С衷摴δ?,而且該技術(shù)也能按照客戶要求使用OpenFlow配置出來(lái),一時(shí)皆大歡喜。但是當(dāng)該產(chǎn)品要轉(zhuǎn)運(yùn)維的時(shí)候,問(wèn)題來(lái)了,運(yùn)維部門要求所有入網(wǎng)的設(shè)備,都要滿足他們的運(yùn)維要求,諸如SNMP管理、能夠查看統(tǒng)計(jì)、能夠ping通該設(shè)備、能夠telnet該設(shè)備、能夠通過(guò)Radius到遠(yuǎn)程服務(wù)器進(jìn)行管理員身份認(rèn)證等,這些對(duì)交換機(jī)來(lái)說(shuō)是再正常不過(guò)的基本需求了,但是所有這些東西在OpenFlow上都沒有定義。當(dāng)然你可以辯論說(shuō)這屬于管理面的,不屬于OpenFlow的定義范疇,OpenFlow只定義轉(zhuǎn)發(fā)面和控制面功能,但是管理層面的不少功能依賴于轉(zhuǎn)發(fā)面,比如管理員想通過(guò)帶內(nèi)口ping通交換機(jī)以便檢驗(yàn)路徑的可達(dá)。還有運(yùn)維人員希望交換機(jī)能支持基本的LLDP協(xié)議來(lái)進(jìn)行鄰居發(fā)現(xiàn)。另外一個(gè)互聯(lián)網(wǎng)公司也給我們提出過(guò)類似的要求。

運(yùn)維管理功能的缺失導(dǎo)致了傳統(tǒng)運(yùn)維人員的抵觸是可想而知了。這光靠OpenFlow是無(wú)法解決的,需要引入傳統(tǒng)的東西。

跟傳統(tǒng)網(wǎng)絡(luò)的交互

用戶網(wǎng)絡(luò)中通常都是存在很多傳統(tǒng)設(shè)備的,不太可能為了引入SDN而把這些設(shè)備都拋棄,所以這就涉及到一個(gè)問(wèn)題,需要SDN設(shè)備跟傳統(tǒng)設(shè)備互通。比如有一個(gè)三層匯聚交換機(jī),該交換機(jī)會(huì)向下發(fā)送ARP獲取下聯(lián)設(shè)備的Mac,如果下面是個(gè)傳統(tǒng)的主機(jī)或者三層設(shè)備,它會(huì)自動(dòng)回復(fù)ARP請(qǐng)求,但是OpenFlow交換機(jī)沒這能力,它只能把報(bào)文發(fā)送到控制器,讓控制器回復(fù),但是很多用戶不想在控制器上進(jìn)行開發(fā)來(lái)支持這種非核心業(yè)務(wù)。而且,實(shí)事求是的說(shuō),最高效的做法肯定是在交換機(jī)上進(jìn)行回復(fù)。

還有更復(fù)雜的例子。曾經(jīng)有一個(gè)軟件開發(fā)商,使用盛科的交換機(jī)給一個(gè)電商開發(fā)WAN網(wǎng)的流量調(diào)度,它需要跟傳統(tǒng)交換機(jī)進(jìn)行路由協(xié)議交互,如果不在交換機(jī)上運(yùn)行路由協(xié)議,就要在控制器上運(yùn)行。在控制器上運(yùn)行路由協(xié)議,會(huì)讓控制器很復(fù)雜,而且效率低下,況且,這也并非該軟件提供商的核心價(jià)值,他們也沒這個(gè)能力去在控制器上做一個(gè)路由協(xié)議并把它做穩(wěn)定,所以他們希望交換機(jī)上做。SDN交換機(jī)對(duì)他們來(lái)說(shuō),核心價(jià)值是讓他們可以控制報(bào)文的轉(zhuǎn)發(fā)路徑,從而動(dòng)態(tài)調(diào)度流量,至于跟傳統(tǒng)網(wǎng)絡(luò)的交互,他們不希望重復(fù)發(fā)明輪子,而是希望借用交換機(jī)的傳統(tǒng)能力。

以上兩個(gè)問(wèn)題,并非是說(shuō)靠純OpenFlow交換機(jī)完全無(wú)法滿足,如果在控制器上做得足夠復(fù)雜且不考慮效率,也是可以做到的。我們就有一個(gè)云計(jì)算的客戶,使用我們的純OpenFlow交換機(jī),完全靠自己開發(fā)的控制器去進(jìn)行必要協(xié)議報(bào)文交互(主要是ARP)和各種其它必要的控制,他們之所以能做到這一點(diǎn),就是因?yàn)樗麄儽旧碛泻軓?qiáng)的研發(fā)團(tuán)隊(duì)。對(duì)于大多數(shù)人來(lái)說(shuō),要走這條路是很難的,那解決方案是什么呢?就是同時(shí)支持OpenFlow和傳統(tǒng)二三層處理的混合型交換機(jī)。

SDN落地的建議

根據(jù)以上的分析,為了加快SDN落地,對(duì)用戶、對(duì)SDN提供商、對(duì)整個(gè)行業(yè),我有如下建議。

要清晰地認(rèn)識(shí)到SDN并非適合所有場(chǎng)景。什么樣的場(chǎng)景適合SDN?前面說(shuō)過(guò),SDN應(yīng)用的兩大驅(qū)動(dòng)力:業(yè)務(wù)層面靈活性的需求和轉(zhuǎn)發(fā)層面靈活性的需求,如果你的網(wǎng)絡(luò)足夠復(fù)雜(復(fù)雜并非是規(guī)模大),一些配置管理、安全策略、流量調(diào)度策略、拓?fù)涞冉?jīng)常需要變化,那非常適合SDN,最典型的就是網(wǎng)絡(luò)虛擬化(頻繁的虛機(jī)增刪、虛擬網(wǎng)絡(luò)的變化)以及Google B4(路徑經(jīng)常需要隨著帶寬的變化而變化)。或者你的網(wǎng)絡(luò)中某個(gè)特定功能,在轉(zhuǎn)發(fā)面上需要靈活的報(bào)文匹配或者報(bào)文編輯,傳統(tǒng)網(wǎng)絡(luò)的固定模式無(wú)法滿足,那也可以考慮SDN。

對(duì)于普通企業(yè)來(lái)說(shuō),我的建議是不要追求SDN設(shè)備接口的標(biāo)準(zhǔn)化,而是要追求接口的開放性和靈活性,因?yàn)槟阆胄枰牟皇羌夹g(shù)標(biāo)準(zhǔn),而是要能解決你的實(shí)際問(wèn)題。對(duì)于運(yùn)營(yíng)商或者必須要求引入多家設(shè)備提供商的大型互聯(lián)網(wǎng)公司,如果你要引入SDN,不要去追求南向接口的標(biāo)準(zhǔn)化,而把精力放在北向接口的標(biāo)準(zhǔn)化上。通過(guò)讓每個(gè)廠商提供插件來(lái)適配北向接口的做法,來(lái)屏蔽各個(gè)廠商的差異,這是最現(xiàn)實(shí)的做法,否則推動(dòng)起來(lái)會(huì)阻力重重,因?yàn)楦鱾€(gè)廠商都不愿意提供跟別人完全一樣的設(shè)備編程接口。這一點(diǎn)上可以借鑒OpenStack的網(wǎng)絡(luò)組件Neutron的做法。

正確認(rèn)識(shí)OpenFlow的作用。不要指望純OpenFlow能夠解決你的所有問(wèn)題。真正能給復(fù)雜網(wǎng)絡(luò)帶來(lái)價(jià)值的SDN設(shè)備必定是混合型設(shè)備,而且這種混合不是簡(jiǎn)單的部分端口支持OpenFlow,部分端口支持傳統(tǒng)路由交換,而一定是在報(bào)文處理流程中,OpenFlow和傳統(tǒng)二三層處理混合在一起。讓OpenFlow去控制你想控制的部分,其它部分對(duì)你來(lái)說(shuō)無(wú)業(yè)務(wù)價(jià)值,就讓它們走傳統(tǒng)處理流程就可以了。這樣跟傳統(tǒng)網(wǎng)絡(luò)互通性的問(wèn)題,運(yùn)維管理的問(wèn)題也都很容易就解決了。

不要期望整個(gè)網(wǎng)絡(luò)全部都SDN化。SDN的價(jià)值不在于讓用戶控制一切,而在于讓用戶去控制他需要控制的地方,無(wú)業(yè)務(wù)價(jià)值的部分,完全不需要SDN的參與。無(wú)業(yè)務(wù)價(jià)值的部分,有的時(shí)候存在于邊緣,有的時(shí)候存在于匯聚和核心,完全看場(chǎng)景而定。

如果有人要進(jìn)行SDN創(chuàng)業(yè),創(chuàng)業(yè)的著眼點(diǎn)一定不要放在SDN交換機(jī)和SDN控制器,而是要放在SDN應(yīng)用上。控制器你可以找一個(gè)開源的拿過(guò)來(lái)修改一下就行,比如OpenDayLight, Ryu等,SDN交換機(jī)可以跟專業(yè)的SDN交換機(jī)廠商合作,但是應(yīng)用部分是離最終客戶最近的,最能體現(xiàn)價(jià)值的部分。SDN的落地需要這樣專業(yè)的第三方SDN應(yīng)用提供商。

不要?jiǎng)虞m問(wèn)設(shè)備商你的設(shè)備是否支持匹配12元組,是否支持多級(jí)流表,否則我會(huì)反問(wèn)你,你為什么需要匹配12元組?為什么需要多級(jí)流表?不要只把支持OpenFlow的交換機(jī)認(rèn)為是SDN交換機(jī),沒支持OpenFlow就認(rèn)為是忽悠你,你要問(wèn)的是,它開放的可編程接口是否能滿足你的需要。同理,不要以為控制器就應(yīng)該是支持OpenFlow的,不支持OpenFlow的控制器你就認(rèn)為是忽悠,你要看的是它是否能通過(guò)開放的接口去控制交換機(jī)。對(duì)于OpenFlow交換機(jī),不要認(rèn)為只有使用ACL表實(shí)現(xiàn)的OpenFlow才是OpenFlow,使用傳統(tǒng)表項(xiàng)組合出來(lái)的流表就不是OpenFlow,就是忽悠,你要問(wèn)的是,使用傳統(tǒng)表項(xiàng)組合出來(lái)的流表是否能滿足你的需求。

無(wú)論是用戶,還是SDN設(shè)備、方案提供商,一定不要期望你可以做一個(gè)批量復(fù)制的東西出來(lái),SDN必然意味著定制化。這是一把雙刃劍,一方面它可以通過(guò)定制給用戶提供真正的靈活性,但是另外一方面,太多的定制導(dǎo)致它難以被快速推廣,大型設(shè)備商的規(guī)模優(yōu)勢(shì)無(wú)法體現(xiàn),無(wú)法依靠傳統(tǒng)渠道去推廣而不愿意去定制,而小的設(shè)備商限于人力,也沒法去做太多定制。所以需要專業(yè)的第三方提供商的出現(xiàn)。

在沒有規(guī)模部署的前提下,不要去期望SDN設(shè)備會(huì)有成本優(yōu)勢(shì),相反,因?yàn)槎ㄖ苹难邪l(fā)投入,SDN整體方案的成本反而會(huì)增加。對(duì)于用戶來(lái)說(shuō),要關(guān)注的是SDN所帶來(lái)的運(yùn)維成本的下降。

如果你要部署SDN,必須打消買過(guò)來(lái)就能用的不現(xiàn)實(shí)的期望值——至少目前是這樣。在你立項(xiàng)或者購(gòu)買SDN設(shè)備之前,你必須要問(wèn)自己,Am I ready? ready的意思就是你需要自己有懂業(yè)務(wù)的研發(fā)團(tuán)隊(duì)或者愿意購(gòu)買第三方的服務(wù),或者愿意付錢讓設(shè)備商給你做定制開發(fā)(如果設(shè)備商愿意的話)。

總結(jié)

我們要正確地認(rèn)識(shí)SDN,不要過(guò)高估計(jì)SDN的能力,也不要對(duì)SDN喪失信心。SDN不會(huì)取代傳統(tǒng)網(wǎng)絡(luò),甚至看不到它有占據(jù)壟斷地位的可能,但是它肯定會(huì)是現(xiàn)有網(wǎng)絡(luò)的一個(gè)強(qiáng)力補(bǔ)充。SDN落地不要太在乎標(biāo)準(zhǔn)化,要著眼于開放性。SDN落地不僅呼吁第三方應(yīng)用提供商的出現(xiàn),更重要的是,SDN用戶企業(yè)中的決策者,要有足夠魄力,敢于承擔(dān)風(fēng)險(xiǎn),愿意在使用中完善SDN,要勇于拍板。國(guó)外的Google,F(xiàn)acebook有這個(gè)魄力,NTT有這個(gè)魄力,Verizon有這個(gè)魄力,Pacnet有這個(gè)魄力,國(guó)內(nèi)的公司沒理由在這方面落后于他們。我們欣喜地看到國(guó)內(nèi)某些公司已經(jīng)在趕上,騰訊就是一個(gè)很好的榜樣。

最后也要給所有要學(xué)習(xí)SDN的朋友,特別是學(xué)生朋友一個(gè)建議:學(xué)習(xí)SDN,必須要有基本的網(wǎng)絡(luò)知識(shí)作為基礎(chǔ),不懂網(wǎng)絡(luò)就想學(xué)習(xí)SDN這是不現(xiàn)實(shí)的。

關(guān)鍵字:盛科轉(zhuǎn)發(fā)表虛擬交換機(jī)

本文摘自:InfoQ

x SDN落地的實(shí)踐與思考:帶著問(wèn)題找方案 掃一掃
分享本文到朋友圈
當(dāng)前位置:虛擬化行業(yè)動(dòng)態(tài) → 正文

SDN落地的實(shí)踐與思考:帶著問(wèn)題找方案

責(zé)任編輯:editor004 |來(lái)源:企業(yè)網(wǎng)D1Net  2014-12-17 10:57:02 本文摘自:InfoQ

半年之前寫過(guò)一篇文章討論SDN的本質(zhì),當(dāng)時(shí)就說(shuō)這會(huì)是一個(gè)系列文章,后面還要寫一下SDN的落地。這一等就是半年多,其間有朋友問(wèn)過(guò)我為什么還不寫——不是我不想寫,是有些問(wèn)題還沒想清楚。直到現(xiàn)在我也不敢說(shuō)我完全想清楚了,但是畢竟有了更多的實(shí)踐,實(shí)踐過(guò)程中不停地思考,加上不斷有媒體朋友找我約稿,我想還是寫一寫吧。這篇文章可以看作是對(duì)我三年SDN工作歷程的一個(gè)總結(jié)和反思。我在這篇文章會(huì)回顧一下人們對(duì)SDN定義的爭(zhēng)議,SDN的落地實(shí)踐,阻礙SDN落地的一些障礙,給出一些對(duì)SDN落地的建議和看法。

SDN的定義回顧

現(xiàn)在大多數(shù)人對(duì)SDN的定義是控制跟轉(zhuǎn)發(fā)分離+開放的編程接口,包括Gartner也是這樣的定義。Gartner的數(shù)據(jù)中心云計(jì)算行業(yè)分析總監(jiān)曾紹清告訴我,他們認(rèn)為思科的ACI不是SDN,因?yàn)锳CI并非是控制和轉(zhuǎn)發(fā)分離,它只是把策略管理的功能分離到了控制器上,控制協(xié)議(OSPF、BGP等)仍然運(yùn)行在交換機(jī)上。但是我曾經(jīng)在國(guó)外著名的通信技術(shù)媒體lightreading上看到他們綜合一些專家的意見給出的定義,該定義里面只提到了開放的可編程接口以及由此帶來(lái)的業(yè)務(wù)敏捷性。就我個(gè)人的觀點(diǎn)來(lái)看,我更傾向于lightreading的定義(具體請(qǐng)參閱我的第一篇文章)。不過(guò),正如青云CEO Richard接受InfoQ采訪的時(shí)候說(shuō)過(guò)的,每個(gè)人對(duì)SDN都有不同的定義,這個(gè)并不重要,我深以為然,重要的是SDN帶來(lái)的價(jià)值。所以,以后大家不要把精力浪費(fèi)在討論SDN的定義上吧。

SDN在網(wǎng)絡(luò)虛擬化中的應(yīng)用

總有人說(shuō)沒看到SDN有落地案例,但是你去看一些國(guó)外專業(yè)的咨詢機(jī)構(gòu),總能看到他們的報(bào)告中,SDN的市場(chǎng)份額在逐年增加,且趨勢(shì)向好。是有人在撒謊嗎?No。

咨詢報(bào)告中說(shuō)的SDN市場(chǎng)份額在增加,主要是強(qiáng)調(diào)SDN現(xiàn)在最大的一個(gè)應(yīng)用場(chǎng)景——網(wǎng)絡(luò)虛擬化中的應(yīng)用。很多人說(shuō)沒看到SDN有落地案例,那是因?yàn)樗麄儩撘庾R(shí)里面只把控制器+硬件SDN交換機(jī)的應(yīng)用認(rèn)為是SDN應(yīng)用,云平臺(tái)+虛擬交換機(jī)他們認(rèn)為不是SDN。而事實(shí)上,以VMware的NSX為代表的網(wǎng)絡(luò)虛擬化的應(yīng)用早已經(jīng)是被廣泛認(rèn)可的SDN的典型落地案例。

目前看到的基于SDN的網(wǎng)絡(luò)虛擬化解決方案有以下三種:

純軟件方式,以VMware的NSX為代表。除了NSX,還有Juniper的Contrail、Midokura的MidoNet以及Vyatta、Nuage、Plumgrid等公司的商業(yè)網(wǎng)絡(luò)虛擬化方案。這些公司的實(shí)現(xiàn)方式都不太一樣,但是都在不同程度上用到了SDN技術(shù)。有的只是把一些策略管理的東西放在控制器上,轉(zhuǎn)發(fā)表項(xiàng)還是由虛擬交換機(jī)自己來(lái)生成,而有的則是控制器來(lái)下發(fā)轉(zhuǎn)發(fā)表項(xiàng)。而目前影響最廣泛的OpenStack的網(wǎng)絡(luò)組件Neutron,則兩種方式都支持,Neutron更是一種標(biāo)準(zhǔn)的SDN架構(gòu)。由于本文的目的不是介紹技術(shù)細(xì)節(jié),所以這里就不深入展開來(lái)講了。

硬件方式,以思科的ACI為代表,即將網(wǎng)絡(luò)虛擬化在硬件中實(shí)現(xiàn)(當(dāng)然也不排除會(huì)用到vRouter)。具體ACI的架構(gòu),我之前也寫過(guò)一篇文章,可以參閱一下。

軟件+硬件方式。盛科網(wǎng)絡(luò)推出的SDN方案即屬于此類(Arista也有類似方案),本質(zhì)上它是一個(gè)軟件方案的思路,只是把部分對(duì)性能影響最大的操作offload到硬件SDN交換機(jī),可以認(rèn)為是一個(gè)超級(jí)網(wǎng)卡。并且它為NSX之類的軟件方案提供了SDN交換機(jī)作為Tunnel Gateway來(lái)滿足物理服務(wù)器跟虛機(jī)混合組網(wǎng)的需求。

華為和華三也都相應(yīng)的都有自己的解決方案,只是目前看到的他們都是推整體云計(jì)算解決方案,沒有把網(wǎng)絡(luò)部分整出一個(gè)方案來(lái)單獨(dú)賣。

無(wú)論純軟件還是硬件的SDN解決方案,在云計(jì)算數(shù)據(jù)中心里面,應(yīng)用的越來(lái)越廣泛,所以如果要談SDN的落地,這是目前最大的,最不容忽視的一個(gè)。

SDN在別的領(lǐng)域的應(yīng)用

除了在網(wǎng)絡(luò)虛擬化領(lǐng)域的應(yīng)用,SDN交換機(jī)在別的領(lǐng)域也有一些應(yīng)用,但是從應(yīng)用廣度和影響力來(lái)看,都比不上在網(wǎng)絡(luò)虛擬化中的應(yīng)用。從我們自己以及國(guó)外一些案例來(lái)看,落地的SDN的應(yīng)用,其驅(qū)動(dòng)力主要可以歸結(jié)為兩大類:業(yè)務(wù)層面靈活性的需求,轉(zhuǎn)發(fā)層面靈活性的需求。前者的價(jià)值要遠(yuǎn)大于后者。

一、業(yè)務(wù)層面靈活性的需求

這主要是強(qiáng)調(diào)可編程。通過(guò)開放的可編程接口,提供給用戶原來(lái)無(wú)法獲得的對(duì)網(wǎng)絡(luò)配置管理和策略部署的靈活性控制。前段時(shí)間著名的運(yùn)營(yíng)商亞太環(huán)通(Pacnet)宣布在天津的一個(gè)IDC正式啟用,他們宣稱里面使用了SDN技術(shù)來(lái)為用戶提供自助調(diào)整帶寬的功能,其實(shí)該功能早就部署在了他們新加坡、澳大利亞,香港等國(guó)家和地區(qū)的其他數(shù)據(jù)中心。該功能是通過(guò)定制化的SDN交換機(jī)實(shí)現(xiàn)的,其中的千兆交換機(jī)是盛科提供的。這是一個(gè)很典型的體現(xiàn)業(yè)務(wù)靈活性的例子。用戶可以在他們提供的一個(gè)界面上,隨時(shí)按需修改自己的出口帶寬。而且不僅如此,一個(gè)用戶可能租用了他們多個(gè)數(shù)據(jù)中心,通過(guò)SDN創(chuàng)建的MPLS隧道把用戶在多地的數(shù)據(jù)連通之后,可以通過(guò)SDN動(dòng)態(tài)調(diào)整這些隧道的帶寬,一旦出現(xiàn)故障或者擁塞,還可以自動(dòng)重新選路。沒有SDN,要做到這一步很難。

但是大家更關(guān)心的是SDN在企業(yè)網(wǎng)里面如何用。并不是所有企業(yè)網(wǎng)都適合使用SDN,什么樣的企業(yè)網(wǎng)需要用SDN呢?這個(gè)問(wèn)題后面再分析。國(guó)外一個(gè)著名設(shè)備商N(yùn),他們有挺多的SDN案例,特別是有些案例規(guī)模還是較大的,不像某些公司掛羊頭賣狗肉的宣傳,我至少知道他們有一個(gè)案例是很值得拿出來(lái)講一講的(這個(gè)案例在國(guó)外網(wǎng)站上也有介紹)。他們給某電視臺(tái)的一個(gè)新的網(wǎng)絡(luò)進(jìn)行了SDN化設(shè)計(jì),該網(wǎng)絡(luò)有一個(gè)特點(diǎn),就是拓?fù)浜筒呗远际庆`活易變的,比如這個(gè)星期是為一個(gè)大型演出節(jié)目準(zhǔn)備的,而下個(gè)星期就變成為一個(gè)體育節(jié)目準(zhǔn)備,如果沒有SDN,他們需要靠人工去插拔線修改拓?fù)洌匦聞澐治锢砗瓦壿嬀W(wǎng)絡(luò)等,非常麻煩,在人工很貴的國(guó)外,這個(gè)問(wèn)題特別突出。使用了SDN之后,整個(gè)物理網(wǎng)絡(luò)基本不動(dòng),每次就依靠SDN將網(wǎng)絡(luò)重構(gòu)。這個(gè)案例還包括無(wú)線AP,也是SDN化的。而且值得關(guān)注的是,他們并非全部使用SDN,而是一個(gè)混合的網(wǎng)絡(luò),既有SDN,又有傳統(tǒng)的。即在需要SDN的時(shí)候SDN,不需要的時(shí)候就用傳統(tǒng),深得SDN的精髓。

在我們碰到的案例中,也有一個(gè)復(fù)雜度沒這么高,但是需要對(duì)網(wǎng)絡(luò)靈活控制的。該網(wǎng)絡(luò)管理員說(shuō)他管理了一個(gè)較大的實(shí)驗(yàn)室,每天都有人在里面做不同的實(shí)驗(yàn),對(duì)這些不同的人,網(wǎng)絡(luò)中都需要有一些不同的安全控制策略,每次都去找他該配置,他不勝其煩。而這個(gè)時(shí)候,如果建立一套用戶權(quán)限體系,用戶可以自行登錄申請(qǐng),一旦認(rèn)證通過(guò),根據(jù)他的權(quán)限,控制器可以自行下發(fā)安全控制策略到交換機(jī)上,SDN的業(yè)務(wù)靈活性充分體現(xiàn)出來(lái)。

二、轉(zhuǎn)發(fā)層面靈活性的需求

這主要是針對(duì)一些非常特定的場(chǎng)景,主要是為了匹配或者修改特定字段,通常是傳統(tǒng)交換機(jī)不支持的(其實(shí)芯片也許能支持,只是交換機(jī)系統(tǒng)沒做)。這些場(chǎng)景我們也碰到不少,比如用來(lái)做DDoS防攻擊(日本Sakura Internet的應(yīng)用),用來(lái)做負(fù)載均衡+NAT,用來(lái)做TAP應(yīng)用(價(jià)格是專業(yè)的TAP設(shè)備的至少1/5),用來(lái)將PPPoE跟IP區(qū)分開并靈活控制等等。還有一些用戶提出來(lái)過(guò),但是需要輔助FPGA或者NP才能做到的。這類應(yīng)用主要的靈活性體現(xiàn)在轉(zhuǎn)發(fā)面上而不是控制面。

SDN落地的障礙

硬件SDN的落地進(jìn)展并不順利。雖然現(xiàn)在慢慢有了一些更多的案例,但是離規(guī)模部署還很遠(yuǎn)。我跟Gartner的曾紹清一起探討過(guò)原因,曾說(shuō)Gartner經(jīng)過(guò)調(diào)查,形成了一些他們的看法。

Gartner的觀點(diǎn)認(rèn)為,以下幾個(gè)問(wèn)題阻礙了SDN的落地:

廠商的直接支持而欠缺傳統(tǒng)渠道的支持

SDN的革命性變革而使銷售難度大增,傳統(tǒng)廠商偏向銷售Ethernet Fabric等容易接受的產(chǎn)品

SDN的用戶價(jià)值較難從單一產(chǎn)品成本分析中體現(xiàn)

用戶的開發(fā)團(tuán)隊(duì)開發(fā)的東西,運(yùn)維團(tuán)隊(duì)不接受

我個(gè)人覺得Gartner的觀點(diǎn)都很有道理,相對(duì)來(lái)說(shuō)看得比較宏觀。我根據(jù)我們的客戶交流和項(xiàng)目實(shí)踐中碰到過(guò)的一些問(wèn)題,也談?wù)勎业目捶āN业挠^點(diǎn)其實(shí)跟Gartner有不少相通之處,算是一枚硬幣的兩個(gè)面。我認(rèn)為一個(gè)用戶要想把SDN在他的網(wǎng)絡(luò)中落地,必須同時(shí)滿足這三個(gè)條件,缺一不可。而現(xiàn)實(shí)中,這三個(gè)條件同時(shí)滿足的不多,這也導(dǎo)致了SDN的落地緩慢。

用戶必須清楚地知道自己網(wǎng)絡(luò)中存在的問(wèn)題,然后帶著這些問(wèn)題來(lái)尋找方案。我經(jīng)常碰到一些人問(wèn)我,你幫我看看SDN能用在我們網(wǎng)絡(luò)中什么地方?這種用戶是沒辦法讓SDN落地的。SDN是用來(lái)實(shí)現(xiàn)用戶的業(yè)務(wù)敏捷性的,不是用來(lái)全面替代傳統(tǒng)網(wǎng)絡(luò)的,如果你都不知道自己有什么問(wèn)題,怎么引入SDN?我碰到的最終能落地的,都是明確知道自己網(wǎng)絡(luò)中的問(wèn)題,迫切想找方案來(lái)解決的。

用戶做決策的人必須要足夠有魄力,而且能夠協(xié)調(diào)開發(fā)部門(或者第三方開發(fā))和使用部門之間的關(guān)系。某互聯(lián)網(wǎng)大廠告訴我,他們的自研交換機(jī)項(xiàng)目之所以能成功,全面在自己的網(wǎng)絡(luò)中替換商用交換機(jī),就是因?yàn)樗麄兊难邪l(fā)和運(yùn)維都?xì)w一個(gè)領(lǐng)導(dǎo)管,這個(gè)領(lǐng)導(dǎo)要求運(yùn)維部門必須用自己研發(fā)的交換機(jī),有問(wèn)題也在所不惜。而其它大廠之所以進(jìn)展不順,則恰好相反,研發(fā)部門和運(yùn)維部門彼此獨(dú)立。SDN這里也是如此,如Gartner所言,SDN的革命性變革,必然導(dǎo)致傳統(tǒng)運(yùn)維使用上的不適用,人都有使用自己習(xí)慣的東西的惰性,如果沒有強(qiáng)制命令來(lái)保證運(yùn)維人員使用新的工作方式,確實(shí)會(huì)比較難推。盛科就給一個(gè)互聯(lián)網(wǎng)大廠做過(guò)一個(gè)SDN項(xiàng)目,該項(xiàng)目很順利地解決了一些核心技術(shù)需求,但是反倒是在推到運(yùn)維那里的時(shí)候碰到了障礙。其實(shí)那些障礙可大可小,如果嚴(yán)格按照傳統(tǒng)運(yùn)維規(guī)則去要求,那就會(huì)阻礙重重,但是如果愿意給與新生事物足夠的耐心,讓它在使用中慢慢完善,那就可以順利推行下去。這都取決于決策人員的魄力和權(quán)責(zé)范圍。

用戶的研發(fā)部門或者第三方研發(fā)人員必須有足夠的研發(fā)能力,能夠有充分的理性選擇合適的技術(shù)。整個(gè)SDN體系中的核心是什么?是交換機(jī)嗎?是控制器嗎?都不是!核心是應(yīng)用程序。在SDN中,用戶自己或者用戶委托的第三方必須有足夠的能力去研發(fā)上層應(yīng)用軟件,必須知道這些應(yīng)用軟件如何去通過(guò)控制器控制交換機(jī)。很多人通常會(huì)問(wèn)SDN交換機(jī)廠商:你們除了交換機(jī),還有控制器賣嗎?我假設(shè)我們有,你拿去就能用嗎?不能!因?yàn)樵O(shè)備商提供的控制器不知道用戶要用來(lái)做什么應(yīng)用,所以它實(shí)際上提供的只是一些基礎(chǔ)API以及實(shí)現(xiàn)這些API的內(nèi)部邏輯,如何用這些API,那是用戶或者用戶委托的第三方需要去考慮的事情。國(guó)外的SDN為什么部署得比國(guó)內(nèi)多?至少我看到的原因之一是,國(guó)外有一些獨(dú)立的第三方的SDN應(yīng)用提供商,他們有能力架設(shè)起最終用戶和SDN設(shè)備商之間的橋梁,把用戶需求和SDN設(shè)備以及控制器結(jié)合在一起,打包交付給用戶。比如前面講的亞太環(huán)通的SDN應(yīng)用,就是一個(gè)第三方軟件提供商把盛科SDN交換機(jī)、另外一個(gè)廠商的SDN光傳輸設(shè)備、開源的控制器加上他們自己的應(yīng)用程序結(jié)合在一起,一起交付給客戶。而且他們進(jìn)行技術(shù)選擇的時(shí)候,非常理性不會(huì)刻意地去追求標(biāo)準(zhǔn),他們追求的是滿足客戶需求,所以有不少私有化的擴(kuò)展。盛科推到歐洲、日本、美國(guó)去的SDN設(shè)備,也都是因?yàn)橛袕?qiáng)有力的第三方合作伙伴或者客戶本身有強(qiáng)有力的研發(fā)能力。否則SDN交換機(jī)只能在實(shí)驗(yàn)室玩玩。我也很遺憾地看到過(guò)一些反面例子,本來(lái)他們或者他們的客戶確實(shí)有SDN的需求,但是他們自己不愿意或者沒有能力去針對(duì)控制器做二次開發(fā),也不愿意花錢去請(qǐng)第三方開發(fā),而在沒有量的保證的時(shí)候,設(shè)備商也不愿意去做太多定制開發(fā),最終導(dǎo)致落地受阻。

OpenFlow的局限性

OpenFlow是最廣為人知的SDN技術(shù),但是并非唯一。而且實(shí)踐證明,僅僅靠OpenFlow,很多事情做不了,OpenFlow可以應(yīng)用的場(chǎng)景非常狹窄。

關(guān)于OpenFlow本身的技術(shù)缺陷,很多文章都提過(guò),我之前的書和文章里面也都詳細(xì)分析過(guò),諸如當(dāng)前交換芯片支持的流表數(shù)量都有限,報(bào)文匹配和動(dòng)作都不夠靈活,都無(wú)法支持很多級(jí)流表等等。這些分析都是對(duì)的,但是我要告訴大家的是,這些限制根本不足為懼。為什么這么說(shuō)?因?yàn)檫@些都是從OpenFlow技術(shù)規(guī)范出發(fā)得出來(lái)的結(jié)論,而不是從SDN應(yīng)用的角度得出來(lái)的結(jié)論,換句話說(shuō),SDN的應(yīng)用,未必真的需要OpenFlow規(guī)范里面提到的所有技術(shù),所以就算有限制,問(wèn)題也不大。OpenFlow真正的限制在別的地方。

運(yùn)維管理的缺失

還是以我們給那個(gè)互聯(lián)網(wǎng)大廠做的項(xiàng)目為例,該廠所要求的一個(gè)核心技術(shù)點(diǎn)別的交換機(jī)都做不到,只有盛科的能做到(因?yàn)槭⒖剖怯米约旱男酒『弥С衷摴δ?,而且該技術(shù)也能按照客戶要求使用OpenFlow配置出來(lái),一時(shí)皆大歡喜。但是當(dāng)該產(chǎn)品要轉(zhuǎn)運(yùn)維的時(shí)候,問(wèn)題來(lái)了,運(yùn)維部門要求所有入網(wǎng)的設(shè)備,都要滿足他們的運(yùn)維要求,諸如SNMP管理、能夠查看統(tǒng)計(jì)、能夠ping通該設(shè)備、能夠telnet該設(shè)備、能夠通過(guò)Radius到遠(yuǎn)程服務(wù)器進(jìn)行管理員身份認(rèn)證等,這些對(duì)交換機(jī)來(lái)說(shuō)是再正常不過(guò)的基本需求了,但是所有這些東西在OpenFlow上都沒有定義。當(dāng)然你可以辯論說(shuō)這屬于管理面的,不屬于OpenFlow的定義范疇,OpenFlow只定義轉(zhuǎn)發(fā)面和控制面功能,但是管理層面的不少功能依賴于轉(zhuǎn)發(fā)面,比如管理員想通過(guò)帶內(nèi)口ping通交換機(jī)以便檢驗(yàn)路徑的可達(dá)。還有運(yùn)維人員希望交換機(jī)能支持基本的LLDP協(xié)議來(lái)進(jìn)行鄰居發(fā)現(xiàn)。另外一個(gè)互聯(lián)網(wǎng)公司也給我們提出過(guò)類似的要求。

運(yùn)維管理功能的缺失導(dǎo)致了傳統(tǒng)運(yùn)維人員的抵觸是可想而知了。這光靠OpenFlow是無(wú)法解決的,需要引入傳統(tǒng)的東西。

跟傳統(tǒng)網(wǎng)絡(luò)的交互

用戶網(wǎng)絡(luò)中通常都是存在很多傳統(tǒng)設(shè)備的,不太可能為了引入SDN而把這些設(shè)備都拋棄,所以這就涉及到一個(gè)問(wèn)題,需要SDN設(shè)備跟傳統(tǒng)設(shè)備互通。比如有一個(gè)三層匯聚交換機(jī),該交換機(jī)會(huì)向下發(fā)送ARP獲取下聯(lián)設(shè)備的Mac,如果下面是個(gè)傳統(tǒng)的主機(jī)或者三層設(shè)備,它會(huì)自動(dòng)回復(fù)ARP請(qǐng)求,但是OpenFlow交換機(jī)沒這能力,它只能把報(bào)文發(fā)送到控制器,讓控制器回復(fù),但是很多用戶不想在控制器上進(jìn)行開發(fā)來(lái)支持這種非核心業(yè)務(wù)。而且,實(shí)事求是的說(shuō),最高效的做法肯定是在交換機(jī)上進(jìn)行回復(fù)。

還有更復(fù)雜的例子。曾經(jīng)有一個(gè)軟件開發(fā)商,使用盛科的交換機(jī)給一個(gè)電商開發(fā)WAN網(wǎng)的流量調(diào)度,它需要跟傳統(tǒng)交換機(jī)進(jìn)行路由協(xié)議交互,如果不在交換機(jī)上運(yùn)行路由協(xié)議,就要在控制器上運(yùn)行。在控制器上運(yùn)行路由協(xié)議,會(huì)讓控制器很復(fù)雜,而且效率低下,況且,這也并非該軟件提供商的核心價(jià)值,他們也沒這個(gè)能力去在控制器上做一個(gè)路由協(xié)議并把它做穩(wěn)定,所以他們希望交換機(jī)上做。SDN交換機(jī)對(duì)他們來(lái)說(shuō),核心價(jià)值是讓他們可以控制報(bào)文的轉(zhuǎn)發(fā)路徑,從而動(dòng)態(tài)調(diào)度流量,至于跟傳統(tǒng)網(wǎng)絡(luò)的交互,他們不希望重復(fù)發(fā)明輪子,而是希望借用交換機(jī)的傳統(tǒng)能力。

以上兩個(gè)問(wèn)題,并非是說(shuō)靠純OpenFlow交換機(jī)完全無(wú)法滿足,如果在控制器上做得足夠復(fù)雜且不考慮效率,也是可以做到的。我們就有一個(gè)云計(jì)算的客戶,使用我們的純OpenFlow交換機(jī),完全靠自己開發(fā)的控制器去進(jìn)行必要協(xié)議報(bào)文交互(主要是ARP)和各種其它必要的控制,他們之所以能做到這一點(diǎn),就是因?yàn)樗麄儽旧碛泻軓?qiáng)的研發(fā)團(tuán)隊(duì)。對(duì)于大多數(shù)人來(lái)說(shuō),要走這條路是很難的,那解決方案是什么呢?就是同時(shí)支持OpenFlow和傳統(tǒng)二三層處理的混合型交換機(jī)。

SDN落地的建議

根據(jù)以上的分析,為了加快SDN落地,對(duì)用戶、對(duì)SDN提供商、對(duì)整個(gè)行業(yè),我有如下建議。

要清晰地認(rèn)識(shí)到SDN并非適合所有場(chǎng)景。什么樣的場(chǎng)景適合SDN?前面說(shuō)過(guò),SDN應(yīng)用的兩大驅(qū)動(dòng)力:業(yè)務(wù)層面靈活性的需求和轉(zhuǎn)發(fā)層面靈活性的需求,如果你的網(wǎng)絡(luò)足夠復(fù)雜(復(fù)雜并非是規(guī)模大),一些配置管理、安全策略、流量調(diào)度策略、拓?fù)涞冉?jīng)常需要變化,那非常適合SDN,最典型的就是網(wǎng)絡(luò)虛擬化(頻繁的虛機(jī)增刪、虛擬網(wǎng)絡(luò)的變化)以及Google B4(路徑經(jīng)常需要隨著帶寬的變化而變化)。或者你的網(wǎng)絡(luò)中某個(gè)特定功能,在轉(zhuǎn)發(fā)面上需要靈活的報(bào)文匹配或者報(bào)文編輯,傳統(tǒng)網(wǎng)絡(luò)的固定模式無(wú)法滿足,那也可以考慮SDN。

對(duì)于普通企業(yè)來(lái)說(shuō),我的建議是不要追求SDN設(shè)備接口的標(biāo)準(zhǔn)化,而是要追求接口的開放性和靈活性,因?yàn)槟阆胄枰牟皇羌夹g(shù)標(biāo)準(zhǔn),而是要能解決你的實(shí)際問(wèn)題。對(duì)于運(yùn)營(yíng)商或者必須要求引入多家設(shè)備提供商的大型互聯(lián)網(wǎng)公司,如果你要引入SDN,不要去追求南向接口的標(biāo)準(zhǔn)化,而把精力放在北向接口的標(biāo)準(zhǔn)化上。通過(guò)讓每個(gè)廠商提供插件來(lái)適配北向接口的做法,來(lái)屏蔽各個(gè)廠商的差異,這是最現(xiàn)實(shí)的做法,否則推動(dòng)起來(lái)會(huì)阻力重重,因?yàn)楦鱾€(gè)廠商都不愿意提供跟別人完全一樣的設(shè)備編程接口。這一點(diǎn)上可以借鑒OpenStack的網(wǎng)絡(luò)組件Neutron的做法。

正確認(rèn)識(shí)OpenFlow的作用。不要指望純OpenFlow能夠解決你的所有問(wèn)題。真正能給復(fù)雜網(wǎng)絡(luò)帶來(lái)價(jià)值的SDN設(shè)備必定是混合型設(shè)備,而且這種混合不是簡(jiǎn)單的部分端口支持OpenFlow,部分端口支持傳統(tǒng)路由交換,而一定是在報(bào)文處理流程中,OpenFlow和傳統(tǒng)二三層處理混合在一起。讓OpenFlow去控制你想控制的部分,其它部分對(duì)你來(lái)說(shuō)無(wú)業(yè)務(wù)價(jià)值,就讓它們走傳統(tǒng)處理流程就可以了。這樣跟傳統(tǒng)網(wǎng)絡(luò)互通性的問(wèn)題,運(yùn)維管理的問(wèn)題也都很容易就解決了。

不要期望整個(gè)網(wǎng)絡(luò)全部都SDN化。SDN的價(jià)值不在于讓用戶控制一切,而在于讓用戶去控制他需要控制的地方,無(wú)業(yè)務(wù)價(jià)值的部分,完全不需要SDN的參與。無(wú)業(yè)務(wù)價(jià)值的部分,有的時(shí)候存在于邊緣,有的時(shí)候存在于匯聚和核心,完全看場(chǎng)景而定。

如果有人要進(jìn)行SDN創(chuàng)業(yè),創(chuàng)業(yè)的著眼點(diǎn)一定不要放在SDN交換機(jī)和SDN控制器,而是要放在SDN應(yīng)用上。控制器你可以找一個(gè)開源的拿過(guò)來(lái)修改一下就行,比如OpenDayLight, Ryu等,SDN交換機(jī)可以跟專業(yè)的SDN交換機(jī)廠商合作,但是應(yīng)用部分是離最終客戶最近的,最能體現(xiàn)價(jià)值的部分。SDN的落地需要這樣專業(yè)的第三方SDN應(yīng)用提供商。

不要?jiǎng)虞m問(wèn)設(shè)備商你的設(shè)備是否支持匹配12元組,是否支持多級(jí)流表,否則我會(huì)反問(wèn)你,你為什么需要匹配12元組?為什么需要多級(jí)流表?不要只把支持OpenFlow的交換機(jī)認(rèn)為是SDN交換機(jī),沒支持OpenFlow就認(rèn)為是忽悠你,你要問(wèn)的是,它開放的可編程接口是否能滿足你的需要。同理,不要以為控制器就應(yīng)該是支持OpenFlow的,不支持OpenFlow的控制器你就認(rèn)為是忽悠,你要看的是它是否能通過(guò)開放的接口去控制交換機(jī)。對(duì)于OpenFlow交換機(jī),不要認(rèn)為只有使用ACL表實(shí)現(xiàn)的OpenFlow才是OpenFlow,使用傳統(tǒng)表項(xiàng)組合出來(lái)的流表就不是OpenFlow,就是忽悠,你要問(wèn)的是,使用傳統(tǒng)表項(xiàng)組合出來(lái)的流表是否能滿足你的需求。

無(wú)論是用戶,還是SDN設(shè)備、方案提供商,一定不要期望你可以做一個(gè)批量復(fù)制的東西出來(lái),SDN必然意味著定制化。這是一把雙刃劍,一方面它可以通過(guò)定制給用戶提供真正的靈活性,但是另外一方面,太多的定制導(dǎo)致它難以被快速推廣,大型設(shè)備商的規(guī)模優(yōu)勢(shì)無(wú)法體現(xiàn),無(wú)法依靠傳統(tǒng)渠道去推廣而不愿意去定制,而小的設(shè)備商限于人力,也沒法去做太多定制。所以需要專業(yè)的第三方提供商的出現(xiàn)。

在沒有規(guī)模部署的前提下,不要去期望SDN設(shè)備會(huì)有成本優(yōu)勢(shì),相反,因?yàn)槎ㄖ苹难邪l(fā)投入,SDN整體方案的成本反而會(huì)增加。對(duì)于用戶來(lái)說(shuō),要關(guān)注的是SDN所帶來(lái)的運(yùn)維成本的下降。

如果你要部署SDN,必須打消買過(guò)來(lái)就能用的不現(xiàn)實(shí)的期望值——至少目前是這樣。在你立項(xiàng)或者購(gòu)買SDN設(shè)備之前,你必須要問(wèn)自己,Am I ready? ready的意思就是你需要自己有懂業(yè)務(wù)的研發(fā)團(tuán)隊(duì)或者愿意購(gòu)買第三方的服務(wù),或者愿意付錢讓設(shè)備商給你做定制開發(fā)(如果設(shè)備商愿意的話)。

總結(jié)

我們要正確地認(rèn)識(shí)SDN,不要過(guò)高估計(jì)SDN的能力,也不要對(duì)SDN喪失信心。SDN不會(huì)取代傳統(tǒng)網(wǎng)絡(luò),甚至看不到它有占據(jù)壟斷地位的可能,但是它肯定會(huì)是現(xiàn)有網(wǎng)絡(luò)的一個(gè)強(qiáng)力補(bǔ)充。SDN落地不要太在乎標(biāo)準(zhǔn)化,要著眼于開放性。SDN落地不僅呼吁第三方應(yīng)用提供商的出現(xiàn),更重要的是,SDN用戶企業(yè)中的決策者,要有足夠魄力,敢于承擔(dān)風(fēng)險(xiǎn),愿意在使用中完善SDN,要勇于拍板。國(guó)外的Google,F(xiàn)acebook有這個(gè)魄力,NTT有這個(gè)魄力,Verizon有這個(gè)魄力,Pacnet有這個(gè)魄力,國(guó)內(nèi)的公司沒理由在這方面落后于他們。我們欣喜地看到國(guó)內(nèi)某些公司已經(jīng)在趕上,騰訊就是一個(gè)很好的榜樣。

最后也要給所有要學(xué)習(xí)SDN的朋友,特別是學(xué)生朋友一個(gè)建議:學(xué)習(xí)SDN,必須要有基本的網(wǎng)絡(luò)知識(shí)作為基礎(chǔ),不懂網(wǎng)絡(luò)就想學(xué)習(xí)SDN這是不現(xiàn)實(shí)的。

關(guān)鍵字:盛科轉(zhuǎn)發(fā)表虛擬交換機(jī)

本文摘自:InfoQ

電子周刊
回到頂部

關(guān)于我們聯(lián)系我們版權(quán)聲明隱私條款廣告服務(wù)友情鏈接投稿中心招賢納士

企業(yè)網(wǎng)版權(quán)所有 ©2010-2024 京ICP備09108050號(hào)-6 京公網(wǎng)安備 11010502049343號(hào)

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 民乐县| 荣成市| 惠安县| 阜城县| 津市市| 永德县| 寻甸| 滕州市| 新郑市| 抚州市| 乐平市| 法库县| 太保市| 县级市| 徐水县| 惠来县| 静乐县| 洛阳市| 柏乡县| 临湘市| 永寿县| 克东县| 庆云县| 黑水县| 察隅县| 邢台市| 黑山县| 焦作市| 商城县| 梓潼县| 江川县| 大方县| 莒南县| 彰武县| 江口县| 五寨县| 九江县| 安乡县| 那曲县| 景谷| 沁源县|