Vyšlo v měsíčníku Click, č. 4/2006
Vytištěno z adresy: http://www.earchiv.cz/b06/b0401003.php3

Jak funguje VOIP?

Voice over IP je dnes nejpoužívanější ze všech technologií přenosu hlasu nad datovými sítěmi. Může však být implementována různými způsoby, a tak se dnešní služby internetové telefonie (či: IP telefonie) v mnoha aspektech liší. Existují takové, které jsou ryze proprietární (jako třeba oblíbená služba Skype). Nebo naopak takové, která vychází z platných standardů - buď staršího a již přežitého standardu H.323, nebo novějšího a perspektivního standardu SIP. Ale jak vlastně vše funguje?

PSTN, POTS, aneb stará dobrá telefonní síť

Hlas se v tradičním světě spojů a telekomunikací přenášel a stále přenáší skrze sítě, které byly vybudovány právě pro tento účel. Dodnes se jim v angličtině říká POTS, což je zkratka od Plain Old Telephone System (tedy něco jako "stará dobrá telefonní síť"). Někdy se ale používá také zkratka PSTN, opět z anglického Public Switched Telephone Network. To proto, že jde o síť fungující na principu přepojování okruhů (anglicky: circuit switching). Bez zabíhání do větších detailů si způsob jejich fungování můžeme přirovnat k vytvoření jakési "roury" mezi oběma komunikujícími stranami, skrze kterou prochází jejich vzájemný hovor. A tady už je celkem jedno, jestli jde o analogový přenos (u analogové telefonní sítě), nebo digitální (u digitální telefonní sítě). Podstatné je, že "roura" má všude stejný "průměr" (přenosovou kapacitu) a je trvale vyhrazena oběma komunikujícím stranám. Takže i kvalita přenosu by měla být stále stejná a garantovaná.

Méně příjemným důsledkem je ale to, že vytvoření takovéto "roury" spotřebovává určité zdroje telefonní sítě (přenosovou kapacitu), a její provozovatel si za to nechává patřičně zaplatit - bez ohledu na to, zda jsou přenosové schopnosti této roury skutečně využívány či nikoli. Takže volající pak platí typicky podle provolaných minut, bez ohledu na to, zda do telefonu mlčel nebo naopak něco intenzivně povídal.

Dalším nepříjemným důsledkem je to, že telefonní síť musela být dimenzována "na maximum" - s ohledem na maximální počet hovorů, které by mohly probíhat současně, a s plnou přenosovou kapacitou na každý jednotlivý hovor, bez ohledu na to, zda bude skutečně využita. Právě kvůli tomu je telefonní síť velmi nákladná, a její provoz a údržba nesmírně drahé. Když si k tomu ještě připočítáme tradiční neefektivnost tzv. inkumbentů (dříve monopolních, nyní jen dominantních) operátorů, můžeme si domyslet, proč jsou služby tradičního světa telefonie tak drahé - nejen měsíční paušály za samotnou existenci telefonní linky, ale i minutové hovorné.

Proč může být "jiné telefonování" lacinější?

Zásadní odlišností "nových" hlasových služeb oproti klasické telefonii je to, že se snaží přenášet hlas po takové síti, která byla původně určena pro jiné účely - a tak také funguje jiným způsobem. Nikoli na principu přepojování okruhů (s "rourami", viz výše), ale na principu tzv. přepojování paketů (anglicky: packet switching).

Podstata je v tom, že data, představující lidský hlas v digitální podobě, se již nemohou přenášet jako souvislý proud (skrze "rouru"). Místo toho se musí vhodně "naporcovat a zabalit" do bloků, kterým se říká právě pakety (packets), a teprve tyto pakety se pak přenáší, skrze datovou síť fungující na principu přepojování paketů.

