Anycast versus Unicast: wat te kiezen in elke situatie

Velen hebben vermoedelijk van Anycast gehoord. Bij deze methode van netwerkadressering en routering wordt één IP-adres toegewezen aan meerdere servers in een netwerk. Deze servers kunnen zelfs op grote afstand van elkaar in datacenters bevinden. Het idee van Anycast is dat, afhankelijk van de locatie van de verzoeken, de gegevens worden verzonden naar de dichtstbijzijnde (volgens de netwerktopologie, of beter gezegd, het BGP-routeringsprotocol) server. Op deze manier kan het aantal netwerkkosten (hops) en latentie worden verminderd.

In wezen wordt hetzelfde pad geannonceerd vanuit verschillende datacenters over de hele wereld. Klanten zullen dus worden doorverwezen naar het ‘beste’ en ‘dichtstbijzijnde’ datacenter op basis van BGP-routes. Waarom kiezen voor Anycast? Waarom Anycast gebruiken in plaats van Unicast?

Anycast versus Unicast: wat te kiezen in elke situatie
Unicast is zeker geschikt voor een website met één webserver en een gematigd verkeer. Maar als een service miljoenen abonnees heeft, gebruikt deze meestal meerdere webservers, die elk hetzelfde IP-adres hebben. Deze servers zijn geografisch verspreid voor optimale verzoekafhandeling.

In dit scenario zal Anycast de prestaties verbeteren (verkeer wordt naar de gebruiker geleid met minimale vertraging), betrouwbaarheid van de service waarborgen (dankzij back-upservers) en last balancing bieden - routering naar meerdere servers zal de belasting effectief verdelen, waardoor de snelheid van de website verbetert.

Providers bieden klanten verschillende soorten last balancing op basis van Anycast en DNS. Klanten kunnen IP-adressen opgeven waarnaar verzoeken worden verzonden afhankelijk van de geografische locatie van de site. Dit maakt het mogelijk om verzoeken flexibeler te verdelen.

Stel dat er verschillende locaties zijn waar de belasting (gebruikers) moet worden verdeeld, bijvoorbeeld een online winkel met 100.000 verzoeken per dag of een populaire blog. Om de regio te beperken van waaruit gebruikers toegang hebben tot een specifieke locatie, kan de Geo Community-optie worden gebruikt. Hiermee kan de regio worden beperkt waarbinnen de provider het pad zal aankondigen.

Anycast versus Unicast: wat te kiezen in elke situatie

Anycast versus Unicast: wat te kiezen in elke situatie
Anycast en Unicast: verschillen

Anycast wordt vaak gebruikt in toepassingen zoals DNS (domeinnaamsysteem) en CDN (content delivery networks), waardoor routeringsbeslissingen worden genomen die de netwerkefficiëntie verbeteren. Content delivery networks gebruiken Anycast vanwege het grote dataverkeer, en Anycast biedt in dit geval verschillende voordelen (daarover later meer). In DNS zorgt Anycast voor een significante verbetering van de betrouwbaarheid en beschikbaarheid van de dienst.

Anycast versus Unicast: wat te kiezen in elke situatie
Bij Anycast IP, met gebruik van BGP, zijn er meerdere routes naar een specifieke host. Dit zijn in feite kopieën van hosts in verschillende datacenters die worden gebruikt om verbindingen met lagere latentie te maken.

In een Anycast-netwerk wordt hetzelfde IP-adres vanuit verschillende locaties aangekondigd, en het netwerk bepaalt waar het gebruikersverzoek naartoe moet worden gestuurd, afhankelijk van de 'kosten' van de route. Vaak wordt het BGP-protocol gebruikt om de kortste datatransmissieroute te bepalen. Wanneer een gebruiker een Anycast-verzoek indient, bepaalt BGP de beste route voor de beschikbare servers in het Anycast-netwerk.

Voordelen van Anycast

Vermindering van latentie
Systemen met Anycast kunnen de latentie bij het verwerken van gebruikersverzoeken verlagen, omdat ze gegevens van de dichtstbijzijnde server kunnen ontvangen. Dit betekent dat gebruikers altijd verbinding maken met de 'dichtstbijzijnde' (qua routeringsprotocol) DNS-server. Hierdoor vermindert Anycast de interactietijd door de netwerkafstand tussen de client en server te verkleinen. Dit verlaagt niet alleen de latentie, maar zorgt ook voor een betere load balancing.

