BGP in pratica: sessioni, attributi e dirottamenti
BGP-4 (RFC 4271) è un protocollo a vettore di percorso che lavora su TCP porta 179. A differenza dei protocolli interni, non cerca il cammino più breve: applica politiche, cioè decisioni commerciali e tecniche di chi gestisce la rete.
Sessioni e tipi di relazione
Una sessione BGP si instaura fra due router configurati esplicitamente l'uno per l'altro: non c'è scoperta automatica dei vicini. Si distinguono eBGP, fra router di sistemi autonomi diversi, e iBGP, fra router dello stesso AS per propagare internamente le rotte apprese all'esterno.
Le relazioni commerciali fra reti sono di tre tipi, e determinano che cosa ciascuna annuncia all'altra:
- Transito: si paga un operatore perché porti il proprio traffico verso tutta Internet
- Peering: due reti si scambiano gratuitamente il traffico dei rispettivi clienti, di norma in un punto di interscambio come il MIX di Milano
- Cliente: si vende transito a una rete più piccola, e le sue rotte vengono annunciate a tutti
La regola pratica che ne deriva: si annunciano ai peer solo le proprie rotte e quelle dei clienti, mai quelle apprese da altri peer o dal transito — altrimenti si finirebbe a trasportare gratuitamente traffico altrui.
Come viene scelto il percorso
Ricevuti più annunci per lo stesso prefisso, il router li confronta in un ordine rigido. I primi criteri decidono quasi sempre:
- Weight — preferenza locale del singolo router (implementazione Cisco, non propagata)
- Local preference — preferenza valida in tutto l'AS: è la leva con cui si sceglie l'uscita preferita
- Rotte originate localmente
- AS_PATH più corto — meno sistemi autonomi da attraversare
- Origine, poi MED, poi eBGP preferito a iBGP
- A parità, il costo interno verso il router di uscita e infine l'identificativo più basso
Da notare: nessuno di questi criteri misura la latenza reale. Il percorso "migliore" per BGP è quello che soddisfa le politiche, non quello più veloce — ed è il motivo per cui un sito può risultare lento da un operatore e rapido da un altro.
Attributi principali
AS_PATH— la sequenza di AS attraversati; serve anche a evitare i cicli, perché un AS scarta gli annunci in cui compare giàNEXT_HOP— l'indirizzo a cui inoltrare i pacchetti per quel prefissoLOCAL_PREF— propagato solo in iBGP, governa l'uscita preferita dall'ASMED— suggerisce al vicino quale dei propri collegamenti usare per entrareCOMMUNITY— etichette convenzionali con cui si chiede al peer un trattamento specifico, per esempio non riannunciare un prefisso
Una tecnica ricorrente è il prepending: ripetere il proprio AS nell'AS_PATH per allungarlo artificialmente e rendere un percorso meno appetibile, spostando così il traffico in entrata su un'altra linea.
Dirottamenti e difese
Un dirottamento di prefisso avviene quando un AS annuncia indirizzi che non gli
appartengono. Poiché la scelta privilegia il prefisso più specifico, un annuncio di un
/24 attira il traffico destinato al /16 legittimo che lo contiene. Il
più delle volte è un errore di configurazione; a volte è deliberato, per intercettare traffico o
inviare posta indesiderata da indirizzi altrui.
Le contromisure in uso:
- RPKI con ROV — il titolare firma crittograficamente l'autorizzazione ad annunciare un prefisso da un certo AS (ROA), e i router scartano gli annunci non validi. È la difesa più efficace disponibile oggi ed è in adozione crescente
- Filtri sui prefissi costruiti dai database IRR, dove gli operatori registrano cosa possono annunciare
- Limiti sul numero di prefissi per sessione, che fermano gli incidenti da fuga di rotte prima che si propaghino
- MANRS — insieme di buone pratiche condivise fra operatori
RPKI protegge dall'annuncio dell'origine sbagliata, non dalla falsificazione dell'intero percorso: per quella servirebbe BGPsec, la cui adozione è oggi marginale.
Osservare il BGP dall'esterno
L'AS che gestisce un indirizzo è pubblico e verificabile — è il dato che questo sito mostra insieme
alla geolocalizzazione, disponibile anche via API nel campo
asNumber. Per approfondire:
whois -h whois.radb.net AS3269— dati registrati per un sistema autonomo- I looking glass pubblici degli operatori mostrano la tabella BGP vista dai loro router
- RIPE RIS e RouteViews conservano lo storico degli annunci: si può ricostruire cosa è successo durante un disservizio
traceroutemostra i router attraversati, ma non gli AS: per quelli servono strumenti che risolvano ogni salto sul suo sistema autonomo
Vuoi vedere il tuo indirizzo IP in questo momento?
Mostra il mio IP