Qual è la differenza tra Anycast e GeoDNS / GeoIP wrt HA?


17

Sulla base della descrizione di Wikipedia di Anycast , include sia la distribuzione di una mappatura da nome di dominio a molti IP su molti server DNS sia la risposta ai client con il server più vicino geograficamente (o più veloce).

Nel contesto di un sito distribuito a livello globale e ad alta disponibilità come google.com (o qualsiasi servizio CDN con molte ubicazioni globali), sembra che le due caratteristiche chiave di cui avremmo bisogno.

I servizi DNS come Amazon Route53, EasyDNS e DNSMadeEasy si pubblicizzano tutti come reti abilitate Anycast.

Pertanto la mia ipotesi è che ciascuno di questi servizi DNS mi offra in modo trasparente quelle due caratteristiche killer: mappatura multi-IP-dominio e routing dei client al nodo più vicino.

Tuttavia , ciascuno di questi servizi sembra separare queste due funzionalità, facendo riferimento al secondo (instradamento dei client al nodo più vicino) come "GeoDNS", "GeoIP" o "Global Traffic Director" e addebitando un supplemento per il servizio.

Se un tenant principale di un sistema che supporta Anycast deve già eseguire questa operazione, perché questa funzionalità viene definita come funzionalità aggiuntiva? Cosa sta facendo questa funzione "GeoDNS" che un servizio DNS Anycast standard non farà (secondo la definizione di Anycast da Wikipedia - capisco cosa viene pubblicizzato, ma non perché non sia già implicito).

Sono molto confuso quando un servizio DNS come Route53 che non supporta questa nebulosa funzione "GeoDNS" elenca funzionalità come:

Veloce - Utilizzando una rete anycast globale di server DNS in tutto il mondo, Route 53 è progettato per indirizzare automaticamente gli utenti verso la posizione ottimale in base alle condizioni della rete. Di conseguenza, il servizio offre una bassa latenza delle query per gli utenti finali, nonché una bassa latenza di aggiornamento per le esigenze di gestione dei record DNS.

... che suona esattamente come quello che GeoDNS intende fare, ma dirigere geograficamente i clienti è qualcosa che esplicitamente non lo supporta ancora .

In definitiva sto cercando le due seguenti funzionalità da un provider DNS:

  1. Mappa più indirizzi IP su un singolo nome di dominio (come fa google.com, amazon.com, ecc.)
  2. Utilizzare un servizio DNS che risponderà alle richieste del client per quel dominio con l'indirizzo IP del server più vicino al richiedente.

Come accennato, sembra che tutto questo faccia parte di un servizio DNS "Anycast" (tutti questi servizi sono), ma le funzionalità e il marketing che vedo da loro suggeriscono il contrario, facendomi pensare che devo imparare un po 'di più su come DNS funziona prima di effettuare una scelta di distribuzione.

Grazie in anticipo per eventuali chiarimenti.

Risposte:


17

Il vantaggio principale di GeoDNS è che risolve lo stesso nome in indirizzi IP diversi in base all'indirizzo IP del richiedente.

Un server DNS Anycasted restituirà lo stesso indirizzo IP indipendentemente da chi sta facendo la richiesta.

I due lavorano a diversi livelli di rete. Anycast è al di sotto di GeoDNS poiché non ha alcun senso della posizione dell'indirizzo IP del richiedente, ma solo della sua posizione nel diagramma di rete. Ciò che potrebbe essere vicino al server DNS potrebbe non essere vicino alla risorsa richiesta e il server DNS Anycasted non ha modo di dirlo.

GeoDNS utilizza una mappa delle posizioni delle risorse ed esegue la logica per determinare quale di tali risorse è più vicina a un determinato indirizzo IP richiedente, quindi restituisce tale indirizzo IP.

A meno che tu non stia colocando i tuoi server DNS con le tue risorse di rete, ciò che è vicino al server DNS non sarà sempre vicino alla risorsa, quindi usare Anycast come metodo di localizzazione dei dati è meno efficace del semplice GeoDNS.


A posto, non stavo nemmeno considerando le 2 fasi della risoluzione dell'indirizzo (prima trovare il server DNS stesso, quindi trovare il server di destinazione). Grazie!
Riyad Kalla,

6

L'aspetto anycast BGP consente ai client di inviare una richiesta a un determinato server DNS e di inviarla a un'istanza vicina del server DNS in virtù della tabella di routing BGP, sperando di ottenere una risposta rapida.

Tuttavia, un normale vecchio server DNS distribuito geograficamente e non trasmesso non ha la capacità di rispondere alle query in modo diverso a seconda della posizione del cliente richiedente - questa è la caratteristica extra che questi servizi "Geo-DNS" stanno fornendo a costi aggiuntivi, consentendo di inviare client a un'istanza di un servizio a loro vicino.

Il motivo dell'esistenza di questa funzione è che Anycast BGP funziona perfettamente per qualcosa di apolide come il DNS, dove è veloce e sporco e non richiede alcuna connessione o persistenza di sessione, ma per qualcosa come un web server, si desidera incollare istanze in tutto il mondo e assicurarsi che un determinato client si attenga a un'istanza specifica: l'instradamento delle modifiche nella connessione globale della tabella BGP globale interromperà le connessioni TCP, interromperebbe le sessioni delle applicazioni Web e in genere causerebbe il caos; anycast non viene generalmente utilizzato per i server Web per questo motivo.

È meglio fornire a un utente nella contea X un IP per un'istanza nel paese X tramite DNS, che è ciò per cui stai investendo i soldi con un servizio Geo-DNS.


4

Tradizionalmente, avrai più server DNS. Un client ne sceglierà uno a caso e gli chiederà l'indirizzo IP del tuo web server. Questo è utile se il server DNS è vicino al client, ma male se - come spesso accade - il server DNS è lontano dal client. In entrambi i casi, il client otterrà lo stesso indirizzo IP di una risposta.

Anycast consente a più server di rispondere allo stesso indirizzo IP. Con anycast DNS, quando un client tenta di parlare con il tuo nameserver, il nameserver più vicino / più veloce risponde. Ciò significa che il client ottiene sempre una risposta rapida alla sua query DNS. Tuttavia, riceverà sempre la stessa risposta alla sua query DNS: l'IP del tuo server. Se il server è lontano dal client, l'esperienza client potrebbe non essere ottimale.

GeoDNS consente a un server DNS di rispondere con un indirizzo IP diverso, a seconda di dove si trova il client. (Ovviamente questo richiede che tu abbia più server distribuiti geograficamente.) GeoDNS non implica alcuncast, anche se in genere li distribuiresti entrambi, quindi un client finisce per ottenere la risposta alla sua query DNS da un server DNS geograficamente vicino, che risponde con l'indirizzo IP di un server Web geograficamente vicino.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.