為了滿足現代網絡的需求,數據中心網絡必須優先考慮最核心的功能,例如強大的網絡帶寬、高可用性、可擴展性和安全等。? ? 在本文中,我們全面比較了兩種數據中心網絡解決方案:傳統數據中心架構和葉脊架構。 ? ?
數據中心的核心
數十年來,數據中心架構一直是計算機網絡生態系統的一部分。數據中心網絡涵蓋計算服務、數據庫、IP 語音 (VoIP) 解決方案、內容交付網絡 (CDN) 等多種連接解決方案,是企業和服務提供商網絡的核心部分。 ? 數據中心網絡必須提供幾個關鍵功能: ?
網絡帶寬- 特別是滿足東西向流量的要求(數據中心中大部分流量是東西向的)。?注意:東西向流量表示數據中心內的服務器/應用之間的流量,而南北向流量表示出入數據中心的流量。
高可用性/彈性——數據中心的每個組件都必須具有高可用性和彈性。從本地鏈路彈性到冗余電源和流量處理器,每個組件的設計和部署都必須考慮到彈性。
可擴展性——網絡本身必須能夠快速擴展,尤其是水平擴展。添加新的架頂式 (TOR) 交換機等操作應該簡單明了。
安全性——安全性是設計數據中心時必須考慮的因素。從物理安全到磁盤加密和協議身份驗證,必須鎖定對數據中心網絡的訪問,僅限于授權人員。
傳統數據中心網絡
傳統數據中心網絡基于第二層連接,大部分使用二層交換機和至少一對三層設備,通常是路由器或防火墻。 ?
圖 1:三層架構 ? 上述架構通常稱為三層架構(核心層-聚合層-訪問層)。這是目前仍在廣泛使用的首批標準架構之一,并且仍然提供一些基本功能。 ? 該架構的另一種變體是折疊核心設計,其中核心層和分布(聚合)層合并為一個: ?
圖2:折疊核心設計 ? 由于網絡連接需求的快速發展,基于虛擬局域網(VLAN)標簽對網絡進行分段成為難題(有限的VLAN數量、依賴STP進行環路保證等),此外,二層技術也給網絡帶來了新的挑戰,例如二層環路、缺乏負載均衡、生成樹協議 (STP) 融合、廣播風暴等,這些問題很容易導致整個數據中心網絡癱瘓。 ? ?
下一代葉脊IP Fabric數據中心
基于葉脊架構的IP Fabric數據中心已經存在幾年了,是一種成熟且穩定的技術。該架構背后的主要概念是基于第三層技術提供可預測的網絡連接參數,從而能夠避免傳統數據中心中的許多問題。 ? *注:下文中的IP Fabric和Spine-Leaf架構這兩個術語可以互換,這里主要指的是IP Fabric中的“葉”和“脊”拓撲。 ? 葉脊拓撲基于 Clos 網絡架構(由美國工程師 Charles Clos 于 1952 年首次形式化)。其中有兩個主要層: ?
脊層(Spine layer) - 通常由至少兩個三層高吞吐量交換機組成(兩個用于冗余目的)
葉層(Leaf layer) - 通常由 N 個功能豐富的三層交換機組成,其中 N 可以是任意數字(通常是偶數,也是為了冗余)。
Clos 網絡以及葉脊架構的主要特征是所有Leaf都連接到所有Spine,并且Leaf之間(通常)沒有直接連接。 ?
圖3:葉脊架構 ? 基于此架構,我們可以輕松計算所需鏈接的數量: ?
S = 脊數量
L = 葉數量
CB = 葉和脊之間的電纜數量
鏈接總數 = S x L x CB ? 例如: ?
S = 4,L = 8,CB = 1
鏈接總數 = 32 個鏈接
目前市場上有很多來自不同供應商的Spine-Leaf技術,有些是專有的(例如 Cisco ACI),有些是基于標準的,例如帶有 VXLAN 封裝的 BGP EVPN。 ? 為了與行業標準保持一致,下文將使用帶有 VXLAN 封裝的 BGP EVPN 作為我們分析Spine-Leaf解決方案的依據。 ? 首先簡單介紹一下前面提到的技術: ?
BGP EVPN(邊界網關協議以太網虛擬專用網絡)是一種網絡技術和協議套件,專為提供商和企業網絡中的高效且可擴展的多點以太網服務而設計。BGP EVPN 利用邊界網關協議 (BGP) 作為控制平面,對MAC (media access control)地址和IP地址信息進行分發和管理,滿足虛擬化和云化基礎設施的需求。BGP EVPN 的一些主要特性: ?
二層和三層多租戶支持 - BGP EVPN 旨在支持共享網絡基礎設施中的多個租戶或客戶,適合服務提供商和有不同組網需求的大型企業。
EVPN 多宿主是一種基于標準的專有 MC-LAG 技術變體。允許不同供應商的設備之間的互操作性,從而形成更加多樣化和靈活的網絡環境。
支持二層和三層服務 - BGP EVPN 能夠通告 MAC-IP NLRI(也稱為 EVPN 路由類型 2)和全子網 NLRI(也稱為 EVPN 路由類型 5);這兩種路由類型是 EVPN 使用案例中最常見的。
使用路由目標 (RT) 和路由標識符 (RD) 的概念識別、分類和路由過濾 BGP EVPN 結構,這與 MPLS (多協議標簽交換) L3 VPN 和 L2 VPN (使用 BGP 信令)網絡中的概念完全相同。此特定功能允許可擴展的單Leaf-Spine BGP (MP-BGP) 會話部署,如果想實現設備之間的連接,則無需配置back to back VRF(虛擬路由和轉發)BGP 會話。
基于標準的互操作性 - BGP EVPN 是基于標準的,可以實現不同網絡廠商之間的互操作性。
VXLAN 封裝:BGP EVPN 通常與 VXLAN 封裝協議結合使用,在三層基礎設施上創建虛擬二層網絡。VXLAN 克服了傳統 VLAN 的限制,使網絡設計更具可擴展性和靈活性。VXLAN 功能包括: ?
Overlay網絡 - 將原始數據包封裝在新的 MAC-in-IP 標頭中,完全“隱藏”原始信息讓數據包能夠跨越公共數據中心網絡。
提高可擴展性 - 與傳統 VLAN 中的 12 位 VLAN ID 限制 (4096) 相比,VXLAN 使用24 位的 VXLAN 網絡標識符 (VNI) 來擴展 VLAN,并提供更大的地址空間(1600 萬)。這可以在大型動態環境中實現更大的可擴展性。
支持 MAC-IP 遷移 - VXLAN(與 BGP EVPN)支持數據中心內的實時虛擬機遷移(例如 VMWare vMotion),也可以進行跨數據中心遷移。
基于標準的互操作性 - VXLAN(如 BGP EVPN)是基于標準的,可以實現不同網絡廠商之間的互操作性。
下圖是 VLAN 到 VNI(VXLAN 網絡標識符)映射時的VXLAN 標頭,僅供參考: ?
圖4:VXLAN網絡標識映射時的VXLAN標頭 ? 下表展示了傳統數據中心和 Spine-Leaf 架構的比較: ?
表 1. 傳統 DC 和 Spine-Leaf 比較 ? 下面我們來看看兩種架構分別適合哪些場景。 ? ?
傳統數據中心vs Spine-Leaf IP Fabric
我們將從以下方面分別分析每種架構的特征: ? 可擴展性 ? 傳統的二層數據中心架構在一定程度上是可擴展的。如果是最多 100 臺服務器的情況下,它可以很好地完成它的工作。但如果超過這個數字,傳統數據中心就開始力不從心,這主要是因為 MAC 地址在整個數據中心傳播。在傳統二層網絡中,如果交換機在本地配置了 VLAN,它將自動學習該廣播域內的所有 MAC 地址并將它們存儲在本地 CAM(內容可尋址存儲器)表中。CAM 成本高昂,MAC 地址數量越多,需要的資源越多,成本也越高。 ?
圖 5:存儲所有信息的交換機 CAM 表 ? 除此之外,網絡內的一些 STP 事件可能會完全刷新 CAM 表,這將觸發整個信息集的完全重新學習,這是一個非常消耗資源的過程。 ? 另一方面,在BGP EVPN IP Fabric中,MAC 學習是在控制平面完成的,MAC-IP NLRI 的傳播由 BGP 處理,準確地說是通過 EVPN 地址族處理的。BGP 本身使用 RAM(隨機存取存儲器),這比 CAM 便宜得多。? ? 此外,BGP 傳播的 MAC 信息由本地交換機過濾,只將所需的 MAC 地址下載到本地交換機 CAM 表中(CAM 表仍然用于 IP Fabric 設備以及本地 MAC交換)。“所需的 MAC 地址”是指本地交換機上的主機想要與之通信的 MAC 地址。 ?
圖 6:MAC 地址過濾 - 優化 CAM 表大小 ? 事實上,Spine-Leaf IP Fabric 在其核心使用三層協議可以實現更高的水平擴展。二層拓撲只能在 STP 域允許的范圍內擴展。相比之下,用作 IP Fabric 構建塊的三層協議(OSPF/IS-IS 作為底層路由,BGP 作為 Overlay層,PIM 用于 BUM 流量處理)的可擴展性要好得多。 ? 收斂時間? ? 傳統數據中心網絡的收斂時間主要由 STP 決定。但是存在 STP“欺騙”現象,例如鏈路聚合和 MC-LAG/VPC,通過欺騙STP,使其認為鏈路不受影響,不應該發送TCN(拓撲變化通知)數據包或重新計算,從而繞過STP重新收斂。 ? Spine-Leaf網絡的收斂時間完全不同。在Spine-Leaf層,一切都基于三層協議工作,通過使用 BFD(雙向轉發檢測)協議可以將收斂時間降至 100 毫秒以下。 ?
圖7:Spine-Leaf層 ? Spine-Leaf的另一個巨大優勢是可以將特定的Spine或Leaf與 Fabric 的其余部分完全隔離,以便在不影響流量的情況下完成一些操作任務(如升級、硬件更換等)。由于Spine-Leaf 使用 BGP 和 OSPF/IS-IS(或者在無 IGP 的場景中使用 BGP 代替 OSPF/ISIS),因此你可以簡單地操縱 BGP 繞過Leaf節點,也可以使用 IS-IS overload-bit/OSPF max -metric LSA 功能來實現相同的結果,并在計劃工作期間將Leaf從轉發路徑中移除。 ? 多租戶 ? BGP EVPN VXLAN IP Fabric 能夠提供三層租戶,而傳統數據中心純粹基于二層,并且只能提供 VLAN 分段。 ?
圖 8:傳統 DC - L2 中的多租戶支持,僅基于 VLAN ? 第三層多租戶的工作原理與 MPLS 第三層 VPN 相同,即通過為給定租戶構建和傳播專用路由表信息,從而形成新的 VPNv4/v6 唯一前綴,并通過使用其配置的擴展社區路由目標來控制傳播。 ?
圖 9:Spine-Leaf 中的多租戶支持 ? * 注意:BGP 會話位于Spine和Leaf之間,該圖表示從一個 VTEP 到另一個 VTEP 的 BGP 路由 NLRI 傳播,但這是通過在 BGP EVPN VXLAN Fabric內具有路由反射器功能的Spine完成的。 ? Spine-Leaf設計在這里提供了明顯的優勢,因為現在三層多租戶基本是必須的,而Spine-Leaf不必攜帶額外的路由器來處理它,它們可以在 Fabric 本身內進行處理。 ? ECMP 路由 ? 對于傳統數據中心,不存在真正不同的鏈路多路徑,因為 STP 會自動阻止兩個交換機之間的獨立冗余端口。這里所說的獨立冗余端口是指不屬于鏈路綁定的端口。如果想實現冗余和彈性,可以利用鏈路綁定,但這通常不是理想的多路徑場景。? ? 為什么說不行呢?因為它依賴的是bond的哈希算法,在許多情況下,它沒有考慮到第4層報頭信息(源/目的TCP/UDP端口)。這會導致該特定鍵中可用的X的單個鏈接的快速極化(過度利用)。 ? 對于 BGP EVPN VXLAN IP Fabric,使用內部報文頭信息對冗余鏈路上的流量進行哈希處理,通常使用以下信息:源IP、目的IP、源端口、目的端口和協議號,并且由于沒有附加協議來更改鏈路,因此可以實現真正的 ECMP。 ? 配置復雜度 ? 在前面幾個方面都是IP Fabric占優勢,但在配置復雜度方面,情況有所不同。以Cisco Nexus NX-OS為例,讓我們看一下一個簡單的 VLAN 二層服務配置在傳統二層交換機(左側)與 Spine-Leaf交換機(右側)上的情況: ?
圖 10:傳統二層與 Spine-Leaf服務配置 ? 差異是顯而易見的。 ? 傳統二層: ?
STP,
鏈接綁定,
VLAN。
Spine-Leaf覆蓋了以上的所有內容并且還包括: ?
BGP(IPv4 和 L2VPN EVPN)、
VRF,
VXLAN,
組播,
BFD。
也就是說,如果你的拓撲結構簡單且非常小(例如只有一兩個交換機),那么使用傳統二層架構就夠了。但你的拓撲非常復雜時,還是選擇Spine-Leaf架構更合適。而且自動化可以幫助我們擺脫 BGP EVPN VXLAN 帶來的復雜配置。 ?
可編程性和自動化 ? 自動化既可以用于傳統數據中心技術,也可以用于Spine-Leaf,它可以給兩者都帶來優勢。然而,由于配置數量巨大且存在錯誤風險(跨多個設備的配置項之間存在大量鏈接 VNI 編號,很容易輸入錯誤),因此將其用于Spine-Leaf部署更有意義。對于傳統數據中心,自動化有助于處理 VLAN 管理(添加、刪除、交換等),與Spine-Leaf運營開銷相比,其復雜性要低得多。 ? Spine-Leaf架構的自動化有一個小優勢,用于構建此類拓撲的設備默認比傳統數據中心中使用的設備更新。這意味著它們更具可編程性,并且其中許多提供某種類型的 API 系統(REST、XML、NETCONF 等),這使得配置、讀取和解析設備比處理 SSH 會話和解析其未格式化輸出快得多。 ?
硬件成本 ? 功能越多,可以用它們做的事情就越多,但成本就越高。與傳統數據中心相比,部署Spine-Leaf數據中心的成本本質上會更高。 ? ?
結論 ? 總之,如果你正在部署的新基礎設施需要一臺或兩臺以上交換機且至少采用兩層設計,那么Spine-Leaf是最佳選擇。傳統數據中心架構至少還會存在 5 到 10 年,因為過渡到Spine-Leaf等現代架構還需要付出很多的時間和精力。
? 審核編輯:黃飛
?
評論