Snelheid

Omdat het verkeer naar de dichtstbijzijnde knoop wordt gestuurd en de latentie bij het verzenden van gegevens tussen de client en de knoop wordt verminderd, resulteert dit in optimalisatie van de leveringssnelheid, ongeacht waar de client de informatie opvraagt.

Verhoogde stabiliteit en veerkracht

Als meerdere servers over de wereld hetzelfde IP gebruiken, zal in het geval van een storing van een van de servers of zijn uitschakeling het verkeer worden omgeleid naar de dichtstbijzijnde server. Hierdoor maakt Anycast de dienst veerkrachtiger en zorgt het voor een betere netwerktoegang/laagtijd/snelheid. 

Door de beschikbaarheid van meerdere servers die continu toegankelijk zijn voor gebruikers, verhoogt Anycast bijvoorbeeld de stabiliteit van DNS. In het geval van een knooppuntstoring worden gebruikersverzoeken omgeleid naar een andere DNS-server zonder enige handmatige tussenkomst of herschikking. Anycast zorgt voor vrijwel transparante omschakeling naar andere sites door eenvoudig de routes van de problematische site te verwijderen. 

Belastingsbalancering

In het Anycast-systeem wordt het netwerkverkeer verdeeld over verschillende servers. Het functioneert dus als een belastingsbalancer, wat voorkomt dat een enkele server het grootste deel van het verkeer ontvangt. Belastingsbalancering kan bijvoorbeeld worden gebruikt wanneer er meerdere netwerkknopen op dezelfde geografische afstand van de verzoekenbron bevinden. In dat geval wordt de belasting over de knopen verdeeld.

Vermindering van de impact van DoS-aanvallen 

Een andere eigenschap van Anycast is de weerstand tegen DDoS-aanvallen. DDoS-aanvallen zullen waarschijnlijk de Anycast-systeem niet uit de lucht halen, omdat het nodig zou zijn alle servers in een dergelijk netwerk met een stortvloed aan verzoeken uit te schakelen. 

In DDoS-aanvallen worden vaak botnets gebruikt die een zodanige hoeveelheid verkeer kunnen genereren dat ze de aangevallen server overbelasten. Het voordeel van het gebruik van Anycast in deze situatie is dat elke server in staat is een deel van de aanval "op te nemen", wat de belasting op een specifieke server vermindert. Een denial-of-service-aanval zal waarschijnlijk lokaal zijn op de server en zal geen invloed hebben op de gehele service.

Hoge horizontale schaalbaarheid

Anycast-systemen zijn goed geschikt voor diensten met grote hoeveelheden verkeer. Als een dienst die Anycast gebruikt nieuwe servers nodig heeft om de groeiende verkeersvolumes te verwerken, kunnen nieuwe servers aan het netwerk worden toegevoegd om dit verkeer te verwerken. Deze kunnen worden geplaatst op nieuwe of reeds bestaande locaties. 

Als er op een bepaalde locatie een grote toename van verkeer wordt waargenomen, kan het toevoegen van een server helpen om de belasting op deze site te balanceren. Het toevoegen van een server op een nieuwe locatie kan de wachttijd verkorten door voor sommige gebruikers een nieuwe kortste route te creëren. Beide methoden helpen ook de stabiliteit van de service te verbeteren, aangezien er nieuwe servers in het netwerk beschikbaar komen. Dus als de server overbelast is, kan eenvoudig een andere worden ingezet op een locatie die het mogelijk maakt om een deel van de verzoeken van de overbelaste server te verwerken. Dit vereist geen configuratie door de klanten. 

Op deze manier kunnen terabits verkeer en een zeer groot aantal gebruikers worden bediend, wanneer er op de server slechts enkele poorten van 10 of 25 Gbit/s zijn. 100 hosts met één IP-adres maken het mogelijk om terabits verkeersvolumes te verwerken.

Eenvoudig beheer van configuratie

Zoals hierboven opgemerkt, is het interessante gebruik van Anycast DNS. Meerdere verschillende DNS-servers kunnen in de netwerknode worden geplaatst, maar met één DNS-adres worden gebruikt. Afhankelijk van de locatie van de bron worden verzoeken naar de dichtstbijzijnde node geleid. Dit biedt een zekere verkeersbalans en redundantie in het geval van een storing van de DNS-server. In plaats van verschillende DNS-servers te configureren afhankelijk van hun locatie, kan de configuratie van één DNS-server op alle nodes worden toegepast.

