2. Arista EOS与多租户基础
在 Arista 多租户网络中,EOS 是承载隔离与转发的基础操作系统。理解 EOS 的架构、租户概念以及 VRF 与 VLAN/VXLAN 的关系,是后续设计多租户拓扑和排障的前提。本节从 EOS 内部结构出发,逐步建立“租户—VRF—VLAN/VXLAN”的映射认知,并给出典型拓扑与业务需求判断方法。
一、EOS 架构:控制面与数据面的分层
Arista EOS 采用基于 Linux 的模块化架构,核心可划分为三层:内核与硬件抽象层、控制面协议栈、数据面转发引擎。内核层负责进程调度、内存管理和硬件驱动;控制面运行 BGP、OSPF、IS-IS、EVPN 等协议,负责路由计算与邻居建立;数据面则通过 Arista 自研的转发芯片(如 Jericho、Trident 系列)执行线速转发。EOS 的 SysDB 作为中央数据库,保存所有配置与运行状态,各进程通过 SysDB 读写状态,实现控制面与数据面的解耦。
这种架构对多租户的意义在于:每个 VRF 在控制面拥有独立的路由表实例,在数据面拥有独立的转发表项,互不干扰。EOS 支持在单台物理设备上创建多个 VRF,每个 VRF 可独立运行路由协议、独立配置接口和策略。例如,在 7280R 系列上,可同时运行 32 个以上 VRF,每个 VRF 的路由条目数受硬件表项限制,但逻辑上完全隔离。
二、租户概念:从业务视角到网络视角
“租户”在云网环境中通常指一个独立的业务单元或客户,拥有独立的地址空间、路由策略和安全边界。在网络层面,租户通过 VRF 实现三层隔离,通过 VLAN 或 VXLAN 实现二层隔离。一个租户可以对应一个 VRF,也可以对应多个 VRF(例如租户内部再划分生产、测试、管理域)。关键原则是:不同租户之间默认不可互访,除非显式配置路由泄漏或防火墙策略。
实际工程中,租户标识通常与 VRF 名称、Route Distinguisher(RD)、Route Target(RT)绑定。例如,租户 A 的 VRF 命名为 TENANT_A,RD 为 65000:100,RT 为 65000:100;租户 B 的 VRF 为 TENANT_B,RD 为 65000:200,RT 为 65000:200。这样在 EVPN 环境中,BGP 通过 RT 控制路由的导入导出,实现租户间路由的精确控制。
三、VRF 与 VLAN/VXLAN 的关系
VRF 是三层隔离单元,VLAN 是二层隔离单元,VXLAN 则是二层 over 三层的隧道封装技术。三者关系可概括为:VLAN 提供本地二层隔离,VXLAN 提供跨三层网络的二层扩展,VRF 提供三层路由隔离。在 Arista EOS 中,一个 VRF 可以包含多个 VLAN,每个 VLAN 对应一个 VXLAN VNI(VXLAN Network Identifier)。VNI 与 VLAN 的映射关系在 VTEP(VXLAN Tunnel End Point)上配置,通常为 1:1 映射,也可通过 VLAN 转换实现多对一。
例如,租户 A 的 VLAN 10 映射到 VNI 10010,VLAN 20 映射到 VNI 10020;租户 B 的 VLAN 10 映射到 VNI 20010。这样即使两个租户使用相同的 VLAN ID,由于 VNI 不同,二层流量完全隔离。在三层转发时,每个 VRF 拥有独立的路由表,VXLAN 封装后的流量根据 VRF 中的路由表进行转发,确保租户间路由不泄漏。
四、多租户网络典型拓扑与业务需求
典型的多租户数据中心网络采用 Spine-Leaf 架构,Leaf 作为 VTEP 和租户接入点,Spine 作为 Underlay 核心。每个租户在 Leaf 上拥有独立的 VRF 和 VLAN/VXLAN 映射。Underlay 通常运行 eBGP 或 OSPF 实现 IP 可达性,Overlay 运行 BGP EVPN 实现租户路由和 MAC 地址的传递。业务需求方面,常见要求包括:租户间二层隔离、三层隔离、租户内跨 Leaf 的二层扩展、租户内跨子网的三层互通、以及租户间受控互访(如共享服务区)。
以某金融云为例,租户 A 需要跨两个 Leaf 实现 VLAN 10 的二层扩展,同时租户 A 的 VLAN 10 与 VLAN 20 之间需要三层互通。配置时,在 Leaf1 和 Leaf2 上分别创建 VRF TENANT_A,配置 VLAN 10 映射 VNI 10010,VLAN 20 映射 VNI 10020,并在 VRF 内配置 VLAN 接口 IP 作为网关。BGP EVPN 通过 RT 65000:100 导入导出路由,确保两个 Leaf 上的租户 A 路由互通。验证时,可在 Leaf1 上执行 show vrf TENANT_A 查看 VRF 状态,执行 show vxlan vni 查看 VNI 映射,执行 show bgp evpn summary 查看 EVPN 邻居状态。若租户 A 的 PC 能 ping 通租户 A 另一子网的网关,且无法 ping 通租户 B 的地址,则隔离与互通均符合预期。
五、关键参数与配置示例
以下为 Leaf 上租户 A 的 VRF 与 VXLAN 配置片段(示例参数,非实测):
vrf instance TENANT_A
!
interface Vlan10
vrf TENANT_A
ip address 10.10.10.1/24
!
interface Vlan20
vrf TENANT_A
ip address 10.10.20.1/24
!
interface Vxlan1
vxlan source-interface Loopback0
vxlan vrf TENANT_A vni 10010
vxlan vlan 10 vni 10010
vxlan vlan 20 vni 10020
!
router bgp 65000
vrf TENANT_A
rd 65000:100
route-target import evpn 65000:100
route-target export evpn 65000:100
neighbor 10.0.0.2 remote-as 65000
neighbor 10.0.0.2 update-source Loopback0
address-family evpn
neighbor 10.0.0.2 activate
该配置中,vxlan vrf TENANT_A vni 10010 将 VRF 与 VNI 关联,vxlan vlan 10 vni 10010 将 VLAN 10 映射到 VNI 10010。BGP EVPN 通过 RT 65000:100 控制路由导入导出。实际部署时,需确保 Underlay 路由可达、Loopback0 地址互通、EVPN 邻居状态为 Established。
总结来说,EOS 多租户隔离的核心是“VRF 管三层、VLAN 管本地二层、VXLAN 管跨站点二层”,三者通过 VNI 和 RT 参数协同工作。掌握这一映射关系,就能在 Spine-Leaf 拓扑中灵活设计租户网络,并快速定位隔离或互通异常。