网工干货知识

网工技术科普
当前位置:首页 > 干货知识

VxLan背景及概念

更新时间:2021年10月27日   作者:spoto   标签(Tag):

背景:

任何技术的产生,都有其特定的时代背景与实际需求,VXLAN正是为了解决云计算时代虚拟化中的一系列问题而产生的一项技术。那么我们先看看 VXLAN 到底要解决哪些问题。
 

❊虚拟机规模受网络设备表项规格的限制

对于同网段主机的通信而言,报文通过查询MAC表进行二层转发。服务器虚拟化后,数据中心中VM的数量比原有的物理机发生了数量级的增长,伴随而来的便是虚拟机网卡MAC地址数量的空前增加。一般而言,接入侧二层设备的规格较小,MAC地址表项规模已经无法满足快速增长的VM数量。
 

❊传统网络的隔离能力有限

虚拟化(虚拟机和容器)的兴起使得一个数据中心会有动辄上万的机器需要通信,而传统的 VLAN 技术在标准定义中只有12比特,也就只能支持 4096 个网络上限,已经显然满足不了不断扩展的数据中心规模。
 

❊虚拟机迁移范围受限

虚拟机迁移,顾名思义,就是将虚拟机从一个物理机迁移到另一个物理机,但是要求在迁移过程中业务不能中断。要做到这一点,需要保证虚拟机迁移前后,其IP地址、MAC地址等参数维持不变。这就决定了,虚拟机迁移必须发生在一个二层域中。而传统数据中心网络的二层域,将虚拟机迁移限制在了一个较小的局部范围内。此外,解决这个问题同时还需保证二层的广播域不会过分扩大,这也是云计算网络的要求。 传统“二层+三层”的网络在应对这些要求时变得力不从心,虽然通过很多改进型的技术比如堆叠、SVF、TRILL等可以构建物理上的大二层网络,可以将虚拟机迁移的范围扩大。但是,构建物理上的大二层,难免需要对原来的网络做大的改动,并且大二层网络的范围依然会受到种种条件的限制。

为了解决这些问题,有很多方案被提出来,VxLAN就是其中之一。VxLAN 是 VMware、Cisco 等一众大型企业共同推出的,目前标准文档在 RFC7348。
 

定义:

在介绍完VxLAN要解决的问题也就是技术背景之后,接下来正式阐述一下VxLAN的定义,也就是它到底是什么。

VXLAN 全称是 Virtual eXtensible Local Area Network,虚拟可扩展的局域网。它是一种 Overlay 技术,采用L2 over L4(MAC-in-UDP)封装方式,是NVO3(Network Virtualization over Layer 3)中的一种网络虚拟化技术,将二层报文用三层协议进行封装,可实现虚拟的二层网络在三层范围内进行扩展,同时满足数据中心大二层虚拟迁移和多租户的需求。RFC7348上的介绍是这样的:
A framework for overlaying virtualized layer 2 networks over lay 3 networks.
 

意义:

针对大二层网络,VxLAN技术的出现很好的解决了云计算时代背景下数据中心在物理网络基础设施上实施服务器虚拟化的隔离和可扩展性问题:

    ❊通过24比特的VNI可以支持多达16M的VXLAN段的网络隔离,对用户进行隔离和标识不再受到限制,可满足海量租户。
    ❊除VXLAN网络边缘设备,网络中的其他设备不需要识别虚拟机的MAC地址,减轻了设备的MAC地址学习压力,提升了设备性能。
    ❊通过采用MAC in UDP封装来延伸二层网络,实现了物理网络和虚拟网络解耦,租户可以规划自己的虚拟网络,不需要考虑物理网络IP地址和广播域的限制,大大降低了网络管理的难度。

VxLAN组网模型

