13、BGP EVPN VXLAN 网络中的多租户与相关技术解析

BGP EVPN VXLAN 网络中的多租户与相关技术解析

1. BGP EVPN VXLAN 底层网络概述

在网络架构里,BGP EVPN VXLAN 底层网络起着关键作用,它需要具备传输单目的地和多目的地覆盖层流量的能力。底层网络有一系列的功能需求和特性要求,其主要目标是实现网络结构中各个交换机之间的可达性。

底层网络的 IP 地址分配有两种选择:
- P2P IP 编号选项 :为网络设备分配具体的 IP 地址,便于进行精确的网络管理和路由。
- IP 无编号选项 :这种方式较为灵活,能减少 IP 地址的管理复杂度,具有一定的吸引力。

对于单播路由,常见的内部网关协议(IGP)路由协议有 OSPF、IS - IS 和 BGP 等。选择不同的路由协议需要考虑多个因素:
| 路由协议 | 特点及考虑因素 |
| ---- | ---- |
| OSPF | 开放最短路径优先协议,适用于大型网络,收敛速度较快,但配置相对复杂。 |
| IS - IS | 中间系统到中间系统协议,常用于运营商网络,具有良好的扩展性。 |
| BGP | 边界网关协议,主要用于自治系统之间的路由,在大型数据中心网络中应用广泛,能处理复杂的路由策略。 |

在底层网络中进行多目的地流量复制有单播和组播两种主要模式:
- 单播模式 :依赖硬件 VTEP(虚拟隧道端点)进行多次复制的能力。如果硬件 VTEP 的复制能力不足,可能会影响网络性能。
- 组播模式 :包括 PIM ASM(协议无关组播 - 任意源组播)或 BiDir(双向组播)。随着租户覆盖层组播要求变得更加严格,组播模式可能会更受欢迎,尤其是组播嵌套组播封装,可能会比单播模式成为更优的选择。

2. 多租户概念与应用场景

多租户是一种在共享环境中多个独立逻辑实例(租户)同时运行的操作模式。每个逻辑实例可以在二层、三层或者同时在二层和三层提供服务,其中二层和三层同时提供服务是最常见的部署场景。使用多租户的目的是实现控制平面和数据平面的分离,以保持适当的隔离,防止租户之间意外的跨通信。

在传统网络中,二层隔离通常通过虚拟局域网(VLAN)实现,三层隔离则通过虚拟路由转发(VRF)实现。在现代基于云的数据中心和覆盖网络中,这些概念需要进一步扩展,以提供类似的隔离,并确保服务级别协议(SLA)得到遵守。

多租户的应用场景广泛存在于企业和服务提供商环境中:
- 服务提供商环境 :负责在客户站点之间或从客户站点到互联网传输流量。
- 企业环境 :大型企业由于其层级和组织结构,每个部门或业务单元都需要被视为一个独立的实体或“客户”。不同实体的流量可以通过共同的基础设施传输,多租户功能可以确保具有重叠地址空间的流量得到隔离和传输。

在网络覆盖层中,覆盖层的封装和解封装由网络边缘交换机处理。多租户提供的隔离是通过单个网络交换机硬件中的 ASIC 能力以及驱动该功能的软件实现的。与服务质量(QoS)相关的某些功能通常由硬件提供,因为它们需要应用于线速流动的流量。而其他功能,如租户/VRF 之间的路由泄漏,则由软件根据控制平面注入的路由前缀和适当的路由映射进行控制。

需要注意的是,网络交换机上的硬件和软件资源是在各个逻辑实例之间共享的,因此在网络设计时需要进行仔细的规划和考虑。虽然网络硬件和软件能力可能支持数千个二层和三层多租户服务,但传输隔离流量的网络接口可能只提供有限的缓冲区和队列来实施 SLA,如 QoS。

