Internet, Autonomous System e protocollo BGP

// obiettivi di apprendimento
Spiegare come Internet è strutturata come insieme di Autonomous System interconnessi
Distinguere IGP ed EGP e comprendere perché BGP è l’unico EGP di Internet
Descrivere il funzionamento di BGP come protocollo path-vector e i suoi principali attributi
Comprendere il ruolo degli IXP, la differenza tra peering e transit, e come una route-leak può abbattere Internet
📄
Slides
Mappa AS globale e attributi BGP
🧪
Lab
Simulazione eBGP tra due AS
GitHub →
🔗
Risorse
BGP
PKT →
🔗
Risorse
BGPStream, RIP e OSPF
PKT →

Internet non è una rete — è una rete di reti

Finora abbiamo studiato le reti come se fossero entità singole: una LAN, un campus, un’azienda. Ma Internet è qualcosa di più grande e radicalmente diverso nella struttura. Non esiste un’unica organizzazione che “possiede” Internet o che decide come instradare i suoi pacchetti.

Internet è un insieme di migliaia di reti indipendenti — chiamate Autonomous System (AS) — che si accordano volontariamente per scambiare traffico. Ogni AS è sotto il controllo amministrativo di un’unica organizzazione (un ISP, una grande azienda, un’università, una CDN) ed è responsabile del routing interno alle proprie reti.

// definizione formale
Un Autonomous System (AS) è un insieme di reti IP e router sotto il controllo di un’unica entità amministrativa che presenta una politica di routing coerente verso Internet. Ogni AS è identificato da un numero univoco: l’ASN (Autonomous System Number), assegnato dai Regional Internet Registry (RIPE NCC per l’Europa).

Quanti AS esistono?

Ad oggi esistono oltre 100.000 AS attivi su Internet. Tra i più noti:

ASASNOrganizzazioneTipo
AS1516915169Google LLCContent Provider / Tier-1
AS3293432934Meta (Facebook)Content Provider
AS33203320Deutsche TelekomTier-1 / Carrier
AS12991299Telia CompanyTier-1 / Transit
AS137137Università di New YorkEducation
AS32693269Telecom Italia (TIM)ISP nazionale

IGP vs EGP: dentro e fuori l’AS

Il routing si divide in due mondi separati con esigenze completamente diverse:

// IGP vs EGP
IGP — Interior Gateway Protocol
Routing all’interno di un AS. L’obiettivo è trovare il percorso più efficiente (metrica tecnica: costo, delay, bandwidth). Esempi: OSPF, RIP, EIGRP, IS-IS. L’organizzazione ha pieno controllo sulla topologia.
EGP — Exterior Gateway Protocol
Routing tra AS diversi. L’obiettivo è implementare politiche di business: con chi scambiamo traffico, per quali destinazioni, a quale costo. L’unico EGP usato su Internet è BGP.

La differenza non è solo tecnica: dentro un AS si ottimizza per la performance; tra AS si negozia basandosi su accordi commerciali e politici. Per questo un IGP come OSPF non va bene per Internet — non ha nessun meccanismo per dire “passo per questa rete solo se ho un contratto con loro”.

BGP — Border Gateway Protocol

BGP (definito nell’RFC 4271) è il protocollo che tiene unito Internet. È in funzione sin dal 1994 e gestisce la tabella di routing globale con oltre 900.000 prefissi IPv4 e altrettanti IPv6. Ogni pacchetto che attraversa più provider su Internet passa attraverso decisioni BGP.

// definizione formale
BGP è un protocollo di routing di tipo path-vector. Invece di propagare solo distanza e direzione (Distance Vector) o la mappa completa della rete (Link State), BGP propaga il percorso completo di AS che un pacchetto deve attraversare per raggiungere una destinazione. Questo permette di rilevare loop e applicare politiche basate su chi possiedi lungo il percorso.

Come funziona BGP: sessioni TCP e OPEN

BGP usa TCP porta 179 come trasporto — non UDP, non un suo protocollo proprietario. TCP garantisce affidabilità e ordinamento. Due router BGP stabiliscono una sessione (peering) dopo un handshake:

Messaggio BGPFunzione
OPENNegozia versione BGP, ASN del mittente, Hold Timer, BGP Identifier
UPDATEAnnuncia nuove route (prefissi + attributi) o ritira route non più valide
KEEPALIVEMantiene viva la sessione (inviato ogni 1/3 dell’Hold Timer)
NOTIFICATIONSegnala un errore e chiude la sessione