VxLAN主要用于数据中心网络。VxLAN技术将已有的三层物理网络作为Underlay网络,在其上构建出虚拟的二层网络,即Overlay网络。Overlay网络通过Mac-in-UDP封装技术、利用Underlay网络提供的三层转发路径,实现租户二层报文跨越三层网络在不同的站点间传递。对于租户来说,Underlay网络是透明的,同一租户的不同站点就像是工作在一个局域网中。同时,在同一个物理网络上可以构建多个VxLAN网络,每个VxLAN网络由唯一的VNI标识,不同VxLAN之间互不影响,从而实现租户网络之间的隔离。

如上图所示,VxLAN的典型网络模型中主要包含以下几个基本元素:
 

❊VM (Virtual Machine): 虚拟机。

在一台服务器上可以创建多台虚拟机,不同的虚拟机可以属于不同的 VXLAN。处于相同VxLAN的虚拟机处于同一个逻辑二层网络,彼此之间二层互通;属于不同VxLAN的虚拟机之间二层隔离。

 

❊VxLAN Tunnel: VxLAN隧道。

“隧道”是一个逻辑上的概念,它并不新鲜,比如大家熟悉的GRE。说白了就是将原始报文“变身”下,加以“包装”,好让它可以在承载网络(比如IP网络)上传输。从主机的角度看,就好像原始报文的起点和终点之间,有一条直通的链路一样。而这个看起来直通的链路,就是“隧道”。顾名思义,“VXLAN隧道”便是用来传输经过VXLAN封装的报文的,它是建立在两个VTEP之间的一条虚拟通道。Vxlan 通信双方(图中的虚拟机)认为自己是通过二层VSI直接通信,并不知道底层网络的存在。

 

❊VTEP (VxLAN Tunnel Endpoints): VXLAN隧道端点。

VXLAN网络的边缘设备,是VXLAN隧道的起点和终点,VXLAN报文的封装和解封装处理均在这上面进行。VTEP可以理解为Overlay网络立足于Underlay物理网络之上的支脚点,分配有物理网络的IP地址,该地址与虚拟网络无关。VXLAN报文中源IP地址为隧道一端节点的VTEP地址,目的IP地址为隧道另一端节点的VTEP地址,一对VTEP地址就对应着一个VXLAN隧道。VTEP 可以是一个独立的网络设备(比如交换机),也可以是一台物理服务器(比如虚拟机所在的宿主机)。

 

❊VNI (VXLAN Network Identifier): VXLAN 网络标识符。

以太网数据帧中VLAN只占了12比特的空间,这使得VLAN的隔离能力在数据中心网络中力不从心。而VNI的出现,就是专门解决这个问题的。VNI是一种类似于VLAN ID的用户标示,一个VNI代表了一个租户,即使多个终端用户属于同一个VNI,也表示一个租户。VNI由24比特组成,支持多达16M的租户。属于不同VNI的虚拟机之间不能直接进行二层通信。VXLAN报文封装时,给VNI分配了足够的空间使其可以支持海量租户的隔离。

 

❊IP核心设备/隧道中间设备

网络中普通的路由/转发设备,不参与VxLAN处理,仅需根据封装后的VxLAN报文的目的VTEP IP地址沿着VxLAN隧道路径进行普通的三层转发。

 

❊VSI (Virtual Switch Instance): 虚拟交换实例。

VTEP上为每个VxLAN提供二层交换服务的虚拟交换实例。VSI可以看做是VTEP上的一台针对某个VxLAN内的数据帧进行二层转发的虚拟交换机,它具有传统以太网交换机的所有功能,包括源MAC地址学习、MAC地址老化、泛洪等。VSI与VxLAN一一对应。

 

❊VSI-Interface: VSI的虚拟三层接口。

类似于Vlan-Interface,用来处理跨VNI即跨VXLAN的流量。VSI-Interface与VSI一一对应,在没有跨VNI流量时可以没有VSI-Interface。
 

 马上抢免费试听资格
意向课程: *必选
姓名: *必填
联系方式: *必填
QQ:
思博SPOTO在线咨询

相关资讯


即刻预约

免费试听-咨询课程-获取免费资料

思博网络SPOTO新活动