Taková síť doručování obsahu (Content Delivery Network – CDN) vypadá tak, že na klíčová místa infrastruktury cílové IP sítě (například do propojovacích bodů) jsou umístěny aktivní prvky CDN, což jsou většinou nějaká PC. Jejich propojení je povětšinou přes Internet – nestaví se tedy speciální datové okruhy.
Každý správný muž má u sebe nůž a každá správná CDN obsahuje dvě základní komponenty. První komponentou je správa obsahu, která se stará o to, aby konkrétní bod distribuční sítě měl přístup k obsahu. Druhou komponentou je systém přesměrovávání uživatelů, který se stará o to, aby uživatel byl přesměrován na optimální bod CDN.
Správa obsahu
Pokud provozujeme jednoduchou CDN, která má pouze funkci doručování živého vysílání bez zásahů do datového toku (například změny formátu), správa obsahu degraduje na propojení proudovacích serverů. Způsob propojení je závislý na platformě.
Na platformě Real Serveru existuje možnost řetězení, kdy je řídící server schopen kromě datového toku předat řízenému serveru i část licencí (což je nutné, neboť Real Server je zpoplatňován podle počtu obsluhovaných klientů či obsluhované kapacity).
V případě Windows Media serveru je možné navázat distribuční bod jednoho serveru na distribuční bod druhého, takže ani zde nejde o technologický problém.
V případě MPEG-TS (MPEG-2 transport streamu) se kolegům z CESNETu podařilo signál duplikovat pouhým replikátorem paketů a panevropská CDN budovaná akademickými sítěmi pod patronací sdružení TERENA používá zřetězené QuickTime servery.
Jak je vidět, správa obsahu je technicky relativně jednoduše realizovatelná. Technologicky zajímavá by byla v případě, že budeme distribuovat i Video on Demand obsah (pak je třeba synchronizovat obsah disků nebo nasadit nějaký pokročilý souborový systém, který pracuje s lokálními replikami), nebo v případě, že budeme s živě vysílaným obsahem manipulovat (například změna formátu).
Systém přesměrovávání uživatelů
Účelem systému přesmerovávání uživatelů je zajistit, aby byl uživatel obsluhován z takového bodu CDN, který je optimální. Optimálnost definuje provozovatel CDN, nejčastěji bývá založena na následujících parametrech: dobrá síťová dostupnost (nízké zpoždění a jeho rozptyl – jitter), dostupnost obsahu na příslušném bodu a vytíženost příslušného bodu. Za zmínku stojí, že dobrá síťová dostupnost se v Evropě obvykle shoduje s geografickou blízkostí, což je způsobeno existencí propojovacích (peeringových) bodů na národní úrovni.
Funkčnost přesměrovávacího systému je založena na znalosti IP adresy uživatele. Na straně CDN existuje seznam/databáze síťových prefixů, které má konkrétní distribuční bod CDN. Pokud je IP adresa uživatele z prefixu, který obsluhuje konkrétní distribuční bod, je uživatel přesměrován na tento distribuční bod. V opačném případě je uživatel přesměrován na generický distribuční bod. Přesměrování může mít několik forem.
První formou je přesměrování pomocí prostředků aplikace. Real Video i Windows Media pracují s ukazatelovým souborem (v případě Real serveru má nejčastěji příponu ram, v případě Windows Media má nejčastěji příponu asx). Jde o jednoduchý textový soubor, který můžeme snadno modifikovat. Jelikož je tento soubor vyžádán protokolem http, můžeme jej posílat webovým serverem (při zpracování nastavíme správný typ obsahu). Tato forma přesměrovávání je jednodušší a používá se v menších CDN, neboť přináší netriviální nároky na přesměrovávací server.
Druhou formou je přesměrování pomocí DNS. Využívá se přitom DNS server, který vrací rozdílné odpovědi na klientské dotazy. V tuto chvíli nevím o DNS serveru, který by tuto funkčnost měl (ponechávám iniciativu na čtenářích), nicméně je možné upravit některý z DNS serverů dostupných ve zdrojovém kódu.
Pokud bychom se soustředili na poskytování služeb prostřednictvím IPv6, můžeme využít funkcionality anycastu. Vzhledem ke stavu podpory IPv6 v českých IP sítích se ale budeme muset smířit se spíše teoretickým nasazením takového systému.
Podotýkám, že cílem článku není poskytnout detailní klikací návod na vytvoření, ale poskytnout informace, které se týkají principů fungování CDN a mechanismů, na kterých funguje. Bližší informace mohu poskytnout ve dvoustranné komunikaci.
Vážení čtenáři, předchozí článek Michala Krska vyvolal poměrně vyhrocenou diskusi, přestože většina příspěvků v ní se zabývala pouze sporem o východiska a základní terminologii článku. Pokud máte pocit, že se článek nedotýká některých zajímavých aspektů dotčeného tématu či vám nevyhovuje jeho zpracování, uvítáme – a to platí obecně – zkusíte-li (třeba kromě příspěvků v diskusi) napsat svůj vlastní článek a pošlete-li ho do redakce. Kvalitní texty rádi uveřejníme a odměníme honorářem.