阿裏雲SDN、NFV技術揭秘
摘要:阿裏雲的網絡產品,為海量的客戶提供了私密、靈活、高效、可靠、安全的基礎服務,在由雲棲社區和阿裏雲網絡團隊聯合主辦的2017阿裏雲網絡技術在線高峰論壇上,阿裏雲高級技術專家仙俠就為大家揭開了阿裏雲的網絡產品背後技術架構,並且分享了阿裏雲網絡團隊對SDN和NFV相關技術的理解和實踐。本文內容根據演講嘉賓分享視頻以及PPT整理而成。
公有雲客戶的需求:“既要”、“又要”、“還要”
SDN、NFV的概念對於很多同學而言是比較陌生的,其實在阿裏雲網絡團隊最開始設計SDN和NFV的時候對於這兩個概念也並沒有非常深刻的理解。其實在最開始,阿裏雲是一切以客戶的需求作為出發點來做的。那麼問題來了,阿裏雲是一家麵向公有雲用戶的雲計算公司,而做雲計算,客戶到底需要什麼樣的功能呢?經過阿裏雲長期對於客戶的調研和分析發現,阿裏雲所提供的公有雲需要能夠滿足客戶們各種各樣的訴求,這些需求可以使用三個詞形象地概括:“既要”、“又要”、“還要”。

- 海量租戶;對於阿裏雲而言,首先需要解決的問題就是海量租戶的問題。海量租戶會對於阿裏雲的係統容量造成巨大的挑戰,那麼對於用戶或者租戶而言,他們首先需要考慮的問題就是自己能否與其他人隔離起來。
- 隔離;所以對於公有雲用戶,首先需要提供的功能就是隔離。
- 互聯;在實現了隔離之後,用戶又會提出新的需求,就是需要實現互聯。因為每個租戶自己的資源不是一個完全孤立的島嶼,彼此之間必然會存在資源的互聯互通,除此之外還需要滿足和公網流量進行互通,甚至需要跨機房、跨地區以及出海等各種各樣的互聯互通需求。
- 安全;對於公有雲用戶而言,在雲上往往會非常關注的一件事情就是自身產品以及數據的安全,而且用戶對於雲上安全的需求是非常強烈的。
- 高性能;當用戶上雲之後,其所接到的需求也會遞增,所以也會期望能夠獲取性能更高的產品來滿足提供更高的PPS以及BPS的需求。
- 可靠;看似用戶的一係列問題都已經滿足了,但是實際上還會有更多的需求出現。比如虛擬機一定是存活於某一個宿主物理機上的,那麼如果宿主物理機宕機了應該怎樣處理,如果整個機房都掛掉了又應該怎麼處理,這就是客戶對於阿裏雲的可靠性訴求。
- 私密;除此之外,客戶還會產生一些保護私密性的訴求。比如想要和自己的辦公網互通的時候並不會將辦公網暴露在公網上,那麼就需要將自己的辦公網與阿裏雲的VPC打通,並使得兩者能夠互聯互通而且還能夠保護客戶的私密性。
先把網絡隔開
阿裏雲首先需要去滿足公有雲用戶對於網絡的第一個需求:隔離。如果對於整個網絡進行抽象,那麼先隔離開就是為每個租戶提供一個完全屬於自己的網絡空間。在這個網絡空間裏,用戶可以自行購買計算、存儲等一係列資源,這樣網絡對於用戶而言稱為虛擬網絡,而虛擬網絡最終是由物理網絡承載的。

而在另外一個層麵的隔開是這樣的理念:阿裏雲希望用戶與用戶的流量可以完全隔開,並且采用通用的Overlay技術方案。Overlay並不是一個新的概念,其有很多的實現方案比如IPONIP、XLAN等,阿裏雲采用的是XLAN方案。在XLAN方案中,為每個用戶提供了一個具有XLAN地址空間的VPC網絡,在這個網絡裏麵實現了虛擬網絡隔開和物理網絡隔開。在物理網絡隔開方麵,普通的組網裏麵有一個核心交換機、一個接入交換機以及最下麵的物理服務器,這是物理網絡接入的基本情況。如果在傳統的網絡裏麵,路由以及流量的交換等一係列功能實際上是由傳統的交換設備來實現的,那麼如果想使用Overlay的技術把這些功能分開,把路由以及交換的功能做到虛擬網絡裏麵之後就會發現物理網絡變得非常簡單,這也就意味著物理網絡的可靠性以及穩定性會更好,這也是阿裏雲網絡團隊多年以來得出的經驗。所以對於物理網絡的需求就是隻要物理網絡達到2層或者3層互通即可,而一係列複雜的邏輯會在虛擬網絡中完成,如此就能夠形成上下完全隔離的一張網絡。這樣的做法會帶來非常多的好處,比如對於物理網絡而言,它並不知道虛擬網絡的流量是如何轉發的,而隻知道將虛擬流量包裝成為XLAN之後在物理網絡中去跑,這是一個非常簡單的拓撲關係。在虛擬網絡中的虛擬路由器、虛擬交換機等實際上都是虛擬的網絡設備,這也就是NFV的概念。
光隔離不夠,還要互通

