Prezentační vrstva

Prezentační vrstva (anglicky presentation layer) je v informatice název šesté vrstvy síťové architektury referenčního modelu ISO/OSI. Úkolem vrstvy je transformovat data do tvaru, které používají aplikace.

Charakteristika

Prezentační vrstva je zodpovědná za dodávku a formátování informací aplikační vrstvě pro další zpracování nebo zobrazení. To zbavuje aplikační vrstvu problému ohledně syntaktických rozdílů v reprezentaci dat v koncových systémech. Příkladem prezentační služby je převod kódů a abeced textového souboru (například kódování EBCDIC do kódovaného ASCII) nebo modifikace grafického uspořádání, přizpůsobení pořadí bajtů apod. Vrstva se zabývá jen strukturou dat, ale ne jejich významem, který je znám jen vrstvě aplikační.

Formát dat prezentační vrstvy (tj. datové struktury) se může lišit na obou komunikujících systémech. Navíc dochází k transformaci pro účel přenosu dat nižšími vrstvami.

Prezentační vrstva je nejnižší vrstvou, při které programátoři musejí vzít v úvahu prezentaci a strukturu dat, namísto jednoduchého odeslání dat ve formě datagramů či paketů mezi počítači. Tato vrstva se zabývá problematikou reprezentace řetězce ať už používá metodu Pascal (číslo - délka řetězce, následované řetězcem) nebo metodu C / C++ (konec řetězce označen pomocí \0). Myšlenka je, že aplikační vrstva by měla být schopna ukázat na údaje, které mají být přesunuta a prezentační vrstva bude jednat s ostatními vrstvami.

Serializace složitých datových struktur do jednorozměrného řetězce (pomocí mechanizmů, jako je TLV nebo XML) je klíčovou funkcí prezentační vrstvy.

Šifrování se obvykle provádí na této vrstvě i když může být provedeno na aplikační, relační i transportní vrstvě z nichž každá má své výhody i nevýhody. Dešifrování je také záležitostí prezentační vrstvy. Například šifrování spojení, které využíváte pro komunikaci s bankou prostřednictvím internetového bankovnictví obstarává prezentační vrstva.

Dalším příkladem je struktura která je definována na této úrovni, často pomocí XML. Stejně jako jednoduché kousky dat jsou struktury a složitější věci normalizovány na této vrstvě. Dva běžné příklady jsou objekty v objektově orientovaném programování a přesný způsob přenosu streamovaného videa.

V mnoha běžně používaných aplikacích a protokolech se nerozlišuje mezi prezentační a aplikační vrstvou. Například HyperText Transfer Protokol (HTTP), protokol, který je obecně považován za protokol aplikační vrstvy nese prvky prezentační vrstvy, jako je například schopnost identifikovat znakové kódování pro správnou konverzi, kterou následně provádí v aplikační vrstvě.

V rámci vrstvení služeb architektury sítě OSI prezentační vrstva reaguje na žádosti od aplikační vrstvy a vydává požadavky relační vrstvě.

V modelu OSI prezentační vrstva zajišťuje informaci, že aplikační vrstva jednoho systému odesílá data čitelná aplikační vrstvou jiného systému. Například počítačový program komunikuje s jiným počítačem, jeden pomocí EBCDIC a druhý pomocí ASCII. Pokud je to nutné, prezentační vrstva by měla být schopna překládat mezi více datovými formáty pomocí společného formátu.

Příklady