Passa al contenuto principale

RFC 9871 - Routing BGP consapevole del colore (Color-Aware Routing)

Informazioni sul documento

  • Numero RFC: 9871
  • Titolo: BGP Color-Aware Routing (CAR)
  • Data di pubblicazione: Novembre 2025
  • Stato: EXPERIMENTAL (Sperimentale)
  • Autori:
    • D. Rao, Ed. (Cisco Systems)
    • S. Agrawal, Ed. (Cisco Systems)

Sommario (Abstract)

Questo documento descrive una soluzione di routing basata su BGP per stabilire percorsi consapevoli dell'intento end-to-end attraverso una rete di trasporto multi-dominio. La rete di trasporto può estendersi su più domini di fornitori di servizi e reti clienti. I percorsi BGP consapevoli dell'intento possono essere utilizzati per indirizzare i flussi di traffico per le route di servizio che necessitano di un intento specifico. Questa soluzione è chiamata Routing BGP consapevole del colore (BGP CAR).

Questo documento descrive il framework di routing e le estensioni BGP per abilitare il routing consapevole dell'intento utilizzando la soluzione BGP CAR. La soluzione definisce due nuovi SAFI BGP (BGP CAR SAFI e BGP VPN CAR SAFI) per IPv4 e IPv6. Definisce inoltre un modello estensibile di Network Layer Reachability Information (NLRI) per entrambi i SAFI che consente di definire più tipi di NLRI per diversi casi d'uso. Ogni tipo di NLRI contiene campi chiave e campi non-chiave basati su TLV per una codifica efficiente di diverse informazioni per prefisso. Questa specifica definisce due tipi di NLRI: NLRI di route consapevole del colore (Color-Aware Route) e NLRI di prefisso IP. Definisce tipi di TLV non-chiave per lo stack di etichette MPLS, l'indice di etichette SR-MPLS e gli identificatori di segmento (SID) Segment Routing over IPv6 (SRv6). Questa soluzione definisce anche una nuova community estesa Local Color Mapping (LCM).

Cos'è il Routing consapevole del colore?

Concetti fondamentali

Colore (Intent):

  • Un valore intero a 32 bit che identifica un livello di servizio specifico o una politica di traffic engineering
  • Esempio: Colore 100 = "Percorso a bassa latenza", Colore 200 = "Percorso ad alta larghezza di banda"
  • A differenza del routing tradizionale "solo destinazione", il CAR considera sia la destinazione che il colore

Routing consapevole del colore:

Routing BGP tradizionale:
Destinazione: 10.1.1.0/24 → Selezionare il miglior percorso

Routing CAR:
Destinazione: 10.1.1.0/24 + Colore: 100 → Selezionare il miglior percorso che soddisfa i requisiti del Colore 100
Destinazione: 10.1.1.0/24 + Colore: 200 → Selezionare il miglior percorso che soddisfa i requisiti del Colore 200

Casi d'uso

Caso d'uso 1: Differenziazione del servizio

Servizio VPN aziendale:
- Traffico cliente VIP → Colore 100 (Bassa latenza, Alta affidabilità)
- Traffico cliente standard → Colore 200 (Best-effort)
- Traffico di backup → Colore 300 (Bassa priorità)

Caso d'uso 2: Ottimizzazione delle applicazioni

Provider di servizi cloud:
- Video in tempo reale → Colore 100 (Sensibile al jitter)
- Trasferimento file → Colore 200 (Priorità larghezza di banda)
- Dati in massa → Colore 300 (Ottimizzazione dei costi)

Caso d'uso 3: Interconnessione multi-cloud

Connettività cross-cloud:
- Applicazioni mission-critical → Colore 100 (Circuito dedicato, Bassa latenza)
- Applicazioni generali → Colore 200 (Internet, Ottimizzazione dei costi)

Architettura tecnica

Estensioni BGP

Nuovo attributo BGP: Community estesa Color

Tipo: Extended Community
Formato:
Type: 0x0b (Color)
Sub-Type: 0x0b
Color Value: Intero a 32 bit

Esempi:
Color:100
Color:200

Messaggio BGP UPDATE

BGP UPDATE standard:
NLRI: 10.1.1.0/24
Next-Hop: 203.0.113.1
AS-Path: 65001 65002

BGP UPDATE CAR:
NLRI: 10.1.1.0/24
Next-Hop: 203.0.113.1
AS-Path: 65001 65002
Extended Community: Color:100 ← Nuovo

Processo di routing

Passo 1: Organizzazione della tabella di routing

Tabella di routing tradizionale:
Destinazione Next-Hop
10.1.1.0/24 → 203.0.113.1

Tabella di routing CAR:
Destinazione Colore Next-Hop
10.1.1.0/24 + Nessuno → 203.0.113.1 (Predefinito)
10.1.1.0/24 + 100 → 203.0.113.2 (Bassa latenza)
10.1.1.0/24 + 200 → 203.0.113.3 (Alta larghezza di banda)

Passo 2: Classificazione dei pacchetti

Router di ingresso:
1. Ispezionare il pacchetto (in base alla politica)
2. Assegnare un valore di colore
3. Cercare nella tabella di routing consapevole del colore
4. Inoltrare al next-hop appropriato

Passo 3: Mappatura del percorso

