?《重識(shí)云原生系列》專題索引:?
- 第一章——不謀全局不足以謀一域
- 第二章計(jì)算第1節(jié)——計(jì)算虛擬化技術(shù)總述
- 第三章云存儲(chǔ)第1節(jié)——分布式云存儲(chǔ)總述
- 第四章云網(wǎng)絡(luò)第一節(jié)——云網(wǎng)絡(luò)技術(shù)發(fā)展簡(jiǎn)述
- 第四章云網(wǎng)絡(luò)4.2節(jié)——相關(guān)基礎(chǔ)知識(shí)準(zhǔn)備
- 第四章云網(wǎng)絡(luò)4.3節(jié)——重要網(wǎng)絡(luò)協(xié)議
- 第四章云網(wǎng)絡(luò)4.3.1節(jié)——路由技術(shù)簡(jiǎn)述
- 第四章云網(wǎng)絡(luò)4.3.2節(jié)——VLAN技術(shù)
- 第四章云網(wǎng)絡(luò)4.3.3節(jié)——RIP協(xié)議
- 第四章云網(wǎng)絡(luò)4.3.4節(jié)——OSPF協(xié)議
- 第四章云網(wǎng)絡(luò)4.3.5節(jié)——EIGRP協(xié)議
- 第四章云網(wǎng)絡(luò)4.3.6節(jié)——IS-IS協(xié)議
- 第四章云網(wǎng)絡(luò)4.3.7節(jié)——BGP協(xié)議
- 第四章云網(wǎng)絡(luò)4.3.7.2節(jié)——BGP協(xié)議概述
- 第四章云網(wǎng)絡(luò)4.3.7.3節(jié)——BGP協(xié)議實(shí)現(xiàn)原理
- 第四章云網(wǎng)絡(luò)4.3.7.4節(jié)——高級(jí)特性
- 第四章云網(wǎng)絡(luò)4.3.7.5節(jié)——實(shí)操
- 第四章云網(wǎng)絡(luò)4.3.7.6節(jié)——MP-BGP協(xié)議
- 第四章云網(wǎng)絡(luò)4.3.8節(jié)——策略路由
- 第四章云網(wǎng)絡(luò)4.3.9節(jié)——Graceful Restart(平滑重啟)技術(shù)
- 第四章云網(wǎng)絡(luò)4.3.10節(jié)——VXLAN技術(shù)
- 第四章云網(wǎng)絡(luò)4.3.10.2節(jié)——VXLAN Overlay網(wǎng)絡(luò)方案設(shè)計(jì)
- 第四章云網(wǎng)絡(luò)4.3.10.3節(jié)——VXLAN隧道機(jī)制
- 第四章云網(wǎng)絡(luò)4.3.10.4節(jié)——VXLAN報(bào)文轉(zhuǎn)發(fā)過(guò)程
- 第四章云網(wǎng)絡(luò)4.3.10.5節(jié)——VXlan組網(wǎng)架構(gòu)
- 第四章云網(wǎng)絡(luò)4.3.10.6節(jié)——VXLAN應(yīng)用部署方案
- 第四章云網(wǎng)絡(luò)4.4節(jié)——Spine-Leaf網(wǎng)絡(luò)架構(gòu)
- 第四章云網(wǎng)絡(luò)4.5節(jié)——大二層網(wǎng)絡(luò)
- 第四章云網(wǎng)絡(luò)4.6節(jié)——Underlay 和 Overlay概念
- 第四章云網(wǎng)絡(luò)4.7.1節(jié)——網(wǎng)絡(luò)虛擬化與卸載加速技術(shù)的演進(jìn)簡(jiǎn)述
- 第四章云網(wǎng)絡(luò)4.7.2節(jié)——virtio網(wǎng)絡(luò)半虛擬化簡(jiǎn)介
- 第四章云網(wǎng)絡(luò)4.7.3節(jié)——Vhost-net方案
- 第四章云網(wǎng)絡(luò)4.7.4節(jié)vhost-user方案——virtio的DPDK卸載方案
- 第四章云網(wǎng)絡(luò)4.7.5節(jié)vDPA方案——virtio的半硬件虛擬化實(shí)現(xiàn)
- 第四章云網(wǎng)絡(luò)4.7.6節(jié)——virtio-blk存儲(chǔ)虛擬化方案
- 第四章云網(wǎng)絡(luò)4.7.8節(jié)——SR-IOV方案
- 第四章云網(wǎng)絡(luò)4.7.9節(jié)——NFV
- 第四章云網(wǎng)絡(luò)4.8.1節(jié)——SDN總述
- 第四章云網(wǎng)絡(luò)4.8.2.1節(jié)——OpenFlow概述
- 第四章云網(wǎng)絡(luò)4.8.2.2節(jié)——OpenFlow協(xié)議詳解
- 第四章云網(wǎng)絡(luò)4.8.2.3節(jié)——OpenFlow運(yùn)行機(jī)制
- 第四章云網(wǎng)絡(luò)4.8.3.1節(jié)——Open vSwitch簡(jiǎn)介
- 第四章云網(wǎng)絡(luò)4.8.3.2節(jié)——Open vSwitch工作原理詳解
- 第四章云網(wǎng)絡(luò)4.8.4節(jié)——OpenStack與SDN的集成
- 第四章云網(wǎng)絡(luò)4.8.5節(jié)——OpenDayLight
- 第四章云網(wǎng)絡(luò)4.8.6節(jié)——Dragonflow
2 VXLAN Overlay網(wǎng)絡(luò)設(shè)計(jì)
2.1 Overlay網(wǎng)絡(luò)方案
????????VXLAN 本質(zhì)上是一種重疊封裝技術(shù)遇西,它創(chuàng)建了一個(gè)覆蓋在現(xiàn)有物理網(wǎng)絡(luò)基礎(chǔ)架構(gòu)之上的虛擬網(wǎng)絡(luò)顾孽。使用underlay IP網(wǎng)絡(luò)挚币,并在其上構(gòu)建靈活的二層overlay邏輯網(wǎng)絡(luò)料睛。通過(guò)覆蓋,任何第 2 層連接都可以跨越第 3 層網(wǎng)絡(luò)揩抡。
使用覆蓋網(wǎng)絡(luò)有很多優(yōu)點(diǎn)态鳖。
- 最明顯的是它的分割在孝。
- 覆蓋和底層網(wǎng)絡(luò)是完全獨(dú)立的,因此如果底層網(wǎng)絡(luò)拓?fù)浒l(fā)生變化怠硼,覆蓋網(wǎng)絡(luò)不會(huì)受到影響(設(shè)計(jì)方面)鬼贱。
- 無(wú)需添加、移除或更新網(wǎng)絡(luò)設(shè)備香璃,即可重新設(shè)計(jì)覆蓋網(wǎng)絡(luò)这难。
????????當(dāng)然,影響底層性能或正常運(yùn)行時(shí)間的物理問(wèn)題將反映在覆蓋層上增显。例如雁佳,如果沒(méi)有足夠的設(shè)備來(lái)提供足夠的帶寬,覆蓋也會(huì)受到影響同云。
2.2 葉脊(Underlay)+ VxLAN(Overlay)
????????Overlay VxLAN如何避免受到underlay變化的影響糖权?答案是:使用交換結(jié)構(gòu),稱為 Spine-and-Leaf炸站。
????????在允許底層更改的同時(shí)保證 VxLAN 覆蓋的性能星澳、可擴(kuò)展性、可靠性和靈活性的最佳方法是充分利用交換結(jié)構(gòu)拓?fù)浜狄住=粨Q結(jié)構(gòu)拓?fù)涞淖罴咽纠?Spine-and-Leaf禁偎,它通常用作底層網(wǎng)絡(luò)腿堤。Spine-and-Leaf 是一個(gè)獨(dú)立的架構(gòu),它不是 VxLAN 獨(dú)有的如暖,但通常與 VxLAN 相關(guān)聯(lián)笆檀。通常葉脊是 VxLAN 的底層,VxLAN 是覆蓋盒至。
Spine-and-Leaf 兩層:
- Spine:Spine層交換機(jī)僅用于通過(guò) Leaf 交換機(jī)傳遞流量酗洒,他們不知道 VxLAN。
- Leaf:交換機(jī)的葉層互連主干和端點(diǎn)枷遂,葉層交換機(jī)創(chuàng)建 VxLAN 隧道樱衷、封裝并將 VLAN 映射到 VNI,執(zhí)行 VxLAN 功能的葉子交換機(jī)稱為 VTPE(VxLAN 隧道端點(diǎn))酒唉;
????????所有的葉子交換機(jī)都有一個(gè)鏈接到每個(gè)骨干交換機(jī)矩桂,枝葉和交換機(jī)之間的每條鏈路都通過(guò) IGP 路由協(xié)議(例如 BGP 或 OSPF)通過(guò) IP 地址進(jìn)行路由。這種拓?fù)涫姑總€(gè)目的地只有兩跳的距離痪伦。Leaf-and-switch 也可以使用 ECMP(等價(jià)多路徑)在主干交換機(jī)或鏈路發(fā)生故障時(shí)恢復(fù)或平衡流量負(fù)載侄榴。葉脊結(jié)構(gòu)拓?fù)渑c VxLAN 高度相關(guān),因?yàn)殡S著覆蓋網(wǎng)絡(luò)的擴(kuò)展流妻,支持底層可以物理增長(zhǎng)或減小大小牲蜀,而不會(huì)影響覆蓋的設(shè)計(jì)。在葉脊底層之上添加 VxLAN 可實(shí)現(xiàn)東西向流量模式的 IP 移動(dòng)性绅这、完全可擴(kuò)展性和容錯(cuò)性涣达。
????????隨著您的網(wǎng)絡(luò)擴(kuò)展,您的設(shè)計(jì)不需要改變证薇。您只需要向底層添加更多交換機(jī)度苔、IP 地址和鏈接即可。
2.3 VXLAN協(xié)議封裝
2.3.1 VXLAN協(xié)議格式簡(jiǎn)述
????????到目前為止浑度,我們知道 VxLAN 將第 2 層子網(wǎng)延伸到第 3 層網(wǎng)絡(luò)限制寇窑,它在像 Spine-and-Leaf 這樣的交換結(jié)構(gòu)之上構(gòu)建了一個(gè)邏輯覆蓋網(wǎng)絡(luò)。
????????為了實(shí)現(xiàn)這一點(diǎn)箩张,VxLAN 將第 2 層以太網(wǎng)幀封裝在 VxLAN 數(shù)據(jù)包中甩骏,該數(shù)據(jù)包也封裝在 IP UDP 標(biāo)頭中。下圖顯示了 VxLAN 數(shù)據(jù)包格式先慷。
VXLAN 將以下字段添加到原始第 2 層幀:
- 部 MAC 報(bào)頭:這是包含下一跳傳輸信息的報(bào)頭饮笛,它包括 VxLAN 端點(diǎn)的目標(biāo)和源 MAC 地址、VLAN ID(16 位)和類型论熙,外層 MAC 頭的大小為 14 字節(jié)福青。
- P 標(biāo)頭:此標(biāo)頭允許跨 IP 網(wǎng)絡(luò)傳輸,它包括 VxLAN 端點(diǎn)的目標(biāo)和源 IP 地址,外層 IP 報(bào)頭的大小為 20 字節(jié)无午。
- UDP 標(biāo)頭:此標(biāo)頭將數(shù)據(jù)包標(biāo)識(shí)為 VxLAN媒役,它包含 UDP 源端口、VxLAN 端口和 UDP 長(zhǎng)度宪迟,UDP 報(bào)頭的大小為 8 個(gè)字節(jié)酣衷。
- LAN 標(biāo)頭,此標(biāo)頭也稱為 VxLAN 網(wǎng)絡(luò)標(biāo)識(shí)符 (VNI)踩验。VNID 用于標(biāo)識(shí) VxLAN 網(wǎng)段鸥诽,它類似于 MAC 報(bào)頭上的 VLAN ID 標(biāo)記(16 位)商玫,但大小為 24 位箕憾,最多允許 1600 萬(wàn)個(gè)不同的段。
2.3.2 VXLAN報(bào)文格式詳述
- VXLAN是IETF定義的NVO3(Network Virtualization over Layer3)標(biāo)準(zhǔn)技術(shù)之一拳昌。
- 采用Mac in UDP封裝方式將二層報(bào)文用三層協(xié)議進(jìn)行封裝袭异。
- 支持24bits的VNI ID,滿足數(shù)據(jù)中心大二層VM遷移和多租戶需求炬藤。
VXLAN header(VXLAN頭封裝):
- VXLAN Flags:標(biāo)記位御铃,8比特,取值為00001000沈矿。
- VNI:VXLAN網(wǎng)絡(luò)標(biāo)識(shí)上真,用于區(qū)分VXLAN段,由24比特組成羹膳,支持多達(dá)16M的租戶睡互。一個(gè)租戶可以有一個(gè)或多個(gè)VNI,不同VNI的租戶之間不能直接進(jìn)行二層相互通信陵像。
- Reserved:保留未用就珠,分別由24比特和8比特組成,設(shè)置為0醒颖。
Outer UDP header(外層UDP頭封裝):
- DestPort:目的UDP端口號(hào)妻怎,設(shè)置為4789。
- Source Port:源UDP端口號(hào)泞歉,根據(jù)內(nèi)層以太報(bào)文頭通過(guò)哈希算法計(jì)算后的值逼侦。
Outer IP header(外層IP頭封裝):
- IP SA:源IP地址,VXLAN隧道源端VTEP的IP地址腰耙。
- IP DA:目的IP地址榛丢,VXLAN隧道目的端VTEP的IP地址。
Outer Ethernet header(外層Ethernet頭封裝沟优,Outer MAC Header):
- MAC DA:目的MAC地址涕滋,為到達(dá)目的VTEP的路徑上,下一跳設(shè)備的MAC地址挠阁。
- MAC SA:源MAC地址宾肺,發(fā)送報(bào)文的源端VTEP的MAC地址溯饵。
- 802.1Q Tag:可選字段,該字段為報(bào)文中攜帶的VLAN Tag锨用。
- Ethernet Type:以太報(bào)文類型丰刊,IP協(xié)議報(bào)文中該字段取值為0x0800。
2.3.3 VXLAN報(bào)文封裝過(guò)程????????
????????VXLAN首部由8個(gè)字節(jié)組成增拥,第1個(gè)字節(jié)為標(biāo)志位啄巧,其中標(biāo)志位I設(shè)為1表示是一個(gè)合法的VXLAN首部,其余標(biāo)志則保留掌栅,在傳輸過(guò)程中必須置為0秩仆;第2-4字節(jié)為保留部分,第5-7字節(jié)為VXLAN標(biāo)識(shí)符猾封,用來(lái)表示唯一的一個(gè)邏輯網(wǎng)絡(luò)澄耍;第8個(gè)字節(jié)同樣為保留字段,暫未使用晌缘。
????????VXLAN傳輸過(guò)程中齐莲,將邏輯鏈路網(wǎng)絡(luò)的數(shù)據(jù)幀添加VXLAN首部后,依次添加UDP首部磷箕,IP首部选酗,以太網(wǎng)幀首部后,在物理網(wǎng)絡(luò)中傳輸岳枷,數(shù)據(jù)幀的封裝格式可以用下圖來(lái)描述:
圖:VXLAN數(shù)據(jù)封裝過(guò)程
參考鏈接
什么是 VxLAN 芒填?它的優(yōu)點(diǎn)有哪些? - 知乎
關(guān)于VLAN和VXLAN的理解_octopusflying的博客-CSDN博客_vlan vxlan
VXlan 技術(shù)實(shí)現(xiàn)原理_輕飄風(fēng)揚(yáng)的博客-CSDN博客_vxlan原理