【重识云原生】第四章云网络4.3.10.2节——VXLAN Overlay网络方案设计

 《重识云原生系列》专题索引: 

  1. 第一章——不谋全局不足以谋一域
  2. 第二章计算第1节——计算虚拟化技术总述
  3. 第三章云存储第1节——分布式云存储总述
  4. 第四章云网络第一节——云网络技术发展简述
  5. 第四章云网络4.2节——相关基础知识准备
  6. 第四章云网络4.3节——重要网络协议
  7. 第四章云网络4.3.1节——路由技术简述
  8. 第四章云网络4.3.2节——VLAN技术
  9. 第四章云网络4.3.3节——RIP协议
  10. 第四章云网络4.3.4节——OSPF协议
  11. 第四章云网络4.3.5节——EIGRP协议
  12. 第四章云网络4.3.6节——IS-IS协议
  13. 第四章云网络4.3.7节——BGP协议
  14. 第四章云网络4.3.7.2节——BGP协议概述
  15. 第四章云网络4.3.7.3节——BGP协议实现原理
  16. 第四章云网络4.3.7.4节——高级特性
  17. 第四章云网络4.3.7.5节——实操
  18. 第四章云网络4.3.7.6节——MP-BGP协议
  19. 第四章云网络4.3.8节——策略路由
  20. 第四章云网络4.3.9节——Graceful Restart(平滑重启)技术
  21. 第四章云网络4.3.10节——VXLAN技术
  22. 第四章云网络4.3.10.2节——VXLAN Overlay网络方案设计
  23. 第四章云网络4.3.10.3节——VXLAN隧道机制
  24. 第四章云网络4.3.10.4节——VXLAN报文转发过程
  25. 第四章云网络4.3.10.5节——VXlan组网架构
  26. 第四章云网络4.3.10.6节——VXLAN应用部署方案
  27. 第四章云网络4.4节——Spine-Leaf网络架构
  28. 第四章云网络4.5节——大二层网络
  29. 第四章云网络4.6节——Underlay 和 Overlay概念
  30. 第四章云网络4.7.1节——网络虚拟化与卸载加速技术的演进简述
  31. 第四章云网络4.7.2节——virtio网络半虚拟化简介
  32. 第四章云网络4.7.3节——Vhost-net方案
  33. 第四章云网络4.7.4节vhost-user方案——virtio的DPDK卸载方案
  34. 第四章云网络4.7.5节vDPA方案——virtio的半硬件虚拟化实现
  35. 第四章云网络4.7.6节——virtio-blk存储虚拟化方案
  36. 第四章云网络4.7.8节——SR-IOV方案
  37. 第四章云网络4.7.9节——NFV
  38. 第四章云网络4.8.1节——SDN总述
  39. 第四章云网络4.8.2.1节——OpenFlow概述
  40. 第四章云网络4.8.2.2节——OpenFlow协议详解
  41. 第四章云网络4.8.2.3节——OpenFlow运行机制
  42. 第四章云网络4.8.3.1节——Open vSwitch简介
  43. 第四章云网络4.8.3.2节——Open vSwitch工作原理详解
  44. 第四章云网络4.8.4节——OpenStack与SDN的集成
  45. 第四章云网络4.8.5节——OpenDayLight
  46. 第四章云网络4.8.6节——Dragonflow

2 VXLAN Overlay网络设计

2.1 Overlay网络方案

        VXLAN 本质上是一种重叠封装技术,它创建了一个覆盖在现有物理网络基础架构之上的虚拟网络。使用underlay IP网络,并在其上构建灵活的二层overlay逻辑网络。通过覆盖,任何第 2 层连接都可以跨越第 3 层网络。

使用覆盖网络有很多优点。

  • 最明显的是它的分割。
  • 覆盖和底层网络是完全独立的,因此如果底层网络拓扑发生变化,覆盖网络不会受到影响(设计方面)。
  • 无需添加、移除或更新网络设备,即可重新设计覆盖网络。

        当然,影响底层性能或正常运行时间的物理问题将反映在覆盖层上。例如,如果没有足够的设备来提供足够的带宽,覆盖也会受到影响。

2.2 叶脊(Underlay)+ VxLAN(Overlay)

        Overlay VxLAN如何避免受到underlay变化的影响?答案是:使用交换结构,称为 Spine-and-Leaf。

        在允许底层更改的同时保证 VxLAN 覆盖的性能、可扩展性、可靠性和灵活性的最佳方法是充分利用交换结构拓扑。交换结构拓扑的最佳示例是 Spine-and-Leaf,它通常用作底层网络。Spine-and-Leaf 是一个独立的架构,它不是 VxLAN 独有的,但通常与 VxLAN 相关联。通常叶脊是 VxLAN 的底层,VxLAN 是覆盖。

