自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么集群需要 Overlay 網(wǎng)絡(luò)

網(wǎng)絡(luò) 通信技術(shù)
Overlay 網(wǎng)絡(luò)其實(shí)并不是一門新技術(shù),它是指構(gòu)建在另一個(gè)網(wǎng)絡(luò)上的計(jì)算機(jī)網(wǎng)絡(luò),這是一種網(wǎng)絡(luò)虛擬化技術(shù)的形式,近年來(lái)云計(jì)算虛擬化技術(shù)的演進(jìn)促進(jìn)了網(wǎng)絡(luò)虛擬化技術(shù)的應(yīng)用。

對(duì)計(jì)算機(jī)網(wǎng)絡(luò)或者 Kubernetes 網(wǎng)絡(luò)稍有了解的工程師都應(yīng)該聽說(shuō)過(guò)延展網(wǎng)絡(luò)(Overlay Network),Overlay 網(wǎng)絡(luò)其實(shí)并不是一門新技術(shù),它是指構(gòu)建在另一個(gè)網(wǎng)絡(luò)上的計(jì)算機(jī)網(wǎng)絡(luò),這是一種網(wǎng)絡(luò)虛擬化技術(shù)的形式,近年來(lái)云計(jì)算虛擬化技術(shù)的演進(jìn)促進(jìn)了網(wǎng)絡(luò)虛擬化技術(shù)的應(yīng)用。

圖 1 - 延展網(wǎng)絡(luò)

因?yàn)?Overlay 網(wǎng)絡(luò)是建立在另一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)之上的虛擬網(wǎng)絡(luò),所以它不能獨(dú)立出現(xiàn),Overlay 底層依賴的網(wǎng)絡(luò)就是 Underlay 網(wǎng)絡(luò),這兩個(gè)概念也經(jīng)常成對(duì)出現(xiàn)。

Underlay 網(wǎng)絡(luò)是專門用來(lái)承載用戶 IP 流量的基礎(chǔ)架構(gòu)層,它與 Overlay 網(wǎng)絡(luò)之間的關(guān)系有點(diǎn)類似物理機(jī)和虛擬機(jī)。Underlay 網(wǎng)絡(luò)和物理機(jī)都是真正存在的實(shí)體,它們分別對(duì)應(yīng)著真實(shí)存在的網(wǎng)絡(luò)設(shè)備和計(jì)算設(shè)備,而 Overlay 網(wǎng)絡(luò)和虛擬機(jī)都是依托在下層實(shí)體使用軟件虛擬出來(lái)的層級(jí)。

圖 2 - 網(wǎng)絡(luò)與計(jì)算

在分析 Overlay 網(wǎng)絡(luò)的作用之前,我們需要對(duì)它的常見實(shí)現(xiàn)有大概的了解,在實(shí)踐中我們一般會(huì)使用虛擬局域網(wǎng)擴(kuò)展技術(shù)(Virtual Extensible LAN,VxLAN)組建 Overlay 網(wǎng)絡(luò)。在下圖中,兩個(gè)物理機(jī)可以通過(guò)三層的 IP 網(wǎng)絡(luò)互相訪問(wèn):

圖 3 - VxLAN 組成的 Overlay 網(wǎng)絡(luò)

VxLAN 使用虛擬隧道端點(diǎn)(Virtual Tunnel End Point、VTEP)設(shè)備對(duì)服務(wù)器發(fā)出和收到的數(shù)據(jù)包進(jìn)行二次封裝和解封。

上圖中兩個(gè) VTEP 會(huì)相互連接并獲得網(wǎng)絡(luò)中的 MAC 地址、IP 地址等信息,例如,服務(wù)器 1 中的 VTEP 需要知道想要訪問(wèn)綠色網(wǎng)絡(luò)中的 10.0.0.2 虛擬機(jī)需要先訪問(wèn) IP 地址為 204.79.197.200 的服務(wù)器 2。這些配置可以被網(wǎng)絡(luò)管理員手動(dòng)配置、自動(dòng)學(xué)習(xí)、也可以通過(guò)上層的管理器設(shè)置。當(dāng)綠色的 10.0.0.1 虛擬機(jī)想要向綠色的 10.0.0.2 發(fā)送數(shù)據(jù)時(shí),會(huì)經(jīng)過(guò)以下幾個(gè)步驟:

