Základy sítí

Modely datových sítí

Když se počítačové sítě poprvé objevily na světě, uměly počítače zpravidla komunikovat jen se zařízeními stejného výrobce. Firma tam musela například mít kompletní řešení od DECnet, nebo kompletní řešení od IBM - ne kombinaci. Koncem 70. let vytvořila organizace ISO (lnternational Standardization Organization) takzvaný referenční model OSI (Open System Interconnection), jehož úkolem bylo právě prolomení této bariéry. Cílem modelu OSI bylo pomoci výrobcům ve vytváření interoperabilních síťových zařízení a softwarových protokolů, jejichž prostřednictvím budou moci spolupracovat i sítě různých výrobců. Podobně jako světového míru nebylo ani tohoto cíle plně dosaženo, jistý pokrok byl ale přece jen zaznamenán. Model OSI je nejdůležitějším modelem architektury sítí. Popisuje způsob komunikace neboli odesílání dat a síťových informací z aplikace na jednom počítači přes všechna síťová média do aplikace na jiném počítači. Celý referenční model OSI je rozdělen do takzvaných vrstev. Nyní si jednotlivé vrstvy vysvětlíme podrobněji a řekneme si, jak nám pomáhají při řešení problémů v datových sítích.

Vrstvený přístup

Referenční model je konceptuální schéma fungování komunikace. Popisuje veškeré procesy, které jsou pro efektivní komunikaci potřeba, a rozděluje je do logických skupin nazývaných vrstvy. U takto navrženého systému pak hovoříme o vrstvené architektuře. Pro přiblížení si teď představte, že chcete s několika přáteli založit firmu. Jako první věc si musíte všichni sednout a promyslet, jaké práce bude potřeba dělat, kdo je bude dělat, v jakém pořadí, a jak budou spolu souviset. V rozběhnuté firmě z nich pak mohou být oddělení - například oddělení objednávek, skladové oddělení a oddělení dopravy. Každé má svoje úkoly, svoje zaměstnance a odpovědnost jen za svůj úsek.

K těmto firemním oddělením bychom mohli přirovnat i vrstvy komunikačního systému. Aby vše dobře klapalo, musí se zaměstnanci každého oddělení postarat jen o svoje vlastní úkoly, zatímco u ostatních se spoléhá na jiná oddělení. Při plánování si uděláme poznámky, celý proces zaznamenáme, a tím si usnadníme další diskuse o provozních standardech neboli "referenčním modelu" firmy. Po spuštění firmy musí vedoucí každého oddělení na základě provozních standardů vytvořit praktické metody pro jejich implementaci. To jsou v sítích protokoly a my je musíme začlenit do standardních provozních postupů a přísně dodržovat. Každý z postupů bude mít jinou důležitost a jinou implementaci.

Jestliže vstoupíte do partnerství s jinou firmou, nebo ji dokonce převezmete, musí se komunikační protokoly neboli pracovní postupy buďto shodovat, nebo alespoň být kompatibilní (slučitelné). Podobně i softwaroví vývojáři používají často vhodný referenční model, jenž představuje způsob chápání komunikačních procesů a definuje funkce, které je nutné zajistit na té konkrétní vrstvě. Jestliže vytvářejí protokol pro určitou vrstvu, starají se pouze o funkce této vrstvy a už ne o jiné - to je povinností jiné vrstvy a jiných protokolů. Toto pojetí označujeme pojmem vazba; související komunikační procesy jsou tak svázány neboli seskupeny v jedné vrstvě.

Výhody referenčních modelů

Model OSI je hierarchický, přičemž stejné výhody má i každý jiný vrstvený model. Hlavním úkolem těchto modelů, zejména modelu OSI, přitom je umožnit vzájemnou spolupráci sítí od různých výrobců. Výhody - avšak ne jediné - vrstveného modelu OSI jsou:

Rozděluje proces komunikace v síti do menších a jednodušších komponent, jejichž vývoj, návrh i řešení problémů je pak snazší. • Díky standardizaci síťových komponent umožňuje rozdělení vývoje mezi několik výrobců. • Definuje funkce, které se mají provádět v jednotlivých vrstvách, a tím podporuje další standardizaci oboru. • Umožňuje vzájemnou komunikaci různých typů síťového hardwaru a softwaru. • Změny v jedné vrstvě díky němu neovlivňují jiné vrstvy, což opět usnadňuje vývoj.

Referenční model OSI

Jedním z nejdůležitějších úkolů specifikací OSI je umožnit přenosy dat mezi různorodými hostitelskými systémy - neboli umožnit například komunikaci mezi unixovým hostitelem a počítačem PC nebo Mac. Model OSI ale není fyzickým modelem; je to spíše množina zásad, podle nichž mohou vývojáři aplikací vytvářet a implementovat aplikace pracující v síti. Zároveň definuje schéma pro vytváření a implementaci síťových standardů, zařízení a schémat propojování sítí. Celý model OSI má sedm různých vrstev, které jsou dále rozděleny do dvou skupin. Tři nejvyšší vrstvy definují, jak mohou aplikace na koncových stanicích komunikovat s uživateli a také mezi sebou vzájemně. Spodní čtyři vrstvy pak popisují způsob přenosu dat od jednoho koncového zařízení do druhého. Na obrázku 1 .6 jsou detailně znázorněny horní tři vrstvy a jejich funkce, zatímco obrázek 1 .7 popisuje spodní čtyři vrstvy.

