站点精选
园区网前沿实践:基于开放网络架构的云化路由设计
2025-01-21
底层物理网络设计
如下图所示,区别于传统的“接入-汇聚-核心”架构,新一代云化园区比照数据中心网络采用 Leaf-Spine 的 Clos 架构组网,Leaf 和 Spine 层都被设计成独立的 AS 并通过 eBGP 互联,支持终端设备以 1GE 及以上端口速率接入网络。
园区底层物理网的云化升级关键是将 EVPN 和 BGP 等能力下沉到接入级交换机。目前全功能的企业级SONiC(AsterNOS)可稳定运行在园区交换机上,完全支持将此类成熟的云网技术引入园区。

由此,我们构建了足够灵活、可靠的全三层网络来承载园区日益复杂、多变的网络业务,消除了原有传统架构用于业务分区管理的二层网络,也无需引入堆叠架构。
根据实际需求,我们有时也会在 Spine 和 Leaf 之间添加二层交换机,但其唯一功能是扩展端口容量,不会参与路由、EVPN 或 BGP 操作。
这种设计对大型园区的好处十分明显,例如杜绝内网广播风暴,降低网络架构复杂度(一键下发配置模板做到”全自动BGP”);同时也具备一定的内生安全性(例如隔绝了依赖广播的病毒攻击等等),以及高度适应企业数字化转型的云原生特性。
终端IP地址规划和分配
回归到路由设计的话题,构建全三层路由网络的重难点是合理规划和分配 IP 地址。
我们知道,传统园区网络设计中不可避免的一大挑战来自交换机的表项资源,其大小决定了园区接入规模的上限,这也是为什么曾经我们需要大型机框作为核心路由来支持超大型网络。
而在上述的云化园区网里,我们并未引入任何昂贵的机框设备,那么仅凭全盒式的开放交换机设备是如何做到的呢?


简言之,通过聚合路由技术和合理的IP分配策略,我们可以有效节约路由表项资源,并结合多级的 Leaf-Spine 架构将网络平滑扩容到30K+终端接入规模。
两种不同类型的终端路由信息
园区网络中的终端大体可分为漫游和非漫游两种类型。
对于非漫游终端,我们可以使用聚合路由,即将多个终端设备 IP 地址聚合到一个子网路由,以减少交换机表项空间占用。
聚合路由的正常运行需要与 IP 地址分配策略紧密结合,而借助 DHCP Option 82,我们可以确保同一 Leaf 交换机下的所有非漫游终端设备聚合在同一子网内。
DHCP Option 82 即“中继代理信息选项”。园区Leaf交换机作为 DHCP 中继代理设备,会在客户端发起的DHCP请求报文中添加 Option 82 字段,将 DHCP 客户端的位置信息附加进去提供给DHCP 服务器,后者利用该字段信息为主机分配合适的IP地址和其他配置信息;中继代理设备会在将DHCP回复转发给客户端之前删除该字段。

对于漫游终端不会使用聚合路由,而是保留其原有的 IP 地址。即使终端漫游到不同的 Leaf 交换机,也将一直使用原有的主机路由信息接入网络。
Spine 层交换机负责正确维护这些漫游终端的主机路由信息,整网范围皆为“云漫游”域。这种新架构下我们无需建立CAPWAP隧道让流量绕行转发,配置管理上也做到了高度简化。
以上过程中所有二层数据帧都将被转发并转换为三层报文,ARP 侦听机制在其中起到了至关重要的作用。
ARP 侦听机制
终端发起 ARP 请求时,其接入的Leaf 交换机会通过 ARP 侦听机制生成 ARP 和 IP 地址之间的映射(将ARP表项转换为32位主机路由),将这些信息同步到直连的 Spine 设备上,并通过BGP重分发学到的主机路由使其在 Spine 层传播,但不会再发送到其他 Leaf 交换机上。

最终,各类主机的路由信息会以如下方式逐级汇总:
-
Leaf 交换机保存本地连接的主机路由和通往上层 Spine 交换机的默认路由
-
Spine 层交换机维护整个网络的路由,包括整网所有终端的主机路由信息
-
更上层的网络设备(如FW)路由表存放非漫游终端的聚合路由和漫游终端的主机路由
如此一来,无论是 MAC 地址表还是主机路由表,Leaf 交换机都只存储本地路由和默认路由,只有高性能的 Spine 层交换机维护全局路由信息,从而给后续网络扩容留有充足空间。
BGP 路由快速收敛
我们的整个网络采用 BGP 路由协议,利用 BFD (双向转发检测)实现快速路由收敛。BGP 使用 BFD 监控链路和节点状态,可在单链路或单节点故障时实现快速恢复,故障检测时间约为
150
毫秒,性能可调。发生故障时,流量会自动切换到备用交换机,确保快速恢复端到端服务。EVPN Multihoming 技术确保终端高可靠接入
为了保证终端访问的可靠性,接入园区网络的服务器可采用 EVPN-Multihoming 技术,将其连接到两个 Leaf 交换机上作为主-主备份的双上行接入;对于无线AP也可以采用类似的设计,将它们连接到两个 Leaf 交换机,以确保在单链路故障时业务不中断。

2024-10-30
部署教程:在VM上进行Soft-RoCE的功能验证与性能测试
本文档主要讲解如何在RHEL的社区发行版Rocky 8.5系统上配置部署SoftRoCE,进行TCP/IP模式和S…
2024-10-23
操作指南:基于WireGuard的FullMesh VPN组网方案
WireGuard是由Jason Donenfeld等人用C语言编写的一个开源VPN协议,被视为下一代VPN协议,…
2024-10-17
全流程演示: 如何从0到1构建分布式GPU计算环境
本文将从硬件选型,到服务器侧的基础配置、GPU驱动安装和集合通讯库配置,以及无损以太网的启用,直至大模型导入和训练…
2024-10-15
CX102S-DPU开放智能网关-DPU操作系统安装指导-Debian
CX102S-DPU开放智能网关内部核心模块为1*交换芯片+2*DPU(高性能计算单元),其中两张DPU和交换芯片…