圖 4 - Overlay 網(wǎng)絡(luò)中的數(shù)據(jù)包

(1) 綠色的 10.0.0.1 會(huì)將 IP 數(shù)據(jù)包發(fā)送給 VTEP;

(2) 服務(wù)器 1 的 VTEP 收到 10.0.0.1 發(fā)送的數(shù)據(jù)包后;

  • 從收到的 IP 數(shù)據(jù)包中獲取目的虛擬機(jī)的 MAC 地址;
  • 在本地的轉(zhuǎn)發(fā)表中查找該 MAC 地址所在服務(wù)器的 IP 地址,即 204.79.197.200;
  • 將綠色虛擬機(jī)所在的虛擬網(wǎng)絡(luò)標(biāo)識(shí)符(VxLAN Network Identifier、VNI)以及原始的 IP 數(shù)據(jù)包作為負(fù)載,構(gòu)建新的 UDP 數(shù)據(jù)包;
  • 將新的 UDP 數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)中;

(3) 服務(wù)器 2 的 VTEP 收到 UDP 數(shù)據(jù)包后;

  • 去掉 UDP 數(shù)據(jù)包中的協(xié)議頭;
  • 查看數(shù)據(jù)包中 VNI;
  • 將 IP 數(shù)據(jù)包轉(zhuǎn)發(fā)給目標(biāo)的綠色服務(wù)器 10.0.0.2;

(4) 綠色的 10.0.0.2 會(huì)收到綠色服務(wù)器 10.0.0.1 發(fā)送的數(shù)據(jù)包;

在數(shù)據(jù)包的傳輸過(guò)程中,通信的雙方都不知道底層網(wǎng)絡(luò)做的這些轉(zhuǎn)換,它們認(rèn)為兩者可以通過(guò)二層的網(wǎng)絡(luò)互相訪問(wèn),但是實(shí)際上經(jīng)過(guò)了三層 IP 網(wǎng)絡(luò)的中轉(zhuǎn),通過(guò) VTEP 之間建立的隧道實(shí)現(xiàn)了連通。除了 VxLAN 之外,Overlay 網(wǎng)絡(luò)還有很多實(shí)現(xiàn)方案,不過(guò)也都大同小異。Overlay 網(wǎng)絡(luò)雖然能夠利用底層網(wǎng)絡(luò)在多數(shù)據(jù)中心之間組成二層網(wǎng)絡(luò),但是它的封包和拆包過(guò)程也會(huì)帶來(lái)額外開銷,所以為什么我們的集群需要 Overlay 網(wǎng)絡(luò)呢,本文將介紹 Overlay 網(wǎng)絡(luò)解決的三個(gè)問(wèn)題:

  • 云計(jì)算中集群內(nèi)的、跨集群的或者數(shù)據(jù)中心間的虛擬機(jī)和實(shí)例的遷移比較常見;
  • 單個(gè)集群中的虛擬機(jī)規(guī)??赡芊浅4?,大量的 MAC 地址和 ARP 請(qǐng)求會(huì)為網(wǎng)絡(luò)設(shè)備帶來(lái)巨大的壓力;
  • 傳統(tǒng)的網(wǎng)絡(luò)隔離技術(shù) VLAN 只能建立 4096 個(gè)虛擬網(wǎng)絡(luò),公有云以及大規(guī)模的虛擬化集群需要更多的虛擬網(wǎng)絡(luò)才能滿足網(wǎng)絡(luò)隔離的需求;

虛擬機(jī)遷移