Při pohledu na obrázek 1 .6 je důležité si uvědomit, že uživatel pracuje na počítači s aplikační vrstvou a že za komunikaci aplikací mezi hostiteli odpovídají vyšší vrstvy modelu. Mějte na paměti, že žádná z těchto vyšších vrstev ještě neví nic o komunikaci v síti nebo o adresách. To je starostí nižších vrstev. Na obrázku 1 .7 vidíme, že přenos dat po fyzickém kabelu nebo jejich průchod přes přepínače a směrovače definují spodní čtyři vrstvy. Ty zároveň určují způsob opětovného sestavení datového proudu z vysílajícího hostitele pro aplikaci na cílovém hostiteli. Následující síťová zařízení pracují na všech sedmi vrstvách modelu OSI:

Stanice pro správu sítě (NMS) • Webové a aplikační servery • Brány (nikoli výchozí brány) • Síťoví hostitelé

Transportní Síťová Li ková Fyzická • Zajišt'uje spolehlivé nebo nespolehl ivé doručení • Provádí opravu chyb, případně opakované vysílání • Zajišt'uje logické adresování, podle něhož směrovače určují cestu v síti • Rozděluje pakety do rámců a rámce do bajtů • Zajišt'uje přístup k médiu prostřednictvím adresy MAC • Provádí detekci chyb, nikoli však jejich opravu • Dopravuje datové bity mezi jednotlivými zařízeními • Specifikuje úrovně napětí, přenosovou rychlost a rozložení pinu na fyzickém kabelu

Model OSI je ve světě síťových protokolů jakousi "příručkou hradní etikety". Tak jako existují celé knihy o standardech lidské sociální komunikace - ostatně se některým také říká diplomatický "protokol" - vytvořila ISO referenční model OSI jak návod pro vytvoření množiny otevřených protokolů. Dodnes je nejoblíbenějším prostředkem pro porovnávání různých dat protokolů.

Referenční model OSI se skládá z těchto sedmi vrstev:

Aplikační vrstva (vrstva 7) • Prezentační vrstva (vrstva 6) • Relační vrstva (vrstva 5) • Transportní vrstva (vrstva 4) • Síťová vrstva (vrstva 3) • Linková vrstva (vrstva datových spojů, vrstva 2) • Fyzická vrstva (vrstva 1)

Na obrázku 1 .8 máme shrnutí funkcí definovaných v sedmi vrstvách modelu OSI. S tímto schématem se již můžeme pustit do detailního výkladu jednotlivých vrstev.

Aplikační vrstva

Aplikační vrstva označuje v modelu OSI místo, kde s počítačem komunikuje jeho uživatel. Vrstva tak vstupuje do hry až v okamžiku, kdy je jasné, že budeme potřebovat přístup k síti. I kdybychom ze systému odinstalovali všechny síťové komponenty - sadu TCP/IP, síťovou kartu atd. - mohli bychom si v Internet Exploreru nadále prohlížet lokální dokumenty HTML. Dokument, který je potřeba stáhnout protokolem HTTP, FTP nebo TFTP, už bychom ale neuviděli. To je proto, že prohlížeč reaguje na žádost o takovéto dokumenty právě přístupem k aplikační vrstvě. Ta potom tvoří rozhraní mezi vlastním aplikačním programem - který už není součástí vrstvené struktury - a nejbližší nižší vrstvou, jež zajišťuje odeslání informací z aplikace dále dolů. Jinými slovy, Internet Explorer už nepatří do aplikační vrstvy a mezi její protokoly, ale při komunikaci se vzdálenými prostředky spolupracuje s jejími protokoly.

Aplikační • Souborové, tiskové, databázové, aplikační služby a zasílání zpráv Prezentační • Služby šifrování dat, komprese a formátování dat Relační • Řízení dialogu Transportní • Spojení mezi oběma koncovými zařízeními Síťová • Směrování Linková • Vytváření rámců Fyzická • Vytváření rámců Obrázek 1 .8: Funkce vrstev modelu OSI

Aplikační vrstva je také odpovědná za identifikaci požadovaného komunikačního partnera, za ověření jeho dostupnosti a za ověření, jestli jsou pro tuto komunikaci k dispozici potřebné prostředky. Tyto úkoly jsou velmi důležité, protože počítačové aplikace někdy potřebují více než jen prostředky stolního počítače. Často se v nich spojují komunikační komponenty několika různých síťových aplikací. Vynikajícím příkladem je přenos souborů nebo e-mail, vzdálený přístup, aktivity správy sítí, procesy klient/server a umístění informací. Spousta síťových aplikací zajišťuj e služby pro komunikaci přes podnikové sítě, ale při propojování sítí současnosti a budoucnosti nabývá na významu i dostupnost prostředků mimo hranice fyzických sítí.

Poznámka Zde je důležité si zapamatovat, že aplikační vrstva je rozhranim mezi vlastními aplikačnimi programy. Například Microsoft Word tak není součástí aplikační vrstvy, ale spolupracuje s jejími protokoly. V kapitole 2 si nicméně představíme několik programů, které přímo do aplikační vrstvy spadají - jako je FTP a TFTP.

Prezentační vrstva

