Domain IP Lookup

Un hostname, più record A

1ª risposta

93.184.216.34

2ª risposta

93.184.216.35

3ª risposta

93.184.216.36

Il resolver restituisce ogni record, di solito a rotazione

Infrastruttura e operations

Perché un solo dominio ha più indirizzi IP

4 min di lettura

Cerca un sito di grandi dimensioni e spesso ottieni tre, quattro o otto indirizzi. Cerca di nuovo da un altro Paese e l'elenco cambia completamente. A produrre questo effetto sono quattro meccanismi distinti, con implicazioni molto diverse.

Un hostname, più record A

1ª risposta

93.184.216.34

2ª risposta

93.184.216.35

3ª risposta

93.184.216.36

Il resolver restituisce ogni record, di solito a rotazione

Un hostname, più record A. Il resolver li restituisce tutti, di solito in ordine rotante.

1. Round-robin DNS

L'approccio più semplice: pubblicare più record A per lo stesso nome. I resolver li restituiscono in ordine rotante, così client diversi provano per primi server diversi.

Tre record A sullo stesso nome
example.com.    300    IN    A    93.184.216.34
example.com.    300    IN    A    93.184.216.35
example.com.    300    IN    A    93.184.216.36

Distribuisce il carico senza alcuna infrastruttura. Il suo limite, però, è grave: il DNS non ha alcun controllo dello stato di salute. Se un server si guasta, il suo indirizzo continua a essere distribuito finché una persona non rimuove il record, e circa un terzo dei visitatori incontra un errore.

2. Geo-routing (GeoDNS)

Qui il nameserver autorevole controlla da dove arriva la query e restituisce una risposta adatta alla posizione. Un visitatore in Europa riceve un indirizzo di Francoforte; uno in Asia riceve quello di Singapore.

Per questo due persone ottengono legittimamente risposte diverse per lo stesso dominio nello stesso momento. Nessuna delle due è obsoleta o sbagliata: il nameserver ha dato di proposito risposte diverse.

Da ricordare

Con il geo-routing non esiste un'unica risposta corretta per un dominio. La risposta dipende da chi chiede e da dove.

3. Anycast

L'anycast è il più elegante dei quattro e funziona interamente sotto il DNS. Lo stesso indirizzo viene annunciato contemporaneamente da molte sedi, e il routing di Internet consegna ogni pacchetto alla sede più vicina in termini di rete.

Geo-routingAnycast
Opera a livelloLivello DNSLivello di routing (BGP)
Indirizzi restituitiDiversi per regioneSempre identici
Velocità di failoverAttende il TTL del DNSSecondi: il routing riconverge
Visibile in un lookup?Sì: le risposte differisconoNo: sembra un normale indirizzo unico

1.1.1.1 è l'esempio più noto: le stesse quattro cifre in tutto il mondo, servite da centinaia di data center distinti. L'anycast è invisibile a un lookup DNS, ed è proprio per questo che è così efficace.

4. Dual-stack: A e AAAA insieme

Il motivo più comune e meno interessante. Un dominio che pubblica sia IPv4 sia IPv6 restituisce entrambi, e il client sceglie quello che supporta.

Nessun load balancing: due famiglie di indirizzi
example.com.    3600    IN    A       93.184.216.34
example.com.    3600    IN    AAAA    2606:2800:220:1::248

I client dual-stack in genere preferiscono IPv6 e ripiegano su IPv4. Vedi record A e AAAA.

Cosa fa il client con l'elenco

Ricevere più indirizzi è solo metà della storia: cosa succede dopo lo decide il client, e il comportamento moderno è più intelligente di un tempo.

Il meccanismo rilevante è Happy Eyeballs, definito nella RFC 8305. Un browser a cui vengono forniti sia indirizzi IPv6 sia IPv4 non ne prova uno, attende un timeout e poi prova l'altro. Avvia una connessione IPv6, attende un breve intervallo (in genere circa 250 millisecondi) e, se non si è ancora connessa, avvia in parallelo un tentativo IPv4. Vince quella che si completa per prima e l'altra viene scartata.

La conseguenza pratica è che un indirizzo non funzionante nel tuo elenco peggiora la velocità invece di causare un errore netto. È una rete di sicurezza, non una licenza: un indirizzo morto costa comunque a ogni visitatore il ritardo prima del ripiego.

Quando il DNS è lo strumento sbagliato

Al round-robin DNS si ricorre spesso come se fosse un load balancer. Vale la pena essere chiari su ciò che non può fare.

FunzionalitàRound-robin DNSVero load balancer
Controllo dello stato di saluteNessuno: i server morti restano nell'elencoRimuove i backend guasti in pochi secondi
Ponderazione del trafficoNessuna: più o meno uniformePesi per singolo backend
Session affinityNessunaSupportata
Velocità di failoverAttende la scadenza del TTLImmediata
CostoGratuitoUn servizio da gestire o pagare

In sintesi onesta: il round-robin DNS distribuisce il carico in modo accettabile e gestisce male i guasti. Se il guasto di un server non deve portarsi via una quota dei tuoi visitatori, ti serve un controllo dello stato di salute, cioè un load balancer, un provider anycast o un servizio DNS gestito che esegua health check e ritiri automaticamente i record non funzionanti.

Come distinguerli

Cosa osserviCausa più probabile
Più indirizzi IPv4, sempre gli stessiRound-robin DNS
Indirizzi diversi da Paesi diversiGeo-routing
Un solo indirizzo, veloce ovunqueAnycast
Un mix di indirizzi con punti e con due puntiDual-stack: non è bilanciamento
Il DNS inverso degli indirizzi porta all'hostname di una CDNNodi edge di una CDN
Controlla da resolver diversi per individuare il geo-routing
dig +short example.com @1.1.1.1
dig +short example.com @8.8.8.8

Cosa significa quando cerchi un dominio

Cambia il peso da dare a una singola risposta.

  • Più indirizzi sono un segno di buona salute. In genere indicano ridondanza, non una configurazione errata.
  • La tua risposta non è universale. Con il geo-routing o una CDN, qualcuno altrove vede qualcos'altro, ed entrambe le risposte sono corrette.
  • Non scriverli nel codice. Gli indirizzi ruotano, vengono sostituiti e riassegnati. Risolvi sempre il nome al momento della connessione.
  • L'ordine non ha alcun significato. La rotazione è spesso voluta; il primo indirizzo non è quello primario.

Lo strumento di lookup elenca ogni record A e AAAA che riceve invece di mostrare solo il primo, così puoi vedere l'intero insieme pubblicato in una volta, e la modalità in blocco rende facile confrontare più domini affiancati.

Devi controllare gli indirizzi DNS pubblici di un dominio? Usa lo strumento Domain IP Lookup.

Domande frequenti

Per approfondire