Anycast vs Unicast: quale è meglio scegliere in ogni caso

Molte persone probabilmente hanno sentito parlare di Anycast. In questo metodo di indirizzamento e routing di rete, un singolo indirizzo IP viene assegnato a più server su una rete. Questi server possono anche essere ubicati in data center distanti tra loro. L'idea di Anycast è che, a seconda della posizione della fonte della richiesta, i dati vengono inviati al server più vicino (secondo la topologia della rete, più precisamente, il protocollo di routing BGP). In questo modo puoi ridurre il numero di hop di rete e la latenza.

In sostanza, lo stesso percorso viene pubblicizzato da più data center in tutto il mondo. Pertanto, i clienti verranno inviati al "migliore" e al "più vicino" in base ai percorsi BGP, il data center. Perchè Anycast? Perché utilizzare Anycast invece di Unicast?

Anycast vs Unicast: quale è meglio scegliere in ogni caso
Unicast è davvero adatto per un sito con un server web e una quantità moderata di traffico. Tuttavia, se un servizio ha milioni di abbonati, solitamente utilizza molti server Web, ciascuno con lo stesso indirizzo IP. Questi server sono distribuiti geograficamente per servire in modo ottimale le richieste.

In questo scenario, Anycast migliorerà le prestazioni (il traffico viene inviato all'utente con un ritardo minimo), garantirà l'affidabilità del servizio (grazie ai server di backup) e il bilanciamento del carico: il routing su più server distribuirà efficacemente il carico tra di loro, migliorando la velocità 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 verranno inviate le richieste in base alla posizione geografica del sito. Ciò consente di distribuire le richieste degli utenti in modo più flessibile.

Supponiamo che esistano diversi siti tra i quali è necessario distribuire il carico (utenti), ad esempio un negozio online con 100 richieste al giorno o un blog popolare. Per limitare la regione da cui gli utenti accedono a un sito specifico, puoi utilizzare l'opzione Geo Community. Ti consente di limitare la regione all'interno della quale l'operatore pubblicizzerà il percorso.

Anycast vs Unicast: quale è meglio scegliere in ogni caso

Anycast vs Unicast: quale è meglio scegliere in ogni caso
Anycast e Unicast: differenze

Anycast viene spesso utilizzato in applicazioni come DNS (Domain Name System) e CDN (Content Delivery Networks), consentendo decisioni di routing che migliorano le prestazioni della rete. Le reti di distribuzione dei contenuti utilizzano Anycast perché gestiscono grandi volumi di traffico e Anycast offre una serie di vantaggi in questo caso (ne parleremo più avanti). In DNS, Anycast consente di aumentare notevolmente il livello di affidabilità e tolleranza agli errori del servizio.

Anycast vs Unicast: quale è meglio scegliere in ogni caso
In Anycast IP, quando si utilizza BGP, sono presenti più percorsi verso un host specifico. Si tratta in realtà di copie di host in più data center, utilizzate per stabilire connessioni a latenza inferiore.

Quindi, in una rete Anycast, lo stesso indirizzo IP viene pubblicizzato da luoghi diversi e la rete decide dove instradare la richiesta dell'utente in base al "costo" del percorso. Ad esempio, BGP viene spesso utilizzato per determinare il percorso più breve per la trasmissione dei dati. Quando un utente invia una richiesta Anycast, BGP determina il percorso migliore per i server Anycast disponibili sulla rete.

Vantaggi di Anycast

Riduzione della latenza
I sistemi con Anycast possono ridurre la latenza nell'elaborazione delle richieste degli utenti perché consentono di ricevere i dati dal server più vicino. Cioè, gli utenti si connetteranno sempre al server DNS “più vicino” (dal punto di vista del protocollo di routing). Di conseguenza, Anycast riduce il tempo di interazione riducendo la distanza di rete tra client e server. Ciò non solo riduce la latenza ma fornisce anche il bilanciamento del carico.

velocità

Poiché il traffico viene instradato al nodo più vicino e la latenza tra il client e il nodo è ridotta, il risultato è una velocità di consegna ottimizzata, indipendentemente da dove il client richiede informazioni.

Maggiore stabilità e tolleranza ai guasti

Se più server in tutto il mondo utilizzano lo stesso IP, se uno dei server si guasta o viene disconnesso, il traffico verrà reindirizzato al server più vicino. Di conseguenza, Anycast rende il servizio più resiliente e fornisce un migliore accesso/latenza/velocità di rete. 

Pertanto, avendo più server costantemente a disposizione degli utenti, Anycast, ad esempio, migliora la stabilità DNS. Se un nodo fallisce, le richieste dell'utente verranno reindirizzate a un altro server DNS senza alcun intervento manuale o riconfigurazione. Anycast consente il passaggio praticamente trasparente ad altri siti semplicemente rimuovendo i percorsi del sito problematico. 

Bilancio del carico

In Anycast, il traffico di rete è distribuito su diversi server. Funziona cioè come un bilanciatore del carico, impedendo a ogni singolo server di ricevere la maggior parte del traffico. Il bilanciamento del carico può essere utilizzato, ad esempio, quando sono presenti più nodi di rete alla stessa distanza geografica dalla fonte della richiesta. In questo caso il carico viene distribuito tra i nodi.

Riduci l'impatto degli attacchi DoS 

Un'altra caratteristica di Anycast è la sua resistenza agli attacchi DDoS. Gli attacchi DDoS difficilmente riusciranno a mettere fuori uso un sistema Anycast, poiché dovrebbero travolgere tutti i server di una rete del genere con una valanga di richieste. 

Gli attacchi DDoS utilizzano spesso botnet, che possono generare così tanto traffico da sovraccaricare il server attaccato. Il vantaggio di utilizzare Anycast in questa situazione è che ciascun server è in grado di "assorbire" parte dell'attacco, riducendo così il carico su quel particolare server. Un attacco di negazione del servizio sarà molto probabilmente localizzato sul server e non influirà sull'intero servizio.

Elevata scalabilità orizzontale

I sistemi Anycast sono adatti per servizi con grandi volumi di traffico. Se un servizio che utilizza Anycast richiede nuovi server per gestire l'aumento del traffico, è possibile aggiungere nuovi server alla rete per gestirlo. Possono essere posizionati su siti nuovi o esistenti. 

Se una particolare località sta registrando un notevole aumento del traffico, l'aggiunta di un server aiuterà a bilanciare il carico per quel sito. L'aggiunta di un server in un nuovo sito aiuterà a ridurre i tempi di attesa creando un nuovo percorso più breve per alcuni utenti. Entrambi i metodi aiutano anche a migliorare la stabilità del servizio man mano che nuovi server diventano disponibili sulla rete. In questo modo, se un server è sovraccarico, puoi semplicemente distribuirne un altro in una posizione che gli consenta di accettare parte delle richieste del server sovraccarico. Ciò non richiede alcuna configurazione da parte dei client. 

Solo in questo modo è possibile servire terabit di traffico e un numero molto elevato di utenti quando il server ha solo poche porte da 10 o 25 Gbps. 100 host con un indirizzo IP consentiranno di elaborare volumi di traffico di terabit.

Facile gestione della configurazione

Come notato sopra, un uso interessante di Anycast è il DNS. È possibile posizionare diversi server DNS sui nodi di rete, ma utilizzare un indirizzo DNS. A seconda di dove si trova la fonte, le richieste vengono instradate al nodo più vicino. Ciò fornisce un certo bilanciamento del traffico e ridondanza in caso di guasto del server DNS. In questo modo, invece di configurare diversi server DNS a seconda di dove si trovano, la configurazione di un server DNS può essere propagata a tutti i nodi.

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

Per utilizzare la tecnologia Anycast non sono necessari server, reti o componenti speciali sul lato client. Ma Anycast ha anche i suoi svantaggi. Si ritiene che la sua implementazione sia un compito complesso, che richiede attrezzature aggiuntive, fornitori affidabili e un adeguato instradamento del traffico.

Lontano dalla pura fonte della bellezza

Sebbene Anycast instradi gli utenti in base al minor numero di hop, ciò non significa necessariamente la latenza più bassa. La latenza è una metrica più complessa perché può essere maggiore per una transizione che per dieci.

Anycast vs Unicast: quale è meglio scegliere in ogni caso
Esempio: le comunicazioni intercontinentali possono comportare un singolo salto con latenza molto elevata.

Anycast viene utilizzato principalmente per servizi basati su UDP come DNS. Le richieste degli utenti vengono instradate al data center “migliore” e “più vicino” in base ai percorsi BGP.

Anycast vs Unicast: quale è meglio scegliere in ogni caso
Esempio: una workstation client DNS con un indirizzo IP DNS Anycast di 123.10.10.10 esegue la risoluzione DNS sul più vicino dei tre server dei nomi DNS distribuiti utilizzando lo stesso indirizzo IP Anycast. Se il router R1 o il server A si guasta, i pacchetti client DNS verranno automaticamente inoltrati al server DNS successivo più vicino tramite i router R2 e R3. Inoltre, il percorso verso il nostro server A verrà rimosso dalle tabelle di routing, impedendo l'ulteriore utilizzo di quel nameserver.

Scenari di distribuzione

Esistono due schemi generali utilizzati per determinare a quale server si connette un utente:

  • Livello di rete anycast. Connette l'utente al server più vicino. In questo caso è importante il percorso di rete dall'utente al server.
  • Qualsiasi cast a livello di applicazione. Questo schema prevede metriche più calcolate, tra cui disponibilità del server, tempo di risposta, numero di connessioni, ecc. Ciò dipende da un monitor esterno che fornisce statistiche di rete.

CDN basato su Anycast

Torniamo ora all'utilizzo di Anycast nelle reti di distribuzione dei contenuti. Anycast è sicuramente un concetto di networking interessante e sta guadagnando sempre più consenso tra i fornitori CDN di prossima generazione.

CDN è una rete distribuita di server che fornisce contenuti agli utenti finali con elevata disponibilità e bassa latenza. Le reti di distribuzione dei contenuti svolgono oggi un ruolo importante in quanto spina dorsale di molti servizi multimediali online e i consumatori sono sempre meno tolleranti nei confronti delle basse velocità di download. Le applicazioni video e vocali sono particolarmente sensibili al jitter e alla latenza della rete.

Una CDN collega tutti i server in un'unica rete e garantisce un caricamento più rapido dei contenuti. A volte è possibile ridurre il tempo di attesa dell'utente di 5-6 secondi. Lo scopo di una CDN è ottimizzare la consegna fornendo contenuti dal server più vicino all'utente finale. Questo è molto simile a Anycast, dove viene selezionato il server più vicino in base alla posizione dell'utente finale. Sembrerebbe che ogni fornitore di servizi CDN utilizzi Anycast per impostazione predefinita, ma in realtà non è così.

Le applicazioni che utilizzano protocolli come HTTP/TCP si basano sulla connessione stabilita. Se viene selezionato un nuovo nodo Anycast (ad esempio, a causa di un guasto del server), il servizio potrebbe essere interrotto. Questo è il motivo per cui Anycast era precedentemente consigliato per servizi senza connessione come UDP e DNS. Tuttavia, Anycast funziona bene anche per i protocolli orientati alla connessione; ad esempio, TCP funziona bene in modalità Anycast.

Alcuni provider CDN utilizzano il routing basato su Anycast, altri preferiscono il routing basato su DNS: il server più vicino viene selezionato in base a dove si trova il server DNS dell'utente.

Le infrastrutture ibride e multi-data center sono un altro esempio dell'utilizzo di Anycast. L’indirizzo IP di bilanciamento del carico ricevuto dal provider consente di distribuire il carico tra gli indirizzi IP di diversi servizi client nel data center del provider. Grazie alla tecnologia any-device, offre prestazioni migliori in condizioni di traffico intenso, tolleranza agli errori e aiuta a ottimizzare i tempi di risposta quando si ha a che fare con un numero elevato di utenti.

Nelle infrastrutture ibride multi-data center è possibile distribuire il traffico tra server o addirittura macchine virtuali su server dedicati.

Pertanto, esiste una vasta scelta di soluzioni tecniche per la costruzione di infrastrutture. Puoi anche configurare il bilanciamento del carico tra indirizzi IP su più data center, indirizzando qualsiasi dispositivo in un gruppo per ottimizzare le prestazioni del sito.

Puoi distribuire il traffico secondo le tue regole, definendo il “peso” di ciascuno dei server distribuiti in ciascun data center. Questa configurazione è particolarmente utile quando esiste un parco server distribuito e la prestazione dei servizi non è uniforme. Ciò consentirà di distribuire il traffico più spesso per migliorare le prestazioni del server.

Per creare un sistema di monitoraggio utilizzando il comando ping è possibile configurare le sonde. Ciò consente all'amministratore di definire le proprie procedure di monitoraggio e ottenere un quadro più chiaro dello stato di ciascun componente dell'infrastruttura. In questo modo è possibile definire i criteri di accessibilità.

È possibile realizzare un'infrastruttura ibrida: a volte conviene lasciare il back office nella rete aziendale, ed esternalizzare la parte di interfaccia al provider.

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

Il servizio Anycast con bilanciamento del carico degli indirizzi può essere ottenuto dal proprio provider. Questa funzionalità contribuirà a migliorare il modo in cui gli utenti interagiscono con le app in base alla posizione. È sufficiente annunciare quali servizi sono disponibili nel data center e il traffico verrà reindirizzato all'infrastruttura più vicina. Se sono presenti server dedicati, ad esempio in Francia o Nord America, i client verranno indirizzati al server più vicino sulla rete.

Una delle opzioni per utilizzare Anycast è la scelta ottimale del punto di presenza (PoP) di un operatore. Diamo esempio. LinkedIn (bloccato in Russia) si impegna non solo a migliorare le prestazioni e la velocità dei suoi prodotti - applicazioni mobili e web, ma anche a migliorare la propria infrastruttura di rete per una consegna più rapida dei contenuti. Per questa distribuzione dinamica di contenuti, LinkedIn utilizza attivamente i PoP - punti di presenza. Anycast viene utilizzato per indirizzare gli utenti al PoP più vicino.

Il motivo è che nel caso di Unycast ogni PoP di LinkedIn ha un indirizzo IP univoco. Gli utenti vengono quindi assegnati al PoP in base alla loro posizione geografica tramite DNS. Il problema è che quando si utilizzava il DNS, circa il 30% degli utenti negli Stati Uniti veniva reindirizzato a un PoP non ottimale. Con l'implementazione graduale di Anycast, l'assegnazione PoP non ottimale è scesa dal 31% al 10%.

Anycast vs Unicast: quale è meglio scegliere in ogni caso
I risultati del test pilota sono mostrati nel grafico, dove l'asse Y è la percentuale di assegnazione PoP ottimale. Con l'aumento di Anycast, molti stati degli Stati Uniti hanno notato un miglioramento nella percentuale di traffico verso il PoP ottimale.

Monitoraggio della rete Anycast

Le reti anycast sono semplici in teoria: a più server fisici viene assegnato lo stesso indirizzo IP, che BGP utilizza per determinare il percorso. Ma l'implementazione e la progettazione delle piattaforme Anycast sono complesse e le reti Anycast tolleranti ai guasti sono particolarmente famose per questo. Ancora più impegnativo è monitorare efficacemente una rete Anycast per identificare e isolare rapidamente i guasti.

Se i servizi utilizzano un provider CDN di terze parti per fornire i propri contenuti, è molto importante che monitorino e verifichino le prestazioni della rete. Il monitoraggio CDN basato su anycast si concentra sulla misurazione della latenza end-to-end e delle prestazioni del penultimo hop per comprendere quale data center fornisce il contenuto. L'analisi delle intestazioni del server HTTP è un altro modo per determinare da dove provengono i dati.

Anycast vs Unicast: quale è meglio scegliere in ogni caso
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 un'indicazione del data center a cui è stata effettuata 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. Puoi anche utilizzare le intestazioni HTTP-X dalla risposta HTTP per determinare dove si trova il contenuto.

Altri metodi di indirizzamento

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

unicast

La maggior parte di Internet oggi utilizza questo metodo. Unicast - trasmissione unicast, l'indirizzo IP è associato a un solo nodo specifico della rete. Questa è chiamata corrispondenza uno a uno. 

Multicast

Il multicast utilizza una relazione uno-a-molti o molti-a-molti. Il multicast consente di inviare simultaneamente una richiesta da un mittente a diversi endpoint selezionati. Ciò offre al client la possibilità di scaricare un file in blocchi da più host contemporaneamente (utile per lo streaming di audio o video). Multicast viene spesso confuso con Anycast, ma la differenza principale è che Anycast indirizza il mittente a un nodo specifico, anche se sono disponibili più nodi.

Broadcast

Un datagramma da un singolo mittente viene inoltrato a tutti gli endpoint associati all'indirizzo broadcast. La rete replica automaticamente i datagrammi per poter raggiungere tutti i destinatari della trasmissione (solitamente sulla stessa sottorete).

Geocast

Geocast è in qualche modo simile al Multicast: le richieste del mittente vengono inviate a più endpoint contemporaneamente. Tuttavia, la differenza è che il destinatario è determinato dalla sua posizione geografica. Si tratta di una forma specializzata di multicast utilizzata da alcuni protocolli di routing per reti mobili ad hoc.

Un router geografico calcola la sua area di servizio e la approssima. Georouter, scambio di aree di servizio, creazione di tabelle di routing. Il sistema georouter ha una struttura gerarchica.

Anycast vs Unicast: quale è meglio scegliere in ogni caso
Anycast vs Unicast: quale è meglio scegliere in ogni caso
Anycast vs Unicast: quale è meglio scegliere in ogni caso
Unicast, Multicast e Broadcast.

L'utilizzo della tecnologia Anycast aumenta il livello di affidabilità, tolleranza agli errori e sicurezza del DNS. Utilizzando questa tecnologia gli operatori offrono ai propri clienti servizi per diversi tipi di bilanciamento del carico basati su DNS. Nel pannello di controllo è possibile specificare gli indirizzi IP a cui verranno inviate le richieste in base alla posizione geografica. Ciò offrirà ai clienti l'opportunità di distribuire le richieste degli utenti in modo più flessibile.

Alcuni operatori implementano funzionalità di monitoraggio del percorso in ciascun punto di presenza (POP): il sistema analizza automaticamente i percorsi locali e globali più brevi per i punti di presenza e li instrada attraverso le posizioni geografiche a latenza più bassa senza tempi di inattività.

Al momento, Anycast è la soluzione più stabile e affidabile per la creazione di servizi DNS ad alto carico, che hanno elevati requisiti di stabilità e affidabilità.

Il dominio .ru supporta 35 server DNS Anycast, raggruppati in 20 nodi, distribuiti su cinque cloud Anycast. In questo caso viene utilizzato il principio di costruzione basato sulle caratteristiche geografiche, vale a dire. Geocast. Quando si posizionano i nodi DNS, si prevede che essi verranno spostati in luoghi geograficamente dispersi, vicini agli utenti più attivi, alla massima concentrazione di provider russi nel punto in cui si trova il nodo, nonché alla disponibilità di capacità libera e alla facilità di interazione con il sito.

Come costruire una CDN?

CDN è una rete di server che accelera la consegna dei contenuti agli utenti. Rete per la distribuzione dei contenuti unisce tutti i server in un'unica rete e garantisce un caricamento più rapido dei contenuti. La distanza dal server all'utente gioca un ruolo importante nella velocità di caricamento.

La CDN ti consente di utilizzare i server più vicini al pubblico di destinazione. Ciò riduce i tempi di attesa e contribuisce a velocizzare il caricamento dei contenuti del sito per tutti i visitatori, il che è particolarmente critico per i siti con file di grandi dimensioni o servizi multimediali. Applicazioni tipiche della CDN sono l'e-commerce e l'intrattenimento.

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

Come creare CDN utilizzando DNS? Configurare una CDN utilizzando la soluzione di Anycast può essere un progetto piuttosto costoso, ma esistono opzioni più economiche. Ad esempio, puoi utilizzare GeoDNS e server normali con indirizzi IP univoci. Utilizzando i servizi GeoDNS, puoi creare una CDN con funzionalità di geolocalizzazione, in cui le decisioni vengono prese in base alla posizione effettiva del visitatore, piuttosto che alla posizione del risolutore DNS. Puoi configurare la tua zona DNS per mostrare gli indirizzi IP dei server statunitensi ai visitatori statunitensi, ma i visitatori europei vedranno l'indirizzo IP europeo.

Con GeoDNS puoi restituire risposte DNS diverse a seconda dell'indirizzo IP dell'utente. Per fare ciò, il server DNS è configurato per restituire indirizzi IP diversi a seconda dell'indirizzo IP di origine nella richiesta. In genere, viene utilizzato un database GeoIP per determinare la regione da cui viene effettuata una richiesta. La geolocalizzazione tramite DNS ti consente di inviare contenuti agli utenti da un sito vicino.

GeoDNS determina l'indirizzo IP del client che ha inviato la richiesta DNS o l'indirizzo IP del server DNS ricorsivo del provider, che viene utilizzato durante l'elaborazione della richiesta del client. Il paese/regione è determinato dall'IP del cliente e dal database GeoIP. Il client ottiene quindi l'indirizzo IP del server CDN più vicino. Puoi leggere ulteriori informazioni sulla configurazione di GeoDNS qui.

Anycast o GeoDNS?

Sebbene Anycast sia un ottimo modo per fornire contenuti su scala globale, manca di specificità. È qui che GeoDNS viene in soccorso. Questo servizio consente di creare regole che inviano gli utenti a endpoint univoci in base alla loro posizione.

Anycast vs Unicast: quale è meglio scegliere in ogni caso
Esempio: gli utenti dall'Europa vengono indirizzati a un endpoint diverso.

Puoi anche negare l'accesso ai domini scartando tutte le richieste. Questo è, in particolare, un modo rapido per isolare gli intrusi.

GeoDNS fornisce risposte più accurate di Anycast. Se nel caso di Anycast il percorso più breve è determinato dal numero di hop, nel GeoDNS il routing per gli utenti finali avviene in base alla loro posizione fisica. Ciò riduce la latenza e migliora la precisione durante la creazione di regole di routing granulari.

Durante la navigazione verso un dominio, il browser contatta il server DNS più vicino, il quale, a seconda del dominio, rilascia un indirizzo IP per caricare il sito. Supponiamo che un negozio online sia popolare negli Stati Uniti e in Europa, ma i server DNS sono disponibili solo in Europa. Quindi gli utenti statunitensi che desiderano utilizzare i servizi del negozio saranno costretti a inviare una richiesta al server più vicino e, poiché è molto lontano, dovranno attendere a lungo la risposta: il sito non si caricherà rapidamente.

Quando un server GeoDNS si trova negli Stati Uniti, gli utenti vi accederanno già. La risposta sarà rapida, il che influirà sulla velocità di caricamento del sito.

In una situazione con un server DNS esistente negli Stati Uniti, quando un utente dagli Stati Uniti accede a un determinato dominio, contatterà il server più vicino che fornirà l'IP richiesto. L'utente verrà indirizzato al server che contiene il contenuto del sito, ma poiché i server con il contenuto sono lontani, non lo riceverà rapidamente.

Se ospiti server CDN negli Stati Uniti con dati memorizzati nella cache, al caricamento il browser client invierà una richiesta al server DNS più vicino, che invierà indietro l'indirizzo IP richiesto. Il browser con l'IP ricevuto contatta il server CDN più vicino e il server principale, e il server CDN fornisce al browser il contenuto memorizzato nella cache. Durante il caricamento del contenuto memorizzato nella cache, i file mancanti per caricare l'intero sito vengono ricevuti dal server principale. Di conseguenza, il tempo di caricamento del sito è ridotto, poiché dal server principale vengono inviati molti meno file.

Determinare la posizione esatta di uno specifico indirizzo IP non è sempre un compito facile: ci sono molti fattori in gioco, e i possessori di una serie di indirizzi IP possono decidere di pubblicizzarlo dall'altra parte del mondo (allora bisognerà attendere l'aggiornamento del database per ottenere la posizione corretta). A volte i fornitori VPS assegnano indirizzi presumibilmente situati negli Stati Uniti a VPS a Singapore.

