2.2
Model OSI. Zásobník TCP/UDP/IP
2.2.1
Zásobník protokolů
Protokoly jsou jazykem, ve kterém přepínací uzly a jiná telekomunikační zařízení komunikují v síti. Ve formálnějším výkladu je protokol dohodnutým systémem pravidel a postupů, který popisuje princip interakce více objektů.
Pro stanovení protokolů vyvinula Mezinárodní organizace pro normalizaci (ISO) vyvinula sedmiúrovňový referenční model pro interakci otevřených systémů (Open Systems Interconnection). V tomto modelu vždy nižší vrstva poskytuje služby vyšší vrstvě. Interakce mezi různými vrstvami stejného systému probíhají pomocí primitiv a interakce mezi stejnými úrovněmi různých systémů pomocí protokolů. Celek těchto vrstev protokolu se nazývá zásobník protokolů.
+
2. Protokoly v modelu OSI.
Obr. 2. Protokoly v modelu OSI.
Poskytování služeb přenosu dat přes datovou komunikační síť se provádí pomocí řady protokolů, které vykonávají funkce určitých úrovní modelu OSI. Sada základních protokolů pro datovou síť se nazývá „zásobník protokolů TCP/IP“. Model TCP/IP byl vyvinut dlouho před konceptem OSI. Později se model začal nazývat TCP/UDP/IP s  dalším transportním protokolem navíc.
2.2.2
Model OSI
Model OSI (referenční model otevřených propojených systémů), vyvinutý Mezinárodní organizací pro normalizaci v roce 1978 a zveřejněný v roce 1982, je konceptem rozvoje otevřených norem pro interoperabilitu mezi různými systémy. Model byl vytvořen za účelem organizování interakce uzlů sítě pro přenos dat:
  • od různých výrobců,
  • různé úrovně obtížnosti,
  • s implementací různých technologií,
  • ve vlastnictví různých organizací.
Model se skládá ze 7 vrstev: fyzické, spojové, síťové, transportní, relační, prezentační a aplikační. Při předávání dat vrstvami modelu OSI se používá pojem zapouzdření. Každá vrstva přijímá data z vyšší vrstvy a umisťuje je do datové části své informační jednotky. Zároveň vygeneruje nové záhlaví. Záhlaví služby se považuje za součást dat a není pozměněno od základní úrovně.
+
3. Modely OSI.
Obr. 3. Modely OSI.
Funkce vrstev modelu OSI.
Aplikační vrstva – poskytuje kontrolu nad interakcí použitých procesů. Aplikační vrstva je rozhraní mezi aplikací a zbytkem modelu. Na této vrstvě jsou podniknuty primární kroky k přípravě informací pro přenos sítí, včetně identifikace příjemce a jeho dostupnosti. Tato vrstva zpracovává a správně formátuje data a poté je předává do nižší vrstvy modelu OSI.
Prezentační vrstva – přijímá informace z protokolů aplikační vrstvy a převádí je do formátu, který je srozumitelný pro všechny terminály pomocí modelu OSI (JPEG, MP3, ASN.1 a další). Prezentační vrstva může provádět kompresi a šifrování přenášených informací. Přidává rovněž informace, které počítač příjemce informují o typu souboru a o tom, jak jej zpracovat a zobrazit.
Relační vrstva je určená k otevření a správě komunikační relace mezi procesy vzdálených uživatelů (aplikací) a také řídí uzavření těchto připojení. Vrstva spravuje synchronizační body, které mohou být vyžadovány při přenosu více souborů v jedné relaci. V bodě synchronizace se přenos zastaví, dokud vzdálený konec nepotvrdí přijetí souboru. Relační vrstva umožňuje restart relace a její obnovení (pokud je to nutné). Po dokončení interakce se trasa zruší a všechny parametry se vrátí do původního stavu.
Protokol relační vrstvy může poskytnout interakci v následujících režimech:
  • Simplex (simplexní). Data lze přenášet pouze jedním směrem.
  • Half-duplex (poloviční duplex). Data lze přenášet oběma směry, ale v danou jednotku času může informace zasílat pouze jedna aplikace.
  • Duplex (duplexní). Data lze přenášet oběma směry a obě aplikace mohou informace přenášet současně.