Anycast-netwerken kunnen worden ingesteld om verzoeken te routeren op basis van niet alleen afstand, maar ook op parameters zoals serverbeschikbaarheid, het aantal actieve verbindingen of responstijd.

Voor het gebruik van Anycast-technologie aan de klantzijde zijn er geen speciale servers, netwerken of componenten vereist. Maar Anycast heeft ook nadelen. De implementatie ervan wordt als een complexe taak beschouwd die aanvullende hardware, betrouwbare providers en correcte verkeersroutering vereist.

Van de schone bron naar het verre verre

Hoewel Anycast gebruikers op basis van het minste aantal hops leidt, betekent dit niet noodzakelijkerwijs de laagste latentie. Latentie is een complexere metric, omdat bij één hop deze hoger kan zijn dan bij tien.

Anycast versus Unicast: wat te kiezen in elke situatie
Voorbeeld: intercontinentale communicatie kan één overgang met zeer hoge latentie omvatten.

Anycast wordt voornamelijk gebruikt voor diensten op basis van UDP, zoals DNS. Gebruikersverzoeken worden naar de 'beste' en 'dichtstbijzijnde' datacenter gestuurd op basis van BGP-routes.

Anycast versus Unicast: wat te kiezen in elke situatie
Voorbeeld: een DNS-client workstation met het Anycast DNS IP-adres 123.10.10.10 voert DNS-resolutie uit voor de dichtstbijzijnde van de drie DNS-naamservers die zijn uitgerold met hetzelfde Anycast IP-adres. In het geval van een fout in router R1 of server A worden de DNS-pakketten van de client automatisch doorgestuurd naar de volgend dichtstbijzijnde DNS-server via routers R2 en R3. Bovendien wordt de route naar onze server A verwijderd uit de routeringstabellen, wat verder gebruik van deze naamserver voorkomt.

Implementatiescenario's

Er zijn twee veelvoorkomende schema's die worden gebruikt om te bepalen met welke server de gebruiker verbinding maakt:

  • Anycast op netwerkniveau. Verbindt de gebruiker met de dichtstbijzijnde server. Hier is het netwerkpad van de gebruiker naar de server belangrijk.
  • Anycast op toepassingsniveau. In dit schema zijn er meer te berekenen metrics, waaronder serverbeschikbaarheid, responstijd, aantal verbindingen, enz. Dit hangt af van een externe monitor die netwerkinformatie verstrekt.

Anycast-gebaseerde CDN

Laten we nu terugkeren naar het gebruik van Anycast in content delivery netwerken. Anycast is zeker een interessante netwerktechnologie en wint steeds meer erkenning bij nieuwe generatie CDN-providers.

Een CDN is een gedistribueerd netwerk van servers dat content levert aan eindgebruikers met hoge beschikbaarheid en lage latentie. Content delivery netwerken zijn tegenwoordig van vitaal belang en vormen de basis van talrijke multimedia online diensten, terwijl consumenten steeds minder tolerant zijn voor langzame laadtijden. Video- en spraakapplicaties zijn bijzonder gevoelig voor jitter en latentie in het netwerk.

CDN omvat alle servers in één netwerk en zorgt voor snellere laadtijden van content. Soms kan de wachttijd voor de gebruiker met 5-6 seconden worden verkort. Het doel van CDN is om de levering te optimaliseren door content te leveren vanaf de server die het dichtst bij de eindgebruiker staat. Dit lijkt sterk op Anycast, waarbij de dichtstbijzijnde server wordt gekozen op basis van de locatie van de eindgebruiker. Elk CDN-aanbieder zou ogenschijnlijk standaard Anycast moeten gebruiken, maar in werkelijkheid is dat niet altijd het geval.

Toepassingen die protocollen zoals HTTP/TCP gebruiken, vertrouwen op een gevestigde verbinding. Als er een nieuwe Anycast-knooppunt wordt gekozen (bijvoorbeeld bij een serveruitval), kan de service worden onderbroken. Daarom werd Anycast eerder aanbevolen voor verbindingloze diensten zoals UDP en DNS. Desondanks werkt Anycast goed voor verbinding-georiënteerde protocollen, bijvoorbeeld TCP functioneert uitstekend in Anycast-modus.

Sommige CDN-leveranciers passen routering op basis van Anycast toe, andere geven de voorkeur aan DNS-gebaseerde routering: de dichtstbijzijnde server wordt geselecteerd op basis van waar de DNS-server van de gebruiker zich bevindt.

Hybride infrastructuren en infrastructuren met meerdere datacenters zijn een ander voorbeeld van de toepassing van Anycast. Het adres Load Balancing IP dat van de provider wordt verkregen, stelt in staat om de belasting te verdelen tussen de IP-adressen van verschillende klantdiensten in het datacenter van de provider. Dankzij de adresseringstechnologie biedt dit aan elk apparaat een betere prestatie bij hoge verkeersbelasting, fouttolerantie en helpt het om de responstijd te optimaliseren bij een groot aantal gebruikers.

In hybride infrastructuren met meerdere datacenters kan het verkeer worden verdeeld tussen servers of zelfs virtuele machines op dedicated servers.

Er zijn dus veel technische oplossingen beschikbaar voor het opzetten van een infrastructuur. Het is ook mogelijk om IP-adresgebonden load balancing in meerdere datacenters in te stellen, gebruikmakend van adressering voor elk apparaat in de groep om de werking van de website te optimaliseren.

Verkeer kan worden verspreid volgens eigen regels, waarbij het 'gewicht' van elk van de verspreidde servers in elk datacenter wordt bepaald. Deze configuratie is vooral nuttig wanneer er een gedistribueerd serverpark is en de prestaties van de diensten ongelijk zijn. Hierdoor kan het verkeer vaker worden verdeeld om de prestaties van de servers te verbeteren.

Voor het opzetten van een controlesysteem met behulp van het ping-commando is het mogelijk om sondes te configureren. Dit stelt de beheerder in staat om eigen controleprocedures te definiëren en een duidelijker inzicht te krijgen in de status van elk onderdeel van de infrastructuur. Zo kunnen beschikbaarheidscriteria worden vastgesteld.

Er is de mogelijkheid om een hybride infrastructuur op te bouwen: soms is het handig om de backoffice in het ondernemingsnetwerk te houden, terwijl het interfacegedeelte aan een externe provider wordt uitbesteed.

Het is mogelijk om SSL-certificaten toe te voegen voor belastingverdeling, versleuteling van verzonden gegevens en veiligheid van de communicatie tussen websitebezoekers en de bedrijfsinfrastructuur. Bij het balanceren van de belasting tussen datacenters kan SSL ook worden toegepast.

De Anycast-service met belastingverdeling van adressen is beschikbaar van de provider. Deze functie helpt het algoritme voor de interactie tussen gebruikers en toepassingen te verbeteren op basis van locatie. Het is voldoende om aan te geven welke services er in het datacenter zijn, en het verkeer zal worden omgeleid naar de dichtstbijzijnde infrastructuur. Als er dedicated servers zijn, bijvoorbeeld in Frankrijk of Noord-Amerika, worden klanten doorverwezen naar de dichtstbijzijnde server in het netwerk.

Een van de mogelijkheden van Anycast is de optimale keuze van de point of presence (PoP) van de operator. Laten we zeggen bijvoorbeeld. LinkedIn (blokkeren in Rusland) streeft er niet alleen naar de prestaties en snelheid van zijn producten — mobiele en webapplicaties — te verbeteren, maar ook de netwerkinfrastructuur te verfijnen voor versnelde contentlevering. Voor deze dynamische contentlevering maakt LinkedIn actief gebruik van PoP — points of presence. Om gebruikers naar de dichtstbijzijnde PoP te leiden, wordt Anycast toegepast.

De reden hiervoor is dat elke PoP van LinkedIn in het geval van Unycast een uniek IP-adres heeft. Vervolgens worden gebruikers op basis van hun geografische locatie toegewezen aan een PoP via DNS. Het probleem is dat bij het gebruik van DNS ongeveer 30% van de gebruikers in de Verenigde Staten werd doorgestuurd naar een suboptimale PoP. Dankzij de gefaseerde invoering van Anycast is de suboptimale toewijzing van PoP gedaald van 31% naar 10%.

Anycast versus Unicast: wat te kiezen in elke situatie
De resultaten van de pilottest zijn weergegeven in de grafiek, waarin de Y-as het percentage optimale toewijzing van PoP aangeeft. Bij de 'opschaling' van Anycast werd in veel staten in de VS een verbetering waargenomen in het percentage verkeer naar de optimale PoP.

Netwerkbewaking Anycast

In theorie zijn Anycast-netwerken eenvoudig: meerdere fysieke servers krijgen hetzelfde IP-adres toegewezen, dat BGP gebruikt om de route te bepalen. Maar de implementatie en het ontwerp van Anycast-platforms zijn complex, vooral als het gaat om fouttolerante Anycast-netwerken. Nog uitdagender is het effectieve monitoring van een Anycast-netwerk voor snel identificeren en lokaliseren van storingen.

Als diensten een externe CDN-provider gebruiken voor het bedienen van hun inhoud, is het van groot belang om de netwerkprestatie te volgen en te verifiëren. Bij het monitoren van een op Anycast gebaseerd CDN ligt de focus op het meten van end-to-end vertragingen en de eigenschappen van de penultimate hop om te begrijpen welke datacenters de inhoud bedienen. Het analyseren van HTTP-serverheaders is een andere manier om te bepalen waar de gegevens vandaan komen.

Anycast versus Unicast: wat te kiezen in elke situatie
Voorbeeld: HTTP-responsheaders die de locatie van de CDN-server aangeven.

Bijvoorbeeld, CloudFlare gebruikt een eigen header CF-Ray in HTTP-responsberichten, die de indicatie van het datacenter bevat waar de aanvraag naartoe is gestuurd. Voor Zendesk vertegenwoordigt de CF-Ray-header voor de regio Seattle CF-RAY: 2a21675e65fd2a3d-SEA, en voor Amsterdam is het CF-RAY: 2a216896b93a0c71-AMS. HTTP-X-headers uit de HTTP-respons kunnen ook worden gebruikt om te bepalen waar de inhoud zich bevindt.

Andere adresseringsmethoden

Er zijn andere adresseringsmethoden voor het routeren van gebruikersverzoeken naar een specifieke eindpunt van het netwerk:

Unicast

Het grootste deel van het internet maakt vandaag de dag gebruik van deze methode. Unicast is unicast verzending, het IP-adres is alleen gekoppeld aan één specifieke node in het netwerk. Dit wordt een een-op-een koppeling genoemd. 

Multicast

Multicast maakt gebruik van de "één naar velen van velen" of "velen naar velen" communicatie. Multicast maakt het mogelijk om een verzoek van een verzender tegelijkertijd naar verschillende geselecteerde eindpunten te sturen. Dit biedt de klant de mogelijkheid om een bestand in delen van meerdere hosts tegelijk te downloaden (wat nuttig is voor het streamen van audio of video). Multicast wordt vaak verward met Anycast; echter, het belangrijkste verschil is dat Anycast de verzender naar één specifieke node leidt, zelfs als er meerdere nodes beschikbaar zijn.

Broadcast

Een datagram van een enkele zender wordt verzonden naar alle eindpunten die zijn gekoppeld aan het broadcastadres. Het netwerk replicates automatisch de datagrammen, zodat het met alle ontvangers in de broadcastcommunicatie kan communiceren (meestal binnen hetzelfde subnet).

Geocast

Geocast lijkt in zekere zin op Multicast: verzoeken van de verzender worden tegelijkertijd naar meerdere eindpunten gestuurd. Het verschil is echter dat de ontvanger wordt bepaald door zijn geografische locatie. Dit is een gespecialiseerde vorm van groepsadressering die door sommige routeringsprotocollen wordt gebruikt voor mobiele peer-to-peer netwerken.

Een geografische router (Geo Router) berekent zijn verzorgingsgebied en benadert het. Geomrouters bouwen routeringstabellen op door zorggebieden uit te wisselen. Het systeem van geomrouters heeft een hiërarchische structuur.

Anycast versus Unicast: wat te kiezen in elke situatie
Anycast versus Unicast: wat te kiezen in elke situatie
Anycast versus Unicast: wat te kiezen in elke situatie
Unicast, Multicast en Broadcast.

Het gebruik van Anycast-technologie verhoogt de betrouwbaarheid, fouttolerantie en veiligheid van DNS. Met deze technologie bieden operators hun klanten diensten voor verschillende soorten belastingverdeling op basis van DNS aan. In het controlepaneel kunnen IP-adressen worden opgegeven waarnaar verzoeken worden gestuurd, afhankelijk van de geografische locatie. Dit geeft klanten de mogelijkheid om gebruikersverzoeken flexibeler te verdelen.

Sommige operators gebruiken route-monitoringtools op elk punt van aanwezigheid (POP): het systeem analyseert automatisch de kortste lokale en globale routes voor punten van aanwezigheid en leidt deze om via geografische locaties met de laagste latentie en nul downtime.

Op dit moment is Anycast de meest stabiele en betrouwbare oplossing voor het opzetten van hoogbelaste DNS-diensten, die hoge eisen stellen aan stabiliteit en betrouwbaarheid.

Domein .ru ondersteunt 35 Anycast DNS-servers, gegroepeerd in 20 knooppunten, verspreid over vijf Anycast-clouds. Hierbij wordt het principe van geografische opbouw gebruikt, oftewel Geocast. Bij het plaatsen van DNS-knooppunten wordt rekening gehouden met hun verdeling over geografisch gespreide locaties, dicht bij de meest actieve gebruikers, met een maximale concentratie van Russische providers op de plaats van het knooppunt, evenals de beschikbaarheid van vrije capaciteit en de gemak van interactie met de site.

Hoe bouw je een CDN?

CDN — een netwerk van servers dat de bezorging van content aan gebruikers versnelt. Contentdeliverynetwerk verbindt alle servers tot één netwerk en zorgt voor snellere contentlaadtijden. Bij laadsnelheid speelt de afstand van de server tot de gebruiker een belangrijke rol.

CDN maakt het mogelijk om servers te gebruiken die het dichtst bij de doelgroep zijn. Dit verkort de wachttijd en helpt om de laadtijd van websites voor alle bezoekers te versnellen, wat vooral cruciaal is voor websites met grote bestanden of multimedia-diensten. Typische toepassingsgebieden van CDN zijn e-commerce en de entertainmentsector.

Het opgebouwde netwerk van extra servers in de CDN-infrastructuur, die zo dicht mogelijk bij de gebruikers zijn geplaatst, bevordert een stabielere en snellere datalevering. Volgens statistieken vermindert het gebruik van CDN de vertraging bij toegang tot de site met meer dan 70% vergeleken met websites zonder CDN.

Zoals een CDN creëren met behulp van DNS? Настройка CDN с использованием собственного решения Anycast может быть достаточно дорогим проектом, но есть более дешевые варианты. Например, можно использовать GeoDNS и обычные серверы с уникальными IP-адресами. С помощью сервисов GeoDNS можно создать CDN с функциями геолокации, в которой решения принимаются на основе реального местоположения посетителя, а не местоположения ресолвера DNS. Можно настроить свою DNS-зону так, чтобы показывать IP-адреса американских серверов посетителям из США, а европейские посетители будут видеть IP-адрес из Европы.

Met GeoDNS kunnen verschillende DNS-antwoorden worden gegeven, afhankelijk van het IP-adres van de gebruiker. Hiervoor wordt de DNS-server zo ingesteld dat deze verschillende IP-adressen retourneert, afhankelijk van het oorspronkelijke IP-adres in het verzoek. Gewoonlijk wordt een GeoIP-database gebruikt om de regio te bepalen waarvan het verzoek komt. Geolocatie met behulp van DNS stelt gebruikers in staat om content van de dichtstbijzijnde site te ontvangen.

GeoDNS bepaalt het IP-adres van de klant die het DNS-verzoek heeft verzonden, of het IP-adres van de recursieve DNS-server van de provider die wordt gebruikt bij het verwerken van het klantverzoek. Aan de hand van het IP-adres van de klant en de GeoIP-database wordt het land/regio vastgesteld. Vervolgens ontvangt de klant het IP-adres van de dichtstbijzijnde CDN-server. Er is meer informatie beschikbaar over het instellen van GeoDNS. hier.

Anycast of GeoDNS?

Hoewel Anycast een uitstekende manier is om inhoud wereldwijd te leveren, mist het specificiteit. Hier komt GeoDNS bij van pas. Deze service stelt je in staat om regels te creëren die gebruikers naar unieke eindpunten sturen, afhankelijk van hun locatie.

Anycast versus Unicast: wat te kiezen in elke situatie
Voorbeeld: gebruikers uit Europa worden naar een ander eindpunt gestuurd.