Mappatura del colore ai percorsi fisici:
Colore 100 → Politica SR 1 → Via link a bassa latenza
Colore 200 → Politica SR 2 → Via link ad alta larghezza di banda
Colore 300 → Politica SR 3 → Via percorso ottimizzato per i costi

Integrazione con Segment Routing (SR)

Binding della politica SR

Esempio di configurazione:
sr-policy color 100
candidate-path preference 100
explicit segment-list path1
segment 16001
segment 16002
segment 16003

Flusso end-to-end

1. Annuncio BGP: Prefisso + Color:100
2. Controller/PCE: Calcolare la politica SR che soddisfa Color:100
3. PE di ingresso: Mappare il traffico alla politica SR
4. Data plane: Inoltrare lungo la politica SR
5. PE di uscita: Decapsulare e consegnare

Esempi di configurazione

Configurazione di base

Annunciare route con colore

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

Ricevere e processare il colore

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

Applicazioni avanzate

Mappatura del colore basata sull'applicazione

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

Ridondanza multi-colore

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

# Risultato: La route porta sia il Colore 100 che il 200
# Consente al ricevente di scegliere il colore appropriato

Considerazioni per il deployment

Deployment incrementale

Fase 1: Rete centrale

1. Abilitare CAR sui router centrali
2. Definire le politiche dei colori
3. Configurare le politiche SR (se si usa SR)
4. Testare la funzionalità di routing per colore

Fase 2: Espansione edge

5. Abilitare CAR sui router PE
6. Configurare la classificazione del traffico
7. Mappare il traffico cliente ai colori
8. Monitorare e ottimizzare

Fase 3: Copertura a livello di rete

9. Tutti i BGP speaker supportano CAR
10. Raffinare le politiche dei colori
11. Integrare con i sistemi aziendali
12. Automazione e orchestrazione

Interoperabilità

Router non-CAR:

  • Ignoreranno la community estesa Color
  • Processeranno le route usando BGP tradizionale
  • Non influisce sulla connettività di base

Ambiente misto:

Dominio CAR 1 ← → BGP tradizionale ← → Dominio CAR 2
Ignorare colore Riaggiungere colore

Scalabilità

Dimensione della tabella di routing:

Senza CAR: N prefissi
Con CAR: N prefissi × M colori

Esempio:
- 100K prefissi
- 10 colori
- Massimo: 1M route (teorico)
- Reale: Dipende dall'utilizzo dei colori

Raccomandazioni per l'ottimizzazione:

  • Limitare il numero di colori (raccomandato < 100)
  • Utilizzare l'aggregazione dei colori
  • Applicare i colori solo ai prefissi che richiedono differenziazione
  • Implementare Route Reflector (RR)

Vantaggi e limitazioni

Vantaggi

  1. Traffic engineering flessibile

    • Selezione del percorso basata sui requisiti aziendali
    • Controllo QoS a grana fine
  2. Operazioni semplificate

    • Semantica unificata dei colori
    • Gestione centralizzata delle politiche
  3. Supporto multi-tenancy

    • Tenant diversi usano colori diversi
    • Isolamento e differenziazione
  4. Favorevole all'automazione

    • Facile integrazione con i controller SDN
    • Supporto per l'adattamento dinamico delle politiche

Limitazioni

  1. Richiede supporto a livello di rete

    • Almeno i dispositivi sui percorsi critici devono supportare CAR
    • Il deployment incrementale può essere complesso
  2. Overhead di routing aggiuntivo

    • Più voci di route
    • Aggiornamenti BGP più grandi
  3. Complessità di configurazione

    • Richiede un design attento dello schema dei colori
    • Complessità della gestione delle politiche
  4. Sfide di debug

    • Percorsi multipli aumentano la difficoltà di troubleshooting
    • Richiede nuovi strumenti di monitoraggio

Monitoraggio e risoluzione dei problemi

Comandi di verifica

# Visualizzare le route con colore
show bgp ipv4 unicast 10.1.1.0/24 detail
Extended Community: Color:100

# Visualizzare le statistiche dei colori
show bgp color-aware-routing statistics
Color 100: 150 routes
Color 200: 200 routes

# Tracciare il percorso del colore
traceroute 10.1.1.1 color 100

Problemi comuni

Problema 1: Perdita del colore

Sintomo: Il colore non viene preservato dopo l'annuncio della route
Causa: Il router intermedio non supporta CAR o filtra la community estesa
Soluzione: Verificare la configurazione del neighbor BGP, abilitare la propagazione della community estesa

Problema 2: Percorso subottimale

Sintomo: Il traffico non utilizza il percorso del colore previsto
Causa: Problemi di selezione del percorso BGP o di politica
Soluzione: Verificare local-preference, AS-Path e altri attributi BGP

Riferimenti

RFC correlati:

  • [RFC4360] BGP Extended Communities
  • [RFC8664] Path Computation Element (PCE) Communication Protocol (PCEP) Extensions for Segment Routing
  • [RFC9256] Segment Routing Policy Architecture

Riepilogo: Il Routing BGP consapevole del colore fornisce potenti capacità di traffic engineering e differenziazione del servizio, consentendo una gestione complessa multi-percorso attraverso semplici identificatori di colore. È una tecnologia chiave per le reti SDN e 5G moderne.


Documento ufficiale: https://www.rfc-editor.org/rfc/rfc9871.txt