<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          深度:什么是VxLAN?

          共 8709字,需瀏覽 18分鐘

           ·

          2021-09-14 06:47



          VXLAN即虛擬擴(kuò)展局域網(wǎng),是大二層網(wǎng)絡(luò)中廣泛使用的網(wǎng)絡(luò)虛擬化技術(shù)。在源網(wǎng)絡(luò)設(shè)備與目的網(wǎng)絡(luò)設(shè)備之間建立一條邏輯VXLAN隧道,采用MAC in UDP(User Datagram Protocol)封裝方式,即,將虛擬機(jī)發(fā)出的原始以太報文完整的封裝在UDP報文中,然后在外層使用物理網(wǎng)絡(luò)的IP報文頭和以太報文頭封裝,這樣,封裝后的報文就像普通IP報文一樣,可以通過路由網(wǎng)絡(luò)轉(zhuǎn)發(fā),這就像給二層網(wǎng)絡(luò)的虛擬機(jī)插上了路由的翅膀,使虛擬機(jī)徹底擺脫了二、三層網(wǎng)絡(luò)的結(jié)構(gòu)限制。

          為什么需要VXLAN?

          為什么需要VXLAN呢?這和服務(wù)器的虛擬化趨勢緊密相關(guān),一方面出現(xiàn)了虛擬機(jī)動態(tài)遷移,要求虛擬機(jī)在遷移前后的IP和MAC地址不能改變;另一方面,租戶數(shù)量激增,需要網(wǎng)絡(luò)提供隔離海量租戶的能力

          虛擬機(jī)動態(tài)遷移

          服務(wù)器虛擬化技術(shù)是把一臺物理服務(wù)器虛擬化成多臺邏輯服務(wù)器,這種邏輯服務(wù)器被稱為虛擬機(jī)(VM)。通過服務(wù)器虛擬化,可以有效地提高服務(wù)器的利用率,降低能源消耗,降低運(yùn)營成本,所以虛擬化技術(shù)目前得到了廣泛的應(yīng)用。

          在服務(wù)器虛擬化后,虛擬機(jī)動態(tài)遷移變得常態(tài)化,為了保證遷移時業(yè)務(wù)不中斷,就要求在虛擬機(jī)遷移時,不僅虛擬機(jī)的IP地址不變,而且虛擬機(jī)的運(yùn)行狀態(tài)也必須保持原狀(例如TCP會話狀態(tài)),所以虛擬機(jī)的動態(tài)遷移只能在同一個二層域中進(jìn)行,而不能跨二層域遷移。

          傳統(tǒng)的三層網(wǎng)絡(luò)架構(gòu)限制了虛擬機(jī)的動態(tài)遷移范圍,如下圖所示,遷移只能在一個較小的局部范圍內(nèi)進(jìn)行,應(yīng)用受到了極大的限制。



          傳統(tǒng)的三層網(wǎng)絡(luò)架構(gòu)限制了虛擬機(jī)的動態(tài)遷移范圍

          為了打破這種限制,實(shí)現(xiàn)虛擬機(jī)的大范圍甚至跨地域的動態(tài)遷移,就要求把VM遷移可能涉及的所有服務(wù)器都納入同一個二層網(wǎng)絡(luò)域,這樣才能實(shí)現(xiàn)VM的大范圍無障礙遷移。

          眾所周知,同一臺二層交換機(jī)可以實(shí)現(xiàn)下掛服務(wù)器之間的二層通信,而且服務(wù)器從該二層交換機(jī)的一個端口遷移到另一個端口時,IP地址是可以保持不變的。這樣就可以滿足虛擬機(jī)動態(tài)遷移的需求了。VXLAN的設(shè)計理念和目標(biāo)正是由此而來的。

          VXLAN提供一套方法論,在IP網(wǎng)絡(luò)基礎(chǔ)上,當(dāng)源和目的之間有通信需求時,便在IP網(wǎng)絡(luò)之上創(chuàng)建一條虛擬的隧道,透明轉(zhuǎn)發(fā)用戶數(shù)據(jù)。任意兩點(diǎn)之間都能通過VXLAN隧道來通信,忽略底層網(wǎng)絡(luò)的結(jié)構(gòu)和細(xì)節(jié)。從服務(wù)器的角度看,VXLAN為它們將整個基礎(chǔ)網(wǎng)絡(luò)虛擬成了一臺巨大的“二層交換機(jī)”,所有服務(wù)器都連接在這臺虛擬二層交換機(jī)上。而基礎(chǔ)網(wǎng)絡(luò)之內(nèi)如何轉(zhuǎn)發(fā)都是這臺“巨大交換機(jī)”內(nèi)部的事情,服務(wù)器完全無需關(guān)心。



          VXLAN將整個基礎(chǔ)網(wǎng)絡(luò)虛擬成了一臺巨大的“二層交換機(jī)”

          基于這種“二層交換機(jī)”的模型,就很容易理解為什么VXLAN可以實(shí)現(xiàn)VM動態(tài)遷移了:將虛擬機(jī)從“二層交換機(jī)”的一個端口換到另一個端口,完全無需變更IP地址。

          租戶數(shù)量激增,要求提供一個可隔離海量租戶的網(wǎng)絡(luò)

          在傳統(tǒng)的VLAN網(wǎng)絡(luò)中,標(biāo)準(zhǔn)定義所支持的可用VLAN數(shù)量只有4000個左右。服務(wù)器虛擬化后,一臺物理服務(wù)器中承載了多臺虛擬機(jī),每個虛擬機(jī)都有獨(dú)立的IP地址和MAC地址,相當(dāng)于服務(wù)器成倍擴(kuò)大了。例如,公有云或其它大型虛擬化云數(shù)據(jù)中心動輒需容納上萬甚至更多租戶,VLAN的能力顯然已經(jīng)力不從心。

          VXLAN如何來解決上述問題呢?VXLAN在VXLAN幀頭中引入了類似VLAN ID的網(wǎng)絡(luò)標(biāo)識,稱為VXLAN網(wǎng)絡(luò)標(biāo)識VNI(VXLAN Network ID),由24比特組成,理論上可支持多達(dá)16M的VXLAN段,從而滿足了大規(guī)模不同租戶之間的標(biāo)識、隔離需求。

          VXLAN與VLAN之間有何不同?

          VLAN作為傳統(tǒng)的網(wǎng)絡(luò)隔離技術(shù),在標(biāo)準(zhǔn)定義中VLAN的數(shù)量只有4000個左右,無法滿足大二層網(wǎng)絡(luò)的租戶間隔離需求。另外,VLAN的二層范圍一般較小且固定,無法支持虛擬機(jī)大范圍的動態(tài)遷移。

          VXLAN完美地彌補(bǔ)了VLAN的上述不足,一方面通過VXLAN中的24比特VNI字段,提供多達(dá)16M租戶的標(biāo)識能力,遠(yuǎn)大于VLAN的4000;另一方面,VXLAN本質(zhì)上在兩臺交換機(jī)之間構(gòu)建了一條穿越基礎(chǔ)IP網(wǎng)絡(luò)的虛擬隧道,將IP基礎(chǔ)網(wǎng)絡(luò)虛擬成一個巨型“二層交換機(jī)”,即大二層網(wǎng)絡(luò),滿足虛擬機(jī)大范圍動態(tài)遷移的需求。

          雖然從名字上看,VXLAN是VLAN的一種擴(kuò)展協(xié)議,但VXLAN構(gòu)建虛擬隧道的本領(lǐng)已經(jīng)與VLAN迥然不同了。

          下面來介紹下,VXLAN報文到底長啥樣。



          VXLAN報文格式(以外層IP頭為IPv4格式為例)

          如上圖所示,VTEP對VM發(fā)送的原始以太幀(Original L2 Frame)進(jìn)行了以下“包裝”:

          • VXLAN Header
            增加VXLAN頭(8字節(jié)),其中包含24比特的VNI字段,用來定義VXLAN網(wǎng)絡(luò)中不同的租戶。此外,還包含VXLAN Flags(8比特,取值為00001000)和兩個保留字段(分別為24比特和8比特)。
          • UDP Header
            VXLAN頭和原始以太幀一起作為UDP的數(shù)據(jù)。UDP頭中,目的端口號(VXLAN Port)固定為4789,源端口號(UDP Src. Port)是原始以太幀通過哈希算法計算后的值。
          • Outer IP Header
            封裝外層IP頭。其中,源IP地址(Outer Src. IP)為源VM所屬VTEP的IP地址,目的IP地址(Outer Dst. IP)為目的VM所屬VTEP的IP地址。
          • Outer MAC Header
            封裝外層以太頭。其中,源MAC地址(Src. MAC Addr.)為源VM所屬VTEP的MAC地址,目的MAC地址(Dst. MAC Addr.)為到達(dá)目的VTEP的路徑中下一跳設(shè)備的MAC地址。

          VXLAN是如何工作的?

          本節(jié)將為您介紹VXLAN隧道的建立過程,并在這個過程中更好地理解VXLAN的工作原理。

          VXLAN中的VTEP和VNI

          在介紹VXLAN隧道的建立過程前,先來了解VXLAN網(wǎng)絡(luò)模型中一些常見的概念。如下圖所示,兩臺服務(wù)器之間通過VXLAN網(wǎng)絡(luò)進(jìn)行通信。在兩臺TOR交換機(jī)之間建立了一條VXLAN隧道,TOR交換機(jī)將服務(wù)器發(fā)出的原始數(shù)據(jù)幀加以“包裝”,好讓原始報文可以在承載網(wǎng)絡(luò)(比如IP網(wǎng)絡(luò))上傳輸。當(dāng)?shù)竭_(dá)目的服務(wù)器所連接的TOR交換機(jī)后,離開VXLAN隧道,并將原始數(shù)據(jù)幀恢復(fù)出來,繼續(xù)轉(zhuǎn)發(fā)給目的服務(wù)器。



          VXLAN網(wǎng)絡(luò)模型示意

          VXLAN網(wǎng)絡(luò)中出現(xiàn)了一些傳統(tǒng)網(wǎng)絡(luò)中沒有的新元素,如VTEP、VNI等,它們的作用是什么呢?下面將向您介紹這幾個新元素。


          什么是VXLAN VTEP

          VTEP(VXLAN Tunnel Endpoints,VXLAN隧道端點(diǎn))是VXLAN網(wǎng)絡(luò)的邊緣設(shè)備,是VXLAN隧道的起點(diǎn)和終點(diǎn),源服務(wù)器發(fā)出的原始數(shù)據(jù)幀,在VTEP上被封裝成VXLAN格式的報文,并在IP網(wǎng)絡(luò)中傳遞到另外一個VTEP上,并經(jīng)過解封轉(zhuǎn)還原出原始的數(shù)據(jù)幀,最后轉(zhuǎn)發(fā)給目的服務(wù)器。


          什么是VXLAN VNI

          VNI(VXLAN Network Identifier,VXLAN 網(wǎng)絡(luò)標(biāo)識符),VNI是一種類似于VLAN ID的用戶標(biāo)識,一個VNI代表了一個租戶,屬于不同VNI的虛擬機(jī)之間不能直接進(jìn)行二層通信。

          VNI還可分為二層VNI和三層VNI,它們的作用不同,二層VNI是普通的VNI,用于VXLAN報文同子網(wǎng)的轉(zhuǎn)發(fā);三層VNI和VPN實(shí)例進(jìn)行關(guān)聯(lián),用于VXLAN報文跨子網(wǎng)的轉(zhuǎn)發(fā)。

          VXLAN的網(wǎng)關(guān)

          和VLAN類似,不同VNI之間的主機(jī),以及VXLAN網(wǎng)絡(luò)和非VXLAN網(wǎng)絡(luò)中的主機(jī)不能直接相互通信。為了滿足這些通信需求,VXLAN引入了VXLAN網(wǎng)關(guān)的概念。VXLAN網(wǎng)關(guān)分為二層網(wǎng)關(guān)和三層網(wǎng)關(guān),VXLAN二層網(wǎng)關(guān)用于終端接入VXLAN網(wǎng)絡(luò),也可用于同一VXLAN網(wǎng)絡(luò)的子網(wǎng)通信;VXLAN三層網(wǎng)關(guān)用于VXLAN網(wǎng)絡(luò)中跨子網(wǎng)通信以及訪問外部網(wǎng)絡(luò)。

          根據(jù)三層網(wǎng)關(guān)部署方式的不同,VXLAN三層網(wǎng)關(guān)又可以分為集中式網(wǎng)關(guān)和分布式網(wǎng)關(guān)。


          VXLAN集中式網(wǎng)關(guān)

          集中式網(wǎng)關(guān)是指將三層網(wǎng)關(guān)集中部署在一臺設(shè)備上,如下圖所示,所有跨子網(wǎng)的流量都經(jīng)過這個三層網(wǎng)關(guān)轉(zhuǎn)發(fā),實(shí)現(xiàn)流量的集中管理。



          VXLAN集中式網(wǎng)關(guān)組網(wǎng)圖

          部署集中式網(wǎng)關(guān)的優(yōu)點(diǎn)和缺點(diǎn)如下:

          • 優(yōu)點(diǎn):對跨子網(wǎng)流量進(jìn)行集中管理,網(wǎng)關(guān)的部署和管理比較簡單。
          • 缺點(diǎn):
            • 轉(zhuǎn)發(fā)路徑不是最優(yōu):同一二層網(wǎng)關(guān)下跨子網(wǎng)的三層流量都需要經(jīng)過集中三層網(wǎng)關(guān)繞行轉(zhuǎn)發(fā)(如圖中藍(lán)色虛線所示)。
            • ARP表項(xiàng)規(guī)格瓶頸:由于采用集中三層網(wǎng)關(guān),通過三層網(wǎng)關(guān)轉(zhuǎn)發(fā)的終端的ARP表項(xiàng)都需要在三層網(wǎng)關(guān)上生成,而三層網(wǎng)關(guān)上的ARP表項(xiàng)規(guī)格有限,限制了網(wǎng)絡(luò)的擴(kuò)展。

          VXLAN分布式網(wǎng)關(guān)

          通過部署分布式網(wǎng)關(guān)可以解決集中式網(wǎng)關(guān)部署的缺點(diǎn)。VXLAN分布式網(wǎng)關(guān)是指在典型的“Spine-Leaf”組網(wǎng)結(jié)構(gòu)下,將Leaf節(jié)點(diǎn)作為VXLAN隧道端點(diǎn)VTEP,每個Leaf節(jié)點(diǎn)都可作為VXLAN三層網(wǎng)關(guān)(同時也是VXLAN二層網(wǎng)關(guān)),Spine節(jié)點(diǎn)不感知VXLAN隧道,只作為VXLAN報文的轉(zhuǎn)發(fā)節(jié)點(diǎn)。如下圖所示,Server1和Server2不在同一個網(wǎng)段,但是都連接到同一個Leaf節(jié)點(diǎn)。Server1和Server2通信時,流量只需要在該Leaf節(jié)點(diǎn)上轉(zhuǎn)發(fā),不再需要經(jīng)過Spine節(jié)點(diǎn)。

          部署分布式網(wǎng)關(guān)時:

          • Spine節(jié)點(diǎn):關(guān)注于高速IP轉(zhuǎn)發(fā),強(qiáng)調(diào)的是設(shè)備的高速轉(zhuǎn)發(fā)能力。
          • Leaf節(jié)點(diǎn):
            • 作為VXLAN網(wǎng)絡(luò)中的二層網(wǎng)關(guān)設(shè)備,與物理服務(wù)器或VM對接,用于解決終端租戶接入VXLAN虛擬網(wǎng)絡(luò)的問題。
            • 作為VXLAN網(wǎng)絡(luò)中的三層網(wǎng)關(guān)設(shè)備,進(jìn)行VXLAN報文封裝/解封裝,實(shí)現(xiàn)跨子網(wǎng)的終端租戶通信,以及外部網(wǎng)絡(luò)的訪問。


          VXLAN分布式網(wǎng)關(guān)示意圖

          VXLAN分布式網(wǎng)關(guān)具有如下特點(diǎn):
          • 同一個Leaf節(jié)點(diǎn)既可以做VXLAN二層網(wǎng)關(guān),也可以做VXLAN三層網(wǎng)關(guān),部署靈活。

          • Leaf節(jié)點(diǎn)只需要學(xué)習(xí)自身連接服務(wù)器的ARP表項(xiàng),而不必像集中三層網(wǎng)關(guān)一樣,需要學(xué)習(xí)所有服務(wù)器的ARP表項(xiàng),解決了集中式三層網(wǎng)關(guān)帶來的ARP表項(xiàng)瓶頸問題,網(wǎng)絡(luò)規(guī)模擴(kuò)展能力強(qiáng)。

          哪些VTEP之間需要建立VXLAN隧道

          “大二層網(wǎng)絡(luò)”可以突破物理上的界限,實(shí)現(xiàn)“大二層網(wǎng)絡(luò)”中VM之間的通信,同一“大二層網(wǎng)絡(luò)”內(nèi)的VTEP之間都需要建立VXLAN隧道。如下圖中VTEP_1連接的VM、VTEP_2連接的VM以及VTEP_3連接的VM之間需要“大二層”互通,那VTEP_1、VTEP_2和VTEP_3之間就需要兩兩建立VXLAN隧道。



          建立VXLAN隧道示意圖

          VXLAN隧道的建立

          VXLAN隧道由一對VTEP IP地址確定,創(chuàng)建VXLAN隧道實(shí)際上是兩端VTEP獲取對端VTEP IP地址的過程,只要對端VTEP IP地址是三層路由可達(dá)的,VXLAN隧道就可以建立成功。

          VXLAN隧道的建立分為靜態(tài)方式和動態(tài)方式兩種。

          靜態(tài)方式?jīng)]有控制平面,用戶通過手動指定VXLAN隧道的源IP為本端VTEP的IP、目的IP為對端VTEP的IP,建立VXLAN隧道。靜態(tài)方式手工配置工作量大,靈活性較差,不適合大規(guī)模的組網(wǎng)場景。

          動態(tài)方式的VXLAN隧道的建立借助VXLAN EVPN協(xié)議作為VXLAN的控制平面,在兩端VTEP之間建立BGP EVPN對等體,然后對等體之間利用VXLAN EVPN路由實(shí)現(xiàn)VTEP的自動發(fā)現(xiàn)、主機(jī)信息相互通告等,從而實(shí)現(xiàn)動態(tài)建立VXLAN隧道。數(shù)據(jù)平面則依據(jù)控制平面建立的轉(zhuǎn)發(fā)表項(xiàng)執(zhí)行報文的轉(zhuǎn)發(fā)。動態(tài)方式靈活性高,適合大規(guī)模的VXLAN組網(wǎng)場景。

          如何確定報文屬于哪個VXLAN隧道

          “大二層網(wǎng)絡(luò)”就類似于傳統(tǒng)網(wǎng)絡(luò)中VLAN(虛擬局域網(wǎng))的概念,在VXLAN網(wǎng)絡(luò)中,不同的“大二層網(wǎng)絡(luò)”用Bridge-Domain標(biāo)識,簡稱BD,不同的BD通過VNI來區(qū)分的。在建立VXLAN隧道時,需要在VTEP設(shè)備上配置BD與VNI的映射關(guān)系,進(jìn)入VTEP的報文根據(jù)BD與VNI的映射關(guān)系表確定報文在進(jìn)行VXLAN封裝時,該添加哪個VNI標(biāo)識,即報文通過哪個VXLAN隧道轉(zhuǎn)發(fā)。那么,報文根據(jù)什么來確定自己屬于哪個BD呢?


          當(dāng)BUM(廣播&未知單播&組播)報文進(jìn)行VXLAN封裝時,接入端VTEP采用頭端復(fù)制方式進(jìn)行報文的VXLAN封裝,將報文發(fā)送給頭端復(fù)制列表中的所有出端口VTEP。

          如何確定報文屬于哪個BD

          VTEP只是設(shè)備承擔(dān)的一個角色而已,只是設(shè)備功能的一部分。也就是說,并非所有進(jìn)入到設(shè)備的報文都會走VXLAN隧道(也可能報文就是走普通的二三層轉(zhuǎn)發(fā)流程)。所以,在回答“如何確定報文屬于哪個BD”之前,必須先要回答“哪些報文要進(jìn)入VXLAN隧道”。


          哪些報文要進(jìn)入VXLAN隧道

          回答這個問題之前,不妨先回想一下VLAN技術(shù)中,設(shè)備對于接收和發(fā)送的報文是如何進(jìn)行處理的。報文要進(jìn)入設(shè)備進(jìn)行下一步處理,首先得先過接口這一關(guān),可以說接口掌控著對報文的“生殺大權(quán)”。傳統(tǒng)網(wǎng)絡(luò)中定義了三種不同類型的接口:Access、Trunk、Hybrid。這三種類型的接口雖然應(yīng)用場景不同,但它們的最終目的是一樣的:一是根據(jù)配置來檢查哪些報文是允許通過的;二是判斷對檢查通過的報文做怎樣的處理。

          在VXLAN網(wǎng)絡(luò)中,VTEP上的接口也承擔(dān)著類似的任務(wù),只不過這里的接口不是物理接口,而是一個叫做“二層子接口”的邏輯接口。類似的,二層子接口主要做兩件事:一是根據(jù)配置來檢查哪些報文需要進(jìn)入VXLAN隧道;二是判斷對檢查通過的報文做怎樣的處理。在二層子接口上,為簡化配置管理,根據(jù)業(yè)務(wù)定義了不同的流封裝類型(類似于傳統(tǒng)網(wǎng)絡(luò)中不同的接口類型)。目前主要的流封裝類型有dot1q、untag、qinq和default四種類型:

          • dot1q:對于帶有一層VLAN Tag的報文,該類型子接口只接收與指定VLAN Tag匹配的報文;對于帶有兩層VLAN Tag的報文,該類型子接口只接收外層VLAN Tag與指定VLAN Tag匹配的報文。

          • untag:該類型子接口只接收不帶VLAN Tag的報文。

          • qinq:該類型子接口只接收帶有指定兩層VLAN Tag的報文。

          • default:允許子接口接收所有報文,不區(qū)分報文中是否帶VLAN Tag。不論是對原始報文進(jìn)行VXLAN封裝,還是解封裝VXLAN報文,該類型子接口都不會對原始報文進(jìn)行任何VLAN Tag處理,包括添加、替換或剝離。


          除二層子接口外,還可以將VLAN作為業(yè)務(wù)接入點(diǎn)。將VLAN綁定到廣播域BD后,加入該VLAN的接口即為VXLAN業(yè)務(wù)接入點(diǎn),進(jìn)入接口的報文由VXLAN隧道處理。


          將二層子接口加入BD

          現(xiàn)在再來回答“如何確定報文屬于哪個BD”就非常簡單了。其實(shí),只要將二層子接口加入指定的BD,然后根據(jù)二層子接口上的配置,設(shè)備就可以確定報文屬于哪個BD啦!

          什么是VXLAN EVPN?

          EVPN(Ethernet Virtual Private Network)是一種用于二層網(wǎng)絡(luò)互聯(lián)的VPN技術(shù)。EVPN技術(shù)采用類似于BGP/MPLS IP VPN的機(jī)制,在BGP協(xié)議的基礎(chǔ)上定義了一種新的NLRI(Network Layer Reachability Information,網(wǎng)絡(luò)層可達(dá)信息)即EVPN NLRI,EVPN NLRI定義了幾種新的BGP EVPN路由類型,用于處在二層網(wǎng)絡(luò)的不同站點(diǎn)之間的MAC地址學(xué)習(xí)和發(fā)布。

          最初的VXLAN方案(RFC7348)中沒有定義控制平面,是手工配置VXLAN隧道,然后通過數(shù)據(jù)平面的流量泛洪的方式進(jìn)行VTEP發(fā)現(xiàn)和主機(jī)信息(包括IP地址、MAC地址、VNI、網(wǎng)關(guān)VTEP IP地址)學(xué)習(xí)的。這種方式實(shí)現(xiàn)上較為簡單,但是會導(dǎo)致網(wǎng)絡(luò)中存在很多泛洪流量、網(wǎng)絡(luò)擴(kuò)展起來困難。

          為了解決上述問題,在VXLAN中引入了EVPN作為VXLAN的控制平面,通過VXLAN EVPN路由傳遞VTEP地址和主機(jī)信息,把原本依賴數(shù)據(jù)平面的VTEP發(fā)現(xiàn)和主機(jī)信息學(xué)習(xí)轉(zhuǎn)移到控制平面。



          將EVPN作為VXLAN的控制平面

          采用EVPN作為VXLAN的控制平面具有以下優(yōu)勢:
          • 可實(shí)現(xiàn)VTEP自動發(fā)現(xiàn)、VXLAN隧道自動建立,從而降低網(wǎng)絡(luò)部署、擴(kuò)展的難度。

          • EVPN可以同時發(fā)布二層MAC信息和三層路由信息。

          • 可以減少網(wǎng)絡(luò)中的泛洪流量。

          VXLAN EVPN的路由類型有哪些?

          在EVPN NLRI中定義了如下幾種應(yīng)用于VXLAN控制平面的BGP EVPN路由類型:

          • Type2路由:又稱MAC/IP路由,主要用于VTEP之間相互通告主機(jī)IP、MAC信息。

          • Type3路由:主要用于在VTEP之間相互通告二層VNI、VTEP IP信息,以建立頭端復(fù)制列表,指導(dǎo)后續(xù)BUM報文的轉(zhuǎn)發(fā)。

          • Type5路由:又稱IP前綴路由,主要用于傳遞網(wǎng)段路由。

          使用EVPN發(fā)布VTEP路由

          在主機(jī)同子網(wǎng)互通場景下,因?yàn)橹恍枰谕粋€二層廣播域(BD)內(nèi)互通,所以只要兩端VTEP的IP地址路由可達(dá),VXLAN隧道就可以建立,所以同子網(wǎng)VXLAN隧道的動態(tài)建立需要在兩端VTEP之間建立BGP EVPN對等體,然后對等體之間通過交互Type3路由來互相傳遞VNI和VTEP IP地址信息,來實(shí)現(xiàn)動態(tài)建立VXLAN隧道。

          使用EVPN發(fā)布主機(jī)路由

          在主機(jī)跨子網(wǎng)互通場景下,需要在不同二層廣播域(BD)內(nèi)互通,主機(jī)之間的互通需要知道對端主機(jī)的IP路由。Type2路由攜帶32位掩碼的主機(jī)IP地址信息,VTEP之間通過EVPN Type2路由發(fā)布主機(jī)路由信息,從而使VTEP就學(xué)習(xí)到主機(jī)的路由信息,從而進(jìn)行三層轉(zhuǎn)發(fā)。

          使用EVPN發(fā)布網(wǎng)段路由

          網(wǎng)段路由的發(fā)布流程與主機(jī)路由類似,區(qū)別在于網(wǎng)段路由是通過Type5路由發(fā)布的,Type2路由只能發(fā)布32/128位的主機(jī)路由。Type5路由也可以發(fā)布32/128位的主機(jī)路由,在發(fā)布32/128位的主機(jī)路由時,功能與Type2路由類似。

          使用EVPN學(xué)習(xí)MAC地址

          在VXLAN網(wǎng)絡(luò)中,為了減少網(wǎng)絡(luò)管理員手工維護(hù)工作量和減少泛洪流量,需要支持MAC地址動態(tài)學(xué)習(xí)。跨子網(wǎng)互通需要進(jìn)行三層轉(zhuǎn)發(fā),MAC地址學(xué)習(xí)只在本端主機(jī)和網(wǎng)關(guān)之間通過動態(tài)ARP報文實(shí)現(xiàn),這里不再詳述。在同子網(wǎng)主機(jī)互通場景下,使用EVPN作為VXLAN的控制平面,可以用EVPN來進(jìn)行MAC學(xué)習(xí)。Type2路由不僅攜帶IP路由信息,還攜帶MAC地址信息,使用EVPN來進(jìn)行MAC學(xué)習(xí)的過程,是通過在VTEP之間傳遞Type2路由路由完成的。

          VXLAN網(wǎng)絡(luò)中的報文是如何轉(zhuǎn)發(fā)的?

          基本的二三層轉(zhuǎn)發(fā)中,二層轉(zhuǎn)發(fā)依賴的是MAC表,三層轉(zhuǎn)發(fā)依賴的是FIB表。在VXLAN中,其實(shí)也是同樣的道理。下面以集中式VXLAN網(wǎng)絡(luò)VXLAN隧道的建立)為例,分別介紹同子網(wǎng)內(nèi)、跨子網(wǎng)間是如何進(jìn)行通信的,幫助您理解VXLAN中的概念。

          集中式VXLAN中同子網(wǎng)互通流程

          如下圖所示,VM_A、VM_B和VM_C屬于同網(wǎng)段。此時,VM_A想與VM_C進(jìn)行通信,首次進(jìn)行通信,報文進(jìn)行如下處理:

          • VM_A上沒有VM_C的MAC地址,所以會發(fā)送ARP廣播報文請求VM_C的MAC地址。
          • VTEP_1收到ARP請求后,先進(jìn)行VXLAN封裝,然后將VXLAN報文復(fù)制多份分別發(fā)送給所有的對端VTEP。
          • 報文到達(dá)VTEP_2和VTEP_3后,VTEP對報文進(jìn)行解封裝,得到VM_A發(fā)送的原始報文。VTEP_2和VTEP_3在對應(yīng)的二層域內(nèi)廣播。
          • 當(dāng)VM_C收到該請求報文后,發(fā)現(xiàn)目的IP與本機(jī)IP相同,因此VM_C將進(jìn)行ARP應(yīng)答。而其他VM收到該請求報文會丟棄。

          經(jīng)過上述過程,VM_A和VM_C均已學(xué)習(xí)到了對方的MAC地址。之后,VM_A和VM_C將采用單播方式進(jìn)行通信。


          同子網(wǎng)VM互通組網(wǎng)圖

          集中式VXLAN中跨子網(wǎng)互通流程

          跨子網(wǎng)報文轉(zhuǎn)發(fā)需要通過三層網(wǎng)關(guān)實(shí)現(xiàn)。如下圖所示,VM_A、VM_B屬于不同網(wǎng)段。VM_A與VM_B進(jìn)行通信的報文處理過程如下:

          • VM_A先將數(shù)據(jù)報文發(fā)送給VTEP_1。

          • VTEP_1收到后進(jìn)行VXLAN封裝,然后將VXLAN報文發(fā)送給對端VTEP_3。

          • VTEP_3收到VXLAN報文后進(jìn)行解封裝,發(fā)現(xiàn)目的MAC是三層網(wǎng)關(guān)接口BDIF的MAC地址MAC_10,而目的IP地址為IP_B(10.1.20.1),因此需要進(jìn)行三層轉(zhuǎn)發(fā)。

          • VTEP_3根據(jù)路由表查找到IP_B的下一跳,發(fā)現(xiàn)出接口為BDIF 20,VTEP_3將報文重新進(jìn)行VXLAN封裝,然后將VXLAN報文發(fā)送給對端VTEP_2。

          • 報文到達(dá)VTEP_2后,VTEP_2對報文進(jìn)行解封裝,并將其發(fā)送給VM_B。




          不同子網(wǎng)VM互通流程示意


          BDIF接口的功能與VLANIF接口類似,是基于BD創(chuàng)建的三層邏輯接口,用以實(shí)現(xiàn)不同子網(wǎng)之間的通信,或VXLAN網(wǎng)絡(luò)與非VXLAN網(wǎng)絡(luò)之間的通信。

          干貨:云原生平臺





          轉(zhuǎn)載申明:轉(zhuǎn)載本號文章請注明作者來源,本號發(fā)布文章若存在版權(quán)等問題,請留言聯(lián)系處理,謝謝。


          推薦閱讀

          更多架構(gòu)相關(guān)技術(shù)知識總結(jié)請參考“架構(gòu)師全店鋪技術(shù)資料打包”相關(guān)電子書(37本技術(shù)資料打包匯總詳情可通過“閱讀原文”獲取)。

          全店內(nèi)容持續(xù)更新,現(xiàn)下單“全店鋪技術(shù)資料打包(全)”,后續(xù)可享全店內(nèi)容更新“免費(fèi)”贈閱,價格僅收198元(原總價350元)。



          溫馨提示:

          掃描二維碼關(guān)注公眾號,點(diǎn)擊閱讀原文鏈接獲取架構(gòu)師技術(shù)全店資料打包匯總(全)電子書資料詳情。


          瀏覽 75
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人中文娱乐 | 亚洲第一页在线免费观看 | 黄色操逼的免费网站 男女操逼的视频免费网站 | 做爱黄片免费观看 | 插逼逼好爽视频 |