Toegang tot domeinen kan ook worden geblokkeerd door alle verzoeken af te wijzen. Dit is in het bijzonder een snelle manier om kwaadwillenden af te snijden.

GeoDNS biedt nauwkeurigere antwoorden dan Anycast. Waar bij Anycast de kortste route wordt bepaald op basis van het aantal hops, vindt de routering voor eindgebruikers bij GeoDNS plaats op basis van hun fysieke locatie. Dit vermindert de latentie en verhoogt de nauwkeurigheid bij het creëren van gedetailleerde routeringsregels.

Wanneer een gebruiker naar een domein navigeert, vraagt de browser het dichtstbijzijnde DNS-server aan, dat, afhankelijk van het domein, een IP-adres retourneert voor het laden van de website. Stel je voor, een online winkel is populair in de VS en Europa, maar de DNS-servers zijn alleen in Europa gevestigd. Dan zullen gebruikers uit de VS die de diensten van de winkel willen gebruiken, gedwongen zijn om een verzoek te sturen naar de dichtstbijzijnde server, en omdat deze heel ver weg is, moeten ze lang wachten op een antwoord — de laadtijd van de site zal dan traag zijn.

Door een GeoDNS-server in de VS te plaatsen, zullen gebruikers deze server raadplegen. Het antwoord zal snel zijn, wat de laadsnelheid van de site ten goede zal komen.

In een situatie met een bestaande DNS-server in de VS, zal een gebruiker uit de VS bij toegang tot dit domein de dichtstbijzijnde server raadplegen, die het benodigde IP retourneert. De gebruiker zal worden doorgestuurd naar de server die de inhoud van de website bevat, maar omdat de servers met de inhoud ver weg zijn, zal hij deze snel niet ontvangen.

Als je servers in de VS plaatst en CDN-servers met gecachte gegevens, dan zal de browser van de klant bij het laden een verzoek sturen naar de dichtstbijzijnde DNS-server, die het benodigde IP-adres terugstuurt. De browser met het ontvangen IP-adres vraagt de dichtstbijzijnde CDN-server en de hoofserver aan, en de CDN-server zendt gecachte inhoud naar de browser. Terwijl de gecachte inhoud wordt geladen, worden de ontbrekende bestanden van de hoofserver verzonden om de volledige website te laden. Dit vermindert de laadtijd van de website, omdat er veel minder bestanden van de hoofserver verzonden worden.

Het bepalen van de exacte locatie van een gegeven IP-adres is niet altijd een gemakkelijke taak: er zijn vele factoren van invloed, en de eigenaren van IP-reeksen kunnen besluiten deze op de andere kant van de wereld aan te geven (in dat geval moet je wachten tot de database is bijgewerkt om de juiste locatie te verkrijgen). Soms wijzen VPS-aanbieders adressen toe die vermoedelijk in de VS zijn, voor VPS in Singapore.

In tegenstelling tot het gebruik van Anycast-adressen, vindt de distributie plaats tijdens naamresolutie en niet tijdens de verbinding met de cacheerver. Als de recursieve server geen klantnetwerken ondersteunt in EDNS, wordt de locatie van deze recursieve server gebruikt in plaats van de klant die met de cacheerver verbindt.

Klantnetwerken in DNS zijn een uitbreiding van DNS (RFC7871), die definieert hoe recursieve DNS-servers klantinformatie naar de DNS-server kunnen sturen, in het bijzonder informatie over het netwerk dat de GeoDNS-server kan gebruiken voor een nauwkeurigere bepaling van de klantlocatie.

De meeste mensen gebruiken de DNS-servers van hun internetprovider of DNS-servers die geografisch dicht bij hen liggen, maar als iemand in de VS om de een of andere reden besluit een DNS-resolver in Australië te gebruiken, krijgt hij waarschijnlijk het IP-adres van de server die het dichtst bij Australië ligt.

Als je GeoDNS wilt gebruiken, is het belangrijk om je bewust te zijn van dergelijke kenmerken, omdat dit in sommige gevallen de afstand tussen de cacheervers en de klant kan vergroten.

Samenvatting: als je meerdere VPS in een CDN wilt combineren, is de beste implementatie het gebruik van een DNS-server met GeoDNS-functie + Anycast 'out of the box'.

Anycast versus Unicast: wat te kiezen in elke situatie

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster