没有合适的资源?快使用搜索试试~ 我知道了~
首页vxlan介绍.docx
vxlan介绍.docx
需积分: 9 154 浏览量
更新于2023-03-16
评论
收藏 3.05MB DOCX 举报
这是对互联网上对vxlan协议的介绍的总结,包括了vxlan背景介绍、vxlan转发机制和vxlan部署。
资源详情
资源评论
资源推荐

vxlan 介绍
1 背景
1.1 云计算成为企业 IT 建设新形态
任何技术的产生,都有其特定的时代背景与实际需求,VXLAN 正是为了解决云计算时代
虚拟化中的一系列问题而产生的一项技术。
云计算,凭借其在系统利用率高、人力/管理成本低、灵活性/可扩展性强等方面表现出的
优势,已经成为目前企业 IT 建设的新形态;而在云计算中,大量的采用和部署虚拟化是一
个基本的技术模式。
服务器虚拟化技术的广泛部署,极大地增加了数据中心的计算密度;同时,为了实现业务
的灵活变更,虚拟机 VM(Virtual Machine)需要能够在网络中不受限迁移(如图 1-1
所示)。实际上,对于数据中心而言,虚拟机迁移已经成为了一个常态性业务。
图 1-1
1.2 传统数据中心网络面临的挑战
虚拟机数量的快速增长与虚拟机迁移业务的日趋频繁,给传统的“二层+三层”数据中心网络
带来了新的挑战:
虚拟机规模受网络设备表项规格的限制
对于同网段主机的通信而言,报文通过查询 MAC 表进行二层转发。服务器虚拟化后,数
据中心中 VM 的数量比原有的物理机发生了数量级的增长,伴随而来的便是虚拟机网卡
MAC 地址数量的空前增加。此时,处于接入侧的二层设备表示“我要 Hold 不住了”!
一般而言,接入侧二层设备的规格较小,MAC 地址表项规模已经无法满足快速增长的 VM 数量。
传统网络的隔离能力有限

VLAN 作为当前主流的网络隔离技术,在标准定义中只有 12 比特,也就是说可用的 VLAN
数量只有 4000 个左右。对于公有云或其它大型虚拟化云计算服务这种动辄上万甚至更多
租户的场景而言,VLAN 的隔离能力显然已经力不从心。
虚拟机迁移范围受限
虚拟机迁移,顾名思义,就是将虚拟机从一个物理机迁移到另一个物理机,但是要求在迁
移过程中业务不能中断。要做到这一点,需要保证虚拟机迁移前后,其 IP 地址、MAC 地
址等参数维持不变。这就决定了,虚拟机迁移必须发生在一个二层域中。而传统数据中心
网络的二层域,将虚拟机迁移限制在了一个较小的局部范围内。
值得一提的是,通过堆叠、SVF、TRILL 等技术构建物理上的大二层网络,可以将虚拟机
迁移的范围扩大。但是,构建物理上的大二层,难免需要对原来的网络做大的改动,并且
大二层网络的范围依然会受到种种条件的限制。
2 VXLAN 粉墨登场
传统数据中心网络的种种限制,推动了新技术的产生。于是,在 VMware、Cisco 等全球
知名厂商的共同推动下,VXLAN 粉墨登场。
2.1 VXLAN 是什么
VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网),是由 IETF 定
义的 NVO3(Network Virtualization over Layer 3)标准技术之一,采用 L2 over
L4(MAC-in-UDP)的报文封装模式,将二层报文用三层协议进行封装,可实现二层网络
在三层范围内进行扩展,同时满足数据中心大二层虚拟迁移和多租户的需求。
NVO3 是基于三层 IP overlay 网络构建虚拟网络的技术的统称,VXLAN 只是 NVO3 技术之一。除此之
外,比较有代表性的还有 NVGRE、STT。
在回答 VXLAN 如何解决前面提到的问题之前,先让我们来了解下 VXLAN 的网络模型。
2.2 VXLAN 网络模型
图 2-1 VXLAN 网络模型
从上图中可以发现,VXLAN 网络中出现了以下传统数据中心网络中没有的新元素:

VTEP(VXLAN Tunnel Endpoints,VXLAN 隧道端点)
VXLAN 网络的边缘设备,是 VXLAN 隧道的起点和终点,VXLAN 报文的相关处理均在这
上面进行。总之,它是 VXLAN 网络中绝对的主角。VTEP 既可以是一***立的网络设备
(比如华为的 CE 系列交换机),也可以是虚拟机所在的服务器。那它究竟是如何发挥作
用的呢?答案稍候揭晓。
VNI(VXLAN Network Identier,VXLAN 网络标识符)
前文提到,以太网数据帧中 VLAN 只占了 12 比特的空间,这使得 VLAN 的隔离能力在数
据中心网络中力不从心。而 VNI 的出现,就是专门解决这个问题的。VNI 是一种类似于
VLAN ID 的用户标示,一个 VNI 代表了一个租户,属于不同 VNI 的虚拟机之间不能直接进
行二层通信。VXLAN 报文封装时,给 VNI 分配了足够的空间使其可以支持海量租户的隔
离。详细的实现,我们将在后文中介绍。
VXLAN 隧道
“隧道”是一个逻辑上的概念,它并不新鲜,比如大家熟悉的 GRE。说白了就是将原始报文
“变身”下,加以“包装”,好让它可以在承载网络(比如 IP 网络)上传输。从主机的角度看,
就好像原始报文的起点和终点之间,有一条直通的链路一样。而这个看起来直通的链路,
就是“隧道”。顾名思义,“VXLAN 隧道”便是用来传输经过 VXLAN 封装的报文的,它是建
立在两个 VTEP 之间的一条虚拟通道。
2.3 见招拆招
看到这里,爱思考的你肯定又要问了,VXLAN 网络模型为什么是长这个样子滴?前文已
经讲到,VXLAN 是为了解决云计算时代虚拟化中的一系列问题而产生的一项技术。下面
就让我们来看下,基于图 2-1 的网络模型, VXLAN 是如何见招拆招来解决这一系列问题
的。
招式一:隐形
对于“虚拟机规模受网络设备表项规格的限制”这个问题,可能有人会想:换成规格大一些
的接入交换机(比如跟核心或网关同档次的设备)不就行了。我只能说,如果你是“壕”,
确实可以这么做。但是在不提高网络建设成本的前提下,如何能解决问题呢?
既然无法提升设备表项规格,那就只能限制设备上的 MAC 表项,将大量 VM 的 MAC 地址
“隐形”。那么,如何做到隐形呢?这时,就该 VTEP 出场了。
VTEP 会将 VM 发出的原始报文封装成一个新的 UDP 报文,并使用物理网络的 IP 和 MAC
地址作为外层头,对网络中的其他设备只表现为封装后的参数。也就是说,网络中的其他
设备看不到 VM 发送的原始报文。
如果服务器作为 VTEP,那从服务器发送到接入设备的报文便是经过封装后的报文,这样,
接入设备就不需要学习 VM 的 MAC 地址了,它只需要根据外层封装的报文头负责基本的
三层转发就可以了。因此,虚拟机规模就不会受网络设备表项规格的限制了。

当然,如果网络设备作为 VTEP,它还是需要学习 VM 的 MAC 地址。但是,从对报文进行
封装的角度来说,网络设备的性能还是要比服务器强很多。
招式二:扩容
对于“传统网络的隔离能力有限”这个问题,VXLAN 采用了“扩容”的解决方法,引入了类似
VLAN ID 的用户标示,也就是前文提到的 VNI。一个 VNI 代表了一个租户,属于不同 VNI
的虚拟机之间不能直接进行二层通信。VTEP 在对报文进行 VXLAN 封装时,给 VNI 分配
了 24 比特的空间,这就意味着 VXLAN 网络理论上支持多达 16M(即:224-1)的租户
隔离。相比 VLAN,VNI 的隔离能力得到了巨大的提升,有效得解决了云计算中海量租户
隔离的问题。
招式三:暗度陈仓
前面提到,为了保证业务不中断,VM 的迁移就必须发生在同一个二层域内。现在,再回
头看下 VXLAN 网络模型,你是不是惊奇地发现,有了 VTEP 的封装机制和 VXLAN 隧道后,
所谓的 “二层域”就可以轻而易举的突破物理上的界限?也就是说,在 IP 网络中, “明”里传
输的是跨越三层网络的 UDP 报文,“暗”里却已经悄悄将源 VM 的原始报文送达目的 VM。
就好像在三层的网络之上,构建出了一个虚拟的二层网络,而且只要 IP 网络路由可达,这
个虚拟的二层网络想做多大就做多大。现在,你应该明白为什么说 VXLAN 是一种 NVO3
技术了吧。
2.4 VXLAN 报文长啥样
看过上面的描述,你一定对于封装后的 VXLAN 报文有了自己的想象。下面就让我们来看
下,VXLAN 报文到底长啥样。
图 2-2 VXLAN 报文格式
如你所料,VTEP 对 VM 发送的原始以太帧(Original L2 Frame)进行了以下“包装”:
VXLAN Header

增加 VXLAN 头(8 字节),其中包含 24 比特的 VNI 字段,用来定义 VXLAN 网络中不同
的租户。此外,还包含 VXLAN Flags(8 比特,取值为 00001000)和两个保留字段
(分别为 24 比特和 8 比特)。
UDP Header
VXLAN 头和原始以太帧一起作为 UDP 的数据。UDP 头中,目的端口号(VXLAN Port)
固定为 4789,源端口号(UDP Src. Port)是原始以太帧通过哈希算法计算后的值。
Outer IP Header
封装外层 IP 头。其中,源 IP 地址(Outer Src. IP)为源 VM 所属 VTEP 的 IP 地址,目的
IP 地址(Outer Dst. IP)为目的 VM 所属 VTEP 的 IP 地址。
Outer MAC Header
封装外层以太头。其中,源 MAC 地址(Src. MAC Addr.)为源 VM 所属 VTEP 的 MAC
地址,目的 MAC 地址(Dst. MAC Addr.)为到达目的 VTEP 的路径上下一跳设备的
MAC 地址。
2.5 本章小结
本章中,我们介绍了 VXLAN 的概念、VXLAN 网络模型及 VXLAN 报文的封装格式,了解
了 VXLAN 技术是如何见招拆招解决云计算时代虚拟化中的一系列问题的。看到这里,相
信你对于 VXLAN 已经有了初步的了解。
有了以上的理论基础,想必你一定迫不及待的想进一步了解 VXLAN 的控制面及转发面的
工作原理,比如:
VTEP 如何确定跟谁建立 VXLAN 隧道?
VXLAN 隧道怎么建立起来的?
原始报文如何知道要进入哪条隧道呢?
VTEP 是如何对报文进行封装的呢?
下面我们就以 CE 系列交换机的实现为例,逐一解答你的疑惑。
3 VXLAN 报文转发机制
3.1 建立 VXLAN 隧道
3.1.1 哪些 VTEP 间需要建立 VXLAN 隧道
剩余20页未读,继续阅读
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0