Praca v TCP/IP sietach, napr. v Internete






Logicke vrstvy typickej TCP/IP siete

  • Ethernet
  • IP protokol
  • TCP protokol

Ethernet adresa

ethernet adresa je unikatne hardwarom urcene cislo (fixne pre kazdu sietovu kartu). Znalost o tychto cislach existuje iba lokalne, pouziva sa iba na komunikaciu na jednej lokalnej sieti. Vsetko na ethernetovej urovni sa deje viac-menej automaticky, nie je potrebne o tom vela vediet.

IP-adresa

IP-adresa je stvorica (alebo sestica) bytov (t.j. cisel v rozsahu 0-255), urcujuca konkretny pocitac. Prideluje sa centralne a jednoznacne urcuje jeden pocitac v sieti. IP cisla su globalne pre cely Internet, kazdy pocitac vie, kde ma hladat pocitac s akymkolvek IP-cislom.

TCP-adresa

TCP-adresa je cislo portu na danom pocitaca, t.j. logicke cislo pripojenia. Urcuje sa konvenciami, alebo dohodou dvoch komunikujucich pocitacov.

TCP/IP adresa

Je kombinacia IP-cisla a cisla portu. Cislo portu netreba vediet, pretoze jednotlive programy pouzivaju svoje fixne cisla, napr: ftp:21, telnet:23, mail:25, nameserver:53, finger:79, www:80

Navigacia v TCP/IP sietach

Lokalna siet je prepojenie pocitacov kazdy s kazdym. Vyslana sprava (aj ked je urcena konkretnemu pocitacu) je citatelna vsetkymi ostatnymi pocitacmi. V skutocni si ju precita iba adresat, ostatne pocitace spravu ignoruju. Lokalne siete su prepojene tak, ze niektore pocitace patria do viacerych lokalnych sieti. Takyto pocitac sa nazyva brana (alebo gateway). V takychto sietach sa vsak sprava vyslana v jednej sieti neprenasa automaticky do druhej siete. Ak chce pocitac vyslat spravu pocitacu, ktory nie je v lokalnej sieti, posle tuto spravu na gateway s dotazom preposlat spravu do dalsej siete. Kazdy pocitac ma tabulku, kde je urcene ktore IP-adresy sa maju poslat do ktorej siete, alebo na ktoru gateway, aby boli dorucene. Tato tabulka sa nazyva routovacia tabulka a proces smerovania spravy od odosielatela k prijemcovi je routovanie. Routovacia tabulka je zvycajne schematicka, napr: "spravy pre IP-adresy 158.195.89.* posli do lokalnej siete, ostatne spravy na gateway 158.195.89.65".

Pouzivanie symbolickych mien namiesto IP-cisiel, DNS-server

Namiesto IP-cisiel mozno pouzivat symbolicke mena napr: 'danka.ii.fmph.uniba.sk'. Meno pozostava z mena pocitaca: 'danka' a z mena domeny 'ii.fmph.uniba.sk'. V tomto pripade sa meno domeny dalej sklada z mena domeny prvej urovne 'sk', druhej 'uniba.sk' ... Domena n+1 urovne je poddomenou svojej domeny n-tej urovne. Meno sa prevedie na IP-adresu za pomoci name-serverov tiez nazyvanych DNS (od Domain Name Server), co su pocitace zodpovedajuce za domeny. Kazda domena (aj poddomena) ma vlastny DNS server, ktory odpoveda na dotazy ostatnych pocitacov o prevedeni mena na IP-cislo. Spravca domeny (clovek) prideli meno a IP-cislo kazdemu pocitacu v danej domene a DNS-server kazdej poddomene. Pridelovanie IP-cisiel je vsak centralizovane.

URL (Uniform Resource Identifier)

Je novy sposob oznacovania suborov na Internete, ale funguje zatial iba s www prehliadacmi. Obsahuje symbolicke meno sluzby (http, ftp, ...) meno pocitaca a meno suboru. Napr: 'http://danka.ii.fmph.uniba.sk/home/vittek/unix/zapocty.txt'




Zakladne sietove prikazy

ping pocitac zisti, ci pocitac je dostupny na sieti.
traceroute pocitac zisti, ci pocitac je dostupny na sieti a priebezne vypisuje trasu, ktorou sa s pocitacom spaja.
route vypise obsah routovacej tabulky pre dany pocitac.


Prikaz ftp (file transfer program)

ftp pocitac nadviaze spojenie s pocitacom pocitac, vyziada si meno vasho konta a heslo, potom caka na dalsie instrukcie, ktore mozu byt:
 
help vypise zoznam prikazov
ls vypis zoznam suborov na vzdialenom pocitaci
cd zmen pracovny adresar na vzdialenom pocitaci
lcd zmen pracovny adresar na tomto pocitaci
get subor prenes subor zo vzdialeneho pocitaca na tento pocitac
put subor prenes subor z tohto pocitaca na vzdialeny pocitac
mget shellexpr prenes vsetky subory matchujuce shell expanzny vyraz shellexpr zo vzdialene pocitaca na tento pocitac
mput shellexpr prenes vsetky subory matchujuce shell expanzny vyraz shellexpr z tohto pocitaca na vzdialeny pocitac
bye ukoncenie prace s ftp
  Prikaz ftp pri nadviazani kontaktu cita subor ".netrc" vo vasom domovskom adresari. V tomto subore mozu byt konta a hesla pre pocitace na ktore sa casto prihlasujete. V takom pripade nemusite meno konta a heslo zadavat rucne. Priklad suboru .netrc Subor .netrc musi mat pristupove prava nadstavene tak, aby ho nikto okrem vlastnika nemol modifikovat ani citat, inak je nefunkcny! T.j. pristupove prava musia byt nadstavene napr prikazom chmod 600 .netrc.


