Kapitola 18. Základy síťování

Obsah

18.1. IP adresy a směrování
18.2. IPv6 – Internet další generace
18.3. Překlad jmen
18.4. Konfigurace síťového připojení pomocí YaST
18.5. Správa sítě s programem NetworkManager
18.6. Manuální konfigurace sítě
18.7. smpppd jako pomocník s vytáčeným připojením

Abstrakt

Linux je dítě Internetu. Nabízí proto samozřejmě všechny potřebné funkce pro integraci do všech typů sítí. Linuxový protokol TCP/IP má řadu funkcí a poskytuje řadu služeb, které zde popisujeme. Přístup k síti pomocí síťové karty, modemu nebo jiného zařízení lze nakonfigurovat nástrojem YaST. Je možná i manuální konfigurace. V této kapitole jsou popsány pouze základní síťové mechanismy a konfigurace.

Linux a jiné unixové operační systémy používají především tzv. TCP/IP protokol. V tomto případě se nejedná o jeden, ale o celou skupinu síťových protokolů, která poskytuje různé služby. Protokoly uvedené v tabulce 18.1 – „Různé protokoly z rodiny TCP/IP“ slouží k výměně dat mezi dvěma stroji přes TCP/IP. TCP/IP sítě tvoří navzájem provázanou celosvetovou síť známou pod jménem Internet.

RFC dokumenty (Request for comments) popisují různé internetové protokoly a související procedůry operačního systému a aplikací. Pokud si tedy chcete prohloubit své znalosti o určitém protokolu, pak je pro vás odpovídající RFC dokument to pravé. RFC naleznete na internetové adrese http://www.ietf.org/rfc.html

Tabulka 18.1. Různé protokoly z rodiny TCP/IP

Protokol

Popis

TCP

(angl. Transmission Control Protocol) Spojovací zabezpečený protokol. Přenášená data jsou aplikací odesílána jako datový tok a samotný operační systém je upravuje do formátu vhodného pro přenos. Data pak přichází cílové aplikaci opět ve formě datového toku tak, jak byla odeslána. TCP zajišťuje, že se po cestě žádná data neztratí. TCP se používá tam, kde je důležité pořadí dat.

UDP

(angl. User Datagram Protocol) Nezabezpečený protokol. Data jsou odesílána ve formě paketů. Není garantováno pořadí příchodu dat příjemci a stejně tak se může stát, že se některé pakety ztratí. UDP se hodí pro datově orientované aplikace (např. přenos multimédií) a nemá žádné prodlevy způsobené ověřováním tak, jak je tomu u TCP.

ICMP

(angl. Internet Control Message Protocol) Jedná se o servisní protokol, který sděluje stav chyb a řídí chování počítačů při přenosu TCP/IP dat. Navíc podporuje ICMP echo režim, který používá program ping.

IGMP

(angl. Internet Group Management Protocol ) Tento protokol řídí chování počítačů při IP multicast. Naneštěstí IP multicast přesahuje rozsah této publikace.

Jak je vidět v tabulce 18.1 – „Zjednodušený model vrstev TCP/IP“, výměna dat probíhá v několika vrstvách. Vlastní síťová vrstva představuje nezabezpečený přenos dat pomocí IP (angl.Internet Protocol). Nad IP je TCP (angl. Transmission Control Protocol), který, do jisté míry, zajišťuje bezpečnost přenášených dat. IP sám je zase nadstavbou hardwarového protokolu, např. Ethernetu.

Obrázek 18.1. Zjednodušený model vrstev TCP/IP

Zjednodušený model vrstev TCP/IP

Takřka všechny hardwarové protokoly jsou paketově orientovány. Je tedy třeba přenášená data zabalit do malých paketů a není možné posílat vše v jednom. Proto také TCP/IP pracuje s menšími datovými jednotkami. Maximální velikost jednoho TCP/IP paketu je skoro 64 KB (kilobytů). Obvykle jsou tyto pakety značně menší, protože limitujícím faktorem je síťový hardware. Takže např. maximální velikost datových paketů v Ethernetu je zhruba 1500 bytů. Tomu také odpovídá velikost TCP/IP paketů, pokud jsou data posílána přes Ethernet. Pokud posíláte větší objem dat, musí je operační systém rozdělit do více paketů a ty pak poslat.

