Anycast contro Unicast: quale scegliere in ogni caso

Probabilmente molti hanno sentito parlare di Anycast. In questo metodo di indirizzamento e instradamento di rete, un singolo indirizzo IP viene assegnato a più server nella rete. Questi server possono trovarsi anche in data center lontani tra loro. L'idea di Anycast è che, a seconda della posizione della sorgente delle richieste, i dati vengano inviati al server più vicino (secondo la topologia di rete, in particolare il protocollo di instradamento BGP). In questo modo, è possibile ridurre il numero di salti di rete e la latenza.

Fondamentalmente, lo stesso percorso viene annunciato da più centri di elaborazione dati in tutto il mondo. Pertanto, i clienti verranno instradati verso il centro di elaborazione dati ‘migliore’ e ‘più vicino’ in base ai percorsi BGP. Perché scegliere proprio Anycast? Qual è il vantaggio di utilizzare Anycast invece di Unicast?

Anycast contro Unicast: quale scegliere in ogni caso
Unicast è davvero adatto per un sito con un solo server web e un volume moderato di traffico. Tuttavia, se un servizio ha milioni di abbonati, di solito utilizza più server web, ognuno dei quali ha lo stesso indirizzo IP. Questi server sono distribuiti geograficamente per ottimizzare la gestione delle richieste.

