域间路由 · RFC 4271

Border Gateway Protocol

互联网的域间路由协议,也是现代 DC fabric 的控制平面。OcNOS 实现了 BGP-4(RFC 4271),用于 SP 转接、IXP 对等互联以及 leaf-spine DC underlay。

BGP 对等拓扑

两个自治系统通过 eBGP 交换路由,本地 AS 内部通过 Route Reflector 运行 iBGP,以扩展全互联对等。

BGP 拓扑:AS 65001 与 AS 65002 之间建立 eBGP 对等连接,两台 PE 通过 Route Reflector 运行 iBGP
BGP:两个 AS 之间建立 eBGP 对等连接,AS 65001 内部运行 iBGP 并部署 Route Reflector。

在服务提供商与 DC 场景中的 BGP

BGP-4(RFC 4271)是一种路径矢量协议,用于在自治系统之间交换可达性信息。其策略模型(包括 route map、community 标记和 AS-path 过滤)让运维人员能够跨 AS 边界对流量工程进行精确控制。BGP 多协议扩展(RFC 4760)允许同一会话承载多个地址族:IPv4、IPv6、VPN、EVPN、SR-TE 等等。

在数据中心,BGP 已取代 OSPF 和 IS-IS,成为大规模 leaf-spine 设计中事实上的 underlay 协议。RFC 7938(Use of BGP for Routing in Large-Scale Data Centers)记录了这一转变:eBGP 作为唯一的路由协议,每台 leaf 使用一个私有 ASN,所有 spine 共享一个 ASN,并通过 BGP 多路径实现 ECMP 负载分担。OcNOS 以 BGP unnumbered(RFC 5549)、ADD-PATH(RFC 7911)以及 eBGP 和 iBGP 多路径支持这一设计。

BGP-LU(RFC 3107)将 MPLS 标签随 BGP 前缀一并分发,使得无需 LDP 即可实现跨 AS 的 MPLS LSP 拼接——这正是基于 BGP 信令的 L3VPN Option C 跨 AS 部署的基础,无需在边界交换完整 VPN 路由表。

BGP FlowSpec

BGP FlowSpec(RFC 5575、RFC 8955)将流量流规范作为 BGP 路由进行分发。每条 FlowSpec 路由匹配前缀、协议、端口或 DSCP 等字段并携带 REDIRECT 或 RATE-LIMIT 动作。借此可在网络边缘实现分布式 DDoS 缓解:控制器同时向所有 PE 路由器下发 FlowSpec 前缀,将攻击流量黑洞化或限速,而无需逐设备手工配置。

OcNOS 实现

BGP-4 基础

4 字节 ASN(RFC 6793)。MD5 TCP 认证(RFC 2385)。Graceful Restart(RFC 4724)。BGP NOTIFICATION 原因码。

路由反射器

支持 RR 集群、单集群多 RR 客户端、基于 ORIGINATOR_ID 与 CLUSTER_LIST 的环路防护、联邦(RFC 5065),并为大规模部署提供按需 RR。

ADD-PATH / ECMP

RFC 7911 ADD-PATH,支持 eBGP 和 iBGP 多路径负载分担。

BGP-LU

支持 RFC 3107 标签单播:按前缀分配标签,可在无 LDP 的情况下完成跨 AS MPLS LSP 拼接,并兼容与 SR-MPLS 的共存。

FlowSpec

OcNOS-SP 上的 RFC 8955 BGP FlowSpec,自 OcNOS 6.3.0 起提供。

EVPN 地址族

L2VPN EVPN AFI/SAFI(25/70)。Type-2、Type-3、Type-4、Type-5 路由。RT 导入/导出策略。面向 DC leaf-spine 的 eBGP EVPN。

BFD 快速排出

支持面向 BGP 的 BFD(RFC 5882):亚秒级邻居故障检测,按会话分配 BFD discriminator,并在 BFD down 时联动撤回 ECMP next-hop。

策略与过滤

支持 route map、prefix-list、community-list。包含 Large Community(RFC 8092)、用于 VPN RT 的 Extended Community、AS-path 正则过滤、NEXT_HOP 重写以及 local preference 操控。

经 OcNOS 认证的硬件

仅供参考。 以下平台是经 BGP 认证硬件的代表性子集。完整且实时更新的合格平台列表(含 ASIC、端口密度与版本覆盖情况)维护于 OcNOS 硬件兼容性列表中。

UfiSpace S9600-32X
Qumran2c · 32×100G
UfiSpace S9610-36D
Jericho2c+ · 36×400G
Edgecore AS7946-74XKSB
Qumran2c · 64×25G + 10×100G
UfiSpace S9510-28DC
Qumran2a · 24×25G + 2×100G + 2×400G
Edgecore AS7326-56X
Trident 3 X7 · 48×25G + 8×100G
Edgecore AS9726-32DB
Trident 4 · 32×400G
Edgecore AS9736-64D
Tomahawk 4 · 64×400G
Edgecore AIS800-64D
Tomahawk 5 · 64×800G

对比所有 OcNOS 认证平台上的 BGP 支持

打开功能矩阵 →

常见问题

BGP 用于什么?
BGP 在自治系统之间交换路由可达性,使其成为互联网的域间路由协议。它还广泛用作大规模 leaf-spine data center fabric 中的 underlay 控制平面,其中 eBGP 运行于 leaf 交换机与 spine 交换机之间。
为什么 data center fabric 中使用 BGP,而非 OSPF 或 IS-IS?
RFC 7938 描述了在大型 leaf-spine 设计中将 eBGP 作为唯一路由协议的做法:每台 leaf 拥有各自的私有 ASN,所有 spine 共享一个 ASN,并由 BGP 多路径将流量分散到各条 ECMP 路径上。OcNOS 在每个 OcNOS-DC 和 OcNOS-SP SKU 层级中都支持 BGP unnumbered(RFC 5549)、ADD-PATH(RFC 7911)以及 eBGP 和 iBGP 多路径。
什么是BGP FlowSpec?
BGP FlowSpec (RFC 5575、RFC 8955) 将流量流规格作为 BGP 路由进行分发,每条路由匹配前缀、协议、端口或 DSCP 等字段,并携带重定向或限速动作。它可实现分布式 DDoS 缓解:控制器下发一条 FlowSpec 路由,所有边缘路由器即刻同时执行。
什么是 BGP-LU?
BGP-LU(BGP labeled unicast,RFC 3107)在分发 BGP 前缀的同时分发 MPLS 标签,从而无需 LDP 即可实现 inter-AS 的 MPLS LSP 拼接。它是跨 AS 边界、由 BGP 信令实现的 L3VPN Option C 部署的基础。OcNOS 支持与 SR-MPLS 共存的 BGP-LU。
哪些硬件可运行 OcNOS BGP?
OcNOS 的 BGP 支持 UfiSpace、Edgecore 等厂商的多款开放路由器和交换机,涵盖 Broadcom Qumran、Jericho2、Trident 与 Tomahawk 芯片。当前的认证清单维护于 OcNOS Hardware Compatibility List 中。