Další Předchozí Obsah

6. Počítačové sítě

Zde bych se nejprve zminil o dvou z rodiny protokolu, kterymi komunikuji UNIX systemy. Jak jiste vite je to TCP/IP. TCP/IP vzniklo proto, ze pocitace v dobe vzniku tohoto standartu byly propojeny ruznym hardwarem. Pozadavkem bylo spojit pocitace do siti tak, aby aplikace nevedely nic o slozitosti spojeni pocitacu a mohly komunikovat jednoduse pres standartni systemove sluzby/rozhrani.

6.1 Jak tedy funguje TCP/IP?

IP

Vas pocitac je v siti identifikovan 32 bitovou adresou (zapisuje se v teckove notaci XX.XX.XX.XX, priklad 198.45.33.21). Pres toto cislo by s vami mel mit moznost komunikovat kdokoli z celeho internetu (s jeho unikatni IP adresou). Prenos paketu mezi pocitaci v ruznych sitich obstaravaji nejake routery, gatewaye atd., ale to vas nezajima. Vrstva IP zajistuje pouze posilani datagramu (paketu dat) jednim smerem, funguje tedy jako napr. poslani pohlednice nebo dopisu postou (vrstva IP nezarucuje doruceni ani poradi paketu v jakem byly vyslany, v tom je velice podobna ceske poste).

TCP

Vyssi vrstva site, vyuziva sluzeb IP vrstvy, pro spolehlive spojeni mezi pocitaci. TCP tedy vypada tak, ze jeden pocitac zavola druhy na urcitem portu urcenem pro urcitou sluzbu (well known port), volany pocitac si u sebe alokuje nejaky jiny volny port (ucelem je uvolneni puvodniho portu pro dalsi klienty) a pak uz si jen predavaji data, tedy priblizne neco jako telefon (ne v ceske republice). TCP zajistuje spolehlivbou vymenu dat "rozhovoru pocitacu". Takze co na jednom konci teto "sitove roury" poslete, dostane druhy pocitac presne stejne (to ze se muze prerusit spojeni sem nezahrnuji). Vrstva TCP vola vrstvu IP k poslani datagramu. Pokud dojde k ztrate IP datagramu, tak TCP jejich vysilani opakuje.

Takze zakladni jednotkou komunikace je IP datagram. Je to hlavicka+blok dat, kde je uvedeno pro a od koho datagram je (32 bitovou adresou napr. 192.35.25.17 coz je 0xC0231911 v hexadecimalnim zapisu), jak dlouhy je a jak dlouho ma paket maximalne zustat nazivu (pokud zabloudi tak po xxx sekundach je zlikvidovan).

Tyto datagramy jsou posilany mezi pocitaci ruznym hardwarem. Od lokalniho loopbacku pres jednoduche spojeni pres seriovy kabel nebo modem (zapouzdrovaci protokoly SLIP,CSLIP,PPP) pres paralelni kabel (PLIP) po Ethernet nebo jinou sit ci typ pripojeni (T1, ARCNET, fddi, atm,.....) a treba i amaterskou radio sit. Konfiguraci nekolika nejobycejnejsich typu spojeni nyni uvedu.

6.2 Síťové adresy a adresy stanic v síti

V TCP/IP se adresuji site, pakety jsou smerovany mezi sitemi zarizenimi zvanymi routery (krabice co vedi kam co poslat) pouze na zaklade adresy cilove site. Po doruceni do koncove site se datagram preda cilovemu pocitaci.

Aby se predeslo konfliktum s ruzne velkymi sitemi, tak se zavedly tri typy, kazdy s jinym moznym maximalnim poctem pocitacu. Rozdil v adresovani techto 3 typu siti je v tom, kolik bytu z IP je pouzito na identifikaci site a zbytek na identifikaci pocitace v siti. Pri smerovani paketu je nutne znat velikost cilove site - tu si routery zjisti z 1. bajtu IP adresy a vyslou datagram dal podle svych tabulek.

Adresa kazde site musi byt unikatni (existuje organizace ktera vam na pozadani prideli adresu site na Internetu, ale vubec to neznamena ze vase domaci spojeni s kamaradem pomoci PPP musite registrovat jako sit).

Jeden pocitac muze mit i vic IP adres, pricemz se necisluji IP adresou pocitace ale rozhrani ("koncove draty sitovych karet a propojeni"). Routery maji na sobe vetsinou pripojky na vice siti a prepojuji pakety smerem k cilove siti (behaji v nich skritci s lopatama a prehrabujou pakety sem a tam). V tabulce jsou uvedeny typy siti, rozsahy jejich IP adres a masky pro konfiguraci routovaci tabulky jadra. To je dulezite kdyz se budete pripojovat do existujici site/vytvaret svou vlastni. Kdyz v Linuxu konfigurujete jakekoli sitove zarizeni musite u neho krome jeho IP adresy uvest tez masku site (podle typu site A,B,C). Maska je dulezita pouze pro vas system, ktery na rozdil od routeru si nezjistuje typ site podle IP ale natvrdo udela IP and MASKA, to co vyjde porovna se svoji interni tabulkou a podle toho co pasuje smeruje datagram dal. To co se oreze je pouze cislo stanice v siti (zajimave az po doruceni do cilove site). Jadro totiz musi behat rychle a tudiz prohledani tabulky s par cislama pro primo dosazitelne site je to nejrychlejsi co jde napsat. Pokud jadro nenajde cilovou sit/prijemce v tabulce, posle pakety na gateway (u PPP parametr defaultroute).