Důsledky jsou zásadní. V sítí s přepojováním paketů nemusí být nic dopředu vyhrazeno. Takže když se v rámci konkrétního hovoru nic nepřenáší, ani se nespotřebovává žádná přenosová kapacita ani jiné zdroje datové sítě. Díky tomu může být celá přenosová část dimenzována nikoli "na maximum", jako síť telefonní, ale "na průměr". A to má zásadní vliv na náklady na takovouto síť, které jsou významně nižší. Právě díky tomu mohou být takovéto hlasové služby lacinější, než hlasové služby klasické telefonní sítě.

VoD, aneb: přenos hlasu po datových sítích

Nyní malá poznámka k terminologii: datových sítí, fungujících na principu přepojování paketů, je řada různých druhů. Proto je asi správné hovořit obecně o technikám VoD (Voice over Data), v souvislosti s přenosem lidského hlasu po těchto sítích. V praxi se někdy používají i další zkratky, které se snaží poněkud blíže určit, o jaký druh sítě jde. Například:

  • VoWLAN: přenos hlasu nad bezdrátovými sítěmi (WLAN)
  • VoATM: přenos hlasu nad sítěmi ATM (Asynchronous Transfer Mode)
  • VoFR: přenos hlasu nad sítěmi Frame Relay

VOIP, aneb: Voice over IP

Samotný fakt, že lidský hlas je (v digitální podobě) přenášen přes datovou síť, fungující na principu přepojování paketů, ještě neříká jakým způsobem se tak děje. Zejména neříká nic o tom, jaký konkrétní přenosový protokol je za tímto účelem v datové síti využit. No a právě vlastnosti a schopnosti tohoto protokolu pak do značné míry ovlivňují i výslednou kvalitu přenášeného hovoru.

V dnešní době výrazně převažuje využití jednoho konkrétního přenosového protokolu, a to protokolu IP (Internet Protocol) v rodiny protokolů TCP/IP. Právě tento protokol je tím, který se pro přenos dat (na úrovni síťové vrstvy) používá v dnešním celosvětovém Internetu, ale i mimo něj.

Výhodou protokolu IP je to, že právě díky Internetu jeho obliba narostla natolik, že byl implementován snad úplně všude. Jinými slovy: dnes je možné jej provozovat nad jakoukoli datovou sítí. Ne nadarmo se v této souvislosti používá výstižný slogan: IP over Everything (IP nad vším). Důsledky pociťují uživatelé po celém světě dnes a denně: mohou s připojit k Internetu prakticky jakýmkoli způsobem (pomocí jakékoli technologie, resp. datové přípojky - od dial-upu, přes ADSL, kabel, Wi-Fi, WiMAX, až třeba po optiku). Na všech těchto přípojkách jim protokol IP poběží, a sním i všechno to, co Internet nabízí.

Popularita protokolu IP samozřejmě neskončila tím, že je možné jej provozovat nad čímkoli (jak naznačuje slogan IP over Everything). Pokračovala i tím, že prakticky jakákoli aplikace a služba byla přizpůsobena tomu, aby mohla být provozována nad protokolem IP. Vlastně se tím naplnil i "opačný" slogan: Everything over IP.

No a jednou z takovýchto aplikací, resp. služeb, je přenos hlasu, pro potřeby telefonování. Proto také zkratka VOIP, z anglického Voice over IP. Jiným příkladem může být třeba IPTV (TV over IP).

(VO)IP over Everything

Povšimněte si dobře jednoho významného aspektu: VOIP skutečně znamená právě a pouze to, že s někde přenáší (digitalizovaný) lidský hlas po protokolu IP. Už se neříká nic o tom, nad čím (v jaké datové síti) je tento protokol provozován. Někdy se proto používá obecnější termín IP síť.

Když si to zkombinujeme s tím, co reprezentuje slogan IP over Everything, ihned nám z toho vyplyne jeden báječný závěr: VOIP je možné používat všude, kde běží protokol IP, bez ohledu na to, jakou používáme přípojku!

