Anycast

Visualisatie van de versturingswijze van anycast

Anycast is een computerterm en het is een vorm van verzenden van data.

Wanneer een host gegevens wil versturen naar een andere host van een bepaald type, maar het daarbij niet uitmaakt welke host specifiek de gegevens ontvangt, spreken we van anycast. De voordelen van anycasting zijn redundantie en schaalbaarheid van aangeboden diensten; indien meerdere servers een bepaalde service aanbieden op hetzelfde anycast-adres, kan het uitvallen van een server gecompenseerd worden door deze tijdelijk uit de BGP-4-routeringstabellen te halen. Anderzijds kan de netwerkbeheerder er op deze manier ook voor zorgen dat een host altijd met de server communiceert die, vanuit het standpunt van het netwerk, zich het dichtst bij de host in kwestie bevindt, zonder dat de beheerder alle hosts een voor een moet configureren indien er zich een aanpassing voordoet in de beschikbare servers.

Het grote nadeel van anycast is de onzekerheid: doordat anycast-adressen geconfigureerd worden in de netwerklaag, is het mogelijk dat de host die daadwerkelijk de anycast-pakketten doorkrijgt, midden in de communicatiesessie verandert. Hierdoor is het minder geschikt voor diensten die van connectiegeoriënteerde protocollen gebruikmaken, zoals TCP maar tegenwoordig wordt anycast ook voor TCP gebruikt, vooral voor applicaties waarbij het fout gaan van een TCP-sessie vrij eenvoudig hersteld kan worden en/of waarbij TCP-'conversatie' vrij kort zijn. Ook zijn er verschillende propriëtaire implementaties die de gevolgen van een zogenaamde pop-switch kunnen herstellen.
Voor diensten op basis van UDP is anycast echter zeer geschikt en ook bepaalde TCP-gebaseerde applicaties zoals content-deliveryversnellers voor HTTP of streaming media. Een goed voorbeeld hiervan is het DNS-protocol. Zo bevinden bijna alle DNS-rootservers zich in een anycast-cloud en ook DNS-serviceproviders bieden anycast-DNS-services.[1][2]

Andere vormen

[bewerken | brontekst bewerken]
  • Unicast: het verzenden van een pakket naar één bestemming. Het verschil tussen anycast en unicast is voor een client meestal onmerkbaar: gedurende een conversatie lijkt een anycast-sessie op een unicast-sessie
  • Multicast: het verzenden van een pakket naar alle bestemmingen die daar interesse voor getoond hebben
  • Broadcast: het verzenden van een pakket naar alle bestemmingen die tot een gegeven netwerk behoren. Wordt normaliter gebruikt in een LAN. Broadcast kan op TCP/IP-niveau (OSI Layer 3) gebeuren of op ethernet-niveau (OSI Layer 2)