Transportní vrstva
Transportní vrstva je v informatice název čtvrté vrstvy modelu vrstvové síťové architektury (OSI). V originále se nazývá transport layer. Umožňuje adresovat přímo aplikace (například v protokolech TCP/IP pomocí čísel portů). Poskytuje transparentní, spolehlivý přenos dat s požadovanou kvalitou. Vyrovnává různé vlastnosti a kvalitu přenosových sítí. Provádí převod transportních adres na síťové, ale nestará se o směrování.
Analýza
Transportní vrstva se stará o doručení dat k příslušnému aplikačnímu procesu na hostitelském počítači. Jedná se o statistické multiplexování dat z různých aplikačních procesů, což je například vytváření packetů dat a přidávání zdrojových a cílových čísel portů do hlavičky každého packetu, pocházejícího z transportní vrstvy. Společně se zdrojovou adresou, cílovou adresou a čísly portů tvoří síťový socket, což je identifikační adresa komunikace mezi procesy. V modelu OSI je tato funkce podporována Relační vrstvou.
Některé protokoly transportní vrstvy, jako například TCP, nebo UDP, podporují virtuální okruhy, jako je poskytování spojované komunikace přes základní packetově orientovanou síť datagramu. Bytový proud dat je doručován, zatímco uchovává packetovou komunikaci pro aplikační procesy. Zde patří navázání spojení, rozdělení informací z proudu dat do jednotlivých packetů, nazývaných segmenty, číslování segmentů a přeorganizování „neseřazených“ (out-of-order) dat.
Některé protokoly transportních vrstev, jako například TCP nebo UDP, poskytují spolehlivou koncovou (end-to-end) komunikaci, což je například detekce a oprava chyb a zpětná vazba s automatickým opakováním (ARQ protokol). Tento ARQ protokol také poskytuje kontrolu toku dat (flow control), která může být zkombinována s metodou pro vyvarování se zahlcenosti sítě.
UDP je velmi jednoduchý protokol a nepodporuje virtuální okruhy, ani spolehlivou komunikaci a tak musí delegovat aplikační programy pro obstarávání těchto funkcí. UDP packety se spíše než segmenty nazývají datagramy.
TCP se používá pro mnoho protokolů, včetně HTTP pro prohlížení internetu a posílání emailů. UDP je možno používat pro multicasting (zasílání dat více než jednomu síťovému připojení) a broadcasting (zasílání dat všem síťovým připojením v dané síti), poněvadž opakované přenosy nejsou možné pro velké množství hostů. UDP typicky poskytuje vyšší propustnost a kratší odezvu a proto je často používán pro přenos multimédií v reálném čase, kde občasná ztráta packetů může být akceptována, jako například pro IPTV a IP telefony, nebo pro některé online hry.
V mnoha sítích, které nejsou založeny na IP protokolech, například X.25, Frame Relay a ATM (Asynchronous Transfer Mode), je jejich orientované připojení realizováno spíše na síťové nebo na linkové (spojové) vrstvě, než na vrstvě transportní. V X.25, v modemové telefonní síti a v bezdrátových komunikačních systémech jsou spolehlivé komunikace uzel–uzel implementována na nižších vrstvách protokolu.
Specifikace propojovacího protokolu transportní vrstvy OSI definuje pět tříd transportních protokolů: počínaje TP0, poskytující minimální obnovu při chybě, až po TP4, která je speciálně navržena pro méně spolehlivé sítě.
Příklady
Porovnání protokolů transportní vrstvy
Protokol | UDP | UDP Lite | TCP | Multipath TCP | SCTP | DCCP | RUDP |
---|---|---|---|---|---|---|---|
Velikost hlavičky paketu | 8 bytů | 8 bytů | 20–60 bytů | 50–90 bytů | 12 bytů | 12 or 16 bytů | |
Název paketu transportní vrstvy | Datagram | Datagram | Segment | Segment | Datagram | Datagram | Datagram |
Spojovaný | |||||||
Spolehlivý transport | |||||||
Nespolehlivý transport | |||||||
Zachovává hranic zpráv | |||||||
Zachovává pořadí zpráv | |||||||
Nezachovává pořadí zpráv | |||||||
Kontrolní součet pro data | Volitelný | Volitelný | |||||
Délka kontrolního součtu (bitů) | 16 | 16 | 16 | 16 | 32 | 16 | 16 |
Částečný kontrolní součet | |||||||
Path MTU | ? | ||||||
Řízení toku dat | |||||||
Řízení zahlcení | ? | ||||||
Explicitní oznamování zahlcení | |||||||
Více datových proudů | |||||||
Multihoming | |||||||
Bundling / Nagleho algoritmus | ? |
Porovnání transportních protokolů OSI
ISO/IEC 8073/ITU-T doporučení X.224[1], definuje pět tříd spojovaných protokolů transportní vrstvy označovaných jako transportní protokol třídy 0 (TP0) až 4 (TP4). TP0 neprovádí žádnou opravu chyb, a byl navržen pro použití nad síťovou vrstvou, která poskytuje bezchybná spojení. TP4 se nejvíce podobá TCP, i když TCP obsahuje funkce jako nenásilné zavření spojení, které OSI řadí do relační vrstvy. Všechny třídy spojovaných protokolů OSI poskytují přednostní přenos dat a zachovávají hranice záznamů. Detailní charakteristiky tříd jsou přehledně uvedeny v následující tabulce:
Služba | TP0 | TP1 | TP2 | TP3 | TP4 |
---|---|---|---|---|---|
Spojované služby síťové vrstvy | |||||
Nespojované služby síťové vrstvy | |||||
Sřetězování a rozdělování | |||||
Segmentace a skládání segmentů | |||||
Oprava chyb | |||||
Znovunavázání spojení (při velkém množství nepotvrzených PDU) | |||||
Multiplexování a demultiplexování jediným virtuálním okruhem | |||||
Explicitní řízení toku dat | |||||
Opakované vysílání při prodlevě | |||||
Spolehlivá transportní služba |
OSI definuje i nespojovaný transportní protokol, specifikovaný standardem ISO/IEC 8602 a ITU-T doporučením X.234[2].
Reference
- ITU-T doporučení X.224 (11/1995) ISO/IEC 8073 [online]. Dostupné online.
- ITU-T doporučení X.234 (07/1994) ISO/IEC 8602 [online]. Dostupné online.