Význam prezentační vrstvy je zřejmý už z jejího názvu: prezentuje data aplikační vrstvě a je odpovědná za transformaci dat a formátování kódu. Tato vrstva je v podstatě "překladačem" a zajišťuj e funkce pro kódování a konverze. Data je totiž vhodné před vlastním přenosem upravit do standardního formátu: počítače umí tato obecně formátovaná data správně přijmout a poté je převedou zpět do svého nativního formátu (takto se například provádí převod mezi kódy EBCDlC a ASCII). Prostřednictvím převodních služeb tak prezentační vrstva zajišťuje, že data odeslaná z aplikační vrstvy jednoho systému budou čitelná i v aplikační vrstvě jiného, cílového systému. Standardy protokolů v modelu OSI definují také způsob formátování standardních dat. S vrstvou jsou spojeny úkony jako komprese, dekomprese, šifrování a dešifrování dat. Některé standardy prezentační vrstvy pracují také s multimédii.

Relační vrstva

Relační vrstva (session) je odpovědná za ustavení, správu a ukončení relací mezi entitami prezentační vrstvy. Zajišťuje také řízení dialogu mezi oběma zařízeními neboli uzly. Koordinuje tak komunikaci mezi systémy a pomocí tří různých režimů ji organizuje: simplex, poloviční duplex a plný duplex. Podtrženo a sečteno, relační vrstva drží v podstatě data určité aplikace oddělená od dat jiných aplikací.

Transportní vrstva

Přenosová neboli transportní vrstva segmentuje data do datového proudu a poté je zpětně sestavuje. Její služby tak segmentují a znovu sestavují data z aplikací vyšších vrstev. Zajišťují služby přenosu dat mezi koncovými systémy a dokážou navázat logické spojení mezi odesílajícím a přijímajícím hostitelem datové sítě. Někteří z vás už jistě znají protokoly TCP a UDP (ostatním je podrobně vysvětlím v kapitole 2). Oba pracují právě na transportní vrstvě, přičemž TCP zajišťuje spolehlivé (spojované) služby a UDP nespolehlivé (nespojované). To znamená, že vývojáři mají v sadě protokolů TCP/lP na výběr ze dvou druhů protokolů (podle potřeb konkrétní aplikace). Transportní vrstva poskytuje mechanismy pro multiplexing aplikací horních vrstev, pro navazování spojení a ukončování virtuálních okruhů (spojení). Vyšším vrstvám poskytuje transparentní služby přenosu dat a tak před nimi skrývá detaily závislé na konkrétní síti.

Poznámka Výraz spolehlivá komunikace se používá u transportní vrstvy a znamená, že se při ní používají potvrzení, seřazení dat a řízení toku. Komunikace na transportní vrstvě může být tedy spojovaná nebo nespojovaná. Společnost Cisco klade ale důraz především na spojované protokoly; budeme o nich proto hovořit i v následujících odstavcích textu.

Řízení toku dat

Datovou integritu zajišťuje transportní vrstva díky takzvanému řízení toku dat a díky tomu, že umožňuje uživatelům spolehlivý přenos dat mezi systémy. Řízení toku dat znamená, že odesílající hostitel nemůže na jedné straně spojení způsobit přeplnění bufferů na přijímající straně, jež vede ke ztrátě dat. Spolehlivé přenosy dat využívají mezi systémy spojovanou komunikační relaci a příslušné protokoly zajišťují splnění těchto podmínek:

Doručené segmenty se po přijetí potvrzují zpět odesilateli. • Jakékoli nepotvrzené segmenty se vysílají znovu. • Segmenty se po příchodu do cíle znovu seřadí do správného pořadí. • Během přenosu udržuje protokol vhodný datový tok a zabraňuje tak zahlcení, přetížení a ztrátě dat.

Spojovaná komunikace

Při spolehlivém přenosu musí zařízení, které chce vysílat, nejprve vytvořit relaci (session) a tím navázat spojovanou komunikaci se vzdáleným zařízením. Vysílající zařízení nejprve naváže spojovanou relaci s partnerským systémem; hovoříme o inicializaci spojení neboli třícestném navazování komunikace. Potom začíná vlastní přenos datipo jeho skončení se musí ukončit i spojení a virtuální okruh se rozpadá. Typická spolehlivá relace mezi odesílajícím a přijímajícím systémem je znázorněna na obrázku 1 .9. Vidíme, že aplikační programy na obou hostitelích začínají tím, že oznámí inicializaci spojení svému operačnímu systému. Tyto systémy si pak pro komunikaci odesílají po síti zprávy, které potvrzují schválení přenosu a připravenost obou stran. Po dokončení této povinné synchronizace je spojení plně navázáno a přenos dat může začít. (Této inicializaci virtuálního okruhu se mimochodem říká "režie".) Během vlastního přenosu informací se oba hostitelské systémy vzájemně kontrolují a pomocí softwaru komunikačního protokolu se ujišťují, že je všechno v pořádku a že jsou data na druhé straně správně přijímána.

Nyní si shrneme jednotlivé kroky spojované relace neboli třícestného navazování komunikace z obrázku 1 .9:

Prvním segmentem "dohody o spojení" je požadavek synchronizace. • Druhý a třetí segment potvrzují požadavek a zavádějí mezi hostiteli parametry spojení neboli pravidla. Tyto segmenty vyžadují synchronizaci a řazení dat u příjemce, aby se tak mohlo vytvořit obousměrné spojení. • Poslední z trojice segmentů je také potvrzením. Oznamuje cílovému hostiteli, že dohoda o spojení byla přijata a že spojení bylo skutečně navázáno. Přenos dat může začít.