sit filozofie mozne IPmaska
A hodne pocitacu-malo siti 255.0.0.0
B stredne pocitacu-stredne siti 255.255.0.0
C malo pocitacu-hodne siti 255.255.255.0
D adresovani skupiny pocitacu zaroven
E rezerva pro budouci pouziti

Myslim ze je dulezite pochopit logiku adresovani aby jste byli schopni nastavit si spravne internetovske adresy bezkonfliktne. Pochopeni je tez dulezite pro nastavovani routovani.

Ukazka site typu C

6.3 Zařízení loopback a dummy

Loopback Je v podstate neco jako odbocka v sitovych rutinach jadra ktera presmerovava pakety na vas pocitac (konvencne se loopbacku prideluje IP=127.0.0.1 a MASKA=255.0.0.0). Znamena to tedy, ze pokud si lokalne chcete na jedinem pocitaci zkouset neco s TCP/IP (treba zkusit rozchodit ftp server) nemusite krome obecne podpory site zahrnovat zadne hardwarove zarizeni.

Variantou loopbacku je zarizeni dummy. To navic jeste zmeni jakoby adresu zdrojoveho pocitace. Takze kdyz pak date telnet tak pak budete vypadat jaky by jste prichazeli skutecne z teto adresy.

6.4 Konfigurace ethernetové a nebo jiné síťové karty

Sitove karty jsou reprezentovany pomoci eth0, eth1 atd. Konfigurace zarizeni se delaji pomoci prikazu ifconfig a route. ifconfig je program jez rekne jadru ze ma akceptovat urcite zarizeni, priradit mu tuto IP adresu a netmask.

$ ifconfig lo 127.0.0.1 netmask 255.0.0.0
$ ifconfig eth0 10.0.0.1 netmask 255.255.255.0 broadcast 10.0.0.255
$ ifconfig eth1 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255

Samotny ifconfig vypise seznam instalovanych zarizeni. Priklad:

$ ifconfig

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
          UP BROADCAST LOOPBACK RUNNING  MTU:2000  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0
          TX packets:18952 errors:0 dropped:0 overruns:0

eth0      Link encap:10Mbps Ethernet  HWaddr 00:00:C0:28:72:62
          inet addr:223.255.255.1  Bcast:223.255.255.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2365 errors:0 dropped:0 overruns:0
          TX packets:2370 errors:0 dropped:0 overruns:0
          Interrupt:9 Base address:0x310 Memory:cc000-ce000 

Programem route se da nastavit do jakych siti a jak budou smerovat pakety.

$ route add -net 10.0.3.0 netmask 255.255.255.0 gw 10.0.0.111
$ route add default gw 10.0.0.254 metric 1

Priklad routovaci tabulky (prikazem route bez parametru):

$ route

Kernel routing table
Destination     Gateway         Genmask         Flags MSS    Window Use Iface
localnet        *               255.255.255.0   U     1436   0     2506 eth0
loopback        *               255.0.0.0       U     1936   0    19990 lo

6.5 Jmenný systém - DNS

DNS (Domain Name Service) je služba, která umožňuje lidem používat místo IP adres jména. Jména se lépe pamatují, ovšem nelze je přímo použít pro rozlišení počítačů. Proto existuje od roku 1984 tato velmi užitečná služba.

DNS má hiearchickou strukturu. Jména se skládají z částí, které jsou odděleny tečkami a při zápisu se postupuje od konkrétních údajů (jméno počítače) k obecnějším (organizace, stát). Počet složek není omezen a každá úroveň udržuje informace jen o podřízených úrovních (decentralizace). První úroveň (poslední část jména) se nazývá "top level doména" nebo "doména první úrovně". Druhé úrovni se říká "sekundární doména" nebo "doména druhé úrovně", dále "doména třetí úrovně" atd. až ke konkrétnímu jménu počítače. Takto můžeme určit jednotlivé složky např. u jmen: www.whitehouse.gov, www.seznam.cz a www.spsselib.hiedu.cz.

O každou úroveň (doménu) se starají DNS servery, které dělíme na primární a sekundární (záložní). Veškeré informace o doméně se definují v konfiguračním souboru primárního DNS serveru. Sekundární si informace samy kopírují (orientují se podle sériového čísla). Top level domény jsou definovány na tzv. "kořenových serverech". Těch je zhruba 10 a jsou základem pro celý svět. To level domény (také tz. národní domény) jsou definovány podle normy ISO 3166 (viz. ftp://ftp.ripe.net/iso3166-countrycodes). Každá země má přidělenu dvoupísmennou zkratku, vyjímku tvoří USA, které mají z historických důvodů několik třípísmenných top level domén (com, edu, mil, gov, ...). Národní domény dále provádějí registraci podřízených domén samy (u nás viz: http://www.nic.cz/).

DNS kromě převodu jmen na IP adresy zajišťuje i zpětný převod (reverzní záznamy), který zajišťuje převod IP adresy na jméno a měl by být konzistentní s převodem jméno - IP adresa. Pokud chceme vstoupit na pole Internetu, zajistíme si nejprve svoji IP adresu a posléze si zaregistrujeme (u nadřízené domény) svoji doménu. K tomu musíme mít funkční jeden primární a alespoň jeden sekundární DNS server. K tomu bychom měli zajistit i správné reverzní mapování.


Další Předchozí Obsah