Jak fungují počítačové sítě? 3. díl

<p>&#160;</p>
<p>&#160;</p>
V závěrečném dílu seriálu o počítačových sítích se podíváme na způsob adresování. Každý určitě někdy slyšel termín IP adresa nebo maska. V tomto článku se s nimi seznámíme trochu blíže.
Josef Vavřina 11. 8. 2009

Sdílet

Jak již víme z dřívějších dílů seriálu, směrování podle adresy je základním úkolem síťové vrstvy ISO/OSI modelu. V modelu TCP/IP se tato adresa nazývá IP adresa. IP adresa (zdroje a cíle) je součástí každého datagramu a podle ní se směrovače v síti rozhodují, kam vlastně mají tento datagram poslat. Tato adresa je tedy nezbytná část v procesu směrování.

Formát IPv4 adresy

IPv4 adresa se skládá ze 4 oktetů oddělených tečkami, dohromady tedy dávajících 32bitů adresy. Adresy, které používáme my, jako uživatelé jsou v desítkovém vyjádření jen kvůli lepšímu zapamatování a srozumitelnosti pro člověka. Síťová zařízení si námi zadané adresy převedou do binární podoby, s níž umějí pracovat. Pokud ovládáte binární soustavu, dokážete si spočítat, že maximální velikost čísla, vyjádřeného binární soustavou v osmi bitech je 255. V každém oktetu je tedy přípustný interval hodnot 0-255. Přesnější pravidla si ještě zmíníme.

<p>Příklad IPv4 adresy</p>

Příklad IPv4 adresy

Příklad IPv4 adresy v desítkové i binární podobě

Pokud někdo neovládá binární soustavu a nechápe tak, jak se v obrázku nahoře došlo k binární podobě, ukážu pro něj na následujícím obrázku převod 168 na binární číslo, z čehož snad převod pochopí a zbytek bude srozumitelnější.

 

<p>Ukázka převodu mezi dekadickou a binární soustavou</p>

Ukázka převodu mezi dekadickou a binární soustavou

Ukázka převodu mezi dekadickou a binární soustavou

Třídy

V původním návrhu IP protokolu se nepočítalo s podsítěmi. Podsíť se vytvoří rozdělením sítě na menší celky. Bylo používáno tříd na určení rozsahu sítě. Třída určovala maximální možný počet stanic v přidělené síti. Adresa se skládá ze síťové části a části pro hosty. Část pro hosty určuje právě přidělený adresní rozsah. Největší rozsah byl přidělován s třídou A, ve které první oktet začínal nulou, první byte byl tedy v rozsahu (0-127) a defaultní maska sítě byla 255.0.0.0, stanic v takové síti mohlo být více než 16 milionů. O maskách si povíme více později. Dalšími třídami byly B (rozsah 128-191, maska 255.255.0.0), C třída (192-223, maska 255.255.255.0), D pro multicasty a E pro vyhrazené adresy. Problém tříd byl v nedostatečně přesném přidělování adres, těmi bylo totiž neskutečně plýtváno. Pokud například firma potřebovala připojit do internetu 300 počítačů, dostala přiděleny dvě "Céčkové" sítě, tedy více než 500 možností pro hosty. Toto je jen malý příklad, plýtváno bylo mnohem více s většími rozsahy, firma si mohla říci rovnou o celou "Béčkovou" síť.

VLSM

Nikdo z tvůrců Internet Protocolu (IP) neočekával tak masivní rozšíření Internetu. S jeho obrovským boomem se dostavily obavy o dostatek IPv4 adres, které ubývaly neuvěřitelným tempem. Pro zpomalení úbytku se vymyslelo několik způsobů. Bylo nutné se vypořádat s masivním plýtváním nepoužívaných adres a byly vynalezeny mechanismy na jemnější práci s přidělovanými adresami.

Největším přínosem byl kromě NATu právě VLSM (Variable Length Subnet Masking), které zavádělo používání masek pro rozdělování do subnetů. V praxi to funguje tak, že poskytovatel nemusí už přiřazovat například pro 25 počítačů celou Céčkovou síť, ale může přiřadit rozsah odpovídající lépe požadovanému počtu, tedy jen malou část celé větší sítě. Například pro tento počet hostů by byla dříve poskytnuta síť řekněme 183.24.10.0. Což znamená, že by mohly být použity adresy 183.24.10.1-183.24.10.254 (0 je adresa sítě, 255 broadcast) a to by bylo pro malý počet hostů neefektivní. S použitím VLSM by byla přiřazena síť 183.24.10.0/27.