Transportní vrstva – umožňuje adresovat na úrovni aplikace spuštěné v počítači. Protokoly transportní vrstvy obvykle zaručují doručení bezchybných zpráv mezi koncovými body s koncovým připojením (end-to-end) a umožňují detekci a opravu chyb.
Síťová vrstva vybírá trasu v síti (v závislosti na adrese a kvalitě poskytovaných služeb) a řídí zatížení kanálu.
Spojová vrstva – zajišťuje bezchybný přenos rámců na samostatném komunikačním kanálu. Vrstva identifikuje chyby, které se objevují ve fyzickém kanálu, a opravuje je.
Fyzická vrstva – provádí bitový přenos rámců po komunikační lince.
2.2.3
Zásobník TCP/UDP/IP
Pro síť ARPANET (USA) byl kromě protokolu IP, který nezaručuje kvalitu služeb, vyvinut protokol nejvyšší úrovně TCP (Transmission Control Protocol), který zaručoval určitou kvalitu služeb a integritu zpráv. Sada protokolů TCP/IP a novějšího UDP (User Datagram Protocol) se nazývá zásobník protokolů TCP/UDP/IP. Zásobník protokolů TCP/IP obsahuje čtyři vrstvy:
  • aplikační vrstvu,
  • transportní vrstvu,
  • internetovou vrstvu
  • a vrstvu síťového rozhraní.
