Di Anycast si è sicuramente sentito parlare da molti. Con questo metodo di indirizzamento e instradamento di rete, un 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, e più precisamente — il protocollo di instradamento BGP). In questo modo, si possono ridurre il numero di salti (hop) e la latenza (latency).
In sostanza, viene annunciato lo stesso percorso da diversi centri di elaborazione dati in tutto il mondo. In questo modo, i clienti verranno indirizzati al centro dati "migliore" e "più vicino" in base ai percorsi BGP. Perché proprio Anycast? Perché utilizzare Anycast invece di Unicast?
Unicast è realmente adatto per un sito con un solo server web e un volume di traffico moderato. Tuttavia, se un servizio ha milioni di abbonati, generalmente utilizza diversi server web, ognuno dei quali ha lo stesso indirizzo IP. Questi server sono geograficamente distribuiti per ottimizzare la gestione delle richieste.
In uno scenario del genere, Anycast offrirà un miglioramento delle prestazioni (il traffico viene diretto all'utente con la minima latenza), garantirà l'affidabilità del servizio (grazie ai server di backup) e il bilanciamento del carico: l'instradamento su più server distribuisce efficacemente il carico tra di essi, migliorando la velocità del sito.
Gli operatori offrono ai clienti vari tipi di bilanciamento del carico basato su Anycast e DNS. I clienti possono specificare gli indirizzi IP a cui verranno inviati i segnali in base alla posizione geografica del sito. Questo consente di distribuire più flessibilmente le richieste degli utenti.
Supponiamo che ci siano più siti tra cui distribuite il carico (degli utenti), ad esempio, un negozio online con 100.000 richieste al giorno o un blog popolare. Per limitare la regione da cui gli utenti accedono a un determinato sito, è possibile utilizzare l'opzione Geo Community. Questa opzione consente di limitare la regione all'interno della quale l'operatore annuncerà il percorso.


Anycast e Unicast: differenze
Anycast viene 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 Anycast poiché gestiscono grandi volumi di traffico, e Anycast offre diversi vantaggi in questo caso (di cui parleremo più avanti). Nel DNS, Anycast consente di aumentare significativamente l'affidabilità e la tolleranza ai guasti del servizio.

In Anycast IP, utilizzando BGP, esistono diversi percorsi per un host specifico. In realtà, si tratta di copie degli host in vari centri di elaborazione dati, utilizzate per stabilire connessioni con una latenza inferiore.
Quindi, nella rete Anycast, lo stesso indirizzo IP viene 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, BGP determina il miglior percorso per i server disponibili nella rete Anycast.
Vantaggi di Anycast
Riduzione della latenza
I sistemi con Anycast possono ridurre la latenza nell'elaborazione delle richieste degli utenti, poiché consentono di ricevere dati dal server più vicino. Questo significa che gli utenti si connetteranno sempre al server DNS "più vicino" (in termini di protocollo di instradamento). Di conseguenza, Anycast riduce i tempi di interazione grazie all'accorciamento della distanza di rete tra cliente e server. Questo non solo riduce la latenza ma assicura anche un bilanciamento del carico.
Velocità
Poiché il traffico viene diretto al nodo più vicino e la latenza nel trasferimento dei dati tra cliente e nodo viene ridotta, ne risulta un'ottimizzazione della velocità di consegna, indipendentemente da dove il cliente richieda informazioni.
Maggiore stabilità e tolleranza ai guasti
Se più server in tutto il mondo utilizzano lo stesso IP, in caso di guasto di uno dei server o della sua disconnessione, il traffico verrà reindirizzato verso il server più vicino. Di conseguenza, Anycast rende il servizio più resiliente e offre un miglior accesso alla rete/latency/velocità.
Pertanto, grazie alla presenza di più server, sempre accessibili agli 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 garantisce un passaggio praticamente trasparente ad altri siti, semplicemente rimuovendo i percorsi del sito problematico.
Bilanciamento del carico
Nel sistema Anycast, il traffico di rete viene distribuito su diversi server. Cioè, funziona come un bilanciatore di carico, evitando che un singolo server riceva la maggior parte del traffico. Il bilanciamento del carico può essere utilizzato, ad esempio, quando vi sono più nodi di rete alla stessa distanza geografica dalla sorgente delle richieste. In questo caso, il carico viene distribuito tra i nodi.
Riduzione dell'impatto degli attacchi DoS
Un'altra caratteristica di Anycast è la resilienza agli attacchi DDoS. Gli attacchi DDoS difficilmente riusciranno a mettere fuori uso il sistema Anycast, poiché sarebbe necessario sopprimere con un'onda di richieste tutti i server in una rete di questo tipo.
Negli attacchi DDoS vengono spesso utilizzati botnet, che possono generare un volume di traffico tale da sovraccaricare il server attaccato. Il vantaggio di utilizzare Anycast in questa situazione è che ogni server è in grado di "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 ben adatti per servizi con grandi volumi di traffico. Se un servizio che utilizza Anycast richiede nuovi server per gestire il traffico in crescita, è possibile aggiungere nuovi server alla rete per gestirlo. Possono essere collocati in nuove o già esistenti ubicazioni.
Se in un luogo specifico si osserva un grande aumento del traffico, l'aggiunta di un server aiuterà a bilanciare il carico per quella piattaforma. Aggiungere un server in una nuova posizione contribuirà a ridurre i tempi di attesa, creando per alcuni utenti un nuovo percorso più breve. Entrambi i metodi aiutano anche a migliorare la stabilità del servizio, poiché nuovi server diventano disponibili nella rete. Così, se un server è sovraccarico, si può semplicemente implementare un altro nel luogo che gli permetterà di gestire una certa parte delle richieste del server sovraccarico. Non è 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 consentiranno di elaborare volumi di traffico di terabyte.
Semplicità nella gestione della configurazione
Come già accennato sopra, un utilizzo interessante di Anycast è il DNS. È possibile posizionare nei nodi di rete diversi server DNS, ma utilizzare un solo indirizzo DNS. A seconda di dove si trova la sorgente, le richieste vengono indirizzate al nodo più vicino. Questo garantisce un certo bilanciamento del traffico e ridondanza in caso di guasto di un server DNS. Così, invece di configurare diversi server DNS a seconda di dove si trovano, la configurazione di un solo server DNS può essere estesa a 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 del cliente non sono necessari server, reti o componenti speciali. Tuttavia, Anycast ha anche dei lati negativi. Si considera che la sua implementazione sia un compito complesso, che richiede attrezzature aggiuntive, fornitori affidabili e un'adeguata instradamento del traffico.
Dalla sorgente pura a un lontano mondo incantevole
Sebbene Anycast indirizzi gli utenti in base al numero minore di passaggi, ciò non significa necessariamente una latenza minima. La latenza è una metrica più complessa, poiché per un passaggio può essere superiore a quella di dieci.

Esempio: le comunicazioni intercontinentali possono includere un passaggio con latenza molto elevata.
Anycast è principalmente utilizzato per servizi basati su UDP, come DNS. Le richieste degli utenti vengono indirizzate al data center più "ottimale" e "vicino" in base ai percorsi BGP.

Esempio: una workstation client DNS con l'indirizzo IP Anycast DNS 123.10.10.10 esegue la risoluzione DNS per il più vicino di tre server DNS, dislocati 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 tramite i router R2 e R3. Inoltre, la route verso il nostro server A sarà rimossa dalle tabelle di routing, il che impedirà ulteriore utilizzo di quel server dei nomi.
Scenari di distribuzione
Ci sono due schemi comuni 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 metriche calcolate più complesse, 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
Tornando ora all'uso di Anycast nelle reti di distribuzione dei contenuti. Anycast è sicuramente un concetto di rete interessante e sta ricevendo sempre maggiore riconoscimento dai fornitori di CDN di nuova generazione.
CDN è una rete distribuita di server che fornisce contenuti agli utenti finali con alta disponibilità e bassa latenza. Le reti di distribuzione dei contenuti giocano oggi un ruolo importante, costituendo la base di numerosi servizi online multimediali, mentre i consumatori sono sempre meno tolleranti ai tempi di caricamento lenti. App mobili e video sono particolarmente sensibili al jitter e alla latenza della rete.
CDN unisce tutti i server in una rete e garantisce un caricamento dei contenuti più rapido. A volte è possibile ridurre il tempo di attesa dell'utente di 5-6 secondi. L'obiettivo del CDN è ottimizzare la consegna fornendo contenuti 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. Sembrerebbe che ogni fornitore di servizi CDN utilizzi di default Anycast, ma in realtà non è così.
Le applicazioni che utilizzano protocolli come HTTP/TCP si basano su una connessione stabilita. Se viene scelto un nuovo nodo Anycast (ad esempio, in caso di guasto del server), il servizio potrebbe essere interrotto. Ecco perché Anycast è stato precedentemente raccomandato per servizi senza connessione come UDP e DNS. Tuttavia, Anycast funziona bene anche per protocolli orientati alla connessione, come TCP che funziona perfettamente in modalità Anycast.
Altra parte dei fornitori di CDN applica 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ù data center sono un altro esempio di applicazione di Anycast. L'indirizzo Load Balancing IP fornito dal provider consente di distribuire il carico tra gli indirizzi IP di diversi servizi dei clienti nel data center del provider. Grazie alla tecnologia di indirizzamento, a qualsiasi dispositivo, questo garantisce migliori prestazioni anche con un traffico elevato, resilienza e aiuta a ottimizzare i tempi di risposta con un grande numero di utenti.
Nelle infrastrutture ibride con più data center è possibile distribuire il traffico tra server o anche macchine virtuali su server dedicati.
In questo modo, c'è una vasta gamma di soluzioni tecniche per costruire l'infrastruttura. È inoltre possibile configurare il bilanciamento del carico per indirizzi IP in diversi data center, utilizzando l'indirizzamento a qualsiasi dispositivo del gruppo per ottimizzare le prestazioni del sito.
È possibile distribuire il traffico secondo le proprie regole, definendo il "peso" di ciascun server distribuito in ogni centro dati. Questa configurazione è particolarmente utile quando si dispone di un parco server distribuito e le prestazioni dei servizi sono variabili. Ciò consentirà di distribuire più frequentemente il traffico per migliorare le prestazioni dei server.
Per creare un sistema di monitoraggio utilizzando il comando ping, è possibile configurare i sensori. Questo permette all'amministratore di definire le proprie procedure di controllo e di avere una visione più chiara dello stato di ciascun componente nell'infrastruttura. In questo modo è possibile stabilire criteri di disponibilità.
Esiste la possibilità di costruire un'infrastruttura ibrida: a volte è comodo mantenere il back office nella rete aziendale e esternalizzare la parte interfaccia a un fornitore.
C'è la possibilità di 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 di bilanciamento del carico tra i centri dati, è possibile utilizzare anche SSL.
Il servizio Anycast con bilanciamento del carico degli indirizzi può essere fornito da un fornitore. Questa funzione aiuterà a migliorare l'algoritmo di interazione degli utenti con le applicazioni in base alla posizione. È sufficiente annunciare quali servizi sono presenti nel centro dati, 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 diretti verso il server più vicino nella rete.
Uno degli utilizzi di Anycast è la scelta ottimale del punto di presenza dell'operatore (PoP). Facciamo un esempio . LinkedIn (bloccato in Russia) non si limita a migliorare le prestazioni e la velocità dei propri prodotti — applicazioni mobili e web — ma cerca anche di perfezionare l'infrastruttura di rete per una consegna più rapida dei contenuti. Per questo, LinkedIn utilizza attivamente PoP — punti di presenza — per la consegna dinamica dei contenuti. Per indirizzare gli utenti al PoP più vicino, viene utilizzato Anycast.
Il motivo è che nel caso di Unycast, ogni PoP di LinkedIn ha un indirizzo IP unico. Gli utenti vengono quindi assegnati a un PoP in base alla loro posizione geografica tramite DNS. Il problema è che, utilizzando DNS, circa il 30% degli utenti negli Stati Uniti veniva reindirizzato a un PoP non ottimale. Con l'implementazione graduale di Anycast, l'assegnazione non ottimale di PoP è scesa dal 31% al 10%.

I risultati del test pilota sono mostrati nel grafico, dove l'asse Y rappresenta la percentuale di assegnazione ottimale del PoP. Con l'«incremento» di Anycast si è osservato un miglioramento nella percentuale di traffico verso il PoP ottimale in molti stati americani.
Monitoraggio della rete Anycast
Teoricamente, le reti Anycast sono semplici: a più server fisici viene assegnato lo stesso indirizzo IP, che BGP utilizza per determinare il percorso. Tuttavia, la realizzazione e la progettazione delle piattaforme Anycast sono complesse, soprattutto per quelle reti Anycast che si «distinguono» per la loro resilienza. Ancora più complesso è il monitoraggio efficace della rete Anycast per una rapida identificazione e localizzazione dei guasti.
Se i servizi utilizzano un fornitore CDN di terze parti per la distribuzione dei loro contenuti, è fondamentale monitorare e verificare le prestazioni della rete. Nel monitoraggio di un CDN basato su Anycast, l'attenzione principale è rivolta alla misurazione dei ritardi end-to-end e delle caratteristiche del penultimo hop, per capire quale centro dati stia erogando il contenuto. L'analisi delle intestazioni HTTP del server è un altro modo per determinare l'origine dei dati.

Esempio: intestazioni di risposta HTTP che indicano la posizione del server CDN.
Ad esempio, CloudFlare utilizza la propria intestazione CF-Ray nei messaggi di risposta 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 trovi il contenuto, è possibile anche utilizzare le intestazioni HTTP-X dalla risposta HTTP.
Altri metodi di indirizzamento
Esistono anche altri metodi di indirizzamento per instradare le richieste degli utenti a un punto finale specifico della rete:
Unicast
La maggior parte di Internet oggi utilizza proprio questo metodo. Unicast è una trasmissione unidirezionale, in cui l'indirizzo IP è associato solo a un nodo specifico nella rete. Questo è ciò che viene definito corrispondenza uno a uno.
Multicast
Il multicast utilizza la comunicazione "uno a molti da molti" o "molti a molti". Il multicast consente di inviare richieste da un mittente a più destinazioni scelte contemporaneamente. Questo dà al cliente la possibilità di scaricare file in porzioni da più host allo stesso tempo (utile per lo streaming di audio o video). Il multicast viene spesso confuso con l'Anycast, tuttavia, la principale differenza è che l'Anycast indirizza il mittente a un nodo specifico, anche se ci sono più nodi disponibili.
Broadcast
Un datagramma di un unico mittente viene inviato a tutti i punti finali associati a un indirizzo di broadcast. La rete replica automaticamente i datagrammi per potersi connettere a tutti i destinatari nel broadcast (solitamente in sottoreti identiche).
Geocast
Il Geocast è in parte simile al multicast: le richieste da un mittente vengono inviate simultaneamente a più punti finali. Tuttavia, la differenza sta nel fatto che il destinatario viene determinato dalla sua posizione geografica. Questa è una forma specializzata di indirizzamento di gruppo utilizzata da alcuni protocolli di routing per reti peer-to-peer mobili.
Il router geografico (Geo Router) calcola la propria area di servizio e la approssima. I geo-router, scambiandosi le aree di servizio, costruiscono tabelle di routing. Il sistema dei geo-router ha una struttura gerarchica.



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 DNS di vario tipo. Nel pannello di controllo è possibile specificare gli indirizzi IP a cui verranno inviati i richieste in base alla localizzazione geografica. Ciò consentirà ai clienti di distribuire in modo più flessibile le richieste degli utenti.
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 posizioni geografiche con la latenza più bassa e zero downtime.
Attualmente, Anycast è la soluzione più stabile e affidabile per la creazione di servizi DNS ad alto carico, a cui sono richiesti elevati standard di robustezza e affidabilità.
Il dominio .ru supporta 35 server Anycast DNS, raggruppati in 20 nodi distribuiti su cinque aree Anycast. Viene utilizzato il principio di costruzione secondo criteri geografici, cioè Geocast. Nell'allocazione dei nodi DNS si prevede il loro posizionamento in luoghi geograficamente distanti, vicini agli utenti più attivi, con la massima concentrazione di fornitori russi nel punto di posizionamento del nodo, nonché la disponibilità di risorse libere e la facilità di interazione con il sito.
Come costruire un CDN?
Il CDN è una rete di server che accelera la consegna di contenuti agli utenti. unisce tutti i server in un'unica rete e garantisce un caricamento più veloce dei contenuti. La velocità di caricamento è fortemente influenzata dalla distanza tra il server e l'utente.
Il CDN consente di utilizzare server che si trovano più vicino al pubblico target. Ciò riduce i tempi 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. Le aree di applicazione tipiche del CDN sono l'e-commerce e il settore dell'intrattenimento.
La rete di server aggiuntivi creata nell'infrastruttura CDN, posizionata il più vicino possibile agli utenti, favorisce una consegna dei dati più stabile e rapida. Secondo le statistiche, l'uso del CDN riduce la latenza nell'accesso ai siti di oltre il 70% rispetto ai siti senza CDN.
Come? Настройка CDN с использованием собственного решения Anycast может быть достаточно дорогим проектом, но есть более дешевые варианты. Например, можно использовать GeoDNS и обычные серверы с уникальными IP-адресами. С помощью сервисов GeoDNS можно создать CDN с функциями геолокации, в которой решения принимаются на основе реального местоположения посетителя, а не местоположения ресолвера DNS. Можно настроить свою DNS-зону так, чтобы показывать IP-адреса американских серверов посетителям из США, а европейские посетители будут видеть IP-адрес из Европы.
Con GeoDNS è possibile restituire risposte DNS diverse a seconda dell'indirizzo IP dell'utente. Per fare ciò, il server DNS viene configurato in modo da restituire indirizzi IP diversi in base all'indirizzo IP di origine della richiesta. Solitamente si utilizza un database GeoIP per determinare la regione da cui viene effettuata la richiesta. La geolocalizzazione tramite DNS consente di inviare agli utenti contenuti dal sito più vicino.
GeoDNS determina l'indirizzo IP del cliente che ha inviato la richiesta DNS o l'IP del server DNS ricorsivo del provider utilizzato per elaborare la richiesta del cliente. Basandosi sull'IP del cliente e sul database GeoIP, vengono definiti il paese o la regione. Successivamente, il cliente riceve l'indirizzo IP del server CDN più vicino. Puoi leggere maggiori dettagli sulla configurazione di GeoDNS.
Anycast o GeoDNS?
Sebbene Anycast sia un ottimo metodo per la distribuzione dei contenuti su scala globale, manca di specificità. Qui interviene GeoDNS. Questo servizio consente di creare regole che reindirizzano gli utenti a endpoint unici in base alla loro posizione.

Esempio: gli utenti dall'Europa vengono indirizzati a un altro endpoint.
È inoltre possibile vietare l'accesso ai domini rifiutando tutte le richieste. Questo è, in particolare, un modo rapido per bloccare gli aggressori.
GeoDNS fornisce risposte più accurate rispetto ad Anycast. Mentre nel caso di Anycast il percorso più breve viene determinato in base al numero di hop, in GeoDNS il routing per gli utenti finali avviene in base alla loro posizione fisica. Questo riduce la latenza e aumenta la precisione nella creazione di regole di routing granulari.
Quando si accede a un dominio, il browser si rivolge al server DNS più vicino, che, a seconda del dominio, restituisce l'indirizzo IP per il caricamento del sito. Supponiamo che un negozio online sia popolare negli Stati Uniti e in Europa, ma i server DNS per esso siano disponibili solo in Europa. In questo caso, gli utenti negli Stati Uniti che vogliono utilizzare il negozio saranno costretti a inviare richieste al server più vicino, e poiché si trova molto lontano, dovranno attendere a lungo per ricevere una risposta: il caricamento del sito non sarà veloce.
Posizionando un server GeoDNS negli Stati Uniti, gli utenti si collegheranno già a esso. La risposta sarà rapida, il che influirà sulla velocità di caricamento del sito.
Nel caso di un server DNS esistente negli Stati Uniti, quando un utente da questo paese accede al dominio, si collegherà al server più vicino che fornirà l'IP corretto. L'utente verrà indirizzato al server che contiene il contenuto del sito, ma poiché i server con il contenuto sono lontani, non riceverà rapidamente ciò che cerca.
Se si posizionano negli Stati Uniti i server CDN con dati memorizzati nella cache, durante il caricamento il browser del cliente invierà una richiesta al server DNS più vicino, che restituirà l'indirizzo IP corretto. Il browser, con l'IP ricevuto, si collega al server CDN più vicino e al server principale, e il server CDN trasmette al browser i contenuti memorizzati nella cache. Mentre il contenuto memorizzato nella cache viene caricato, il server principale invia i file mancanti necessari a caricare l'intero sito. Di conseguenza, il tempo di caricamento del sito si riduce, poiché vengono inviati molti meno file dal server principale.
Determinare la posizione esatta di un determinato indirizzo IP non è sempre un compito semplice: molti fattori sono coinvolti e i proprietari degli intervalli di indirizzi IP possono decidere di annunciarlo all'altro lato del mondo (in tal caso, si dovrà attendere che il database si aggiorni per ottenere la posizione corretta). A volte i provider VPS assegnano indirizzi che presumibilmente si trovano negli Stati Uniti a VPS a Singapore.
A differenza dell'utilizzo degli indirizzi Anycast, la distribuzione avviene durante la risoluzione dei nomi e non durante la connessione al server di caching. Se il server ricorsivo non supporta le sottoreti client EDNS, viene utilizzata la posizione di quel server ricorsivo e non quella dell'utente che si collegherà al server di caching.
Le sottoreti 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 in modo più preciso la posizione del cliente.
La maggior parte degli utenti utilizza i server DNS del proprio fornitore di servizi Internet o server DNS che si trovano geograficamente vicini a loro, ma se qualcuno negli Stati Uniti decide per qualche motivo di utilizzare un resolver DNS situato in Australia, probabilmente otterrà l'indirizzo IP del server più vicino all'Australia.
Se desideri utilizzare GeoDNS, è importante conoscere queste peculiarità, poiché in alcuni casi possono aumentare la distanza tra i server di caching e il cliente.
Riassunto: se desideri unire più VPS in un CDN, la migliore opzione di distribuzione è l'utilizzo di un server DNS con funzione GeoDNS + Anycast 'out of the box'.
Fonte: habr.com
