RFC 9871 - BGP Color-Aware Routing (CAR)
Document Information
- RFC Number: 9871
- Title: BGP Color-Aware Routing (CAR)
- Publication Date: November 2025
- Status: EXPERIMENTAL
- Authors:
- D. Rao, Ed. (Cisco Systems)
- S. Agrawal, Ed. (Cisco Systems)
Abstract
This document describes a BGP-based routing solution to establish end-to-end intent-aware paths across a multi-domain transport network. The transport network can span multiple service provider and customer network domains. The BGP intent-aware paths can be used to steer traffic flows for service routes that need a specific intent. This solution is called BGP Color-Aware Routing (BGP CAR).
This document describes the routing framework and BGP extensions to enable intent-aware routing using the BGP CAR solution. The solution defines two new BGP SAFIs (BGP CAR SAFI and BGP VPN CAR SAFI) for IPv4 and IPv6. It also defines an extensible Network Layer Reachability Information (NLRI) model for both SAFIs that allows multiple NLRI types to be defined for different use cases. Each type of NLRI contains key and TLV-based non-key fields for efficient encoding of different per-prefix information. This specification defines two NLRI types: Color-Aware Route NLRI and IP Prefix NLRI. It defines non-key TLV types for the MPLS label stack, SR-MPLS label index, and Segment Routing over IPv6 (SRv6) Segment Identifiers (SIDs). This solution also defines a new Local Color Mapping (LCM) Extended Community.
What is Color-Aware Routing?
Core Concepts
Color (Intent):
- A 32-bit integer value identifying a specific service level or traffic engineering policy
- Example: Color 100 = "Low-Latency Path", Color 200 = "High-Bandwidth Path"
- Unlike traditional "destination-only" routing, CAR considers both destination and color
Color-Aware Routing:
Traditional BGP Routing:
Destination: 10.1.1.0/24 → Select best path
CAR Routing:
Destination: 10.1.1.0/24 + Color: 100 → Select best path meeting Color 100 requirements
Destination: 10.1.1.0/24 + Color: 200 → Select best path meeting Color 200 requirements
Use Cases
Use Case 1: Service Differentiation
Enterprise VPN Service:
- VIP customer traffic → Color 100 (Low-latency, High-reliability)
- Standard customer traffic → Color 200 (Best-effort)
- Backup traffic → Color 300 (Low-priority)
Use Case 2: Application Optimization
Cloud Service Provider:
- Real-time video → Color 100 (Jitter-sensitive)
- File transfer → Color 200 (Bandwidth-priority)
- Bulk data → Color 300 (Cost-optimized)
Use Case 3: Multi-Cloud Interconnect
Cross-cloud connectivity:
- Mission-critical apps → Color 100 (Dedicated circuit, Low-latency)
- General apps → Color 200 (Internet, Cost-optimized)
Technical Architecture
BGP Extensions
New BGP Attribute: Color Extended Community
Type: Extended Community
Format:
Type: 0x0b (Color)
Sub-Type: 0x0b
Color Value: 32-bit integer
Examples:
Color:100
Color:200
BGP UPDATE Message
Standard 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 ← New
Routing Process
Step 1: Route Table Organization
Traditional Route Table:
Destination Next-Hop
10.1.1.0/24 → 203.0.113.1
CAR Route Table:
Destination Color Next-Hop
10.1.1.0/24 + None → 203.0.113.1 (Default)
10.1.1.0/24 + 100 → 203.0.113.2 (Low-latency)
10.1.1.0/24 + 200 → 203.0.113.3 (High-bandwidth)
Step 2: Packet Classification
Ingress Router:
1. Inspect packet (based on policy)
2. Assign color value
3. Lookup color-aware route table
4. Forward to appropriate next-hop
Step 3: Path Mapping
Color mapping to physical paths:
Color 100 → SR Policy 1 → Via low-latency links
Color 200 → SR Policy 2 → Via high-bandwidth links
Color 300 → SR Policy 3 → Via cost-optimized path
Integration with Segment Routing (SR)
SR Policy Binding
Configuration example:
sr-policy color 100
candidate-path preference 100
explicit segment-list path1
segment 16001
segment 16002
segment 16003
End-to-End Flow
1. BGP Advertisement: Prefix + Color:100
2. Controller/PCE: Compute SR Policy satisfying Color:100
3. Ingress PE: Map traffic to SR Policy
4. Data Plane: Forward along SR Policy
5. Egress PE: Decapsulate and deliver
Configuration Examples
Basic Configuration
Advertising Routes with Color
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
Receiving and Processing Color
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
Advanced Applications
Application-Based Color Mapping
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
Multi-Color Redundancy
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
# Result: Route carries both Color 100 and 200
# Allows receiver to choose appropriate color
Deployment Considerations
Incremental Deployment
Phase 1: Core Network
1. Enable CAR on core routers
2. Define color policies
3. Configure SR Policies (if using SR)
4. Test color routing functionality
Phase 2: Edge Expansion
5. Enable CAR on PE routers
6. Configure traffic classification
7. Map customer traffic to colors
8. Monitor and optimize
Phase 3: Network-Wide Coverage
9. All BGP speakers support CAR
10. Refine color policies
11. Integrate with business systems
12. Automation and orchestration
Interoperability
Non-CAR Routers:
- Will ignore Color Extended Community
- Process routes using traditional BGP
- Does not affect basic connectivity
Mixed Environment:
CAR Domain 1 ← → Traditional BGP ← → CAR Domain 2
Ignore color Re-add color
Scalability
Route Table Size:
Without CAR: N prefixes
With CAR: N prefixes × M colors
Example:
- 100K prefixes
- 10 colors
- Maximum: 1M routes (theoretical)
- Actual: Depends on color usage
Optimization Recommendations:
- Limit number of colors (recommended < 100)
- Use color aggregation
- Apply colors only to prefixes requiring differentiation
- Deploy Route Reflectors (RR)
Advantages and Limitations
Advantages
-
Flexible Traffic Engineering
- Path selection based on business requirements
- Fine-grained QoS control
-
Simplified Operations
- Unified color semantics
- Centralized policy management
-
Multi-Tenancy Support
- Different tenants use different colors
- Isolation and differentiation
-
Automation-Friendly
- Easy integration with SDN controllers
- Support for dynamic policy adjustment
Limitations
-
Requires Network-Wide Support
- At least critical path devices need CAR support
- Incremental deployment may be complex
-
Additional Routing Overhead
- More route entries
- Larger BGP updates
-
Configuration Complexity
- Requires careful color scheme design
- Policy management complexity
-
Debugging Challenges
- Multiple paths increase troubleshooting difficulty
- Requires new monitoring tools
Monitoring and Troubleshooting
Verification Commands
# View routes with color
show bgp ipv4 unicast 10.1.1.0/24 detail
Extended Community: Color:100
# View color statistics
show bgp color-aware-routing statistics
Color 100: 150 routes
Color 200: 200 routes
# Trace color path
traceroute 10.1.1.1 color 100
Common Issues
Issue 1: Color Loss
Symptom: Color not preserved after route advertisement
Cause: Intermediate router doesn't support CAR or filters Extended Community
Solution: Check BGP neighbor config, enable Extended Community propagation
Issue 2: Suboptimal Path
Symptom: Traffic not using expected color path
Cause: BGP path selection or policy issues
Solution: Check local-preference, AS-Path and other BGP attributes
References
Related RFCs:
- [RFC4360] BGP Extended Communities
- [RFC8664] Path Computation Element (PCE) Communication Protocol (PCEP) Extensions for Segment Routing
- [RFC9256] Segment Routing Policy Architecture
Summary: BGP Color-Aware Routing provides powerful traffic engineering and service differentiation capabilities, enabling complex multi-path management through simple color identifiers. It is a key technology for modern SDN and 5G networks.
Official Document: ````https://www.rfc-editor.org/rfc/rfc9871.txt\````