- 私網互通。私網互通不僅包括VPC內部的私網互通,還需要包括同一用戶的兩張網絡之間的互通。
- 公網互通。公網互通屬於必備的功能之一,它也是混合雲接入的一種方案。ECS搭配公網IP來聯通公網是其中的一種方式,除此之外,用戶還會需要另外的方式。舉個例子現在每個家庭中都會有自己的無線網絡,自己的手機等設備連接上無線網絡之後就可以連接到公網,也就能夠享受到SNAT服務。所以對於用戶網絡而言,是具有聯通公網的需求的,也就是用戶網絡會具有SNAT和DNAT的一係列需求。
- 用戶IDC。對於普通用戶而言,私網互通和公網互通這兩種形態已經能夠滿足絕大部分的需求了,但是實際中還會有一些用戶具有特殊的需求,比如這些用戶的線下機房是屬於IDC的,線下機房扛起平時的流量已經足夠了,但是會有一些流量的高峰出現,比如舉辦活動或者新聞熱點出現的時候,所以需要有一個彈性擴展的機房空間。對於這樣的場景,阿裏雲提供了專線接入方案,最後得到的效果就是把用戶的IDC就近接入一個阿裏雲的POP點,這樣就可以實現IDC和阿裏雲VPC之間的互聯互通。就阿裏雲對於用戶的了解來看,對於上述這樣的方案,用戶會存在兩種訴求:第一種訴求就是用戶需要非常可靠的接入,不僅可靠還需要延遲比較低,這是一種硬專線的接入方式。還有一種訴求就是需要較為靈活的接入方式,也就是軟專線的接入。
- 跨地域互通。除了能夠用上述三種方案滿足需求的用戶之外,阿裏雲還有一些用戶的業務分散在全國各地甚至世界各地,這樣的用戶往往就會產生跨地區甚至全球互通的需求。
如下圖所示的是阿裏雲設計的整體網絡拓撲圖。阿裏雲在為用戶提供網絡解決方案的時候也會考慮幾套方案,其中第一種方案就是使用交換設備來解決問題,而這種方案會帶來兩個問題,第一個問題就是包括交換設備在內的硬件的研發周期往往會比較長,這樣就容易跟不上用戶需求發展的節奏,可能導致當用戶的需求提出之後,卻遲遲無法實現,所以這樣的方案就會受製於硬件。而依賴於硬件也會帶來另外一個問題,因為像交換設備這些硬件設備的升級都是需要重啟的,而設備重啟會對於用戶的業務產生時間點不可精確控製的影響。所以從整體層麵上來看,阿裏雲認為通過硬件方式實現解決用戶網絡的問題會存在很多弊端,因此阿裏雲選擇了軟件的方式,通過自研一些網絡設備解決了上述的問題。

自研節點可靠嗎?
這裏可能有同學會產生疑問:這麼多自研的東西是否靠譜呢?對於這個問題,阿裏雲網絡團隊在研發的時候也經常自問,這些設計真的靠譜嗎?真的能夠解決問題嗎?當發生故障的時候真的能夠把對於用戶的影響降到最低嗎?所以在阿裏雲網絡團隊設計整個產品的時候就已經把產品的可靠性考慮在內了。阿裏雲網絡團隊思考了很多,認為冗餘容災仍舊是最重要的手段。在如下圖所示的拓撲圖中,自研的網絡設備是集群化的,而集群是由多台設備組成的,也就是說首先這個集群是可以水平擴展的,當流量達到水位之後就可以通過水平擴展來抗住更多的流量。第二點,設備之間實際上是沒有關係的,也就是說當集群中某台設備宕機了,流量可以自動被其他的正常的設備承擔,這樣就可以做到對於用戶沒有影響,用戶無感知熱升級也是阿裏雲的技術優勢所在。

安全、安全、還是安全
安全永遠是公有雲用戶排在第一位的訴求。這裏的安全特指公網層麵的安全,公網其實是一個非常脆弱的地方,如果用戶將自己的服務暴露在公網上,往往會有黑客進行攻擊或者破壞。接下來就分享阿裏雲對於公網安全的處理邏輯和采取的方案。

控製器抽象出虛擬的網絡組件

阿裏雲的雲市場
在介紹了這麼多阿裏雲官方提供的NFV之後,其實用戶可能還不過癮,因為用戶的需求層出不窮,所以還可以去阿裏雲的雲市場上去搜尋相應的功能。

