MODELY POČÍTAČOVÝCH SÍTÍ V počátcích budování počítačových sítí byly sítě a technické prostředky těchto sítí od jednotlivých výrobců vzájemně nekompatibilní. Vznikla tedy potřeba vytvoření jednotného síťového modelu, který by umožnil instalaci různého hardware a software a přitom zajistil spolehlivou a bezchybnou komunikaci. Přenos informací v počítačové síti je obecně považován za složitou úlohu sestávající se z mnoha kroků. Není možné, aby jedno zařízení (např. komunikující počítač) obstarávalo veškeré úkony spojené s přenosem dat. Proto se komunikace rozděluje do několika nezávislých úrovní vrstev, kdy každá vrstva řeší pouze určité kroky spojené s přenosem informací. Konkrétně to znamená, že o určité části přenosu se stará síťová aplikace, o další operační systém a o zbytek síťové prvky. 1. Referenční model počítačové sítě ISO/OSI ISO (International Organization for Standardization) je mezinárodní organizace pro normalizaci se sídlem v Ženevě, která sdružuje národní standardizační instituce. Tato organizace vytvořila referenční 1 model (dále jen RM) pro propojování otevřených systémů OSI (Open System Interconnection). Smyslem obecného RM sítě je popsat architekturu síťové komunikace a poskytnout základ pro vypracování síťových norem a standardů za účelem propojování jednotlivých zařízení. Specifikuje komunikační protokoly na jednotlivých vrstvách a spolupráci mezi nimi. Protokol je množina pravidel pro řízení komunikace mezi jednotlivými prvky sítě ve stejné síťové vrstvě. Protokoly definují především: navázání spojení, adresování, přenos dat, zpracování chyb a řízení toku dat. RM ISO/OSI rozděluje vzájemnou komunikaci do 7 vrstev. Každá z těchto vrstev vykonává skupinu jasně definovaných funkcí potřebných pro komunikaci. Pro svou činnost využívá služeb své sousední nižší vrstvy. Své služby pak poskytuje sousední vyšší vrstvě, která neřeší podrobnosti o tom, jak je služba ve skutečnosti realizována. Při přechodu z vyšší vrstvy k nižší se k uživatelským (aplikačním) datům přidávají záhlaví jednotlivých vrstev. Tak dochází k postupnému zapouzdřování původní informace. V každé vrstvě se pak k datům přidávají další doplňkové informace (např. adresy, zabezpečení dat, atd.), které jsou nezbytné pro úspěšný přenos dat po síti. 1 Referenční = vztažný, srovnávací, požadovaný
Analogie: Příkladem připomínajícím vrstvový RM ISO/OSI může být dopisová komunikace mezi manažery dvou firem. Každý prvek (s výjimkou fyzické vrstvy) má přímý kontakt (pomocí určitého rozhraní) pouze s prvky v sousedních vrstvách. Rozhraním se myslí např. poštovní schránka mezi 4. a 3. vrstvou nebo přihrádka mezi 3. a 2. vrstvou. Každý prvek na straně odesílatele zpracuje zprávu do takového tvaru (dle protokolu), aby jí rozuměl jeho protějšek na straně příjemce. Protokol např. udává, jak má být správně nadepsaná adresa 5. vrstvou, nebo jak správně ve 2. vrstvě seskupit více dopisů jdoucích stejným směrem.
1. Aplikační vrstva Je určitou síťovou aplikací, tedy programem (např. webový prohlížeč, emailový klient, síťová počítačová hra, messenger atd.), zpřístupňující uživateli síťové služby. Tato vrstva nám vytváří rozhraní pro komunikační a uživatelské procesy. Aby komunikace mezi účastníky v počítačové síti probíhala v pořádku, je nutné použít jednotné aplikační protokoly, podle kterých se budou zprávy mezi účastníky vytvářet. Příklad: Veškeré webové prohlížeče využívají jednotný aplikační protokol HTTP (resp. HTTPS) pro komunikaci s webovým serverem a přenos webových stránek včetně jejích obsahu. Do této vrstvy se řadí např. tyto služby a protokoly: HTTP, FTP, DNS, DHCP, POP3, SMTP atd. 2. Prezentační vrstva Specifikuje způsob, jakým jsou data formátována (upravena) a kódována, provádí jejich konverzi. Řeší např. diakritiku (háčky a čárky v národní abecedě), kontrolní součet, kompresi a dekompresi, šifrování dat. Je softwarová. 3. Relační vrstva Jedná se o softwarovou vrstvu, jejímž úkolem je navázat a ukončit spojení, provádět ověřování uživatelů a zabezpečovat přístup k zařízením. 4. Transportní vrstva Jedná se o softwarovou vrstvu, jejímž úkolem je dělení přenášené zprávy (datagramu) na tzv. pakety a opětovné skládání paketů do zprávy. V této vrstvě vznikají spojení pro uživatelské programy. Mezi dvěma koncovými zařízeními může být vytvořeno více spojení pro různé programy, tzn., pakety putující do jednoho koncového zařízení mohou náležet různým programům (např. emailový klient, webový prohlížeč, služba Windows update atd.). Základními protokoly jsou zde TCP a UDP.
5. Síťová vrstva Definuje protokoly (např. IP, tedy Internet Protocol) pro adresování a směrování paketů na základě IP adres mezi koncovými zařízeními nebo celými sítěmi (tzv. uzly), mezi nimiž není přímé spojení. Zajišťuje tedy volbu trasy při spojení (mezi síťovými uzly bývá více možných cest pro přenos paketu). Obsahuje funkce, které umožňují překlenout rozdílné technologie v přenosových sítích. Na této vrstvě pracují směrovače (routery). 6. Linková (spojová) vrstva Poskytuje spojení mezi koncovými zařízeními, které jsou propojeny přímo v rámci jedné sítě (LAN). Zapouzdřuje pakety ze síťové vrstvy do rámců (rámec = frames). - seřazuje a formátuje přenášené rámce, - opatřuje je fyzickou adresou (MAC) síťového adaptéru (např. síťové karty), - stará se o nastavení parametrů přenosové linky, - detekuje, případně opravuje chyby přenosu ve fyzické vrstvě, oznamuje neopravitelné chyby. MAC je unikátní, fyzická, 48bitová adresa (6 bajtů) síťového adaptéru v hexadecimálním tvaru, kde první 3 bajty představují kód výrobce a zbylé 3 bajty udávají adresu daného rozhraní (často výrobní číslo síťového adaptéru). Příklad MAC adresy: 01:23:45:67:89:AB Rámce se na této vrstvě posílají ze zdrojové MAC adresy do cílové MAC adresy. V této vrstvě pracuje síťový adaptér a tzv. switch. Switch řídí (filtruje) přenos paketů mezi koncovými zařízeními v rámci jedné sítě LAN. 7. Fyzická vrstva Určuje způsob přenosu binární informace (log. 0 a log. 1). Popisuje parametry technických prostředků pro komunikaci v síti: např. kabely, konektory, ukončovací a spojovací prvky, dále průběhy a tvar signálů (elektrické, optické), atd.
2. Model TCP/IP Model TCP/IP (Transmission Control Protocol / Internet Protocol) je členěn do pouze do 4 vrstev: - aplikační vrstva - transportní vrstva - síťová vrstva - vrstva síťového rozhraní 1. Vrstva síťového rozhraní Nejnižší vrstva, umožňuje přístup k fyzickému přenosovému médiu. Zajišťuje přenos rámců (frames) mezi lokálně propojenými počítači (resp. koncovými zařízeními). V této vrstvě jsou definovány metody přístupu ke komunikačnímu kanálu (od koaxiálního kabelu, přes kroucenou dvoulinku až po optiku). Jelikož zde velmi záleží na konkrétní přenosové technologii (Ethernet, Token Ring, dvoubodový spoj, telefonní linka apod.), TCP/IP model tuto vrstvu nijak blíže nespecifikuje. 2. Síťová vrstva je realizována protokolem IP (Internet Protocol). Vrstva zajišťuje směrování a co nejrychlejší doručení paketů přes jednu nebo více sítí mezi koncovými zařízeními (např. počítač). Přenos a doručování paketů k cílové stanici se děje prostřednictvím routerů (směrovačů), na základě IP adres uvedených v záhlaví paketu. Síťová vrstva (IP protokol) poskytuje vyšším vrstvám nespojovou síťovou službu. Každý paket je samostatná datová jednotka, která obsahuje všechny potřebné údaje o adresátovi i odesilateli a o pořadovém čísle paketu ve zprávě. Pakety putují sítí nezávisle na sobě (různými cestami) a pořadí jejich doručení nemusí odpovídat pořadí ve zprávě. Doručení paketu není zaručeno (nespolehlivá služba), spolehlivost musí zajistit vyšší vrstvy (TCP, aplikace). IP protokol je součástí všech prvků sítě směrovačů (routerů) i koncových zařízení.
Na této vrstvě pracují i další protokoly, např.: ICMP (Internet Control Message Protocol) přenáší zprávy o chybách a řídící zprávy (např. příkaz Ping). Je pevnou částí protokolu IP (využívá služeb IP) a proto je také nespolehlivý a nespojovaný protokol. ARP (Address Resolution Protokol) zjišťuje MAC adresy podle logické IP adresy. Vysílá paket s logickou IP adresou všem uzlům (broadcast) a ten, která ji u sebe najde, předá zpět fyzickou MAC adresu. 3. Transportní vrstva vytváří spojení a směruje data přímo k příslušným síťovým aplikacím na koncovém zařízení (např. webový prohlížeč, poštovní klient, počítačová hra atd.), které o ně požádaly. Na výběr jsou protokoly TCP a UDP. TCP protokol zajišťuje spojově orientovanou spolehlivou službu. Naváže spojení mezi počítači teprve po ověření existence a dostupnosti všech prvků na přenosové cestě a druhá strana vysílá zpět potvrzení o správnosti přijatých dat. Při ztrátě nebo poškození paketu žádá o znovu odeslání dat prostřednictvím IP protokolu. Proces je tedy časově náročnější. Vhodný pro přenos obsahu webových stránek, email, datové soubory atd. UDP protokol zajistí přenos dat i bez ověření samotné existence cílového počítače a bez řízení toku dat. Neřeší ztracené nebo poškozené pakety (nespolehlivý protokol). Časová náročnost je tedy minimální a hodí se třeba na streamované video, internetová rádia atd. 4. Aplikační vrstva jedná se o programy (aplikace, procesy), které umožňují uživatelům přenos dat či přístup k síťovým službám prostřednictvím datových sítí. K tomuto účelu využívají tzv. aplikační protokoly, např.: HTTP, DHCP, DNS, FTP, POP3, SMTP atd. Aplikační protokoly používají vždy jeden ze dvou základních protokolů transportní vrstvy: TCP (Transmission Control Protocol) nebo UDP (User Datagram Protocol), případně oba dva (např. DNS). Pro rozlišení aplikačních protokolů se používají tzv. porty. Port je číslo v rozsahu 0 až 65535 představující adresu (identifikátor) aplikačního protokolu a tedy aplikace, která jej využívá. Zapouzdření PDU při odesílání dat PDU (Protocol Data Unit) Protokolová datová jednotka; obecný název pro celistvý datový balíček přenášený počítačovou sítí. Skládá se z uživatelských dat a hlavičky, obsahující řídicí informace nezbytné pro úspěšné doručení dat (např. adresy odesilatele a příjemce, kontrolní součet atd.). PDU mají na jednotlivých vrstvách referenčního modelu ISO/OSI různou podobu i název: PDU vrstvy 1 (fyzické) je fyzický paket, sestávající z bitů nebo obecněji symbolů (může také být nazýván proud, anglicky stream), PDU vrstvy 2 (linkové) je rámec, PDU vrstvy 3 (síťové) je paket, PDU vrstvy 4 (transportní) je TCP segment nebo UDP datagram, PDU vrstev 5-6-7 (aplikační) je zpráva.
Při odesílání dat se provádí jejich zapouzdřování (encapsulace - zabalování) od nejvyšší vrstvy dolů: Aplikace, tedy síťový program, doplní zasílaná data (aplikační vrstva) o aplikační hlavičku. Data jsou předána nižší vrstvě (transportní), která odesílaná data rozdělí na segmenty, zabalí a přidá TCP nebo UDP hlavičku. Takto se vytvoří TCP segment nebo UDP datagram. Hlavička obsahuje, mimo jiné, číslo zdrojového a cílového portu aplikace a kontrolní součet hlavičky i dat pro ověření, že nedošlo k jejich poškození během přenosu. Další vrstva (síťová) doplní IP hlavičku a takto vznikne IP paket. Hlavička IP paketu obsahuje, mimo jiné, zdrojovou a cílovou IP adresu a také parametr životnosti, tedy počtu zpracování při směrování. Po překročení tohoto parametru je paket zahozen a není dále směrován. V poslední vrstvě se k paketu přidá ethernetová hlavička na začátek a trailer (patička) na konec. Vznikne ethernetový rámec (ethernet frame), který se vysílá na komunikační médium. Příklad zapouzdření PDU při přenosu dokumentů ve formátu HTML (webová stránka):
Když cílové zařízení přijme data, provádí se obrácený postup (rozbalování) od nejnižší vrstvy nahoru a cílová aplikace obdrží přenášená data. Každé síťové spojení aplikace je tedy jednoznačně určeno: číslem portu (číslo 0 až 65535, např. HTTP: 80, FTP: 21, POP3: 110: SMTP: 25 atd.), transportním protokolem (TCP nebo UDP), IP a MAC adresou síťového koncového zařízení (např. počítače, tiskárny atd.).