Vyšlo v měsíčníku IT-NET, v únoru 2002
Vytištěno z adresy: http://www.earchiv.cz/b02/b0200002.php3

Přepojování na vrstvě …

Nyní si ale představme, že naše "krabička" uprostřed dvou nebo více částí sítě alespoň do určité míry rozumí přenášeným bitům a pozná, že tvoří určitý celek (datový blok). Pokud naše krabička dokáže správně interpretovat alespoň část obsahu tohoto bloku, otevírají se jí obrovské možnosti v tom, jak s ním může naložit. Může například dojít k závěru, že jej má předat jen jedním směrem (cíleně do jednoho ze segmentů, ke kterým je připojena). Nebo že jej nemusí vůbec nikam předávat a může jej zahodit (pokud takovýto datový blok nemusí resp. nemá opustit segment ze kterého přišel.

Důležité samozřejmě je ono "správně interpretovat alespoň část datového bloku". Zde je nutné si uvědomit, jak takovýto datový blok obecně vzniká - tak, že na nejvyšší (aplikační) vrstvě je zadán k přenosu určitý "užitečný" blok dat, a každá z vrstev k těmto datům přidá svou vlastní hlavičku se svými konkrétními údaji (hlavně: identifikaci příjemce a odesilatele, plus event. další údaje). Lze to přirovnat k postupnému vkládání původních dat do obálek, jak naznačuje následující obrázek.

Pokud použijeme tuto metaforu s obálkami, pak poslední (největší, nejvíce vnější) obálka odpovídá linkové vrstvě (2. vrstvě sedmivrstvého modelu ISO/OSI), a obsahuje mj. linkovou (např. ethernetovou) adresu odesilatele a příjemce. Další (více vnitřní) obálkou je obálka s hlavičkou patřící síťové vrstvě - zde jsou především síťové adresy odesilatele a příjemce (nebo identifikátor virtuálního přenosového okruhu). Další (ještě více vnitřní) obálkou je hlavička patřící vrstvě transportní a obsahuje tzv. čísla portů odesilatele a příjemce (vypovídající o typu aplikace, které data patří). No a ještě hlouběji pak jsou samotná aplikační data - například URL odkaz na stránku, kterou si WWW prohlížeč právě vyžádal na určitém WWW serveru (nebo je to již obsah příslušné stránky, jako odpověď na požadavek).

Vraťme se nyní znovu k fungování naší "krabičky". Tomu, že z jedné strany přijme nějaký datový blok a následně jej předá dál do jiné strany (segmentu, sítě apod.) se obvykle říká "přepojování". Potom také můžeme naší "krabičce" začít říkat "přepojovací uzel".

Skutečnost, že uvnitř přepojovacího uzlu dochází k přepojování celých datových bloků, se obvykle zdůrazňuje termínem "přepojování paketů" (packet switching) - i když příslušné bloky mohou být označeny i jinak než "pakety". V praxi ale velmi záleží na tom, jak hluboko se naše "krabička" dokáže podívat do přenášeného bloku a rozumět tomu, co zde najde:

  • pokud se přepojovací uzel rozhoduje podle údajů příslušejících linkové vrstvě (největší, resp. nejvíce vnější obálce ve smyslu předchozí metafory), jedná se o přepojování na linkové vrstvě (na 2. vrstvě ISO/OSI). Na úrovni této vrstvy jsou dostupné především tzv. linkové adresy, které jsou dány použitou linkovou technologií. U Ethernet jde o 48- bitové ethernetové adresy atd. Dále může být na této úrovní znám typ nákladu (protokol, podle kterého jsou formátována data v datové části - například že jde o paket protokolu IP z rodiny TCP/IP, nebo že jde o paket novellských protokolů IPX apod.). Datovému bloku, který se přenáší na úrovni linkové vrstvy, se říká rámec (frame). Přepojovací uzel, který funguje právě popsaným způsobem "na úrovni linkové vrstvy", se označuje jako tradičně most, nověji jako switch (viz dále).
  • pokud přepojovací uzel dokáže správně interpretovat údaje příslušející síťové vrstvě a rozhodovat se podle nich, pak se jedná o přepojování na síťové vrstvě (na 3. vrstvě ISO/OSI). Na úrovni této vrstvy jsou dostupné především tzv. síťové adresy - například 32-bitové IP adresy (v sítích na bázi protokolů TCP/IP), či IPX adresy apod. Dále na této úrovni mohou být dostupné informace o typu "nákladu" (např. že data patří protokolu TCP, nebo UDP z rodiny TVP/IP, případně jinému transportnímu protokolu). Datovému bloku, který odpovídá síťové vrstvě (lze si jej představit jako "obálku, obsaženou v obálce linkové vrstvy", resp. jako obsah linkového rámce) se v užším slova smyslu říká paket (anglicky: packet). Přepojovací uzel, který funguje tímto způsobem, se označuje jako směrovač (anglicky: router)
  • dokáže-li přepojovací uzel správně interpretovat údaje příslušející transportní vrstvě a rozhodovat se podle nich, pak se jedná o přepojování na transportní vrstvě (na 4. vrstvě ISO/OSI). Hlavní informace, dostupné na této vrstvě, jsou tzv. čísla portů (port numbers). Tyto porty je nejlépe si představit jako přechodové body mezi transportní a aplikační vrstvou, skrz které s data předávají konkrétnímu typu aplikace. Z čísla portu tak lze poznat, kterému typu aplikace jsou data určena (resp. od kterého typu aplikace pochází). Příklad: data adresovaná portu č. 80 jsou určena pro WWW server, a tudíž představují nějaký požadavek na tento server.
  • dokáže-li přepojovací uzel interpretovat i samotná data patřící konkrétní aplikaci (a rozhodovat se podle nich), pak se jedná o přepojování na aplikační vrstvě (na 7. vrstvě ISO/OSI).

Pokud postrádáte ještě přepojování na 5. a 6. vrstvě, pak vězte že většina dnešních sítí je budována nikoli na bázi síťové architektury ISO/OSI, která má 7 vrstev, ale na bázi architektury TCP/IP, která má pouze 4 vrstvy (viz obrázek) - kromě toho, že obě nejspodnější vrstvy ISO/OSI sdružuje do jediné své vrstvy nemá právě 5. a 6. vrstvu ISO/OSI (vrstvu relační a prezentační). Proto jsou 4. a 7. vrstva (transportní a aplikační) v prostředí TCP/IP vlastně sousední!