为了提供高效的多租户服务并避免重复建设所需的基础设施服务,共享服务是常见的需求。例如 DHCP、DNS 等服务需要被所有租户平等访问,同时不允许租户之间有信息泄漏。可以在这些集中式或共享服务的边缘部署额外的执行点,如防火墙,来接受和检查租户之间的跨通信。提供此类集中式服务有多种设计选项,从简单的租户之间路由“泄漏”到具有多层融合路由器和防火墙的设计都有。

3. VXLAN 中的 VNI 与多租户服务

VXLAN 报头中有一个 24 位的标识符,称为虚拟网络标识符(VNI)。VXLAN 封装使用这个单一字段来唯一标识二层或三层服务。结合 BGP EVPN,VXLAN 可以提供二层和三层的多租户服务。根据所考虑的服务类型,会使用不同的 VNI 术语:
- 二层 VNI(L2VNI) :当使用二层服务时,通常意味着在同一子网或同一广播域内进行通信,此时使用 L2VNI。
- 三层 VNI(L3VNI)或 VRF VNI :当使用如 VRF 这样的三层服务时,使用该术语。

二层和三层 VNI 的分离仅取决于服务类型,而不是 VXLAN 封装中的不同字段。

4. 桥接域的概念与作用

桥接域是一种在多个网络技术的二层上运行的多租户服务,它实际上是一个广播域,代表了二层网络的范围。在经典以太网部署中,使用 IEEE 802.1Q(dot1q)报头的 VLAN 是提供二层多租户的最常见方式,而 VXLAN 则使用报头中的 VNI 来达到相同的效果。桥接域提供了一种将二层服务扩展到多个封装或二层网络技术的方法。

IEEE 802.1Q 报头提供的 VLAN 命名空间为 12 位,在经典以太网域中可产生 4096 个 VLAN。而 VXLAN 命名空间为 24 位,可产生 1600 万个 VNI 段。由于存在两种不同的命名空间和封装方式,因此需要一种机制来实现 VLAN 命名空间和 VNI 命名空间之间的映射。这种映射在边缘设备(VTEP)上进行配置,并通过桥接域进行“拼接”。

具体来说,当 VTEP 是硬件形式(如 ToR 交换机)时,代表同一二层网络的 VLAN 和 VNI 会映射到同一个硬件桥接域;当 VTEP 是软件形式(如虚拟交换机)时,同一二层网络的 VLAN 和 VNI 会映射到同一个软件桥接域。

在 VXLAN 环境中,桥接域由以下三个组件组成:
- 经典以太网域(VLAN 命名空间) :传统的以太网网络,使用 VLAN 进行二层隔离。
- VXLAN 域(VNI 命名空间) :基于 VXLAN 技术的网络,使用 VNI 进行全局标识。
- 网络交换机(硬件/软件桥接域资源) :负责实现 VLAN 和 VNI 之间的映射和转发。

VXLAN 提供了更大的命名空间,适合云规模的环境,而 802.1Q VLAN 命名空间可能无法满足企业或服务提供商环境中的典型部署用例。桥接域的概念不仅适用于 VXLAN,同样也适用于其他覆盖层封装,如 NVGRE 等。

5. VXLAN 中的 VLAN 特性

大多数网络中的服务器或端点通过经典以太网接口连接,遵循 IEEE 802.1Q 标准。该标准允许在二层进行分段,并支持在物理链路上配置多个 VLAN。IEEE 802.1Q(dot1q)标准使用 12 位的 VID 字段进行寻址,3 位的 CoS 字段用于服务质量分类,以及 16 位的标签协议标识符(TPID)。通常,TPID 的值为 0x8100,用于标识 dot1q 报头。

通过使用双标签(IEEE 802.1ad 或 q - in - q),可以连续配置多个 dot1q 标签。在实现双标签 802.1Q 报头时,外层 VLAN 可以在内部 VLAN 中传输。为此,第二个 TPID 必须标识第二个 dot1q 报头和额外的内部 VLAN 空间标识符。q - in - q 在城域以太网传输中很常见,其中内部 VLAN 空间分配给客户(C - TAG),而外部 VLAN ID 用于服务提供商(S - TAG),其 Ethertype 为 0x88A8。除了 VLAN ID,802.1Q 报头还在服务等级(CoS)字段中携带 QoS 信息,该信息在 IEEE 802.1p 标准中有详细记录。

