偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

網(wǎng)絡 通信技術
Overlay 網(wǎng)絡其實并不是一門新技術,它是指構建在另一個網(wǎng)絡上的計算機網(wǎng)絡,這是一種網(wǎng)絡虛擬化技術的形式,近年來云計算虛擬化技術的演進促進了網(wǎng)絡虛擬化技術的應用。

對計算機網(wǎng)絡或者 Kubernetes 網(wǎng)絡稍有了解的工程師都應該聽說過延展網(wǎng)絡(Overlay Network),Overlay 網(wǎng)絡其實并不是一門新技術,它是指構建在另一個網(wǎng)絡上的計算機網(wǎng)絡,這是一種網(wǎng)絡虛擬化技術的形式,近年來云計算虛擬化技術的演進促進了網(wǎng)絡虛擬化技術的應用。

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

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

Underlay 網(wǎng)絡是專門用來承載用戶 IP 流量的基礎架構層,它與 Overlay 網(wǎng)絡之間的關系有點類似物理機和虛擬機。Underlay 網(wǎng)絡和物理機都是真正存在的實體,它們分別對應著真實存在的網(wǎng)絡設備和計算設備,而 Overlay 網(wǎng)絡和虛擬機都是依托在下層實體使用軟件虛擬出來的層級。

圖 2 - 網(wǎng)絡與計算

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

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

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

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

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

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

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

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

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

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

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

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

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

虛擬機遷移

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

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

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

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

虛擬機規(guī)模

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

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

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

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

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

網(wǎng)絡隔離

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

圖 7 - VLAN 協(xié)議頭

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

圖 8 - VxLAN 協(xié)議頭

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

總結

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

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

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

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

 

責任編輯:趙寧寧 來源: 真沒什么邏輯
相關推薦

2022-02-25 16:18:06

OverlayUnderlay網(wǎng)絡設備

2018-09-14 18:00:29

無損網(wǎng)絡

2024-06-24 20:57:06

2020-10-22 17:56:40

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

2023-04-04 07:15:01

2011-02-16 09:42:04

DevOps

2022-04-11 15:01:44

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

2015-09-09 13:44:28

2015-02-12 10:47:39

2022-06-28 14:54:26

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

2015-04-16 15:42:21

關系型數(shù)據(jù)庫NoSQL

2018-12-03 15:40:47

SDNIBN網(wǎng)絡可見性

2017-04-20 09:01:17

5G網(wǎng)絡切片

2021-12-01 06:39:40

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

2018-04-12 08:28:42

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

2021-02-08 08:34:55

存儲列式 OLAP

2023-09-05 09:49:03

2019-08-05 08:42:37

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

2022-08-26 08:00:19

企業(yè)架構IT

2020-04-01 11:19:03

物聯(lián)網(wǎng)LPWANIOT
點贊
收藏

51CTO技術棧公眾號