sviluppo-web-qa.it

Che cos'è "anycast" e come è utile?

Non avevo mai sentito parlare di alcuncast fino a pochi secondi fa quando leggevo " Quali sono alcuni trucchi del server/rete interessanti o utili? ".

L'articolo di wikipedia " Anycast " è abbastanza formale e non evoca veramente un'immagine mentale di come verrebbe usato.

Qualcuno può spiegare in poche frasi informali cos'è "anycast", come lo si configura (solo in senso generale) e quali sono i suoi vantaggi (cosa rende più semplice)?

85
username

Anycast è una tecnica di rete in cui lo stesso prefisso IP viene pubblicizzato da più posizioni. La rete decide quindi in quale posizione indirizzare una richiesta dell'utente, in base ai costi del protocollo di routing e possibilmente alla "salute" dei server pubblicitari.

Anycast offre numerosi vantaggi. Innanzitutto, allo stato stazionario, gli utenti di un servizio anycast (DNS è un ottimo esempio) si collegheranno sempre al server DNS "più vicino" (dal punto di vista del protocollo di routing). Ciò riduce la latenza, oltre a fornire un livello di bilanciamento del carico (presupponendo che i consumatori siano distribuiti uniformemente sulla rete).

Un altro vantaggio è la facilità di gestione della configurazione. Invece di dover configurare diversi server DNS a seconda di dove è distribuito un server/workstation (Asia, America, Europa), hai un indirizzo IP che è configurato in ogni posizione.

A seconda di come viene implementato anycast, può anche fornire un livello di alta disponibilità. Se la pubblicità della route anycast è subordinata a una sorta di controllo dello stato (ad esempio una query DNS per un dominio ben noto, in questo esempio), non appena un server non riesce la sua route può essere rimossa. Una volta riconfigurata la rete, le richieste dell'utente verranno inoltrate senza problemi alla successiva istanza di DNS più vicina, senza la necessità di alcun intervento manuale o riconfigurazione.

Un vantaggio finale è quello del ridimensionamento orizzontale; se si rileva che un server viene caricato eccessivamente, è sufficiente distribuirne un altro in una posizione che gli consenta di accettare una parte delle richieste del server sovraccarico. Ancora una volta, poiché non è richiesta alcuna configurazione client, questo può essere fatto molto rapidamente.

88
Murali Suriar

Una delle cose che spesso mi ha confuso nella comprensione di "anycast" è che, sebbene sia un termine di alto livello, nell'implementazione pratica di solito si riduce a due esempi:

  1. Router che utilizzano BGP per pubblicizzare lo stesso blocco IP tramite più COME percorsi come modo di indirizzare gli utenti verso un sito "più vicino". Allo stesso tempo, fornisce un failover quasi trasparente agli altri siti semplicemente ritraendo i percorsi da un sito problematico. Questo può essere utile per quasi tutti i protocolli, anche se ovviamente solleva molti problemi di sincronizzazione dei dati di back-end.

  2. Pubblicizzare lo stesso IP di servizio da più punti all'interno della propria rete (tramite routing statico , OSPF , EIGRP o qualsiasi altra cosa). Se i percorsi sono ponderati in modo diverso agisce come un meccanismo di failover. Se le rotte sono ponderate in modo uniforme , possono sfruttare le funzionalità di bilanciamento del carico per pacchetto o per flusso della maggior parte dei router di marca-fornitore. Devi stare attento che il protocollo livello applicazione sia a tuo agio con questo, ecco perché quasi sempre ne senti parlare usato con DNS dove una richiesta è sempre un pacchetto e tutto è apolide. Personalmente, considero questo come un'intrusione caotica delle preoccupazioni a livello di applicazione nel livello di rete quando una combinazione di DNS e bilanciamento del carico adeguato sarà quasi sempre una soluzione migliore.

32
cagenut

Utilizzato principalmente per servizi basati su UDP come DNS. Fondamentalmente, si annuncia lo stesso percorso da più data center in tutto il mondo. In questo modo, i tuoi clienti verranno inviati al datacenter "migliore" e "più vicino" in base alle rotte BGP. Metto "migliore" e "più vicino" tra virgolette perché i provider di rete possono giocare e instradare il traffico da determinate reti in modo diverso. In generale, le cose funzionano al meglio con anycast, ma non è una garanzia.

