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
-
Traffic engineering flessibile
- Selezione del percorso basata sui requisiti aziendali
- Controllo QoS a grana fine
-
Operazioni semplificate
- Semantica unificata dei colori
- Gestione centralizzata delle politiche
-
Supporto multi-tenancy
- Tenant diversi usano colori diversi
- Isolamento e differenziazione
-
Favorevole all'automazione
- Facile integrazione con i controller SDN
- Supporto per l'adattamento dinamico delle politiche
Limitazioni
-
Richiede supporto a livello di rete
- Almeno i dispositivi sui percorsi critici devono supportare CAR
- Il deployment incrementale può essere complesso
-
Overhead di routing aggiuntivo
- Più voci di route
- Aggiornamenti BGP più grandi
-
Complessità di configurazione
- Richiede un design attento dello schema dei colori
- Complessità della gestione delle politiche
-
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