eBGP vs iBGP

Esistono due varianti di BGP con comportamenti diversi:

CaratteristicaeBGP (external)iBGP (internal)
Dove operaTra router di AS diversiTra router dello stesso AS
TTL default1 (i due router devono essere directly connected)255 (può attraversare più hop interni)
AS_PATHAggiunge il proprio ASN al percorsoNon modifica AS_PATH
Next-hopCambia il next-hop con il proprio IPNon modifica il next-hop (richiede IGP per risolverlo)
TopologiaNon richiede full meshRichiede full mesh o Route Reflector

Gli Attributi BGP

BGP non usa una singola metrica come hop count o costo. Usa invece un insieme di attributi che descrivono ogni route annunciata. La selezione del percorso migliore si basa su una sequenza di regole che valutano questi attributi in ordine di priorità.

Attributi principali

AttributoTipoDescrizione
AS_PATHWell-known mandatoryLista degli AS attraversati. Path più corto (meno AS) = preferito. Usato anche per rilevare loop (se il proprio ASN è già nel path, scarta la route)
NEXT_HOPWell-known mandatoryIP del prossimo router BGP da raggiungere per questa route
LOCAL_PREFWell-known discretionaryPreferenza locale all’AS (solo iBGP). Valore più alto = preferito. Indica da quale exit point uscire dall’AS
MED (Multi-Exit Discriminator)Optional non-transitiveSuggerimento all’AS adiacente su quale link preferire per entrare nel nostro AS. Valore più basso = preferito
ORIGINWell-known mandatoryCome è stata originata la route: IGP (i), EGP (e), incomplete (?)
COMMUNITYOptional transitiveTag applicabile a gruppi di route per applicare politiche. Es: no-export, blackhole

Ordine di selezione del best path BGP (Cisco)

// best path selection — in ordine di priorità
1. Weight più alto (attributo Cisco proprietario, locale al router)
2. LOCAL_PREF più alto
3. Route originata localmente (network / redistribute)
4. AS_PATH più corto
5. ORIGIN: IGP < EGP < incomplete
6. MED più basso
7. eBGP preferito su iBGP
8. Costo IGP verso NEXT_HOP più basso
9. Router ID BGP più basso (tiebreaker finale)

Peering, Transit e IXP

Per capire Internet bisogna capire gli accordi commerciali che stanno dietro ai link fisici.

Transit

Il cliente paga il provider per trasportare traffico verso tutta Internet. Il provider annuncia al cliente la full table BGP (tutte le rotte di Internet) e annuncia le reti del cliente al resto del mondo. È il modello classico ISP → cliente.

Peering

Due AS di dimensione simile si scambiano traffico gratuitamente e direttamente, ma solo verso le proprie reti interne (non fanno da transit per terzi). Il vantaggio è reciproco: si riduce la latenza e si abbassano i costi di transit.

// esempio concreto — peering

Google (AS15169) e Cloudflare (AS13335) fanno peering. Se un utente di Fastweb scarica una pagina da Google, il traffico non passa da un provider di transit — va direttamente da Google a Fastweb all’IXP di Milano (MIX). Risultato: latenza minore, costo zero per entrambi.

Internet Exchange Point (IXP)

Un IXP (Internet Exchange Point) è un’infrastruttura fisica (tipicamente uno switch L2 ad alta capacità) dove decine o centinaia di AS si connettono per fare peering. È il punto di interconnessione fisica di Internet.

I principali IXP europei per volume di traffico:

IXPCittàPeak traffic (indicativo)
DE-CIXFrancoforte> 14 Tbps
AMS-IXAmsterdam> 10 Tbps
LINXLondra> 7 Tbps
MIXMilano> 500 Gbps
NAMEXRoma> 200 Gbps

Configurazione BGP su IOS

! Configurazione eBGP tra AS 65001 e AS 65002
! Su Router A (AS 65001, IP 10.0.0.1)

Router-A(config)# router bgp 65001
Router-A(config-router)# bgp router-id 1.1.1.1
Router-A(config-router)# neighbor 10.0.0.2 remote-as 65002        ! peer eBGP
Router-A(config-router)# network 192.168.10.0 mask 255.255.255.0  ! annuncia questa rete
Router-A(config-router)# network 192.168.20.0 mask 255.255.255.0

! Verifica
Router-A# show bgp summary                    ! stato dei peer BGP
Router-A# show bgp ipv4 unicast               ! tabella BGP completa
Router-A# show bgp ipv4 unicast 10.0.0.0      ! dettaglio su un prefisso specifico
! Output show bgp summary (esempio)
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.0.0.2        4 65002     125     130        8    0    0 01:02:33        12

