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

ProtokolUDPUDP LiteTCPMultipath TCPSCTPDCCPRUDP
Velikost hlavičky paketu8 bytů8 bytů20–60 bytů50–90 bytů12 bytů12 or 16 bytů
Název paketu transportní vrstvyDatagramDatagramSegmentSegmentDatagramDatagramDatagram
SpojovanýNeNeNeNeAnoAnoAnoAnoAnoAnoAnoAnoAnoAno
Spolehlivý transportNeNeNeNeAnoAnoAnoAnoAnoAnoNeNeAnoAno
Nespolehlivý transportAnoAnoAnoAnoNeNeNeNeAnoAnoAnoAnoAnoAno
Zachovává hranic zprávAnoAnoAnoAnoNeNeNeNeAnoAnoAnoAnoAnoAno
Zachovává pořadí zprávNeNeNeNeAnoAnoAnoAnoAnoAnoNeNeAnoAno
Nezachovává pořadí zprávAnoAnoAnoAnoNeNeNeNeAnoAnoAnoAnoAnoAno
Kontrolní součet pro dataVolitelnýNeNeAnoAnoAnoAnoAnoAnoAnoAnoVolitelný
Délka kontrolního součtu (bitů)16161616321616
Částečný kontrolní součetNeNeAnoAnoNeNeNeNeNeNeAnoAnoNeNe
Path MTUNeNeNeNeAnoAnoAnoAnoAnoAnoAnoAno?
Řízení toku datNeNeNeNeAnoAnoAnoAnoAnoAnoNeNeAnoAno
Řízení zahlceníNeNeNeNeAnoAnoAnoAnoAnoAnoAnoAno?
Explicitní oznamování zahlceníNeNeNeNeAnoAnoAnoAnoAnoAnoAnoAno
Více datových proudůNeNeNeNeNeNeAnoAnoAnoAnoNeNeNeNe
MultihomingNeNeNeNeNeNeAnoAnoAnoAnoNeNeNeNe
Bundling / Nagleho algoritmusNeNeNeNeAnoAnoAnoAnoAnoAnoNeNe?

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žbaTP0TP1TP2TP3TP4
Spojované služby síťové vrstvyAnoAnoAnoAnoAnoAnoAnoAnoAnoAno
Nespojované služby síťové vrstvyNeNeNeNeNeNeNeNeAnoAno
Sřetězování a rozdělováníNeNeAnoAnoAnoAnoAnoAnoAnoAno
Segmentace a skládání segmentůAnoAnoAnoAnoAnoAnoAnoAnoAnoAno
Oprava chybNeNeAnoAnoNeNeAnoAnoAnoAno
Znovunavázání spojení (při velkém množství nepotvrzených PDU)NeNeAnoAnoNeNeAnoAnoNeNe
Multiplexování a demultiplexování jediným virtuálním okruhemNeNeNeNeAnoAnoAnoAnoAnoAno
Explicitní řízení toku datNeNeNeNeAnoAnoAnoAnoAnoAno
Opakované vysílání při prodlevěNeNeNeNeNeNeNeNeAnoAno
Spolehlivá transportní službaNeNeAnoAnoNeNeAnoAnoAnoAno

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

Reference

  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. 

Média použitá na této stránce

Symbol confirmed.svg
A green check symbol.
Symbol delete vote darkened.svg
cancel symbol dark red