交换机|可扩展局域网 (VXLAN) 简介

交换机|可扩展局域网 (VXLAN) 简介

文章图片

交换机|可扩展局域网 (VXLAN) 简介

虚拟可扩展局域网 (VXLAN) 是一种隧道协议 , 可通过 IP(第 3 层)网络对以太网(第 2 层)流量进行隧道传输 。


由于三个主要原因 , 传统的第 2 层网络存在问题:

  • 生成树 。
  • VLAN 数量有限 。
  • 大型 MAC 地址表 。
生成树阻止任何冗余链接以避免循环 。 阻止链接以创建无环路拓扑可以完成工作 , 但这也意味着我们为无法使用的链接付费 。 我们可以切换到第 3 层网络 , 但某些技术需要第 2 层网络 。
VLAN ID 是 12 位的 , 这意味着我们可以创建 4094 个 VLAN(0 和 4095 保留) 。 只有 4094 个可用 VLAN 对数据中心来说是个问题 。 例如 , 假设我们有一个拥有 500 个客户的服务提供商 。 有了 4094 个可用 VLAN , 他们只能为每个客户提供 8 个 VLAN 。
由于服务器虚拟化 , 我们交换机的 MAC 地址表中的地址数量呈指数增长 。 在服务器虚拟化之前 , 交换机只需为每个交换机端口学习一个 MAC 地址 。 通过服务器虚拟化 , 我们在单个物理服务器上运行许多虚拟机 (VM) 或容器 。 每个 VM 都有一个虚拟 NIC 和一个虚拟 MAC 地址 。 交换机必须在单个交换机端口上学习许多 MAC 地址 。
数据中心的架顶式 (ToR) 交换机可以连接到 24 或 48 台物理服务器 。 一个数据中心可能有许多机架 , 因此每个交换机都必须存储所有相互通信的虚拟机的 MAC 地址 。 与没有服务器虚拟化的网络相比 , 我们需要更大的 MAC 地址表 。
在本课中 , 我将解释 VXLAN 是什么 , 它是如何工作的 , 以及它如何解决上述第 2 层问题 。
VXLAN 使用覆盖和底层网络:

覆盖网络是在物理底层网络之上运行的虚拟网络 。 即使你以前从未听说过这个术语 , 你也可能见过它 。 是覆盖网络的一个简单示例 。 GRE 隧道在物理底层网络之上运行 。
使用 VXLAN , 覆盖是第 2 层以太网 。 底层网络是第 3 层 IP 网络 。 底层网络的另一个名称是传输网络 。
底层网络简单;它唯一的工作是从 A 到 B 获取数据包 。 我们在这里不使用任何第 2 层 , 只使用第 3 层 。 当我们使用第 3 层时 , 我们可以使用 OSPF 或 EIGRP 之类的 IGP , 并在冗余链路上对流量进行负载平衡 。另一个优点是overlay和underlay网络是独立的 。 覆盖网络是虚拟的 , 需要一个底层网络 , 但您在覆盖网络中所做的任何更改都不会影响底层网络 。 您可以在底层网络中添加和删除链接 , 只要您的路由协议可以到达目的地 , 您的覆盖网络将保持不变 。
VXLAN 网络标识符 (VNI)标识 VXLAN, 并具有与常规 VLAN 的 VLAN ID 类似的功能 。 我们为 VNI使用24 位 , 这意味着我们可以创建 16777215(约 1600 万)个 VXLAN 。 与那些具有 12 位 VLAN ID 的 4094 个 VLAN 相比 , 这已经很多了 。 我们可以创建大量的 VXLAN , 这意味着拥有数千名客户的大型服务提供商可以根据需要为每个客户使用尽可能多的 VXLAN 。
VXLAN 隧道端点 (VTEP)是负责封装和解封装第 2 层流量的设备 。 该设备是覆盖网络和底层网络之间的连接 。 VTEP 有两种形式:
  • 软件(基于主机)
  • 【交换机|可扩展局域网 (VXLAN) 简介】硬件(网关)
让我们看看这两个选项 。
当我谈论主机时 , 我指的是 , 例如 VMWare 的 ESXi 或 Microsoft 的 Hyper-V 。 这些管理程序使用虚拟交换机 , 其中一些支持 VXLAN 。 这是一个插图: