Wat is anycast?
Anycast, ook bekend als IP anycast, is een netwerktechniek waarmee meerdere machines hetzelfde IP-adres kunnen delen. Op basis van de locatie van het gebruikersverzoek sturen de routers het naar de machine in het netwerk dat het dichtst bij is. Dit is gunstig omdat het onder andere de latentie vermindert en de redundantie verhoogt. Als een bepaald datacenter offline zou gaan, zou een anycasted IP het beste pad voor gebruikers kiezen en hen automatisch omleiden naar het dichtstbijzijnde datacenter. De volgende schetst een aantal van de voor-en nadelen die worden geassocieerd met het configureren van anycast.
Pros
- Speed. Verkeer dat naar een Anycast-knooppunt gaat, wordt naar het dichtstbijzijnde knooppunt geleid, waardoor de latentie tussen de client en het knooppunt zelf wordt verminderd. Dit zorgt ervoor dat de snelheden worden geoptimaliseerd, ongeacht waar de klant informatie opvraagt.
- redundantie. Anycast verbetert de redundantie door meerdere servers over de hele wereld te plaatsen met hetzelfde IP-adres. Hierdoor kan verkeer worden omgeleid naar de dichtstbijzijnde server in het geval dat een server uitvalt of offline gaat.
- DDOS-mitigatie. DDoS-aanvallen worden veroorzaakt door botnets die zoveel verkeer kunnen genereren dat ze een typische unicast-machine overweldigen. Het voordeel van het hebben van een anycast configuratie in deze situatie is dat elke server in staat is om “absorberen” een deel van de aanval resulteert in minder belasting op de server in het algemeen.
- taakverdeling. Taakverdeling kan worden gebruikt in het geval dat er meerdere knooppunten zijn, allemaal binnen dezelfde geografische afstand van de aanvraag. Dit neemt een aantal van de resource-eisen van een enkelvoudig knooppunt en verspreidt ze over meerdere knooppunten.
Cons
- moeilijk te implementeren. Het implementeren van IP anycast is een complexe onderneming die extra hardware, betrouwbare upstream providers en een goede routing van het verkeer vereist.
Border Gateway protocol en autonome systemen
Border Gateway Protocol (BGP) en autonome systemen (AS) zijn integrale onderdelen in de manier waarop IP anycast functioneert. De BGP wisselt routing en bereikbaarheid informatie tussen AS. Het maakt routeringsbeslissingen op basis van paden, beleid en regelsets, wat een belangrijk onderdeel is van wat IP anycast biedt. Binnen BGP-routering zijn er meerdere routes voor hetzelfde IP-adres die naar verschillende locaties wijzen.
een autonoom systeem is een enkele of verzameling netwerken die door dezelfde beheerder worden beheerd. Autonome systemen hebben elk een uniek ASN, of autonoom systeemnummer, voor gebruik in BGP-routering omdat elke ASN elk netwerk op het internet identificeert.
Tools zoals ExaBGP kunnen worden gebruikt om BGP-berichten om te zetten in tekst of JSON die vervolgens kunnen worden afgehandeld door eenvoudige scripts. Hierdoor kunnen beheerders gemakkelijk netwerk-of servicefouten detecteren en verwerken.
Hoe werkt anycast?
zoals eerder vermeld, stuurt anycast gebruikersaanvragen door naar het dichtstbijzijnde knooppunt om de latentie van pagina ‘ s te verminderen. Het doet dit door het volgen van deze stappen.
- meerdere serviceinstanties geven aan dat ze hetzelfde IP-adres delen.
- wanneer de browser van de gebruiker een verzoek indient, ontvangt de router dat verzoek en kiest hij eenvoudig de route met de kortste afstand naar de dichtstbijzijnde server op basis van het AS-pad.
met behulp van Unicast, die in de volgende paragraaf zal worden uitgelegd, zou het pad slechts naar één bestemming leiden ongeacht de afstand. Met behulp van anycast, de route is geoptimaliseerd te wijten aan het altijd selecteren van de beste pad. In het geval dat een server down is, zal de BGP gewoon het volgende beste pad vinden en het verzoek daarheen routeren.
er moet echter worden opgemerkt dat anycast niet alleen kan worden geconfigureerd voor routeverzoeken op basis van afstand, maar ook andere factoren, bijvoorbeeld:
- beschikbaarheid van server
- aantal verbindingen
- responstijd
andere adresseringsmethoden
andere adresseringsmethoden bestaan ook voor het routeren van gebruikersaanvragen naar een bepaald netwerkeindpunt. Deze omvatten unicast, multicast, broadcast en geocast. We gaan verder in detail voor elk in de secties hieronder.
Unicast
het grootste deel van het Internet maakt tegenwoordig gebruik van deze methode. Unicast beperkt een IP-adres om te worden gekoppeld aan slechts één bepaald knooppunt in een netwerk. Dit staat bekend als een één-op-één vereniging. Hoewel een groot deel van het internet Deze methode gebruikt, is het suboptimaal vanwege de beperkingen van het slechts kunnen koppelen van een IP-adres aan één knooppunt.
Multicast
Multicast gebruikt een één-tot-veel-van-veel of veel-tot-veel-van-veel associatie. Met Multicast kan een verzoek van een afzender gelijktijdig naar verschillende geselecteerde eindpunten worden gerouteerd. Dit maakt het mogelijk voor een client om een bestand te downloaden in brokken van meerdere hosts op hetzelfde moment (handig voor het streamen van audio of video). Multicast wordt vaak verward met anycast, maar het belangrijkste verschil is dat anycast de afzender naar één specifiek knooppunt stuurt, ook al zijn er meerdere knooppunten beschikbaar voor gebruik.
Broadcast
Broadcast maakt gebruik van een één-op-alle associatie. Een datagram van een enkele afzender wordt doorgestuurd naar alle eindpunten die geassocieerd zijn met het broadbast adres. Het netwerk repliceert automatisch de datagrammen zodat het in staat is om alle ontvangers binnen de uitzending te bereiken, die over het algemeen uit een volledig netwerksubnet bestaat.
Geocast
Geocast lijkt enigszins op multicast omdat verzoeken van een afzender gelijktijdig naar meerdere eindpunten worden geleid, maar het verschil is dat het netwerk wordt gedefinieerd door hun geografische locatie.
Anycast en IPv4 vs IPv6
Anycast wordt niet officieel ondersteund in IPv4, maar dit kan worden opgelost door BGP te gebruiken. In wezen, meerdere hosts krijgen hetzelfde unicast IP en routes worden aangekondigd via BGP. Daarom interpreteren routers dit als meerdere routes naar dezelfde bestemming, terwijl ze in feite naar verschillende bestemmingen met hetzelfde adres worden gerouteerd.
het nadeel van deze aanpak is echter dat het netwerk een zogenaamde “POP-switch” kan uitvoeren die de routeringspakketten wijzigt in het geval van congestie of veranderingen in het netwerk.
IPv6 daarentegen ondersteunt expliciet anycast. IPv6-routers onderscheiden een anycast-pakket doorgaans niet van een unicast-pakket via het netwerk, hoewel speciale afhandeling van de routers in de buurt van de bestemming vereist is.
bovendien kan hetzelfde proces dat in IPv4 wordt gebruikt ook in IPv6 worden gebruikt. Deze methode is niet afhankelijk van anycast-aware routers, maar u zult in dezelfde problemen als hierboven besproken.
samenvatting
het is duidelijk dat anycast een krachtige techniek is voor onder andere het verminderen van paginalatentie en het verminderen van aanvallen. Hoewel het een complexe inspanning te implementeren, de uitbetaling is enorm voor zowel de gebruikers als de dienstverleners.
KeyCDN is blij om anycast aan te bieden om de algehele efficiëntie van de diensten aan onze klanten te helpen verbeteren.