Come fa il DNS regionale come fa una CDN?


15

Immagino che questa domanda possa essere legittimata, come funzionano le CDN a livello DNS, ma il vero problema che ho è che la mia azienda ha datacenter in tre continenti e dobbiamo avere europe.example.com us.example.com e asia.example .com

I CDN in genere ti inviano al datacenter locale che immagino a seconda del tuo indirizzo IP. Questa deve essere una cosa DNS in cui il server DNS negli Stati Uniti ti invia a un centro dati USA per la stessa ricerca DNS di example.com?

Ho sbagliato? Se mi sbaglio, come lo farei in modo efficace e se possibile senza server centrali (non DNS)?


Risposte:


12

Il problema con le CDN è che non ti indirizzano in base al tuo indirizzo IP, ti indirizzano in base all'indirizzo IP del tuo server DNS ... Potrebbe essere completamente sbagliato. E leggi l'articolo ACM di Paul Vixie , è un botto.

Ad ogni modo, se hai già region.example.comimpostato e avviato, potresti prendere in considerazione la possibilità di eseguire un reindirizzamento HTTP dal example.comserver Web pertinente, in base all'indirizzo IP del client.

È praticamente quello che fa Google, è come finisco per google.co.ukaver digitato google.com.

Assicurati anche di fornire un mezzo per consentire ai clienti di accedere alle altre varianti. Ai clienti non piace quando sono costretti a un determinato sito, sia per errori nei database Geo o semplicemente perché in realtà hanno bisogno di vedere il sito da un'altra regione.


5

I CDN più recenti (Cloudflare, MaxCDN, fast.ly) utilizzano anycast sia per il DNS sia per i server di contenuti effettivi. È un po 'meglio che provare a utilizzare l'IP di origine di una query DNS e un database di mapping in continua evoluzione.

In teoria, l'utilizzo di anycast sia per il DNS sia per i server di contenuti consente alla rete stessa di trovare i server "più vicini" al client. In pratica, questo è per lo più vero, ma sorgono alcuni casi strani in cui le persone a Singapore colpiranno i server periferici in California anziché a Hong Kong a causa delle relazioni di peering in continua evoluzione tra gli ISP.

Anycast è difficile da fare bene .

I CDN meno recenti come Akamai e Limelight usano generalmente anycast per portarti al server DNS più vicino, ma poi adottano l'approccio basato sull'ipotesi basato su IP di origine. Questo non funziona altrettanto bene nella mia esperienza, specialmente se un client utilizza server DNS che in realtà non si trovano nelle vicinanze in termini di topologia di rete. Tuttavia, un enorme CDN consolidato come Akamai ha centinaia di posizioni di server di contenuti, quindi restituire una risposta "abbastanza vicina" si traduce in un'esperienza utente decente. Ovviamente, avere centinaia di siti è molto costoso, motivo per cui nessuna delle CDN tuttofare ha scelto quella rotta. Di conseguenza, anche non fanno pagare tanto per un servizio per lo più equivalente.


1

Esistono diversi modi per gestirlo, ma si riducono tutti a capire dove si trova un indirizzo IP e indicarlo di conseguenza. Ad esempio, è possibile specificare un intervallo di IP per il Nord America e uno per l'Europa. Se l'IP che richiede le informazioni (dal DNS, dal server Web, dal server dei contenuti, ecc.) Rientra nell'intervallo europeo, i server europei dovrebbero ricevere le richieste.


Ben, che vuoi dire? Vuoi dire che ho un server DNS negli Stati Uniti e uno per esempio nel Regno Unito. Quando penso al DNS ho semplicemente impostato il mio record A e ho finito. Come posso specificare questi server DNS su base regionale?
Stewart Robinson,

Credo che ciò a cui si sta riferendo sia qualcosa di simile a una vista vincolata. È possibile impostare diverse viste all'interno del DNS che corrispondono in base all'indirizzo IP del client, che può essere approssimativamente identificato come appartenente a un'area geografica. Sono disponibili molti servizi da cui è possibile inoltrare una richiesta a un'API e ottenere una posizione da. Guardandoti brevemente, potresti provare hostip.info/dl/index.html per un'opzione più bassa / gratuita.
Greeblesnort,

mi è capitato di imbattermi in questa serata navigando: blogs.techrepublic.com.com/networking/…
Greeblesnort il

@Stewart: no, non eseguiresti un server DNS per regione. Bene, potresti, ma questo sarebbe per ridondanza, poiché il sistema DNS stesso è bline di posizione. La risposta di @ greeblesnort è buona quasi quanto il suo nome. :-)
Ben Doom,

0

È possibile impostare una pagina principale predefinita su example.com. La prima volta che qualcuno visita seleziona la regione in cui desidera essere indirizzato. Questo è lo stesso modo in cui funziona www.ups.com.

L'utente può selezionare una casella di controllo per effettuare questa scelta predefinita da quel momento in poi, memorizzando così la selezione in un cookie.

Questo ti dà il vantaggio di usare il DNS nel modo in cui è stato progettato secondo Paul Vixie, consentendo al tuo utente di prendere la decisione più precisa su quale data center dovrebbe essere indirizzato.


0

Se si dispone di un sito Web ospitato in più aree geografiche, non è necessario eseguire alcuna operazione a livello di DNS. È possibile utilizzare un'API come http://ipinfo.io per ottenere il paese del visitatore e quindi reindirizzarlo all'URL appropriato.

Se non stiamo parlando di un sito Web o di alcun protocollo che gestisca i reindirizzamenti, ci sono alcune opzioni a livello di DNS. È possibile eseguire la stessa ricerca per paese IP e quindi restituire un record corrispondente alla regione (DNS basato sulla geolocalizzazione) oppure è possibile disporre di una mappa della latenza tra reti diverse e restituire un record che rappresenti la latenza più bassa per l'utente (latenza DNS basato). Il servizio DNS Route53 di Amazon offre entrambi.

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.