8年SDN之路的回顧總結

  • 2019 年 11 月 14 日
  • 筆記

*本文素材來自於盛科網路SDN技術總監——張衛峰發表在紫金山實驗室未來網路創新論壇的演講。

盛科從2011年開始涉足SDN,從2011到2019這八年中,我基本上全程參與這個過程。從剛開始的產品設計階段,到後面的產品化,再到現在與客戶打交道賣SDN產品。可以說從研發到市場銷售,一路走來,有很多感悟,最大的感悟就是我今天想跟大家聊的——理想與現實之間的差距,到底有多大?

首先我們聊一聊什麼是理想?在很多技術論壇和文章上面,大家能夠看到的很多高大上的技術,SDN、SD-WAN、P4可編程還有IBN,這些高大上的技術都是很理想化的東西。單純從技術層面來說,肯定有很多閃光點。但實際上只有一部分技術成功了,那麼為什麼有些技術沒成功,或者說它的成功並不符合大家的預期?那是因為在考慮這些技術的時候,有很多現實的因素沒有考慮到,真正落地的時候,才會發現與想像中的差距還很大。

那麼什麼是現實呢?例如我向客戶推銷SDN的時候,客戶問:你這個東西能幫我賺錢還是省錢?如果我沒有辦法回答這個問題,那客戶就根本不再聽我說那些吹得天花亂墜的概念,例如解耦、自動化之類的。

所有的技術真正落地的時候,都會碰到這樣現實的問題——怎樣跨越理想到現實鴻溝,這就是我今天想跟大家來聊一聊的內容,我們到底是怎麼樣懷揣理想而面對現實的。

因為我一直在一線奮戰,跟太多太多用戶打過交道,被問了太多太多的問題。下面我帶大家盤點下,這些年,SDN受過的那些委屈。

一、這些年,SDN受過的那些委屈

1、明明是個短跑運動員,非要說俺是個十項全能 為什麼現在很多人認為SDN不行了,就是因為大家一直對它的期望值不對,你一直以為它啥都能。SDN剛開始炒的時候,大家都很興奮,跟打了雞血一樣,連研究與做設備的都很興奮,覺得SDN好像是個救世主,能夠把所有的問題都解決了。但就是因為你的期望太高,才導致失望太大。它並不是說什麼事情都適合去干,有的事情它幹起來很費力的,還不如傳統交換機來做,有的事情它幹起來是很費錢的,明明一萬塊錢能搞定的事情,要搞十萬塊錢。在有些場景裡面,它的規模根本做不大,用傳統交換機可能更適合。所以大家對它的期望值就不對。

2、明明我有N條路,卻總認為只有一條唯一正確 SDN是一個很寬泛的概念,不要一提到SDN就想到OpenFlow,SDN有很多技術實現,並不僅僅是OpenFlow,不能因為OpenFlow有很多限制,就要認為SDN不行!

3、明明我的特色是基於場景訂製,卻偏希望我提供標準化服務

  • 不談場景的SDN都是耍流氓
  • 沒有普適性的廣義SDN控制器,只有基於場景的廣義SDN控制器

4、明明我只想控制我感興趣的,非要讓我控制所有

  • 同一台設備上,SDN部分跟傳統部分可以有機融合
  • 同一個網路裡面,SDN交換機可以跟傳統交換機有機融合

5、明明是想解耦,卻偏偏要求綁定

  • SDN控制器和交換機可以解耦,但是甲方卻還是希望一個廠商把控制器和交換機都提供了
  • 所以現實結果是:SDN使客戶綁定的更深而不是更淺了。

6、明明你需要的只是星星,卻要求整個宇宙

  • OpenFlow交換機是ASIC實現的,你卻要求它像軟體實現的OVS一樣靈活,一樣大容量
  • 你的應用只需要一級流表,只需要能匹配五元組,你卻要求10級流表,能夠任意匹配12元組

二、SDN,運用之妙存乎一心。

正是因為大家對SDN有著如此多的誤解,導致了很多時候項目落地時,就會出現各種各樣的問題,這些問題有些時候並不是技術本身造成的,而是一開始你的期望值就不對,那麼怎麼樣來糾正自己的期望值?在我看來,SDN不是具體的技術,只是一種理念,你要用好這個理念有很多種方式。

1、SDN可以用純OpenFlow

  • 徹底的控制跟轉發分離
  • 交換機用pure openflow
  • 如點對點的DCI專線服務

特徵: 1.完全基於策略轉發 2.表項規模可控

2、SDN也可以用私有API

  • 跟OpenFlow完全無關
  • 協議全部留在交換機
  • 通過開放API,將部分控制策略放到控制器
  • 如基於SDN交換機的雲計算網路虛擬化

特徵: 1. 配置需要動態下發 2. 無需靈活流量調度 3. 轉發表項動態學習

3、SDN還可以用混合模式

  • Pure OpenFlow或者私有API都不是萬能的
  • 用混合模式,控制你想控制的東西
  • 如點對多點專線

特徵: 1.需要靈活策略控制 2.部分轉發需要可控,部分需要自動學習