Kuberentes 目前已經(jīng)是容器編排領(lǐng)域的事實(shí)標(biāo)準(zhǔn)了,雖然很多傳統(tǒng)行業(yè)仍然在使用物理機(jī)部署服務(wù),但是越來(lái)越多的計(jì)算任務(wù)在未來(lái)都會(huì)跑在虛擬機(jī)上。虛擬機(jī)遷移是將虛擬機(jī)從一個(gè)物理硬件設(shè)備移到另一個(gè)設(shè)備的過(guò)程,因?yàn)槿粘5母戮S護(hù),集群中的大規(guī)模虛擬機(jī)遷移是比較常見的事情,上千臺(tái)物理機(jī)組成的大集群使得集群內(nèi)的資源調(diào)度變得更加容易,我們可以通過(guò)虛擬機(jī)遷移來(lái)提高資源的利用率、容忍虛擬機(jī)的錯(cuò)誤并提高節(jié)點(diǎn)的可移植性。

當(dāng)虛擬機(jī)所在的宿主機(jī)因?yàn)榫S護(hù)或者其他原因宕機(jī)時(shí),當(dāng)前實(shí)例就需要遷移到其他的宿主機(jī)上,為了保證業(yè)務(wù)不中斷,我們需要保證遷移過(guò)程中的 IP 地址不變,因?yàn)? Overlay 是在網(wǎng)絡(luò)層實(shí)現(xiàn)二層網(wǎng)絡(luò),所以多個(gè)物理機(jī)之間只要網(wǎng)絡(luò)層可達(dá)就能組建虛擬的局域網(wǎng),虛擬機(jī)或者容器遷移后仍然處于同一個(gè)二層網(wǎng)絡(luò),也就不需要改變 IP 地址。

圖 5 - 跨數(shù)據(jù)中心的虛擬機(jī)遷移

如上圖所示,遷移后的虛擬機(jī)與其他的虛擬機(jī)雖然位于不同的數(shù)據(jù)中心,但是由于上述兩個(gè)數(shù)據(jù)中心之間可以通過(guò) IP 協(xié)議連通,所以遷移后的虛擬機(jī)仍然可以通過(guò) Overlay 網(wǎng)絡(luò)與原集群的虛擬機(jī)組成二層網(wǎng)絡(luò),集群內(nèi)部的主機(jī)也完全不清楚、不關(guān)心底層的網(wǎng)絡(luò)架構(gòu),它們只知道不同虛擬機(jī)之間是可以連通的。

虛擬機(jī)規(guī)模

我們?cè)?為什么 Mac 地址不需要全球唯一 曾經(jīng)介紹過(guò)二層網(wǎng)絡(luò)的通信需要依賴 MAC 地址,一個(gè)傳統(tǒng)的二層網(wǎng)絡(luò)需要網(wǎng)絡(luò)設(shè)備中存儲(chǔ)從 IP 地址到 MAC 地址的轉(zhuǎn)發(fā)表。

目前 Kuberentes 官方支持的最大集群為 5000 節(jié)點(diǎn),如果這 5000 個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)都僅僅包含一個(gè)容器,這對(duì)于內(nèi)部的網(wǎng)絡(luò)設(shè)備其實(shí)沒有太大的壓力,但是在實(shí)際情況下 5000 節(jié)點(diǎn)的集群中都包含幾萬(wàn)甚至幾十萬(wàn)個(gè)容器,當(dāng)某個(gè)容器向集群中發(fā)送 ARP 請(qǐng)求,集群中的全部容器都會(huì)收到 ARP 請(qǐng)求,這時(shí)會(huì)帶來(lái)極高的網(wǎng)絡(luò)負(fù)載。

在使用 VxLAN 搭建的 Overlay 網(wǎng)絡(luò)中,網(wǎng)絡(luò)會(huì)將虛擬機(jī)發(fā)送的數(shù)據(jù)重新封裝成 IP 數(shù)據(jù)包,這樣網(wǎng)絡(luò)只需要知道不同 VTEP 的 MAC 地址,由此可以將 MAC 地址表項(xiàng)中的幾十萬(wàn)條數(shù)據(jù)降低到幾千條,ARP 請(qǐng)求也只會(huì)在集群中的 VTEP 之間擴(kuò)散,遠(yuǎn)端的 VTEP 將數(shù)據(jù)拆包后也僅會(huì)在本地廣播,不會(huì)影響其他的 VTEP,雖然這對(duì)于集群中的網(wǎng)絡(luò)設(shè)備仍然有較高的要求,但是已經(jīng)極大地降低了核心網(wǎng)絡(luò)設(shè)備的壓力。