Vypadá to na pohled docela jednoduše, ale vždycky všechno neprobíhá tak hladce. Někdy může během přenosu dojít k zahlcení sítě (kongesci), protože rychlejší počítač generuje datový provoz rychleji, než dokáže síť přenést. Také několik počítačů, které současně začnou odesílat datagramy přes jedinou bránu nebo do jediného cíle, mohou síť zablokovat. Ve druhém z uvedených případů tak může dojít k zahlcení cíle nebo brány i přesto, že problém nezpůsobil žádný jednotlivý zdroj. Problém se každopádně podobá "zácpě" na dopravní síti (které se také říká kongesce, pozn. překl.), kde je aktuálně více provozu než volné kapacity. Ani zde obvykle nezpůsobuje problém jedno konkrétní auto - aut je zkrátka příliš mnoho. Dobrá, co se tedy stane, když do počítače přijde shluk datagramů rychleji, než ho dokáže zpracovat? Uloží se do vyrovnávací paměti neboli bufferu. Toto vyrovnávání (bufferování) vyřeší ale problém jen v případě, že datagramy vytvořily jeden menší shlukipokud rychlý příval datagramů pokračuje, dojde záhy k vyčerpání volné paměti a celkové kapacity zařízení, které pak jakékoli další datagramy začne zahazovat. Není to ale nic závadného.

Díky funkcím transportní vrstvy fungují mechanismy řízení zahlcení správně. Prostředky nezahazují a nezpůsobují tedy ztrátu dat, ale vysílají odesilateli (zdroji nadměrného provozu) indikaci "nepřipraven", jak vidíme na obrázku 1 . 1 0. Tento mechanis mus funguje asi jako červené světlo, protože odesilatel pozastaví vysílání segmentovaného provozu k přetíženému partnerovi. Jakmile ten zpracuje část segmentů v bufferu a uvolní jej, odešle opět indikaci "připraven" a čekající odesilatel může pokračovat ve vysílání.

Při tomto spolehlivém, spojovaném přenosu dat se datagramy doručují přijímajícímu hostiteli v přesně stejném pořadí, v jakém byly odeslány - při narušení tohoto pořadí dílčí přenos selže a dojde-li ke ztrátě jakéhokoli segmentu, k jeho duplikaci nebo poškození, znamená to chybu přenosu, kterou odesilatel zjistí právě díky potvrzování příjmu každého datového segmentu ze strany příjemce.

Služba se považuje za spojovanou, pokud má následující charakteristické vlastnosti:

Inicializuje se v ní virtuální okruh (například třícestné navazování komunikace) • Používá seřazení segmentů • Pracuje s potvrzováním • Využívá řízení toku

Poznámka Mezi typy řízení toku patří bufferování (vyrovnávání), posun okna a prevence zahlcení.

Posun okna

V ideálním případě procházejí data sítí rychle a efektivně. Jak ale jistě chápete, pokud by vysílající zařízení muselo zvlášť čekat na potvrzení každého segmentu a teprve poté mohlo vysílat další segment, přenos by byl pomalý. Mezi časem, kdy odesilatel odvysílá datový segment a kdy zpracuje příchozí potvrzení, uplyne ovšem nějaký čas a odesilatel tak může pokračovat ve vysílání. Počet datových segmentů (v bajtech), které odesílající počítač může odvysílat bez příjmu potvrzení, se nazývá okno.

Poznámka Okna řídí množství nezpracovaných, nepotvrzených datových segmentů.

Velikost okna tedy určuje, kolik informací se smí najednou přenášet z jednoho konce na druhý. Některé protokoly kvantifikují informace počtem paketů, v protokolu TCP/IP se ale počítají bajty. Na obrázku 1.1 1 vidíme jako příklad dvě velikosti okna - 1 a 3 bajty. Jestliže v konfiguraci nastavíme velikost okna 1, bude odesílající počítač čekat na potvrzení každého datového segmentu a teprve poté začne vysílat další. Má-li okno velikost 3, smí vysílající strana odvysílat tři datové segmenty i bez přijetí potvrzení. V našem zjednodušeném příkladu je odesílajícím i přijímajícím počítačem pracovní stanice. Ve skutečném provozu se v potvrzení uvádí počet bajtů, které se dají odeslat.

Potvrzení

Spolehlivé doručování dat zajišťuje integritu datového proudu, zaslaného z jednoho počítače na druhý přes plně funkční datovou linku. Zaručuje, že se data neztratí ani neduplikují (nezopakují). K tomu provádí takzvané pozitivní potvrzení s opakovaným vysíláním - kdy přijímající počítač musí zpětně komunikovat s odesilatelem a po přijetí dat mu musí zaslat potvrzení (acknowledgement). Odesilatel sleduje každý odeslaný segment a po odvysílání daného počtu segmentů čeká na potvrzení. Konkrétně tak při odeslání segmentu spustí časovač a pokud ten vyprší, aniž by se od příjemce vrátilo potvrzení, odvysílání jej znovu. Na obrázku 1.12 tak odesílající počítač vysílá segmenty 1, 2 a 3. Přijímající uzel potvrdí jejich příjem a v potvrzení si vyžádá odeslání segmentu 4. Jakmile toto potvrzení dostane odesilatel, pokračuje vysíláním segmentů 4, 5 a 6. Pokud se segment 5 do cíle nedostane, oznámí příjemce tuto událost tím, že potvrdí naposledy přijatý segment č. 4 a tím si vyžádá opakované zaslání segmentu č. 5. Odesílající počítač znovu odešle ztracený segment a počká na potvrzení, bez kterého nemůže začít vysílat segment 7.