在经典以太网环境中,VLAN 的命名空间是全局有意义的。对于给定的二层网络,从第一个交换机到最后一个交换机,端到端使用单个 VLAN,这使得 VLAN ID 成为以太网网络中的全局标识符,并形成了 4K VLAN 的边界,如下所示:

graph LR
    A(交换机 1) -->|VLAN X| B(交换机 2)
    B -->|VLAN X| C(交换机 3)

而在 VXLAN 中,VLAN 变为本地有意义,全局标识符变为 VXLAN VNI。所有在二层相互通信的端点在穿越 VTEP 所在的网络交换机时,会接收相同的 L2 VNI(L2VNI)标签。端点仍然使用以太网技术连接到网络交换机,该交换机提供了将 VLAN 标识符映射到 VNI 的机制。例如,当一个 VXLAN 边缘设备连接到一个端点时,服务器连接的本地网段使用 VLAN ID 来标识端点所在的唯一二层域。VLAN 段从端点一直延伸到网络交换机或边缘设备,是本地标识符。在大多数情况下,VLAN 成为每个交换机的标识符。当流量进入网络交换机时,会将 VLAN 标识符转换为 VXLAN VNI(L2VNI),如下所示:

graph LR
    A(端点) -->|VLAN ID| B(边缘设备)
    B -->|L2VNI| C(网络交换机)

在给定的边缘设备上,通过将 VLAN 配置为相应的 VXLAN VNI(vn - segment),以 1:1 的关系实现映射,示例代码如下:

vlan 10
  vn-segment 30001
vlan 20
  vn-segment 30002

这样,VLAN 成为本地标识符,VNI 成为全局标识符,VLAN 仅对该边缘设备有意义。不同边缘设备上的不同 VLAN 可以映射到相同的 VNI,只要 VNI 作为全局唯一标识符使用,就可以灵活地进行 VLAN 到 VNI 以及最终回到 VLAN 的映射。以下是三个边缘设备上 VNIs 30001 和 30002 的配置示例:

Edge-Device #1
vlan 10
  vn-segment 30001
vlan 20
  vn-segment 30002

Edge-Device #2
vlan 100
  vn-segment 30001
vlan 200
  vn-segment 30002

Edge-Device #3
vlan 1000
  vn-segment 30001
vlan 2000
  vn-segment 30002

拥有交换机本地或交换机范围的 VLAN 允许通过 VXLAN 在整个网络结构中扩展 VLAN 命名空间。需要注意的是,交换机上的 VLAN 命名空间仍然限制为 4096 个 VLAN。将 VLAN 标识符从每个交换机的基础扩展到每个交换机、每个端口的基础,极大地增加了灵活性。每个端口的 VLAN 使用存储在 dot1q 报头中的线路上的 VLAN ID,边缘设备会立即将该线路 VLAN 映射到一个与封装无关的标识符,而无需在交换机上创建该 VLAN。网络交换机分配的硬件资源提供了从线路 VLAN 到相应硬件桥接域的拼接能力,该桥接域具有与封装无关的标识符,将线路 VLAN 映射到 VNI。

每个端口的 VLAN 意义提供了在每个端口的基础上使用完整 VLAN 命名空间的能力,并将每个(端口,VLAN)组合映射到一个唯一的 VXLAN VNI。这允许出现重叠 VLAN 的用例,即相同的 VLAN 可以映射到不同的 VXLAN VNIs,只要它们属于不同的物理交换机端口/接口。以下是一个边缘设备上实现典型 VLAN 转换用例的配置示例:

vlan 3501
  vn-segment 30001
vlan 3502
  vn-segment 30002

interface Ethernet 1/8
  switchport mode trunk
  switchport vlan mapping enable
  switchport vlan mapping 10 3501
