Centraliserad DNS skapar problem med CDNs (som Akamai som Apple använder)

Tråden skapades och har fått 7 svar. Det senaste inlägget skrevs .
1

En intressant grej som jag snubblade över idag; att använda centraliserade DNS:er som OpenDNS eller Google DNS kan ge mycket sämre nedladdningshastigheter från distribuerade dataleveransnätverk (CDN: content delivery network eller content distribution network).

En CDN-lösning innebär att det finns massor av servrar fysiskt placerade runt om i världen dit CDN-lösningen kopierar all data, så den ska finnas snabbt tillgänglig överallt utan att överbelasta en anslutningspunkt. Apple har sedan många år tillbaka använt Akamai som CDN för att leverera nedladdningar av allt från keynotevideoströmmar till iTunes.

En centraliserad DNS-tjänst som Google DNS och OpenDNS har många fördelar med stabilare, snabbare och säkrare DNS-uppslagningar vilket för det mesta är en fördel jämfört med den lokala DNS:en från din ISP. Problemet uppstår när man ska ladda ner från en CDN-lösning är att de vanligtvis använder ett "hack" som tar reda på vilken DNS man skicka förfrågan från, för att avgöra var man befinner sig geografiskt (eftersom de inte vet vilket IP du kommer ifrån).

Problemet blir mera påtagligt om man bor långt ifrån stället där DNS-tjänsten finns. Så för oss här i Sverige som använder Google DNS kan det innebär att Akamai tror att vi bor i USA och skickas oss till en server i USA istället för en här i Sverige (eller var de nu har sina närmaste). Det gör att man får mycket sämre svarstider och nedladdningshastigheter.

Jag har levt i tron att bytet till Google DNS bara inneburit fördelar, men så är det alltså inte.

Google har föreslagit en lösning på detta, men om det är något som jobbas på eller inte vet jag inte.

Mer läsning:
Why using Google DNS / OpenDNS is a bad idea
Sajal Kayan » In a CDN’d world, OpenDNS is the enemy! (Här finns testdata från svenska Com Hem.)

Vi kör Google DNS på alla burkar på kontoret...

Ja, jag har kört Googles DNS:er sedan de kom, innan dess OpenDNS. Och de finns som sagt många fördelar med det, det är bara när det gäller CDN:er som det ställer till det.

  • Medlem
  • International user
  • 2010-12-19 20:09

Låter skumt att CDN kollar på dnsn och inte ipt man har?

Känns ändå som att DNS behöver fixas, alldeles för lätt att censurera.

Ursprungligen av zappee:

Låter skumt att CDN kollar på dnsn och inte ipt man har?

Jag är inte så insatt i de tekniska detaljerna, så någon får rätta mig om jag har fel, men jag förstod det såhär:

- Du vill komma åt en webbadress hos t.ex. Akamai.
- Du gör en förfrågan till en DNS och denna DNS gör i sin tur en uppslagning hos Akamai för att ta reda på vilket IP som tillhör ett domännamn.
- Akamai får aldrig veta vilket IP skickade förfrågan, bara vilken DNS som gjorde frågan.
- Om DNS:en är din lokala så vet Akamai ungefär i vilken del av världen du befinner dig och kan ge dig ett IP-nummer som är närmast geografiskt.
- Om DNS:en däremot är en centraliserad DNS som Googles och den i sin tur är i USA så vet Akamai bara om att förfrågan kommer från USA någonstans.

Om Google skulle ha satt upp ett antal olika DNS-servrar globalt så blir det förstås bättre, men träffsäkerheten blir inte lika bra som med en lokal DNS hos din ISP.

Såhär beskriver OpenDNS det i ett inlägg:

when your ISP's local dns servers make the request, akamai sees the requests from your ISP's side of the internet. they give your ISP's dns servers a response that is close (in network topography) to those servers.

in other words, your ISP in Israel will ask Akamai for an IP and Akamai will give a result that is in Israel or close to Israel.

when OpenDNS makes the request to akamai, it made from our servers (London, NYC, Washington DC) and akamai will return an IP that is close to those locations. these locations may give much poorer performance that the Israeli mirror that Akamai would have returned had your ISP's server made the request.

as we expand into other locations (Israel being on the list of possibilities), the Akamai servers will give answers that are closer to those locations. OpenDNS also can open a discussion with Akamai on a method to pass the original client's IP to their servers (via DNS or other means) so Akamai can return an IP to us that is closer to the original requester.

  • Oregistrerad
  • 2010-12-19 22:17

Problemet är väl att google cachar fel data - eller har jag fattat allt fel?

Dvs. om jag skickar en dns förfrågan till akamai? typ content.akamai.com då sker följande:

1.) Akamais' dns server tar reda på vilken IP adress förfrågan kommer ifrån och gör kanske tom ping-tester (vissa smarta load balanser boxar gör det) för att bestämma optimal ISP och ger min DNS server en adress, som min dns sen ger mig.

Allt frid och fröjd - men om person 2 sen frågar samma dns efter content.akamai.com så är den redan cachad och returnerar samma IP.

Hela idén med en central DNS tjänst är ju just cache - att någon annan med största sannolik redan frågat efter IP adressen och då "upplevs" dns'en som snabbare (men den är precis lika långsam som alla andra DNSer)

Själv driver jag mina egna DNS'er och använder alltid dom, förutom när jag gjort större ändringar och vill kolla hur det ser ut "på internet" då kör jag med externa DNS'er, ibland google, ibland någon ISP's. Ser inga som helst fördelar med att använda andra dns'er då min cachar också och den är snabb som f-n

Ursprungligen av studiox:

1.) Akamais' dns server tar reda på vilken IP adress förfrågan kommer ifrån och gör kanske tom ping-tester (vissa smarta load balanser boxar gör det) för att bestämma optimal ISP och ger min DNS server en adress, som min dns sen ger mig.

Akamai får aldrig veta vilket IP som ursprungligen ställde frågan, däremot vilken DNS som ställde frågan (och utifrån det anpassa svaret), så som jag förstått det.

John "jag är alltid sen med nyheterna" Gruber har upptäckt samma sak nu.

1
Bevaka tråden