In breve
Ogni IP raggiungibile pubblicamente ha un AS (sistema autonomo) che lo «annuncia» in BGP, e il numero di quell'AS è l'ASN. Il punto chiave: un ASN non si ottiene registrandosi da qualche parte, ma viene annunciato da un AS nella tabella di routing BGP globale. Quindi, quando un blocco di IP non è mai stato annunciato da alcun AS (reti private, segmenti interni, blocchi appena assegnati ma non ancora attivi, oppure coperti solo da un annuncio aggregato più ampio a monte), non ha un ASN di origine nella tabella di routing globale: anche database come MaxMind / IPinfo naturalmente non lo trovano e possono ricavare dal whois solo un «nome dell'organizzazione» registrato. Non è un bug del database: quel blocco di IP non ha davvero un ASN.
1. Come un ASN viene «associato» a un IP
Molti pensano che l'ASN sia una proprietà fissa «assegnata» a un IP, come un indirizzo civico. In realtà è un fatto di routing dinamico. Perché un blocco di IP abbia un ASN, deve passare per questa catena:
- ① Assegnazione — la IANA consegna grandi blocchi di indirizzi ai cinque RIR (APNIC per l'Asia-Pacifico) e ogni RIR registra prefissi come
/19o/24a nome di un'organizzazione. Questo passaggio produce solo una registrazione whois: non c'è ancora un ASN. - ② Annuncio — quell'organizzazione (o il suo ISP upstream) usa il proprio AS per «annunciare» tramite BGP ai router vicini: «instradate
113.48.0.0/19attraverso di me». - ③ Nasce l'ASN di origine — il numero dell'AS che ha annunciato questo prefisso diventa l'ASN di origine del blocco. Le tabelle di routing (RIB) di tutto il mondo registrano: questo prefisso ha origine da AS××××.
Quindi l'essenza di un ASN è «chi sta instradando questo blocco di IP», non «chi possiede questo blocco di IP». Se il passaggio ② non avviene mai, il passaggio ③ non esiste: il blocco non avrà mai un ASN.
In breve: nessuna route annunciata in BGP = nessun ASN. Un ASN è un fatto registrato nella tabella di routing, non un campo di un registro.
2. Perché alcuni IP non hanno un ASN: quattro casi comuni
| Caso | Descrizione | Scenario tipico |
|---|---|---|
| Route non annunciata | Il blocco di IP è assegnato, ma il titolare non lo annuncia mai nella tabella BGP pubblica (usato solo internamente / su collegamenti privati) | Reti private di pubbliche amministrazioni e aziende, alcuni segmenti interni di IDC, reti dedicate di settore |
| Annuncio aggregato | Il provider upstream annuncia solo un blocco più ampio che lo contiene; il sotto-blocco non ha un'origine propria indipendente | Un grande operatore include un /24 in un /16 e annuncia l'aggregato |
| Appena assegnato, non ancora attivo | Il RIR ha appena assegnato il prefisso a un'organizzazione, ma non è ancora stato collegato a BGP | Un blocco di indirizzi appena richiesto il cui routing non è ancora configurato |
| Riservato / uso speciale | Indirizzi non instradabili globalmente (privati, documentazione, CGNAT, ecc.) | 10.0.0.0/8, 100.64.0.0/10, 192.0.2.0/24 |
Questi due casi confondono, ma si comportano in modo molto diverso: un IP coperto da un aggregato è raggiungibile (il blocco più ampio è instradato) e gli manca solo un proprio ASN di origine, mentre un IP mai annunciato è semplicemente irraggiungibile dall'Internet pubblico (un ping dà il 100% di perdita di pacchetti), anche se il whois mostra comunque un'organizzazione registrata. In comune hanno il fatto di non avere un'origine propria nella tabella BGP globale.
3. Verificalo tu stesso: conferma «nessun ASN» con fonti BGP autorevoli
Se un database geografico non trova un ASN, non significa necessariamente che l'IP non ne abbia: la copertura del database potrebbe essere semplicemente incompleta. Per chiudere la questione bisogna interrogare la tabella di routing BGP globale stessa. Ecco due fonti autorevoli, gratuite e consultabili in autonomia:
3.1 RIPEstat: leggere direttamente la tabella di routing globale
RIPEstat del RIPE NCC aggrega i dati dei collector BGP di tutto il mondo. Per cercare l'ASN di origine di un IP:
$ curl -s "https://stat.ripe.net/data/network-info/data.json?resource=113.48.177.6"
{
"data": {
"prefix": "", // ← vuoto: nessun prefisso lo copre
"asns": [] // ← vuoto: nessun ASN di origine
}
}asns: [] — un array vuoto. Nessun AS al mondo annuncia questo IP nella tabella di routing globale. È una prova definitiva.
3.2 Team Cymru: il servizio whois IP-to-ASN
Team Cymru gestisce il servizio di mappatura IP→ASN più usato nel settore, anch'esso basato su BGP:
$ whois -h whois.cymru.com " -v 113.48.177.6"
AS | IP | BGP Prefix | CC | Registry | Allocated | AS Name
NA | 113.48.177.6 | NA | CN | apnic | 2008-10-16 | NAAS = NA, BGP Prefix = NA. Nota a destra: Registry = apnic, Allocated = 2008-10-16 — questo blocco di IP è stato assegnato alla Cina da APNIC già nel 2008 (da qui il codice paese CN), ma non è mai entrato in BGP, quindi l'AS è NA. «Assegnato» e «ha un ASN» sono due cose completamente diverse: questo esempio rende la distinzione inequivocabile.
4. Allora da dove viene un nome come «China Great Wall Internet Server Provider»?
Se non c'è un ASN, perché una ricerca IP mostra comunque il nome di un'azienda? Perché il nome e l'ASN provengono da due insiemi di dati completamente diversi:
- ASN / asn_org — proviene dalla tabella di routing BGP (chi sta instradando questo blocco di IP). Nessun annuncio, nessun valore.
- Nome dell'ISP / dell'organizzazione nel whois — proviene dal registro inetnum / dei contatti abuse del RIR (chi risulta registrato come titolare del blocco). Anche se non è mai entrato in BGP, il record di registrazione esiste comunque.
Alcune fonti di dati restituiscono un campo isp (ad esempio China Great Wall Internet Server Provider o Beijing Big Data Tech Co.,Ltd.). Si tratta del nome dell'organizzazione registrato nel whois, non del campo org dell'ASN. Quindi è del tutto normale vedere la combinazione «nome presente, ma nessun numero ASN».
Il nome risponde a «chi ha registrato questo blocco di IP»; l'ASN risponde a «quale AS lo instrada». Che uno ci sia e l'altro no non è una contraddizione.
5. Impatto sulle informazioni sugli IP e sulle ricerche
Il campo ASN dei database IP commerciali è essenzialmente un'istantanea della tabella di routing BGP. Quando un IP non ha un ASN di origine:
- Ogni database basato su BGP non riuscirà a fornire un ASN: è un punto cieco condiviso a livello di fonte dei dati, non una svista di un singolo fornitore.
- L'unica informazione disponibile è il nome dell'organizzazione registrato nel whois (se presente).
- Le classificazioni basate sull'ASN (tipo di operatore, se si tratta di un datacenter, raggruppamento per rischio) peggiorano per questi IP, e bisogna affidarsi ad altre dimensioni come nome dell'organizzazione, geografia o comportamento.
Quindi, quando CleanIP.io cerca uno di questi IP, vedrai il nome dell'organizzazione mostrato come di consueto, mentre il campo ASN resta vuoto: questo riflette fedelmente il fatto che «questo blocco di IP non ha davvero un ASN nella tabella di routing globale» e non indica un errore di ricerca. In questa situazione basati sul nome dell'organizzazione, sul paese di appartenenza e sui segnali di rischio: è normale che la colonna ASN sia vuota.
Riferimenti
- RFC 4271 — A Border Gateway Protocol 4 (BGP-4)Il protocollo BGP stesso: definizioni di annuncio dei prefissi / AS-PATH / origin
- RIPEstat Data API — network-infoStrumento ufficiale del RIPE NCC per cercare in autonomia prefisso / ASN di origine di qualsiasi IP
- Team Cymru — IP to ASN MappingIl servizio whois IP→ASN più usato nel settore, basato su BGP
- IANA — IPv4 Address Space RegistryLa fonte che spiega perché l'assegnazione degli indirizzi (RIR) e «il fatto di essere instradati» sono due cose distinte