VXLAN概述

VXLAN是一種將二層報(bào)文用三層協(xié)議進(jìn)行封裝的技術(shù),可以對(duì)二層網(wǎng)絡(luò)在三層范圍進(jìn)行擴(kuò)展。每個(gè)覆蓋域被稱(chēng)為VXLAN segment,它的ID是由位于VXLAN數(shù)據(jù)包頭中的VNI標(biāo)識(shí)來(lái)區(qū)分的。VNI字段包含24bits,故segments最大數(shù)量為2的24次方,并且只有在相同的VXLAN segments才能通信。


它是一種在UDP中封裝MAC的簡(jiǎn)單機(jī)制,可以創(chuàng)建跨多個(gè)物理IP子網(wǎng)的虛擬2層子網(wǎng)(也就是在三層子網(wǎng)中跑2層)

其實(shí)EtherIP和GRE也可以實(shí)現(xiàn)在IP中封裝MAC,但是它們都無(wú)法做到VLAN邏輯標(biāo)記

根據(jù)VXLAN的封包模式,也可以將它看作一種隧道模式的網(wǎng)絡(luò)覆蓋技術(shù),這種隧道是無(wú)狀態(tài)的。隧道端點(diǎn)VTEP一般位于擁有虛機(jī)的hypervisor宿主機(jī)中,因此VNI和VXLAN隧道只有VTEP可見(jiàn),對(duì)于虛機(jī)來(lái)說(shuō)是透明的。那么不同的VXLAN segments就可以有相同的MAC地址的虛機(jī)。并且VTEP也可以位于物理交換機(jī)或物理主機(jī)中,甚至可以用軟件來(lái)定義

VTEP之間完全是通過(guò)L3協(xié)議交互的,也就意味著VTEP之間可以由Router相連,而非類(lèi)似于GRE封裝模式的固定端到端隧道連接。

實(shí)例:


VM1要向VM2發(fā)送數(shù)據(jù)前,必須要知道VM2的MAC地址,其獲取過(guò)程如下:

1、VM1發(fā)送ARP請(qǐng)求包,請(qǐng)求192.168.0.101[VM2_IP]的MAC地址;

2、ARP請(qǐng)求包被VTEP1封裝成多播包,發(fā)給VNI=864的多播組;

3、所有的VTEP接收此多播包,并添加(VNI–VTEP1–VM1_MAC?Address)映射關(guān)系到自己的VXLAN表中;

4、目的主機(jī)上的VTEP2接收到多播包后將其解開(kāi),并向本主機(jī)上VNI=864的所有虛擬機(jī)發(fā)送廣播包;

5、VM2看到了ARP包后,回應(yīng)了自己的MAC地址;

6、VTEP2再次封裝回應(yīng)的單播包,通過(guò)路由發(fā)給VTEP1;

7、VTEP1解包,并將包傳給VM1,則最終獲取了VM2的MAC地址;

8、VTEP1將(VNI–VTEP2–VM2_MAC?Address)映射關(guān)系添加到自己的VXLAN表中;


VM1獲知VM2的MAC地址后,發(fā)送數(shù)據(jù)包,過(guò)程如下:

1、??VM1發(fā)送IP數(shù)據(jù)包到VM2,即192.168.0.100?到?192.168.0.101;

2、??VTEP1查找自己的VXLAN表知道要發(fā)給VTEP2,然后依次封裝以下數(shù)據(jù)包頭;

????????????a)VXLAN包頭,VNI=864;

????????????b)標(biāo)準(zhǔn)UDP包頭,校驗(yàn)和checksum為0x0000,目標(biāo)端口號(hào)4789;

????????????c)標(biāo)準(zhǔn)IP包頭,目標(biāo)地址為VTEP2的IP地址,協(xié)議號(hào)設(shè)為0x11表面為UDP包。

????????????d)標(biāo)準(zhǔn)MAC數(shù)據(jù)包,目標(biāo)地址為下一跳設(shè)備的MAC地址00:10:11:FE:D8:D2,可路由到目標(biāo)隧道端VTEP2。

3、??VTEP2接收數(shù)據(jù)包,根據(jù)UDP的destination端口找到VXLAN數(shù)據(jù)包。接著查找所有所在VXLAN的VNI為864的端口組,找到VM2的

4、??VM2接收并處理數(shù)據(jù)包,拿到Payload數(shù)據(jù)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 簡(jiǎn)介 用簡(jiǎn)單的話來(lái)定義tcpdump,就是:dump the traffic on a network,根據(jù)使用者...
    保川閱讀 6,088評(píng)論 1 13
  • 1.這篇文章不是本人原創(chuàng)的,只是個(gè)人為了對(duì)這部分知識(shí)做一個(gè)整理和系統(tǒng)的輸出而編輯成的,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,384評(píng)論 6 174
  • 個(gè)人認(rèn)為,Goodboy1881先生的TCP /IP 協(xié)議詳解學(xué)習(xí)博客系列博客是一部非常精彩的學(xué)習(xí)筆記,這雖然只是...
    貳零壹柒_fc10閱讀 5,210評(píng)論 0 8
  • Teredo 原理概述 http://www.ipv6bbs.cn/thread-144-1-1.html (出處...
    我是葉問(wèn)小盆友閱讀 2,364評(píng)論 0 1
  • “咱們手法不如老師嫻熟,著急就用大腳把鼓踹漏了也行?!?樂(lè)隊(duì)排練過(guò)程中,腳下最大的鼓突然壞了。 這種老舊的架子鼓,...
    溪水音閱讀 540評(píng)論 5 15

友情鏈接更多精彩內(nèi)容