KNOWLEDGE

AS / ASN / routing BGP: capire l'ossatura di Internet

Internet non è una sola rete, ma oltre 87.000 sistemi autonomi (AS) interconnessi tramite il protocollo BGP. Cos'è un numero AS? Come funziona BGP? Come avvengono le perdite di route (route leak) e i dirottamenti?

In breve

«Internet» è in realtà formato da oltre 87.000 reti indipendenti (AS, Autonomous System) interconnesse tra loro, ciascuna con un numero univoco (ASN, ad es. AS13335 = Cloudflare). Questi AS si scambiano le route tramite BGP, annunciando «ecco i blocchi di IP che posso raggiungere», e formano così una tabella di routing globale (circa 1 milione di prefissi IPv4 e 200.000 prefissi IPv6). Un pacchetto da casa tua a Google attraversa in genere 4-15 AS. Vediamolo passo per passo.

I. Cos'è un AS — Autonomous System

Un AS (sistema autonomo) è una rete o un gruppo di reti sottoposto a un'unica politica di routing amministrativa. Il protocollo di routing usato all'interno di un AS (OSPF / IS-IS) è affar suo, ma tra AS si usa BGP per annunciare pubblicamente i prefissi IP.

  • Un grande ISP è di per sé un AS (China Telecom AS4134, China Unicom AS4837, China Mobile AS9808)
  • Un grande provider cloud è un AS (Google AS15169, Cloudflare AS13335, AWS AS16509)
  • Università, pubbliche amministrazioni e grandi aziende possono avere un proprio AS
  • L'IP di un normale utente con connessione domestica è ricavato dall'AS del suo ISP: gli utenti finali non hanno bisogno di un proprio AS

1.1 Chi assegna gli ASN

Gli ASN (numeri AS) sono gestiti da 5 registri Internet regionali (RIR):

RIRRegioneIntervallo ASN tipico
ARINNord AmericaAS1-AS6655 + in parte
RIPE NCCEuropa / Medio OrienteAS6656-AS9215 + in parte
APNICAsia-PacificoAS17676-AS18431 + in parte
LACNICAmerica LatinaAS27648-AS28671 + in parte
AFRINICAfricaAS36864-AS37887 + in parte

Gli ASN erano inizialmente a 16 bit (0-65535, cominciati a scarseggiare dopo il 1996); oggi sono a 32 bit (0-4294967295, RFC 6793). Attualmente nel mondo ne sono effettivamente in uso circa 120.000.

1.2 Come leggere un ASN: i formati

AS13335 // vecchio formato (16 bit)
AS393227 // nuovo formato solo numerico (32 bit)
AS6.10 // vecchio formato con punto (= 6×65536+10 = 393226; l'RFC 5396 indica asplain come notazione preferita)

Oggi si usa semplicemente il formato numerico. Il prefisso «AS» si può omettere, ma scriverlo è più chiaro.

II. BGP: il «sistema dei codici postali» di Internet

BGP (Border Gateway Protocol), RFC 4271, è l'unico protocollo di routing usato tra AS. Ogni AS usa BGP per annunciare agli AS vicini: «posso raggiungere questi prefissi IP e, passando da me, puoi raggiungere questi altri AS più avanti».

2.1 Il cuore di un annuncio BGP: prefisso + AS-PATH

Tabella di routing BGP (estratto da RIPE RIS)
Prefix                Next Hop          AS-PATH
104.16.0.0/13    203.0.113.1   AS3356 AS13335   ← via Lumen verso Cloudflare
104.16.0.0/13    198.51.100.5   AS6939 AS13335   ← via HE.net verso Cloudflare
8.8.8.0/24      203.0.113.1   AS3356 AS15169   ← verso Google DNS
202.106.0.0/16  198.51.100.5   AS6939 AS4847 AS4134 ← verso China Telecom Pechino

L'AS-PATH elenca tutti gli AS attraversati dall'AS di origine (il titolare del prefisso) fino al router attuale. Si legge da destra a sinistra: l'AS più a destra è l'origine, quello più a sinistra è il vicino.

2.2 Come BGP sceglie il percorso migliore

Quando esistono più percorsi per lo stesso prefisso, BGP ne sceglie uno con questo ordine di priorità (in sintesi):

  1. LOCAL_PREF: più alto è meglio — preferenza interna all'AS (quale usare per primo)
  2. AS-PATH più corto è meglio — vince chi attraversa meno AS
  3. Origin: IGP (interno) > EGP > Incomplete
  4. MED (Multi-Exit Discriminator): più basso è meglio — un'indicazione passata tra AS
  5. eBGP > iBGP
  6. Costo IGP: più basso è meglio
  7. Router ID: più basso è meglio (spareggio finale)

Nota: BGP non sceglie necessariamente il percorso più veloce. Un AS-PATH più corto non significa una latenza fisica più bassa. Una tratta intercontinentale attraverso 1 AS può essere più lenta di una tratta nella stessa città attraverso 3 AS.

III. Tier 1 / Tier 2 / Tier 3: la gerarchia degli ISP

Tutti gli AS rientrano in tre livelli a seconda che debbano pagare o meno il transit upstream:

LivelloDefinizioneEsempi tipici
Tier 1Non paga nessuno: raggiunge tutto il mondo solo tramite peeringAT&T AS7018, Verizon AS701, Lumen/Level3 AS3356, NTT AS2914, Telia AS1299, Tata AS6453, GTT AS3257, China Telecom AS4134 (secondo alcune definizioni), China Unicom AS4837
Tier 2Fa peering con alcuni Tier 1, ma paga per parte dell'accessoLa maggior parte degli ISP nazionali / grandi provider cloud (Google AS15169, Microsoft AS8075, Cloudflare AS13335)
Tier 3Deve pagare un provider upstream per raggiungere le altre retiPiccoli ISP locali / operatori di accesso

Percorso tipico di un pacchetto da una connessione domestica: casa tua → piccolo ISP locale (Tier 3) → rete provinciale / metropolitana (Tier 2) → backbone di China Telecom (Tier 1) → Tier 1 estero → rete di destinazione.

IV. Provalo tu stesso: quali AS ci sono tra casa tua e Google

Usa mtr -bz (BSD: traceroute -A) per vedere il numero AS di ogni hop:

mtr -bz www.google.com (Linux)
HOST: xxx                Loss%   Snt   Last  Avg   ASN
1.  192.168.1.1                0.0%   10   0.5  0.6   (rete privata, nessun ASN)
2.  61.183.x.x                 0.0%   10   3.2  3.5   AS4134  China Telecom
3.  202.97.x.x                 0.0%   10   5.1  5.4   AS4134  Backbone di China Telecom
4.  202.97.x.x                 0.0%   10  15.2  16.1  AS4134
5.  202.97.x.x                 0.0%   10  45.3  46.0  AS4134  nodo prima dell'uscita
6.  211.95.x.x                 0.0%   10 156.4 158.2  AS4134  gateway internazionale
7.  72.14.215.x                0.0%   10 158.1 159.8  AS15169 rete Google
8.  142.250.x.x                0.0%   10 159.8 161.2  AS15169 Google
9.  142.250.x.x (www.google.com)  0.0%   10 160.2 162.0  AS15169

Da questo tracciato mtr possiamo vedere:

  • Casa → rete locale di China Telecom (AS4134, hop 2-3): < 10ms
  • Backbone di China Telecom (AS4134, hop 4-6): 5-150ms
  • Salto dal gateway internazionale a Google (AS15169, hop 7): balzo improvviso a 150+ms ← latenza dell'uscita internazionale
  • All'interno di Google (AS15169, hop 8-9): < 5ms

Da una connessione domestica cinese a Google si attraversano solo 2 AS, con un AS-PATH cortissimo, eppure la latenza fisica è alta. È esattamente ciò che intendiamo con «la lunghezza BGP non è la latenza fisica».

V. I due incubi di sicurezza di BGP: perdite di route e dirottamenti

5.1 Perdita di route (route leak)

Un AS passa per errore a un upstream o a un vicino route che non dovrebbero andare a un upstream, deviando il traffico globale sul percorso sbagliato. Esempio classico: un ISP scambia le route di un cliente per le proprie route e le annuncia a tutti.

Incidente noto: nel novembre 2017 una perdita di route di Level3 (AS3356) ha causato disservizi a un gran numero di clienti a valle di Comcast e Verizon.

5.2 Dirottamento BGP (BGP hijack)

Un AS malevolo annuncia prefissi IP che non gli appartengono. Una volta che altri AS accettano l'annuncio, il traffico viene deviato verso chi ha dirottato le route, consentendo attacchi MITM, denial of service o avvelenamento DNS.

