VXLAN網(wǎng)關(guān)-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元前鋒做網(wǎng)站,已為上家服務(wù),為前鋒各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

首先,補(bǔ)充一下現(xiàn)在流行的OverLay技術(shù):

  • VXLANVXLAN是將以太網(wǎng)報(bào)文封裝成UDP報(bào)文進(jìn)行隧道傳輸,UDP目的端口為4798(可修改),標(biāo)準(zhǔn)5元組方式有利于在IP網(wǎng)絡(luò)轉(zhuǎn)發(fā)過程中進(jìn)行負(fù)載分擔(dān);隔離標(biāo)識(shí)VNI采用24比特來表示;所有的流量均被封裝為payload轉(zhuǎn)發(fā)。
  • NVGRENVGRE采用的是RFC 2784和RFC 2890所定義的GRE隧道協(xié)議。將以太網(wǎng)報(bào)文封裝在GRE內(nèi)進(jìn)行隧道傳輸。隔離標(biāo)識(shí)采用24比特來表示;與VXLAN的主要區(qū)別在對(duì)流量的負(fù)載分擔(dān)上,因?yàn)槭褂昧薌RE隧道封裝,NVGRE使用了GRE擴(kuò)展字段flow ID進(jìn)行流量負(fù)載分擔(dān),這就要求物理網(wǎng)絡(luò)能夠識(shí)別GRE隧道的擴(kuò)展信息。
  • STTSTT是無狀態(tài)傳輸協(xié)議,通過將以太網(wǎng)報(bào)文封裝成TCP報(bào)文進(jìn)行隧道傳輸,隔離標(biāo)識(shí)采用64比特來表示。與VXLAN和NVGRE的主要區(qū)別是在隧道封裝格式使用了無狀態(tài)TCP,需要對(duì)傳統(tǒng)TCP協(xié)議進(jìn)行修改以適應(yīng)NVGRE的傳輸。

//感覺大同小異,基本新技術(shù)的產(chǎn)生最多的也是從舊協(xié)議中添加擴(kuò)展來支持新功能。

言歸正傳,VXLAN的網(wǎng)關(guān):

為什么需要VXLAN網(wǎng)關(guān)?

因?yàn)閂XLAN的VTEP之間發(fā)現(xiàn)技術(shù)導(dǎo)致的,畢竟組播是不能適用于如今這么大規(guī)模的IDC設(shè)備的。

另外一部分原因是VXLAN的通信需求,即——同VNI VM之間的通信;不同VNI VM之間的通信;VM和外部服務(wù)器的通信

無論如何,VXLAN兩種數(shù)據(jù)包是不變的:

1. BUM(broadcast&unknown-unicast&multicast)包,就是新連接,需要尋找對(duì)應(yīng)的VTEP

2. 在已知VTEP和對(duì)端的MAC地址的時(shí)候,發(fā)送單播包

VXLAN網(wǎng)關(guān)的幾種分類:

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

1. 二層VXLAN網(wǎng)關(guān)

就是普通的同VNI內(nèi)的VM相互通信(同一個(gè)組播組互相查找)

2. 三層VXLAN網(wǎng)關(guān)

a.不同VNI之間的互訪(同時(shí)有兩個(gè)VNI的組播組,作為中間人)

b.VM和外網(wǎng)server之間的互訪(需要添加三層路由)

VXLAN網(wǎng)關(guān)的組網(wǎng)(集中式和分布式):

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

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

以地址為10.1.1.11的虛擬機(jī)為例,虛擬機(jī)與外界網(wǎng)絡(luò)進(jìn)行三層通信的過程為:

(1)虛擬機(jī)(10.1.1.11)跨網(wǎng)段進(jìn)行三層通信時(shí),先廣播發(fā)送ARP請(qǐng)求消息,解析VXLAN IP網(wǎng)關(guān)(10.1.1.1)的MAC地址。//不管怎么樣VM的包第一個(gè)給接入VTEP

(2)VTEP 1收到ARP請(qǐng)求消息后,添加VXLAN封裝并發(fā)送給所有的遠(yuǎn)端VTEP。//其實(shí),不在已經(jīng)學(xué)習(xí)到的流表中的請(qǐng)求,都需要提交VXLAN網(wǎng)關(guān)

(3)VTEP 3解封裝VXLAN報(bào)文后,發(fā)現(xiàn)ARP請(qǐng)求的目的IP為VXLAN對(duì)應(yīng)的本地網(wǎng)關(guān)IP地址,即與VXLAN關(guān)聯(lián)的VSI虛接口的IP地址,則學(xué)習(xí)10.1.1.11的ARP信息,并向虛擬機(jī)回應(yīng)ARP應(yīng)答消息。//這個(gè)時(shí)候它沒有說明白,用的是哪個(gè)MAC回給VTEP1和VM

