Anycast
# Anycast

In Internet, un indirizzo di tipo anycast è un indirizzo IP che può corrispondere a più di un host sulla rete. Quando un pacchetto viene inviato ad un indirizzo anycast, la rete lo consegnerà ad uno qualsiasi tra quelli associati all'indirizzo, tipicamente al più "vicino" o al "migliore".

Il termine richiama anche le modalità di indirizzamento unicast, broadcast e multicast.

* In unicast, c'è un'associazione uno-a-uno tra gli indirizzi di rete e ricevitori: ogni indirizzo destinazione identifica univocamente un ricevitore.
* In broadcast e multicast, c'è un'associazione uno-a-molti tra indirizzi di rete e ricevitori: ogni indirizzo di rete identifica un insieme di ricevitori, ai quali tutte le informazioni sono riportate.
* In anycast, c'è anche un'associazione uno-a-molti tra indirizzi di rete e ricevitori: ogni indirizzo destinatario identifica un insieme di ricevitori, ma soltanto uno tra questi ricevitori è scelto per ricevere i dati da una qualsiasi delle sorgenti.

Questa tecnica viene utilizzata per distribuire il carico ed aumentare l'affidabilità di servizi essenziali per il funzionamento della rete, come il DNS.

Anycast di solito è implementato usando BGP, oppure OSPF se all'interno dello stesso AS, per annunciare lo stesso range di indirizzi IP da luoghi differenti su una rete TCP/IP. Questo porta ad avere pacchetti indirizzati ad indirizzi compresi in questo range che sono instradati al punto "più vicino" sulla rete che ha l'indirizzo IP dato.

Nel passato, Anycast era adattato a protocolli connectionless (generalmente costruiti su UDP), piuttosto che a protocolli connection-oriented come TCP, che mantengono il loro stato. Oggi però Anycast è abbastanza usato grazie all'uso del protocollo Cisco Express Forwarding (CEF) che permette di garantire la connessione in caso di protocolli stateful come TCP.

## Uso di anycast per implementare DNS

Alcuni Internet root nameserver utilizzano la tecnica di indirizzamento anycast. Le macchine C, F, I, J, K, L e M sono presenti in più luoghi ed in diversi continenti, usando annunci anycast per fornire un servizio decentralizzato. Come risultato si ha che la maggior parte dei root server fisici sono al di fuori degli Stati Uniti. L'RFC 3258 mostra come anycast è usato per fornire servizi DNS autoritativi. Inoltre, il servizio DNS ricorsivo OpenDNS usa anycast per distribuire il carico sulla propria rete.

Al fine di gestire la mole di query di reverse instradate verso i root server, è stato implementato tramite anycast anche il progetto AS112.

