Content delivery network

Z Wikipedie, otevřené encyklopedie
zdrojový server obsluhuje klienty přímo (vlevo) nebo skrze CDN síť (vpravo)

Síť pro doručování obsahu Content Delivery Network neboli CDN je je geograficky distribuovaná skupina serverů vzájemně propojených skrze Internet, která zvyšuje dostupnost dat ukládáním obsahu do mezipaměti v blízkosti koncových uživatelů.[1] Jiný název pro CDN je Content Distribution Network (Síť pro rozprostření obsahu). Tuto síť tvoří:

  • zdrojový server, který poskytuje obsah pro CDN
  • prvky rozmístěné v různých částech internetové infrastruktury, kde je obsah replikován
  • směrovací systém, který zajišťuje, aby byl obsah uživateli doručen z geograficky nejbližšího uzlu sítě

Jednotlivé uzly CDN jsou obvykle připojeny k rychlé páteřní síti internetu. Jejich počet se liší podle zvolené architektury a může dosahovat až několik tisíců uzlů s desítkami tisíc serverů. Optimalizace skrze CDN mívá za následek snížení ceny za hostingové služby, zrychlení stránek a zvýšení odolnosti proti nárazově velkému provozu na obsluhované stránce. Podle IBM mezi známé typy CDN poskytovatelů patří: [2]

  • Akamai
  • MaxCDN
  • Incapsula
  • Rackspace
  • Cloudflare

Typy CDN sítí[editovat | editovat zdroj]

Rozlišuje se několik typů sítí:

  • CDN cache určená ke stahování dat
  • CDN optimalizovaná pro streaming audiovizuálního obsahu

V případě online streamingu jsou zdrojová data přenášená skrze zdrojový server okamžitě replikována na koncové uzly sítě. Síť musí podporovat několik druhů technologií:

  • Microsoft Windows Media
  • Adobe Flash Live
  • Adobe Flash Dynamic Streaming
  • Microsoft Smooth Streaming
  • Apple HTTP Streaming (pro iPhone a Quicktime X)
  • 3GPP PSS (pro mobilní zařízení)
  • ISMA

Od roku 2009 se objevilo tzv. adaptivní HTTP streamování, kdy je zdroj rozdělen na několik částí a každá část je stažena samostatně. To umožnilo využít stávající architekturu přizpůsobenou pro běžné stahování a zároveň odbouralo nutnost platit licenční poplatky, které jsou u technologií pro streamování často uplatněny ve značné míře.


Technologie[editovat | editovat zdroj]

Vývoj[editovat | editovat zdroj]

Technologie sítě pro doručování obsahu (CDN) se objevila koncem 90. let 20. století a zaměřila se na rychlejší doručování obsahu přes internet:

První generace[editovat | editovat zdroj]

První generace služeb CDN se zaměřila na síťové principy inteligentního řízení síťového provozu a datová centra pro replikaci.[3]

Druhá generace[editovat | editovat zdroj]

Sítě CDN druhé generace vznikly v reakci na nárůst služeb streamování zvuku a videa, zejména videa na vyžádání a zpravodajství na vyžádání. Technologie se také vyvinula s cílem řešit nové výzvy v oblasti doručování obsahu na mobilních zařízeních.[4]

Třetí generace[editovat | editovat zdroj]

Sítě CDN třetí generace se stále vyvíjejí. Vzhledem k tomu, že většina webových služeb je centralizována v cloudu, je nyní kladen důraz na edge computing - řízení spotřeby šířky pásma pomocí inteligentních zařízení, která inteligentně komunikují. Autonomní a samosprávné okrajové sítě mohou být dalším krokem v technologii CDN.[5]

Princip[editovat | editovat zdroj]

Sítě pro doručování obsahu (CDN) fungují tak, že zřídí místo přítomnosti (POP) nebo skupinu okrajových serverů CDN na více zeměpisných místech.

Geograficky vzdálený návštěvník webu provede první požadavek na statický obsah webu. Tento požadavek dorazí na webový aplikační server, ten následné odešle odpověď vzdálenému návštěvníkovi. Současně odešle kopii odpovědi na server CDN , který je tomuto návštěvníkovi geograficky nejblíže. Server CDN POP následně uloží kopii jako soubor v mezipaměti.

Při dalším požadavku tohoto nebo jakéhokoli jiného návštěvníka v dané lokalitě odešle odpověď server mezipaměti, nikoli server původu a tím dojde ke zrychlení při dalších návštěvách.

Směrování k vybranému bodu je nejčastěji prováděno na úrovni DNS překladu adres. Stejná URL domény (například Youtube.com) může být pro každého návštěvníka přeložena na jinou IP adresu, což zajistí, že se bude obsah směrovat ze správného uzlu sítě.

Dynamické zrychlení[editovat | editovat zdroj]

Dynamická akcelerace je zkrácení doby odezvy serveru u požadavků na dynamický webový obsah díky zprostředkujícímu serveru CDN mezi webovými aplikacemi a klientem. Ukládání do mezipaměti totiž nefunguje dobře u dynamického webového obsahu, protože obsah se může měnit s každým požadavkem uživatele. Servery CDN se musí při každém dynamickém požadavku znovu spojit s původním serverem, ale optimalizací spojení mezi sebou a původními servery tento proces urychlují.

Pokud klient odešle dynamický požadavek přímo webovému serveru přes internet, může se požadavek ztratit nebo zpozdit kvůli zpoždění sítě. Čas může být také stráven otevíráním a zavíráním spojení kvůli ověření bezpečnosti. Na druhou stranu, pokud by blízký server CDN server předal požadavek serveru původu, měl by již navázané průběžné a důvěryhodné spojení. Další optimalizaci spojení mezi nimi by mohly zajistit například inteligentní směrovací algoritmy, schopnost zpracovat požadavek klienta, čímž se sníží jeho velikost. CDN server můžete naprogramovat tak, aby prováděl některé logické operace za původní server, nebo může např. upravit nebo optimalizovat obsah před vrácením odpovědí. Rozdělení aplikační logiky mezi webové servery a okraj sítě pomáhá vývojářům odlehčit výpočetní nároky původních serverů a zlepšit výkon webových stránek.[6]

Literatura[editovat | editovat zdroj]

  • Buyya, R.; Pathan, M.; and Vakali, A. (2008). Content Delivery Networks. Springer. doi:10.1007/978-3-540-77887-5_1. ISBN 9783540778868.
  • Erik Nygren, Ramesh K. Sitaraman, and Jennifer Sun. "The Akamai Network: A Platform for High-Performance Internet Applications, ACM SIGOPS Operating Systems Review, vol. 44, no. 3, July 2010.".
  • Hau, T.; Burghardt, D.; and Brenner, W. (2011). "Multihoming, Content Delivery Networks, and the Market for Internet Connectivity". Telecommunications Policy 35 (6): 532–542.doi:10.1016/j.telpol.2011.04.002.