SDN落地的實(shí)踐與思考:帶著問題找方案,別管定義啦

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

SDN的定義回顧

現(xiàn)在大多數(shù)人對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)在國外著名的通信技術(shù)媒體lightreading上看到他們綜合一些專家的意見給出的定義,該定義里面只提到了開放的可編程接口以及由此帶來的業(yè)務(wù)敏捷性。就我個(gè)人的觀點(diǎn)來看,我更傾向于lightreading的定義(具體請參閱我的第一篇文章)。不過,正如青云CEO Richard接受InfoQ采訪的時(shí)候說過的,每個(gè)人對SDN都有不同的定義,這個(gè)并不重要,我深以為然,重要的是SDN帶來的價(jià)值。所以,以后大家不要把精力浪費(fèi)在討論SDN的定義上吧。

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

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

咨詢報(bào)告中說的SDN市場份額在增加,主要是強(qiáng)調(diào)SDN現(xiàn)在最大的一個(gè)應(yīng)用場景——網(wǎng)絡(luò)虛擬化中的應(yīng)用。很多人說沒看到SDN有落地案例,那是因?yàn)樗麄儩撘庾R里面只把控制器+硬件SDN交換機(jī)的應(yīng)用認(rèn)為是SDN應(yīng)用,云平臺+虛擬交換機(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ī)自己來生成,而有的則是控制器來下發(fā)轉(zhuǎn)發(fā)表項(xiàng)。而目前影響最廣泛的OpenStack的網(wǎng)絡(luò)組件Neutron,則兩種方式都支持,Neutron更是一種標(biāo)準(zhǔn)的SDN架構(gòu)。由于本文的目的不是介紹技術(shù)細(xì)節(jié),所以這里就不深入展開來講了。

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

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

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

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

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

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

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

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

但是大家更關(guān)心的是SDN在企業(yè)網(wǎng)里面如何用。并不是所有企業(yè)網(wǎng)都適合使用SDN,什么樣的企業(yè)網(wǎng)需要用SDN呢?這個(gè)問題后面再分析。國外一個(gè)著名設(shè)備商N(yùn),他們有挺多的SDN案例,特別是有些案例規(guī)模還是較大的,不像某些公司掛羊頭賣狗肉的宣傳,我至少知道他們有一個(gè)案例是很值得拿出來講一講的(這個(gè)案例在國外網(wǎng)站上也有介紹)。他們給某電視臺的一個(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ǎng)絡(luò)等,非常麻煩,在人工很貴的國外,這個(gè)問題特別突出。使用了SDN之后,整個(gè)物理網(wǎng)絡(luò)基本不動,每次就依靠SDN將網(wǎng)絡(luò)重構(gòu)。這個(gè)案例還包括無線AP,也是SDN化的。而且值得關(guān)注的是,他們并非全部使用SDN,而是一個(gè)混合的網(wǎng)絡(luò),既有SDN,又有傳統(tǒng)的。即在需要SDN的時(shí)候SDN,不需要的時(shí)候就用傳統(tǒng),深得SDN的精髓。

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

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

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

SDN落地的障礙

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

Gartner的觀點(diǎn)認(rèn)為,以下幾個(gè)問題阻礙了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)都很有道理,相對來說看得比較宏觀。我根據(jù)我們的客戶交流和項(xiàng)目實(shí)踐中碰到過的一些問題,也談?wù)勎业目捶?。我的觀點(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ò)中存在的問題,然后帶著這些問題來尋找方案。我經(jīng)常碰到一些人問我,你幫我看看SDN能用在我們網(wǎng)絡(luò)中什么地方?這種用戶是沒辦法讓SDN落地的。SDN是用來實(shí)現(xiàn)用戶的業(yè)務(wù)敏捷性的,不是用來全面替代傳統(tǒng)網(wǎng)絡(luò)的,如果你都不知道自己有什么問題,怎么引入SDN?我碰到的最終能落地的,都是明確知道自己網(wǎng)絡(luò)中的問題,迫切想找方案來解決的。

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

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

OpenFlow的局限性

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

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

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

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

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

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

用戶網(wǎng)絡(luò)中通常都是存在很多傳統(tǒng)設(shè)備的,不太可能為了引入SDN而把這些設(shè)備都拋棄,所以這就涉及到一個(gè)問題,需要SDN設(shè)備跟傳統(tǒng)設(shè)備互通。比如有一個(gè)三層匯聚交換機(jī),該交換機(jī)會向下發(fā)送ARP獲取下聯(lián)設(shè)備的Mac,如果下面是個(gè)傳統(tǒng)的主機(jī)或者三層設(shè)備,它會自動回復(fù)ARP請求,但是OpenFlow交換機(jī)沒這能力,它只能把報(bào)文發(fā)送到控制器,讓控制器回復(fù),但是很多用戶不想在控制器上進(jìn)行開發(fā)來支持這種非核心業(yè)務(wù)。而且,實(shí)事求是的說,最高效的做法肯定是在交換機(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é)議,會讓控制器很復(fù)雜,而且效率低下,況且,這也并非該軟件提供商的核心價(jià)值,他們也沒這個(gè)能力去在控制器上做一個(gè)路由協(xié)議并把它做穩(wěn)定,所以他們希望交換機(jī)上做。SDN交換機(jī)對他們來說,核心價(jià)值是讓他們可以控制報(bào)文的轉(zhuǎn)發(fā)路徑,從而動態(tài)調(diào)度流量,至于跟傳統(tǒng)網(wǎng)絡(luò)的交互,他們不希望重復(fù)發(fā)明輪子,而是希望借用交換機(jī)的傳統(tǒng)能力。

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

SDN落地的建議

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

要清晰地認(rèn)識到SDN并非適合所有場景。什么樣的場景適合SDN?前面說過,SDN應(yīng)用的兩大驅(qū)動力:業(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ò)的固定模式無法滿足,那也可以考慮SDN。

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

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

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

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

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

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

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

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

總結(jié)

我們要正確地認(rèn)識SDN,不要過高估計(jì)SDN的能力,也不要對SDN喪失信心。SDN不會取代傳統(tǒng)網(wǎng)絡(luò),甚至看不到它有占據(jù)壟斷地位的可能,但是它肯定會是現(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,要勇于拍板。國外的Google,F(xiàn)acebook有這個(gè)魄力,NTT有這個(gè)魄力,Verizon有這個(gè)魄力,Pacnet有這個(gè)魄力,國內(nèi)的公司沒理由在這方面落后于他們。我們欣喜地看到國內(nèi)某些公司已經(jīng)在趕上,騰訊就是一個(gè)很好的榜樣。

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容