Spine-and-Leaf 两层:

  • Spine:Spine层交换机仅用于通过 Leaf 交换机传递流量,他们不知道 VxLAN。
  • Leaf:交换机的叶层互连主干和端点,叶层交换机创建 VxLAN 隧道、封装并将 VLAN 映射到 VNI,执行 VxLAN 功能的叶子交换机称为 VTPE(VxLAN 隧道端点);

        所有的叶子交换机都有一个链接到每个骨干交换机,枝叶和交换机之间的每条链路都通过 IGP 路由协议(例如 BGP 或 OSPF)通过 IP 地址进行路由。这种拓扑使每个目的地只有两跳的距离。Leaf-and-switch 也可以使用 ECMP(等价多路径)在主干交换机或链路发生故障时恢复或平衡流量负载。叶脊结构拓扑与 VxLAN 高度相关,因为随着覆盖网络的扩展,支持底层可以物理增长或减小大小,而不会影响覆盖的设计。在叶脊底层之上添加 VxLAN 可实现东西向流量模式的 IP 移动性、完全可扩展性和容错性。

        随着您的网络扩展,您的设计不需要改变。您只需要向底层添加更多交换机、IP 地址和链接即可。

2.3 VXLAN协议封装

2.3.1 VXLAN协议格式简述

        到目前为止,我们知道 VxLAN 将第 2 层子网延伸到第 3 层网络限制,它在像 Spine-and-Leaf 这样的交换结构之上构建了一个逻辑覆盖网络。

        为了实现这一点,VxLAN 将第 2 层以太网帧封装在 VxLAN 数据包中,该数据包也封装在 IP UDP 标头中。下图显示了 VxLAN 数据包格式。

VXLAN 将以下字段添加到原始第 2 层帧:

  • 部 MAC 报头:这是包含下一跳传输信息的报头,它包括 VxLAN 端点的目标和源 MAC 地址、VLAN ID(16 位)和类型,外层 MAC 头的大小为 14 字节。
  • P 标头:此标头允许跨 IP 网络传输,它包括 VxLAN 端点的目标和源 IP 地址,外层 IP 报头的大小为 20 字节。
  • UDP 标头:此标头将数据包标识为 VxLAN,它包含 UDP 源端口、VxLAN 端口和 UDP 长度,UDP 报头的大小为 8 个字节。
  • LAN 标头,此标头也称为 VxLAN 网络标识符 (VNI)。VNID 用于标识 VxLAN 网段,它类似于 MAC 报头上的 VLAN ID 标记(16 位),但大小为 24 位,最多允许 1600 万个不同的段。

2.3.2 VXLAN报文格式详述

  1. VXLAN是IETF定义的NVO3(Network Virtualization over Layer3)标准技术之一。
  2. 采用Mac in UDP封装方式将二层报文用三层协议进行封装。
  3. 支持24bits的VNI ID,满足数据中心大二层VM迁移和多租户需求。

VXLAN header(VXLAN头封装):

  • VXLAN Flags:标记位,8比特,取值为00001000。
  • VNI:VXLAN网络标识,用于区分VXLAN段,由24比特组成,支持多达16M的租户。一个租户可以有一个或多个VNI,不同VNI的租户之间不能直接进行二层相互通信。
  • Reserved:保留未用,分别由24比特和8比特组成,设置为0。

Outer UDP header(外层UDP头封装):

  • DestPort:目的UDP端口号,设置为4789。
  • Source Port:源UDP端口号,根据内层以太报文头通过哈希算法计算后的值。

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地址,为到达目的VTEP的路径上,下一跳设备的MAC地址。
  • MAC SA:源MAC地址,发送报文的源端VTEP的MAC地址。
  • 802.1Q Tag:可选字段,该字段为报文中携带的VLAN Tag。
  • Ethernet Type:以太报文类型,IP协议报文中该字段取值为0x0800。

2.3.3 VXLAN报文封装过程        

        VXLAN首部由8个字节组成,第1个字节为标志位,其中标志位I设为1表示是一个合法的VXLAN首部,其余标志则保留,在传输过程中必须置为0;第2-4字节为保留部分,第5-7字节为VXLAN标识符,用来表示唯一的一个逻辑网络;第8个字节同样为保留字段,暂未使用。

        VXLAN传输过程中,将逻辑链路网络的数据帧添加VXLAN首部后,依次添加UDP首部,IP首部,以太网帧首部后,在物理网络中传输,数据帧的封装格式可以用下图来描述:

图:VXLAN数据封装过程

参考链接

解读VXLAN_佳的技术博客_51CTO博客

什么是 VxLAN ?它的优点有哪些? - 知乎

深度:什么是VxLAN?

关于VLAN和VXLAN的理解_octopusflying的博客-CSDN博客_vlan vxlan

VXlan 技术实现原理_轻飘风扬的博客-CSDN博客_vxlan原理

最好的vxlan介绍

VXLAN:云时代的虚拟化数据中心网络

本文由[mdnice](https://mdnice.com/?platform=6)多平台发布
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,013评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,205评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,370评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,168评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,153评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,954评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,271评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,916评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,382评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,877评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,989评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,624评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,209评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,199评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,418评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,401评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,700评论 2 345

推荐阅读更多精彩内容