Un esempio di ciò sarebbe elencare i server DNS come 1.2.3.4 e 1.2.3.5. I router annunciano un percorso per 1.2.3/24 su più datacenter. Se sei in Giappone e hai un datacenter lì, è probabile che finirai lì. Se ti trovi negli Stati Uniti, verrai inviato al tuo datacenter statunitense. Ancora una volta, si basa sul routing BGP e non sul routing geografico effettivo, ma di solito è così che le cose si rompono.

16
diq

In base alla mia risposta originale, ho appena pubblicato altri due articoli sul mio blog dal titolo: Anycast DNS - Parte 3, Utilizzo di RIP e Anycast DNS - Parte 3, Utilizzo di RIP (continua). Quest'ultimo approfondisce i dettagli, ma su www.netlinxinc.com/netlinx-blog.html troverai le ricette reali su come configurare i router Cisco e il software di routing basato su Host Quagga Open Source per Anycast DNS tramite RIP.

Attualmente sto lavorando alla scrittura del quarto articolo della serie. Ciò fornirà ai destinatari come distribuire Anycast DNS usando OSPF. Ultimo della serie, mostrerò le ricette per la distribuzione di Anycast DNS usando BGP.

Anycast DNS - Parte 1, Panoramica

Anycast DNS - Parte 2, Utilizzo di route statiche

Anycast DNS - Parte 3, Utilizzo di RIP

Anycast DNS - Parte 3, Utilizzo di RIP (continua)

9
netlinxman

Dato che questo è principalmente DNS al momento ...

Informalmente rende il tuo servizio più resiliente e con un migliore accesso/latenza/velocità alla rete, consentendoti di configurare lo stesso servizio in più località in tutto il mondo utilizzando lo stesso indirizzo. Quando qualcuno richiede quell'indirizzo, gli viene dato il percorso più vicino/migliore.

Dal punto di vista del server:

Se unicast stai andando a una sola persona, e multicast stai andando a più persone, e la trasmissione sta andando a tutte le persone, allora qualsiasi trasmissione è schitzofrenica e ha personalità multiple in cui la personalità più adatta a ciascuna persona si connette con loro. Hmm. Non la migliore analogia.

4
Alex

Un utilizzo davvero interessante di anycast è DNS. È possibile posizionare 5 diversi server DNS in vari percorsi fisici e di rete ma condividere un singolo indirizzo (o talvolta entrambi DNS primario e secondario). A seconda di dove si trova l'origine, vengono instradati al nodo più vicino. Ciò comporta un certo bilanciamento del traffico e fornisce ridondanza se un server DNS muore.

3
dexedrine

È anche bene notare che Anycast non è buono o affidabile per alcune connessioni TCP che non possono sopravvivere ai ripristini o ad una lunga conversazione.

Gli IP Anycast, usando BGP, dicono a Internet che ci sono 2, 3 o più percorsi verso un Host specifico, tuttavia in realtà questi sono NON lo stesso Host, sono esatti repliche di host pubblicizzate su più datacenter per ottenere connessioni a latenza inferiore.

Ad esempio, ho 3 server che eseguono 301 reindirizzamenti non www per 198.251.86.133, se esegui il ping di questo host, a volte potresti ricevere risposte DUPLICATE o persino cadere a seconda di dove ti trovi, poiché i miei server sono US-East, US -Ovest e EUR. per connessioni temporizzate (come 301 che sono memorizzate nella cache del browser), ciò fornisce una risposta rapida da parte di un server locale nel centro dati più vicino.

Da un punto di vista della ridondanza non c'è nessuno integrato in anycast, avresti comunque bisogno di ridondanza indipendente in ciascun sito poiché quell'IP (in scenari tipici) punterà sempre a quei datacenter.

2
Jacob Evans

Secondo uno dei miei colleghi, è anche utile come tecnica di mitigazione degli attacchi DoS, poiché le persone possono solo attaccare l'indirizzo IP anycast "più vicino", quindi se ci sono molte zombine, diciamo, negli Stati Uniti, il tuo sito Euro sarebbe per lo più non interessati, in quanto non possono effettivamente inviare pacchetti ad esso.

Inoltre, potrebbe essere possibile utilizzarlo come un modo per filtrare (in modo un po 'ingenuo) i pacchetti contraffatti se ovviamente provengono da qualche parte che difficilmente saranno pubblicizzati in BGP come la rotta corretta (ad esempio pacchetti che arrivano in Europa quando l'ASN indica un N americano bloccare).

2
MarkR