interface Ethernet 1/9
  switchport mode trunk
  switchport vlan mapping enable
  switchport vlan mapping 10 3502

根据硬件和软件平台的不同,创建硬件桥接域存在不同的 CLI 实现方式。一般来说,有两种操作模式:VLAN 映射方法和桥接域映射方法。通过使用 VXLAN VNI 作为全局标识符,VLAN 命名空间的扩展成为可能,二层多租户结构的灵活性也得到了提高。根据网络交换机平台和软件支持,VLAN 可以按每个交换机或每个端口的方式映射到相应的 VNI。在任何情况下,从硬件资源(VLAN 或桥接域)的映射都保持 1:1 的关系。

为了在基于 BGP 的 EVPN 地址族中通告 L2VNI,需要配置基于 MAC 的 EVPN 实例,示例配置如下:

evpn
  vni 30001 l2
    rd auto
    route-target import auto
    route-target export auto
  vni 30002 l2
    rd auto
    route-target import auto
    route-target export auto

在 Cisco 的 BGP - EVPN 实现中,路由区分符(RD)和路由目标(RT)值会自动推导。RD 由路由器 ID 和内部二层实例 ID 生成,RT 由 BGP 的自治系统号(ASN)和二层 VNI(L2VNI)推导得出。需要注意的是,如果底层使用 eBGP,由于不同边缘设备的 ASN 可能不同,RT 需要手动配置。

BGP EVPN VXLAN 网络中的多租户与相关技术解析

6. 多租户服务的配置与实现要点

在实现多租户服务时,除了上述提到的 VLAN 到 VNI 的映射以及 EVPN 实例的配置,还有一些其他的要点需要关注。

首先,在网络设计阶段,需要根据实际的业务需求和租户数量来合理规划 VLAN 和 VNI 的分配。例如,对于不同的租户或业务部门,可以分配不同的 VLAN 范围,并将其映射到相应的 VNI 上,以确保租户之间的隔离和独立性。

其次,在配置 EVPN 实例时,要确保 Route Distinguisher(RD)和 Route Target(RT)的正确性。RD 用于在 MP - BGP 中唯一标识 EVPN 实例,而 RT 则用于控制路由的导入和导出。在自动推导 RD 和 RT 的情况下,要了解其推导规则,以便在出现问题时能够进行排查。如果使用 eBGP 作为底层协议,需要手动配置 RT 以保证不同边缘设备之间的路由信息能够正确交换。

另外,对于共享服务的配置也至关重要。共享服务如 DHCP、DNS 等需要被所有租户平等访问,同时要防止租户之间的信息泄漏。可以通过在共享服务边缘部署防火墙等安全设备来实现这一目标。防火墙可以根据租户的需求和安全策略,对跨租户的通信进行过滤和检查。

7. 多租户网络的性能与优化

多租户网络的性能直接影响到各个租户的业务体验,因此需要进行合理的优化。

一方面,要关注网络设备的硬件资源使用情况。由于硬件和软件资源在各个逻辑实例之间共享,可能会出现资源竞争的情况。例如,网络接口的缓冲区和队列资源有限,如果某个租户的流量过大,可能会影响其他租户的服务质量。因此,在网络设计时,需要根据租户的业务需求和流量特点,合理分配硬件资源。可以通过 QoS 策略来控制不同租户的流量优先级,确保关键业务的流量能够得到优先处理。

另一方面,对于路由协议的选择和配置也会影响网络性能。不同的路由协议具有不同的特点和适用场景,如前面提到的 OSPF、IS - IS 和 BGP 等。在选择路由协议时,要考虑网络的规模、拓扑结构和业务需求等因素。同时,合理配置路由协议的参数,如路由收敛时间、路由重分发等,也可以提高网络的性能和稳定性。

此外,对于 VXLAN 封装和解封装过程也可以进行优化。由于 VXLAN 会增加额外的报头开销,可能会影响网络的带宽利用率。可以通过优化 VXLAN 的封装格式、减少不必要的报头字段等方式来降低开销。

8. 多租户网络的安全考虑