4、SDN可以用純軟體方案 這些都是純軟體方案,控制器控制的都是虛擬網元

特徵: 1.需要網元足夠靈活 2.想完全跟硬體解耦

5、SDN可以不用集中控制器

  • 用OpenFlow交換機取代LVS/F5/A10等四層負載均衡
  • 控制器內置於OpenFlow交換機內部CPU

特徵: 1.只控制單台設備 2.需要控制器跟交換機頻繁交互

6、SDN設備可以全網部署 如基於SDN的DCI骨幹網

7、SDN設備可以只部署在接入 如某些廠商的雲計算網路虛擬化方案

8、SDN設備可以只部署在核心 核心位置放OpenFlow做Service Chain引流

9、SDN可以不用專門的SDN晶片

  • 當前市場上的OpenFlow交換機,絕大多數用的是傳統交換晶片的TCAM表項
  • 一小部分,在傳統交換晶片上做了微創新
  • 還有一小部分,用了NP或者FPGA

10、SDN甚至都可以不用TCAM做流表 充分利用現有ASIC各種表項,基於線性查找/hash查找/LPM演算法查找

  • 把表項做大
  • 支援多級流表

適用於固定欄位的匹配場景

  • 如雲計算根據mac + vlan進行VM轉發
  • 如負載均衡場景,根據IPSa + TCP Port進行會話識別

前面所講述的內容還是偏向於技術分析,最好這一部分我們來講一講,這些年我們實現的,SDN成功落地的場景。我認為真正對SDN能夠有所幫助的,也正是這些場景。

我認為,當有人說SDN已死的時候,有人正在靠SDN賺錢,只是,你看不到或者不理解而已!

三、其實,SDN干這些事幹得挺好

1、有這些特徵的場景,可以考慮SDN SDN的兩大核心驅動力

  • 業務自動化

配置、策略需要頻繁變更 網路設備需要通過控制器跟業務系統聯動

  • 轉發麵靈活性

報文轉發模式不同於傳統固定模式 可以用,也可以不用控制器參與,主要強調轉發麵的靈活

2、基於SDN的DCI

比如一些做傳輸的、VPN線路的、數據中心的公司,它們在全球擁有非常多的節點,但是客戶要求開設一條專線,利用傳統交換機實現就比較複雜,這時候SDN的優勢就顯現出來。

3、基於SDN的服務鏈

它是一個純openflow的實現。例如外網和內網中間串聯了很多安全設備,如果其中有任何一個設備需要升級或者發生故障的時候,公司的網路業務都會受到影響。現在串了一台SDN交換機進去,然後把完全設備旁落在它上面。這樣通過控制器對SDN交換機下流標,只需要改變控制器策略,就可以輕易切換。

4、基於SDN的IDC出口流量調度

這是一個典型的省錢案例。我們知道,IDC出口流量往往會涉及到多家運營商的介入,舉個例子,有些IDC廠商一共需要10個外向埠,其中5個跟運營商買斷,另外5個按流量計費,很顯然,IDC更為傾向的做法是先將流量牽引到5個買斷的埠,剩餘的再按流量計費,然而這種做法需要耗費大量的人力物力,實施性不高,且人為配置也很容易出錯,基於SDN的IDC出口流量調度能夠實現自動化引流,節省大量的費用。

另一方面,有一些大的IDC機房往往會有很多種出口,這通常又會牽扯到運營商的切換問題,基於SDN的IDC出口流量能夠實現全網調度,例如,從電信遷移到聯通等等,同時,SDN還能夠實時監測到線路的狀況,以便及時作出響應。

5、基於SDN的網路虛擬化或者裸機雲網路

  • 基於SDN的網路虛擬化也是基於EVPN+API,我們有自己的合作夥伴,控制雲跟雲平台聯動。
  • 基於SDN的裸機雲網路,全部都是物理伺服器,沒有虛擬化。

6、基於SDN的電視台播控交換矩陣

我們的合作夥伴可以用SDN交換機給電視台做播控的交換矩陣。它也是一個純Openflow的實現,當然這中間還設計一些別的技術,例如地址轉換。

7、基於SDN的校園網改造

這個方式實際落地的時候,院校全部都採用Openflow加上傳統的混合模式交換機。

8、基於SDN的智慧拓撲連接器

這個方式特別適合在實驗室進行實現。利用控制器下策略,把內部打通,達到左邊圖形的效果。

最後用一句話作為總結,「SDN is dead,Long Live SDN!」,中文的意思是「SDN已死,SDN永生」。這是國外一個叫做SDNcentral的網站創始人,在一個論壇上說的,他說:「什麼時候SDN就成功了呢?就是當大家都不再談論它的時候,但事實上它已經默默地支撐起了底層網路的運行,大家不再察覺到它的存在,然而它卻真實存在,這個時候它就獲得了成功。」

學習了解更多SDN的內容,未來網路學院《零基礎掌握SDN的應用與開發》課程是你的不二選擇,軟體定義網路經典三件套,控制面(RYU)、南向介面(OpenFlow)、數據面(Mininet)知識娓娓道來,配套實驗平台,手把手帶你從零開始步步升級。每一位涉及SDN從業者的必學課程。