當前,隨著SDN的深入應用,SDN逐漸走向落地,為了加快SDN落地,對用戶、對SDN提供商、對整個行業,我有如下建議。
要清晰地認識到SDN并非適合所有場景。什么樣的場景適合SDN?前面說過,SDN應用的兩大驅動力:業務層面靈活性的需求和轉發層面靈活性的需求,如果你的網絡足夠復雜(復雜并非是規模大),一些配置管理、安全策略、流量調度策略、拓撲等經常需要變化,那非常適合SDN,最典型的就是網絡虛擬化(頻繁的虛機增刪、虛擬網絡的變化)以及Google B4(路徑經常需要隨著帶寬的變化而變化)?;蛘吣愕木W絡中某個特定功能,在轉發面上需要靈活的報文匹配或者報文編輯,傳統網絡的固定模式無法滿足,那也可以考慮SDN。
對于普通企業來說,我的建議是不要追求SDN設備接口的標準化,而是要追求接口的開放性和靈活性,因為你想需要的不是技術標準,而是要能解決你的實際問題。對于運營商或者必須要求引入多家設備提供商的大型互聯網公司,如果你要引入SDN,不要去追求南向接口的標準化,而把精力放在北向接口的標準化上。通過讓每個廠商提供插件來適配北向接口的做法,來屏蔽各個廠商的差異,這是最現實的做法,否則推動起來會阻力重重,因為各個廠商都不愿意提供跟別人完全一樣的設備編程接口。這一點上可以借鑒OpenStack的網絡組件Neutron的做法。
正確認識OpenFlow的作用。不要指望純OpenFlow能夠解決你的所有問題。真正能給復雜網絡帶來價值的SDN設備必定是混合型設備,而且這種混合不是簡單的部分端口支持OpenFlow,部分端口支持傳統路由交換,而一定是在報文處理流程中,OpenFlow和傳統二三層處理混合在一起。讓OpenFlow去控制你想控制的部分,其它部分對你來說無業務價值,就讓它們走傳統處理流程就可以了。這樣跟傳統網絡互通性的問題,運維管理的問題也都很容易就解決了。
不要期望整個網絡全部都SDN化。SDN的價值不在于讓用戶控制一切,而在于讓用戶去控制他需要控制的地方,無業務價值的部分,完全不需要SDN的參與。無業務價值的部分,有的時候存在于邊緣,有的時候存在于匯聚和核心,完全看場景而定。
如果有人要進行SDN創業,創業的著眼點一定不要放在SDN交換機和SDN控制器,而是要放在SDN應用上??刂破髂憧梢哉乙粋€開源的拿過來修改一下就行,比如OpenDayLight, Ryu等,SDN交換機可以跟專業的SDN交換機廠商合作,但是應用部分是離最終客戶最近的,最能體現價值的部分。SDN的落地需要這樣專業的第三方SDN應用提供商。
不要動輒問設備商你的設備是否支持匹配12元組,是否支持多級流表,否則我會反問你,你為什么需要匹配12元組?為什么需要多級流表?不要只把支持OpenFlow的交換機認為是SDN交換機,沒支持OpenFlow就認為是忽悠你,你要問的是,它開放的可編程接口是否能滿足你的需要。同理,不要以為控制器就應該是支持OpenFlow的,不支持OpenFlow的控制器你就認為是忽悠,你要看的是它是否能通過開放的接口去控制交換機。對于OpenFlow交換機,不要認為只有使用ACL表實現的OpenFlow才是OpenFlow,使用傳統表項組合出來的流表就不是OpenFlow,就是忽悠,你要問的是,使用傳統表項組合出來的流表是否能滿足你的需求。
無論是用戶,還是SDN設備、方案提供商,一定不要期望你可以做一個批量復制的東西出來,SDN必然意味著定制化。這是一把雙刃劍,一方面它可以通過定制給用戶提供真正的靈活性,但是另外一方面,太多的定制導致它難以被快速推廣,大型設備商的規模優勢無法體現,無法依靠傳統渠道去推廣而不愿意去定制,而小的設備商限于人力,也沒法去做太多定制。所以需要專業的第三方提供商的出現。
在沒有規模部署的前提下,不要去期望SDN設備會有成本優勢,相反,因為定制化的研發投入,SDN整體方案的成本反而會增加。對于用戶來說,要關注的是SDN所帶來的運維成本的下降。
如果你要部署SDN,必須打消買過來就能用的不現實的期望值——至少目前是這樣。在你立項或者購買SDN設備之前,你必須要問自己,Am I ready? ready的意思就是你需要自己有懂業務的研發團隊或者愿意購買第三方的服務,或者愿意付錢讓設備商給你做定制開發(如果設備商愿意的話)。
D1Net評論:
對于廣大用戶而言,要正確地認識SDN,不要過高估計SDN的能力,也不要對SDN喪失信心。SDN不會取代傳統網絡,甚至看不到它有占據壟斷地位的可能,但是它肯定會是現有網絡的一個強力補充。SDN落地不要太在乎標準化,要著眼于開放性。SDN落地不僅呼吁第三方應用提供商的出現,更重要的是,SDN用戶企業中的決策者,要有足夠魄力,敢于承擔風險,愿意在使用中完善SDN,要勇于拍板。