多租户网络的安全是一个重要的问题,因为多个租户共享同一网络基础设施,需要防止租户之间的非法访问和信息泄漏。

首先,要确保租户之间的隔离。通过 VLAN 和 VNI 的映射以及 EVPN 实例的配置,可以实现二层和三层的隔离。但还需要在网络设备上配置访问控制列表(ACL),对租户之间的流量进行过滤。ACL 可以根据源 IP 地址、目的 IP 地址、端口号等信息来控制流量的进出,防止非法访问。

其次,对于共享服务的安全保护也不容忽视。共享服务如 DHCP、DNS 等是所有租户都需要访问的,如果这些服务被攻击,可能会影响整个网络的正常运行。可以通过部署防火墙、入侵检测系统(IDS)和入侵防御系统(IPS)等安全设备来保护共享服务的安全。

另外,对于网络设备的管理也需要加强安全措施。网络设备的配置信息包含了重要的安全策略和网络拓扑信息,如果被非法获取,可能会导致网络安全漏洞。可以通过设置强密码、使用 SSH 等安全协议进行远程管理、定期备份配置信息等方式来保护网络设备的安全。

9. 多租户网络的未来发展趋势

随着云计算、大数据等技术的不断发展,多租户网络的需求也在不断增加。未来,多租户网络可能会朝着以下几个方向发展:

  • 更高的扩展性 :随着租户数量的不断增加,网络需要具备更高的扩展性,以支持更多的租户和更大的流量。这可能需要采用更先进的网络技术和架构,如软件定义网络(SDN)和网络功能虚拟化(NFV)等。
  • 更强的安全性 :网络安全威胁日益增加,未来的多租户网络需要具备更强的安全防护能力。可能会采用更高级的加密技术、入侵检测和防御系统等,以确保租户数据的安全。
  • 更智能的管理 :随着网络的复杂性不断增加,人工管理网络变得越来越困难。未来的多租户网络可能会采用人工智能和机器学习等技术,实现自动化的网络管理和故障诊断。
10. 总结

BGP EVPN VXLAN 网络中的多租户技术为企业和服务提供商提供了一种高效、灵活的网络解决方案。通过 VLAN 到 VNI 的映射、EVPN 实例的配置等技术,可以实现租户之间的隔离和共享服务的提供。同时,在网络设计、性能优化和安全保护等方面也需要进行合理的规划和配置。随着技术的不断发展,多租户网络将不断完善,为用户提供更好的服务和体验。

以下是多租户网络相关配置和技术要点的总结表格:
| 技术要点 | 描述 |
| ---- | ---- |
| VLAN 到 VNI 映射 | 在边缘设备上配置,实现本地 VLAN 到全局 VNI 的转换,支持 per - switch 和 per - port 两种模式 |
| EVPN 实例配置 | 配置基于 MAC 的 EVPN 实例,包括 RD 和 RT 的设置,用于在 BGP EVPN 中通告 L2VNI 路由 |
| 共享服务配置 | 如 DHCP、DNS 等,需确保租户平等访问并防止信息泄漏,可通过防火墙等设备实现 |
| 网络性能优化 | 关注硬件资源使用、路由协议选择和配置、VXLAN 封装优化等方面 |
| 网络安全保护 | 通过 ACL、防火墙、IDS/IPS 等设备实现租户隔离和共享服务保护 |

graph LR
    A(多租户网络) --> B(网络设计)
    A --> C(性能优化)
    A --> D(安全保护)
    B --> B1(VLAN/VNI 分配)
    B --> B2(EVPN 实例配置)
    B --> B3(共享服务配置)
    C --> C1(硬件资源管理)
    C --> C2(路由协议优化)
    C --> C3(VXLAN 封装优化)
    D --> D1(租户隔离)
    D --> D2(共享服务保护)
    D --> D3(设备管理安全)

通过以上的分析和总结,我们可以更好地理解和应用 BGP EVPN VXLAN 网络中的多租户技术,为构建高效、安全的网络环境提供有力的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值