Přeskočit na obsah

Transportní vrstva

Z Wikipedie, otevřené encyklopedie

Transportní neboli přenosová 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í.

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

[editovat | editovat zdroj]

Porovnání protokolů transportní vrstvy

[editovat | editovat zdroj]
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ý NeNe NeNe AnoAno AnoAno AnoAno AnoAno AnoAno
Spolehlivý transport NeNe NeNe AnoAno AnoAno AnoAno NeNe AnoAno
Nespolehlivý transport AnoAno AnoAno NeNe NeNe AnoAno AnoAno AnoAno
Zachovává hranic zpráv AnoAno AnoAno NeNe NeNe AnoAno AnoAno AnoAno
Zachovává pořadí zpráv NeNe NeNe AnoAno AnoAno AnoAno NeNe AnoAno
Nezachovává pořadí zpráv AnoAno AnoAno NeNe NeNe AnoAno AnoAno AnoAno
Kontrolní součet pro data Volitelný NeNe AnoAno AnoAno AnoAno AnoAno Volitelný
Délka kontrolního součtu (bitů) 16 16 16 16 32 16 16
Částečný kontrolní součet NeNe AnoAno NeNe NeNe NeNe AnoAno NeNe
Path MTU NeNe NeNe AnoAno AnoAno AnoAno AnoAno ?
Řízení toku dat NeNe NeNe AnoAno AnoAno AnoAno NeNe AnoAno
Řízení zahlcení NeNe NeNe AnoAno AnoAno AnoAno AnoAno ?
Explicitní oznamování zahlcení NeNe NeNe AnoAno AnoAno AnoAno AnoAno
Více datových proudů NeNe NeNe NeNe AnoAno AnoAno NeNe NeNe
Multihoming NeNe NeNe NeNe AnoAno AnoAno NeNe NeNe
Bundling / Nagleho algoritmus NeNe NeNe AnoAno AnoAno AnoAno NeNe ?

Porovnání transportních protokolů OSI

[editovat | editovat zdroj]

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 AnoAno AnoAno AnoAno AnoAno AnoAno
Nespojované služby síťové vrstvy NeNe NeNe NeNe NeNe AnoAno
Sřetězování a rozdělování NeNe AnoAno AnoAno AnoAno AnoAno
Segmentace a skládání segmentů AnoAno AnoAno AnoAno AnoAno AnoAno
Oprava chyb NeNe AnoAno NeNe AnoAno AnoAno
Znovunavázání spojení (při velkém množství nepotvrzených PDU) NeNe AnoAno NeNe AnoAno NeNe
Multiplexování a demultiplexování jediným virtuálním okruhem NeNe NeNe AnoAno AnoAno AnoAno
Explicitní řízení toku dat NeNe NeNe AnoAno AnoAno AnoAno
Opakované vysílání při prodlevě NeNe NeNe NeNe NeNe AnoAno
Spolehlivá transportní služba NeNe AnoAno NeNe AnoAno AnoAno

OSI definuje i nespojovaný transportní protokol, specifikovaný standardem ISO/IEC 8602 a ITU-T doporučením X.234[2].

  1. ITU-T doporučení X.224 (11/1995) ISO/IEC 8073 [online]. Dostupné online. 
  2. ITU-T doporučení X.234 (07/1994) ISO/IEC 8602 [online]. Dostupné online.