博主一直相信一件事情:任何互聯網底層的創新都是自頂向下的。SDN的興起不是由於Martin Casado腦洞大開才主張要控制和轉發平面分離。而是由於某些來自於互聯網頂層的應用須要對網絡設備進行集中控制,集中控制最好的方式正好是控制和轉發平面分離。前端
在這篇文章裏,博主會列舉那些在傳統網絡當中不太容易實現的剛性需求。在往後的文章中,博主會展開分析SDN是如何知足這些剛性需求的。歡迎你們百家爭鳴,查漏補缺。web
傳統網絡的開銷大概分爲兩部分:購買成本和運營成本。購買成本 = 設備自己 + 售後服務。那些知名大廠的網絡設備和售後服務都是明碼標價的。問題是,咱們買了設備,爲啥還要售後服務呢?緣由就在於傳統的網絡設備比較複雜,特別是它上面的軟件協議棧。遇到問題怎麼辦?售後服務來解決。數據庫
比較具備諷刺意味的是:售後服務的價格竟每每比設備自己昂貴不少,這讓博主頗爲不解。若是不購買售後服務,那設備自己的價格又如何呢?單純的硬件已是白菜價了,值錢的是硬件上面的軟件協議棧。分解到這裏,咱們已經看出了問題:由於這個龐雜的軟件協議棧,咱們花了更多的錢買硬件設備,也由於這個龐雜的協議棧,咱們甚至須要花更多的錢買所謂的售後服務。安全
對於運營商,這個軟件協議棧也許還有存在的意義,拓撲多變,鄰居關係複雜,須要一些複雜的分佈式協議撐撐門面。但對於數據中心,這個協議棧則變得很是雞肋。最簡單的,規劃一下vlan,跑二層。稍微複雜一些的,在leaf和spine之間跑路由協議+ECMP。配置都有模版,變變參數就行了。如此簡單的要求,根本不須要那個龐雜的協議棧,咱們爲何還花那份冤枉錢呢?服務器
再來講說運營傳統網絡的成本。最大的開銷莫過於僱傭運維團隊了。在大企業的IT部門中,曾經有一項很重要的衡量企業基礎設施自動化程度的參數叫作「管理員/每千臺服務器」。博主相信只要在傳統交換機上作過運維的朋友都會認可,管理一張傳統網絡是件很是麻煩的事情:任何來自上層應用的需求都須要曠日持久的從新配置vlan,IP地址,路由協議和ACL,任何網絡故障都須要管理員登陸每一臺交換機檢查配置和各類show,還得天天盯着各類監控系統查帶寬,看延時。這是一個技術活,否則CCIE們的身價也不會那麼高。因而,網絡的運營成本由於它的複雜而變得昂貴。網絡
另外還有一些SDN和傳統網絡都沒法繞開的成本,好比電費之類的,博主就在此略過了。拆分完了傳統網絡的開銷,咱們看看在理想狀況下,SDN是如何幫助客戶省錢的:交換機仍然須要,可是交換機上面的協議棧不須要了。從前是n臺交換機n個協議棧,而如今是n臺交換機1個控制器。售後服務,仍然須要。新技術嘛,總得有人教一教。運帷團隊在SDN的世界裏可能會大幅縮水,由於只有一個控制器,不須要太多的管理員。看來在理論上,SDN確實能省錢,並且省的都是協議棧和運維這樣的大頭。架構
博主目前尚未看到那些聲稱已經部署SDN的企業公開他們具體省了多少錢。我猜有些企業可能會叫苦:部署SDN以後,咱們花了更多的錢!博主把可能的緣由歸結爲1)不純粹的SDN方案以及2)新增的研發成本,在之後的文章中會詳細分析。app
自從多租戶與彈性計算的概念被Amazon EC2實現以後,不論是公有云仍是私有云都紛紛但願效仿,使之成爲了一個剛性需求。不過,這個需求可難爲了傳統網絡。難點有二,首先是如何實現多租戶之間的隔離。在傳統的網絡中,二層的vlan以及三層的子網是最多見的租戶隔離方式。每加入一個新的租戶,網絡管理員都要手動爲其分配vlan,分配IP地址。在傳統的網絡中,這個過程每每以天爲單位。EC2出現以後,人們已經習慣了分分鐘以內搞定機器,搞定網絡。無奈不是家家都是Amazon,這種平臺可不是隨隨便便就可以搭建起來的。負載均衡
第二個難點來自於彈性計算,也就是每一個租戶能夠根據負載的狀況隨時申請,註銷和移動虛擬機。這一剛性需求成就了VMWare的一系列產品,以及以OpenStack和CloudStack爲表明的orchestration系統。可是這些系統都僅僅在管理服務器,物理網絡與它們無關。當一臺虛擬機從一臺主機遷移到另一臺主機的時候,物理網絡有時候必須作出相應得調整(好比從新配置vlan)才能實現虛擬機的無縫遷移。運維
沒有任何人會選擇以手動登陸每一臺交換機的方式來完成以上的配置修改。集中控制網絡設備成爲了惟一的選擇。SDN也正是在這個剛性需求的推進之下,開始全速進入人們的視野的。
我把這個剛需稱做壓死傳統網絡這隻駱駝的最後一根稻草。現在的在線服務已經變得很是複雜了,那種一臺web服務器加一個數據庫服務器的架構也許只能在demo階段見到了。一個更現實一些的架構也許是這個樣子:最前端是防火牆,以後負載均衡把流量分派到多個web服務器,多個application服務器處理複雜的業務邏輯,多臺數據庫服務器負責查詢和插入記錄而且彼此備份,在web服務器和數據庫之間又有ACL拒絕兩者直接通訊。
這僅僅是整個業務鏈條的一半,返回的網絡流量可能會經歷另一個徹底不一樣的業務鏈條。用傳統網絡來實現以上這個業務鏈條簡直是一場災難。業務鏈條每增長一環,服務器每增長一臺或者訪問控制每增長一項,就意味着網絡管理員要很是很是當心的根據各個服務器所處的網絡位置來配置相應的網絡設備。業務邏輯複雜到這個程度,傳統網絡的管理方式已經徹底不能適應了。而SDN與NFV(網絡功能虛擬化)對於解決這樣的問題具備不少先天的優點,博主會在之後的文章中詳細討論。
到此,三個加速傳統網絡顛覆的剛性需求總結完了。值得注意的是,這三個剛需直到移動互聯網和大數據如火如荼的今天才開始顯得那麼迫切。博主仍是想強調:SDN的出現完徹底全是由於上層應用的需求,是一個自頂向下的過程。這篇文章略去了很多其餘的剛性需求,好比安全,快速路由恢復,實時網絡監控等等。不是由於它們不重要,而是由於它們並非促使SDN發展的直接緣由。