Come funziona Anycast per avvicinare i contenuti ai tuoi visitatori

Quando digiti www.someplace.com nella barra degli indirizzi del browser e premere invio, il sito viene visualizzato nel browser in (si spera) pochi secondi. Ci sono un certo numero di cose che accadono dietro le quinte per indirizzare la tua richiesta a quel sito in modo da poter visualizzare il contenuto. Border Gateway Protocol (BGP) garantisce che la richiesta arrivi al server per quel sito tramite il percorso migliore attraverso Internet.

Esistono alcune metodologie per indirizzare il server di destinazione, e in questo post ne discuteremo una, anycast addressing, in dettaglio.

Che cos’è Anycast?

In anycast, una raccolta di server condivide lo stesso indirizzo IP e invia dati da un computer di origine al server topograficamente più vicino. Ciò aiuta a ridurre i costi di latenza e larghezza di banda, migliora il tempo di caricamento per gli utenti e migliora la disponibilità. È importante ricordare che topograficamente più vicino non significa intrinsecamente geograficamente più vicino, anche se questo è spesso il caso.

Anycast è collegato al protocollo BGP che garantisce che tutti i vicini di un router siano a conoscenza delle reti che possono essere raggiunte attraverso quel router e della distanza topografica da tali reti. Il principio principale di anycast è che un intervallo di indirizzi IP è pubblicizzato nei messaggi BGP di più router. Mentre questo si propaga su Internet, i router diventano consapevoli di quale dei loro vicini fornisce il percorso topografico più breve per l’indirizzo IP pubblicizzato.

Metodi di indirizzamento

Questi altri metodi di indirizzamento primari sono disponibili per instradare il traffico.

  • L’indirizzamento Unicast utilizza un’associazione one-to-one, in cui ogni indirizzo di destinazione è identificato in modo univoco come un singolo endpoint ricevente. Le distribuzioni DNS tradizionali sono configurate con indirizzi unicast.
  • L’indirizzamento multicast utilizza un’associazione multipla unica, in cui i datagrammi vengono instradati da un singolo mittente a più endpoint selezionati in una singola trasmissione, utilizzando un indirizzo di gruppo multicast. Un uso comune del multicast è lo streaming audio, in cui l’audio viene pubblicato tramite indirizzamento multicast e i client raccolgono il flusso instradato come canale.
  • L’indirizzamento broadcast utilizza un’associazione uno-a-molti, in cui i datagrammi vengono instradati da un singolo mittente a tutti gli altri endpoint connessi in una singola trasmissione, utilizzando un indirizzo broadcast. La rete replica automaticamente i datagrammi secondo necessità per tutti i segmenti di rete (link) che contengono un ricevitore idoneo.

DNS Anycast

Con Unicast, i resolver client DNS possono essere configurati con più target DNS name server. Nel caso in cui il risolutore non riceva alcuna risposta dal primo server dell’elenco, in genere attenderà un valore di timeout, prima di passare al secondo server (e ai server successivi) nell’elenco del risolutore. La prossima volta che il risolutore deve eseguire una ricerca, non “ricorderà” che i server nell’elenco non erano reattivi e inizierà l’interrogazione con il primo server nell’elenco anche se non è ancora disponibile. A seconda del sistema operativo del client, potrebbe essere da uno a cinque secondi mentre ruota attraverso l’elenco dei risolutori ogni volta, tentando il server fallito.

I resolver client DNS configurati con indirizzi anycast eliminano virtualmente questa latenza, poiché la risoluzione viene gestita dal protocollo di routing. Nel diagramma seguente viene mostrata una singola workstation client DNS, configurata con l’indirizzo IP DNS anycast di 123.10.10.10, che esegue la risoluzione DNS rispetto al suo più vicino dei tre name server DNS distribuiti utilizzando lo stesso indirizzo IP anycast.

Il resolver DNS del client può risolvere uno qualsiasi dei tre server DNS mostrati sopra. Il routing Layer 3 invierebbe i pacchetti del nostro client DNS tramite router R1 a causa della topologia di routing. Se il router R1 o il server dovessero fallire, i pacchetti del nostro client DNS verrebbero automaticamente reindirizzati al server DNS più vicino tramite i router R2 e R3. Inoltre, il percorso verso il nostro server A, verrebbe rimosso dalle tabelle di routing, impedendo così un ulteriore utilizzo di quel server dei nomi. Il server A non verrà utilizzato fino a quando non verrà ripristinato e le rotte degli indirizzi IP anycast reiniettati alla rete.

Tracciamo un’analogia dalla vita di tutti i giorni per rendere tutto questo un po ‘ più comprensibile.

Immagina che le scarpe che hai desiderato siano in vendita e disponibili in tutte le filiali di una catena di grandi magazzini. Proprio come in anycast, puoi essere assistito in molti siti identici, senza motivo per preferire qualsiasi sito specifico. Quindi inserisci “Marks and Spencer” in Waze, e il navigatore ti porterà nella filiale più vicina disponibile per acquistare quelle scarpe. Se la strada per la filiale più vicina è bloccata, Waze ti porterà alla filiale più vicina.

Perché Anycast?

La domanda, che potresti chiedere, è perché usare anycast routing invece del più semplice routing unicast, che otterrà la tua richiesta allo stesso indirizzo IP.

Il routing Unicast è certamente adeguato e appropriato per un sito con un singolo server Web per ospitare una quantità moderata di traffico. Immaginate di essere seduti con il computer in un bar sul Canal Grande e l’accesso www.venicegazette.com, che ha 843 colpi un’ora. Quel sito avrà un server Web e la tua richiesta verrà rapidamente instradata a quell’indirizzo Unicast.

Tuttavia non sarà così semplice al prossimo accesso www.dailyplanet.com per leggere l’ultimo articolo di Lois Lane. Dal momento che la carta ha milioni di abbonati, ci sono più server web ciascuno con lo stesso indirizzo IP, dispersi geograficamente, per servire le richieste.

I vantaggi di anycast in tale scenario sono:

  • Miglioramento delle prestazioni — Il traffico viene instradato con latenza trascurabile all’utente come discusso sopra
  • Affidabilità del servizio – Con i server ridondanti, il servizio è più altamente disponibile. Ad esempio, se il server Paris è in manutenzione, il servizio verrà automaticamente indirizzato a un server disponibile con il percorso migliore successivo.
  • bilanciamento del Carico – Routing a più server in modo efficace bilanciamento del carico tra i server, migliorare la velocità del sito
  • Riduce l’impatto di attacchi DoS – L’attacco di negazione del servizio sarà probabilmente essere localizzato in un server e quindi non influenza l’intero servizio

Anycast in Incapsula

Per fornire questi vantaggi, Incapsula (ora Imperva Cloud Application Security), si avvale di anycast nella sua rete CDN. Quando gli utenti finali stabiliscono una connessione con un indirizzo IP Incapsula all’interno di un intervallo IP anycasted, raggiungeranno il POP Incapsula più vicino a loro.

Dai un’occhiata a questi servizi Incapsula che utilizzano indirizzi IP anycasted:

  • Sistema DNS Incapsula
  • Servizio di protezione IP

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.