Síťová vrstva

Síťová vrstva neboli vrstva 3 má na starosti adresování zařízení, sleduje umístění zařízení v síti a stanovuje nejvhodnější způsob dopravování dat - to znamená, že síťová vrstva musí přenášet i provoz mezi zařízeními, která k ní nejsou připojena lokálně. Zařízeními vrstvy 3 jsou směrovače (routers), které zajišťují služby směrování v datové síti. Jak celý proces funguje: směrovač přijme na svém rozhraní paket a zkontroluje v něm cílovou IP adresu. Pokud není paket určen přímo pro něj, vyhledá cílovou síťovou adresu ve směrovací tabulce. Takto určí výstupní rozhraní, rozdělí paket do rámců a odešle jej do lokální sítě (případně na linku WAN, pokud je k ní síť připojena). Jestliže směrovač nenajde ve směrovací tabulce žádnou položku pro cílovou síť, musí paket zahodit.

V síťové vrstvě se používají dva typy paketů, a sice datové pakety a aktualizace cest.

Datové pakety - tyto pakety přenášejí v datové síti vlastní uživatelská data. Protokoly, které zajišťují datový provoz, se nazývají směrované protokoly (protože jejich provoz musí směrovače směrovat, pozn. překl.)ipříkladem je IP nebo IPv6. O adresování IP hovoříme podrobněji v kapitole 2 a 3, o protokolu IPv6 v kapitole 13.

Pakety s aktualizacemi cest - pomocí těchto paketů zasílají směrovače sousedům aktualizované informace o sítích připojených k datové síti. Protokoly, které v rámci své činnosti odesílají aktualizace cest (aktualizace směrování), se nazývají směrovací protokoly a jejich příkladem jsou RIP, RIPv2, EIGRP a OSPF. Pakety s aktualizacemi cest slouží k vytváření a údržbě směrovacích tabulek v jednotlivých směrovačích.

 

Na obrázku 1.13 nás čeká příklad směrovací tabulky. Ta zde obsahuje následující informace:

Síťová adresa - konkrétní tvar adresy je závislý na protokolu. Směrovač si musí udržovat směrovací tabulku zvlášť pro každý směrovací protokol, protože každý z nich může sledovat síť s jiným schématem adresování (například IP, IPv6 a IPX) a zejména může mít jinou metriku. Můžete si je představit jako názvy jedné ulice zapsané v několika různých jazycích.

Rozhraní - výstupní rozhraní, přes které se bude odesílat paket určený pro danou síť.

Metrika - vzdálenost do cílové sítě. Různé směrovací protokoly vypočítávají metriku různými způsoby. O směrovacích protokolech si budeme podrobněji povídat v kapitolách 6 a 7 a pro zatím nám bude stačit, že některé z nich (konkrétně RIP) používají takzvaný počet přeskoků (jednoduchá metrika, jež definuje počet směrovačů na cestě do vzdálené sítě), zatímco jiné pracují se šířkou pásma, zpožděním linky, a dokonce počtem tiků (to je 1/18 sekundy).

A jak jsem se už zmínil, směrovače rozdělují všesměrové domény, což znamená, že se přes ně nezasílá všesměrový provoz. Vzpomenete si, k čemu je to dobré? Směrovače dělí také kolizní domény, k čemuž nám ovšem stačí i přepínač na vrstvě 2 (vrstvě datových spojů). Každé rozhraní směrovače představuje samostatnou síť, a proto musí mít přiřazeno jedinečné identifikační číslo sítě, které pak musí používat každý její hostitelský systém. Činnost směrovače v datové síti dokresluje obrázek 1 . 14. Zde je několik důležitých vlastností směrovačů, které je dobré si zapamatovat.

Směrovače ve výchozím nastavení nerozesílají všesměrové ani vícesměrové pakety. • Do kterého směrovače dalšího přeskoku bude paket odeslán, to směrovač určí podle logické adresy v hlavičce síťové vrstvy. • Pomocí přístupových seznamů, které vytvoří administrátor, může směrovač zajišťovat bezpečnost a určovat typy paketů, jež mají povolený vstup nebo výstup přes rozhranÍ.

Směrovače mohou podle potřeby poskytovat funkce přemosťování na vrstvě 2 a mohou současně směrovat přes stejné rozhranÍ. • Zařízení vrstvy 3 (v tomto případě směrovače) zajišťují spojení mezi virtuálními sítěmi LAN (VLAN).

Linková vrstva

Linková vrstva (vrstva datových spojů) zajišťuje fyzický přenos dat a zpracovává oznamování chyb, síťovou topologii a řízení toku. To znamená, že linková vrstva se pomocí hardwarové adresy postará o to, aby se zprávy dostaly ke správnému zařízení v síti LAN, a převádí zprávy ze síťové vrstvy do jednotlivých bitů k vysílání ve fyzické vrstvě. Linková vrstva formátuje zprávy do částí, které se nazývají datové rámce a k nimž doplňuje upravenou hlavičku s hardwarovou zdrojovou a cílovou adresou. Tyto dodatečné informace tvoří obálku nad původní zprávou, trochu jako různé motory a další zařízení připojené k lunárnímu modulu: i ony sloužily jen v určité fázi vesmírného letu a po jej ím skončení byly odpojeny. Průchod dat v síti je podobný.