Incidenti noti:

  • 2008: PTCL (Pakistan) ha annunciato il prefisso di YouTube, deviando per 2 ore il traffico globale di YouTube verso il Pakistan
  • 2018: eNet (AS10297) ha annunciato i prefissi DNS di Amazon Route 53, dirottando il traffico degli utenti di MyEtherWallet per circa 2 ore
  • 2022: RTCOMM (Russia) ha dirottato brevemente un prefisso di Twitter

5.3 Difesa: RPKI firma le route

RPKI (Resource Public Key Infrastructure), la serie RFC 6480, permette al titolare legittimo di un prefisso IP di firmare crittograficamente «questo prefisso può avere origine solo da questo AS». I router BGP che supportano RPKI scartano le route non firmate o firmate in modo errato.

Circa la metà dei prefissi IPv4 globali è oggi firmata con RPKI e la quota continua a crescere. Quando cerchi un IP su cleanip.io, la scheda «Informazioni AS» mostra il suo stato RPKI: valid / invalid / not-found.

VI. Come scoprire a quale ASN appartiene un IP o un dominio

6.1 Cercalo direttamente su cleanip.io

Visita https://cleanip.io/8.8.8.8 o https://cleanip.io/AS15169: mostriamo le informazioni ASN complete, la data di registrazione, gli intervalli di IP, upstream/downstream e la distribuzione geografica.

6.2 Visualizzazione BGP su cleanip.io

/asn-graph disegna la topologia BGP di qualsiasi ASN, dall'Origin attraverso i Tier 2 fino ai Tier 1, così vedi a colpo d'occhio chi fa peering con chi.

/asn-history mostra la titolarità storica di un IP / CIDR: a quali AS è appartenuto un CIDR nel tempo e quando è cambiato.

6.3 Strumenti da riga di comando

terminal — ASN lookup
$ whois -h whois.cymru.com " -v 8.8.8.8"
AS      | IP        | BGP Prefix    | CC | Registry | Allocated  | AS Name
15169   | 8.8.8.8   | 8.8.8.0/24    | US | arin     | 1992-12-01 | GOOGLE, US

$ curl https://api.bgpview.io/ip/8.8.8.8 | jq
{
  "data": {
    "ip": "8.8.8.8",
    "prefixes": [{
      "asn": { "asn": 15169, "name": "Google LLC" },
      "prefix": "8.8.8.0/24"
    }]
  }
}

VII. Riferimento rapido degli ASN più comuni

ASNNomeTipo
AS13335CloudflareCDN / DNS
AS15169GoogleCloud / ricerca
AS16509Amazon AWSCloud
AS8075Microsoft / AzureCloud
AS32934Facebook (Meta)Social
AS13414Twitter / XSocial
AS2906NetflixVideo
AS4134China TelecomISP (in parte Tier 1)
AS4837China UnicomISP
AS9808China MobileISP
AS37963Alibaba / Alibaba CloudCloud
AS45102Alibaba Cloud InternationalCloud
AS132203Tencent CloudCloud
AS9009M247 (grande provider di backbone per VPN)IDC
AS62371Proton AG (ProtonVPN)VPN
AS24940HetznerVPS tedesco
AS16276OVHVPS francese
AS20473Choopa (Vultr)VPS
AS14061DigitalOceanVPS

VIII. Perché tutto questo conta anche per gli utenti comuni

  • I sistemi antifrode guardano l'ASN quando valutano la reputazione di un IP: gli ASN di datacenter (provider cloud/VPN) ottengono di solito punteggi più bassi, mentre gli ASN delle connessioni domestiche (China Telecom / Unicom) ottengono punteggi più alti
  • Quando scegli una CDN per il traffico transfrontaliero, controlla la distanza in AS tra l'ASN dei tuoi utenti target e i nodi della CDN: cleanip.io ti dice a quale AS appartiene un IP con una sola ricerca
  • Durante un attacco DDoS, l'ASN è il primo indizio per risalire alla fonte, ad es. «la maggior parte del traffico di attacco proveniva dal datacenter AS46562 Performive»
  • Quando scegli una VPN, controlla su quale ASN di IDC è ospitata: vedi Tracciamento VPN per i dettagli

Approfondimenti

mimetic
mimetic
mimetic