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