Prikaz telnet

telnet pocitac nadviaze spojenie s pocitacom pocitac, vyziada si meno vasho konta a heslo, potom nastartuje shell na pocitaci pocitac a prepoji vas k nemu. sposobi, ze graficke aplikacie spustene z tohto shellu sa budu zobrazovat
telnet pocitac port nadviaze spojenie s pocitacom pocitac na porte cislo port. a prepoji vas k nemu.




Nadstavenie prostredia na vzdialenom pocitaci (plati pre telnet, rlogin, ssh, ...)

1.) Ak mate pocit, ze veci sa nezobrazuju spravne v alfanumerickom terminalovom okne (kde ste sa prihlasili telnetom, rloginom, ssh, etc.), je to asi preto, ze vzdialeny pocitac nespravne odhadol charakteristiky vasho terminalu (okna). Nadstavenie mozte prestavit rucne, priradenim do shell premennej TERM (a jej exportovanim prikazom export). Typicke nadstavenia, ktore by mali fungovat bez problemov prevediete prikazom:
  export TERM=xterm
alebo
  export TERM=vt100


2.) Ak chcete na vzdialenom pocitaci spustit graficku aplikaciu (napriklad emacs, mozilla, etc.), budete asi musiet nadstavit premennu DISPLAY. Tato premenna urcuje, na aky pocitac (a X-server) sa ma pripojit kazda graficka aplikacia, aby sa tam zobrazovala. V praxi sa do premennej DISPLAY priraduje meno pocitaca (alebo IP-adresa) nasledovana dvojbodkou a cislom 0. Napr. prikaz:
 
  export DISPLAY=lokalnypocitac.lokalnadomena.com:0 
sposobi, ze kazda graficka aplikacia spustena v tomto shelly sa bude zobrazovat na pocitaci "lokalnypocitac.lokalnadomena.com".

3.) Aby sa mohla graficka aplikacia zo vzdialeneho pocitaca zobrazit na vasom lokalnom pocitaci, musite to na lokalnom pocitaci dovolit (pretoze standardne je to bezpecnostnych dovodov zakazane). Zobrazenie cudzich aplikacii povolite prikazom:
  xhost +






Prikazy rlogin (remote login), rsh (remote shell) a rcp (remote copy)

rlogin pocitac To iste ako telnet, avsak netreba udavat meno konta, rlogin implicitne predpoklada, ze sa na vzdialeny pocitac prihlasujete pod rovnakym kontom ako ste prave prihlaseni. Navyse, ak na vzdialenom pocitaci pocitac existuje vo vasom domovskom adresari subor .rhosts a v tomto subore je meno vasho pocitaca (alebo radsej jeho IP-adresa), tak nevyzaduje ani heslo. Priklad mojich .rhosts suborov na vsetkych pocitacoch, kam sa pravidelne prihlasujem z pocitaca 158.195.89.78.
Ak mate na vzdialenom pocitaci subor .rhosts mozete pouzivat aj dalsie prikazy s predponou r:
rcp zdroj ciel Kopirovanie suboru z/na vzdialeny pocitac. zdroj a ciel mozu byt v tvare pocitac:subor
rsh pocitac prikaz Prikaz sa interpretuje shellom spustenym na vzdialenom pocitaci.


Prikazy ssh (secure shell), scp (secure copy) a sftp (secure ftp)

ssh pocitac To iste ako telnet, ale realizovane inym (bezpecnejsim) protokolom.
ssh pocitac prikaz To iste ako rsh, ale realizovane inym (bezpecnejsim) protokolom.
scp zdroj ciel Ako rcp, ale realizovane inym (bezpecnejsim) protokolom. zdroj a ciel mozu byt v tvare pocitac:subor
sftp pocitac Podobne ako ftp, ale realizovane inym (bezpecnejsim) protokolom.


Prikaz wget

wget URL stiahne na lokalny pocitac subor urceny danym URL.




Cvicenia





1.) Pripojte sa cez ftp na pocitac guma.ii.fmph.uniba.sk, prihlaste sa ako uzivatel s menom 'cvika'. Stiahnite odtial subor 'PrecitajSiMa'.
2.) Urobte cvicenie popisane v subore PrecitajSiMa.
3.) Prihlaste sa za pomoci prikazu telnet na pocitac guma.ii.fmph.uniba.sk ako uzivatel 'cvika'. Vytvorte si tam v adresari /home/cvika/cvika podadresar s vasim menom. Chodte do tohto adresara a skopirujte si tam subor /home/cvika/text.txt. Spustite na pocitaci guma.ii.fmph.uniba.sk editor emacs a zeditujte tento subor. Na lokalnom pocitaci budete musiet pouzit prikaz: xhost + a zistit ip-cislo vaseho pocitaca prikazom: /sbin/ifconfig na vzdialenom pocitaci budete musiet pouzit prikaz export DISPLAY=<vase ip cislo>:0 napr: export DISPLAY=158.195.71.36:0
4.) Vyrobte na vasom pocitaci subor .netrc, ktory vam umozni pracovat cez ftp s pocitacom guma.ii.fmph.uniba.sk bez zadavania konta a hesla. Nezabudnite, ze tento subor nesmie mat pristupove prava na citanie a zapis pre inych uzivatelov.
5.) Napiste na vasom pocitaci shell script, ktory v pracovnom adresari vyrobi subory data1, data2, ..., data18 a potom tieto subory skopiruje na pocitac guma.ii.fmph.uniba.sk do adresara, ktory ste vyrobili v cviceni 5.