Na obrázku 1.15 je zachycena linková vrstva podle specifikací Ethernet a IEEE. Poznamenejme, že standard IEEE 802.2 se používá ve spojení s ostatními normami IEEE, jejichž funkce dále rozšiřuje.

Zde je důležité si uvědomit, že směrovače se nacházejí na síťové vrstvě, a proto se vůbec nezajímají, kde je konkrétní hostitel umístěn: zajímají se jen o umístění celých sítí a o to, jak se do nich dostat - včetně sítí vzdálených. Za jedinečnou identifikaci každého zařízení umístěného v lokální síti je odpovědná linková vrstva. Aby mohl hostitel odesílat pakety do jednotlivých hostitelů lokální sítě, a také aby bylo možné přenášet pakety mezi směrovači, musí linková vrstva pracovat s hardwarovými adresami. Každý paket zaslaný ze směrovače do směrovače (nebo obecně z hostitele do hostitele) je obalen řídicími informacemi v linkové vrstvě, které se ale v přijímajícím směrovači odstraní a opět zůstane jen původní paket. Toto "obalování" paketů do rámců se provádí v každém přeskoku, až se paket dostane správnému přijímajícímu hostiteli. Podstatné je, že se paket po cestě nikdy neměníipouze je zapouzdřen s různými řídicími informacemi, které potřebuje pro správný průchod různými typy médií.

Linková vrstva IEEE Ethernet má dvě podvrstvy:

MAC (Media Access Control, 802.3) - podvrstva řízení přístupu k médiu. Definuje způsob odvysílání paketů do fyzického média. Přístup k médiu je postaven na soupeření, tedy způsobem "kdo dřív přijde, ten dřív mele", kdy všechny stanice sdílejí stejnou šířku pásma. Ve vrstvě je definováno fyzické adresování i logické topologie - ty vyjadřují cestu signálu fyzickou topologií. Na této podvrstvě může pracovat také linková disciplína, oznámení chyb (nikoli jejich korekce), doručování rámců ve správném pořadí a volitelné řízení toku.

LLC (Logical Link Control, 802.2) - podvrstva řízení logických spojů. Je odpovědná za identifikaci protokolů síťové vrstvy a za jejich zapouzdření. Hlavička LLC tak linkové vrstvě říká, co má udělat s paketem po přijetí rámce. Jinými slovy, hostitel přijme rámec a podle hlavičky LLC zjistí jeho určení - například protokol IP v síťové vrstvě. Podvrstva LLC může také zajišťovat řízení toku a seřazení řídicích bitů.

Přepínače a mosty, o kterých jsem se zmiňoval ze začátku kapitoly, pracují právě v linkové vrstvě a filtrují síť podle hardwarových adres MAC. Nyní o nich budeme hovořit podrobněji.

Přepínače a mosty v linkové vrstvě

Přepínání na vrstvě 2 se považuje za hardwarové přemostění, protože se při něm používá specializovaný hardware aplikačních zákaznických integrovaných obvodů (ASIe), které umí pracovat až s gigabitovými rychlostmi při velmi nízkém zpoždění.

Mosty a přepínače postupně čtou každý rámec procházející sítí. Zařízení vrstvy 2 pak zapíše zdrojovou hardwarovou adresu do filtrovací tabulky a sleduje, na kterém portu byl rámec přijat. Tyto informace, zapsané ve filtrovací tabulce mostu nebo přepínače, pomáhají při zjištění polohy určitého odesílajícího zařízení. Pozice přepínače v datové síti je naznačena na obrázku 1.16.

Poloha je nejdůležitějším "zaklínadlem" veškerého obchodu s realitami - a stejně tak veškeré činnosti zařízení vrstvy 2 a 3. Oba typy zařízení musí být schopny se dohodnout na komunikaci v síti, ale každý pracuje s jinou její částí. Zatímco zařízení vrstvy 3 (jako jsou směrovače) hledají konkrétní sítě, zařízení vrstvy 2 (přepínače a mosty) už hledají konkrétní zařízení. Dá se tedy říci, že sítě jsou pro směrovače tímtéž, čím pro přepínače a mosty jsou jednotlivá zařízení. A směrovací tabulka s "mapou" datové sítě odpovídá v přepínači nebo mostu filtrovací tabulce s "mapou" jednotlivých zařízení.

Po sestavení filtrovací tabulky začne zařízení vrstvy 2 odesílat rámce jen do toho segmentu, kde je umístěna cílová hardwarová adresa. Pokud se cílové zařízení nachází ve stejném segmentu jako je rámec, blokuje zařízení vrstvy 2 průchod rámce do dalších segmentů. Je-li cílová adresa v jiném segmentu, odešle se rámec jen do něj. Tento mechanismus se nazývá transparentní přemostění. Jestliže rozhraní přepínače přijme rámec, jehož cílová hardwarová adresa v jeho filtrovací tabulce není, rozešle rámec do všech připojených segmentů. Pokud toto neznámé cílové zařízení na zaslaný rámec odpoví, aktualizuje si přepínač filtrovací tabulku a zapíše jeho umístění. Cílovou adresou vysílaného rámce může být ale také všesměrová adresaipotom přepínač rozesílá rámec do všech připojených segmentů vždy.

Všechna zařízení, kterým se odesílá všesměrový provoz, tvoří stejnou všesměrovou doménu. To ovšem může být problém: zařízení vrstvy 2 přispívají k šíření všesměrových bouří, jež sráží výkon sítě dolů, a jediný způsob, kterým tyto bouře zastavíme, je zařízení vrstvy 3, tedy směrovač. Nahradíme-li rozbočovače v datové síti za přepínače, je největší výhodou, že každý jejich port tvoří samostatnou kolizní doménu (zatímco rozbočovač je naopak jednou obrovskou kolizní doménou). Všesměrové domény ale nerozdělíme ani s přepínačem, ani s mostem; tato zařízení veškerý všesměrový provoz rozesílají.

Další výhodou sítě LAN s přepínači oproti síti s rozbočovači je, že všechna zařízení v každém segmentu mohou vysílat současně - tedy pokud je ke každému portu připojen jen jeden hostitel a pokud do portu přepínače není zapojen rozbočovač. Jak si nejspíše sami domyslíte, u rozbočovačů může v daném okamžiku komunikovat vždy jediné zařízení síťového segmentu.

Převody mezi binární, dekadickou a hexadecimální soustavou

Než se dostaneme k závěru kapitoly a přejdeme k výkladu sady protokolů TCP/IP a adresování IP, které nás čeká v kapitole 2, je důležité si správně vysvětlit rozdíly mezi zápisem čísel v binární (dvojkové), dekadické (desítkové) a hexadecimální (šestnáctkové) soustavě a o tom, jak je mezi sebou můžeme převádět. Začneme tedy binárním formátem, který je velice jednoduchý.

Číslice jsou tu jen dvě - jedničky a nuly - a každé takové číslici se říká bit (binary digit, tedy binární číslice). Pracovat budeme zpravidla se skupinou 4 nebo 8 bitů najednou, kterým se říká nibble a bajt (česky někdy "půlslabika" a "slabika"). Nás ale v binárním formátu zajímá především výsledná desítková hodnota, která je nám nej ­ bližší. Ta jako obvykle záleží na pozici a každá číslice má dvojnásobnou hodnotu než číslice od ní vpravo. V tabulce 1.1 si ukážeme desítkové hodnoty každé bitové pozice v nibble a v bajtu. Nezapomeňte, že nibble má 4 bity, bajt jich má 8.

Binární hodnoty Hodnoty nibble Hodnota bajtu

8421                           128 64 32 16 8 4 2 1

Při převodu do desítkové soustavy stačí tedy sečíst hodnoty těch pozic, na kterých je ve dvojkovém zápisu jedničkaipozice s nulami nepočítáme. Kdybychom třeba do nibble zapsali samé jedničky, dostali bychom 8 + 4 + 2 + 1, tedy nejvyšší možnou hodnotu 1 5. Jiným příkladem může být nibble 1010; v něm jsou zapnuté bity 8 a 2, což znamená celkem 10. A jestliže dostaneme binární nibble 0 1 1 0, má desítkovou hodnotu 6, protože jedničkové jsou bity s hodnotou 4 a 2. Hodnoty bajtu mohou ale vyjadřovat i vyšší hodnotu než 1 5. Bajt složený ze samých jedniček - nezapomeňte, že jich je osm - vypadá takto:

11111111

V takovém případě musíme sečíst všechny bitové pozice; dostaneme maximální hodnotu bajtu:

1 2 8 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255

Příkladů můžeme vymyslet ještě spoustu; několik si jich nyní společně projdeme.

1 0 010110

Které bity jsou tu jedničkové? Jsou to bity 1 28, 1 6, 4 a 2, takže po sečtení je 1 28 + 16 + 4 + 2 = 1 50.

01101 100

Které bity jsou tu jedničkové? Bity 64, 32, 8 a 4; výsledek bude tudíž roven 64 + 32 + 8 + 4 = 108.

1 1 1010 00

A které bity jsou jedničkové zde? Vidíme bity 1 28, 64, 32 a 8, a proto máme 128 + 64 + 32 + 8 = 232. Také tabulku 1 .2 byste se před výkladem protokolu IP v kapitolách 2 a 3 měli naučit zpaměti.

Tabulka 1.2: Důležité binární hodnoty v dekadickém vyjádření

Binární hodnota                                               Dekadická hodnota

10000000                                                                   128

11000000                                                                   192

11100000                                                                   224

11110000                                                                   240

11111000                                                                   248

11111100                                                                   252

11111110                                                                   254

11111111                                                                   255

Hexadecimální neboli šestnáctkové vyjádření adres je úplně jiné než binární či dekadické - při převodu nečteme celé bajty, ale půlbajty, tedy nibbles. Čtyři bajty jednoho nibble definují totiž jednu hexadecimální číslici; kromě běžných číslic 0-9 se používají také písmena A, B, C, D, E a F, která zastupují číselné hodnoty l O, l l , 1 2, 13, 14 a 15.

Poznámka Výraz hexadecimální (česky šestnáctkový) se často zkracuje na hexa; je to číselná soustava, která kromě deseti běžných číslic používá zmíněná písmena A-F a tím dosahuje potřebných šestnáct číslic.

V tabulce 1 .3 jsou uvedeny binární a dekadické hodnoty jednotlivých hexadecimálních číslic.

Tabulka 1.3: Převodní tabulka binárních, dekadických a hexadecimálních hodnot

Hexadecimální hodnota        Binární hodnota       Dekadická hodnota

0                                                         0000                            0

1                                                         0001                            1

2                                                         0010                            2

3                                                         0011                            3

4                                                         0100                            4

5                                                         0101                            5