圖 6 - Overlay 網(wǎng)絡(luò)中的 ARP 請(qǐng)求

Overlay 網(wǎng)絡(luò)其實(shí)與軟件定義網(wǎng)絡(luò)(Software-defined networking、SDN)[^4]密切相關(guān),而 SDN 引入了數(shù)據(jù)平面和控制平面,其中數(shù)據(jù)平面負(fù)責(zé)轉(zhuǎn)發(fā)數(shù)據(jù),而控制平面負(fù)責(zé)計(jì)算并分發(fā)轉(zhuǎn)發(fā)表。VxLAN 的 RFC7348 中只定義了數(shù)據(jù)平面的內(nèi)容,由該技術(shù)組成的網(wǎng)絡(luò)可以通過(guò)傳統(tǒng)的自學(xué)習(xí)模式學(xué)習(xí)網(wǎng)絡(luò)中的 MAC 與 ARP 表項(xiàng)[^5],但是在大規(guī)模的集群中,我們?nèi)匀恍枰肟刂破矫娣职l(fā)路由轉(zhuǎn)發(fā)表。

網(wǎng)絡(luò)隔離

大規(guī)模的數(shù)據(jù)中心往往都會(huì)對(duì)外提供云計(jì)算服務(wù),同一個(gè)物理集群可能會(huì)被拆分成多個(gè)小塊分配給不同的租戶(Tenant),因?yàn)槎泳W(wǎng)絡(luò)的數(shù)據(jù)幀可能會(huì)進(jìn)行廣播,所以出于安全的考慮這些不同的租戶之間需要進(jìn)行網(wǎng)絡(luò)隔離,避免租戶之間的流量互相影響甚至惡意攻擊。傳統(tǒng)的網(wǎng)絡(luò)隔離會(huì)使用虛擬局域網(wǎng)技術(shù)(Virtual LAN、VLAN),VLAN 會(huì)使用 12 比特表示虛擬網(wǎng)絡(luò) ID,虛擬網(wǎng)絡(luò)的上限是 4096 個(gè)。

圖 7 - VLAN 協(xié)議頭

4096 個(gè)虛擬網(wǎng)絡(luò)對(duì)于大規(guī)模的數(shù)據(jù)中心來(lái)說(shuō)遠(yuǎn)遠(yuǎn)不夠,VxLAN 會(huì)使用 24 比特的 VNI 表示虛擬網(wǎng)絡(luò)個(gè)數(shù),總共可以表示 16,777,216 個(gè)虛擬網(wǎng)絡(luò),這也就能滿足數(shù)據(jù)中心多租戶網(wǎng)絡(luò)隔離的需求了。

圖 8 - VxLAN 協(xié)議頭

更多的虛擬網(wǎng)絡(luò)其實(shí)是 VxLAN 順手帶來(lái)的好處,它不應(yīng)該成為使用 VxLAN 的決定性因素。VLAN 協(xié)議的擴(kuò)展協(xié)議 IEEE 802.1ad 允許我們?cè)谝蕴W(wǎng)幀中加入兩個(gè) 802.1Q 的協(xié)議頭,兩個(gè) VLAN ID 組成的 24 比特也可以表示 16,777,216 個(gè)虛擬網(wǎng)絡(luò)[^6],所以想要解決網(wǎng)絡(luò)隔離不是使用 VxLAN 或者 Overlay 網(wǎng)絡(luò)的充分條件。

總結(jié)