(4)VTEP 1收到ARP應(yīng)答消息后,將該消息轉(zhuǎn)發(fā)給虛擬機(jī)。

(5)虛擬機(jī)獲取到網(wǎng)關(guān)的MAC地址后,為三層報(bào)文添加網(wǎng)關(guān)的MAC地址,通過VXLAN網(wǎng)絡(luò)將二層數(shù)據(jù)幀發(fā)送給VTEP 3。//VTEP在第三步返回的應(yīng)該是自己的MAC(????懷疑??求證20180430,已經(jīng)確認(rèn)。)

(6)VTEP 3解封裝VXLAN報(bào)文,并去掉鏈路層頭后,對(duì)內(nèi)層封裝的IP報(bào)文進(jìn)行三層轉(zhuǎn)發(fā),將其發(fā)送給最終的目的節(jié)點(diǎn)。

(7)目的節(jié)點(diǎn)回復(fù)的報(bào)文到達(dá)網(wǎng)關(guān)后,網(wǎng)關(guān)根據(jù)已經(jīng)學(xué)習(xí)到的ARP表項(xiàng),為報(bào)文封裝鏈路層頭,并通過VXLAN網(wǎng)絡(luò)將其發(fā)送給虛擬機(jī)。

屬于不同VXLAN網(wǎng)絡(luò)的虛擬機(jī)之間的通信過程與上述過程類似,不同之處在于一個(gè)VXLAN網(wǎng)絡(luò)的集中式網(wǎng)關(guān)需要將報(bào)文轉(zhuǎn)發(fā)給另一個(gè)VXLAN網(wǎng)絡(luò)的集中式網(wǎng)關(guān),再由該集中式網(wǎng)關(guān)將報(bào)文轉(zhuǎn)發(fā)給本VXLAN內(nèi)對(duì)應(yīng)的虛擬機(jī)。

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

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

為什么要分布式VXLAN網(wǎng)關(guān):

采用集中式VXLANIP網(wǎng)關(guān)方案時(shí),不同VXLAN之間的流量以及VXLAN訪問外界網(wǎng)絡(luò)的流量全部由集中式VXLAN IP網(wǎng)關(guān)處理,網(wǎng)關(guān)壓力較大,并加劇了網(wǎng)絡(luò)帶寬資源的消耗。而在分布式VXLAN IP網(wǎng)關(guān)方案中,每臺(tái)VTEP設(shè)備都可以作為VXLAN IP網(wǎng)關(guān),對(duì)本地站點(diǎn)的流量進(jìn)行三層轉(zhuǎn)發(fā),很好地緩解了網(wǎng)關(guān)的壓力。

在分布式VXLAN IP網(wǎng)關(guān)組網(wǎng)中,所有的分布式VXLAN IP網(wǎng)關(guān)(GW)上都需要?jiǎng)?chuàng)建VSI虛接口,并為不同GW上的相同VSI虛接口配置相同的IP地址,作為VXLAN內(nèi)虛擬機(jī)的網(wǎng)關(guān)地址。在分布式VXLAN IP網(wǎng)關(guān)上還需要開啟本地代理ARP功能。邊界網(wǎng)關(guān)(Border)上也需要?jiǎng)?chuàng)建VSI虛接口,并配置IP地址(和GW上不同)。

采用分布式VXLANIP網(wǎng)關(guān)組網(wǎng)方案時(shí),三層流量通過查找ARP表項(xiàng)進(jìn)行三層轉(zhuǎn)發(fā)。ARP表項(xiàng)可以根據(jù)ARP協(xié)議動(dòng)態(tài)學(xué)習(xí)。

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

1.相同VXLAN內(nèi)不同站點(diǎn)的虛擬機(jī)通信過程

以VM 1訪問VM 4為例,相同VXLAN內(nèi)不同站點(diǎn)的虛擬機(jī)的通信過程為:

(1)VM 1廣播發(fā)送ARP請(qǐng)求消息,希望獲取VM 4的MAC地址。這個(gè)包被GW1收到。

(2)GW 1收到ARP請(qǐng)求消息后,學(xué)習(xí)VM 1的ARP信息,并代理應(yīng)答該ARP請(qǐng)求,即:向VM 1發(fā)送ARP應(yīng)答消息,應(yīng)答的MAC地址為VSI虛接口10的MAC地址。

(3)VM 1學(xué)習(xí)到VM 4的MAC地址為GW 1上VSI虛接口10的MAC地址。