In questo scenario, Anycast migliorerà le prestazioni (il traffico è diretto all'utente con la latenza minima), garantirà l'affidabilità del servizio (grazie ai server di backup) e il bilanciamento del carico: la routing tra più server distribuirà efficacemente il carico, migliorando la velocità di funzionamento del sito.

Gli operatori offrono ai clienti vari tipi di bilanciamento del carico basati su Anycast e DNS. I clienti possono specificare gli indirizzi IP a cui inviare le richieste in base alla posizione geografica del sito. Questo consente una distribuzione più flessibile delle richieste degli utenti.

Supponiamo che ci siano più piattaforme su cui distribuire il carico (degli utenti), come un negozio online con 100.000 richieste al giorno o un blog popolare. Per limitare la regione da cui gli utenti accedono a una specifica piattaforma, è possibile utilizzare l'opzione Geo Community. Questa consente di restringere l'area entro la quale l'operatore pubblicizzerà il percorso.

Anycast contro Unicast: quale scegliere in ogni caso

Anycast contro Unicast: quale scegliere in ogni caso
Anycast e Unicast: differenze

L'Anycast è spesso utilizzato in applicazioni come DNS (sistema dei nomi di dominio) e CDN (reti di distribuzione dei contenuti), consentendo decisioni di instradamento che migliorano le prestazioni della rete. Le reti di distribuzione dei contenuti utilizzano l'Anycast poiché gestiscono grandi volumi di traffico e l'Anycast offre numerosi vantaggi in questo contesto (di cui parleremo di seguito). Nel DNS, l'Anycast consente di migliorare notevolmente l'affidabilità e la resilienza del servizio.

Anycast contro Unicast: quale scegliere in ogni caso
In Anycast IP, utilizzando BGP, esistono più percorsi verso un specifico host. In realtà, si tratta di copie di host in diversi centri di elaborazione dati, utilizzate per stabilire connessioni con una latenza inferiore.

Nella rete Anycast, lo stesso indirizzo IP è annunciato da diverse posizioni, e la rete decide dove indirizzare la richiesta dell'utente in base al "costo" del percorso. Ad esempio, il protocollo BGP è spesso utilizzato per determinare il percorso più breve per il trasferimento dei dati. Quando un utente invia una richiesta Anycast, il BGP stabilisce il miglior percorso per i server disponibili nella rete Anycast.

Vantaggi di Anycast

Riduzione della latenza
I sistemi con Anycast sono in grado di ridurre la latenza nella gestione delle richieste degli utenti, poiché consentono di ricevere dati dal server più vicino. In altre parole, gli utenti si collegheranno sempre al server DNS "più vicino" (in base al protocollo di routing). Di conseguenza, Anycast riduce il tempo di interazione riducendo la distanza di rete tra il client e il server. Questo non solo diminuisce la latenza, ma assicura anche un bilanciamento del carico.

Velocità

Poiché il traffico è indirizzato al nodo più vicino e la latenza nella trasmissione dei dati tra il client e il nodo è ridotta, il risultato sarà un'ottimizzazione della velocità di consegna, indipendentemente da dove il cliente richiede le informazioni.

Maggiore stabilità e resilienza

Se più server in tutto il mondo utilizzano lo stesso IP, in caso di malfunzionamento di uno dei server o della sua disconnessione, il traffico verrà reindirizzato al server più vicino. Di conseguenza, Anycast rende il servizio più resiliente e garantisce un miglior accesso alla rete/latenza/velocità. 

Pertanto, grazie alla presenza di più server sempre disponibili per gli utenti, Anycast, ad esempio, aumenta la stabilità del funzionamento del DNS. In caso di guasto di un nodo, le richieste degli utenti verranno reindirizzate a un altro server DNS senza alcun intervento manuale o riconfigurazione. Anycast consente uno switch praticamente trasparente su altri siti, rimuovendo semplicemente i percorsi del sito problematico. 

Bilanciamento del carico

Nel sistema Anycast, il traffico di rete è distribuito tra diversi server. Funziona come un bilanciatore di carico, impedendo che un singolo server riceva la maggior parte del traffico. Il bilanciamento del carico può essere utilizzato, ad esempio, quando ci sono più nodi di rete a una distanza geografica equivalente dalla fonte delle richieste. In questo caso, il carico viene distribuito tra i nodi.

Riduzione dell'impatto degli attacchi DoS 

Un'altra caratteristica di Anycast è la sua resilienza agli attacchi DDoS. Gli attacchi DDoS difficilmente riusciranno a compromettere il sistema Anycast, poiché sarebbe necessario sopraffare con un'onda di richieste tutti i server in una rete di questo tipo. 

Negli attacchi DDoS si utilizzano spesso botnet, in grado di generare un volume di traffico tale da sovraccaricare il server attaccato. Il vantaggio nell'uso di Anycast in questa situazione è che ogni server può 'assorbire' una parte dell'attacco, riducendo il carico su un server specifico. Un attacco di tipo 'denial of service' sarà probabilmente localizzato su un server e non influenzerà l'intero servizio.

Elevata scalabilità orizzontale

I sistemi Anycast sono ideali per i servizi con elevati volumi di traffico. Se un servizio che utilizza Anycast necessita di nuovi server per gestire il traffico in crescita, è possibile aggiungere nuovi server alla rete per questa funzione. Possono essere installati in posizioni nuove o già esistenti. 

Se in un determinato luogo si osserva un notevole aumento del traffico, l'aggiunta di un server contribuirà a bilanciare il carico per quella posizione. L'aggiunta di un server in una nuova sede aiuterà a ridurre i tempi di attesa, creando per alcuni utenti un nuovo percorso preferenziale. Entrambi i metodi aumentano anche la stabilità del servizio, poiché nuovi server diventano disponibili nella rete. Pertanto, se un server è sovraccarico, è possibile semplicemente deployarne un altro nella posizione più opportuna, consentendo così di gestire parte delle richieste del server sovraccarico. Non sarà necessaria alcuna configurazione da parte dei clienti. 

Solo in questo modo è possibile gestire terabyte di traffico e un numero molto elevato di utenti, quando sul server ci sono solo alcune porte da 10 o 25 Gbit/s. 100 host con un solo indirizzo IP permetteranno di elaborare volumi di traffico in terabyte.

Semplicità nella gestione della configurazione

Come già accennato, un utilizzo interessante di Anycast è il DNS. È possibile collocare in nodi di rete diversi server DNS, ma utilizzare un unico indirizzo DNS. A seconda della posizione della sorgente, le richieste vengono indirizzate al nodo più vicino. Questo garantisce una certa bilanciatura del traffico e ridondanza in caso di guasto di un server DNS. In questo modo, invece di configurare diversi server DNS a seconda della loro ubicazione, la configurazione di un solo server DNS può essere distribuita su tutti i nodi.

Le reti Anycast possono essere configurate per instradare le richieste non solo in base alla distanza, ma anche in base a parametri come la disponibilità del server, il numero di connessioni stabilite o il tempo di risposta.

Per utilizzare la tecnologia Anycast dal lato client non sono necessari server, reti o componenti speciali. Tuttavia, ci sono anche svantaggi con Anycast. Si considera che la sua implementazione sia una sfida complessa che richiede attrezzature aggiuntive, fornitori affidabili e una corretta instradamento del traffico.

Dalla sorgente pura verso un meraviglioso lontano

Sebbene Anycast indirizzi gli utenti in base al minor numero di passaggi, questo non significa necessariamente una latenza minima. La latenza è una metrica più complessa, poiché un singolo passaggio può avere una latenza maggiore rispetto a dieci.

Anycast contro Unicast: quale scegliere in ogni caso
Esempio: le comunicazioni intercontinentali possono comportare un singolo passaggio con una latenza molto alta.

Anycast viene principalmente utilizzato per servizi basati su UDP, come DNS. Le richieste degli utenti vengono indirizzate al Data Center "migliore" e "più vicino" in base ai percorsi BGP.

Anycast contro Unicast: quale scegliere in ogni caso
Esempio: una workstation DNS client con indirizzo IP Anycast DNS 123.10.10.10 risolve il DNS per il server dei nomi DNS più vicino tra i tre server distribuiti utilizzando lo stesso indirizzo IP Anycast. In caso di guasto del router R1 o del server A, i pacchetti del client DNS verranno automaticamente reindirizzati al server DNS più vicino successivo attraverso i router R2 e R3. Inoltre, il percorso al nostro server A verrà rimosso dalle tabelle di routing, impedendo ulteriori utilizzi di quel server dei nomi.

Sistemi di distribuzione

Esistono due schemi principali utilizzati per determinare a quale server si collega l'utente:

  • Anycast a livello di rete. Collega l'utente al server più vicino. Qui è importante il percorso di rete dall'utente al server.
  • Anycast a livello di applicazione. In questo schema ci sono più metriche calcolabili, inclusa la disponibilità del server, il tempo di risposta, il numero di connessioni, ecc. Questo dipende da un monitor esterno che fornisce statistiche sulla rete.

CDN basato su Anycast

Torniamo ora all'utilizzo di Anycast nelle reti di distribuzione dei contenuti. Anycast è senza dubbio un concetto di rete interessante che sta guadagnando sempre più riconoscimento tra i fornitori di CDN di nuova generazione.

La CDN è una rete distribuita di server che forniscono contenuti agli utenti finali con alta disponibilità e bassa latenza. Le reti di distribuzione dei contenuti rivestono oggi un ruolo importante, costituendo la base di numerosi servizi online multimediali, e i consumatori sono sempre meno tolleranti verso velocità di caricamento lente. Le applicazioni video e vocali sono particolarmente sensibili al jitter e alla latenza nella rete.

Il CDN unisce tutti i server in un'unica rete, garantendo un caricamento del contenuto più veloce. A volte è possibile ridurre il tempo di attesa dell'utente di 5-6 secondi. L'obiettivo del CDN è ottimizzare la consegna fornendo il contenuto dal server più vicino all'utente finale. Questo è molto simile a Anycast, dove viene scelto il server più vicino in base alla posizione dell'utente finale. Apparentemente, ogni fornitore di servizi CDN utilizzerà Anycast di default, ma in realtà non è sempre così.

Le applicazioni che utilizzano protocolli come HTTP/TCP dipendono da una connessione stabilita. Se viene scelto un nuovo nodo Anycast (ad esempio, in caso di malfunzionamento del server), il servizio potrebbe subire interruzioni. Per questo motivo, Anycast era precedentemente raccomandato per servizi senza connessione, come UDP e DNS. Tuttavia, Anycast funziona bene anche per protocolli orientati alla connessione; ad esempio, TCP funziona eccellentemente in modalità Anycast.

Alcuni provider CDN utilizzano la routing basata su Anycast, mentre altri preferiscono la routing basata su DNS: il server più vicino viene scelto in base alla posizione del server DNS dell'utente.

Le infrastrutture ibride e quelle con più centri di elaborazione dati sono un ulteriore esempio di utilizzo di Anycast. L'indirizzo Load Balancing IP fornito dal provider permette di distribuire il carico tra gli indirizzi IP di diversi servizi clienti nei datacenter del provider. Grazie alla tecnologia di indirizzamento, ciò assicura migliore prestazioni con significativi volumi di traffico, resilienza e aiuta a ottimizzare i tempi di risposta con un alto numero di utenti.

Negli ambienti ibridi con più centri di elaborazione dati, è possibile distribuire il traffico tra server o persino macchine virtuali su server dedicati.

Esiste una vasta gamma di soluzioni tecniche per costruire l'infrastruttura. È possibile configurare anche il bilanciamento del carico basato sugli indirizzi IP in diversi data center, utilizzando l'indirizzamento a qualsiasi dispositivo del gruppo per ottimizzare le prestazioni del sito.

È possibile distribuire il traffico in base alle proprie regole, definendo il «peso» di ciascun server distribuito in ogni data center. Questa configurazione è particolarmente utile quando si dispone di un parco server distribuito e le prestazioni dei servizi non sono uniformi. Ciò consente di distribuire il traffico più frequentemente per migliorare le prestazioni dei server.

Per creare un sistema di monitoraggio utilizzando il comando ping, è possibile configurare i sondaggi. Questo consente all'amministratore di definire procedure di monitoraggio personalizzate e di avere una visione più chiara dello stato di ciascun componente dell'infrastruttura. In questo modo possono essere definiti criteri di disponibilità.

È possibile creare un'infrastruttura ibrida: a volte è utile mantenere il back office nella rete aziendale e delegare la parte interfaccia a un provider esterno.

È possibile aggiungere certificati SSL per il bilanciamento del carico, la crittografia dei dati trasmessi e la sicurezza delle comunicazioni tra i visitatori del sito e l'infrastruttura aziendale. Nel caso del bilanciamento del carico tra i data center, è possibile utilizzare SSL.

Il servizio Anycast con bilanciamento del carico degli indirizzi è disponibile tramite il provider. Questa funzionalità aiuterà a ottimizzare il modo in cui gli utenti interagiscono con le applicazioni a seconda della loro posizione. È sufficiente dichiarare quali servizi sono disponibili nei data center e il traffico sarà reindirizzato verso l'infrastruttura più vicina. Se ci sono server dedicati, ad esempio, in Francia o in Nord America, i clienti saranno indirizzati al server più vicino nella rete.

Uno dei modi di utilizzare Anycast è la scelta ottimale del punto di presenza dell'operatore (PoP). Ecco un esempio. LinkedIn (bloccato in Russia) non solo si impegna a migliorare la performance e la velocità dei suoi prodotti — applicazioni mobili e web, ma anche a perfezionare l'infrastruttura di rete per un'erogazione più rapida dei contenuti. A tal fine, LinkedIn utilizza attivamente i PoP – punti di presenza – per la consegna dinamica dei contenuti. Per indirizzare gli utenti al PoP più vicino, viene applicato l'Anycast.

Il motivo è che nel caso dell'Unicast, ogni PoP di LinkedIn ha un indirizzo IP unico. Gli utenti vengono poi assegnati a un PoP in base alla loro posizione geografica tramite DNS. Il problema è che, utilizzando il DNS, circa il 30% degli utenti negli Stati Uniti venivano reindirizzati a un PoP non ottimale. Grazie all'implementazione graduale dell'Anycast, l'assegnazione non ottimale del PoP è scesa dal 31% al 10%.

Anycast contro Unicast: quale scegliere in ogni caso
I risultati del test pilota sono mostrati nel grafico, dove l'asse Y rappresenta la percentuale di assegnazione ottimale del PoP. Con l'aumento dell'Anycast in molti stati degli USA, è stata osservata un'incremento nella percentuale di traffico verso il PoP ottimale.

Monitoraggio della rete Anycast

Teoricamente, le reti Anycast sono semplici: a più server fisici viene assegnato lo stesso indirizzo IP, che il BGP utilizza per determinare il percorso. Tuttavia, l'implementazione e la progettazione delle piattaforme Anycast sono complesse, specialmente le reti Anycast ad alta disponibilità. Monitorare efficacemente una rete Anycast per rilevare rapidamente e localizzare i guasti è ancora più complesso.

Quando i servizi utilizzano un fornitore di CDN di terze parti per gestire il loro contenuto, è fondamentale monitorare e verificare le prestazioni della rete. Nel monitoraggio delle CDN basate su Anycast, l'attenzione si concentra sulla misurazione delle latenze end-to-end e delle caratteristiche del penultimo salto, per capire quale data center sta erogando il contenuto. L'analisi degli header HTTP del server è un altro modo per determinare la provenienza dei dati.

Anycast contro Unicast: quale scegliere in ogni caso
Esempio: header di risposta HTTP che indicano la posizione del server CDN.

Ad esempio, CloudFlare utilizza l'intestazione CF-Ray nelle risposte HTTP, che include l'indicazione del centro dati a cui è stata inviata la richiesta. Nel caso di Zendesk, l'intestazione CF-Ray per la regione di Seattle è CF-RAY: 2a21675e65fd2a3d-SEA, mentre per Amsterdam è CF-RAY: 2a216896b93a0c71-AMS. Per determinare dove si trova il contenuto, è possibile utilizzare anche gli header HTTP-X nelle risposte HTTP.

Altri metodi di indirizzamento

Esistono anche altri metodi di indirizzamento per instradare le richieste degli utenti a uno specifico endpoint di rete:

Unicast

La maggior parte di Internet oggi utilizza proprio questo metodo. Unicast è una trasmissione unidirezionale, l'indirizzo IP è associato a un singolo nodo specifico nella rete. Questo viene chiamato corrispondenza biunivoca. 

Multicast

Il multicast utilizza la comunicazione "da uno a molti da molti" o "da molti a molti". La trasmissione multicast consente di inviare richieste da un mittente simultaneamente a diversi endpoint selezionati. Questo offre al cliente la possibilità di scaricare un file a pezzi da più host contemporaneamente (utile per lo streaming audio o video). Il multicast è spesso confuso con l'Anycast; tuttavia, la principale differenza risiede nel fatto che l'Anycast indirizza il mittente a un nodo specifico, anche se ci sono più nodi disponibili.

Broadcast

Un datagramma da un unico mittente è inviato a tutti gli endpoint associati a un indirizzo di broadcast. La rete replica automaticamente i datagrammi per poter comunicare con tutti i destinatari nella trasmissione broadcast (di solito all'interno della stessa subnet).

Geocast

Geocast è simile al Multicast in quanto le richieste inviate dal mittente vengono contemporaneamente dirette a più punti finali. La differenza risiede nel fatto che il destinatario viene determinato dalla sua posizione geografica. Questa è una forma specializzata di indirizzamento di gruppo utilizzata da alcuni protocolli di instradamento per reti peer-to-peer mobili.

Il router geografico (Geo Router) calcola la propria area di competenza e la approssima. I geomarshrutizzatori, scambiandosi le aree di competenza, costruiscono tabelle di instradamento. Il sistema dei geomarshrutizzatori ha una struttura gerarchica.

Anycast contro Unicast: quale scegliere in ogni caso
Anycast contro Unicast: quale scegliere in ogni caso
Anycast contro Unicast: quale scegliere in ogni caso
Unicast, Multicast e Broadcast.

L'uso della tecnologia Anycast aumenta il livello di affidabilità, tolleranza ai guasti e sicurezza del DNS. Utilizzando questa tecnologia, gli operatori offrono ai propri clienti servizi di bilanciamento del carico basati su DNS. Nel pannello di controllo è possibile specificare gli indirizzi IP ai quali verranno inviate le richieste a seconda della localizzazione geografica. Questo consentirà ai clienti di distribuire le richieste degli utenti in modo più flessibile.

Alcuni operatori utilizzano strumenti di monitoraggio del percorso in ogni punto di presenza (POP): il sistema analizza automaticamente i percorsi locali e globali più brevi per i punti di presenza e li reindirizza attraverso le località geografiche con la latenza più bassa e senza tempi di inattività.

Attualmente, Anycast è la soluzione più stabile e affidabile per la creazione di servizi DNS ad alto carico, ai quali sono richieste elevate prestazioni di resilienza e affidabilità.

Il dominio .ru supporta 35 server Anycast DNS, raggruppati in 20 nodi distribuiti su cinque aree Anycast. Viene utilizzato un principio di costruzione basato sulla geografia, ovvero Geocast. Per la collocazione dei nodi DNS, si prevede il loro posizionamento in località geograficamente disperse, vicine agli utenti più attivi, con la massima concentrazione di fornitori russi nel punto di installazione del nodo, oltre alla disponibilità di capacità libere e alla facilità di interazione con la piattaforma.

Come costruire un CDN?

Il CDN è una rete di server che accelera la consegna dei contenuti agli utenti. Rete di distribuzione dei contenuti unisce tutti i server in un'unica rete e garantisce un caricamento dei contenuti più veloce. La velocità di caricamento è influenzata dalla distanza tra il server e l'utente.

Il CDN consente di utilizzare server che si trovano più vicino al pubblico target. Questo riduce il tempo di attesa e aiuta ad accelerare il caricamento dei contenuti dei siti per tutti i visitatori, il che è particolarmente critico per i siti con file di grandi dimensioni o servizi multimediali. Aree di applicazione tipiche del CDN includono il commercio elettronico e l'intrattenimento.

La rete di server aggiuntivi creata nell'infrastruttura CDN, situata il più vicino possibile agli utenti, contribuisce a una consegna dei dati più stabile e veloce. Secondo le statistiche, l'uso del CDN riduce la latenza nell'accesso al sito di oltre il 70% rispetto ai siti senza CDN.

Come creare un CDN utilizzando il DNS? Настройка CDN с использованием собственного решения Anycast может быть достаточно дорогим проектом, но есть более дешевые варианты. Например, можно использовать GeoDNS и обычные серверы с уникальными IP-адресами. С помощью сервисов GeoDNS можно создать CDN с функциями геолокации, в которой решения принимаются на основе реального местоположения посетителя, а не местоположения ресолвера DNS. Можно настроить свою DNS-зону так, чтобы показывать IP-адреса американских серверов посетителям из США, а европейские посетители будут видеть IP-адрес из Европы.

Con GeoDNS è possibile fornire risposte DNS diverse a seconda dell'indirizzo IP dell'utente. A tal fine, il server DNS viene configurato per restituire indirizzi IP differenti in base all'indirizzo IP sorgente della richiesta. Di solito, si utilizza un database GeoIP per determinare la regione da cui proviene la richiesta. La geolocalizzazione tramite DNS consente di inviare contenuti agli utenti dal sito più vicino.

GeoDNS identifica l'indirizzo IP del client che ha inviato la richiesta DNS, oppure l'IP del server DNS ricorsivo del provider utilizzato durante la gestione della richiesta del cliente. Attraverso l'IP del cliente e il database GeoIP si determina il paese/regione. Successivamente, il client riceve l'indirizzo IP del server CDN più vicino. È possibile leggere ulteriori dettagli sulla configurazione di GeoDNS. qui.

Anycast o GeoDNS?

Sebbene Anycast sia un ottimo modo per distribuire contenuti su scala globale, manca di specificità. Qui entra in gioco GeoDNS. Questo servizio consente di creare regole che reindirizzano gli utenti a endpoint unici a seconda della loro posizione.

Anycast contro Unicast: quale scegliere in ogni caso
Esempio: gli utenti provenienti dall'Europa vengono reindirizzati a un altro endpoint.

È possibile anche vietare l'accesso ai domini scartando tutte le richieste. Questo è, in particolare, un modo rapido per bloccare i malintenzionati.

GeoDNS fornisce risposte più precise rispetto ad Anycast. Mentre in Anycast il percorso più breve è determinato dal numero di hop, GeoDNS instrada gli utenti finali in base alla loro posizione fisica. Questo riduce la latenza e aumenta la precisione quando si creano regole di instradamento granulari.

Quando si accede a un dominio, il browser contatta il server DNS più vicino, che, a seconda del dominio, restituisce un indirizzo IP per caricare il sito. Supponiamo che un negozio online sia popolare negli Stati Uniti e in Europa, mentre i server DNS sono disponibili solo in Europa. In tal caso, gli utenti statunitensi che desiderano utilizzare i servizi del negozio dovranno inviare una richiesta al server più vicino; poiché si trova molto lontano, ci vorrà tempo per ricevere una risposta e il caricamento del sito sarà lento.

Posizionando un server GeoDNS negli Stati Uniti, gli utenti si collegheranno a esso. La risposta sarà rapida, il che influenzerà la velocità di caricamento del sito.

Nel caso di un server DNS esistente negli Stati Uniti, quando un utente di questo paese accede a un dominio, si connetterà al server più vicino, il quale restituirà l'IP corretto. L'utente si dirigerà verso il server che ospita il contenuto del sito, ma poiché i server che contengono il contenuto sono distanti, non otterrà velocemente le informazioni.

Se i server CDN con dati memorizzati nella cache vengono collocati negli Stati Uniti, al momento del caricamento, il browser del cliente invierà una richiesta al server DNS più vicino, il quale restituirà l'indirizzo IP corretto. Il browser, ricevuto l'IP, si collega al server CDN più vicino e al server principale, e il server CDN fornisce al browser il contenuto memorizzato nella cache. Mentre il contenuto memorizzato viene caricato, il server principale invia i file mancanti necessari per completare il caricamento del sito. Di conseguenza, il tempo di caricamento del sito diminuisce, poiché vengono trasferiti molti meno file dal server principale.

Determinare la posizione esatta di un indirizzo IP non è sempre un compito semplice: vari fattori sono in gioco e i proprietari della gamma di indirizzi IP possono decidere di annunciarlo dall'altra parte del mondo (in tal caso, dovrai aspettare che il database si aggiorni per ottenere la posizione corretta). Talvolta, i provider VPS assegnano indirizzi che si presume siano negli Stati Uniti per VPS situati a Singapore.

A differenza dell'uso degli indirizzi Anycast, la distribuzione avviene durante la risoluzione dei nomi, anziché durante la connessione al server di caching. Se il server ricorsivo non supporta le subnet client EDNS, viene utilizzata la posizione di quel server ricorsivo, anziché quella dell'utente che si sta collegando al server di caching.

Le subnet client nel DNS sono un'estensione del DNS (RFC7871) che definisce come i server DNS ricorsivi possano inviare informazioni sul cliente al server DNS, in particolare informazioni sulla rete che il server GeoDNS può utilizzare per determinare con maggiore precisione la posizione del cliente.

La maggior parte delle persone utilizza i server DNS del proprio provider Internet o server DNS geograficamente vicini. Tuttavia, se qualcuno negli Stati Uniti decidesse di utilizzare un resolver DNS situato in Australia, probabilmente otterrebbe l'indirizzo IP del server più vicino all'Australia.

Se desideri utilizzare GeoDNS, è importante tenere a mente queste peculiarità, poiché in alcuni casi questo potrebbe aumentare la distanza tra i server di caching e il cliente.

In sintesi, se desideri combinare più VPS in una CDN, la migliore opzione di implementazione è utilizzare una configurazione di server DNS con funzionalità GeoDNS + Anycast "out of the box".

Anycast contro Unicast: quale scegliere in ogni caso

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster