Tillbaka till Sällskapet
Nätverk· 31 augusti 2026 ·6 min läsning

GeoDNS vs anycast: två sätt att skicka användare till närmaste server

Två tekniker lovar samma sak - skicka varje besökare till en närliggande server - men de bestämmer vid olika tidpunkter, och en av dem har tyst blivit mindre exakt under de senaste åren.

Mads Edelskjold
Mads Edelskjold
Grundare, NordicCDN ex-datacenter CTO
GeoDNS vs anycast: två sätt att skicka användare till närmaste server

Om du någonsin har laddat en webbplats och funnit dig själv tjänad från ett datacenter på fel kontinent utan någon märkbar anledning, har du träffat skillnaden mellan dessa två, och GeoDNS var nästan säkert involverad.

Båda teknikerna finns för att lösa samma problem: få varje besökare till en närliggande server. De är oense om när att bestämma, och att tidsskillnaden producerar allt annat noggrannheten, failover hastighet, kontroll du får och de sätt var och en misslyckas.

GeoDNS bestämmer vid uppslagningstid

GeoDNS gör sitt val under DNS-sökningen. En resolver frågar "var är example.com?", den auktoritativa namnservern tittar på var frågan verkar komma ifrån och returnerar adressen till en server i närheten. Fråga från Stockholm, få den nordiska kanten. Fråga från Sydney, få den australiensiska.

Orden som gör det tunga lyftet finns Verkar komma från. Namnservern ser inte besökaren. Den ser den rekursiva resolveren som frågar på deras vägnar, vilket kanske inte är i närheten av dem.

Anycast beslutar vid anslutningstid

Anycast gissar inte alls. Samma IP-adress meddelas från varje plats, och när besökaren faktiskt öppnar en anslutning levererar internet routing sina paket till vilken plats som är närmast via nätverksväg. Det finns ingen geografidatabas att ha fel, eftersom ingenting slås upp - svaret är en konsekvens av hur paketen reser.

GeoDNS: choose at lookup DNS picks IP specific server Anycast: choose at connect one shared IP nearest copy
GeoDNS beslutar tidigt, från begränsad information. Anycast beslutar i det ögonblick du ansluter.

Problemlösningen, och varför det blev värre

Detta är kärnan, och det är mer följd än det var för fem år sedan.

GeoDNS ser resolverens källadress, inte besökaren. Om någon i Köpenhamn använder sin ISP: s resolver, är den resolveren förmodligen också i Danmark och gissningen är bra. Om de använder en offentlig resolver kan frågan komma ut från ett helt annat land och GeoDNS returnerar säkert en server nära det.

Det finns en mekanism som är utformad för att fixa exakt detta: EDNS Client Subnet, en förlängning där resolver innehåller en trunkerad version av klientens eget nätverk i frågan, så att den auktoritativa servern kan fatta ett beslut baserat på den faktiska besökaren. När det är närvarande är GeoDNS noggrannhet bra.

Svårigheten är att ECS är valfritt och i allt högre grad undanhållet. Det är en integritetsavvägning - det berättar för den auktoritativa namnservern något om vem som frågar - och flera resolver, särskilt integritetsfokuserade och några DNS-över-HTTPS-implementeringar, skickar medvetet inte Det. Från den auktoritativa serverns synvinkel är klientens plats helt enkelt inte tillgänglig, och den faller tillbaka till resolverens adress.

Det praktiska resultatet är beteendet som folk beskriver som routing "roulette": samma besökare på samma anslutning får en annan, ibland avlägsen, kant beroende på vilken resolver deras webbläsare eller drift Systemet använder sig av den dagen. Ingenting är felkonfigurerat. Den information som behövs för att göra rätt val kom aldrig fram.

Sida vid sida

GeoDNSAnycast
BeslutsställeDNS-sökningPacket routing
Baserat påLös upp plats, eller ECS om det skickasFaktisk nätverkssökväg
Noggrannhet med offentlig eller krypterad DNSFörnedring, ibland dåligtEj påverkad
Hastighet vid felTTL och Resolver beteendeSekunder, via ruttuttag
Deterministisk kontrollFullständig - du skriver reglernaRouting beslutar
InställningskravEn DNS-leverantör som stöder detEget IP-utrymme, ASN, BGP-sessioner
Överensstämmelsedirigering (behåll region X i region X)EnkelhetSvårt att garantera
Lastbalansering efter kapacitetLätt - väga svarenIngen direkt mekanism

Så vad ska du använda?

För att betjäna allmän webbtrafik till en global publik är anycast det mer robusta valet, och klyftan har ökat eftersom krypterad DNS har spridit sig. Det kan inte luras om var en besökare är eftersom det aldrig frågar.

GeoDNS är det bästa verktyget när du behöver beslut som routing inte kan uttrycka. Om europeiska besökare måste betjänas från europeisk infrastruktur av efterlevnadsskäl, låter GeoDNS dig ange det som regel; anycast låter dig hoppas. Om en plats har mer kapacitet än en annan kan GeoDNS väga trafiken mot den. Och GeoDNS är tillgängligt för alla med en lämplig DNS-leverantör, medan anycast kräver infrastruktur som de flesta organisationer aldrig kommer att äga.

I praktiken använder stora nätverk båda, och inte som en kompromiss: anycast för den snabba vägen där lokalitet är det enda målet, GeoDNS skiktad ovanpå där ett specifikt svar krävs av en specifik anledning.

Vanliga frågor

Vad är skillnaden mellan GeoDNS och anycast?

GeoDNS väljer en server under DNS-sökningen och returnerar en annan IP-adress beroende på var frågan verkar komma ifrån. Anycast meddelar en IP-adress från många platser och låter internet routing leverera varje anslutning till närmaste. GeoDNS beslutar tidigt från härledd plats; anycast beslutar vid anslutningstid från den faktiska nätverksvägen.

Varför skickar GeoDNS mig till fel server?

Eftersom det ser din DNS-resolver plats snarare än din. Om du använder en offentlig eller krypterad DNS-tjänst vars fråga utgår från ett annat land, returnerar GeoDNS en server nära det landet. EDNS Client Subnet-tillägget finns för att vidarebefordra en del av din egen nätverksadress, men det är valfritt och många integritetsinriktade resolver utelämnar det medvetet, vilket lämnar den auktoritativa servern med ingen bättre information.

Vad är EDNS Client Subnet?

EDNS Client Subnet, eller ECS, är ett DNS-tillägg som låter en rekursiv resolver inkludera en trunkerad del av klientens IP-adress i sin fråga, så en auktoritativ namnserver kan välja en server nära den faktiska besökare snarare än i närheten av resolver. Det förbättrar GeoDNS-noggrannheten avsevärt, men det avslöjar information om klienten och utelämnas därför av flera integritetsfokuserade och DNS-över-HTTPS-resolver.

Är anycast bättre än GeoDNS?

För allmän webbtrafik, vanligtvis ja - det är opåverkat av vilken resolver en besökare använder och misslyckas inom några sekunder istället för att vänta på DNS-cacheminnen att löpa ut. GeoDNS förblir bättre där du behöver deterministisk kontroll, till exempel att hålla trafik från en region på en specifik infrastruktur för efterlevnad eller väga trafik mot platser med mer kapacitet. Stora nätverk använder ofta båda tillsammans.

Kan ni använda GeoDNS och anycast tillsammans?

Ja, och det är en gemensam design. Anycast hanterar standardfallet, vilket ger varje besökare en närliggande kant med snabb failover, medan GeoDNS är skiktad ovanpå för de fall som kräver ett specifikt svar - regionala efterlevnadskrav, kapacitetsviktning eller Att styra enskilda målgrupper till en viss infrastruktur. De två fungerar i olika stadier och inte i konflikt.

Om du tar en sak från jämförelsen: GeoDNS är en slutsats och anycast är en mätning. Slutledningar kan vara fel, och under de senaste åren, eftersom mer trafik flyttas till krypterad och offentlig DNS, har de varit fel oftare.

#geodns #anycast #nätverk #routing
Omsätt det i praktiken

Se hur NordicCDN gör detta för din webbplats:

Mads Edelskjold
Skrivet av
Mads Edelskjold Grundare, NordicCDN ex-datacenter CTO

Mads har arbetat inom IT - mestadels värd - sedan han var 16. Han tog tidigt del i ett SaaS-företag och hjälpte till att växa fram till Vismas förvärv, har byggt och drivit datacenternätverk och fungerat som CTO för ett danskt datacenter. Han startade NordicCDN för att göra snabb och säker infrastruktur enkel att använda.

Gör din webbplats laddad direkt

Starta gratis på två minuter - inget kort krävs.

Starta gratis