zpět do archivu článků |
rejstřík |
předchozí díl |
následující díl
Jiří Peterka: Co je čím ... v počítačových sítích (35)
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á?
 |
Obr. 35.1.: Představa průchodu dat vrstvami
Odpověď na tuto otázku je skryta v obrázku, který jsme
si ukázali již ve 32. dílu, a který nyní použijeme znovu
jako obrázek 35.1. Ukazuje totiž, že komunikace dvou
koncových účastníků se transportní vrstva zúčastňuje jen na
obou koncových počítačích, zatímco v jednotlivých meziuzlech
se na přenosu podílí jen tři nejnižší vrstvy - fyzická,
linková a síťová. V případě rozlehlých sítí jsou tyto
mezilehlé uzly (též: uzly IMP, viz 32. díl) často jen
přepojovacími uzly v rámci komunikační podsítě, a vyšší
vrstvy u nich nemusí být vůbec realizovány. Tak je tomu
například u většiny veřejných datových sítí, které jsou
provozovány nejrůznějšími spojovými organizacemi. A zde je
právě kámen úrazu - je-li komunikační podsíť majetkem
spojové organizace, musí uživatelé a jejich koncové
(hostitelské) počítače vystačit s tím, co jim komunikační
podsíť prostřednictvím své síťové vrstvy nabízí. Chtějí-li
něco jiného - například spolehlivou přenosovou službu místo
nespolehlivé, spolehlivější místo méně spolehlivé,
spojovanou místo nespojované apod. - musí si vše potřebné
zajistit sami. A to právě v transportní vrstvě.
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í
 |
Obr. 35.2.: Spojované a nespojované služby v ISO/OSI modelu
K lepšímu pochopení úlohy transportní vrstvy nám pomůže
bližší přiblížení rozdílu mezi transportním a síťovým
spojením. Transportní spojení (transport connection) je
spojení, které vzniká mezi dvěma entitami transportní vrstvy
(v případě spojovaných služeb). Ve skutečnosti je však
realizováno prostřednictvím nižších vrstev, tedy
prostřednictvím síťových spojení (network connections) jako
spojení mezi dvěma entitami na úrovni síťové vrstvy.
Standardně se každé jednotlivé transportní spojení realizuje
prostřednictvím jednoho síťového spojení. Pokud ale
transportní spojení požaduje vyšší přenosovou kapacitu, než
jakou dokáže zajistit jedno síťové spojení, může být jedno
transportní spojení zajišťováno pomocí více spojení
síťových. Transportní vrstva se pak stará o rozdělení
přenášených dat mezi jednotlivá síťová spojení tak, aby to
pro vyšší vrstvy bylo transparentní (tj. neviditelné).
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í |
Tabulka 35.3. Kategorie přenosových služeb na úrovni síťové
vrstvy
Do kategorie B spadají síťové služby, které jsou z
hlediska přenosu jednotlivých paketů stejně spolehlivé jako
kategorie A, ale u kterých dochází častěji k výpadkům
spojení. Tedy k situacím, kdy z různých důvodů (přetížení,
poruchy hardwaru, chyby v softwaru apod.) dochází k
předčasnému ukončení (výpadku) dříve navázaného spojení.
Transportní vrstva se s tím dokáže účinně vyrovnat
(opětovným navázáním nového síťového spojení) a existenci
výpadků před vyššími vrstvami skrýt. Má s tím však
samozřejmě "více práce", než v případě síťových služeb
kategorie A. Do kategorie B spadá obvykle většina veřejných
datových sítí na bázi doporučení X.25.
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ů |
Tabulka 35.4.: Třídy transportních protokolů
zpět do archivu článků | rejstřík |
předchozí díl |
následující díl
Tento článek může být volně šířen, pokud se tak děje pro studijní účely, na nevýdělečném základě a se zachováním tohoto dovětku. Podrobnosti hledejte zde, resp. na adrese
http://ksi.ms.mff.cuni.cz/~peterka/archiv/copyleft.htm