Aby mohla každá vrstva plnit přidělenou funkci, musí přidat doplňující informace do paketu. Ty jsou uloženy v hlavičce paketu. Každá vrstva připojí malý blok dat, tzv. hlavičku protokolu (angl. protocol header. Paket v ethernetové síti může vypadat jako na obrázku 18.2 – „TCP/IP paket v Ethernetu“. Kontrolní součet je umístěn na konci paketu, ne na začátku. To usnadňuje život hardwaru.

Obrázek 18.2. TCP/IP paket v Ethernetu

TCP/IP paket v Ethernetu

Pokud chce nějaká aplikace posílat data přes síť, pak proběhnou data jednotlivými vrstvami, které jsou (s výjimkou hardwarové vrstvy) implementovány do linuxového jádra. Každá z vrstev upraví data tak, aby mohla být předána níže položené vrstvě. Nejnižší vrstva je pak zodpovědná za poslání dat. Při příjmu dat probíhá to samé, ale v opačném gardu. Paket je zde loupán jako cibule a v každé vrstvě jsou odstraňovány hlavičky protokolu. Čtvrtá vrstva pak připravuje data pro aplikaci na cílovém počítači. Přitom komunikuje každá vrstva pouze s vrstvou přímo nad, resp. pod ní. Aplikace se tedy nemusí starat o to, zda data půjdou přes 100 MB FDDI síť nebo 56 kbit vytáčenou linku. Stejně tak je např. transportní vrstvě jedno, zda jsou posílaná data správně zabalena.


18.1. IP adresy a směrování

Následující část je věnována protokolu IPv4. Informace o IPv6 naleznete v části 18.2 – „IPv6 – Internet další generace“.

18.1.1. IP adresa

Každý počítač v internetové síti má jednoznačnou 32bitovou (4 byty) adresu. Ta může vypadat jako v příkladu 18.1 – „Zápis IP adres“

Příklad 18.1. Zápis IP adres

IP adresa (binárně):   11000000 10101000 00000000 00010100
IP adresa (decimálně):      192.     168.       0.      20

Tyto čtyři byty jsou v desítkové soustavě odděleny tečkou. IP adresa je přiřazena každému počítači, resp. každému síťovému rozhraní, takže už nemůže být použita v jakémkoliv jiném počítači na celém světě. Sice existují výjimky z tohoto pravidla, ale zde nehrají žádnou roli.

Také Ethernetové karty obsahují jednoznačnou adresu, tzv. MAC (angl. Media Access Control). Ta je 48 bitů dlouhá, celosvětově jedinečná a je výrobcem kartě jednoznačně přidělena. Má ale jeden obrovský nedostatek. MAC adresy netvoří hierarchický systém, ale jsou přidělovány víceméně náhodně. Není je proto možné používat pro adresování vzdálených počítačů. Rozhodující úlohu ale tyto adresy hrají při komunikaci počítačů v lokální síti (a jsou součástí hlavičky paketů pro druhou vrstvu).

A nyní zpět k IP adresám. Jak již napovídá výše uvedený text, tvoří IP adresy hierarchický systém. Do poloviny devadesátých let byly IP adresy pevně členěny do jednotlivých tříd. Tento systém se ukázal jako neflexibilní a proto se přestal používat. Používá se pouze směrování bez tříd (CIDR – Classless Inter Domain Routing).

18.1.2. Síťové masky a směrování

Protože počítač s IP adresou 192.168.0.0 nemůže vědět, kde se nachází počítač s IP adresou 192.168.0.20, byly zavedeny síťové masky. Zjednodušeně řečeno síťové masky sdělují počítači s IP adresou, co je uvnitř a co vně. Počítače, které se nacházejí uvnitř (ve stejné části počítačové sítě) spolu mohou komunikovat přímo. Při přístupu k počítačům nacházejícím se vně je třeba použít tzv. bránu (angl. gateway) nebo router. Protože má každé síťové rozhraní svou IP adresu, může to být poměrně komplikované.

Předtím, než se paket vydá na svou cestu, proběhne v počítači následující proces. Cílová adresa je se síťovou maskou binárně spojena pomocí operátoru AND. Také adresa odesílatele je spojena se síťovou maskou pomocí operátoru AND. Pokud je k dispozici více síťových rozhraní, pak jsou zpravidla ověřeny všechny adresy odesílatele. Výsledky spojení adres (AND) jsou pak porovnány. Pokud jsou tyto výsledky zcela shodné, nachází se cílový počítač ve stejné části sítě. V opačném případě je třeba použít bránu. To znamená, že čím více 1 bitů se nachází v síťové masce, tím méně počítačů je přímo dostupných. V následující tabulce je uvedeno několik příkladů:

Příklad 18.2. Spojování IP adres se síťovou maskou


IP adresa     (192.168.0.20):  11000000 10101000 00000000 00010100
síťová maska (255.255.255.0):  11111111 11111111 11111111 00000000
------------------------------------------------------------------
výsledek  (binární):           11000000 10101000 00000000 00000000
výsledek  (decimální):              192.     168.       0.       0

IP adresa     (213.95.15.200): 11010101 10111111 00001111 11001000
síťová maska  (255.255.255.0): 11111111 11111111 11111111 00000000
------------------------------------------------------------------
výsledek (binární):            11010101 10111111 00001111 00000000
výsledek (decimální):               213.      95.      15.       0

Síťová maska se zapisuje, tak jako IP adresa, ve formě decimálních čísel oddělených tečkami. Protože má síťová maska také velikost 32 bitů, jsou jednotlivá čísla psána za sebe. Které počítače jsou bránou nebo které oblasti adres jsou přístupné přes které síťové rozhraní, je třeba nakonfigurovat.

A následuje další příklad – všechny počítače připojené na jeden ethernetový kabel se nacházejí ve stejné části sítě a jsou přímo přístupné. I když je v Ethernetu rozdělují tzv. switche a bridge, je možné k počítačům přistupovat přímo.

Pokud chcete překlenout delší vzdálenost, není již možné použít Ethernet. Pak je třeba IP pakety převést na jiný hardware (např. FDDI nebo ISDN). Taková zařízení se nazývají routery, resp. brány. Linuxový počítač může plnit i tyto úlohy, tato volba se označuje jako ip_forwarding.

Pokud je nakonfigurována brána, je paket poslán na odpovídající gateway. Ta se pak pokusí paket přeposlat dále. To se opakuje na každém dalším počítači tak dlouho, než paket dosáhne cílový počítač nebo vyprší jeho životnost TTL (angl. time to live).

Tabulka 18.2. Vyhrazené adresní prostory

Adresa

Popis

Základní síťová adresa

Síťová maska spojená (AND) s libovolnou adresou v síti, tedy výsledek z tabulky 18.2 – „Spojování IP adres se síťovou maskou“. Tuto adresu nelze přiřadit žádnému počítači.

Oznamovací adresa

Ta říká: hovoř se všemi počítači v této části sítě. Získá se binární inverzí síťové masky a spojením výsledku se základní síťovou adresou pomocí operace OR. Náš příklad vede k výsledku 192.168.0.255. Ani tato adresa nemůže být přiřazena žádnému počítači.

Lokální počítač

Adresa 127.0.0.1 odkazuje na každém počítači na tzv. loopback device. Pomocí této adresy je možné navázat spojení s vlastním počítačem.

Protože je třeba, aby byly IP adresy jedinečné, nemůžete si zvolit libovolné adresy. Abyste i přesto mohli postavit síť na bázi IP adres, existují tři oblasti, které můžete ihned použít. S těmito adresami se ale bez překladu adres nemůžete připojit k Internetu. Tyto adresové oblasti jsou definovány v RFC 1597 a jejich seznam si můžete prohlédnout v tabulce 18.3 – „Neveřejné adresní rozsahy“.

Tabulka 18.3. Neveřejné adresní rozsahy

síť / síťová maska

oblast

10.0.0.0 / 255.0.0.0

10.x.x.x

172.16.0.0 / 255.240.0.0

172.16.x.x - 172.31.x.x

192.168.0.0 / 255.255.0.0

192.168.x.x