Anycast versus Unicast: wat is in elk geval beter om te kiezen

Veel mensen hebben waarschijnlijk van Anycast gehoord. Bij deze methode van netwerkadressering en -routering wordt één enkel IP-adres toegewezen aan meerdere servers in een netwerk. Deze servers kunnen zelfs in datacenters op afstand van elkaar worden geplaatst. Het idee van Anycast is dat, afhankelijk van de locatie van de verzoekbron, de gegevens naar de dichtstbijzijnde (volgens de netwerktopologie, meer precies, het BGP-routeringsprotocol) server worden verzonden. Op deze manier kunt u het aantal netwerkhops en latentie verminderen.

In wezen wordt dezelfde route geadverteerd vanuit meerdere datacenters over de hele wereld. Klanten worden dus naar de "beste" en "dichtstbijzijnde" gestuurd op basis van BGP-routes, het datacenter. Waarom Anycast? Waarom Anycast gebruiken in plaats van Unicast?

Anycast versus Unicast: wat is in elk geval beter om te kiezen
Unicast is echt geschikt voor een site met één webserver en een gematigde hoeveelheid verkeer. Als een dienst echter miljoenen abonnees heeft, maakt deze meestal gebruik van veel webservers, elk met hetzelfde IP-adres. Deze servers zijn geografisch verspreid om verzoeken optimaal te kunnen bedienen.

In dit scenario zal Anycast de prestaties verbeteren (verkeer wordt met minimale vertraging naar de gebruiker gestuurd), de betrouwbaarheid van de service garanderen (dankzij back-upservers) en load-balancing - routering naar verschillende servers zal de belasting effectief tussen hen verdelen, waardoor de snelheid verbetert van de site.

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

Stel dat er meerdere sites zijn waartussen u de belasting (gebruikers) moet verdelen, bijvoorbeeld een online winkel met 100 aanvragen per dag of een populaire blog. Om de regio te beperken van waaruit gebruikers toegang krijgen tot een specifieke site, kunt u de optie Geo Community gebruiken. Hiermee kunt u de regio beperken waarbinnen de operator de route adverteert.

Anycast versus Unicast: wat is in elk geval beter om te kiezen

Anycast versus Unicast: wat is in elk geval beter om te kiezen
Anycast en Unicast: verschillen

Anycast wordt vaak gebruikt in toepassingen zoals DNS (Domain Name System) en CDN (Content Delivery Networks), waardoor routeringsbeslissingen mogelijk zijn die de netwerkprestaties verbeteren. Netwerken voor inhoudslevering gebruiken Anycast omdat ze grote hoeveelheden verkeer verwerken, en Anycast biedt in dit geval een aantal voordelen (meer hierover hieronder). In DNS kunt u met Anycast het niveau van betrouwbaarheid en fouttolerantie van de service aanzienlijk verhogen.

Anycast versus Unicast: wat is in elk geval beter om te kiezen
Bij Anycast IP zijn er bij gebruik van BGP meerdere routes naar een specifieke host. Dit zijn feitelijk kopieën van hosts in meerdere datacenters, die worden gebruikt om verbindingen met een lagere latentie tot stand te brengen.

In een Anycast-netwerk wordt hetzelfde IP-adres dus vanaf verschillende plaatsen geadverteerd, en het netwerk beslist waar het verzoek van de gebruiker naartoe moet worden gerouteerd op basis van de "kosten" van de route. BGP wordt bijvoorbeeld vaak gebruikt om de kortste route voor datatransmissie te bepalen. Wanneer een gebruiker een Anycast-verzoek verzendt, bepaalt BGP de beste route voor beschikbare Anycast-servers op het netwerk.

Voordelen van Anycast

Latentie verminderen
Systemen met Anycast kunnen de latentie bij het verwerken van gebruikersverzoeken verminderen, omdat u hiermee gegevens van de dichtstbijzijnde server kunt ontvangen. Dat wil zeggen dat gebruikers altijd verbinding zullen maken met de “dichtstbijzijnde” (vanuit het oogpunt van routeringsprotocol) DNS-server. Als gevolg hiervan verkort Anycast de interactietijd door de netwerkafstand tussen de client en de server te verkleinen. Dit vermindert niet alleen de latentie, maar zorgt ook voor taakverdeling.

snelheid

Omdat verkeer naar het dichtstbijzijnde knooppunt wordt gerouteerd en de latentie tussen de client en het knooppunt wordt verminderd, is het resultaat een geoptimaliseerde leveringssnelheid, ongeacht waar de client informatie opvraagt.

Verhoogde stabiliteit en fouttolerantie

Als meerdere servers over de hele wereld hetzelfde IP-adres gebruiken, wordt het verkeer omgeleid naar de dichtstbijzijnde server als een van de servers uitvalt of de verbinding wordt verbroken. Als gevolg hiervan maakt Anycast de service veerkrachtiger en biedt het betere netwerktoegang/latentie/snelheid. 

Door meerdere servers constant beschikbaar te hebben voor gebruikers, verbetert Anycast bijvoorbeeld de DNS-stabiliteit. Als een knooppunt uitvalt, worden gebruikersverzoeken zonder enige handmatige tussenkomst of herconfiguratie doorgestuurd naar een andere DNS-server. Anycast biedt een vrijwel transparante overstap naar andere sites door simpelweg de routes van de problematische site te verwijderen. 

Load-balancering

Bij Anycast wordt het netwerkverkeer verdeeld over verschillende servers. Dat wil zeggen, het fungeert als een load balancer en voorkomt dat een enkele server het grootste deel van het verkeer ontvangt. Taakverdeling kan bijvoorbeeld worden gebruikt wanneer er meerdere netwerkknooppunten op dezelfde geografische afstand van de verzoekbron zijn. In dit geval wordt de belasting verdeeld over de knooppunten.

Verminder de impact van DoS-aanvallen 

Een ander kenmerk van Anycast is de DDoS-resistentie. Het is onwaarschijnlijk dat DDoS-aanvallen een Anycast-systeem kunnen neerhalen, omdat ze alle servers in zo'n netwerk zouden moeten overweldigen met een lawine aan verzoeken. 

DDoS-aanvallen maken vaak gebruik van botnets, die zoveel verkeer kunnen genereren dat de aangevallen server overbelast raakt. Het voordeel van het gebruik van Anycast in deze situatie is dat elke server een deel van de aanval kan "absorberen", waardoor de belasting op die specifieke server wordt verminderd. Een denial-of-service-aanval zal hoogstwaarschijnlijk op de server worden gelokaliseerd en heeft geen invloed op de hele service.

Hoge horizontale schaalbaarheid

Anycast-systemen zijn zeer geschikt voor diensten met grote hoeveelheden verkeer. Als een dienst die Anycast gebruikt nieuwe servers nodig heeft om het toegenomen verkeer af te handelen, kunnen er nieuwe servers aan het netwerk worden toegevoegd om dit af te handelen. Ze kunnen op nieuwe of bestaande sites worden geplaatst. 

Als een bepaalde locatie een grote toename van het verkeer ervaart, kan het toevoegen van een server de belasting van die site helpen verdelen. Het toevoegen van een server op een nieuwe locatie zal de wachttijden helpen verminderen door voor sommige gebruikers een nieuwe kortste route te creëren. Beide methoden helpen ook de stabiliteit van de service te verbeteren naarmate er nieuwe servers op het netwerk beschikbaar komen. Op deze manier kunt u, als een server overbelast is, eenvoudigweg een andere server inzetten op een locatie waar deze een deel van de verzoeken van de overbelaste server kan accepteren. Hiervoor is geen configuratie door de klant nodig. 

Alleen op deze manier kunnen terabits aan verkeer en een zeer groot aantal gebruikers worden bediend als de server slechts enkele 10 of 25 Gbps-poorten heeft. 100 hosts met één IP-adres zullen het mogelijk maken om terabit-volumes aan verkeer te verwerken.

Eenvoudig configuratiebeheer

Zoals hierboven opgemerkt, is DNS een interessant gebruik van Anycast. U kunt meerdere verschillende DNS-servers op netwerkknooppunten plaatsen, maar gebruik één DNS-adres. Afhankelijk van waar de bron zich bevindt, worden verzoeken doorgestuurd naar het dichtstbijzijnde knooppunt. Dit zorgt voor enige verkeersverdeling en redundantie in het geval van een DNS-serverstoring. Op deze manier kan, in plaats van verschillende DNS-servers te configureren, afhankelijk van waar ze zich bevinden, de configuratie van één DNS-server naar alle knooppunten worden doorgegeven.

Anycast-netwerken kunnen worden geconfigureerd om verzoeken niet alleen te routeren op basis van afstand, maar ook op basis van parameters zoals de aanwezigheid van een server en het aantal tot stand gebrachte verbindingen. of responstijd.

Er zijn geen speciale servers, netwerken of speciale componenten aan de clientzijde nodig om Anycast-technologie te gebruiken. Maar Anycast heeft ook zijn nadelen. Er wordt aangenomen dat de implementatie ervan een complexe taak is, waarvoor extra apparatuur, betrouwbare providers en een goede verkeersroutering nodig zijn.

Verre van pure bron naar schoonheid

Hoewel Anycast gebruikers routeert op basis van de minste hops, betekent dit niet noodzakelijkerwijs de laagste latentie. Latentie is een complexere maatstaf omdat deze voor één transitie hoger kan zijn dan voor tien.

Anycast versus Unicast: wat is in elk geval beter om te kiezen
Voorbeeld: Bij intercontinentale communicatie kan sprake zijn van een enkele hop met een zeer hoge latentie.

Anycast wordt voornamelijk gebruikt voor op UDP gebaseerde services zoals DNS. Gebruikersverzoeken worden doorgestuurd naar het “beste” en “dichtstbijzijnde” datacenter op basis van BGP-routes.

Anycast versus Unicast: wat is in elk geval beter om te kiezen
Voorbeeld: Een DNS-clientwerkstation met een Anycast DNS IP-adres 123.10.10.10 voert DNS-omzetting uit naar de dichtstbijzijnde van drie DNS-naamservers die zijn geïmplementeerd met hetzelfde Anycast IP-adres. Als Router R1 of Server A uitvalt, worden DNS-clientpakketten automatisch doorgestuurd naar de dichtstbijzijnde DNS-server via Routers R2 en R3. Bovendien wordt de route naar onze server A uit de routeringstabellen verwijderd, waardoor verder gebruik van die naamserver wordt voorkomen.

Implementatiescenario's

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

  • Anycast-netwerklaag. Verbindt de gebruiker met de dichtstbijzijnde server. Het netwerkpad van de gebruiker naar de server is hierbij belangrijk.
  • Applicatieniveau anycast. Dit schema heeft meer berekende statistieken, waaronder serverbeschikbaarheid, responstijd, aantal verbindingen, enz. Dit is afhankelijk van een externe monitor die netwerkstatistieken levert.

CDN gebaseerd op Anycast

Laten we nu terugkeren naar het gebruik van Anycast in netwerken voor inhoudlevering. Anycast is zeker een interessant netwerkconcept en krijgt steeds meer acceptatie onder de next-gen CDN-providers.

CDN is een gedistribueerd netwerk van servers dat inhoud levert aan eindgebruikers met hoge beschikbaarheid en lage latentie. Netwerken voor het leveren van inhoud spelen tegenwoordig een belangrijke rol als de ruggengraat van veel onlinemediadiensten, en consumenten zijn steeds minder tolerant ten aanzien van lage downloadsnelheden. Video- en spraaktoepassingen zijn bijzonder gevoelig voor netwerkjitter en latentie.

Een CDN verbindt alle servers in één netwerk en zorgt voor sneller laden van content. Soms is het mogelijk om de wachttijd van de gebruiker met 5-6 seconden te verkorten. Het doel van een CDN is om de levering te optimaliseren door inhoud aan te bieden vanaf de server die zich het dichtst bij de eindgebruiker bevindt. Dit lijkt sterk op Anycast, waarbij de dichtstbijzijnde server wordt geselecteerd op basis van de locatie van de eindgebruiker. Het lijkt erop dat elke CDN-dienstverlener standaard Anycast zou gebruiken, maar in werkelijkheid is dit niet het geval.

Toepassingen die protocollen zoals HTTP/TCP gebruiken, zijn afhankelijk van de verbinding die tot stand wordt gebracht. Als er een nieuw Anycast-knooppunt wordt geselecteerd (bijvoorbeeld vanwege een serverstoring), kan de service worden onderbroken. Daarom werd Anycast voorheen aanbevolen voor verbindingsloze diensten zoals UDP en DNS. Anycast werkt echter ook goed voor verbindingsgerichte protocollen; TCP werkt bijvoorbeeld goed in de Anycast-modus.

Sommige CDN-providers gebruiken op Anycast gebaseerde routering, anderen 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 en multi-datacenterinfrastructuren zijn een ander voorbeeld van het gebruik van Anycast. Met het Load Balancing IP-adres dat u van de provider ontvangt, kunt u de belasting verdelen over de IP-adressen van verschillende clientservices in het datacenter van de provider. Dankzij de technologie voor elk apparaat biedt het betere prestaties bij druk verkeer, fouttolerantie en helpt het de responstijd te optimaliseren bij het omgaan met een groot aantal gebruikers.

In hybride infrastructuren met meerdere datacenters kunt u verkeer distribueren over servers of zelfs virtuele machines op speciale servers.

Er is dus een enorme keuze aan technische oplossingen voor het bouwen van infrastructuur. U kunt ook taakverdeling configureren over IP-adressen in meerdere datacenters, waarbij u zich op elk apparaat in een groep kunt richten om de prestaties van de site te optimaliseren.

U kunt het verkeer verdelen volgens uw eigen regels, waarbij u het “gewicht” van elk van de gedistribueerde servers in elk datacenter definieert. Deze configuratie is vooral handig als er een gedistribueerd serverpark is en de prestaties van services ongelijkmatig zijn. Hierdoor kan het verkeer vaker worden gedistribueerd om de serverprestaties te verbeteren.

Om een ​​monitoringsysteem te creëren met behulp van de ping-opdracht, is het mogelijk om sondes te configureren. Hierdoor kan de beheerder zijn eigen monitoringprocedures definiëren en een duidelijker beeld krijgen van de status van elke component in de infrastructuur. Op deze manier kunnen toegankelijkheidscriteria worden gedefinieerd.

Het is mogelijk om een ​​hybride infrastructuur op te bouwen: soms is het handig om de backoffice in het bedrijfsnetwerk te laten, en het interfacegedeelte uit te besteden aan de provider.

Het is mogelijk om SSL-certificaten toe te voegen voor taakverdeling, encryptie van verzonden gegevens en beveiliging van de communicatie tussen sitebezoekers en bedrijfsinfrastructuur. Bij taakverdeling tussen datacenters kan ook SSL worden gebruikt.

Anycast-service met adres-load-balancing kunt u verkrijgen bij uw provider. Deze functie helpt de manier te verbeteren waarop gebruikers omgaan met apps op basis van locatie. Het volstaat om aan te kondigen welke diensten beschikbaar zijn in het datacenter en het verkeer wordt omgeleid naar de dichtstbijzijnde infrastructuur. Als er dedicated servers zijn, bijvoorbeeld in Frankrijk of Noord-Amerika, worden clients doorverwezen naar de dichtstbijzijnde server op het netwerk.

Eén van de mogelijkheden voor het gebruik van Anycast is de optimale keuze van het Point of Presence (PoP) van een operator. Laten we het geven voorbeeld. LinkedIn (geblokkeerd in Rusland) streeft er niet alleen naar om de prestaties en snelheid van zijn producten (mobiele en webapplicaties) te verbeteren, maar ook om zijn netwerkinfrastructuur te verbeteren voor snellere levering van inhoud. Voor deze dynamische contentlevering maakt LinkedIn actief gebruik van PoP's - points of presentie. Anycast wordt gebruikt om gebruikers naar de dichtstbijzijnde PoP te leiden.

De reden is dat in het geval van Unycast elke LinkedIn PoP een uniek IP-adres heeft. Gebruikers worden vervolgens met behulp van DNS aan PoP toegewezen op basis van hun geografische locatie. Het probleem is dat bij gebruik van DNS ongeveer 30% van de gebruikers in de Verenigde Staten werd omgeleid naar een suboptimale PoP. Met de gefaseerde implementatie van Anycast daalde de suboptimale PoP-toewijzing van 31% naar 10%.

Anycast versus Unicast: wat is in elk geval beter om te kiezen
De resultaten van de pilottest worden weergegeven in de grafiek, waarbij de Y-as het percentage optimale PoP-toewijzing weergeeft. Naarmate Anycast zich verder ontwikkelde, zagen veel Amerikaanse staten een verbetering in het percentage verkeer richting de optimale PoP.

Anycast-netwerkbewaking

Anycast-netwerken zijn in theorie eenvoudig: meerdere fysieke servers krijgen hetzelfde IP-adres toegewezen, waarmee BGP de route bepaalt. Maar de implementatie en het ontwerp van Anycast-platforms is complex, en fouttolerante Anycast-netwerken staan ​​hier vooral om bekend. Nog uitdagender is het effectief monitoren van een Anycast-netwerk om fouten snel te identificeren en te isoleren.

Als services een externe CDN-provider gebruiken om hun inhoud aan te bieden, is het erg belangrijk dat ze de netwerkprestaties monitoren en verifiëren. Op Anycast gebaseerde CDN-monitoring richt zich op het meten van end-to-end latentie en voorlaatste hopprestaties om te begrijpen welk datacenter de inhoud levert. Het analyseren van HTTP-serverheaders is een andere manier om te bepalen waar gegevens vandaan komen.

Anycast versus Unicast: wat is in elk geval beter om te kiezen
Voorbeeld: HTTP-antwoordheaders die de locatie van de CDN-server aangeven.

CloudFlare gebruikt bijvoorbeeld een eigen CF-Ray header in HTTP Response-berichten, waarin een indicatie staat van het datacenter waar het verzoek is gedaan. In het geval van Zendesk is de CF-Ray-header voor de regio Seattle CF-RAY: 2a21675e65fd2a3d-SEA, en voor Amsterdam is dit CF-RAY: 2a216896b93a0c71-AMS. U kunt ook HTTP-X-headers uit het HTTP-antwoord gebruiken om te bepalen waar de inhoud zich bevindt.

Andere adresseringsmethoden

Er zijn andere adresseringsmethoden voor het routeren van gebruikersverzoeken naar een specifiek netwerkeindpunt:

unicast

Het grootste deel van het internet gebruikt tegenwoordig deze methode. Unicast - unicast-transmissie, het IP-adres is gekoppeld aan slechts één specifiek knooppunt in het netwerk. Dit heet één-op-één matching. 

multicast

Multicast maakt gebruik van een één-op-veel- of veel-op-veel-relatie. Met Multicast kan een verzoek van een afzender gelijktijdig naar verschillende geselecteerde eindpunten worden verzonden. Dit geeft de client de mogelijkheid om een ​​bestand in delen van meerdere hosts tegelijk te downloaden (wat handig is 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, zelfs als er meerdere knooppunten beschikbaar zijn.

Uitzending

Een datagram van een enkele afzender wordt doorgestuurd naar alle eindpunten die aan het broadcastadres zijn gekoppeld. Het netwerk repliceert automatisch datagrammen om alle ontvangers in de uitzending (meestal op hetzelfde subnet) te kunnen bereiken.

Geocast

Geocast lijkt enigszins op Multicast: verzoeken van de afzender worden tegelijkertijd naar meerdere eindpunten verzonden. Het verschil is echter dat de geadresseerde wordt bepaald door zijn geografische locatie. Dit is een gespecialiseerde vorm van multicast die wordt gebruikt door sommige routeringsprotocollen voor mobiele ad-hocnetwerken.

Een geografische router berekent zijn servicegebied en schat dit bij benadering. Georouters, servicegebieden uitwisselen, routeringstabellen bouwen. Het georoutersysteem heeft een hiërarchische structuur.

Anycast versus Unicast: wat is in elk geval beter om te kiezen
Anycast versus Unicast: wat is in elk geval beter om te kiezen
Anycast versus Unicast: wat is in elk geval beter om te kiezen
Unicast, Multicast en uitzending.

Het gebruik van Anycast-technologie verhoogt het niveau van betrouwbaarheid, fouttolerantie en veiligheid van DNS. Met behulp van deze technologie bieden operators hun klanten diensten aan voor verschillende soorten load-balancing op basis van DNS. In het controlepaneel kunt u IP-adressen opgeven waarnaar verzoeken worden verzonden, afhankelijk van de geografische locatie. Dit geeft klanten de mogelijkheid om gebruikersverzoeken flexibeler te verdelen.

Sommige operators implementeren routebewakingsmogelijkheden op elk Point of Presence (POP): het systeem analyseert automatisch de kortste lokale en mondiale routes voor Points of Presence en routeert deze via geografische locaties met de laagste latentie zonder enige downtime.

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

Het .ru-domein ondersteunt 35 Anycast DNS-servers, gegroepeerd in 20 knooppunten, verdeeld over vijf Anycast-clouds. In dit geval wordt het constructieprincipe op basis van geografische kenmerken gebruikt, d.w.z. Geocast. Bij het plaatsen van DNS-knooppunten is het de bedoeling dat deze worden verplaatst naar geografisch verspreide locaties dichtbij de meest actieve gebruikers, de maximale concentratie van Russische providers op het punt waar het knooppunt zich bevindt, evenals de beschikbaarheid van vrije capaciteit en het gemak van interactie met de site.

Hoe bouw je een CDN?

CDN is een netwerk van servers dat de levering van inhoud aan gebruikers versnelt. Content Delivery Network verenigt alle servers in één netwerk en zorgt voor sneller laden van inhoud. De afstand van de server tot de gebruiker speelt een belangrijke rol bij de laadsnelheid.

Met CDN kunt u servers gebruiken die het dichtst bij de doelgroep staan. Dit vermindert de wachttijd en helpt het laden van site-inhoud voor alle bezoekers te versnellen, wat vooral van cruciaal belang is voor sites met grote bestanden of multimediadiensten. Typische toepassingen voor CDN zijn e-commerce en entertainment.

Het netwerk van extra servers die in de CDN-infrastructuur zijn gecreëerd en die zich zo dicht mogelijk bij de gebruikers bevinden, draagt ​​bij aan een stabielere en snellere datalevering. Volgens statistieken vermindert het gebruik van een CDN de latentie bij toegang tot een site met meer dan 70% in vergelijking met sites zonder CDN.

Als maak CDN met behulp van DNS? Een CDN opzetten met de eigen oplossing van Anycast kan een behoorlijk duur project zijn, maar er zijn goedkopere opties. U kunt bijvoorbeeld gebruik maken van GeoDNS en reguliere servers met unieke IP-adressen. Met behulp van GeoDNS-services kunt u een CDN maken met geolocatiemogelijkheden, waarbij beslissingen worden genomen op basis van de daadwerkelijke locatie van de bezoeker, in plaats van op de locatie van de DNS-resolver. U kunt uw DNS-zone configureren om Amerikaanse server-IP-adressen weer te geven aan Amerikaanse bezoekers, maar Europese bezoekers zien het Europese IP-adres.

Met GeoDNS kunt u verschillende DNS-antwoorden retourneren, afhankelijk van het IP-adres van de gebruiker. Om dit te doen, is de DNS-server geconfigureerd om verschillende IP-adressen te retourneren, afhankelijk van het bron-IP-adres in het verzoek. Meestal wordt een GeoIP-database gebruikt om de regio te bepalen van waaruit een aanvraag wordt gedaan. Met geolocatie met behulp van DNS kunt u inhoud naar gebruikers van een nabijgelegen site sturen.

GeoDNS bepaalt het IP-adres van de client 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 clientverzoek. Het land/regio wordt bepaald door de IP- en GeoIP-database van de klant. De client verkrijgt dan het IP-adres van de dichtstbijzijnde CDN-server. U kunt meer lezen over het instellen van GeoDNS hier.

Anycast of GeoDNS?

Hoewel Anycast een geweldige manier is om inhoud op mondiale schaal aan te bieden, ontbreekt het aan specificiteit. Dit is waar GeoDNS te hulp schiet. Met deze service kunt u regels maken die gebruikers naar unieke eindpunten sturen op basis van hun locatie.

Anycast versus Unicast: wat is in elk geval beter om te kiezen
Voorbeeld: Gebruikers uit Europa worden naar een ander eindpunt geleid.

U kunt ook de toegang tot domeinen weigeren door alle verzoeken te negeren. Dit is met name een snelle manier om indringers af te sluiten.

GeoDNS geeft nauwkeurigere antwoorden dan Anycast. Als bij Anycast de kortste route wordt bepaald door het aantal hops, dan vindt bij GeoDNS routering voor eindgebruikers plaats afhankelijk van hun fysieke locatie. Dit vermindert de latentie en verbetert de nauwkeurigheid bij het maken van gedetailleerde routeringsregels.

Bij het navigeren naar een domein maakt de browser contact met de dichtstbijzijnde DNS-server, die, afhankelijk van het domein, een IP-adres afgeeft om de site te laden. Laten we aannemen dat een online winkel populair is in de VS en Europa, maar dat DNS-servers ervoor alleen in Europa beschikbaar zijn. Dan zullen Amerikaanse gebruikers die gebruik willen maken van de diensten van de winkel gedwongen worden een verzoek naar de dichtstbijzijnde server te sturen, en aangezien deze erg ver weg is, zullen ze lang op antwoord moeten wachten - de site zal niet snel laden.

Wanneer een GeoDNS-server zich in de VS bevindt, hebben gebruikers er al toegang toe. De reactie zal snel zijn, wat de laadsnelheid van de site zal beïnvloeden.

In een situatie met een bestaande DNS-server in de Verenigde Staten, wanneer een gebruiker uit de Verenigde Staten naar een bepaald domein navigeert, zal hij contact opnemen met de dichtstbijzijnde server die het vereiste IP-adres zal verstrekken. De gebruiker wordt doorgestuurd naar de server die de inhoud van de site bevat, maar aangezien de servers met de inhoud ver weg zijn, zal hij deze niet snel ontvangen.

Als u CDN-servers in de VS host met gegevens in de cache, stuurt de clientbrowser bij het laden een verzoek naar de dichtstbijzijnde DNS-server, die het vereiste IP-adres terugstuurt. De browser met het ontvangen IP-adres maakt contact met de dichtstbijzijnde CDN-server en de hoofdserver, en de CDN-server levert de in de cache opgeslagen inhoud aan de browser. Terwijl de inhoud in de cache wordt geladen, worden de bestanden die ontbreken om de volledige site te laden ontvangen van de hoofdserver. Als gevolg hiervan wordt de laadtijd van de site verkort, omdat er veel minder bestanden vanaf de hoofdserver worden verzonden.

Het bepalen van de exacte locatie van een specifiek IP-adres is niet altijd een gemakkelijke taak: er spelen veel factoren een rol, en eigenaren van een IP-adresreeks kunnen besluiten om er aan de andere kant van de wereld reclame voor te maken (en vervolgens te moeten wachten tot de database update om de juiste locatie te krijgen). Soms wijzen VPS-providers adressen toe die zich vermoedelijk in de VS bevinden, aan VPS in Singapore.

In tegenstelling tot het gebruik van Anycast-adressen, wordt de distributie uitgevoerd tijdens de naamomzetting in plaats van tijdens het verbinden met de caching-server. Als de recursieve server geen EDNS-clientsubnetten ondersteunt, wordt de locatie van die recursieve server gebruikt in plaats van de gebruiker die verbinding maakt met de cachingserver.

Clientsubnetten in DNS zijn een uitbreiding van DNS (RFC7871) die definieert hoe recursieve DNS-servers clientinformatie naar de DNS-server kunnen sturen, met name netwerkinformatie die de GeoDNS-server kan gebruiken om de locatie van de client nauwkeuriger te bepalen.

De meesten gebruiken de DNS-servers van hun ISP of DNS-servers die geografisch dichtbij hen staan, maar als iemand in de VS om wat voor reden dan ook besluit een DNS-resolver in Australië te gebruiken, zullen ze waarschijnlijk eindigen met een IP-serveradres dat het dichtst bij Australië ligt.

Als u GeoDNS wilt gebruiken, is het belangrijk om op de hoogte te zijn van deze functies, omdat dit in sommige gevallen de afstand tussen de cachingservers en de client kan vergroten.

Samenvatting: als je meerdere VPS wilt combineren tot een CDN, dan is de beste inzetoptie het gebruik van een DNS-serverbundel met de GeoDNS + Anycast-functie out-of-the-box.

Anycast versus Unicast: wat is in elk geval beter om te kiezen

Bron: www.habr.com

Voeg een reactie