产品
产品中心
< 返回主菜单
产品

交换机

交换机所有产品
< 返回产品
交换机
查看交换机首页 >

无线

无线所有产品
< 返回产品
无线
查看无线首页 >

云桌面

云桌面产品方案中心
< 返回产品
云桌面
查看云桌面首页 >

安全

安全所有产品
< 返回产品
安全
查看安全首页 >
产品中心首页 >
行业
行业中心
< 返回主菜单
行业
行业中心首页 >

VXLAN:云计算时代的隧道技术(一)

【VXLAN隧道技术】本文主要是介绍了什么VXLAN,VXLAN二层隧道技术以及为什么需要VXLAN, VXLAN的优势和价值。

  • 发布时间:2022-04-27

  • 点击量:

  • 点赞:

分享至

我想评论

1 VXLAN:云计算时代的隧道技术

1.1   什么是VXLAN

VXLAN(Virtual eXtensible Local Area Network,虚拟可扩展局域网)是建立在物理IP网络之上的二层隧道技术。在云计算快速发展的时代,传统网络无法满足云计算对扩展性的要求,VXLAN能够为跨地域的多数据中心间提供二层互联,并且能够对海量用户不同业务进行隔离。VXLAN使用UDP报文对原始二层以太网数据帧进行封装,因此能够跨三层网络传输二层业务流量。

图1-1    VXLAN二层隧道技术

1.2   为什么需要VXLAN
1.2.1  传统技术在数据中心场景下的困境
 
随着网络和虚拟化技术的发展,服务器虚拟化在数据中心中的应用越发广泛。在数据中心的服务器设备上部署虚拟机提高了服务器的设备利用率,有效降低了数据中心的硬件成本和运营成本。
虚拟化技术的引入为传统数据中心网络带来了新的挑战。
 
●二层网络边界限制
 
随着虚拟化技术的应用,每个实体服务器上可能会运行大量虚拟机,因此二层网络中虚拟机MAC地址数量面临数量级的增长。为了不同二层网络间能够正常转发数据报文,接入交换机需要学习每一个二层网络中虚拟机的MAC地址。受限于硬件水平,接入交换机的MAC地址表容量一般较小,难以满足需求。
 
图1-2    MAC地址表限制
●网络隔离能力有限
 
在传统数据中心网络中,虚拟机通过VLAN进行流量隔离,不同租户虚拟机被划分到不同的VLAN中。VLAN技术通过VLAN ID对不同的VLAN进行区分,用于进行VLAN识别的VID字段长度为12bit,即实际可分配的VLAN ID数量为2^12-2 = 4094(首尾两个VLAN ID保留),这个数量在某些大规模数据中心内是不足的。另外传统的VLAN无法满足网络动态调整的需求,网络的扩容和调整都非常困难。
 
●虚拟机迁移限制
 
由于服务器硬件资源问题(如CPU过高、磁盘不够和内存不足等)或机房的搬迁转移,虚拟机需迁移到其他服务器上。为了保证虚拟机迁移过程中业务不被中断,要求虚拟机的MAC地址和IP地址在迁移前后不发生改变,因此虚拟机只能在当前所在二层网络中进行迁移。
 
图1-3    虚拟机迁移限制

1.2.2  VXLAN的优势和价值
 
1)VXLAN报文格式
 
为了便于理解VXLAN是如何解决数据中心网络发展遇到的种种困难,我们先对VXLAN的报文格式进行介绍。
VXLAN设备在收到虚拟机发送的数据帧时会封装四个部分以形成新的帧头(内层的数据帧携带的原始目的/源MAC、内层VLAN Tag和以太网类型保持不变)。这四个部分由内而外分别是“VXLAN头部”、“外层UDP头”、“外层IP头”和“外层以太帧头”。VXLAN头和原始以太网数据帧作为UDP报文的数据段。
 
图1-4    VXLAN报文格式

●VXLAN头部
 
长度为64位,目前协议版本设计中,其唯一的作用就是携带中间24位的VNI标识,这个VNI标识是由VTEP(VXLAN Tunnel End Point,虚拟扩展本地网络隧道终结结点)分配的。
 
○Flag(8位):其中I位必须设置成1以表示有效的VNI,R位设置成0。
 
○VXLAN Segment ID/VXLAN Network Identifier (VNI):占24位,表示VXLAN网络标识符。与VLAN的情况类似,虚拟机属于相同的VXLAN才能进行二层通信。
 
○Reserved:有两处,分别占24位和8位,填充0。
 
●外层UDP头部
 
图1-5    外层UDP头部

UDP头部各字段含义如下:
○Source Port:UDP源端口号。由VTEP分配,源端口号是数据帧本身的二层帧头哈希运算的结果。
○Destination Port:目的端口号,IANA分配端口号为4789。
○UDP Length:UDP头部的长度。
○UDP Checksum:UDP校验和,发送时填充0。
●外层IP头部
 
图1-6    外层IP头部

 
外层IP头部主要字段含义如下:
 
○Outer Source IPv4 Address:VXLAN隧道本端VTEP的IP地址。VTEP为VXLAN隧道两端的设备。
 
○Outer Destination IPv4 Address:可以是单播IP地址,也可以是多播地址。如果是单播地址,表示需要通信的虚拟机对应的VTEP的IP地址。
 
外层IP头部的IP地址不再是通信双方虚拟机的地址,而是隧道两端的VTEP设备地址。如果虚拟机所在服务器的虚拟机监视器直接承担VTEP的工作,那么此处IP地址就是运行虚拟机软件的服务器网卡的IP地址。若VTEP是交换或路由设备,则IP地址是出端口上的IP地址或三层SVI接口的IP地址。
 
●外层以太网头部
 
图1-7    外层以太网头部

外层以太网头部主要字段含义如下:
○    Outer destination MAC address:指向目的VTEP IP的下一跳MAC地址。
○    Outer source MAC address:本端VTEP的MAC地址。
○    Outer VLAN tag information:可选携带。

2)为什么VXLAN是数据中心的最优解
从上文的VXLAN报文格式可以看出VXLAN是如何解决传统技术在数据中心场景下的困境。
 
●打破二层网络边界限制,解决MAC容量问题
VXLAN利用UDP封装虚拟机发出的数据包,UDP数据包的外层IP/MAC头部均使用物理网络的IP/MAC地址。因此,除了VXLAN网络边缘设备,网络中的其他设备不需要识别虚拟机的MAC地址,减轻了设备的MAC地址学习压力。
 
●解决VLAN数量不足问题
VXLAN可以支持多达16M的VXLAN网段的网络隔离,对用户进行隔离和标识不再受到限制,可满足海量租户。
 
●虚拟机迁移限制
VXLAN通过采用MAC in UDP封装来延伸二层网络,实现了物理网络和虚拟网络解耦,租户规划虚拟网络时不需要考虑物理网络IP地址和广播域的限制,降低了网络管理的难度。通过VXLAN构建大二层网络,保证了在虚拟迁移时虚拟机的IP地址、MAC地址等参数保持不变。
 
1.3   VXLAN基本概念
1.3.1  什么是Underlay网络和Overlay网络
 
Underlay网络是一个已有的物理承载网络。Overlay网络是一个建立在已有网络上的虚拟网络,由逻辑节点和逻辑链路构成。VXLAN就是在物理网络基础上(比如IP网络)构建了一个叠加的虚拟网络。
 
图1-8    Overlay和Underlay示意图

这里我们以班车为例做一个类比,便于大家理解Underlay网络和Overlay网络和其中的概念。公共交通道路好比上文中提到的承载网络。若员工选择自驾上班,那么员工需要在每个路口规划下一段路需要怎么走,这种情况属于工作在Underlay网络。若员工选择坐班车上班,员工不需要知道中间每个路段需要如何通行,只需了解班车时间表和站点信息(上车地点和目的地),并通过工牌等方式搭乘班车即可,员工只需要关心起点和终点即可,这种情况属于工作在Overlay网络。员工选择Overlay方式上班的案例中,班车排班、站点规划、行政分发班车信息等均属控制面板行为,通过工牌搭乘班车和下班车属于数据面行为。
Underlay网络和Overlay网络存在如下特点:
 
●承载网络(Underlay)和虚拟网络(Overlay)完全分离,互不感知。
●Underlay网络要求简单、易管理,同时能够为Overlay网络提供稳定、可靠的转发能力。
●Overlay网络需要提供灵活性和可扩展性。

1.3.2  什么是VTEP
 
以VLAN使用场景为类比,VTEP相当于交换机设备。局域网中交换机负责修改和还原VLAN数据帧,而VTEP用于封装和解封装VXLAN报文。VTEP是VXLAN隧道的起点和终点,在VXLAN隧道的起点,VTEP将虚拟机产生的数据封装到UDP包头内再发送出去,虚拟机本身的MAC地址和VLAN信息在经过封装后不再作为数据转发的依据;在隧道终点将收到的VXLAN报文解封装。
 