Rozdíl je "pouze" v lomítku a čísle za ním. Toto číslo vyjadřuje právě masku. Maska určuje v IP adrese rozdíl mezi síťovou částí a částí pro hosty. Zapisuje se výše uvedeným způsobem s lomítkem nebo stejně jako IP adresa do oktetů. Číslo za lomítkem určuje počet bitů v adrese, které představují síťovou část. Pokud bychom chtěli tuto masku (/27) zapsat do oktetů, bylo by to následujícím způsobem: 255.255.255.224. Jasnější to bude po popisu na obrázku níže.

<p>Příklad použití VLSM</p>

Příklad použití VLSM

Příklad VLSM - maska rozdělí adresu na 2 části

Z tohoto by mělo být zřejmé, že například počítače s IP adresou 183.24.10.2 a 183.24.10.35 jsou každý v jiné síti. Maskou a adresou sítě jsme omezili rozsah první sítě na 183.24.10.0-31. Pro komunikaci mezi nimi je už tedy zapotřebí směrovač s informacemi o obou sítích.

Byly zmíněny slova jako adresa sítě nebo broadcast. Co si pod tím představit? Adresa sítě je adresa, podle které směrovače identifikují jednotlivé sítě. Každý ze směrovačů v síti samozřejmě nemá a nemůže mít ponětí o každé stanici a její adrese. Proto si směrovače v routovacích tabulkách vyměňují jen adresy sítí. Konkrétní stanici pak dohledá poslední směrovač nebo spíše až přepínač za ním. Broadcast je adresa vyhrazená pro zasílání zpráv všem stanicím v síti. Tato adresa je poslední v rozsahu. První a poslední adresa rozsahu je tedy nemožné přiřadit stanicím. Kromě broadcastu existují i jiné "casty" - unicast, který označuje komunikaci pouze s jediným zařízením a multicast označující komunikaci se skupinou hostů. (V IPv6 se broadcast nepoužívá, zavádí se anycast)

NAT (PAT) a DHCP

Dalším z mechanismů, který obrovským způsobem přispěl k tomu, že je stále ještě možnost čerpat IPv4 adresy je NAT neboli Network Address Translation, česky překlad síťových adres. Někdy se můžete setkat také s označením maškaráda. NAT dovoluje vystupovat více stanicím pod jednou společnou veřejnou adresou. Samotné stanice mají tzv. privátní adresy, které díky NATu nejsou z vnějšku viditelné a dosažitelné. NAT je tedy i příspěvek k bezpečnosti sítě. Při komunikaci s vnějším světem se stanicím přiřadí náhodné číslo portu, podle kterého pak směrovač pozná, komu směřovat odpověď například od web serveru. Ačkoliv samotný NAT toto neumožňuje (jedná se o překlad 1:1, kdy je jedné veřejné adrese přiřazena jedna privátní, bez použití portů) a mechanismus, který umožní výše popsané, se nazývá PAT (nebo NAPT), používá se často pouze označení NAT.

<p>Ukázka NAT (PAT). Všechny počítače ze sítě 192.168.1.0 do internetu vystupují s adresou 88.103.26.132. Jsou rozlišeny pomocí náhodně vybraných čísel portů. Screen je pořízen z programu Cisco Packet Tracer</p>

Ukázka NAT (PAT). Všechny počítače ze sítě 192.168.1.0 do internetu vystupují s adresou 88.103.26.132. Jsou rozlišeny pomocí náhodně vybraných čísel portů. Screen je pořízen z programu Cisco Packet Tracer

Ukázka NAT (PAT) - Počítače ze sítě 192.168.1.0 vystupují v internetu jako 88.103.26.132. Screen je pořízen z programu Cisco Packet Tracer

Zmínil jsem privátní adresy, což jsou adresy vyhrazené pouze pro adresování ve vnitřních sítích. Existují 3 rozsahy privátních adres, 10.0.0.0-10.255.255.255 (10.0.0.0/8), 172.16.0.0-172.31.255.255 (172.16.0.0/12) a 192.168.0.0-192.168.255.255 (192.168.0.0/16).

K adresování vnitřní sítě se často používá tzv. DHCP (Dynamic Host Configuration Protocol). Tento protokol se používá k automatickému přiřazování IP adres stanicím. DHCP serveru (nebo routeru se spuštěným DHCP) se určí rozsah adres, které může přiřazovat a ty jsou pak propůjčovány koncovým stanicím. Mimo IP adres přiřazuje i gateway a DNS server.

Závěr

V závěrečné části seriálu o počítačových sítích jsme velice rychle proběhli v současnosti stále ještě rozšířené IPv4 adresování. Doufám, že jsem srozumitelně vysvětlil použití a důležitost masky. IPv4 adresy stále docházejí i přes mechanismy tomu zabraňující. Naštěstí je vyzkoušená a již v provozu náhrada v podobě IPv6, který se pozvolna implementuje do provozu. Ale o tom třeba někdy příště.

Autor článku