国产成人毛片毛片久久网_国产午夜激无码av毛片不_国产乱对白精彩在线播放_av资源站中文字幕_亚洲男人的天堂网站_国产成 人 综合 亚洲网_中国国产激情一区_少妇一级淫片免费放_亚洲一本大道av久在线播放_免费观看美女裸体网站

行業(yè)動(dòng)態(tài)

防御吧作為15年知名老牌域名服務(wù)商,CNNIC和CANN雙認(rèn)證域名注冊商,已經(jīng)
持續(xù)為500多萬個(gè)域名提供服務(wù),包括智能DNS/自由轉(zhuǎn)移/隱私保護(hù)等服務(wù)!
Overlay網(wǎng)絡(luò)與SDN
2022-01-08 20:02:51 【

1、Overlay網(wǎng)絡(luò)與SDN

VXLAN(虛擬可擴(kuò)展局域網(wǎng)),是一種虛擬化隧道通信技術(shù)。它是一種Overlay(覆蓋網(wǎng)絡(luò))技術(shù),通過三層的網(wǎng)絡(luò)來搭建虛擬的二層網(wǎng)絡(luò)。

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

因?yàn)镺verlay網(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)常成對出現(xiàn)。

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

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

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

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


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

  • 云計(jì)算中集群內(nèi)的、跨集群的或者數(shù)據(jù)中心間的虛擬機(jī)和實(shí)例的遷移比較常見;

  • 單個(gè)集群中的虛擬機(jī)規(guī)?赡芊浅4螅罅康腗AC地址和ARP請求會(huì)為網(wǎng)絡(luò)設(shè)備帶來巨大的壓力;

  • 傳統(tǒng)的網(wǎng)絡(luò)隔離技術(shù)VLAN只能建立4096個(gè)虛擬網(wǎng)絡(luò),公有云以及大規(guī)模的虛擬化集群需要更多的虛擬網(wǎng)絡(luò)才能滿足網(wǎng)絡(luò)隔離的需求;

2、VXLAN協(xié)議原理

VXLAN有幾個(gè)常見的術(shù)語:

  • VTEP(VXLANTunnelEndpoints,VXLAN隧道端點(diǎn))

VXLAN網(wǎng)絡(luò)的邊緣設(shè)備,用來進(jìn)行VXLAN報(bào)文的處理(封包和解包)。VTEP可以是網(wǎng)絡(luò)設(shè)備(比如交換機(jī)),也可以是一臺(tái)機(jī)器(比如虛擬化集群中的宿主機(jī))。

  • VNI(VXLANNetworkIdentifier,VXLAN網(wǎng)絡(luò)標(biāo)識(shí)符)

VNI是每個(gè)VXLAN段的標(biāo)識(shí),是個(gè)24位整數(shù),一共有16777216,一般每個(gè)VNI對應(yīng)一個(gè)租戶,也就是說使用VXLAN搭建的公有云可以理論上可以支撐千萬級別的租戶。

  • Tunnel(VXLAN隧道)

隧道是一個(gè)邏輯上的概念,在VXLAN模型中并沒有具體的物理實(shí)體向?qū)?yīng)。隧道可以看做是一種虛擬通道,VXLAN通信雙方認(rèn)為自己是在直接通信,并不知道底層網(wǎng)絡(luò)的存在。從整體來說,每個(gè)VXLAN網(wǎng)絡(luò)像是為通信的虛擬機(jī)搭建了一個(gè)單獨(dú)的通信通道,也就是隧道。


上圖所示為VXLAN的工作模型,它創(chuàng)建在原來的IP網(wǎng)絡(luò)(三層)上,只要是三層可達(dá)(能夠通過IP相互通信)的網(wǎng)絡(luò)就能部署VXLAN。在VXLAN網(wǎng)絡(luò)的每個(gè)端點(diǎn)都有一個(gè)VTEP設(shè)備,負(fù)責(zé)VXLAN協(xié)議報(bào)文的解包和封包,也就是在虛擬報(bào)文上封裝VTEP通信的報(bào)文頭部。

物理網(wǎng)絡(luò)上可以創(chuàng)建多個(gè)VXLAN網(wǎng)絡(luò),可以將這些VXLAN網(wǎng)絡(luò)看成一個(gè)隧道,不同節(jié)點(diǎn)上的虛擬機(jī)/容器能夠通過隧道直連。通過VNI標(biāo)識(shí)不同的VXLAN網(wǎng)絡(luò),使得不同的VXLAN可以相互隔離。

  • VXLANHeader:在原始二層幀的前面增加8字節(jié)的VXLAN的頭部,其中最主要的是VNID,占用3個(gè)字節(jié)(即24bit),類似VLANID,可以具有$2^{24}$個(gè)網(wǎng)段。

  • UDPHeader:在VXLAN和原始二層幀的前面使用8字節(jié)UDP頭部進(jìn)行封裝(MACINUDP),目的端口號缺省使用4789,源端口按流隨機(jī)分配(通過MAC,IP,四層端口號進(jìn)行hash操作),這樣可以更好的做ECMP。

IANA(
InternetAs-signedNumbersAutority)分配了4789作為VXLAN的默認(rèn)目的端口號。

在上面添加的二層封裝之后,再添加底層網(wǎng)絡(luò)的IP頭部(20字節(jié))和MAC頭部(14字節(jié)),這里的IP和MAC是宿主機(jī)的IP地址和MAC地址。