Nechceme-li zacházet do podrobností, lze obecně říci, že aplikační vrstva zásobníku TCP/UDP/IP odpovídá třem horním vrstvám modelu OSI (aplikační, prezentační, relační), transportní vrstva pak odpovídá transportní, internetová vrstva odpovídá síťové a vrstva síťového přístupu odpovídá dvěma spodním vrstvám modelu OSI (spojové a fyzické). Protokoly TCP/UDP/IP byly vyvinuty před konceptem OSI, ale úkoly, které řeší každý na své vlastní úrovni, odpovídají funkcím, které OSI pro tyto úrovně definoval. Zásobník protokolu TCP/IP umožňuje veškeré interakce uživatele v sítích IP. Zásobník je nezávislý na fyzickém médiu přenosu dat, což zajišťuje zejména zcela transparentní interakci mezi kabelovými a bezdrátovými sítěmi.
+
4. Distribuce protokolů na úrovních modelu TCP/UDP/IP.
Obr. 4. Distribuce protokolů na úrovních modelu TCP/UDP/IP.
2.2.3.1
Aplikační vrstva (Application Layer)
V zásobníku protokolů TCP/UDP/IP nejsou tři horní vrstvy modelu OSI odděleny a jsou považovány za jednu aplikační vrstvu, ve které se nacházejí aplikační služby. Nejprve je třeba uvést protokoly aplikační vrstvy, bez kterých není datová síť funkční.
Za prvé DNS (Domain Name System) je služba doménových jmen, protokol zodpovědný za převod IP adres na doménová jména, která jsou známa uživatelům. Například každému webu na internetu je přidělena specifická adresa IP, ale pro nás je pohodlnější přístup na základě doménových jmen.
Potřebujeme také synchronizaci času mezi všemi síťovými zařízeními. K tomu slouží NTP (Network Time Protocol), protokol synchronizace času.
Důležité je vysokorychlostní doručování souborů. Co tím míníme? Každé zařízení má svůj vlastní operační systém, svůj vlastní software. Výrobci musí softwarová data čas od času aktualizovat. K tomu použijí příslušný protokol, který se nazývá TFTP (Trivial File Transfer Protocol), protokol aktualizace softwaru.
Samozřejmě bychom měli zmínit protokol Telnet, který zajišťuje doručování dat od uživatele do textové aplikace na straně serveru a naopak. Telnet je poměrně starý a nespolehlivý protokol, protože data v něm jsou přenášena bez šifrování. Byl tedy nahrazen protokolem SSH (Secure Shell), který umožňuje přenos informací zcela šifrovaně.
Existuje rovněž protokol pro přístup ke službám do všech síťových uzlů. Tento protokol se nazývá SNMP (Simple Network Management Protocol).
Pojmenovali jsme pouze ty protokoly, které jsou nezbytné pro normální provoz datové sítě. Existuje však řada dalších úkolů, které lze vyřešit jinými protokoly.
Obecně jsme vymezili vybavení a hlavní protokoly datové sítě, dále zmíníme některé její služby.
Příkladem služby je přístup na internetovou stránku. K tomu je zapotřebí protokol HTTP. Pokud chceme, využívat chatovací program (instant messenger), obvykle použijeme protokol XML či XMPP. Chceme-li využívat elektronickou poštu, musíme použít SMTP (Simple Mail Transfer Protocol), POP3 (Post Office Protocol 3), Exchange ActiveSync nebo IMAP (Internet Message Access Protocol). Příkladů podobných služeb existuje ještě mnohem více.
2.2.3.2
Transportní vrstva (Transport Layer)
Na transportní úrovni se používají zejména následující dva protokoly. Pro přenos dat s garantovaným doručením je implementován protokol TCP. Pro přenos multimediálních dat (řeči, videa apod.) v reálném čase se používá protokol UDP – protokol pro přenos uživatelských datagramů. Ten sice nezaručuje doručení, ale přenáší data v reálném čase, protože nezahrnuje žádosti o opakované doručení ztracených paketů či paketů přijatých s chybou.
2.2.3.3
Síťová vrstva (Internet Layer)
Na síťové (internetové) vrstvě se používají protokoly IP, ICMP a ARP. Hlavní funkcí IP je zajistit doručování dat po síti na základě IP adresy. Cílem ICMP (Internet Control Message Protocol) je poskytovat informace o tom, jak se pakety pohybují po síti (informace o chybách, nedostupnosti tras atd.).
2.2.3.4
Vrstva síťového rozhraní (Network Access Layer)
Vrstva síťového rozhraní poskytuje bezchybný přenos paketů komunikačním kanálem. Jejím úkolem je identifikovat fyzické chyby, které se objevují na fyzickém komunikačním kanálu, a opravit je. Vrstva přístupu do sítě kombinuje funkce dvou spodních vrstev modelu OSI (spojové a fyzické).
Příklady protokolů spojové vrstvy jsou Ethernet, IEEE 802.11 WLAN, Token Ring, FRAME RELAY a MPLS. Během rychlého rozvoje sítí s přepínáním paketů a obecného přístupu koncových zařízení k datovému médiu se ve většině případů používá Ethernet.
Zvláštní názvy se často používají k označení jednotek pro výměnu dat na konkrétních vrstvách, zejména: zpráva, rámec, paket, datagram či segment.
+
5. Jednotky pro výměnu dat.
Obr. 5. Jednotky pro výměnu dat.
V síti, která používá zásobník protokolů TCP/IP, musí mít každý počítač a síťové zařízení jedinečnou logickou adresu IP (pro směrování na síťové vrstvě) a jedinečnou fyzickou hardwarovou adresu na síťové kartě (pro přepnutí na spojové vrstvě) – tzv. adresu MAC (Media Access Control).
Data z aplikační vrstvy putují do transportní vrstvy a pak do síťové vrstvy, kde jsou do každého paketu přidávány informace pro směrování dat v síti, tj. IP adresy odesílatele a příjemce. Data se poté odešlou do spojové vrstvy, která by měla přidat MAC adresu do záhlaví rámce Ethernet. Když rámec vstoupí do fyzického prostředí, odešle se na adresu MAC uvedenou v záhlaví. Mechanismy pracující ve spojové vrstvě zásobníku TCP/IP musí pro interakci s příjemcem namapovat adresu IP na odpovídající adresu MAC.
Když paket dorazí do cílového zařízení, zkontrolují se adresy MAC a IP, čili zda je tento paket adresován tomuto zařízení, a poté se postupně seřadí všechna záhlaví vyšších vrstev a uživatelská data.
Protokol je –
Kolik vstrev je v referenčním modelu Open Systems Interconnection (OSI)?
Kolik vrstev je v modelu TCP/IP?
Která vrstva zásobníku TCP/UDP/IP směruje data v síti na základě adresy IP?
Která vrstva zásobníku TCP/UDP/IP poskytuje bezchybný přenos paketů komunikačním kanálem?
Jak se nazývá datová jednotka vrstvy spojové vrstvy a nebo vrstvy síťového rozhraní?
Jaký je název jednotky pro výměnu dat v síťové vrstvě?