二、什麼是SDN
上麵主要介紹了NFV以及虛擬網路組件以及NFV如何去滿足用戶的互聯互通、安全、隔離等等一係列的需求,那麼問題又來了,究竟什麼是SDN呢?
阿裏雲的SDN架構
阿裏雲網絡團隊在最初設計網絡產品的時候對於SDN這個概念也不是十分理解的,但是隨著產品以及技術架構的逐漸演化,發現所做的東西就是SDN的產品。阿裏雲的SDN架構圖如下所示,最下麵一層是硬件層,這一層包括服務器、網卡、交換機、路由器、物理網絡以及光纖等硬件設備。在硬件層之上是數據層,數據層則包括了之前所提到的邊界網關、虛擬網關以及虛擬交換機等轉發層麵的東西。在數據層之上是兩個管控層——控製層和自治層,控製層主要負責生產虛擬機以及IP等,而自治層主要負責對於整個SDN係統的部署、運維、自製以及整個運維故障的發現和自愈這樣一係列的管控。在自製層中有很多個模塊對於業務進行監控、信息采集以及流量采樣,之後會根據這些信息進行趨勢的預判和預測,並且根據采集的數據來判斷是否報警或者進行故障的自愈。在管控層麵之上是產品層,這裏包括了VPC、負載均衡以及公網IP等雲產品。

對於SDN的一點淺見:運維自動化
其實阿裏雲網絡團隊對於SDN的理解中最重要的一點就是自治和自愈,SDN需要能夠管理得了這個網絡、治理網絡並且發現問題之後需要讓網絡能夠自愈,將故障修複。也就是說運維的自動化是對於SDN最核心的一點理解。

用戶看得到也摸得著的SDN
除此之外,阿裏雲還希望開放整個SDN的功能給用戶,賦能用戶來管理自己的這張網絡,讓用戶能夠看得見並且摸得著還能用得了。比如在網絡層麵,阿裏雲希望能夠使得用戶想要怎麼連接就能夠怎樣連接,想要怎樣控製就怎樣控製,按照用戶自己的需求去跑。阿裏雲還希望賦能用戶網絡的彈性伸縮以及遷移的能力,當用戶的業務流量壓力上來之後,可以實現整體業務的擴展來抵抗業務的高峰,當高峰過去之後,希望能夠自動地縮回去。並且阿裏雲希望能夠為用戶提供自動熱遷移這樣的一係列功能,幫助用戶能夠更快速地解決自己業務中的問題。對於彈性公網IP而言,阿裏雲為用戶提供了一係列的方案,彈性公網IP既可以綁定給ECS也可以綁定給SLB,還可以綁定給HIVIP等,總而言之就是公網IP可以隨意綁定,並且可以隨意變配,並且通過Open API 、混合雲產品以及可選擇的計費方式來為用戶提供更多的網絡管理方式。

三、NFV與SDN實踐
新浪微博的實踐案例
對於微博而言,每當出現新聞熱點、大型活動或者除夕、春晚等節日的時候往往會有突發的流量上來。實際上,微博選擇基於阿裏雲構建混合雲平台,微博自己的IDC機房和阿裏雲之間拉了一根專線,那麼這就相當於微博在阿裏雲上獲得了一個彈性的機房,在這個彈性機房VPC裏麵,微博係統可以非常快速地擴展自己的計算資源,某一年的除夕當天,微博日活躍用戶首次突破1億,同比上一年同期大幅增長了近50%。通常大家的印象是當用戶量上來之後,成本也會隨之上升,但是實際情況是即使微博的業務量上升了那麼多,但是其成本卻降低了很多,這就是阿裏雲的VPC以及ECS所帶來的一係列技術紅利。阿裏雲可以實現在10分鍾的時間內為微博提供數千台ECS,可以讓微博係統的計算資源規模翻倍,提供更高的計算能力。

四、如何麵對飛速發展的未來

- NFV。從產品形態層麵而言,阿裏雲會加大對NFV以及相關雲產品的研發。包括為用戶提供智能DNS私網定製,為用戶提供VPC內部的一套域名解析方案,能夠幫助用戶很容易地實現兩地三中心的網絡架構,從而使得用戶能夠快速地應對突發情況。IPSEC接入網關屬於VPN網關,這個目前已經實現了,並且目前已經處於公測期了,未來VPN除了支持IPSEC之外,還會支持SSL2協議。除此之外,還會有GRE接入網關和子網路由,讓用戶在子網中自己定義路由來控製更細粒度的流量的轉發。
- 擁抱大數據。由於目前用戶的反饋是認為VPC像是一個黑盒子,用戶看不到整個VPC的流量是如何走的,也看不到每個包是怎樣流動的。所以阿裏雲網絡產品未來會在數據方麵進行一係列的加強,會采集數據並對於數據進行分析,為用戶提供數據流動的解決方案,讓用戶能夠看到每個數據包在網絡中是如何流動的。
- 增強用戶體驗。當實現了數據采集以及數據分析以後就可以為用戶做更多優化用戶體驗的事情,比如實現網絡可視化,可以實現所見即所得,使得業務可視化。除此之外,還需要實現能力的拓展,比如實現全球加速和接入的能力,讓更多的用戶能夠找到最近的接入點能夠將自己的IDC機房或者資源與阿裏雲進行打通,這也是阿裏雲努力的方向。最後,因為用戶的需求是層出不窮的,沒有辦法滿足所有用戶的需求,所以阿裏雲也會開放第三方開發者雲生態平台,提供一係列的API讓用戶調用,形成第三方的市場來讓更多的開發者為用戶提供NFV的服務。
最後更新:2017-10-09 22:34:51