同時(shí),這里需要注意MTU的問題,傳統(tǒng)網(wǎng)絡(luò)MTU一般為1500,這里加上VXLAN的封裝多出的(36+14/18,對于14的情況為access口,省去了4字節(jié)的VLANTag)50或54字節(jié),需要調(diào)整MTU為1550或1554,防止頻繁分包。

VXLAN的Flood與Learn:

總的來說,VXLAN報(bào)文的轉(zhuǎn)發(fā)過程就是:原始報(bào)文經(jīng)過VTEP,被Linux內(nèi)核添加上VXLAN頭部以及外層的UDP頭部,再發(fā)送出去,對端VTEP接收到VXLAN報(bào)文后拆除外層UDP頭部,并根據(jù)VXLAN頭部的VNI把原始報(bào)文發(fā)送到目的服務(wù)器。但這里有一個(gè)問題,第一次通信前雙方如何知道所有的通信信息?這些信息包括:

  • 哪些VTEP需要加到一個(gè)相同的VNI組?

  • 發(fā)送方如何知道對方的MAC地址?

  • 如何知道目的服務(wù)器在哪個(gè)節(jié)點(diǎn)上(即目的VTEP的地址)?

第一個(gè)問題簡單,VTEP通常由網(wǎng)絡(luò)管理員來配置。要回答后面兩個(gè)問題,還得回到VXLAN協(xié)議的報(bào)文上,看看一個(gè)完整的VXLAN報(bào)文需要哪些信息:

  • 內(nèi)層報(bào)文:通信雙方的IP地址已經(jīng)明確,只需要VXLAN填充對方的MAC地址,因此需要一個(gè)機(jī)制來實(shí)現(xiàn)ARP功能。

  • VXLAN頭部:只需要知道VNI。一般直接配置在VTEP上,要么提前規(guī)劃,要么根據(jù)內(nèi)層報(bào)文自動(dòng)生成。

  • UDP頭部:需要知道源端口和目的端口,源端口由系統(tǒng)自動(dòng)生成,目的端口默認(rèn)是4789。

  • IP頭部:需要知道對端VTEP的IP地址,這個(gè)是最關(guān)鍵的部分

實(shí)際上,VTEP也會(huì)有自己的轉(zhuǎn)發(fā)表,轉(zhuǎn)發(fā)表通過泛洪和學(xué)習(xí)機(jī)制來維護(hù),對于目標(biāo)MAC地址在轉(zhuǎn)發(fā)表中不存在的未知單播,廣播流量,都會(huì)被泛洪給除源VTEP外所有的VTEP,目標(biāo)VTEP響應(yīng)數(shù)據(jù)包后,源VTEP會(huì)從數(shù)據(jù)包中學(xué)習(xí)到MAC,VNI和VTEP的映射關(guān)系,并添加到轉(zhuǎn)發(fā)表中,后續(xù)當(dāng)再有數(shù)據(jù)包轉(zhuǎn)發(fā)到這個(gè)MAC地址時(shí),VTEP會(huì)從轉(zhuǎn)發(fā)表中直接獲取到目標(biāo)VTEP地址,從而發(fā)送單播數(shù)據(jù)到目標(biāo)VTEP。


VTEP轉(zhuǎn)發(fā)表的學(xué)習(xí)可以通過以下兩種方式:

    • 多播

    • 外部控制中心(如Flannel、Cilium等CNI插件)

  • MAC頭部:確定了VTEP的IP地址,后面就好辦了,MAC地址可以通過經(jīng)典的ARP方式獲取。

3、Overlay與SDN

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


Overlay網(wǎng)絡(luò)其實(shí)與軟件定義網(wǎng)絡(luò)(Software-definednetworking、SDN)密切相關(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ò)可以通過傳統(tǒng)的自學(xué)習(xí)模式學(xué)習(xí)網(wǎng)絡(luò)中的MAC與ARP表項(xiàng)5,但是在大規(guī)模的集群中,我們?nèi)匀恍枰肟刂破矫娣职l(fā)路由轉(zhuǎn)發(fā)表。

4、總結(jié)

Overlay網(wǎng)絡(luò)只是一種在物理網(wǎng)絡(luò)上的虛擬網(wǎng)絡(luò),使用該技術(shù)并不能直接解決集群中的規(guī)模性等問題,而VxLAN也不是組建Overlay網(wǎng)絡(luò)的唯一方法,在不同場景中我們可以考慮使用不同的技術(shù),例如:NVGRE、GRE、STT等。


】【打印關(guān)閉】 【返回頂部
分享到QQ空間
分享到: 
上一篇移動(dòng)APP之防止https被抓包 下一篇保障服務(wù)器的安全,需要做好這些事

立足首都,輻射全球,防御吧專注云防御及云計(jì)算服務(wù)15年!

聯(lián)系我們

服務(wù)熱線:13051179500 18910191973
企業(yè)QQ:1245940436
技術(shù)支持:010-56159998
E-Mail:xihedata.com
Copyright ? 2003-2016 fangyuba. 防御吧(完美解決防御與加速) 版權(quán)所有 增值許可:京B2-20140042號
售前咨詢
公司總機(jī):18910191973
24小時(shí)電話:010-56159998
投訴電話:18910191973
值班售后/技術(shù)支持
售后服務(wù)/財(cái)務(wù)
備案專員
緊急電話:18610088800