6                                                         0110                            6

7                                                         0111                            7

8                                                         1000                            8

9                                                         1001                           9

A                                                         1010                           10

B                                                         1011                           11

C                                                         1100                           12

D                                                        1101                           13

E                                                         1110                           14

F                                                         1111                           15

Všimli jste si, doufám, že prvních deset hexadecimálních číslic je shodných s dekadickými?

Uvažujme nyní hexadecimální hodnotu, například Ox6A (před hexa hodnoty se často zapisuje text Ox, který jinak nemá žádný zvláštní význam). Jaká je binární a dekadická hodnota čísla? K tomu stačí si zapamatovat, že každá hexadecimální číslice představuje jeden nibble a že tudíž dvě hexa číslice tvoří bajt. Převod do dvojkové (binární) soustavy je proto jednoduchý - vezmeme binární zápisy obou nibbles a napíšeme je vedle sebe: je-li 6 = 0 1 10 a A = 1010 (což je jinak dekadicky 1 0), bude celý bajt binárně 0 1 101010.

Při opačném převodu, tedy z binární formy do hexadecimální, stačí vzít bajt a rozdělit ho na číslice (nibbles). Vezměme jako příklad binární číslo 01010101. Rozdělíme je na nibbles - 0101 a 0101 - a protože jedničkové jsou tu bity s hodnotou 1 a 4, má každý nibble hodnotu 5. Celkem je tedy číslo hexadecimálně rovno Ox55. Desítkově pak číslo spočteme jako 64 + 16 + 4 + 1 = 85.

A tady je ještě jedno binární číslo:

1 1 0 0 110 0

Odpověď bude tedy 1 100 = 12 a 1 1 00 = 1 2, takže celé číslo hexadecimálně je OxCc. Desítkově je stejné číslo 1 28 + 64 + 8 + 4 = 204.

Ještě jeden, poslední příklad, než přejdeme do fyzické vrstvy. Uvažujme binární číslo:

10110101

Zde bude hexadecimální odpověď rovna OxB5, protože 101 1 převedeme na číslici B a 0101 je 5. Desítkový ekvivalent pak vypočteme jako 1 28 + 32 + 16 + 4 + 1 = 181.

Fyzická vrstva

Konečně jsme se "prokopali" až na dno, do fyzické vrstvy, která provádí dvě věci, a sice odesílání bitů a příjem bitů. Bity mají jen hodnoty 1 nebo O a jsou tedy něco jako číselná morseovka. Fyzická vrstva komunikuje přímo s různými typy komunikačních médií, která pak reprezentují bitové hodnoty různými způsoby. Některé používají zvukové tóny, jiné takzvané přechody stavu - to jsou změny nízké úrovně napětí na vysokou a naopak. Pro každý typ média jsou definovány zvláštní protokoly, které popisují správné bitové vzorky, způsob kódování dat do signálů v médiu a různé vlastnosti rozhraní připojeného k fyzickému médiu.

Fyzická vrstva specifikuje elektrické, mechanické, procedurální a funkční požadavky na aktivaci, udržení a deaktivaci fyzické linky mezi koncovými systémy. V této vrstvě je také definováno rozhraní mezi terminálovým zařízením DTE a komunikačním zařízením DCE (někde se dodnes DCE nazývá "zařízení ukončující datový okruh"). Komunikační zařízení DCE je obvykle umístěno u poskytovatele služeb, zatímco terminálové zařízení DTE je k němu připojeno. K nabízeným službám přistupuje DTE nejčastěji přes modem nebo přes jednotku kanálových služeb a jednotku datových služeb (CSU/DSU).

Konektory fyzické vrstvy a různé fyzické topologie jsou definovány v modelu OSI jako standardy a umožňují tak komunikaci různorodých standardů. S cíli zkoušky CCNA souvisí jen standardy IEEE Ethernet.

Rozbočovače ve fyzické vrstvě

Rozbočovač (hub) je fakticky opakovačem s více porty. Každý opakovač jednoduše přijme digitální signál, zesílí jej nebo znovu vygeneruje, a poté jej rozešle přes všechny aktivní porty, aniž by jakkoli zkoumal jakákoli data. Totéž dělá i aktivní rozbočovač: digitální signál přijatý ze segmentu sítě na portu rozbočovače znovu vygeneruje nebo zesílí a odvysílá přes všechny ostatní porty. To znamená, že všechna zařízení zapojená do rozbočovače tvoří stejnou kolizní doménu a také stejnou všesměrovou doménu. Pozici rozbočovače v síti vidíme na obrázku 1.17.

Také rozbočovače, stejně jako opakovače, neprovádějí žádnou analýzu provozu, a to jak při vstupu, tak i při dalším vysílání do jiných částí fyzického média. Každé zařízení připojené k rozbočovači tak musí naslouchat, jestli j iné zařízení vysílá. Rozbočovač vytváří topologii fyzické hvězdy, kde rozbočovač tvoří střed a kabely od něj paprskovitě míří na všechny strany. Také na pohled vypadá topologie sítě jako hvězda; ethernetové sítě mají oproti tomu topologii logické sběrnice, což znamená, že signál musí sítí projít vždy z jednoho konce na druhý.

Poznámka Rozbočovafe a opakovafe mohou zvětšit prostor pokrytý jedním segmentem sítě LAN, i když tento postup nedoporufuji; vhodnější jsou přepínafe sítí LAN, které jsou přitom dostupné téměř pro každou situaci.