最近SD-WAN在業(yè)界炙手可熱,越來越多的企業(yè)客戶準(zhǔn)備或已經(jīng)上馬SD-WAN。在此風(fēng)生水起之際,各式各樣的SD-WAN供應(yīng)商自然輪番出招、應(yīng)接不暇。筆者在深入接觸了一些國外主流商用SD-WAN廠家的技術(shù)方案后,希望能對(duì)這些主流商用SD-WAN方案中所采用的最根本的SDN特性進(jìn)行一些分析,供大家討論。
說實(shí)話筆者在深入了解業(yè)界主流商用SD-WAN之前,對(duì)SD-WAN名字中Software Defined的認(rèn)知更多的停留在傳統(tǒng)SDN所強(qiáng)調(diào)的控制面和轉(zhuǎn)發(fā)面分離的模糊概念上。筆者曾先入為主的以為SD-WAN中采用的轉(zhuǎn)控分離就是沿襲學(xué)術(shù)界SDN的經(jīng)典套路,采用類似Google 基于Openflow 構(gòu)建的橫跨全球數(shù)據(jù)中心的B4 SD-WAN 的思路--畢竟Google 的B4 WAN是 SD-WAN的鼻祖啊。
然而在初步接觸了幾大商用SD-WAN廠商的技術(shù)方案之后,筆者驟然有種被欺騙的感覺:這些SD-WAN解決方案中所謂的“SDN Controller” 其實(shí)就相當(dāng)于一個(gè)大家已經(jīng)使用了快20年的BGP Route Reflector, 和 SDN 沒什么關(guān)系。這完全顛覆了筆者的世界觀,令我非常的失望和不安。
但隨著進(jìn)一步的深入了解,筆者發(fā)現(xiàn)這些所謂的“SDN Controller” 和傳統(tǒng)的BGP Route Reflector 雖有神似,實(shí)則不同。具體說來,這些冒牌的"SDN Controller" 雖然沒有像學(xué)術(shù)界或Google B4 SD-WAN所使用的SDN Controller中轉(zhuǎn)控分離做的那么理想和純粹,但確實(shí)也繼承了SDN的一些神韻。如此一來,SD-WAN的名字也算差強(qiáng)人意。下面就請(qǐng)聽我慢慢道來:
首先我們來講講主流商用SD-WAN方案中這些所謂的"SDN Controller" 和傳統(tǒng)的 BGP Route Reflector 究竟有多么的相似。我們借用全球SD-WAN Top 2 廠商 Viptela 的一張系統(tǒng)架構(gòu)圖(圖一)來解釋一下。(注:目前Viptela 和 VeloCloud 誰是SD-WAN市場老大還存在爭議,但他們兩個(gè)以及絕大多數(shù)SD-WAN廠商的系統(tǒng)架構(gòu)都非常類似。另外有趣的是,這兩個(gè)Top 2 Vendors 最近分別被Cisco和VMware收購了, 可見這個(gè)市場的熱度, 競爭的激烈, 以及日趨飽和)。
圖一:Viptela SD-WAN 系統(tǒng)架構(gòu) (http://packetpushers.net/podcast/podcasts/show-222-viptela-software-defined-wan/)
在圖一中,vSmart Controller 就是Viptela 所謂的 “SDN Controller”, 用來負(fù)責(zé)與用戶各個(gè)站點(diǎn)的CPE設(shè)備(圖中的vEdge Routers)進(jìn)行通信從而交換用戶各個(gè)站點(diǎn)之間的路由信息。所以從控制平面來看,各站點(diǎn)的CPE設(shè)備彼此之間不再交換路由信息,而是統(tǒng)一發(fā)送給中心控制器。之后再由中心控制器將路由信息傳遞給其他的CPE設(shè)備。這種集中控制的思想正是SDN的精髓所在。然而如果仔細(xì)來看這些CPE設(shè)備與中心控制器之間是如何來交換路由信息的話,我們發(fā)現(xiàn)目前主流SD-WAN廠商都是采用基于BGP協(xié)議的路由交換 。BGP? 是的,您沒有看錯(cuò),正是那仙福永享,壽與天齊的BGP,而不是因?yàn)镾DN炒的火熱的新貴小開OpenFlow(注:通常SD-WAN 廠商都會(huì)在BGP的基礎(chǔ)上做些改動(dòng)和擴(kuò)展,比如Viptela將改動(dòng)后的BGP協(xié)議稱為Overlay Management Protocol (OMP), 具體細(xì)節(jié)可以參見他們?yōu)镺MP申請(qǐng)的專利:https://www.google.com/patents/US9467478。)
看到這里,各位看官可能會(huì)有這樣的疑惑:如果CPE設(shè)備和中心控制器都是基于BGP的路由交換,那么這和傳統(tǒng)的BGP Route Reflector有什么區(qū)別呢?(注:這里附上一個(gè)傳統(tǒng)的BGP Route Reflector 的架構(gòu)圖供您參考,其中心思想就是各個(gè)BGP Router之間不再建立網(wǎng)狀的BGP Session來交換路由,而是統(tǒng)一發(fā)給中心的BGP Route Reflector ,再由他傳遞給其他所有的BGP Routers??梢娖渑cSD-WAN 里的SDN Controller多么的相似)
圖二:傳統(tǒng)的BGP Route Reflector架構(gòu)
BGP Route Reflector早就有了, 比今天大家熱炒的SDN早了快20年。這些主流SD-WAN廠商所采用的技術(shù)真的算是SDN 嗎,還是掛羊頭賣狗肉,新瓶裝舊酒?
這種疑惑伴隨著筆者許久,直到筆者仔細(xì)研究了這些SD-WAN廠商對(duì)BGP協(xié)議的改動(dòng)和擴(kuò)展,以及這些解決方案中對(duì)集中式Policy的強(qiáng)調(diào)和使用,才發(fā)現(xiàn)SD-WAN里的SDN Controller大大超出了傳統(tǒng)BGP Route Reflector的能力范圍。下面是筆者總結(jié)的所謂的SDN Controller與傳統(tǒng)BGP Route Reflector的幾個(gè)主要區(qū)別:
1.目標(biāo)的不同
傳統(tǒng)的BGP Route Reflector 主要是為了解決iBGP網(wǎng)絡(luò)里對(duì)BGP Router之間需要Full Mesh互聯(lián)的問題。BGP Route Reflector 可以有效的將所需的BGP Session的總量從Full Mesh時(shí)的N^2的數(shù)量級(jí)降低到Hub-Spoke時(shí)的N的數(shù)量級(jí)。這對(duì)減少超大規(guī)模的BGP網(wǎng)絡(luò)的復(fù)雜度非常重要。
而反觀 SD-WAN 里的 SDN Controller, 它最主要的目的是提供一個(gè)集中管理和配置Overlay網(wǎng)絡(luò)的工具。同時(shí)SDN Controller除了提供以Hub-Spoke方式的路由交換,還提供了簡化的安全密鑰交換(用于數(shù)據(jù)平面CPE設(shè)備之間IPSec隧道的建立),中心化的Policy 控制,以及VPN 標(biāo)簽的分配,等等。所以SD-WAN中的SDN Controller的目標(biāo)和功能遠(yuǎn)遠(yuǎn)超出了傳統(tǒng)BGP Route Reflector單純的路由交換。
2.路由傳遞實(shí)現(xiàn)方式的不同
傳統(tǒng)的BGP Route Reflector在交換路由時(shí),只是簡單的將從一個(gè)CPE Router處收到的路由信息原封不動(dòng)的“反射”給其他所有的CPE Routers, 這也正是Route Reflector (路由反射) 名字的由來。
然而 SD-WAN里的SDN Controller 在收到從一個(gè)CPE Router 發(fā)出的路由信息之后,在SDN Controller 做了很多的計(jì)算和處理,然后才將過濾和處理后的路由信息發(fā)給相應(yīng)的CPE Routers (注意不一定是其它所有的CPE Routers)。通常SDN Controller 所做的處理包括:根據(jù)用戶定義的Policy來修改路由的參數(shù),綜合所有已收到的路由信息計(jì)算出到達(dá)任何用戶子網(wǎng)的最佳路由,將上面計(jì)算出的最佳路由信息發(fā)送給某些特定的CPE Routers (具體由用戶Policy決定)。從這里我們再次可以看到 SD-WAN里的SDN Controller 比傳統(tǒng)的BGP Route Reflector 要復(fù)雜得多,功能也要強(qiáng)大的多。
當(dāng)然除了以上總結(jié)的兩點(diǎn)主要區(qū)別以外,他們之間還有其它一些小的區(qū)別,比如路由所攜帶的參數(shù)信息,最佳路由的算法等,此處不再展開。
如果您能堅(jiān)持看到這里還沒有睡著或者改刷朋友圈的話,那么恭喜您!-您已經(jīng)掌握了目前市場上主流SD-WAN廠商所使用的最核心的路由技術(shù)及其與SDN這個(gè)大帽子的真正關(guān)系。當(dāng)然SD-WAN不僅僅是SDN,我們今天所討論的路由技術(shù)也只是SD-WAN所使用的眾多技術(shù)中的一個(gè)。雖然筆者認(rèn)為如何在Overlay層面構(gòu)建路由是SD-WAN最核心的關(guān)鍵技術(shù),然而我們不得不承認(rèn)SD-WAN在Overlay路由基礎(chǔ)之上所提供的多種多樣的功能和服務(wù)(比如Application Aware Routing, 集中化和界面化的Policy Control, Zero Touch Provisioning (ZTP), VPN 和 Segmentation )才是SD-WAN真正吸引客戶的地方。關(guān)于SD-WAN那些琳瑯滿目,吸引客戶爭先恐后掏出荷包的功能,我們下次再專門找個(gè)機(jī)會(huì)聊一聊。