(4)GW 1將接收到的ARP請(qǐng)求消息中的源MAC地址修改為VSI虛接口10的MAC地址,對(duì)該消息進(jìn)行VXLAN封裝后,將其發(fā)送給VXLAN內(nèi)的所有遠(yuǎn)端VTEP。//1.組播 2.不改ARP內(nèi)容,還是詢問VM4

(5)GW 2對(duì)VXLAN報(bào)文進(jìn)行解封裝后,學(xué)習(xí)VM 1的ARP信息(IP為10.1.1.11、MAC為GW 1上VSI虛接口10的MAC、出接口為接收該VXLAN報(bào)文的Tunnel接口),并將ARP請(qǐng)求消息中的源MAC修改為本地VSI虛接口10的MAC地址,在VXLAN 10的本地站點(diǎn)內(nèi)進(jìn)行廣播。//同樣是代理ARP

(6)VM 4收到ARP請(qǐng)求后,學(xué)習(xí)VM 1的ARP信息(IP為10.1.1.11、MAC為GW 2上VSI虛接口10的MAC),并發(fā)送ARP應(yīng)答消息給本地網(wǎng)關(guān)GW 2。

(7)GW 2從VM 4收到ARP應(yīng)答消息后,學(xué)習(xí)VM 4的ARP信息,將ARP應(yīng)答消息中的源MAC修改為本地VSI虛接口10的MAC地址,并根據(jù)已經(jīng)學(xué)習(xí)到的ARP表項(xiàng),為ARP應(yīng)答消息添加VXLAN封裝后發(fā)送給GW 1。

(8)GW 1對(duì)VXLAN報(bào)文進(jìn)行解封裝后,根據(jù)收到的ARP應(yīng)答消息學(xué)習(xí)VM 4的ARP信息(IP為10.1.1.12、MAC為GW 2上VSI虛接口10的MAC、出接口為接收該VXLAN報(bào)文的Tunnel接口)。

(9)通過上述步驟完成ARP信息的學(xué)習(xí)后,VM 1發(fā)送給VM 4的報(bào)文,根據(jù)已經(jīng)學(xué)習(xí)到的ARP信息進(jìn)行轉(zhuǎn)發(fā):首先發(fā)送給GW 1;GW 1對(duì)其進(jìn)行VXLAN封裝后,將其發(fā)送給GW 2;GW 2解封裝后,將其發(fā)送給VM 4。

//可以看到的是除了代理ARP代答,并沒有用到VSI口的IP,僅僅是用的MAC。所以相同的VSI IP也是可行的。

2.不同VXLAN間不同站點(diǎn)的虛擬機(jī)通信過程

以VM 1訪問VM 5為例,不同VXLAN的虛擬機(jī)的通信過程為:

(1)VM 1廣播發(fā)送ARP請(qǐng)求消息,獲取網(wǎng)關(guān)10.1.1.1的MAC地址。

(2)GW 1收到ARP請(qǐng)求消息后,學(xué)習(xí)VM 1的ARP信息,并向VM 1發(fā)送ARP應(yīng)答消息,應(yīng)答的MAC地址為VSI虛接口10的MAC地址。//ARP代理

(3)VM 1將訪問VM 5的報(bào)文發(fā)送給GW 1。

(4)GW 1在所有VXLAN內(nèi)向本地站點(diǎn)和遠(yuǎn)端站點(diǎn)廣播發(fā)送ARP請(qǐng)求,獲取VM 5的MAC地址。ARP請(qǐng)求消息中的源IP地址為20.1.1.1、源MAC地址為本地VSI虛接口20的MAC地址。//GW1直接拿VNI20的IP做ARP,說明在這里它已經(jīng)知道VM5屬于VNI20

(5)GW 2從VXLAN隧道上接收到VXLAN報(bào)文,對(duì)其進(jìn)行解封裝后,學(xué)習(xí)GW 1的ARP信息(IP為20.1.1.1、MAC為GW 1上VSI虛接口20的MAC、出接口為接收該VXLAN報(bào)文的Tunnel接口),并將ARP請(qǐng)求消息中的源MAC修改為本地VSI虛接口20的MAC地址,在VXLAN 20的本地站點(diǎn)內(nèi)廣播該ARP請(qǐng)求消息。//注意:GW2改了MAC,但是沒有改IP!??!因?yàn)镮P是一樣的!

(6)VM 5收到ARP請(qǐng)求后,學(xué)習(xí)GW 2的ARP信息(IP為20.1.1.1、MAC為GW 2上VSI虛接口20的MAC),并發(fā)送ARP應(yīng)答消息給本地網(wǎng)關(guān)GW 2。