Incidenti BGP reali: quando il routing di Internet va storto

BGP è potente ma fragile: un singolo AS che annuncia route errate può deviare o bloccare traffico su scala globale. Non è teorico — succede.

Route leak

Una route leak avviene quando un AS annuncia a un provider route apprese da un altro provider — violando il principio del peering. Il traffico viene deviato attraverso l’AS “trapelante” che probabilmente non ha la banda o la capacità per gestirlo, causando congestione o blackout.

// caso reale — Pakistan Telecom, 2008

Pakistan Telecom (AS17557), cercando di bloccare YouTube localmente, annunciò per errore il prefisso di YouTube (208.65.153.0/24) a tutto Internet. Per circa 2 ore tutto il traffico mondiale verso YouTube fu dirottato verso il Pakistan, che non era in grado di gestirlo: YouTube fu irraggiungibile globalmente.

BGP hijacking

Il BGP hijacking è la versione intenzionale e malevola: un AS annuncia fraudolentemente prefissi IP di altri AS per intercettare il traffico (man-in-the-middle), causare disservizi, o reindirizzare verso infrastrutture controllate dall’attaccante.

// vulnerabilità fondamentale di BGP

BGP si basa sulla fiducia: chiunque abbia un ASN e una sessione BGP può teoricamente annunciare qualsiasi prefisso. Non esiste un meccanismo crittografico nativo di verifica dell’origine (BGP fu progettato negli anni ’80 quando Internet era una rete accademica di pochi router fidati). La soluzione moderna è RPKI (Resource Public Key Infrastructure): firma digitale dei prefissi da parte dei loro legittimi proprietari, con validazione da parte dei router BGP.

La gerarchia di Internet: Tier 1, 2 e 3

Gli AS non sono tutti uguali. Si distinguono in livelli (Tier) in base alla loro posizione nella gerarchia di transit:

LivelloDescrizioneEsempi
Tier 1Provider globali con peering gratuito tra loro. Non pagano nessuno per il transit — raggiungono tutta Internet solo con accordi di peering. Hanno backbone intercontinentali propriAT&T, NTT, Telia, Level3/Lumen, GTT
Tier 2Provider regionali o nazionali. Fanno peering con altri Tier 2 ma pagano transit ai Tier 1 per raggiungere tutto InternetTIM, Vodafone Italia, OVH, Fastweb
Tier 3ISP locali o aziende. Pagano transit a Tier 1 o 2, raramente hanno accordi di peering. Acquistano connettivitàISP locali, aziende con proprio AS

Come vengono assegnati gli ASN

Gli ASN vengono assegnati dai RIR (Regional Internet Registry) — le stesse organizzazioni che assegnano i blocchi di indirizzi IP pubblici:

RIRRegione
RIPE NCCEuropa, Medio Oriente, Asia Centrale
ARINNord America
APNICAsia-Pacifico
LACNICAmerica Latina e Caraibi
AFRINICAfrica

Gli ASN privati (non instradabili su Internet pubblico, usati in lab o reti interne) sono nell’intervallo 64512–65535 (2 byte) e 4200000000–4294967295 (4 byte).

📌 Riepilogo — Punti chiave
  • Internet è una rete di oltre 100.000 AS indipendenti, ciascuno con il proprio ASN e politica di routing. I RIR (RIPE NCC per l’Europa) assegnano ASN e blocchi IP
  • IGP (OSPF, RIP) opera all’interno di un AS ottimizzando le metriche tecniche; EGP (BGP) opera tra AS implementando politiche di business
  • BGP è un protocollo path-vector che usa TCP porta 179. Propaga prefissi IP con il percorso completo di AS (AS_PATH) — questo permette rilevazione di loop e controllo del percorso
  • I principali attributi BGP sono: AS_PATH (percorso AS), LOCAL_PREF (uscita preferita dall’AS), MED (entrata preferita nell’AS), COMMUNITY (tag per politiche)
  • Peering = scambio gratuito tra AS simili; Transit = il cliente paga il provider per raggiungere tutta Internet. Gli IXP (DE-CIX, AMS-IX, MIX) sono punti fisici di interconnessione
  • BGP è vulnerabile a route leak e hijacking perché si basa sulla fiducia. RPKI (firme crittografiche sui prefissi) è la soluzione emergente per mitigare questi rischi

Lascia un commento