1.3.3  什么是VNI
 
VNI(VXLAN Network Identifier,VXLAN 网络标识符)是一种类似于VLAN ID的用户标识,用来表示不同的租户和不同的VXLAN网段(VXLAN Segment)。只有具有相同VNI,处于同一VXLAN网段的虚拟机才能通过VXLAN二层转发相互通信,否则需要通过VXLAN三层转发通信。VNI用一个24位二进制数表示,可以支持2^24个租户。
 
1.3.4  什么是VXLAN隧道
 
VXLAN隧道是在两个VTEP之间完成VXLAN封装报文传输的逻辑隧道,是Overlay层面的传输链路。业务报文在进入隧道时进行VXLAN头、UDP头和IP头封装后,通过Underlay网络的三层转发透明地将封装后的报文传输给远端VTEP,再由远端VTEP对其进行出隧道解封装处理。VXLAN隧道使得不同VTEP上的相同VNI的主机互通,VLAN中的Trunk则是使不同交换机上的相同VLAN中的主机互通。虽然二者作用有些相似,但是本质却有很大不同。VXLAN隧道是虚拟链路,传输的是封装后的UDP报文,而Trunk链路是物理链路,传输的是帧头改造后的数据帧。
 
1.3.5  什么是VXLAN网关
VXLAN网关的功能是根据VXLAN报文内层的IP进行三层转发,充当VXLAN网络内虚拟机的网关,类似于局域网中的网关设备,实现跨网段通讯功能。配置VXLAN网关之后,便可以构建Overlay层面的三层网络,实现VXLAN子网之间的跨网段通信和Internet访问。
 
VXLAN网关上必须拥有VXLAN路由接口,类似于VLAN网络中的SVI(Switch Virtual Interface,交换机虚拟接口)。VXLAN路由接口和VXLAN实例一一对应,VXLAN路由接口负责VXLAN实例内所有三层业务数据的转发工作。
 
1.3.6  什么是VXLAN实例
 
VXLAN实例是基于VXLAN的Overlay网络上的一个节点,类似于VLAN实例,处理一个VNI内的报文转发。该节点可以在Overlay网络实现MAC地址学习和泛洪等传统的二层交换功能,在被指定为VXLAN网关(配置VXLAN路由接口)后也可以进行三层转发。在同一台设备上,VXLAN实例和VNI为一一对应关系。
 
1.3.7  VXLAN网络概念图示
 
上文中我们介绍了大量VXLAN相关的概念,现在我们以架构图的方式呈现,便于大家能够理解VXLAN内各个元素之间的关系。
 
图1-9    VXLAN概念图示

 
如图1-9所示,图中是一个集中式网关的拓扑图,其中一共有三台物理设备,两台交换设备和一台网关设备。我们从左侧开始逐一介绍每个元素。
 
(1)虚拟机通过OVS接入交换设备。
 
(2)交换设备通过子接口或者是VLAN ID方式识别不同网段虚拟机流量,并与对应的VXLAN实例进行绑定。
 
(3)VXLAN实例与VNI一一对应,负责处理对应VNI的数据转发。
 
(4)VTEP与VTEP之间建立了VXLAN隧道。VXLAN隧道通过与VXLAN实例绑定,从而能够传输该VXLAN实例的VXLAN报文。接收端通过VXLAN报文的VNI将数据移交给对应的VXLAN实例。
 
(5)VXLAN网关的VXLAN实例绑定了VXLAN路由接口,负责该VNI的三层转发。
 
相关链接
 

相关标签:

点赞

任何需要,请联系我们

返回顶部

请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反馈 意见反馈
意见反馈
更多联系方式
是否找到您想要的内容?
您遇到了什么问题?
找不到想要的信息
筛选功能不好用
加载速度太慢
页面体验差
提交
您是否找到了与产品相关的文档
筛选功能是否帮助您更快找到所需的文档?
有帮助
一般
没有帮助
没用过
请问您遇到了什么问题?
需要填写的内容太多
有些信息不懂怎么填
页面有问题/错误
其他
确定
这些客户案例是否对您有帮助?
非常有帮助
比较有帮助
没有帮助
请您对这个客户案例进行评价
兴趣度
相关性
可信度
确定
感谢您的反馈!
感谢您的反馈!