KAPITOLA DRUHÁ:
Síťové modely a architektury
Komunikace v počítačových sítích probíhá v několika fázích. Těmi jsou otevření přenosu, samotný přenos dat a ukončení přenosu. Jako příklad lze uvést průběh telefonického spojení mezi uživateli (zvednutí sluchátka, hovor, položení sluchátka).
Na základě tohoto rozdělení lze vymezit úlohy typické pro realizaci komunikace, které lze rozčlenit do jednotlivých vrstev.
Filozofie vrstev
- implementace sítě je složitá - stejná situace jako při řešení složitého SW
- vyplatí se problém dekomponovat - usnadnění práce
- dekompozice po vrstvách - větší modularita
Problémy při dekompozici:
- kolik má být vrstev?
- co má která vrstva dělat?
- jak má která vrstva fungovat?
- atd ...
Komunikace mezi vrstvami
- každá vrstva využívá služeb vrstvy nižší
- každá vrstva nabízí svoje služby vrstvě vyšší
- partnerem vrstvy N při vzájemné komunikaci je opět vrstva N
- spolupráce mezi entitami téže vrstvy je řízena protokoly
Entity a protokoly
- Entita - více samostatných entit může existovat v rámci jedné vrstvy
- Protokol - definuje pravidla komunikace mezi entitami jedné vrstvy
Síťový model a síťová architektura
- Síťový model
- zahrnuje představu o počtu vrstev a o tom, co má mít která vrstva na starosti. Nezahrnuje konkrétní představu o tom, jakým způsobem má každá vrstva řešit své úkoly, což řeší komunikační protokoly. Příkladem síťového modelu je referenční model ISO/OSI. Dnes se již také dá považovat za síťovou architekturu.
- Síťová architektura
- oproti síťovému modelu obsahuje navíc konkrétní představu o fungování jednotlivých vrstev, tj. komunikační protokoly. Příkladem je síťová architektura TCP/IP.
Na počátku byl pokus o vytvoření univerzální síťové architektury, který ovšem skončil "pouze" vytvořením síťového modelu, ke kterému se dodatečně dodělávaly komunikační protokoly.
Jeho nevýhodou je, že vznikal od "zeleného stolu", bez dostatečné praxe. Autoři se snažili zahrnout do modelu všechny požadavky a výsledkem byl model dosti vzdálený realitě. Některá řešení se ukázala jako nerealizovatelná a hledala se implementovatelná podmnožina.
Sedm vrstev ISO/OSI
Ve sporech o počtu vrstev nakonec zvítězil návrh sedmi vrstev, ale i to se v současnosti zdá být příliš mnoho.
Kritéria pro volbu vrstev:
- činnosti na stejném stupni abstrakce mají patřit do stejné vrstvy
- odlišné funkce by měly patřit do odlišných vrstev
- možnost převzetí existujících standardů (X.25)
- minimální tok dat mezi vrstvami
- atd ...
Je to nejnižší vrstva ISO/OSI modelu, která představuje fyzické prepojení počítačů v síti. Zabývá se kabely, přenosovými médii, napěťovými a jinými fyzikálními hodnotami signálu.
- zabývá se přenosem jednotlivých bitů od příjemce k odesilateli
Fyzická vrstva ISO/OSI modelu zajišťuje přenos jednotlivých bitů mezi dvěma uzlovými počitači, mezi kterými existuje přímé spojení. Linková vrstva pak navazuje na fyzickou vrstvu v tom, že využívá těchto spojení pro přenos větších bloků dat, které se označují jako rámce (frames). Přenos těchto rámců pak nabizi vyšší (síťové) vrstvě jako službu.
Linková vrstva se dělí na horní subvrstvu zvanou Logical Link Control (LLC) a dolní subvrstvu zvanou Media Access Control (MAC).
- přenáší celé bloky dat, tzv. rámce (frames)
- zajišťuje přenos pouze v dosahu přímého spojení
- funguje na linkových i bezdrátových technologiích
- může fungovat spolehlivě či nespolehlivě, spojovaně či nespojovaně
Úkoly linkové vrstvy
- synchronizace rámců - rozpoznání začátku i konce
- zajištění spolehlivosti - detekce i korekce chyb
- řízení toku dat - ochrana proti zahlcení
- řešení konfliktů - při vícenásobném přístupu ke sdílenému médiu
Pokud spolu chtějí komunikovat dva uzly, mezi kterými neexistuje přímé spojení, je potřeba pro ně najít spojení nepřímé, tedy prostřednictvím jiných uzlů. Těchto spojení může být více a právě úkolem síťové vrstvy je jednu z nich vybrat a zajistit správné předávání dat touto cestou.
- posílá celé bloky dat, tzv. datagramy či pakety
- zajišťuje doručení paketů až k cílovému uzlu
- zná skutečnou topologii sítě
- poslední vrstva, kterou musí mít přenosová infrastruktura
Úkoly síťové vrstvy
- zajištění doručení paketů - vyhledá vhodnou cestu v případě nepřímého spojení
- zajištění směrování - v uzlech mezi odesilatelem a příjemcem
- výběr směrovacího algoritmu - adaptivní či neadaptivní, izolované či distribuované, ...
Hlavnim ukolem transportni vrstvy referencniho modelu ISO/OSI je poskytovat efektivni prenosove sluzby sve bezprostredne vyssi (tj. relacni) vrstve. Tyto sluzby pritom mohou mit spojovany (connection-oriented) i nespojovany (connectionless) charakter. Stejny charakter a stejnou podstatu vsak maji i sluzby sitove vrstvy, ktere transportni vrstva sama vyuziva. Do znacne miry analogicke jsou v obou vrstvach i mechanismy adresovani a rizeni toku dat. Zakonite se pak nabizi otazka, proc je vlastne nutna samostatna transportni vrstva, kdyz alespon na prvni pohled nenabizi nic principialne jineho, nez vrstva sitova?
- může měnit nespolehlivý charakter přenosu na spolehlivý
- může zvyšovat spolehlivost přenosu
- může měnit nespojovaný přenos na spojovaný
Úkoly transportní vrstvy
- sladění nabídku nižších a požadavky vyšších vrstev
- zajištění komunikace mezi koncovými uživateli
- zabezpečení samoopravných cyklů
Doposud zmíněné vrstvy (fyzická, linková, síťová, transportní) relačního modelu ISO/OSI jsou zaměřeny na předávání dat mezi dvěma uzly počítačové sítě. Vyšší vrstvy (relační, prezentační, aplikační) jsou pak již zaměřeny na potřeby síťových aplikací. Přitom využívají přenosové možnosti transportní vrstvy a k nim přídávají služby, které jsou užitečné pro většinu aplikací.
Původně se s relační vrstvou vůbec nepočítalo, nakonec se však do relačního modelu ISO/OSI přece jen prosadila. Dodnes je ovšem společně s prezentační nejméně propracovanou vrstvou.
Pro vysvětlení pojmu relace je dobré si představit klasický telefonní hovor. Vytočení a následné spojení je analogické s prací transportní vrstvy, až následně je možno vést hovor (relaci).
Relaci tedy můžeme považovat za spojení mezi dvěma uzly na úrovni bezprostředně vyšší, než je transportní vrstva.
Úkoly relační vrstvy
- navazování, udržování a rušení relací
- řízení dialogu - zajištění pravidelného střídání uzlů při vysílání
- synchronizace - zajištění soulodu mezi daty vyslanými odesilatelem a přijatými příjemcem
Úkolem doposud zmíněných vrstev (fyzická, linková, síťová, transportní, relační) je, aby přenášená data vždy dorazila k příjemci přesně v takové podobě, v jaké byla odeslána. To ovšem ještě nezaručuje, že pro příjemce budou data představovat totéž, co pro odesilatele.
Obecně různé počítače používají různou reprezentaci dat (např. kódování znaků). Aby bylo zajištěno správné předávání dat mezi počítači, musí být zajištěny jejich správné konverze. A ty má právě na starosti prezentační vrstva.
Rozdíly mohou být např.:
- v kódování znaků - ASCII, EBCDIC, ...
- ve formátování čísel
- v šifrování
- v typu komprese dat
- ...
Důvodem existence aplikační vrstvy je, aby umožnila aplikacím přístup do počítačové sítě na bázi ISO/OSI modelu. Funguje jako brána mezi aplikacemi běžícími v různých uzlech, které si vzájemně vyměňují informace.
V původních představách měla obsahovat aplikace, ale vzhledem k jejich velkému počtu by musely být všechny standardizovány, což je v praxi nerealizovatelné. Došlo tedy k úpravě základní myšlenky tak, že aplikační vrstva bude obsahovat pouze jádro aplikací, které má smysl standardizovat (např. přenosové mechanismy elektronické pošty). Ostatní části aplikací (typicky uživatelská rozhraní) byly posunuty nad aplikační vrstvu.
Úkolem aplikační vrstvy je tedy poskytovat uživatelským programům ucelené a dobře definované služby.