Vrstvové protokoly Pavel Bezpalec
Autor: Pavel Bezpalec Název díla: Vrstvové protokoly Zpracoval(a): České vysoké učení technické v Praze Fakulta elektrotechnická Kontaktní adresa: Technická 2, Praha 6
Inovace předmětů a studijních materiálů pro e-learningovou výuku v prezenční a kombinované formě studia
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
VYSVĚTLIVKY
Definice
Zajímavost
Poznámka
Příklad
Shrnutí
Výhody
Nevýhody
ANOTACE Tento modul přináší přehledné informace o principu komunikace dle síťového modelu otevřených systémů OSI/OSI.
CÍLE Student získá základní znalosti o principu komunikace v datových sítích na zcela obecném modelu komunikace definovaném jako relační model OSI.
LITERATURA [1]
Boháč, L. – Bezpalec, P. Datové sítě, přednášky. Vydavatelství ČVUT, Praha 2011. ISBN 80-01-04694-4.
[2]
Boháč, L. – Bezpalec, P. Komunikace v datových sítích, cvičení, Vydavatelství ČVUT, Praha 2006. ISBN 80-01-03536-0.
[3]
Svoboda, J. et al. Telekomunikační technika, díl 2. Přenos dat, spojovací systémy a přenosové systémy. Vydavatelství Sdělovací technika, Praha 1999. ISBN 80-9019364-1.
[4]
Svoboda, J. et al. Telekomunikační technika, díl 3. Telekomunikační sítě a služby. Vydavatelství Sdělovací technika, Praha 1999. ISBN 80-901936-7-6.
[5]
Strnad, L. Úzkopásmové a širokopásmové sítě. Vydavatelství ČVUT, Praha 2003. ISBN 80-01-02685-X.
Obsah 1 Referenční model datové komunikace ............................................................................... 7 1.1
Motivace vzniku modelu datové komunikace ............................................................ 7
1.2
Dekompozice problému ............................................................................................. 8
1.3
Vrstvový model .......................................................................................................... 9
1.4
Rozhraní ve vrstvovém modelu ................................................................................ 10
1.5
Protokoly .................................................................................................................. 11
1.6
Vertikální komunikace mezi vrstvami ..................................................................... 12
1.7
Horizontální komunikace mezi vrstvami ................................................................. 13
1.8
Princip zapouzdření .................................................................................................. 14
1.9
Referenční model ISO/OSI ...................................................................................... 15
1.10
Členění modelu......................................................................................................... 16
2 Fyzická vrstva ..................................................................................................................... 17 2.1
Fyzická vrstva........................................................................................................... 17
2.2
Charakteristiky fyzické vrstvy.................................................................................. 18
3 Spojová vrstva .................................................................................................................... 19 3.1
Spojová vrstva .......................................................................................................... 19
3.2
Popis telekomunikační sítě ....................................................................................... 20
3.3
Spojová vrstva – vysílání dat.................................................................................... 21
3.4
Spojová vrstva – přijímání dat.................................................................................. 22
3.5
Řízení toku dat a zajištění požadované kvality služby ............................................. 23
4 Síťová vrstva ....................................................................................................................... 24 4.1
Úvod ......................................................................................................................... 24
4.2
Globální adresace ..................................................................................................... 25
4.3
Nalezení cesty v síti .................................................................................................. 26
4.4
Směrování ................................................................................................................. 27
4.5
Fragmentace ............................................................................................................. 28
4.6
Zajištění požadované kvality služby ........................................................................ 29
5 Transportní vrstva ............................................................................................................. 30 5.1
Úvod ......................................................................................................................... 30
5.2
Rozlišení dat pro více procesů v koncovém uzlu ..................................................... 31
5.3
Dělení bloků dat – segmentace ................................................................................. 32
5.4
Řízení toku dat.......................................................................................................... 33
6 Relační vrstva ..................................................................................................................... 34 6.1
Relační vrstva ........................................................................................................... 34
7 Prezentační vrstva .............................................................................................................. 36 7.1
Prezentační vrstva..................................................................................................... 36
8 Aplikační vrstva ................................................................................................................. 37 8.1
Aplikační vrstva ....................................................................................................... 37
9 Shrnutí ................................................................................................................................. 38 9.1
Výhody a nevýhody modelu OSI ............................................................................. 38
9.2
Test ........................................................................................................................... 39
1 Referenční model datové komunikace 1.1 Motivace vzniku modelu datové komunikace V 2. polovině 20. století se do popředí často dostávala firemní řešení datové komunikace velkých společností, jako jsou IBM, DEC, XEROX a jiné, jejichž produkty nebylo možno mezi sebou jednoduše propojit. Zároveň se na trhu začaly objevovat další, menší výrobci datových a telekomunikačních zařízení, kteří začali usilovat o to, aby někdo dostatečně nezávislý stanovil společné a jednoznačné zásady pro vzájemnou komunikaci, kterými se budou všichni řídit. Tlak na existenci všeobecných zásad pro vzájemnou datovou komunikaci dal vzniknout tzv. referenčnímu modelu datové komunikace, ve zkratce RM OSI. Zavedení modelu komunikace mělo tento nedostatek odstranit a také podpořit konkurenci. Referenční modely představují ucelenou představu o fungování sítě jako celku. Popisují architekturu systémů, tj. jeho protokolovou výbavu, a jeho dekompozici na dílčí podsystémy s cílem zjednodušit a zprůhlednit protokolové struktury systémů.
1.2 Dekompozice problému Jakmile se implementace určitého problému stává příliš složitou, je vhodné provést její dekompozici – rozdělit ji na několik dílčích částí, které by bylo možné implementovat samostatně a na sobě nezávisle. Příkladem problému, jehož implementace jako celku by nebyla únosná, je otázka zajištění základních funkcí počítačové sítě, nebo vývoj nějakého složitého programového celku. Vzhledem k charakteru řešeného problému a k povaze úkolů, které je třeba zajistit, se jako nejvhodnější ukázala být dekompozice celku na hierarchicky uspořádané vrstvy.
Dekompozice problému
8
1.3 Vrstvový model Každá vrstva má na starosti zajištění přesně vymezeného okruhu úkolů. Mechanismy, pomocí kterých tyto úkoly zajišťuje, pak nabízí k využití jako své služby vrstvě bezprostředně vyšší a k realizaci těchto služeb sama využívá služeb vrstvy bezprostředně nižší. Představa o tom, kolik samostatných vrstev vymezit a jaké jim svěřit úkoly, tvoří tzv. vrstvový model.
Vrstvový model
Ve vrstvovém modelu jsou povoleny pouze dva druhy komunikace •
vertikální
•
horizontální
Při vertikální komunikaci může vrstva N komunikovat právě jen s vrstvou N+1 nebo N-1 prostřednictvím příslušného vertikálního rozhraní. Při horizontální komunikaci vrstva N komunikuje se stejnou vrstvou N nacházející se v protilehlém systému.
9
1.4 Rozhraní ve vrstvovém modelu Hlavním přínosem dekompozice jednoho velkého problému je možnost řešit dekomponované dílčí problémy samostatně a nezávisle na sobě. K tomu je nutné ještě stanovit přesná pravidla vzájemné součinnosti přímo sousedících vrstev. Vrstva N poskytuje služby vrstvě N+1 a sama využívá služeb jí poskytovaných vrstvou N-1. Pro vzájemnou výměnu dat při vertikální komunikaci je nutno definovat rozhraní mezi jednotlivými vrstvami. Toto rozhraní se z historických důvodů označuje abstraktním pojmem SAP (Service Access Point), přístupový bod ke službě. Důležitou vlastností každého SAP je schopnost poskytovat služby většímu počtu vrstev stejné úrovně, tj. paralelně a nezávisle více instancím vrstvy (N+1).
rozhraní pro poskytování vertikální komunikace
Vrstva N musí být schopna od sebe oddělit data jednotlivých instancí vrstvy N+1, tj. provádět tzv. multiplexaci dat různých instancí vrstvy N+1.
10
1.5 Protokoly Jakmile jsou známy úkoly, které má určitá vrstva řešit, a je také přesně definováno její rozhraní s oběma sousedními vrstvami, je možné začít uvažovat o způsobu, jak zajistit ty úkoly, které byly vrstvě svěřeny. Tyto stejnolehlé vrstvy musí být spolu domluveny na společných pravidlech vzájemné komunikace, které také musí důsledně dodržovat. Soubor pravidel, které vrstvy RM OSI používají pro vzájemnou vertikální i horizontální komunikaci, tvoří tzv. protokol. Ke každé vrstvě v rámci určitého vrstvového modelu se tedy vztahuje určitý protokol, podle kterého příslušná vrstva pracuje. Pro jednu a tutéž vrstvu však může připadat v úvahu více různých protokolů – stejné úkoly totiž mohou být často zajišťovány různými způsoby.
11
1.6 Vertikální komunikace mezi vrstvami Vrstva N+1, která chce využívat službu bezprostředně nižší vrstvy N, musí znát nejen potřebné rozhraní SAP, přes které je jí tato služba nabízena, ale musí také znát přesný způsob volání příslušné služby, které požadavek specifikuje. Tato řídicí informace je označována jako ICI (Interface Control Information). Součástí požadavku pak bývají ještě různá další "užitečná" data, označovaná jako SDU (Service Data Unit).
Vertikální komunikace mezi vrstvami
Vrstva N+1 tedy předává vrstvě N přes příslušné rozhraní SAP dvě skupiny informací (ICI a SDU), které dohromady tvoří tzv. datovou jednotku rozhraní – IDU (Interface Data Unit)
12
1.7 Horizontální komunikace mezi vrstvami Jedním z nejčastějších požadavků je žádost o přenos uživatelských dat stejnolehlé vrstvě na jiném uzlovém počítači. Vrstva N, která je o tuto službu požádána, nalezne příslušná data v části SDU přijaté jednotky IDU a snaží se je předat své partnerské entitě na příslušném uzlovém počítači podle předem definovaného protokolu.
Horizontální mezi systémy
Tento protokol určuje jakými dodatečnými informacemi řídicí povahy musí být tato užitečná data doplněna, aby byl splněn požadavek na přenos dat. Odesílací vrstva N vloží data z jednotky SDU a připojí k nim potřebné řídicí informace PCI (Protocol Control Information). Tím vzniká tzv. protokolární datová jednotka – PDU (Protocol Data Unit), která obsahuje jak data určená k přenesení tak i všechny potřebné informace řídicí povahy, předepsané použitým přenosovým protokolem.
13
1.8 Princip zapouzdření Průchod uživatelských dat všemi vrstvami ISO/OSI modelu ukazuje obrázek.
Princip zapouzdření
Každá vrstva na straně odesilatele, zdroje komunikace, v závislosti na použitém protokolu přidává k užitečným datům (jednotkám SDU) své řídicí informace (složky PCI) – obvykle ve formě záhlaví, kterou si pak stejnolehlá partnerská vrstva na straně příjemce, cíle komunikace, zase odebírá. Toto postupné přidávání („nabalování“) řídících informací při průchodu dat jednotlivými vrstvami se nazývá princip zapouzdření.
14
1.9 Referenční model ISO/OSI V roce 1984 byl na půdě Mezinárodní organizace pro normalizaci ISO (International Organization for Standardization) standardizován základní model komunikace mezi otevřenými datovými systémy z názvem RM OSI (Reference Model of Open Systems Interconnection) jako norma č. ISO 7498. Cílem modelu RM OSI je umožnit propojení mezi tzv. otevřenými datovými systémy, tj. systémy, které nejsou závislé na konkrétním výrobci. Referenční model ISO/OSI je v oblasti počítačových sítí a komunikací ucelenou představou o tom, jak by počítačové sítě měly být koncipovány a jak by měly být řešeny. V oblasti počítačových sítí se vyvinuly i některé alternativní modely. Nejznámější z nich je zřejmě síťový model TCP/IP, ale existují i některé další, jako třeba model XNS (Xerox Networking System) a z něj odvozené koncepce (kupř. model IPX/SPX, používaný firmou Novell). Oficiálnost referenčního modelu ISO/OSI je přitom třeba chápat tak, že jej vyvinula instituce k tomu formálně určená a zmocněná (organizace ISO, International Standards Organization, správně: International Organization for Standardization, sdružující národní standardizační a normotvorné instituce jednotlivých zemí). Výsledek její práce, tedy zmíněný referenční model ISO/OSI, pak přijal za svůj především státní sektor jednotlivých zemí, a zapracoval do svých národních koncepcí (u nás např. do původních návrhů standardů státního informačního systému). V praxi se pak „oficiálnost" referenčního modelu ISO/OSI projevovala například tím, že když nějaká státní či státem řízená instituce nakupovala nějaké síťové technologie, požadovala, aby vycházely právě z koncepce ISO/OSI.
15
1.10 Členění modelu Z historických i terminologických důvodů se pro bloky RM OSI nepoužívá termín blok, ale vrstva. RM OSI model, se skládá celkem ze sedmi vrstev.
Referenční model RM OSI
Na obrázku je nakreslen model přenosu informace datovou sítí mezi dvěma koncovými systémy. V datové síti se však může v cestě přenosu dat nacházet jedno či více tzv. mezilehlé zařízení, která plní různorodé funkce. Koncový systém je takový systém, ve kterém začíná či končí datový přenos. Mezilehlý systém je systém, který zprostředkovává datovou komunikaci. Všechny vrstvy RM OSI mají vždy dvě rozhraní, kromě vrstvy aplikační. Je třeba si uvědomit, že ne všechna rozhraní musí být vždy zjevná, obecně viditelná a přístupná, často mohou mít jen formu skrytých rozhraní uvnitř většího celku, který může plnit funkce několika vrstev RM OSI modelu najednou. Jediné rozhraní, které musí být vždy reálné, je spodní rozhraní vrstvy fyzické. Obecně platí, čím výše se rozhraní v RM OSI nachází, tím více je softwarově orientované, např. ve formě volání nějaké funkce API, než aby mělo podobu určitého fyzického rozhraní, např. sběrnice.
16
2 Fyzická vrstva 2.1 Fyzická vrstva Fyzická vrstva na svém „horním“ rozhraní odebírá data od vrstvy vyšší, spojové, a tato data uzpůsobuje k přenosu fyzickým mediem, které je přímo připojeno k jejímu „spodnímu“ rozhraní a obráceně. Primárním úkolem fyzické vrstvy je přiřazení konkrétního fyzického signálu jednotlivým bitům datového toku.
Fyzická vrstva a její rozhraní
Vytvořený fyzický signál je poté vyslán na dané médium prostřednictvím spodního rozhraní fyzické vrstvy. Z obecného pohledu je hlavní oblastí zájmu vrstvy fyzické jeden nebo skupina bitů. Fyzická vrstva nebere v úvahu začátek ani konec bloků dat, které byly vytvořeny vrstvami nad ní, tj. nezajímá se o to, jakým způsobem jsou data formátována do bloků ve vyšších vrstvách OSI modelu.
17
2.2 Charakteristiky fyzické vrstvy Každá implementace fyzické vrstvy definuje celkem čtyři charakteristiky: •
mechanické
•
elektrické
•
funkční
•
protokolové
Mechanické charakteristiky upřesňují mechanické fyzického rozhraní (konektoru) pro dané médium:
vlastnosti
•
geometrické uspořádání, rozměry, číslování kontaktů konektoru
•
typ konektoru (CANON, RJ-45, RJ-11, apod.)
použitého
Tím zároveň i specifikují i typ používaného přenosového média (metalický pár, optické vlákno, přenos volným prostorem). Elektrické charakteristiky přesně definují: •
primární reprezentaci signálu na médiu (napětí, optické záření, elmag. pole, apod.)
•
signálové poměry na daném médiu (např. tvar masky pulsu, napěťové maximum, maximální optický výkon, překmity signálu, apod.)
•
způsob modulace (základní pásmo bez modulace, FM, PSK, QPSK, QAM, OFDM, apod.)
•
typ linkového kódování či předkódování (NRZ, RZ, HDB3, AMI, Manchester, 4B5B, 8B10B, apod.)
•
přenosovou rychlost a její maximální přípustné odchylky v čase (fázové chvění)
•
jmenovitou hodnotu vysílaného a přijímaného signálu na straně vysílače a přijímače
•
oko rozhodnutí
•
bitovou chybovost v konkrétních podmínkách přenosu – BER
•
útlumovou rezervu systému, apod.
Funkční charakteristiky popisují a definují funkci a použití jednotlivých fyzických kontaktů konektoru rozhraní např. dle ITU-T X.24. Protokolové charakteristiky přesně popisují výměnu řídících informací na konektorech rozhraní, používané protokolové sady pro komunikaci, např. RS232C, ITU-T X.21, Ethernet, apod. 18
3 Spojová vrstva 3.1 Spojová vrstva Spojová vrstva je nedílnou součástí relačního modelu každé dnes používané paketově orientované datové sítě. Hlavní funkcí spojové vrstvy je uskutečnění zabezpečeného přenosu informace ve formě vysílání a příjmu za sebou jdoucích konečně dlouhých bloků dat, organizovaných do tzv. datového rámce. Na vysílací straně se vytvářejí a řadí datové formáty spojové vrstvy. Na přijímací straně se provádí detekce a oprava chyb jejich přenosu a kontrola pořadí. Vyšší, síťové vrstvě se hlásí zjištěné a neopravené chyby přenosu. Spojová vrstva popisuje telekomunikační síť a zajišťuje především bezchybný přenosu rámců.
19
3.2 Popis telekomunikační sítě Každou telekomunikační síť, bez ohledu na její funkci, technické řešení, rozlohu, atd., lze obecně definovat pomocí topologie a architektury. Topologií sítě se označuje způsob propojení uzlů. Architektura sítě definuje ostatní technické detaily provedení, např. •
je množina použitých protokolů, jejich funkce, vazby mezi nimi
•
způsob přenosu dat
•
způsob sdružování individuálních signálů (např. WDM, FDM)
•
způsob sdružování datových toků (TDM, paketový způsob přenosu, buňkový přenos, apod.).
Síť, popsaná jen svou topologií, není jednoznačná, neboť mohou existovat dvě sítě se stejnou topologií, a přesto mohou být technicky naprosto odlišné. Pro jednoznačné určení není pouhá znalost topologie dostačující. Proto je zaveden ještě druhý určující pojem, a to architektura sítě.
20
3.3 Spojová vrstva – vysílání dat Spojová vrstva přijímá data od vyšší vrstvy (síťové) ve formě datových bloků nazývaných pakety a ve spolupráci s protilehlou spojovou vrstvou zajišťuje jejich bezchybný přenos. Toto se realizuje přidáním datového pole, ve kterém se přenáší zabezpečovací informace. Mezi často používané zabezpečovací algoritmy patří: •
jednoduchý paritní systém – sudá nebo lichá parita
•
křížová parita
•
výpočet cyklického kódu – CRC
•
komplementární binární součet, apod.
•
opravné kódy – FEC
V datových sítích se pro zabezpečení přenosu na spojové vrstvě používají velice často CRC cyklické kódy umožňující detekci shlukových chyb, které se často vyskytují při přenosu digitálního signálu médiem.
Spojová vrstva – vysílání dat
Po doplnění zabezpečovací informace a dalších řídících informací, vznikne protokolová datová jednotka – PDU spojové vrstvy, datový rámec. Obsah datového rámce je vložen do bitového toku nepřetržitě generovaného na rozhraní mezi spojovou a fyzickou vrstvou. Fyzická vrstva přebírá na výše zmiňovaném rozhraní všechny bity tak, jak v sekvenci přicházejí, a transformuje je do fyzického signálu, který je následně vyslán do přenosového média.
21
3.4 Spojová vrstva – přijímání dat Fyzická vrstva předá odpovídající bitovou posloupnost ke zpracování vrstvě spojové. Ta identifikuje v bitovém toku odpovídající rámec a zkontroluje, zda při přenosu nedošlo k „poškození“ obsahu, tj. ani jeden jeho bit není zatížen chybou. K této operaci použije stejný algoritmus jako vysílací spojová vrstva, porovná obsah zabezpečovacího pole přijatého rámce s lokálně vypočtenou hodnotou. Pokud dojde ke shodě, je vysoká pravděpodobnost, že byl dotyčný rámec přijatý bez chyb. V opačném případě došlo při přenosu k minimálně jedné chybě.
Spojová vrstva – přijímání dat
V případě výskytu chyb a v závislosti na konkrétní architektuře uvažované sítě, může dojít buď k zahození rámce nebo k aktivaci mechanismu korekce chyb spojové vrstvy, na jehož základě je požádána protější strana o opětovné vyslání rámce.
22
3.5 Řízení toku dat a zajištění požadované kvality služby Proces řízení toku (flow control), je v dnešní době velmi důležitou součástí spojové vrstvy i když ne všechny protokoly spojové vrstvy jej nutně musí používat. Řízení toku umožňuje informovat vysílací stranu o stavu dočasné nepřipravenosti přijímače akceptovat další rámce. Nepřipravenost většinou souvisí s nedostupností určitých prostředků důležitých pro další zpracování přijatých rámců, jako je třeba příliš velké okamžité zatížení procesorové jednotky nebo nedostupnost volné kapacity přenosu v datové síti.
Zajištění požadované kvality služby Další funkcí, která se u některých spojových vrstev datových sítí může vyskytovat, je zajištění prioritního přenosu rámců v rámci dané sekce sítě. Vzhledem k tomu, že se dnes datové sítě začínají používat i pro přenos signálu jiných služeb, než pro které byly původně primárně určeny, jako je přenos digitalizovaného telefonního signálu či videosignálu, je nutné pro tyto služby zajistit vcelku přísné požadavky z hlediska kvality přenosu dat. Mezi ně patří především malá velikost střední hodnoty zpoždění přenosu dat sítí, včetně minimálního časového rozptylu příchodů paketů do cílového koncového systému. Pokud se dnes určitou sekcí sítě přenášejí data relací různých služeb, je nutné pamatovat na priorit-ní zajištění minimálního zpoždění průchodu rámců výše zmíněných multimediálních služeb (přenos audio, video). V tomto smyslu je spojová vrstva dané sekce zodpovědná za dodržení odpovídající priority při přenosu datových rámců jednotlivých relací. Typicky je jejím úkolem přednostně vysílat datové rámce obsahující video či audio informaci a teprve poté přenést rámce ostatní, které souvisí se službami nevyžadující tak přísné požadavky na zpoždění (například služba elektronické pošty nebo WWW).
23
4 Síťová vrstva 4.1 Úvod Ani fyzická, ani spojová vrstva RM OSI modelu nemají k dispozici žádné informace o obrazu celé sítě, vždy se jen zajímají o lokální přenos dat v rámci jedné dílčí síťové sekce. Síťová vrstva je však vrstvou, která disponuje nezbytnými informacemi umožňující jí získat velice ucelený pohled na danou síť jako jeden globální celek, jak z hlediska aktivní topologie, tak i z hlediska připojení všech koncových systémů nebo aktuálního zatížení. Ke splnění výše uvedených funkcí je nezbytné, aby mezi sebou vzájemně komunikovaly jak odpovídající elementy síťové vrstvy koncových zařízení, tak i uzlů sítě. Protokolové datové jednotce, kterou si mezi sebou vyměňují, se v praxi často říká paket. Ten vznikne tak, že se k bloku dat přicházejících z vyšší, transportní vrstvy, přičlení řídící informace vrstvy síťové a tento celek se ve formě nově vzniklé SDU pošle vrstvě níže položené, v tomto případě spojové. Rozhraní, které se k tomuto účelu používá, je v praxi velice často reprezentováno ve formě softwarového rozhraní – API . Kromě toho také často platí, že všechna rozhraní počínaje spodním rozhraním síťové vrstvy (rozhraní směrem ke spojové) směrem výše jsou implementována softwarově ve formě příslušného – API (Application Programme Interface). Nejdůležitější funkce vrstvy síťové jsou: •
globální adresace
•
nalezení cesty v síti
•
směrování
•
fragmentace
•
sestavení, ukončení a dohled nad spojením
Podle typu realizovaného spojení se sítě ještě člení na •
sítě se spojením (connection oriented networks)
•
bezespojové sítě (connectionless networks)
U sítí se spojením má spojová vrstva za úkol toto spojení sestavit, udržovat (sledovat) a v konečné fázi i rozpojit (např. sítě s protokoly X.25, ATM, MPLS). U bezespojových sítí tato funkcionalita implementována vůbec není (např. IP sítě).
24
4.2 Globální adresace Každá konkrétní síťová vrstva musí řešit otázky spojené s jednoznačnou identifikací všech koncových systémů, které jsou do síti připojené. Typických příkladem globálního systému adresace je datová síť Internet nebo telefonní síť.
Adresní systémy
Obě tyto sítě přitom řeší otázku identifikace koncových systémů. Dnes existují pro různé sítě odlišné adresní systémy, které otázku identifikace řeší po svém. Adresní systém může být řešen dvěma způsoby •
nestrukturovaně (nehierarchicky)
•
strukturovaně (hierarchicky)
Nestrukturovaný adresní systém je takový, u něhož adresa slouží jen jako jednoznačný identifikátor koncového systému v rámci dané množiny systémů. U strukturovaného systému však identifikátor – adresa, ještě obsahuje informaci podle níž lze velice snadno určit v síti místo, kde se koncový systém nachází. Z důvodu velkého počtu koncových zařízení je adresace na spojové vrstvě RM OSI většinou strukturovaná. Strukturovanost adresy koncových systémů významně snižuje složitost nalezení patřičné koncové stanice v síti a dále také zkracuje čas potřebný pro nalezení odpovídající cesty k ní. U některých sítí dokonce zjednodušuje návrh a zrychluje práci vlastních uzlů.
25
4.3 Nalezení cesty v síti Síťová vrstva je zodpovědná za nalezení optimální cesty spojující zdrojový a cílový uzel komunikace.
Nalezení optimální cesty k cílovému uzlu
V reálných datových sítích většinou existuje více alternativních cest, kterými lze spojení uskutečnit. Úkolem síťové vrstvy je vybrat takovou cestu, která bude z pohledu dané směrovací strategie optimální. Kritéria pro posouzení optimálnosti cesty mohou být různá, např.: •
minimální zpoždění při přenosu informace,
•
minimální počet uzlů v cestě,
•
minimální finanční náklady spojené s danou cestou,
•
maximální dostupná přenosová rychlost,
•
parametry kvality přenosu, apod.
26
4.4 Směrování V uzlech sítě je síťová vrstva zodpovědná za směrování paketů přicházejících z jedné sekce sítě do sekce následující. Úkolem síťové vrstvy ve všech uzlech sítě je zajistit, aby pakety byly nasměrovány do správného odchozího směru podle zvolené směrovací strategie. Každý uzel sítě si k zajištění této funkcionality většinou automaticky naplňuje tzv. směrovací tabulku, ve které jsou uvedeny informace sloužící k výběru nejlepšího odchozího rozhraní pro každý zpracovávaný paket.
Směrování paketů
V sítích bez spojení (např. sítě s architekturou TCP/IP, např. Internet) slouží pro identifikaci paketů určité relace alespoň globální síťová adresa cílového a zdrojového systému, jež jsou vždy součástí záhlaví každého paketu – jako součást záhlaví přidávaného ke každému paketu vrstvou síťovou.
27
4.5 Fragmentace V některých typech sítí (např. u sítí s architekturou TCP/IP) je síťová vrstva zodpovědná za případné provedení fragmentace. K fragmentaci může dojít, pokud velikost paketu přesáhne maximální povolenou délku SDU jednotky spojové vrstvy dané sekce sítě, přes kterou má být paket poslán k dalšímu uzlu sítě. V tomto případě síťová vrstva rozdělí zmiňovaný paket do menších částí – fragmentů a každý pošle do sítě individuálně, nezávisle na ostatních. V cílové stanici se tyto fragmenty opět složí do původního paketu.
Fragmentace paketů
Vzhledem k tomu, že uzly sítě musí zpracovávat každý fragment jednotlivě, roste jejich procesní zatížení, což není vhodné. Navíc jednotlivé fragmenty neobsahují všechny informace vyšších protokolů, což může mít za následek chybnou funkci některých speciálních síťových zařízení, popř. snížení bezpečnosti sítě (IDS systémy, Firewally, apod.).
28
4.6 Zajištění požadované kvality služby Poslední důležitou funkcí síťové vrstvy u dnešních moderních sítí je zajištění požadované kvality služby, QoS (Quality of Service), při přenosu dat v dané relaci. Jak již bylo řečeno v části pojednávající o spojové vrstvě, síťová vrstva spolupracuje se spojovou vrstvou na zajištění celkové kvality služby přenosu dat mezi odpovídajícími koncovými systémy. Lze říci, že v tomto ohledu hraje síťová vrstva roli určovatele, říká co je nutné zajistit a jak, a spojová vrstva roli vykonavatele, plní příkazy síťové vrstvy a reálně – pomocí systému prioritních front – zajišťuje požadované kvalitativní parametry na úrovni jedné individuální sekce sítě. Zajištění QoS je záležitostí obou vrstev, někdy spíše více síťové, někdy naopak více spojové.
29
5 Transportní vrstva 5.1 Úvod Transportní vrstva je aplikována pouze v koncových systémech a zajišťuje jejich vzájemnou komunikaci. Vůbec se nezajímá o topologii sítě, o směrování dat, o typ media na cestě mezi koncovými systémy, o přenosové rychlosti, apod. Transportní vrstva je prakticky implementována téměř výhradně softwarovými prostředky a je považována za předěl mezi tím, co je ještě bráno za záležitost komunikační sítě a co je již otázka programování vlastní síťové aplikace. Základní úkoly, které plní transportní vrstva lze shrnout takto: •
rozlišení dat pro více procesů v koncovém uzlu – multiplexace
•
dělení bloků dat – segmentace
•
řízení toku dat
30
5.2 Rozlišení dat pro více procesů v koncovém uzlu Transportní vrstvu v praxi používá více procesů najednou (samozřejmě pouze v rámci jedné koncové stanice). Proto musí transportní vrstva disponovat mechanismem, jak od sebe přenosy dat těchto různých procesů vzájemně oddělit.
Proces multiplexace datových toků
Obrázek ukazuje mechanismus tzv. multiplexace, která na základě další informace, obvykle přenášené v záhlaví protokolové jednotky, provede roztřídění vstupních dat patřičným procesům. Různé architektury sítí řeší tuto otázku odlišně. Tak např., v IP sítích (architektura TCP/IP) se využívá v transportní vrstvě koncepce portů. Z obecného hlediska se nejedná o nic jiného, než o přiřazení číselného identifikátoru každé SDU jednotce příslušné relace (se kterou je pak spjata konkrétní aplikace, např. klient elektronické služby nebo prohlížeč WWW). Tak lze v protilehlé transportní vrstvě od sebe velice snadno jednotlivé SDU odlišit.
31
5.3 Dělení bloků dat – segmentace Transportní vrstva je také zodpovědná za rozdělení bloku dat, který je předáván relační vrstvou, do menších pro přenos lépe vhodných datových bloků. Těmto blokům dat, která jsou výsledkem procesu segmentace transportní vrstvy, se často říká – segmenty.
Mechanismus segmentace
Jedním z cílů transportní vrstvy je zcela transparentně provádět služby přenosu bloků dat pro vyšší vrstvy RM OSI a zajistit bezchybný přenos mezi dvěma koncovými systémy. Z praktického pohledu si to lze představit i tak, že relační vrstva požádá o transport libovolně dlouhého datového bloku vrstvu transportní, která následně zajistí jeho „přenesení“ do protilehlého koncového systému. Nejprve rozdělí daný datový blok do menších celků – segmentů, doplní je o své řídící informace a požádá síťovou vrstvu o jejich přenos k protilehlému koncovému systému. V procesu přenosu sítí však může dojít jednak ke ztrátě některých segmentů nebo ke změně pořadí jejich příchodů do protějšího koncového systému. Přijímací transportní vrstva je zodpovědná za identifikaci těchto ztracených a mimo správnou sekvenci přijatých segmentů, doplnění chybějících segmentů (požádá vysílací stranu o opětovné vyslání ztraceného segmentu) a změnu jejich pořadí, aby bylo možné zpětně sestavit datový blok předaný původně transportní vrstvě vrstvou relační na straně vysílací. I když cílem transportní vrstvy je bezchybný přenos bloků dat, nemusí to být vždy optimální z hlediska časové režie, kterou nutně tato transportní vrstva vnáší do přenosu. Žádost o opětovné vyslání chybných segmentů a jejich následné doručení nutně vnáší časové zpoždění do přenosu celého bloku dat, což je pro některé moderní služby nepřípustné. Z tohoto důvodu jsou definovány v transportní vrstvě ještě protokoly, které plní funkce multiplexace dat a segmentace, avšak už nikoliv funkci zajištění bezchybného příjmu celého bloku dat. U výše zmiňovaných služeb má na jejich poskytovanou kvalitu mnohem větší vliv zpoždění přenosu dat, než případný vznik chyb. Typickým představitel prvního protokolu transportní vrstvy, který plní všechny funkce, je u sítě s architekturou TCP/IP protokol TCP (Transmission Control Protocol). Do druhé kategorie u stejné sítě lze zařadit protokol UDP (User Datagram Protocol).
32
5.4 Řízení toku dat Řízení toku mezi oběma koncovými systémy je důležitou funkcí transportní vrstvy. Řízení toku je mechanismus probíhající mezi příslušnými procesy na relační vrstvě daných aplikací. Jako příklad lze uvést komunikaci mezi Web klientem a serverem. V tomto případě jak server, tak i klient, jsou aplikace (z pohledu RM OSI). V případě, že Web server není v daném okamžiku schopen zpracovat požadavky klienta, aktivuje transportní vrstva serveru mechanismus řízení toku a informuje o této skutečnosti transportní vrstvu klientského koncového systému, která pozastaví na určitou dobu vysílání svých požadavků.
Vyhýbání se přetížení U sítí s architekturou TCP/IP se lze u transportního protokolu TCP setkat ještě s jednou důležitou funkcí, a to systémem vyhýbání se přetížení sítě (congestion avoidance). Tento systém je nevyhnutelný, pokud mohou koncové systémy do sítě vysílat data rychleji, než je schopna je přenášet vlastní datová cesta. Toto je zcela typická situace všude tam, kde je rychlá lokální sít připojena k pomalejší globální síti.
33
6 Relační vrstva 6.1 Relační vrstva Relační vrstva RM OSI je zodpovědná za synchronizovaný přenos dat mezi dvěma prezentačními vrstvami. Koncept relační vrstvy je poněkud abstraktní a někdy obtížněji identifikovatelný než je tomu u vrstev ostatních. Hlavní funkcí relační vrstvy je sestavovat, spravovat a rušit dialog, logické spojení mezi dvěma koncovými aplikacemi, bez ohledu na to, skrze jaké síťové technologie jsou tyto aplikace dostupné. Relační vrstva však hraje velmi důležitou roli v procesu synchronizace dialogu. Existuje totiž mnoho aplikací, jež vyžadují, aby komunikace probíhala v přesně definovaném sledu událostí. Princip funkce relační vrstvy si uveďme na jednoduchém příkladu. Uživatel si přeje zobrazit internetovou stránku www.cvut.cz.
Princip funkce relační vrstvy
Internetový prohlížeč (aplikace) přijme požadavek uživatele na zobrazení internetové stránky. Skrze prezentační vrstvu je relační vrstva požádána o sestavení dialogu s internetovým serverem. Relační vrstva klienta sestaví hned několik transportních spojení se serverem. 1. První spojení stáhne nejprve obsah internetové stránky v HTML formátu.
34
2. Na základně vyhodnocení HTML kódu sestaví relační vrstva další spojení, jimiž se získají obrázky a další požadované objekty internetové stránky. 3. Po té, co jsou všechna data přijata, předají se jako celek vrstvě prezentační a následně aplikaci, internetovému prohlížeči.
35
7 Prezentační vrstva 7.1 Prezentační vrstva Úkolem prezentační vrstvy je dohodnutí formátu a struktury dat pro komunikující aplikace. Jedná se zejména o přeměna kódů, abeced a datových formátů tak, aby došlo k přizpůsobení bez ohledu na významovou stránku datové zprávy. Prezentační vrstva zajišťuje obousměrnou datovou reprezentaci, tj. vzájemnou „čitelnost“ formátu dat pro různé aplikace.
Prezentační vrstva
Do úkolů prezentační vrstvy jistě patří definice protokolu pro vhodný výběr společného formátu a struktury předávání dat. •
ASCII, EBCDIC, reálná čísla …
•
GIF, JPEG, M-JPEG, MPEG …
•
WAV, AIFF, MP3
Nedílnou součástí prezentační vrstvy je i možnost data v rámci jednotlivých relací zašifrovat. Poslední důležitou funkcí prezentační vrstvy je komprimace dat, to pro případ, kdy je síť, po které se budou data přenášet, příliš pomalá.
36
8 Aplikační vrstva 8.1 Aplikační vrstva Aplikační vrstva je vrstvou nejblíže ke koncovému uživateli a tedy neposkytuje žádné služby jiné vrstvě. Jejím hlavním úkolem je poskytnout přístup aplikačním procesům ke komunikačnímu systému. Velice často se do této vrstvy zařazují aplikace samotné, jako je program pro čtení el. pošty, prohlížení internetových stránek, či pro transport souborů. Do aplikační vrstvy však patří pouze mechanismy a procesy, které tvoří neměnné jádro těchto aplikací, tedy zejména komunikační protokoly, např. •
protokoly pro přenos el. pošty (SMTP, IMAP, POP)
•
protokoly pro přenosu souborů (FTP, TFTP),
•
atp.
Aplikační vrstva
Uživatelské rozhraní aplikací, např. okno programu v daném operačním systému s různými volbami spojení, nepatří do aplikační vrstvy a stoji nad ní.
37
9 Shrnutí 9.1 Výhody a nevýhody modelu OSI Zavedení modelu OSI přináší nesporné výhody •
zpřehlednění celkového systému datové komunikace o převedením na systém s menším počtem vzájemných vazeb
•
lepší implementace v praxi, snadnější aplikace o umožňuje oddělený vývoj a testování jednotlivých částí datového systému
•
didaktičnost o lepší pochopení složitých procesů spojených s výměnou dat v datových sítích
•
podporuje konkurenční prostředí o může koexistovat více výrobců daného bloku či implementací protokolu
ale také nevýhody: •
nepodporuje internetworking o původní předpoklad: V každé zemi je právě jedna datová síť.
•
předpokládá propojení pouze dvoubodovými spoji o není vyřešeno sdílené prostředí
•
jsou upřednostněny telekomunikační služby o tj. služby svojí podstatou spojité a spolehlivé
•
některé činnosti jsou zbytečně opakované ve více vrstvách.
Hloubavý čtenář pídící se po detailní výčtu funkcí jednotlivých vrstev modelu OSI se může začíst do doporučení ITU-T X.200.
38
9.2 Test 1. Co je referenční model datové komunikace? a) zásady silničního provozu b) zásady pro vzájemnou datovou komunikaci c) zmenšenina velkých objemů dat správné řešení: b
2. Co znamená dekompozice problému? a) rozdělelní do dílčích částí b) tvorba větších celků c) delegování práce na jiné počítače správné řešení: a
3. Jaké typy komunikace jsou povoleny ve vrstvovém modelu? a) horizontální b) vertikální c) příčná d) stejnolehlá správné řešení: a, b
4. Zkratka SAP vyjadřuje a) snadno a pohodlně b) Service Application Part c) Service Acces Point správné řešení: c
5. Soubor pravidel, které vrstvy RM OSI používají pro vzájemnou komunikaci se nazývá a) předpis b) protokol c) metodika správné řešení: b
39
6. PDU je a) protokolární datová jednotka b) pravidlo distribuce souborového systemu U c) principálně důležité údaje správné řešení: a
7. Co charakterizuje tzv. princip zapouzdření? správné řešení: žádná odpověď
8. Co je otevřený systém? a) je nezávislý na výrobci b) je nezávislý na místě použití c) je nezávislý na obsluze správné řešení: a
9. Kolik vrstev má RM OSI? a) 5 b) 6 c) 7 d) 8 správné řešení: c
10. Systém, ve kterém začíná a končí komunikace, se nazývá a) průběžný b) koncový c) počáteční správné řešení: b
11. Kolik rozhraní má každá (kromě aplikační) z vrstev RM OSI? a) 0 b) 1 c) 2 správné řešení: c
40
12. Hlavní úkoly fyzické vrstvy jsou a) zabezpečení komunikace b) nalezení cesty v síti c) tvorba fyzikálního signálu d) popis mechanických vlastností konektoru správné řešení: c, d
13. Hlavní úkoly spojové vrstvy jsou a) zabezpečení komunikace b) nalezení cesty v síti c) detekce rámce d) směrování toku dat správné řešení: a, c
14. Které vlastnosti popisují telekomunikační síť. a) topologie b) struktura c) architektura d) nomenklatura správné řešení: a, c
15. Hlavní úkoly síťové vrstvy jsou a) zabezpečení komunikace b) nalezení cesty v síti c) detekce rámce d) směrování toku dat správné řešení: b, d
41
16. Hlavní úkoly transportní vrstvy jsou a) segmentace b) datová reprezentace c) řízení toku d) řízení dialogu správné řešení: a, c
17. Hlavní úkoly relační vrstvy jsou a) segmentace b) synchronizace dialogu c) řízení toku d) řízení dialogu správné řešení: b, d
18. Hlavní úkoly prezentační vrstvy jsou a) zabezpečení komunikace b) komprimace c) „čitelnost“ formátu dat d) řízení dialogu správné řešení: b, c
19. Hlavní úkoly aplikační vrstvy jsou a) zabezpečení komunikace b) komprimace c) kontakt s uživatelem d) přístup k aplikačním procesům správné řešení: c, d
42
20. Mezi hlavní výhodu RM OSI patří a) podporuja internetworkingu b) zpřehlednění celkového systému datové komunikace c) je vyřešeno sdílené prostředí d) lepší pochopení složitých procesů spojených s výměnou dat v datových sítích správné řešení: b, d
43