VXLAN技术介绍:三层的网络来搭建虚拟的二层网络

VXLAN概述

1  什么是 VXLAN 

VXLAN(Virtual Extensible LAN)虚拟可扩展局域网,是一种 overlay 网络技术,将原始2层以太网帧进行UDP封装 (MAC-in-UDP),增加8字节 VXLAN头部,8字节 UDP头部, 20字节 IP 头部和14字节以太网头部,共50字节。

2  VXLAN优点

VXLAN与VLAN相比能够提供更好的扩展性和灵活性,主要有以下特点:

应用灵活部署: 通过VXLAN封装后的2层以太网帧可以跨3层网络边界,让组网以及应用部署变得更加灵活,同时解决多租户网络环境中IP地址冲突问题。

更好的扩展性: 传统 VLANID字段为12-bit,VLAN数量最大为4096;VXLAN使用24-bit VNID (VXLAN network identifier),最大支持 16,000,000 逻辑网络。

提高网络利用率: 传统以太网使用 STP预防环路, STP导致网络冗余路径处于阻塞状态, VXLAN报文基于 3层 IP报头传输,能有效利用网络路径,支持 ECMP(equal-cost multipath )和链路聚合协议。

2.1 应用灵活部署


如图 1-1 所示,在 VXLAN环境中应用部署不受物理位置和3层网络边界限制,例如某应用的地址段为 192.168.1.0/24,在传统网络中所有该应用服务器或者虚拟机必须在同一 3层网络内部署,否则会产生路由或者地址冲突问题。

2.2 更好的扩展性


传统网络通过 VLAN将客户网络逻辑隔离, VLAN ID字段为 12-bit ,VLAN数量最大为 4096;VXLAN使用 24-bit VNID ( VXLAN network identifier ),最大支持16,000,000 逻辑网络,扩展性得到极大增强。

2.3 提高网络利用率


传统以太网帧无法穿越三层网络,部署 VXLAN后, VTEP之间数据基于三层寻址,网络互联接口不再是二层接口, 可以将交换机之间互联接口部署为三层模式,消除生成树阻塞端口,提高网络利用率,支持 ECMP(equal-cost multipath )和链路聚合协议。

VXLAN术语

1 VTEP

VXLAN 

Tunnel Endpoint (VTEP)。VXLAN使用VTEP设备对VXLAN报文进行封装与解封装,包括ARP请求报文和正常的VXLAN数据报文,VTEP将原始以太网帧通过VXLAN封装后发送至对端 VTEP设备,对端VTEP接收到 VXLAN报文后解封装然后根据原始 MAC进行转发,VTEP可以是物理交换机、物理服务器或者其他支持 VXLAN的硬件设备或软件来实现。

2 VNI 

Virtual Network ID ( VNI), VNI封装在 VXLAN头部,共 24-bit ,最大支持16,000,000 逻辑网络。

3  VXLAN 网关

VXLAN网关用于连接 VXLAN网络和传统 VLAN网络,VXLAN网关实现 VNI和VLAN ID 之间的映射, VXLAN 网关实际上也是一台 VTEP设备。

4 组播组

VTEP设备要加入相同的组播组,主要用于控制平面地址学习。 


VXLAN封装

VXLAN使用 UDP封装完整的以太网帧 (MAC-in-UDP),共 50 字节的封装报文头。具体的报文格式如下:


1 Inner MAC 

Inner MAC,内层 MAC是原始以太网帧的 MAC地址。

2 VXLAN Header

共 8 个字节,目前使用的是 Flags 中的一个 8bit 的标识位和 24bit 的VNI(Vxlan Network identifier) ,其余部分没有定义,但是在使用的时候必须设置为 0x0000。

3 Outer UDP Header 

共8个字节,IANA分配的标准目的端口使用 4798,但是各厂商可以根据需要进行修改,同时UDP的校验和必须设置成全 0。

4 Outer IP Header 

共20个字节,目的IP地址可以是单播地址,也可以是多播地址。单播情况下,目的IP地址是目的VTEP的 IP地址;当用于VXLAN控制平面时会使用多播地址。