(7)GW 2從VM 5收到ARP應(yīng)答消息后,學(xué)習(xí)VM 5的ARP信息,將ARP應(yīng)答消息中的源MAC修改為本地VSI虛接口20的MAC地址,并根據(jù)已經(jīng)學(xué)習(xí)到的ARP表項(xiàng),為ARP應(yīng)答消息添加VXLAN封裝后發(fā)送給GW 1。

(8)GW 1對(duì)VXLAN報(bào)文進(jìn)行解封裝后,根據(jù)收到的ARP應(yīng)答消息學(xué)習(xí)VM 5的ARP信息(IP為20.1.1.12、MAC為GW 2上VSI虛接口20的MAC、出接口為接收該VXLAN報(bào)文的Tunnel接口)。

(9)通過上述步驟完成ARP信息的學(xué)習(xí)后,VM 1發(fā)送給VM 5的報(bào)文,根據(jù)已經(jīng)學(xué)習(xí)到的ARP信息進(jìn)行轉(zhuǎn)發(fā):首先發(fā)送給GW 1;GW 1對(duì)其進(jìn)行VXLAN封裝后,將其發(fā)送給GW 2;GW 2解封裝后,將其發(fā)送給VM 5。

疑問:未解決//20180503

//在GW1和GW2的交互過程中,他們都用到了VNI20的IP20.1.1.1,要注意的是他們發(fā)的是ARP包,雖然目的IP不一樣,但是源IP是一樣的,GW2收到了來自自己IP的,不同MAC的ARP請(qǐng)求包,還能正常處理,這是必須要這么做還是另有原因?

虛擬機(jī)與外部網(wǎng)絡(luò)的三層通信過程

虛擬機(jī)要想與外部網(wǎng)絡(luò)進(jìn)行三層通信,需要在接入虛擬機(jī)的本地分布式VXLAN IP網(wǎng)關(guān)上指定流量的下一跳為Border,可以通過如下方式來實(shí)現(xiàn):

·在本地分布式VXLAN IP網(wǎng)關(guān)上配置靜態(tài)路由,指定路由下一跳為Border上同一個(gè)VXLAN對(duì)應(yīng)VSI虛接口的IP地址。

·在本地分布式VXLAN IP網(wǎng)關(guān)上配置策略路由,通過apply default-next-hop命令設(shè)置報(bào)文的缺省下一跳為Border上同一個(gè)VXLAN對(duì)應(yīng)VSI虛接口的IP地址。

以VM 1訪問外部網(wǎng)絡(luò)內(nèi)的主機(jī)50.1.1.1為例,虛擬機(jī)訪問外部網(wǎng)絡(luò)的三層通信過程為:

(1)VM 1廣播發(fā)送ARP請(qǐng)求消息,獲取網(wǎng)關(guān)10.1.1.1的MAC地址。

(2)GW 1收到ARP請(qǐng)求消息后,學(xué)習(xí)VM 1的ARP信息,并向VM 1發(fā)送ARP應(yīng)答消息,應(yīng)答的MAC地址為VSI虛接口10的MAC地址。//ARP代理

(3)VM 1將訪問外部網(wǎng)絡(luò)的報(bào)文發(fā)送給GW 1。

(4)GW 1接收到報(bào)文后,根據(jù)策略路由判斷報(bào)文的下一跳地址為10.1.1.2。GW 1在VXLAN 10內(nèi)向本地站點(diǎn)和遠(yuǎn)端站點(diǎn)廣播發(fā)送ARP請(qǐng)求消息,獲取10.1.1.2對(duì)應(yīng)的MAC地址。//也就是說,GW1已經(jīng)知道了這個(gè)目的地址是在外網(wǎng)

(5)Border對(duì)VXLAN報(bào)文進(jìn)行解封裝,學(xué)習(xí)GW 1的ARP信息,并通過VXLAN隧道回復(fù)ARP應(yīng)答消息。//答復(fù)的是10.1.1.2的MAC地址

(6)GW 1對(duì)VXLAN報(bào)文進(jìn)行解封裝,并獲取到10.1.1.2的ARP信息。

(7)GW 1根據(jù)獲取到的信息為VM 1發(fā)送的報(bào)文封裝鏈路層地址(10.1.1.2對(duì)應(yīng)的MAC地址),并通過VXLAN隧道將報(bào)文發(fā)送給Border。

(8)Border對(duì)接收到的報(bào)文進(jìn)行解封裝后,對(duì)報(bào)文進(jìn)行三層轉(zhuǎn)發(fā)。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

新聞標(biāo)題:VXLAN網(wǎng)關(guān)-創(chuàng)新互聯(lián)
當(dāng)前地址:http://muchs.cn/article28/cdcscp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、自適應(yīng)網(wǎng)站網(wǎng)站收錄、外貿(mào)網(wǎng)站建設(shè)靜態(tài)網(wǎng)站、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站