今天的數(shù)據(jù)中心包含多個(gè)集群以及海量的物理機(jī),Overlay 網(wǎng)絡(luò)是虛擬機(jī)和底層網(wǎng)絡(luò)設(shè)備之間的中間層,通過(guò) Overlay 網(wǎng)絡(luò)這一個(gè)中間層,我們可以解決虛擬機(jī)的遷移問(wèn)題、降低二層核心網(wǎng)絡(luò)設(shè)備的壓力并提供更大規(guī)模的虛擬網(wǎng)絡(luò)數(shù)量:

  • 在使用 VxLAN 構(gòu)成二層網(wǎng)絡(luò)中,虛擬機(jī)在不同集群、不同可用區(qū)和不同數(shù)據(jù)中心遷移后,仍然可以保證二層網(wǎng)絡(luò)的可達(dá)性,這能夠幫助我們保證線上業(yè)務(wù)的可用性、提升集群的資源利用率、容忍虛擬機(jī)和節(jié)點(diǎn)的故障;
  • 集群中虛擬機(jī)的規(guī)??赡苁俏锢頇C(jī)是幾十倍,與物理機(jī)構(gòu)成的傳統(tǒng)集群相比,虛擬機(jī)構(gòu)成的集群包含的 MAC 地址數(shù)量可能多一兩個(gè)數(shù)量級(jí),網(wǎng)絡(luò)設(shè)備很難承擔(dān)如此大規(guī)模的二層網(wǎng)絡(luò)請(qǐng)求,Overlay 網(wǎng)絡(luò)通過(guò) IP 封包和控制平面可以減少集群中的 MAC 地址表項(xiàng)和 ARP 請(qǐng)求;
  • VxLAN 的協(xié)議頭使用 24 位的 VNI 表示虛擬網(wǎng)絡(luò),總共可以表示 1600 萬(wàn)的虛擬網(wǎng)絡(luò),我們可以為不同的虛擬網(wǎng)絡(luò)單獨(dú)分配網(wǎng)絡(luò)帶寬,滿足多租戶的網(wǎng)絡(luò)隔離需求;

需要注意的是,Overlay 網(wǎng)絡(luò)只是一種在物理網(wǎng)絡(luò)上的虛擬網(wǎng)絡(luò),使用該技術(shù)并不能直接解決集群中的規(guī)模性等問(wèn)題,而 VxLAN 也不是組建 Overlay 網(wǎng)絡(luò)的唯一方法,在不同場(chǎng)景中我們可以考慮使用不同的技術(shù),例如:NVGRE、GRE 等。到最后,我們還是來(lái)看一些比較開放的相關(guān)問(wèn)題,有興趣的讀者可以仔細(xì)思考一下下面的問(wèn)題:

  • VxLAN 將原始數(shù)據(jù)包封裝成 UDP 在網(wǎng)絡(luò)上分發(fā),那么 NVGRE 和 STT 分別使用哪些方法傳輸數(shù)據(jù)呢?
  • 在 Kubernetes 中部署 Overlay 網(wǎng)絡(luò)應(yīng)該使用什么技術(shù)或者軟件?

 

責(zé)任編輯:趙寧寧 來(lái)源: 真沒什么邏輯
相關(guān)推薦

2022-02-25 16:18:06

OverlayUnderlay網(wǎng)絡(luò)設(shè)備

2018-09-14 18:00:29

無(wú)損網(wǎng)絡(luò)

2024-06-24 20:57:06

2020-10-22 17:56:40

神經(jīng)網(wǎng)絡(luò)生成式對(duì)抗網(wǎng)絡(luò)

2023-04-04 07:15:01

2011-02-16 09:42:04

DevOps

2022-04-11 15:01:44

網(wǎng)絡(luò)彈性網(wǎng)絡(luò)犯罪惡意軟件

2015-09-09 13:44:28

2015-02-12 10:47:39

2015-04-16 15:42:21

關(guān)系型數(shù)據(jù)庫(kù)NoSQL

2022-06-28 14:54:26

加密貨幣數(shù)組貨幣安全

2018-12-03 15:40:47

SDNIBN網(wǎng)絡(luò)可見性

2017-04-20 09:01:17

5G網(wǎng)絡(luò)切片

2018-04-12 08:28:42

數(shù)據(jù)中心大二層網(wǎng)絡(luò)服務(wù)器虛擬化

2021-12-01 06:39:40

網(wǎng)絡(luò)安全人工智能AI

2019-08-05 08:42:37

物聯(lián)網(wǎng)IOT技術(shù)

2022-08-26 08:00:19

企業(yè)架構(gòu)IT

2023-09-05 09:49:03

2021-02-08 08:34:55

存儲(chǔ)列式 OLAP

2020-04-06 14:45:22

云計(jì)算邊緣計(jì)算網(wǎng)絡(luò)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)