近十年來,雖然雲服務的擴展性需求促進了相關解決方案快速發展,然而數據中心常見的網絡拓撲仍然可以歸納為兩種:傳統的三層網絡架構,和Leaf-Spine二層網絡架構。
傳統的三層網絡架構由三層交換機組成:即訪問層,聚合層(有時稱為分發層)和核心層。服務器連接到其中壹個邊緣層訪問交換機(常稱Top of Rack Switch,或 TOR Switch),聚合層交換機則將多個接入層交換機互連在壹起,所有聚合層交換機通過核心層交換機相互連接。核心層交換機還負責將數據中心連接到Internet。傳統的數據中心過去采用的就是這種三層架構。
下圖是我參與優化設計的有數萬臺服務器的傳統數據中心網絡架構示意圖。
在這個拓撲中,除了經典的三層(分發路由器,網絡分區匯聚路由器,服務器接入交換機)外,核心層還包括了: WAN核心骨幹路由器,WAN發路由器,WAN優化加速器,LAN核心路由器,外部Choke路由器,Internet邊界路由器,Transit,防火墻,用於聯接數據包分析器的Network TAP。網絡負載均衡器放在了聚合層。另外還有壹個專用的OOB接入層,用於設備維護管理。
三層架構雖然容易部署、易於診斷,但是其已無法滿足日益增長的雲計算需求。三層架構面臨的主要問題包括:低可擴展性、低容錯性、內部服務器之間橫截面帶寬低、較高層超額使用(Oversubscription)、高層次的拓撲中使用的大型模塊化交換機成本非常高。
我過去常采用以下這幾個方法緩解三層架構中網絡分離問題:
(1)、PVLAN: 專用VLAN,也稱為端口隔離,是計算機網絡中的壹種技術,其中VLAN包含受限制的交換機端口,使得它們只能與給定的端口通信。這個常用於後端的NFS網絡。
(2)、VRF虛擬化路由表,用於路徑隔離。
(3)、GRE Tunnel。
(4)、使用壹些Overlay network封裝協議並結合壹操作系統虛似化實現網絡分離。
Leaf-Spine網絡架構解決了傳統三層網絡架構所面臨的Oversubscription和內部服務器之間橫截面帶寬問題。Leaf-Spine網絡架構在過去幾年裏已開始接管主要的雲服務數據中心。Leaf-Spine結構也稱為Clos結構,其中每個Leaf交換機(ToR交換機)以全網狀拓撲連接到每個Spine交換機。這是壹種兩層的Fat-tree網絡。這種架構中Leaf之間只有壹個跳,最大限度地減少了任何延遲和瓶頸。Spine網絡的擴展非常簡單,只要在需增長的情況下逐步添加Spine交換機。
Leaf-Spine架構使用定制的尋址方案和路由算法,而非傳統的STP。根據網絡交換機中可用的功能,可以使用第2層或第3層技術實現Leaf-Spine網格。第3層的Leaf-Spine要求每個鏈路都被路由,並且通常使用開放最短路徑優先(OSPF)或等價多路徑路由( ECMP )來實現的邊界網關協議(BGP)動態路由。第2層采用loop-free的以太網fabric技術,例如多鏈接透明互聯(TRILL)或最短路徑橋接(SPB, IEEE 802.1aq)。其中,思科的FabricPath 和Brocade的Virtual Cluster Switching是基於TRILL發展而來的私有data plane。核心網絡還可使用帶有ECMP的動態路由協議通過第3層連接到主幹網。華為、聯想、Brocade、HP、 Extreme Networks等公司都有基於TRILL的產品或其它Leaf-Spine架構的解決方案。
Leaf-Spine結構的優點是:
(1)、使用所有鏈路互連,而不像傳統網絡中冗余鏈路被STP阻塞。
(2)、所有內部Leaf之間橫向通信都是等距的,因此數據流延時時間是確定的。
(3)、Underlay的交換機配置和核心網絡配置是固定的,因此變更Overlay Network的路由不需要更改核心網絡。
(4)、產品安全區域能虛擬分離,擴展了VLAN和多租戶安全性。
(5)、基礎設施的物理網絡可以和邏輯網絡(Overlay network)分離。
Leaf-Spine結構也有些缺點,比如:
(1)、網絡交換機的數量遠遠大於三層網絡架構。
(2)、擴展新的Leaf時需要大量的線纜、並占用大量Spine交換機端口。
(3)、Spine交換機端口數量決定了最大可聯接的Leaf交換機數量,也就決定了最大主機總數量。
下圖是我參與過的壹個公有雲Leaf-Spine方案示意草圖。
現代的數據中心部署中,我們壹般將網絡設備、服務器和機架在出廠時應模塊化。對於使用Leaf-Spine 網絡的數據中心,出廠時預裝配成四種類型的標準工程系統:Transit 機櫃, Spine 機櫃, Fabric 機櫃, 和 Server 機櫃。Leaf 交換機和服務器壹樣被預裝配於 Server 機櫃,基本上做到開櫃上電即可上線使用。
當下全球主流公有雲基本上采用的都是Leaf-Spine 網絡架構。然而,各家公有雲服務商Leaf-Spine網絡中的Underlay Network和Overlay Network使用的協議和方案有很大區別。比如,妳可以基於Leaf-Spine架構使用VXLAN來設計妳的SDN解決方案,也可以基於ECMP的BGP-labeled-unicast的underlay 網絡,使用MPLS L3VPNs構建另壹種多租戶的數據中心SDN解決方案。
聊完了兩種層數據中心網絡架構,相信大家如有機會搭建新的網絡時,應該知道如何選擇您的網絡架構方案了。
歡迎大家發表留言,談談妳所熟悉的Leaf-Spine網絡架構方案中,Underlay Network和Overlay Network使用的協議分別是什麽。
參考資料:
(1)、 Building Multi tenant Data Centers with MPLS L3VPNs
(2)、 Cisco Data Center Spine-and-Leaf Architecture: Design Overview White Paper