RFC 9871 - BGP颜色感知路由 (Color-Aware Routing)
发布日期: 2025年11月
状态: EXPERIMENTAL (实验性协议)
作者: D. Rao (Ed.), S. Agrawal (Ed.) - Cisco Systems
摘要 (Abstract)
本文档描述了一种基于BGP的路由解决方案,用于在多域传输网络中建立端到端意图感知路径。传输网络可以跨越多个服务提供商和客户网络域。BGP意图感知路径可用于引导需要特定意图的服务路由的流量。此解决方案称为BGP颜色感知路由(BGP CAR)。
本文档描述了使用BGP CAR解决方案实现意图感知路由的路由框架和BGP扩展。该解决方案为IPv4和IPv6定义了两个新的BGP SAFI(BGP CAR SAFI和BGP VPN CAR SAFI)。它还为两个SAFI定义了可扩展的网络层可达性信息(NLRI)模型,允许为不同用例定义多种NLRI类型。每种NLRI类型包含键和基于TLV的非键字段,用于高效编码不同的每前缀信息。本规范定义了两种NLRI类型:颜色感知路由NLRI和IP前缀NLRI。它定义了用于MPLS标签栈、SR-MPLS标签索引和IPv6上的段路由(SRv6)段标识符(SID)的非键TLV类型。此解决方案还定义了新的本地颜色映射(LCM)扩展社区。
目录 (Table of Contents)
核心章节
-
- 1.1 Terminology (术语)
- 1.2 Illustration (示例)
- 1.3 Requirements Language (需求语言)
-
- 2.1 Data Model (数据模型)
- 2.2 Extensible Encoding (可扩展编码)
- 2.3 BGP CAR Route Origination (路由起源)
- 2.4 BGP CAR Route Validation (路由验证)
- 2.5 BGP CAR Route Resolution (路由解析)
- 2.6 AIGP Metric Computation (AIGP度量计算)
- 2.7 Inherent Multipath Capability (多路径能力)
- 2.8 BGP CAR Signaling Through Different Color Domains (跨颜色域信令)
- 2.9 Format and Encoding (格式和编码)
- 2.10 LCM-EC and BGP Color-EC Usage (LCM-EC和Color-EC使用)
- 2.11 Error Handling (错误处理)
-
4-9. Additional Chapters (附加章节)
- 4. Filtering (过滤)
-
- Scaling (扩展性)
-
- Routing Convergence (路由收敛)
-
- CAR SRv6 (CAR SRv6支持)
-
- CAR IP Prefix Route (CAR IP前缀路由)
-
- VPN CAR (VPN CAR)
-
10-13. IANA, Management, Security & References
- 10. IANA Considerations (IANA考虑)
-
- Manageability and Operational Considerations (可管理性和操作考虑)
-
- Security Considerations (安全考虑)
-
- References (参考文献)
附录
- Appendix A: Illustrations of Service Steering (服务引导示例)
- Appendix B: Color Mapping Illustrations (颜色映射示例)
- Appendix C: CAR SRv6 Illustrations (CAR SRv6示例)
- Appendix D: CAR SAFI NLRI Update Packing Efficiency Calculation (更新打包效率计算)
基本信息
- RFC编号: 9871
- 标题: BGP Color-Aware Routing (CAR)
- 中文标题: BGP颜色感知路由
- 发布日期: 2025年11月
- 状态: EXPERIMENTAL (实验性协议)
- 作者:
- D. Rao (Ed.) - Cisco Systems
- S. Agrawal (Ed.) - Cisco Systems
摘要 (Abstract)
本文档定义了BGP颜色感知路由(CAR),它扩展了BGP以携带颜色信息,使路由器能够基于流量工程策略和服务质量要求选择路径。
什么是颜色感知路由?
核心概念
颜色 (Color):
- 一个32位整数值,标识特定的服务级别或流量工程策略
- 例如: 颜色100 = "低延迟路径",颜色200 = "高带宽路径"
- 与传统"只看目的地"的路由不同,CAR同时考虑目的地和颜色
颜色感知路由 (Color-Aware Routing):
传统BGP路由决策:
目的地: 10.1.1.0/24 → 选择最佳路径
CAR路由决策:
目的地: 10.1.1.0/24 + 颜色: 100 → 选择满足颜色100要求的最佳路径
目的地: 10.1.1.0/24 + 颜色: 200 → 选择满足颜色200要求的最佳路径
应用场景
场景1: 服务差异化
企业VPN服务:
- VIP客户流量 → 颜色100 (低延迟、高可靠)
- 普通客户流量 → 颜色200 (尽力而为)
- 备份流量 → 颜色300 (低优先级)
场景2: 应用优化
云服务提供商:
- 实时视频 → 颜色100 (抖动敏感)
- 文件传输 → 颜色200 (带宽优先)
- 批量数据 → 颜色300 (成本优化)
场景3: 多云互联
跨云连接:
- 关键应用 → 颜色100 (专线、低延迟)
- 一般应用 → 颜色200 (互联网、成本优化)
技术原理
BGP扩展
新增BGP属性: Color Extended Community
类型: Extended Community
格式:
Type: 0x0b (Color)
Sub-Type: 0x0b
Color Value: 32位整数
示例:
Color:100
Color:200
BGP UPDATE消息
标准BGP UPDATE:
NLRI: 10.1.1.0/24
Next-Hop: 203.0.113.1
AS-Path: 65001 65002
CAR BGP UPDATE:
NLRI: 10.1.1.0/24
Next-Hop: 203.0.113.1
AS-Path: 65001 65002
Extended Community: Color:100 ← 新增
路由选择流程
第1步: 路由表组织
传统路由表:
目的地 下一跳
10.1.1.0/24 → 203.0.113.1
CAR路由表:
目的地 颜色 下一跳
10.1.1.0/24 + 无 → 203.0.113.1 (默认)
10.1.1.0/24 + 100 → 203.0.113.2 (低延迟)
10.1.1.0/24 + 200 → 203.0.113.3 (高带宽)
第2步: 数据包分类
入口路由器:
1. 检查数据包(基于策略)
2. 分配颜色值
3. 查找颜色感知路由表
4. 转发到相应下一跳
第3步: 路径映射
颜色映射到物理路径:
颜色100 → 段路由策略1 → 通过低延迟链路
颜色200 → 段路由策略2 → 通过高带宽链路
颜色300 → 段路由策略3 → 通过经济路径
与段路由(SR)集成
SR Policy绑定
配置示例:
sr-policy color 100
candidate-path preference 100
explicit segment-list path1
segment 16001
segment 16002
segment 16003
端到端流程
1. BGP通告: Prefix + Color:100
2. 控制器/PCE: 计算满足Color:100的SR Policy
3. 入口PE: 将流量映射到SR Policy
4. 数据平面: 沿SR Policy转发
5. 出口PE: 解封装并交付
配置示例
基础配置
通告带颜色的路由
router bgp 65001
neighbor 203.0.113.1 remote-as 65002
address-family ipv4 unicast
network 10.1.1.0/24
route-policy ADD-COLOR out
route-policy ADD-COLOR
set extcommunity color 100
end-policy
接收和处理颜色
router bgp 65001
address-family ipv4 unicast
neighbor 203.0.113.2 remote-as 65002
route-policy MATCH-COLOR in
route-policy MATCH-COLOR
if extcommunity color is 100 then
set local-preference 200
elseif extcommunity color is 200 then
set local-preference 100
endif
end-policy
高级应用
基于应用的颜色映射
class-map match-any REALTIME
match protocol http
match dscp ef
policy-map COLOR-MAPPING
class REALTIME
set extcommunity color 100
class BULK-DATA
set extcommunity color 300
class class-default
set extcommunity color 200
多颜色冗余
router bgp 65001
address-family ipv4 unicast
network 10.1.1.0/24
route-policy MULTI-COLOR out
route-policy MULTI-COLOR
set extcommunity color 100 additive
set extcommunity color 200 additive
end-policy
# 结果: 路由同时携带颜色100和200
# 允许接收方选择合适的颜色
部署考虑
渐进式部署
阶段1: 核心网络
1. 在核心路由器启用CAR
2. 定义颜色策略
3. 配置SR Policy(如果使用SR)
4. 测试颜色路由功能
阶段2: 边缘扩展
5. 在PE路由器启用CAR
6. 配置流量分类
7. 映射客户流量到颜色
8. 监控和优化
阶段3: 全网覆盖
9. 所有BGP speaker支持CAR
10. 细化颜色策略
11. 与业务系统集成
12. 自动化和编排
互操作性
不支持CAR的路由器:
- 将忽略Color Extended Community
- 按传统BGP处理路由
- 不影响基本连通性
混合环境:
CAR域1 ← → 传统BGP域 ← → CAR域2
忽略颜色 重新添加颜色
可扩展性
路由表大小:
无CAR: N个前缀
有CAR: N个前缀 × M种颜色
示例:
- 100K前缀
- 10种颜色
- 最大: 1M条路由(理论)
- 实际: 取决于颜色使用率
优化建议:
- 限制颜色数量(推荐<100)
- 使用颜色聚合
- 只在需要差异化的前缀上使用颜色
- 部署路由反射器(RR)
优势和限制
优势
-
灵活的流量工程
- 基于业务需求的路径选择
- 细粒度的QoS控制
-
简化操作
- 统一的颜色语义
- 集中的策略管理
-
多租户支持
- 不同租户使用不同颜色
- 隔离和差异化
-
自动化友好
- 易于与SDN控制器集成
- 支持动态策略调整
限制
-
需要全网支持
- 至少关键路径上的设备需支持CAR
- 渐进部署可能复杂
-
额外的路由开销
- 更多路由条目
- 更大的BGP更新
-
配置复杂性
- 需要精心设计颜色方案
- 策略管理复杂
-
调试挑战
- 多路径增加故障排查难度
- 需要新的监控工具
监控和故障排查
验证命令
# 查看带颜色的路由
show bgp ipv4 unicast 10.1.1.0/24 detail
Extended Community: Color:100
# 查看颜色统计
show bgp color-aware-routing statistics
Color 100: 150 routes
Color 200: 200 routes
# 跟踪颜色路径
traceroute 10.1.1.1 color 100
常见问题
问题1: 颜色丢失
症状: 路由通告后颜色未保留
原因: 中间路由器不支持CAR或过滤了Extended Community
解决: 检查BGP邻居配置,启用Extended Community传递
问题2: 路径不优
症状: 流量未走预期的颜色路径
原因: BGP路径选择或策略问题
解决: 检查local-preference、AS-Path等BGP属性
参考文献
相关RFC:
- [RFC4360] BGP Extended Communities
- [RFC8664] Path Computation Element (PCE) Communication Protocol (PCEP) Extensions for Segment Routing
- [RFC9256] Segment Routing Policy Architecture
总结: BGP颜色感知路由为网络提供了强大的流量工程和服务差异化能力,通过简单的颜色标识实现复杂的多路径管理,是现代SDN和5G网络的关键技术。