Takže je v zásadě jedno, zda máme bezdrátovou přípojku, ADSL, kabel nebo nějaké jiné připojení. Všude by VOIP měl fungovat. Pozor ale na to, že v praxi ještě záleží na kvalitě a parametrech naší přípojky. Některé mohou být příliš pomalé, či příliš nekvalitní na to, aby se na nich dalo rozumně telefonovat.

VOIP, IP telefonie, internetová telefonie

Než se pustíme do otázky kvality a parametrů, zdůrazněme si zásadní rozdíl mezi tím, co je VOIP, a čemu se říká internetová telefonie, či IP telefonie. Tak tedy:

  • VOIP je technologie: chcete-li, je to technická záležitost, říkající jak něco realizovat (konkrétně přenos hlasu po IP). Už nutně neříká, k čemu a jak se to využívá, resp. jaký efekt (užitek) z toho je. Kromě telefonování by se technologie VOIP daly využít například pro jednosměrné šíření mluveného slova na principu rozhlasového vysílání (pro hudbu už s eale moc nehodí, protože je VOIP je optimalizován pro lidský hlas).
  • IP telefonie je služba: je to telefonování, a to taková jeho varianta, která ke své realizaci využívá protokol IP (a tím i technologie VOIP). Neříká nic o tom, zda je tento protokol přenášen v nějaké uzavřené privátní síti (a pak jde o telefonování "po" nějaké uzavřené privátní síti), či třeba po kabelové přípojce (ještě než tato vyústí do veřejného Internetu), nebo zda je tento protokol provozován po veřejném Internetu (tj. zda jde o telefonování "po Internetu").
  • internetová telefonie je také službou: opět jde o službu charakteru telefonování, která k přenosu hlasu (v datové podobě) využívá veřejný Internet. Použitá technologie by obecně mohla být jakákoli, ale v praxi jde snad vždy o VOIP.

V praxi a v běžné mluvě se rozdíl mezi VOIP a internetovou telefonií ztrácí, a tyto dva termíny s pomalu stávají synonymy. Nezapomínejme ale na to, že tomu tak není, a že to jsou skutečně dvě principiálně odlišné věci. Jeden termín (VOIP) označuje technologii, přesněji skupinu technologií, druhý konkrétní službu (telefonování "po Internetu").

Latence a jitter

Protokol IP, používaný pro potřeby IP telefonie a internetové telefonie, bohužel nemá jen samé přednosti. Za ně totiž také něčím platí, a právě to se na přenosu lidského hlasu projevuje.

Jde o způsob fungování protokolu IP, označovanou jako "best effort". Český by se to dalo přeložit jako fungování na principu maximální snahy, ale nezaručeného výsledku. Právě onen dovětek je klíčový: protokol IP dělá vše pro to, aby všechny pakety přenesl tak jak by přeneseny být měly. Jenže když to nejde - například když se mu nedostává přenosové kapacity - musí začít jednotlivé požadavky na přenos paketů krátit. A tady je důležité, že při tomto krácení nebere na nikoho větší či menší ohled, a krátí všem přenosům rovnoměrně! To samé platí i pro rychlost zpracování - tady také protokol IP nerozlišuje, o jaký přenos jde, a nikomu nedává přednost. Stejně tak se nezabývá tím, když s nějaký paket po cestě poškodí či úplně ztratí. Protokol IP jej jednoduše zahodí a pokračuje dál.

Zajímavé je, že za svůj velký úspěch v praxi vděčí protokol IP do značné míry právě těmto svým vlastnostem - tomu, že se plně soustřeďuje na svůj "hlavní úkol" (přenos datových paketů), a nezdržuje se takovými "podružnostmi", jako zkoumáním kdo by měl mít přednost, či nápravou při poškození nebo ztrátě nějakého paketu. Pro "typické počítačové" aplikace a služby to celkem vyhovuje, ale potřebám VOIP to už vyhovuje méně.

Techniky VOIP, resp. přenos hlasu po datové síti, jsou obecně dosti citlivé na tzv. latenci (celkové přenosové zpoždění) a tzv. jitter (pravidelnost doručování, přesněji: rozptyl latence). Tím, že nedokáže rozlišovat mezi různými druhy přenosu, a všechny "háže do jednoho pytle" (se všemi nakládá stejně), protokol IP nedokáže vyjít technikám VOIP vstříc natolik, aby jim dokázal garantovat dostatečně malou latenci a malý jiter. Naštěstí ale to není překážka fatální, která by zcela bránila využití technologií VOIP.

Přenos hlasu, realizovaný technikami VOIP, naštěstí vykazuje určitou odolnost vůči nedostatkům při přenosech. Například není moc citlivý na eventuelní výpadky a ztráty některých svých dat (samozřejmě pokud jich není mnoho). Dokáže totiž nějak aproximovat (doplnit si, odhadnout) ta data, o která přišel. A lidské ucho mu v tom vychází vstříc v tom, že to ani nemusí postřehnout. Nebo ano, ale hovor i nadále zůstává srozumitelný.

Horší je to s rychlostí doručování (latencí) a pravidelností doručování (jitter-em). Tady už má VOIP přísnější požadavky. Například pro "byznys" kvalitu přenosu vyžaduje celkovou latenci do 200 miliskeund (přibližně) . Při vyšší latenci už začíná být při telefonickém rozhovoru patrné zpoždění. Když latence naroste někam k 500 milisekundám, stává se telefonování problematické - lidem se kvůli zpoždění zdá, že protistrana je neslyšela (když nereaguje), a mají tendenci začít se opakovat a skákat si do řeči.

Kvalita linky

Jak se ale uvedené požadavky technologií VOIP promítají do nároků na konkrétní přípojku? Jak má zájemce o internetovou telefonii posoudit, zda jeho přípojka bude či nebude vhodná?

Na to bohužel není lehká odpověď. Kromě obecnějších požadavků na latenci a jitter, citovaných výše, totiž sehrává svou roli také řada dalších faktorů. Zejména:

  • použitý kodek: tedy použitý způsob digitalizace (převodu analogového hlasu na digitální data). Na vlastnostech kodeku závisí objem dat, které je třeba přenést, i požadavky na pravidelnost doručování těchto dat
  • konkrétní technické řešení (konkrétní technologie VOIP): jiné požadavky mohou mít proprietární řešení , jiné řešení postavená na standardech (jako je H.323 či SIP).
  • způsob využití datové přípojky: zda je souběžně využívána i dalšími uživateli (a pak v jaké míře, neboli s jakým stupněm agregace), i samotným volajícím (který může po stejné datové přípojce zrovna generovat i jiný druh provozu, například právě něco stahovat z Internetu).

Bohužel tedy nejde dát jednoznačný návod na to, která internetová přípojka "bude stačit" pro telefonování po Internetu, a která nikoli. Už jen proto, že kromě technických faktorů se zde uplatňuje i subjektivní pohled na to, co ještě je únosná a postačující kvalita hovoru, a co nikoli.

V praxi nemusí postačovat ani megabitová linka (třeba kvůli tomu, že po ní sám uživatel právě něco intenzivně stahuje). Naopak může plně postačovat i relativně pomalá linka (64 kbit/s), pokud není právě zatěžována jinými přenosy. S notnou dávkou opatrnosti, a s vědomím širších souvislostí, tedy můžeme vzít za jakousi spodní hranici oněch 64 kbit/s. Ovšem s důležitým dovětkem, že to platí pro oba směry přenosu. Pro dnešní asymetrické přípojky (s různou rychlostí v obou směrech) tedy hlavně pro ten pomalejší směr.

Prakticky vyloučit lze datové přípojky v mobilních sítích GSM, včetně GPRS a EDGE, a také satelitní připojení (vše kvůli vysoké latenci). Opatrnost je na místě například u Wi-Fi (hodně záleží na skutečně dosahovaných parametrech). Někdy lze s úspěchem používat internetovou telefonii i po internetovém dial-upu.

Zájemcům, kteří o internetové telefonii zatím jen uvažují, však raději doporučím něco jiného, než obecné poučky:

  • někteří poskytovatelé služeb na bázi VOIP vám zdarma nabízí testovací program, prostřednictvím kterého si můžete otestovat, zda vaše internetová přípojka je či není vhodná pro koncertní nabízenou službu.
  • nechte si svou přípojku vyzkoušet od někoho, kdo už internetovou telefonii využívá. Třeba ať vám půjčí svůj IP telefon (viz dále), a sami si zkuste kvalitu hovorů v různou denní i noční dobu. Nezapomínejte totiž, že obecně záleží i na tom, jak vaši sdílenou přípojku využívají i ostatní uživatelé.

Jeden z programů pro test vaší přípojky najdete u služby Fayn, na adrese www.fayn.cz

Pro úplnost se ještě zmiňme i o tom, že problémy s negarantovaným chováním protokolu IP vůči VOIP by bylo možné řešit také jeho úpravami. Konkrétně na principu prioritizace (zavádění priorit pro různé druhy provozu), či rezervace (vyhrazením určitým zdrojů, hlavně kapacity), pro potřeby hlasových přenosů. Jenže to je řešení, které je schůdné (nikoli moc laciné a snadné) jen v privátních sítích, například firemních. Ve veřejném Internetu, a zejména pak pro domácí uživatele, na něj můžeme rovnou zapomenout.

Kodeky

Jedním z faktorů, který ovlivňuje požadavky na kvalitu linky (internetové přípojky), a zejména pak na její propustnost, je použitý kodek.

Termín "kodek" (vzniklý ze spojení "kodér-dekodér"), označuje obecně to, co zajišťuje konverzi mezi analogovou podobou lidského hlasu, nasnímanou (analogovým) mikrofonem, a digitální podobou, přenášenou skrze datovou síť. Na "opačné straně" pak kodek zajišťuje opačnou konverzi, z digitálního do analogového tvaru (pro potřeby reprodukce hlasu).

Jde tedy v jistém smyslu o protipól modemu (vzniklého jako zkratka z "modulátor-demodulátor", což je zařízení které převádí digitální data na analogový signál, pro potřeby jejich přenosu po (analogové) přenosové cestě (například po analogové telefonní lince), a na druhé straně je zase "vrací zpět" do původní digitální podoby. Kodek dělá opak: analogový signál převádí do digitální podoby, pro potřeby jeho přenosu v datové podobě po datové síti.

Představa modemu a kodeku

Dalším zajímavým rozdílem mezi kodekem a modemem je to, že modem je typicky hardwarové zařízení, zatímco kodek je řešen nejčastěji softwarově (i když může využívat speciální hardwarové obvody). V praxi si pak uživatelé mohou vybírat mezi různými kodeky, a to nejen pro potřeby internetové telefonie. Nejčastěji však spíše ponechávají použité kodeky na nastavení svých zařízení, nebo na tom, jaké kodeky si mezi sebou tato zařízení dohodnou, v závislosti na zjištěné kvalitě linky.

Důležité ovšem je, že na druhu použitého kodeku závisí objem dat, které musí být přeneseny mezi oběma účastníky telefonního hovoru, skrze datovou síť, resp. přenosová rychlost (objem dat za jednotku času). V praxi se generovaný objem dat na jeden hovor může pohybovat od méně jak 10 kbit/s, až po desítky kbit/s. Důležité ovšem je, že to není vše, protože kromě tohoto objemu je třeba přenášet také různá další režijní data. Takže celková zátěž na přenosovou linku může být i výrazněji vyšší, než kolik generuje příslušný kodek.