網(wǎng)絡是云計算最關鍵的技術,網(wǎng)絡系統(tǒng)非常復雜,通常都是通過分層的結構實現(xiàn)。虛擬網(wǎng)絡是云計算核心的網(wǎng)絡功能,基于基礎物理網(wǎng)絡構建。軟件定義網(wǎng)絡,則用于動態(tài)網(wǎng)絡變更以及網(wǎng)絡功能創(chuàng)新。
1 基礎網(wǎng)絡:分層和拓撲
基礎的物理網(wǎng)絡有兩個核心的概念:
分層的協(xié)議棧。在接收協(xié)議棧的基礎上,通過泛化網(wǎng)絡分層,來理解復雜系統(tǒng)的組成——復雜系統(tǒng)必然是分層的。
網(wǎng)絡拓撲。代表了數(shù)據(jù)中心基本的服務器組織方式,從小到大依次為:服務器、機架、POD、數(shù)據(jù)中心等。
1.1 網(wǎng)絡分層協(xié)議棧
為了降低網(wǎng)絡設計的復雜度,絕大部分網(wǎng)絡都是分層的結構,構成一個層次棧。每一層都建立在下面一層的基礎之上,層的數(shù)量、每一層的名稱、功能在不同的網(wǎng)絡中不盡相同。每一層的目的都是向上一層提供特定的服務,而把如何實現(xiàn)這些服務的具體細節(jié)封裝起來,對上一層屏蔽。分層的概念大家并不陌生,它廣泛的應用于計算機科學各個領域,只是在不同的領域有不同的稱謂,例如細節(jié)屏蔽、抽象數(shù)據(jù)類型,數(shù)據(jù)封裝以及面向?qū)ο蟮某绦蛟O計等。其基本思想是一個特定的軟件(或硬件)向其用戶提供某種服務,但是把內(nèi)部狀態(tài)和算法及實現(xiàn)細節(jié)隱藏起來。
這樣構成相對應的實體一般稱為對等體(Peer)。這些對等體可以是軟件進程、硬件設備,或者其他交互實體。一臺機器上第n層與另一臺機器上第n層進行對話,該對話中使用的規(guī)則和約定統(tǒng)稱為第n層協(xié)議。實際上,數(shù)據(jù)并不是從一臺機器的第n層直接傳遞到另一臺機器的第n層。相反,每一層都將數(shù)據(jù)和控制信息傳遞給下一層,一直傳遞到最底層,然后通過物理傳輸介質(zhì)進行實際的通信。圖1中的實線表示實際的物理通信,而虛線則表示虛擬通信。每一對相鄰層次間的連線是接口,接口定義了下層往上層提供哪些原語操作和服務。當網(wǎng)絡設計者在決定一個網(wǎng)絡中應該包括多少層,以及每一層應該提供什么功能時,其中最重要的就是必須定義清楚層與層之間的接口。
1.2 五層參考模型
OSI參考模型具有七層,分別是物理層、數(shù)據(jù)鏈路層、網(wǎng)絡層、傳輸層、會話層、表示層、應用層。TCP/IP參考模型精簡了OSI模型,只有鏈路層、網(wǎng)絡層、傳輸層、應用層。OSI參考模型的影響力在于模型本身(去掉會話層和表示層),它已被證明對于討論計算機網(wǎng)絡非常有價值;而TCP/IP參考模型的優(yōu)勢體現(xiàn)在協(xié)議,這些協(xié)議已經(jīng)被廣泛應用許多年,證明了自身在各種復雜網(wǎng)絡條件下的穩(wěn)定性。結合二者的特點,現(xiàn)在大家討論的網(wǎng)絡分層模型如圖2所示的五層參考模型:
物理層:規(guī)定了如何在不同的介質(zhì)上以電氣(或其他模擬)信號傳輸比特。
鏈路層:關注的是如何在兩臺相連的計算機之間發(fā)送有限長度的消息,并具有指定級別的可靠性。以太網(wǎng)和802.11就是鏈路層協(xié)議。
網(wǎng)絡層:主要處理如何把多條鏈路結合到網(wǎng)絡中,以及如何把網(wǎng)絡與網(wǎng)絡連接成互聯(lián)網(wǎng)絡,使我們可以在兩個相隔遙遠的計算機之間發(fā)送數(shù)據(jù)包。網(wǎng)絡層的任務包括找到傳遞數(shù)據(jù)包所走的路徑。IP是網(wǎng)絡層主要的協(xié)議。
傳輸層:傳輸層增強了網(wǎng)絡層的傳輸,通常有更高的可靠性,提供滿足不同應用需求的可靠字節(jié)流。TCP和UDP是傳輸層主要的協(xié)議。
應用層:應用層包含了使用網(wǎng)絡的應用程序。例如HTTP和DNS等。
如圖2,一般情況下,網(wǎng)絡協(xié)議棧各層分別實現(xiàn)在硬件、內(nèi)核態(tài)軟件和用戶態(tài)軟件。物理層和網(wǎng)絡鏈路層是由以太網(wǎng)和802.11標準所定義的,比較穩(wěn)定,因此物理層和網(wǎng)絡鏈路層一般實現(xiàn)在硬件里;網(wǎng)絡層和傳輸層作為系統(tǒng)共用的組件,一般是作為TCP/IP協(xié)議棧集成在操作系統(tǒng)內(nèi)核里;而應用層的任務則一般交給用戶態(tài)的程序去實現(xiàn)。
1.3 數(shù)據(jù)中心網(wǎng)絡拓撲
物理網(wǎng)絡是一切網(wǎng)絡系統(tǒng)的基礎,承載著各種網(wǎng)絡流量的傳輸。大型數(shù)據(jù)中心物理網(wǎng)絡,很多采用經(jīng)典的三層連接,即Cisco定義的分層互連網(wǎng)絡模型(Hierarchical Internetworking Model)。如圖3(a)所示,分層互連網(wǎng)絡模型包含了以下三層:
接入層(Access Layer):接入交換機通常位于機架頂部,所以它們也被稱為ToR(Top of Rack)交換機,它們物理連接服務器。
匯聚層(Aggregation Layer):匯聚交換機連接Access交換機,同時提供其他的服務,例如防火墻,SSL offload,入侵檢測,網(wǎng)絡分析等。
核心層(Core Layer):核心交換機為進出數(shù)據(jù)中心的包提供高速的轉(zhuǎn)發(fā),為多個匯聚層提供連接性。
2008年,美國加州大學圣迭戈分校的研究學者提出了將Clos架構用于數(shù)據(jù)中心中?,F(xiàn)在流行的Clos網(wǎng)絡架構是一個二層的spine/leaf架構,如圖3(b)所示。spine交換機之間或者leaf交換機之間不需要鏈接同步數(shù)據(jù)。每個leaf交換機的上行鏈路數(shù)等于spine交換機數(shù)量,同樣的每個spine交換機的下行鏈路數(shù)等于leaf交換機的數(shù)量??梢赃@樣說,spine交換機和leaf交換機之間是以full-mesh方式連接。在Clos spine/leaf架構中,每一層的作用分別是:
葉子交換機(leaf switch):相當于傳統(tǒng)三層架構中的接入交換機,作為TOR直接連接物理服務器。
主干交換機(spine switch):相當于核心交換機。spine和leaf交換機之間通過ECMP(Equal Cost Multi Path)動態(tài)選擇多條路徑。
對比spine/leaf網(wǎng)絡架構和傳統(tǒng)三層網(wǎng)絡架構,可以看出傳統(tǒng)的三層網(wǎng)絡架構是垂直的結構,而spine/leaf網(wǎng)絡架構是扁平的結構,從結構上看,spine/leaf架構更易于水平擴展。
2 虛擬網(wǎng)絡:VLAN和VxLAN
虛擬網(wǎng)絡是云計算多租戶共存的基礎,通過可動態(tài)配置的虛擬網(wǎng)絡,構建足夠多的私有網(wǎng)絡域,承載多租戶的安全訪問隔離。VLAN是一種underlay網(wǎng)絡,而VxLAN則是基于underlay網(wǎng)絡隧道實現(xiàn)的Overlay網(wǎng)絡。
2.1 虛擬局域網(wǎng)VLAN
VLAN(Virtual Local Area Network,虛擬局域網(wǎng))是同一廣播域中設備的邏輯分組。通常,通過在交換機上配置一些VLAN,將某些接口置于一個廣播域中,而將某些接口置于另一廣播域中。VLAN可以分布在多個交換機上,每個VLAN被當作自己的子網(wǎng)或廣播域。這意味著廣播到網(wǎng)絡上的幀將僅在同一VLAN內(nèi)的端口之間傳遞。VLAN的作用類似于物理LAN,但是即使主機未連接到同一交換機,它也可以將主機在同一廣播域中分組在一起。在網(wǎng)絡中使用VLAN的主要原因是:
VLAN增加了廣播域的數(shù)量,同時減小了廣播域的大?。?/p>
VLAN通過減少接收交換機泛洪幀副本的主機數(shù)量來降低安全風險;
可以將保存敏感數(shù)據(jù)的主機保留在單獨的VLAN上,以提高安全性;
可以創(chuàng)建更靈活的網(wǎng)絡設計,以便按部門而不是按地理位置將用戶分組;
只需將端口配置到適當?shù)腣LAN,即可輕松實現(xiàn)網(wǎng)絡更改。
如圖4(a)所示,拓撲顯示了一個網(wǎng)絡,其中所有主機都位于同一VLAN中。如果沒有VLAN,則從主機A發(fā)送的廣播將到達網(wǎng)絡上的所有設備。如圖4(b)所示,通過將兩個交換機上的接口Fa0/0和Fa0/1放置在單獨的VLAN中,來自主機A的廣播將僅到達主機B,因為每個VLAN是一個單獨的廣播域,并且只有主機B與主機A處于同一VLAN內(nèi)。VLAN 3和VLAN 5中的主機甚至都不知道發(fā)生了通信。
VLAN的幀格式是在802.1Q協(xié)議里規(guī)定的,如圖5所示,相比傳統(tǒng)的802.3協(xié)議包,增加了4字節(jié)的字段。第一個16bits字段是VLAN協(xié)議標識符,值為0x8100。第二個字段包括優(yōu)先級Pri(3bits)、規(guī)范格式指示器CFI(1bit)、VLAN ID(12bit)。
2.2 虛擬擴展局域網(wǎng)VxLAN
VxLAN(Virtual Extensible LAN,虛擬擴展局域網(wǎng)),或許是目前最熱門的網(wǎng)絡虛擬化技術。VxLAN由RFC7348定義,這是2014年定稿的一個協(xié)議,VxLAN協(xié)議將Ethernet幀封裝在UDP內(nèi),再加上8個字節(jié)的VxLAN header,用來標識不同的二層網(wǎng)絡。如圖6所示,除了常規(guī)的各層的包頭之外,VxLAN協(xié)議還定義了8個字節(jié)的VxLAN包頭。其中的24bit用來標識不同的二層網(wǎng)絡,這樣總共可以標識1600多萬個不同的二層網(wǎng)絡。一般的傳輸層端口號用來標識進程或者應用,但是在VxLAN協(xié)議里面的,以太網(wǎng)幀封裝在UDP里面,UDP的源端口被用來在ECMP或者LACP做負載均衡;目的端口被用來標識VxLAN數(shù)據(jù),分配給VxLAN的端口號是4789。VxLAN數(shù)據(jù)是經(jīng)過VTEP(VxLAN Tunnel EndPoint,VxLAN隧道終端)封裝和解封裝的,相應的VxLAN數(shù)據(jù)的外層IP地址就是VTEP的IP地址。最外層的MAC地址用來實現(xiàn)VTEP之間的數(shù)據(jù)傳遞
VxLAN與VLAN的最大區(qū)別在于,VLAN只是修改了原始的以太網(wǎng)包頭,但是整個網(wǎng)絡數(shù)據(jù)包還是原來那個數(shù)據(jù)包,而VxLAN是將原始的以太網(wǎng)幀隱藏在UDP數(shù)據(jù)里面。經(jīng)過VTEP封裝之后,在網(wǎng)絡線路上看起來只有VTEP之間的UDP數(shù)據(jù)傳遞,原始的網(wǎng)絡數(shù)據(jù)包被掩蓋了。相比VLAN,VxLAN要復雜很多。加上VLAN的先發(fā)優(yōu)勢,已經(jīng)在交換機硬件中得到了廣泛的支持。那為什么還要VxLAN?原因主要是:
VLAN ID數(shù)量限制。首先是VLAN能支持的二層網(wǎng)絡數(shù)量有限。VLAN有12bit用來標識不同的二層網(wǎng)絡,這樣總共是4096個。當前大型數(shù)據(jù)中心數(shù)以十萬計的節(jié)點數(shù)量,4096個虛擬網(wǎng)絡域捉襟見肘。而VxLAN有24bit用來標識不同的二層網(wǎng)絡,這樣總共是1600多萬個虛擬網(wǎng)絡域,完全可以滿足大型數(shù)據(jù)中心的需求。
交換機MAC地址表限制。之前交換機的一個端口連接一個物理主機對應一個MAC地址,但現(xiàn)在交換機的一個端口雖然還是連接一個物理主機但是可能連接幾十個虛擬機和相應數(shù)量的MAC地址。交換機是根據(jù)MAC地址表實現(xiàn)二層轉(zhuǎn)發(fā)。交換機的內(nèi)存比較寶貴,所以MAC地址表的大小通常是有限的。如果使用VxLAN,虛擬機的以太網(wǎng)幀被VTEP封裝在UDP里面,一個物理主機對應一個VTEP,所以交換機的MAC地址表,只需要記錄與物理主機數(shù)量相當條目就可以了,虛擬化帶來的MAC地址表暴增的問題也不存在了。
靈活的虛機部署。采用VLAN網(wǎng)絡的虛擬環(huán)境,不存在overlay網(wǎng)絡。虛擬機的網(wǎng)絡數(shù)據(jù),被打上VLAN Tag之后,直接在物理網(wǎng)絡上傳輸,與物理網(wǎng)絡上的VLAN是融合在一起的。這樣的好處是虛擬機能直接訪問到物理網(wǎng)絡的設備,但是壞處是,虛擬網(wǎng)絡現(xiàn)在不能打破物理網(wǎng)絡的限制。如果使用VxLAN,因為VxLAN通過UDP傳輸以太網(wǎng)幀,那相應的可以在一個L3網(wǎng)絡上,傳遞L2的數(shù)據(jù)。物理網(wǎng)絡的二層邊界還存在,但是現(xiàn)在虛機的網(wǎng)絡數(shù)據(jù)在三層網(wǎng)絡傳輸,可以跨越物理二層網(wǎng)絡的限制。不管物理網(wǎng)絡的二層還是三層,虛擬機現(xiàn)在已經(jīng)感知不到了。通過VxLAN的封裝,虛擬機現(xiàn)在走的是一套獨立于物理網(wǎng)絡(underlay network)的overlay網(wǎng)絡。這樣的話,在物理網(wǎng)絡上,就不必把所有的交換機連起來,還是可以保持一個個小的L2 Pod。但是同時,虛擬機的部署和遷移,又不用受物理網(wǎng)絡的限制,整個數(shù)據(jù)中心可以保持一個平均的利用率。這是又一個VxLAN能解決,但是VLAN無法回避的問題。
更好的利用多條網(wǎng)絡鏈路。VLAN協(xié)議使用STP(Spanning Tree Protocol)來管理多條線路,STP根據(jù)優(yōu)先級和cost,只會選出一條線路來工作,這樣可以避免數(shù)據(jù)傳遞的環(huán)路。當網(wǎng)絡流量較大的時,也不能通過增加線路來提升性能。而VxLAN因為是通過UDP封裝,在三層網(wǎng)絡上傳輸。雖然傳遞的還是二層的以太網(wǎng)幀,但是VxLAN可以利用一些基于三層的協(xié)議來實現(xiàn)多條線路共同工作,以實現(xiàn)負載均衡,例如ECMP和LACP等。當網(wǎng)絡流量較大時,可以通過增加線路來減輕現(xiàn)有線路的負擔。這在提升數(shù)據(jù)中心網(wǎng)絡性能,尤其是東西向流量的性能時,尤其重要。
責任編輯:haq
-
數(shù)據(jù)
+關注
關注
8文章
7255瀏覽量
91804 -
網(wǎng)絡
+關注
關注
14文章
7810瀏覽量
90894
原文標題:技術分享 | 數(shù)據(jù)中心網(wǎng)絡基礎技術
文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
華為數(shù)據(jù)中心自動駕駛網(wǎng)絡通過EANTC歐洲高級網(wǎng)絡測試中心L4級自智網(wǎng)絡測評

數(shù)據(jù)中心和通信網(wǎng)絡有什么區(qū)別

小型數(shù)據(jù)中心晶振選型關鍵參數(shù)全解
華為面向亞太地區(qū)發(fā)布全新星河AI數(shù)據(jù)中心網(wǎng)絡方案
華為面向中東中亞地區(qū)發(fā)布全新星河AI數(shù)據(jù)中心網(wǎng)絡
適用于數(shù)據(jù)中心和AI時代的800G網(wǎng)絡
華為攜手中控技術打造全國數(shù)據(jù)中心網(wǎng)絡創(chuàng)新示范項目
華為全新升級星河AI數(shù)據(jù)中心網(wǎng)絡
華為攜手EANTC啟動數(shù)據(jù)中心網(wǎng)絡ADN分級測評認證
NIDA發(fā)布《智算數(shù)據(jù)中心網(wǎng)絡建設技術要求》
Meta AI數(shù)據(jù)中心網(wǎng)絡用了哪家的芯片

評論