Outer IP: 外层IP地址是经过VTEP封装后的3层IP地址,源IP是本端VTEP设备IP,用于控制平面时目的 IP 可以是多播地址,用于转发平面时目的 IP是远端 VTEP设备 IP。

5 Outer Ethernet Header 

共计14个字节,外层以太网帧头部。Outer MAC,外层 MAC是经过 VTEP封装后的二层 MAC,源 MAC是本端 VTEP设备MAC,目的 MAC可以是远端 VTEP设备MAC或者传输路径中间 3 层网络设备 MAC。


VXLAN数据转发

1 控制平面

在 VXLAN的实现中, 当通过组播实现控制平面路径发现时, VTEP设备之间使用无状态 tunnel ,VTEP设备之间不会维持状态化的长连接。VXLAN需要通过控制平面学习远端设备地址信息, 在本地构建控制平面表项。控制平面表项由 VNI、Inner Source MAC 、Outer Source IP 三元组组成。

2 转发平面

控制平面学习地址映射信息后, 转发平面负责实际数据的转发。VTEP为原始数据帧增加 UDP报头,新的报头到达目的 VTEP后才会被去掉,中间路径的网络设备只会根据外层包头内的目的地址进行数据转发。

3 VXLAN ARP请求


如上图所示,终端设备 A需要和终端设备 B通信, ARP请求过程如下:

1、终端设备 A 发送 ARP请求,请求终端设备 B 的 MAC地址;

2、VTEP-1收到终端设备 A发送的 ARP请求,此时 VTEP-1还没有终端设备 B对应的地址映射表项, VTEP-1将 ARP请求进行 VXLAN封装, VNI 设置为10,outer-src-ip 是 VTEP-1的 IP ,outer-dst-ip 是加入的组播组地址,封装完成后转发至 VXLAN组播组;

3、VTEP-2、VTEP3加入相同的组播组,所有组成员都会收到 VTEP-1发送的组播报文,解封装后检查 VNI 与本地 VNI 是否匹配,如匹配将 ARP请求发送至本地网络,同时记录 VNI、inner MAC、outer IP 的对应关系,构建控制平面地址映射表项。如 VNI 不匹配则丢弃数据包。

4、终端设备 B 收到 ARP请求后以单播方式发送 ARP响应;

5、VTEP-2收到终端设备 B 的 ARP响应后进行 VXLAN封装,此时 VTEP-2已经构建控制平面地址映射表项,通过 VXLAN封装后以单播方式发送。

Outer-src-ip 是 VTEP-2的 IP 地址,outer-dst-ip 是 VTEP-1的 IP 地址;

6、VTEP-1收到封装后的 ARP响应后,解封装比对 VNI,如匹配将 ARP响应发送至终端设备 A,同时记录 VNI、inner MAC、 outer IP 的对应关系,构建控制平面表项;

7、 此时 VTEP-1、VTEP-2均已成功构建控制平面地址映射信息,后续 VXLAN数据使用单播在 VTEP-1和 VTEP-2之间传输。

4 VXLAN 数据传输

1、ARP请求完成后,终端设备 A 向终端设备 B 发送数据, VTEP-1收到数据中查找地址映射表项,将原始数据进行 VXLAN封装后转发至 VTEP-2;

2、VTEP-2收到 VXLAN数据包后检查 VNI 是否与本地 VNI 匹配, 如匹配则解封装后将原始以太网帧转发至终端设备 B。


补充

1、在进行 ARP处理时,为了将广播通过多播进行传输,必须要设置VNI 到多播组的映射,这种映射属于管理层,用于建立VTEP之间的管理通道。未知的目的 MAC(unknown MAC destination )同样会进行组播封装,处理方式和广播相同。

2、VXLAN报文不能进行分片处理,中间的设备可能会将 VXLAN报文分片,但是VTEP会将分片后的报文丢弃,为了确保 VXLAN报文不被分片处理,需要修改沿途所以设备的 MTU。RFC文档没有阐述为什么 VTEP必须丢弃分片后的报文。

3、在封装和解封装时 VLAN TAG信息都会被剥离,除非另有特殊配置。

END

以上,就是今日为你带来的Vxlan理论讲解,希望对你能有所启发,如果你想做一名优秀的网络工程师,也想拥有思科认证!可以私聊,一起交流哦~

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