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從業者的必學課程。