A differenza dell'utilizzo degli indirizzi Anycast, la distribuzione viene eseguita durante la risoluzione dei nomi anziché durante la connessione al server di memorizzazione nella cache. Se il server ricorsivo non supporta le sottoreti client EDNS, viene utilizzata la posizione di quel server ricorsivo anziché l'utente che si connetterà al server di memorizzazione nella cache.

Sottoreti client in DNS è un'estensione di DNS (RFC7871) che definisce il modo in cui i server DNS ricorsivi possono inviare informazioni sul client al server DNS, in particolare informazioni di rete che il server GeoDNS può utilizzare per determinare con maggiore precisione la posizione del client.

La maggior parte utilizza i server DNS del proprio ISP o server DNS geograficamente vicini a loro, ma se qualcuno negli Stati Uniti per qualche motivo decide di utilizzare un risolutore DNS situato in Australia, probabilmente si ritroverà con un indirizzo di server IP più vicino all'Australia.

Se si desidera utilizzare GeoDNS, è importante essere consapevoli di queste funzionalità, poiché in alcuni casi possono aumentare la distanza tra i server di caching e il client.

Riepilogo: se desideri combinare più VPS in una CDN, la migliore opzione di implementazione è utilizzare un bundle di server DNS con la funzione GeoDNS + Anycast pronta all'uso.

Anycast vs Unicast: quale è meglio scegliere in ogni caso

Fonte: habr.com

Aggiungi un commento