Transportní vrstva
Hlavním úkolem transportní vrstvy referenčního modelu ISO/OSI je poskytovat efektivní přenosové služby své bezprostředně vyšší (tj. relační) vrstvě. Tyto služby přitom mohou mít spojovaný (connection-oriented) i nespojovaný (connectionless) charakter. Stejný charakter a stejnou podstatu však mají i služby síťové vrstvy, které transportní vrstva sama využívá. Do značné míry analogické jsou v obou vrstvách i mechanismy adresování a řízení toku dat. Zákonitě se pak nabízí otázka, proč je vlastně nutná samostatná transportní vrstva, když alespoň na první pohled nenabízí nic principiálně jiného, než vrstva síťová?
K čemu slouží transportní vrstva?
Transportní vrstva je tedy v referenčním modelu ISO/OSI především proto, aby vyšším vrstvám poskytovala kvalitnější přenosové služby, než jaké ve skutečnosti dokáže poskytovat vrstva síťová. Současně s tím pak může uživatele resp. vyšší vrstvy odstiňovat od konkrétních specifik používané komunikační podsítě, od její přenosové technologie, a především pak od všech nedokonalostí podsítě. Transportní vrstva je tedy vlastně rozhraním mezi poskytovateli přenosových služeb (komunikační podsítí) a jejich uživateli (nejvyššími třemi vrstvami). Je také "poslední instancí", která může změnit nespojovaný charakter poskytované přenosové služby na spojovaný a naopak. To je možné udělat také na úrovni síťové vrstvy (jak jsme si naznačili ve 33. dílu našeho seriálu), nikoli však již na úrovni vyšších vrstev, které jsou uživateli těchto služeb (viz též obrázek 35.2.)
Síťové vs. transportní spojení
Může však nastat i opačný případ. Pokud je zapotřebí vytvořit více transportních spojení s relativně malými nároky na přenosovou kapacitu, může být vždy několik z nich realizováno prostřednictvím jediného síťového spojení. Takováto potřeba nastává např. při použití více terminálů, z nichž každý vyžaduje samostatné transportní spojení se vzdálených počítačem. Jsou-li ale tyto terminály používány spíše příležitostně a jsou-li fyzicky blízko sebe, může být dosti neekonomické zřizovat pro každý z nich samostatné síťové spojení. Potřebné přepínání (multiplexování) jednoho sdíleného síťového spojení mezi více transportních spojení pak zajišťuje opět transportní vrstva.
Kvalita služeb síťové vrstvy
Pro transportní vrstvu je velmi podstatné, jakou kvalitu může předpokládat u služeb, které jí poskytuje síťová vrstva. Této kvalitě pak musí být přizpůsobeny přenosové protokoly transportní vrstvy, mají-li vyšší vrstvy odstiňovat od všech specifik a nedokonalostí komunikační podsítě resp. síťové vrstvy.
Služby síťové vrstvy se v této souvislosti rozdělují na tři kategorie - viz tabulka 35.3. Do kategorie A patří síťové služby, které ztrácí či přenáší s chybou jen zcela zanedbatelné procento paketů, a u kterých prakticky nedochází k výpadkům již jednou navázaných spojení. Takovéto síťové služby lze považovat za (téměř) dokonalé, a transportní vrstva pak má při jejich použití nejméně práce. Kvality kategorie A dosahují síťové služby některých lokálních sítí, zatímco v případě rozlehlých sítí je kategorie A vzácnější než šafrán.
Kategorie | Vlastnosti |
A | bez chyb při přenosu paketů a bez výpadků spojení |
B | bez chyb při přenosu paketů, s výpadky spojení |
C | s chybami při přenosu paketů, s výpadky spojení |
Do kategorie C pak patří všechny ostatní síťové služby. Transportní vrstva je musí považovat za nespolehlivé, a potřebnou spolehlivost zajistit sama. Protokoly transportní vrstvy, které musí využívat služby této kategorie, jsou pak samozřejmě nesložitější a nejkomplikovanější.
Třídy transportních protokolů
Referenční model ISO/OSI se vyrovnává s odlišnou kvalitou služeb na úrovni síťové vrstvy zavedení pěti různých tříd přenosových protokolů na úrovni transportní vrstvy (transportních protokolů) - viz tabulka 35.4.
- Do třídy 0 (TP0, Transport Protocol class 0) patří
transportní protokoly, které využívají síťové služby
kategorie A. Jsou jednoduchou "obálkou" nad příslušnými
síťovými protokoly, a navíc zajišťují prakticky jen nezbytné
navazování a rušení transportních spojení.
- Třída 1 (TP1) předpokládá použití síťových služeb
kategorie B, a musí se tedy umět vyrovnat s případnými
výpadky spojení na úrovni síťové vrstvy.
- Třída 2 (TP2) předpokládá opět použití síťových služeb
kategorie A, tedy takových, které může považovat za
dostatečně spolehlivé - stejně jako v případě třídy 0.
Transportní protokoly třídy 2 jsou však navíc schopné
zajistit potřebné multiplexování jednoho síťového spojení
mezi více spojení transportních (viz výše).
- Třída 3 (TP3) je kombinací tříd 1 a 2. Předpokládá
síťové služby kategorie B, a dokáže je multiplexovat mezi
více spojení transportních.
- Třída 4 (TP4) je určena pro použití nad síťovými službami kategorie C. Transportní protokoly této třídy musí "počítat s nejhorším", a jsou tedy ze všech transportních protokolů nejsložitější a nejkomplikovanější.
Třída transportních protokolů | Kategorie síťových služeb | Funkce |
TP0 | A | jednoduchá obálka síťových protokolů |
TP1 | B | zotavení z výpadků síťových spojení |
TP2 | A | multiplexování jednoho síťového spojení mezi více transportních spojení |
TP3 | B | multiplexování a zotavení z výpadků |
TP4 | C | detekce a oprava chyb, zotavení z výpadků |