Skip to main content

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

  1. Flexible Traffic Engineering

    • Path selection based on business requirements
    • Fine-grained QoS control
  2. Simplified Operations

    • Unified color semantics
    • Centralized policy management
  3. Multi-Tenancy Support

    • Different tenants use different colors
    • Isolation and differentiation
  4. Automation-Friendly

    • Easy integration with SDN controllers
    • Support for dynamic policy adjustment

Limitations

  1. Requires Network-Wide Support

    • At least critical path devices need CAR support
    • Incremental deployment may be complex
  2. Additional Routing Overhead

    • More route entries
    • Larger BGP updates
  3. Configuration Complexity

    • Requires careful color scheme design
    • Policy management complexity
  4. 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\````