随着网络技术的不断发展,您的网络可能会不断的扩张并且是毫无边际的夸张,渐渐的会失去控制。
您的网络正在成长并失去控制。
您可能拥有分布在整个网络中的物理主机和虚拟机并且希望它们进入同一网段。
扩展 VLAN 可能是一种解决方案,因为它可以帮助您穿透物理网络的第 2 层。
但问题是VLAN数量很快用完,so,最佳的解决方案是VxLAN。
使用这项技术,您可以在现有的第 3 层网络之上构建第 2 层网络。
所有这些分布式主机都可以使用 VxLAN凝聚在一起。
本文将带大家学习VXLAN,包括VXLAN是什么、它是如何工作的以及在何处使用它,还会介绍它的优势和部署方法。
直接上货!
VxLAN(虚拟可扩展局域网)是一种行业标准的重叠网络虚拟化技术。
它最初旨在解决与大规模网络部署(如 ISP 或云提供商)中的可扩展性相关的问题。
顾名思义,VxLAN 虚拟地跨第 3 层网络基础设施扩展了第 2 层网段,VxLAN 将第 2 层以太网帧封装在包含 IP 地址的 VXLAN 数据包中。
VxLAN 段由 24 位 VNID(VxLAN IDentification)字段标识,该字段可以扩展到 1600 万个段。
VxLAN 是由 VMware、Cisco 和 Arista Network 供应商合作创建的标准化规范,VxLAN 在RFC 7348 中被定义。
VxLAN 与 VLAN 非常相似,它也封装了第 2 层帧和分段网络。
主要区别是VLAN使用二层帧上的tag进行封装,最多可以扩展到4000个VLAN。
另一方面,VXLAN 将 MAC 封装在 UDP 中,并且能够扩展到 1600 万个 VxLAN 网段。
VxLAN 有以下优势之
VxLAN 是一种重叠封装技术,它创建了一个覆盖在现有物理网络基础架构之上的虚拟网络。
它使用underlay IP网络,并在其上构建灵活的二层overlay逻辑网络。
通过覆盖,任何第 2 层连接都可以跨越第 3 层网络。
使用覆盖网络有很多优点。
当然,影响底层性能或正常运行时间的物理问题将反映在覆盖层上。
例如,如果没有足够的设备来提供足够的带宽,覆盖也会受到影响。
使用交换结构,称为 Spine-and-Leaf。
在允许底层更改的同时保证 VxLAN 覆盖的性能、可扩展性、可靠性和灵活性的最佳方法是充分利用交换结构拓扑。
交换结构拓扑的最佳示例是 Spine-and-Leaf,它通常用作底层网络。
Spine-and-Leaf 是一个独立的架构,它不是 VxLAN 独有的,但通常与 VxLAN 相关联。
通常叶脊是 VxLAN 的底层,VxLAN 是覆盖。
Spine-and-Leaf 两层:
所有的叶子交换机都有一个链接到每个骨干交换机,枝叶和交换机之间的每条链路都通过 IGP 路由协议(例如 BGP 或 OSPF)通过 IP 地址进行路由。
这种拓扑使每个目的地只有两跳的距离。
Leaf-and-switch 也可以使用 ECMP(等价多路径)在主干交换机或链路发生故障时恢复或平衡流量负载。
叶脊结构拓扑与 VxLAN 高度相关,因为随着覆盖网络的扩展,支持底层可以物理增长或减小大小,而不会影响覆盖的设计。
在叶脊底层之上添加 VxLAN 可实现东西向流量模式的 IP 移动性、完全可扩展性和容错性。
随着您的网络扩展,您的设计不需要改变。
您只需要向底层添加更多交换机、IP 地址和链接即可。
到目前为止,我们知道 VxLAN 将第 2 层子网延伸到第 3 层网络限制,它在像 Spine-and-Leaf 这样的交换结构之上构建了一个逻辑覆盖网络。
为了实现这一点,VxLAN 将第 2 层以太网帧封装在 VxLAN 数据包中,该数据包也封装在 IP UDP 标头中。
下图显示了 VxLAN 数据包格式。
任何支持 VxLAN 的端点(如主机、交换机或路由器)都可以称为 VTPE(VxLAN 隧道端点)。
顾名思义,VTEP 的工作是在彼此之间创建和终止隧道,换句话说,它们封装和解封装 VxLAN 流量。
VTPE 使用第 3 层 IP 地址连接到底层网络,VTPE 可能有一个或多个与之关联的 VNI。
当具有相同 VNI 的第 2 层帧到达入口 VTEP 时,它会使用 VxLAN 和 UDP/IP 标头封装该帧。
然后使用底层 IP 网络传输将其发送到出口 VTPE 以进行解封装。
出口 VTPE 删除 IP 和 UDP 标头并传送原始第 2 层帧。
VTEP 可以是虚拟或物理交换机端口,通常配置在叶交换机上。
VTEP 使用传统的底层 IP 路由和转发机制(例如 OSPF 和 EIGRP)进行通信。
在某些情况下,您可能需要一个设备来转发 IP 流量并执行 VxLAN 封装/解封装。
bud 节点是具有两个角色的交换设备,执行 VxLAN 相关任务的 VTEP 和转发 VxLAN 流量的 IP 传输设备。
为了将流量传送到其他 VTEP,bud 节点应位于 VxLAN VNI 使用的同一组播组中。
下图显示了Bud节点的示例。假设主机 1 想要与主机 3 通信,VTEP-2 和 VTEP-3 属于用于 VXLAN VNI 的组播组。VTEP-2 从数据包中检查 VxLAN ID 并根据 IP 转发它,但是如果 Host-1 想和 host-2 通信,VTEP-2 也可以解封装 VxLAN 数据包。
并非所有平台都可以成为Bud节点,同时运行两个角色需要强大的处理能力。
在 ASIC 上运行 VxLAN 的平台(例如 Cisco Nexus 9000 系列)足以满足此类拓扑。
VTEP 可能会失败,因此您需要考虑一种提供冗余和负载共享的方法。
尽管叶脊拓扑的设计已经是冗余的并且叶子不应该相互连接,但您仍然可以在它们之间引入对等互连以提供主机级冗余。
两个叶 VTEP 网关可以通过 peer-link 和 keep-alive 链接充当一个,您可以使用基于 Cisco 的功能来实现这一点,该功能称为 vPC(虚拟端口通道)。
vPC 是 Cisco Nexus 交换机上的第 2 层功能,允许您同时将主机连接到两台交换机,这对虚拟 vPC 交换机可以为连接的主机提供冗余, vPC 用作共享任播地址的逻辑 VTEP 设备。
VxLAN 是一种基于标准的技术,因此它不受特定供应商的限制,可以由硬件或软件支持。
您可以通过 VxLAN 主机或 VxLAN 网关部署该技术,您可以将部署限制为一种方法或结合使用这两种方法。
VxLAN不需要部署在交换机上,也可以在任何主机上运行,只要它本身支持 VxLAN。
比如管理程序,它可以配置为在其所有虚拟机上运行 VxLAN,运行 VTEP 功能的 vSwitch 在来自虚拟机的流量传到物理交换机之前对其进行封装。
由于 VxLAN 封装发生在主机上,因此网络基础设施的其余部分只能看到 IP 流量,基于主机部署的优势在于可以简化整个物理网络,其他可能支持 VxLAN 的主机示例包括服务器、防火墙、负载平衡器等。
当主机不支持 VxLAN 时,最好的部署方式是直接在交换机或路由器上进行部署。
当交换机执行 VTEP 功能时,它被称为 VxLAN 网关,交换机可以执行 VxLAN 封装/解封装,还可以将 VLAN ID 转换为 VNI,VxLAN 网关创建通向目标 VTEP(主机或网关)的隧道,因此主机和 IP 基础设施不知道 VxLAN 的存在。
基于网关的部署的一个好处是某些平台(例如Cisco Nexus 9000-EX)能够在硬件上实施 VxLAN,直接从 ASIC 而不是从软件运行 VxLAN 可以显着提高性能。
也可以将两者结合使用,混合部署是指将 VxLAN 与 VxLAN 网关后面的某些设备一起使用,并且还有一些主机运行本机 VxLAN。
下面来看一下 VxLAN 流量如何在简单的 VxLAN 网络中从主机流向主机的过程。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。