Sustavna programska potpora – RADNI MATERIJAL Autori: Leonardo Jelenković; Milan Korać; Dario Car
IGRI J O N D A R G A Sudjeluj u N i osvoji a r b e lg A a t iš Visokog učil
TABLET 1 Acer Iconia b
ili
jedan od 3 ELEFONA ili PAMETNA T 00 HTC Desire 5
cool jednu od 10 avu k ŠALICA za
Što trebaš napraviti? Preuzmi vrijedan informatički udžbenik o sustavnoj programskoj potpori na internetskoj stranici www.računarstvo.hr do 1. prosinca 2014. godine i pozovi prijatelje iz razrede da učine isto. Pet razreda s najviše downloada ulaze u finalno izvlačenje. Popuni svoju digitalnu knjižnicu i pritom osvoji vrijednu nagradu! Tablet i pametni telefoni čekaju te na linku http://racunarstvo.hr/udzbenici/.
prijavi se! *Imena sretnih dobitnika objavit ćemo do 10. prosinca na FB stranici Visokog učilišta Algebra https://www.facebook.com/racunarstvo
Stekni svoj prvi Microsoft certifikat rtifikacije e c a ij c k a a n t Bespla i gimnazija la o k š h ji n d e r za učenike s
Prijavivos.her/MnTaA
rst www.racuna
Visoko učilište Algebra - visoka škola za primijenjeno računarstvo aktivno radi na promicanju ICT kompetencija, usmjeravanju učenika i učenica prema inženjerskim karijerama i ukupnom povećanju konkurentnosti domaćeg gospodarstva.
Zašto se certificirati? U svijetu IT profesionalaca, certifikat je isprava koja dokazuje znanja i vještine koje posjedujete. IT certifikati se postižu polaganjem ispita u nekom od ovlaštenih ispitnih centara, a prema autorizacijama od proizvođača softvera, hardverske opreme ili nekog drugog standardizacijskog tijela ili organizacije. S obzirom da zbog brze promjene u tehnologijama diploma ili svjedodžba više nisu same po sebi dovoljne, Visoko učilište Algebra – visoka škola za primijenjeno računarstvo još je prije pet godina uvrstila u svoj studijski program i sustav obaveznog certificiranja studenata. Kako bismo pomogli učenicima u prvim i možda najtežim koracima ka stjecanju certifikata, u suradnji s Microsoft Hrvatska, pokrenuli smo ovu besplatnu akciju za čak 500 učenika i učenica iz škola diljem Hrvatske.
sto! e j m j a r i v r e rez tvo.hr/MTA s r a n u c a .r w ww
autori: 1 poglavlje: doc.dr.sc. Leonardo Jelenković 2 poglavlje: doc.dr.sc. Leonardo Jelenković; Dario Car 3 poglavlje: doc.dr.sc. Leonardo Jelenković 4 poglavlje: doc.dr.sc. Leonardo Jelenković 5 poglavlje: doc.dr.sc. Leonardo Jelenković 6 poglavlje: Milan Korać, dipl.ing., profesor-savjetnik; Dario Car urednica: Ana Rutar, prof. naslov: Sustavna programska potpora stručni recenzent: akademik Leo Budin lektorica: Dijana Stilinović grafički urednik: Goran Obrovac, ACI dizajn naslovnice: Ivana Miličić, ACI nakladnik: Algebra d.o.o., 2010. za nakladnika: Tomislav Dominković, dipl. ing. mjesto i godina izdavanja: Zagreb, 2010
Sva prava pridržana. Niti jedan dio ove knjige ne smije se reproducirati ili prenositi u bilo kojem obliku, niti na koji način. Zabranjeno je svako kopiranje, citiranje te upotreba knjige u javnim i privatnim edukacijskim organizacijama u svrhu organiziranih školovanja, a bez pisanog odobrenja nositelja autorskih prava. Copyright © Algebra d.o.o. CIP zapis dostupan u računalnom katalogu Nacionalne i sveučilišne knjižnice u Zagrebu pod brojem 743528 ISBN 978-953-322-020-8
Prijelom.indd 2
21.9.2010. 11:40:16
Sustavna programska potpora
Zagreb, 2010.
Prijelom.indd 3
21.9.2010. 11:40:16
Prijelom.indd 4
21.9.2010. 11:40:16
SADRŽAJ 1. poglavlje: Operacijski sustavi...................................................................................................................... 9 1.1 Računalni sustav.............................................................................................................................................. 9 1.2 Slojevi i sastavnice........................................................................................................................................ 11 1.3 Datotečni podsustav..................................................................................................................................... 12 1.4 Ulazno-izlazne naprave................................................................................................................................. 16 1.5 Upravljanje programima/procesima............................................................................................................. 16 1.6 Upravljanje spremnikom............................................................................................................................... 17 1.7 Mrežni podsustav.......................................................................................................................................... 18 1.8 Sigurnost i privatnost.................................................................................................................................... 18 1.9 Korisničko sučelje.......................................................................................................................................... 19 Vježbe iz poglavlja 1: Informacije o sustavu................................................................................................ 20 1. Uvod ....................................................................................................................................................... 20 2. Temeljni pojmovi.................................................................................................................................... 20 3. Cilj vježbe................................................................................................................................................. 20 4. Priprema za vježbe.................................................................................................................................. 21 5. Vježbe....................................................................................................................................................... 21 6. Upute i objašnjenja uz vježbe................................................................................................................. 26 2. poglavlje: POKRETANJE SUSTAVA................................................................................................................... 29 2.1 Uvod.............................................................................................................................................................. 29 2.2 Pokretanje računala kroz povijest................................................................................................................ 30 2.3 BIOS............................................................................................................................................................... 32 2.4 Primjer pokretanja operativnog sustava – Windows 7............................................................................... 34 2.4.1 Pokretanje operativnog sustava........................................................................................................ 34 2.4.2 Rad s BCD-om..................................................................................................................................... 36 2.4.2.1 Startup and Recovery.............................................................................................................. 36 2.4.2.2 System Configuration............................................................................................................... 37 2.4.2.3 Korištenje BCD Editora............................................................................................................. 38 2.4.2.4. Upravljanje BCD Data Store podacima....................................................................................41 2.4.3. Pogreške pri pokretanju.................................................................................................................... 42 2.4.3.1. Inicijalne pogreške pri pokretanju.......................................................................................... 43 2.4.3.2. Greške pokretačkih programa ili servisa................................................................................ 43 2.4.4. Servisi................................................................................................................................................. 43 Vježbe iz poglavlja 2: Rad s MS Virtual PC 2007.......................................................................................... 46 1. Uvod ....................................................................................................................................................... 46 2. Temeljni pojmovi.................................................................................................................................... 48 3. Cilj vježbe................................................................................................................................................. 48 4. Priprema za vježbe.................................................................................................................................. 48 5. Vježbe........................................................................................................................................................51 6. Upute i objašnjenja uz vježbe................................................................................................................. 52 Vježbe iz poglavlja 2: Instalacija Windows 7 i osnovna podešavanja.......................................................... 54 1. Uvod ....................................................................................................................................................... 54 2. Temeljni pojmovi..................................................................................................................................... 56 3. Cilj vježbe................................................................................................................................................. 56 4. Priprema za vježbe.................................................................................................................................. 56 5. Vježbe....................................................................................................................................................... 59 6. Upute i objašnjenja uz vježbe................................................................................................................. 60 Vježbe iz poglavlja 2: Rad s diskovima......................................................................................................... 62 1. Uvod ....................................................................................................................................................... 62 2. Osnovni pojmovi...................................................................................................................................... 63
Prijelom.indd 5
21.9.2010. 11:40:16
3. Cilj vježbe................................................................................................................................................. 63 4. Priprema vježbe....................................................................................................................................... 64 5. Vježba....................................................................................................................................................... 65 6. Upute i objašnjenja uz vježbe................................................................................................................. 68 Vježbe iz poglavlja 2: DOS........................................................................................................................... 71 1. Uvod ....................................................................................................................................................... 71 2. Osnovni pojmovi...................................................................................................................................... 72 3. Cilj vježbe................................................................................................................................................. 73 4. Priprema vježbe....................................................................................................................................... 73 5. Vježba........................................................................................................................................................74 6. Upute i objašnjenja uz vježbe................................................................................................................. 75 Vježbe iz poglavlja 2: Korisnički računi i grupe, profili ................................................................................ 77 1. Uvod ....................................................................................................................................................... 77 2. Osnovni pojmovi...................................................................................................................................... 82 3. Cilj vježbe................................................................................................................................................. 82 4. Priprema za vježbe.................................................................................................................................. 82 5. Vježbe....................................................................................................................................................... 85 6. Upute i objašnjenja uz vježbe................................................................................................................. 87 Vježbe iz poglavlja 2: NTFS i dozvole .......................................................................................................... 90 1. Uvod ....................................................................................................................................................... 90 2. Osnovni pojmovi...................................................................................................................................... 93 3. Cilj vježbe................................................................................................................................................. 93 4. Priprema za vježbe.................................................................................................................................. 94 5. Vježba....................................................................................................................................................... 94 6. Upute i objašnjenja uz vježbe................................................................................................................. 97 3. poglavlje: PREKIDI.......................................................................................................................................... 99 3.1. Prekidi........................................................................................................................................................... 99 3.2 Prioriteti prekida......................................................................................................................................... 102 3.3 Programski prekidi...................................................................................................................................... 103 Vježbe iz poglavlja 3: Prekidi..................................................................................................................... 104 1. Uvod ..................................................................................................................................................... 104 2. Temeljni pojmovi.................................................................................................................................. 104 3. Cilj vježbe............................................................................................................................................... 104 4. Priprema za vježbe:............................................................................................................................... 104 5. Vježbe..................................................................................................................................................... 104 6. Upute i objašnjenja uz vježbe............................................................................................................... 106 4. poglavlje: PROCESI....................................................................................................................................... 107 4.1 Program, proces, dretva............................................................................................................................. 107 4.2 Raspoređivanje............................................................................................................................................ 109 4.3 Sinkronizacija............................................................................................................................................... 111 4.4 Opisnik procesa........................................................................................................................................... 112 Vježbe iz poglavlja 4: Procesi .................................................................................................................... 113 1. Uvod ..................................................................................................................................................... 113 2. Temeljni pojmovi.................................................................................................................................. 113 3. Cilj vježbe............................................................................................................................................... 113 4. Priprema za vježbe:............................................................................................................................... 113 5. Vježbe..................................................................................................................................................... 114 6. Upute i objašnjenja uz vježbe............................................................................................................... 116 5. poglavlje: SPREMNIČKI PROSTOR................................................................................................................. 129 5.1 Spremnički prostor...................................................................................................................................... 129 Vježbe iz poglavlja 5: Spremnički prostor.................................................................................................. 134 1. Uvod ..................................................................................................................................................... 134 2. Temeljni pojmovi.................................................................................................................................. 134 3. Cilj vježbe............................................................................................................................................... 134 4. Priprema za vježbe:............................................................................................................................... 134
Prijelom.indd 6
21.9.2010. 11:40:16
5. Vježbe..................................................................................................................................................... 135 6. Upute i objašnjenja uz vježbe............................................................................................................... 137 6. poglavlje: RAČUNALNE MREŽE..................................................................................................................... 141 6.1 Osnove mrežne komunikacije......................................................................................................................141 6.1.1 Vrste računalnih mreža.....................................................................................................................141 6.1.2 Mrežne sastavnice............................................................................................................................ 143 6.1.2.1 Uređaji u mreži....................................................................................................................... 143 6.1.2.2 Krajnji uređaji......................................................................................................................... 143 6.1.2.3 Uređaji posrednici ................................................................................................................. 144 6.1.2.4 Mediji za prijenos podataka.................................................................................................. 146 6.1.2.5 Mrežni protokoli......................................................................................................................147 6.1.2.6 Mrežni servisi..........................................................................................................................147 6.1.3 Čimbenici koji utječu na prijenos podataka.................................................................................... 148 6.1.4 Slojeviti mrežni modeli..................................................................................................................... 148 6.1.4.1 OSI model............................................................................................................................... 149 6.1.4.2 TCP/IP model.......................................................................................................................... 151 6.2 Fizički sloj 152 6.2.1 Funkcije fizičkog sloja....................................................................................................................... 152 6.2.2 Mediji za prijenos signala................................................................................................................. 153 6.2.2.1 Kablovi.................................................................................................................................... 153 6.2.3 Kabliranje LAN mreža....................................................................................................................... 156 6.3 OSI sloj veza................................................................................................................................................ 159 6.3.1 Uvod.................................................................................................................................................. 159 6.3.2 Format okvira................................................................................................................................... 159 6.3.3 Upravljanje pristupom mediju......................................................................................................... 160 6.3.4 Mrežna topologija............................................................................................................................ 163 6.3.4.1 Ethernet.................................................................................................................................. 164 6.3.4.2 Token Ring...............................................................................................................................171 6.3.4.3 Fiber Distributed Data Interface (FDDI).................................................................................171 6.3.4.4 Frame Relay.............................................................................................................................171 6.3.4.5 Wireless LAN.......................................................................................................................... 172 6.3.5 Address Resolution Protocol (ARP).................................................................................................. 172 6.4 OSI mrežni sloj............................................................................................................................................ 173 6.4.1 Uvod 173 6.4.2 IPv4....................................................................................................................................................174 6.4.3 IPv4 adresiranje................................................................................................................................ 175 6.4.3.1 Struktura IPv4 adrese............................................................................................................ 175 6.4.3.2 Kreiranje podmreža............................................................................................................... 180 6.4.3.3 Privatne i javne IP adrese...................................................................................................... 181 6.4.4 Internet Control Message Protocol - ICMP..................................................................................... 184 6.4.4.1 Naredba Ping.......................................................................................................................... 184 6.4.4.2 Naredba Traceroute............................................................................................................... 185 6.5 Transportni sloj........................................................................................................................................... 186 6.5.1 Zadaci transportnog sloja................................................................................................................. 186 6.5.2 User Datagram Protocol – UDP....................................................................................................... 188 6.6 Aplikacijski sloj............................................................................................................................................ 190 6.6.1 Uvod.................................................................................................................................................. 190 6.6.2 OSI model, TCP/IP model i aplikacijski slojevi................................................................................. 191 6.6.3 Klijent/Poslužitelj model................................................................................................................... 192 6.6.4 Model ravnopravnih članova – P2P................................................................................................. 193 6.6.5 Programi aplikacijskog sloja............................................................................................................. 193 6.6.6 Protokoli aplikacijskog sloja.............................................................................................................. 194 6.6.7 File Transfer Protocol – FTP............................................................................................................. 196 6.6.7.1 FTP model............................................................................................................................... 196 6.6.8 Protokoli elektroničke pošte – SMTP, POP i IMAP.......................................................................... 197
Prijelom.indd 7
21.9.2010. 11:40:16
6.6.8.1 Simple Mail Transfer Protocol – SMTP.................................................................................. 199 6.6.8.2 Post Office Protocol – POP.................................................................................................... 199 6.6.9 Domain Name System – DNS........................................................................................................... 199 6.6.9.1 Što je DNS i čemu služi.......................................................................................................... 199 6.6.9.2 DNS imenski prostor.............................................................................................................. 200 6.6.10 Dynamic Host Configuration Protocol – DHCP.............................................................................. 202 6.6.11 Telnet protokol............................................................................................................................... 205 Vježbe iz poglavlja 6: IP Adresiranje.......................................................................................................... 206 1. Uvod ..................................................................................................................................................... 206 2. Temeljni pojmovi.................................................................................................................................. 212 3. Cilj vježbe............................................................................................................................................... 212 4. Priprema za vježbe:............................................................................................................................... 212 5. Vježbe..................................................................................................................................................... 214 6. Upute i objašnjenja uz vježbe............................................................................................................... 215 Vježbe iz poglavlja 6: Mrežne postavke (DHCP)......................................................................................... 216 1. Uvod....................................................................................................................................................... 216 2. Osnovni pojmovi.................................................................................................................................... 220 3. Cilj vježbe............................................................................................................................................... 220 4. Priprema vježbe..................................................................................................................................... 220 5. Vježba..................................................................................................................................................... 221 6. Upute i objašnjenja uz vježbe............................................................................................................... 223 Vježbe iz poglavlja 6: Mrežne postavke (DNS)........................................................................................... 224 1. Uvod....................................................................................................................................................... 224 2. Osnovni pojmovi.................................................................................................................................... 226 3. Cilj vježbe............................................................................................................................................... 226 4. Priprema vježbe..................................................................................................................................... 227 5. Vježba..................................................................................................................................................... 227 6. Upute i objašnjenja uz vježbe............................................................................................................... 229 Vježbe iz poglavlja 6: Mrežne postavke (Default Gateway)....................................................................... 231 1. Uvod....................................................................................................................................................... 231 2. Osnovni pojmovi.................................................................................................................................... 235 3. Cilj vježbe............................................................................................................................................... 235 4. Priprema vježbe..................................................................................................................................... 235 5. Vježbe..................................................................................................................................................... 236 6. Upute i objašnjenja uz vježbe............................................................................................................... 237 Vježbe iz poglavlja 6: Identifikacija aplikacija............................................................................................ 238 1. Uvod....................................................................................................................................................... 238 2. Osnovni pojmovi.................................................................................................................................... 239 3. Cilj vježbe............................................................................................................................................... 239 4. Priprema vježbe..................................................................................................................................... 240 5. Vježbe..................................................................................................................................................... 245 6. Upute i objašnjenja uz vježbe............................................................................................................... 246 Vježbe iz poglavlja 6: Rad u mrežnom okruženju...................................................................................... 247 1. Uvod........................................................................................................................................................247 2. Osnovni pojmovi.................................................................................................................................... 250 3. Priprema za vježbe................................................................................................................................ 250 5. Vježbe..................................................................................................................................................... 251 6. Upute i objašnjenja uz vježbe............................................................................................................... 256
Prijelom.indd 8
21.9.2010. 11:40:17
1. poglavlje
Operacijski sustavi 1.1 Računalni sustav Računala znatno pomažu čovjeku jer neke poslove za koje bi čovjeku trebalo mnogo vremena računala mogu napraviti gotovo trenutačno. Jednako tako, računala podižu i kvalitetu života, upravljajući jednostavnijim poslovima (gdje su znatno preciznija od čovjeka), dodajući u svakodnevni život sadržaje kao što su glazba, video, igre i slično. Način rada računala znatno se razlikuje od načina rada i razmišljanja čovjeka. Da bi čovjek mogao iskoristiti računalo, mora mu znati određenu naredbu ili zadatak naložiti onako kako će računalo to moći izvesti. Znamo da se taj način ostvaruje instrukcijama (uputama) koje računalo izvodi jednu za drugom. Čovjek koji koristi računalo ipak ne komunicira s računalom izravno zadajući takve instrukcije jer bi i za gotovo najmanji posao svaki put trebao dati mnogo instrukcija. Uobičajeni se poslovi stoga prethodno pripreme u obliku slijeda instrukcija koje nazivamo programima. Programi se pohranjuju u računalu te ih čovjek po potrebi pokreće. Programi mogu biti razni: od uređivača teksta (npr. za pisanje ovog teksta korišten je jedan), preglednika web-sadržaja, programa za reprodukciju i stvaranje multimedijalnih sadržaja, igara, sredstva za komunikaciju i dr.
Iako računala mogu znatno brže obavljati matematičke i logičke operacije od čovjeka, u mnogim mu područjima još nisu dorasla. Npr. u području razumijevanja govora i teksta, analiza slika i ostaloga što spada u tzv. područje umjetne inteligencije.
Instrukcija je niz bitova koje procesor zna prepoznati i izvesti. Primjeri instrukcija uključuju: • prijenos podataka između procesora (njegovih registara) i glavnog spremnika, • obavljanje matematičkih operacija nad ulaznim operandima (registrima), • ispitivanje uvjeta i skok na zadanu instrukciju (npr. ostvarenje petlji, potprograma).
Čovjek s računalom komunicira preko vanjskih elemenata računala, kao što su tipkovnica, miš i zaslon kod uobičajenog osobnog računala. Računalo raspoznaje naredbe koje mu čovjek zadaje preko tog sučelja te pokreće odgovarajuće aktivnosti. Primjerice, pritiskom na ikonu nekog programa taj će se program pokrenuti, tipkanjem po tipkovnici u odabranom će se prozoru pojaviti zadani tekst i sl. Povratnu informaciju čovjek dobiva preko izlaznih jedinica kao što su zaslon, zvučnici i pisač.
9
Prijelom.indd 9
21.9.2010. 11:40:17
Sustavna programska potpora
Osobno računalo (engl. personal computer) je računalo namijenjeno radu (ili razonodi) jednog korisnika.
Poslužitelj (engl. server) je računalo koje istodobno koristi više korisnika (npr. Webposlužitelj).
Programi za svoj rad trebaju i odgovarajuće podatke, a ne samo instrukcije. Podatci mogu biti pohranjeni dijelom uz sam program (kao jedna cjelina) ili u dodatnim zasebnim cjelinama (datotekama), ili ih korisnici trebaju unijeti pri pokretanju. Uobičajeno se i program i podatci s kojima programi rade trajno zapisuju u prikladne spremnike podataka (memorija, engl. storage, memory). Uobičajeni spremnik podataka, koji zadržava sadržaj i nakon isključivanja računala, jest disk (tvrdi disk od engl. hard disk). Osnovna jedinica podataka na disku (s motrišta korisnika i njegovih programa) je datoteka (engl. file). Na primjer, jedan program može biti smješten u jednoj datoteci. Jedan zvučni zapis (jedna pjesma) smješten je u jednoj datoteci. Cijeli album smješten je u nekoliko datoteka. Organizacija datoteka, koju čovjek može upamtiti i jednostavnije koristiti, sastoji se od niza hijerarhijski povezanih direktorija (kazala, engl. directory, folder). Jedan direktorij može sadržavati više datoteka, ali i drugih poddirektorija. Na taj se način datoteke logički mogu smjestiti u čovjeku razumljivim mjestima u hijerarhijskom stablu datoteka i direktorija. Na primjer, programi se mogu smjestiti u direktorij programi, glazbene datoteke u glazba, videosadržaji u video, igre u igre itd. U prethodnim su razmatranjima dotaknuta samo neka motrišta računala, njegovih programa i njegove interakcije s korisnikom koji zajedno čine računalni sustav. Računalni sustav je vrlo složen sustav, s mnogo elemenata, načina njihova rada i sl. Mnoga se pitanja mogu postaviti, primjerice poput: kako izgleda i radi sklopovlje (procesor, spremnik, sabirnice, ulazno-izlazne naprave, disk...), kako se ostvaruje sučelje prema čovjeku (tipkovnica, miš, zaslon, način pokretanja programa i sl.), kako se datoteke stvarno smještaju na disk (njihovu logičku organizaciju i prezentaciju korisniku znamo), kako više programa može raditi istodobno, samo su neka od njih. U nastavku se pokušava objasniti dio tih pitanja. Osim programa koji obavljaju zadane operacije, u računalnom sustavu moraju postojati mehanizmi za pokretanje takvih programa što minimalno uključuje: • rezervaciju spremničkog prostora za program, • učitavanje programa s diska u spremnik, • pokretanje programa, • omogućavanje interakcije korisnika s programom, • zaštitu pokrenutog programa od već prisutnih programa u sustavu i obrnuto, • i sl. Takvi mehanizmi ostvaruju se pomoćnim programima koji omogućuju izvođenje operacija na računalu, a koji objedinjeni čine operacijski sustav.
10
Prijelom.indd 10
21.9.2010. 11:40:17
1. poglavlje: OPERACIJSKI SUSTAVI
Zadaća operacijskog sustava jest upravljanje sustavom, od upravljanja datotekama na disku, spremnikom i ostalim elementima sustava do upravljanja programima, od njihova pokretanja, komunikacije s korisnikom, drugim programima te sklopovljem. Osim samog upravljanja sustavom, zadaća je operacijskog sustava i olakšati korištenje računala tako da se i korisnicima i programerima sakrije složenost samog sklopovlja korištenjem standardiziranog sučelja kojim se ono može jednostavnije iskoristiti za obavljanje uobičajenih operacija. Da bi mogao upravljati takvim složenim sustavom, operacijski je sustav vrlo složen. No ta se složenost ne mora savladati za njegovo korištenje. Za običnog korisnika bitno je da zna koristiti računalni sustav, tj. da zna koristiti njegovo sučelje, kako tipkovnicu i miša, tako i njihovu povezanost s grafičkim korisničkim sučeljem koje mu sustav prikazuje, da može pokretati programe, koristiti programe i sl. Takav se korisnik, međutim, pri odabiru računalnog sustava koji će zadovoljiti njegove potrebe mora osloniti na mišljenje i preporuke stručnjaka iz tog područja koji znaju procijeniti koji su sklopovski i programski elementi korisniku potrebni (dovoljni). S druge strane, za osoblje koje održava računalne sustave potrebno je dublje poznavanje. Programeri koji razvijaju nove programe moraju znati još više detalja. Inženjeri koji osmišljavaju i unaprjeđuju računalne sustave moraju znati gotovo sve detalje, posebnosti i mogućnosti svih elemenata sustava.
1.2 Slojevi i sastavnice Složeni se sustavi, kao što je i operacijski sustav, grade u sastavnicama (komponentama), a također i u slojevima (i s više motrišta). Na primjer, računalni sustav može se podijeliti na četiri sloja (ili sastavnice): • korisnik – bez njega sustav nema smisla, • primjenski programi – definiraju kako obaviti određene operacije, • operacijski sustav – upravlja sklopovljem i programima i pojednostavljuje uporabu sklopova nudeći korisniku i programima standardizirano sučelje te • računalno sklopovlje – obavlja sve zadane instrukcije.
Slika 1.1 Slojevi računalnog sustava
Između svaka dva sloja nalazi se prikladno sučelje. Primjerice, korisnik programe koristi preko korisničkog sučelja, operacijski sustav preko njegovog sučelja (grafičkog korisničkog sučelja, engl. graphical user interface – GUI). Programi većim dijelom koriste sučelje sklopovlja (izvođenje instrukcija programa), a tek dijelom koriste sučelje operacijskog sustava (engl. application programming
11
Prijelom.indd 11
21.9.2010. 11:40:18
Sustavna programska potpora
interface – API) kada je potrebno obaviti neke posebne (privilegirane) operacije. S druge strane, operacijski sustav upravlja svim elementima sustava te za gotovo svaki element ima zasebnu sastavnicu, tj. Podsustav pa tako postoje podsustavi za: programima (API)
korisniku (GUI) upravljanje
sinkronizacija i komunikacija
podsustav
Među Windows operacijske sustave koji se danas koriste ubrajamo Windows 7, Windows Vista i Windows XP za osobna računala te Windows 2003 i Windows 2008 za poslužitelje. Osim navedenog Ubuntua, danas postoji mnoštvo operacijskih sustava zasnovanih na Linux jezgri (i sličnim jezgrama s slobodno dostupnim izvornim kodom). Na primjer, tu se mogu ubrojiti: Fedora, CentOS, openSUSE, Debian, Knoppix, Slackware, BSD i sl.
• upravljanje datotekama (datotečni podsustav), • upravljanje ulazno-izlaznim napravama (UI podsustav), • upravljanje programima (procesima i dretvama), • upravljanje spremnikom (spremnički podsustav), • upravljanje povezivanjem i komunikaciju s drugim sličnim sustavima (mrežni podsustav), • upravljanje sigurnošću (zaštita korisnika i njegovih podataka), • korisničko sučelje. Svaki se podsustav može ostvariti na razne načine, korištenjem raznih algoritama i struktura. Današnji operacijski sustavi većinu zadaća rade slično jer su se s vremenom istaknuli i usvojili oni postupci koji pokazuju bolja svojstva u pogledu učinkovitosti (npr. s motrišta brzine rada, zauzeća spremničkog prostora, lakoće korištenja i sl.). Ipak, i dalje postoje neke razlike koje mogu biti izravno vidljive korisniku kroz različita korisnička sučelja, ali i mogu biti skrivene od njega, s obzirom da su ugrađene u neke postupke. Najkorišteniji operacijski sustavi za osobna računala i poslužitelje (u ovim prostorima) su razne inačice Microsoft Windows operacijskih sustava, Mac OS X, tvrtke Apple Inc. te besplatni operacijski sustavi zasnovani na Linux jezgri, npr. Ubuntu. Drugi tipovi računala imaju druge operacijske sustave. Primjerice, novije generacije mobilnih telefona i ručnih računala pokretani su Windows Mobile, Android, Symbian, BlackBerry, MeeGo i sličnim operacijskim sustavima. Bez obzira na namjenu, u svim operacijskim sustavima osnovna je funkcionalnost istoimenih podsustava slična. U nastavku slijedi kratak opis podsustava, a u sljedećim će se poglavljima neki od njih prikazati detaljnije.
1.3 Datotečni podsustav Upravljanje datotečnim sustavima vrlo je bitna sastavnica sustava jer su gotovo sve informacije zapisane u datotekama: programi, njihovi ulazni podatci, a i rezultati rada najčešće se zapisuju u datoteke. Programi koji sačinjavaju operacijski sustav također su pohranjeni kao datoteke u datotečnom sustavu. Zadaća datotečnog podsustava operacijskog sustava jest da upravlja i omogući korištenje raspoloživih datotečnih sustava (npr. oni koji se nalaze na disku, DVD mediju i sl.).
12
Prijelom.indd 12
21.9.2010. 11:40:18
1. poglavlje: OPERACIJSKI SUSTAVI
Datotečni sustav određuje način organizacije i pohrane datoteka na disk. Zato je potrebno razumjeti osnovna svojstva samog diska. Disk je elektromehanička naprava koja se sastoji od elektroničkog i mehaničkog dijela. Mehanički dio sastoji se od nekoliko magnetskih ploča na koje se zapisuju podatci. Postupak zapisa temelji se na postavljanju magnetske orijentacije malim elementima površine ploča, koji se tada mogu i detektirati i interpretirati kao nule ili jedinice (jedan ili drugi smjer magnetske orijentacije). S obzirom da se uređaj koji čita ili piše po magnetskoj ploči mora fizički postaviti iznad odgovarajućeg dijela ploče, svojstva diska su značajno lošija od ostalih tipova spremnika koji su isključivo elektronički. Razlika u vremenima pristupa podacima je i do milijun puta!
Slika 1.2 Osnovni elementi pomičnog dijela diska
Tipična organizacija diska sastoji se od nekoliko ploča s magnetskim materijalom na jednoj ili obje strane, koje su učvršćene središnjom osovinom oko koje se vrte. Za čitanje se koristi glava (zasebna za svaku površinu), koja radijalno obilazi ploču (koja se vrti neprestanom brzinom). S obzirom na fizičku organizaciju, i podatci su radijalno organizirani. Osnovna jedinica podataka naziva se sektor i smještena je na jednoj stazi jedne površine. Na istoj se stazi nalaze i drugi sektori, a na istoj površini i druge staze sa sektorima. Staze koje su isto udaljene od osi vrtnje, a nalaze se na različitim površinama, nazivaju se cilindri. Jedan cilindar sadržava sve staze koje se mogu dohvatiti bez pomicanja glave (sve su glave učvršćene za isti nosač).
13
Prijelom.indd 13
21.9.2010. 11:40:18
Sustavna programska potpora
Adresa pojedinog sektora određuje se površinom na kojoj se nalazi, rednim brojem staze na toj površini te rednim brojem sektora na toj stazi. Današnji se diskovi ipak prema ostatku sustava predstavljaju i na jednostavniji način, kao linearni poredak sektora, počevši od prvog do zadnjeg. Pretvaranje tog rednog broja u broj površine, staze i sektora radi upravljačka elektronika diska. Ipak, ono što je bitno zapamtiti jest da je disk bitnim dijelom mehanička naprava te kada se želi učinkovito koristiti, podatke koji su povezani (čine jednu datoteku) treba pohraniti na susjednim sektorima i stazama, minimizirajući mehaničke pokrete pri njihovom čitanju i pisanju. To načelo koriste i datotečni sustavi i operacijski sustavi koji njima upravljaju. Tip
Primjena
FAT, FAT32
stariji sustavi zasnovani na nekom Windows OS-u, spremničke kartice
NTFS
noviji sustavi zasnovani na Windows OSu
ext2, ext4
sustavi zasnovani na Linux jezgri
ISO 9660, UDF
CD i DVD mediji
Tablica 1.1 Najčešći datotečni sustavi
Način ostvarenja datotečnog sustava, tj. odabir struktura podataka i njihove organizacije i smještaja na disku uvelike određuje njegova svojstva. Danas se može izdvojiti nekoliko popularnijih datotečnih sustava: FAT32, NTFS, ext4. Nekad glavni datotečni sustav Windows operacijskih sustava – FAT32 (engl. File Allocation Table) danas se rjeđe koristi kao glavni datotečni sustav na disku, ali zbog svoje jednostavnosti češće se koristi za pomoćne spremnike manjih kapaciteta (npr. spremničke kartice za mobilne uređaje, telefone, fotoaparate i sl.). Osnovne mane današnje primjene u osobnim i poslužiteljskim računalima su nedostatak podrške za višekorisnički rad (i prikladne zaštite podataka), nepostojanje naprednih metoda zaštite i upravljanja sadržajem (npr. dnevnički način rada, engl. journaling). NTFS (engl. New Technology File System) pojavljuje se s operacijskim sustavom Windows NT, a koriste ga svi noviji operacijski sustavi iz porodice Microsoft Windows (inačice od NT, 2000, XP, 2003, Vista, 2008, 7). On ispravlja nedostatke FAT32 i donosi potrebne funkcionalnosti u datotečni sustav. Zbog rasprostranjenosti operacijskih sustava koji ga koriste, NTFS je danas najčešće korišteni datotečni sustav. Linux operacijski sustavi koriste razne datotečne sustave, ali osnovni prepoznatljivi u njihovoj domeni svakako je ext4 (engl. Fourth Extended File System) i njegove preteče ext3 i ext2. Iako drukčije ostvarena, svojstva tog sustava slična su već spomenutom NTFS-u (kako u podržanim operacijama, tako i u performansama). Datoteka je u datotečnom sustavu identificirana svojim imenom i položajem, tj. direktorijem u kojem se nalaze. Osim ovog osnovnog podatka, datotečni sustav pohranjuje i mnoge druge koji su mu potrebni za upravljanje. Neki od njih su: • ime datoteke, • veličina (zauzeće prostora na disku), • vrijeme zadnje promjene sadržaja datoteke,
14
Prijelom.indd 14
21.9.2010. 11:40:18
1. poglavlje: OPERACIJSKI SUSTAVI
• podatci o pravima pristupa (vlasnik, tko joj smije pristupiti), • tip datoteke (običan tekst, slika, video, ...), • opis smještaja na disku. Navedeni podatci smješteni su u opisniku datoteke koji je smješten u posebno područje na disku (npr. za NTFS to je glavna tablica datoteka, MFT – Master File Table). Svaka datoteke ima svoj opisnik. Sadržaj datoteke je, dakle, smješten na disku u nekim sektorima. Uobičajeno je da datotečni sustav ima svoju jedinku podataka koju nazivamo blokom (engl. cluster), a koja je jednaka veličini jednog, dva, četiri ili više sektora. Datoteka se tako pohranjuje u jedan ili više blokova. Optimalno bi bilo da su ti blokovi i na disku smješteni jedan do drugog, istim redoslijedom koji se oni nalaze i u datoteci (logičko uređenje). No to nije uvijek moguće. Zato dijelovi – blokovi datoteke mogu biti i razbacani po raznima stazama i na raznim površinama (različitih ploča). Čitanje takve datoteke bit će sporije od čitanja kompaktno smještene datoteke jer će biti potrebno znatno više pomicati nosač na kojemu se nalaze glave koje čitaju podatke s magnetskih površina. Taj problem nazivamo problemom fragmentacije. Operacijski sustavi nastoje umanjiti taj problem tako da datoteke smještaju kompaktno (zbijeno, čvrsto povezano) ili barem po dijelovima kompaktno. Npr. prvih N blokova smjeste kompaktno na jednu stazu, drugih M na drugu i tako dalje. Neki datotečni sustavi koriste navedeno svojstvo da učinkovitije opišu smještaj blokova koji čine jednu datoteku (npr. NTFS).
svi blokovi datoteke
(jedne particije diska)
bloka u datoteci (LBR)
Korisnik se s datotečnim sustavom susreće kroz korisničko sučelje programa za upravljanje datotekama, koji mu prikazuje logičku organizaciju datotečnog sustava i omogućuje mu upravljanje nad njim (stvaranje, premještanje, kopiranje datoteka i direktorija). Drugi je način korištenja sustava, danas sve češći, korištenje tražilice. Umjesto pamćenja u kojem je direktoriju neki dokument, dovoljno je poznavati ime datoteke, ili čak i samo neke ključne riječi, a sustav pretraživanja će vrlo brzo ponuditi tražene datoteke.
Slika 1.3 Opis smještaja blokova datoteke za NTFS na primjeru
Održavanje datotečnih sustava danas je gotovo automatizirano. Operacijski sustavi sami pokreću potrebne operacije, kao što je izrada sigurnosne kopije ključnih datoteka sustava, preslagivanje sadržaja na disku radi ubrzavanja pristupa podatcima, osiguravanje ravnomjernog korištenja svih dijelova diska (magnetske ploče imaju veliki, ali ipak ograničeni broj čitanja/pisanja) i sl. Ipak, od korisnika ili administratora očekuje se povremeno praćenje zapisa u dnevniku sustava, kako bi se na vrijeme otkrili problemi, poput pojave grešaka (npr. greške na određenim dijelovima – kada se podatci ne mogu ispravno pročitati).
15
Prijelom.indd 15
21.9.2010. 11:40:19
Sustavna programska potpora
1.4 Ulazno-izlazne naprave kartice
brze sabirnice
prema raznim
za sporije UI
PCI, IDE, SATA, USB,
sporih (starih)
Slika 1.4 Uobičajeni način spajanja sastavnica računala
Ulazno-izlazne naprave spajaju se na računalo preko vanjskih ili unutarnjih priključaka. Primjer takvih naprava su tipkovnica, miš, zaslon, USB-naprave i pisač. U ulazno-izlazne naprave ubrajamo i računalne sastavnice koje se nalaze u računalu, npr. grafička kartica, disk, zvučni podsustav, mrežna kartica ili sklopovi na matičnoj ploči i sl. Da bi te naprave, koje se mogu i naknadno ugrađivati u računalo, ispravno radile, potrebno je poznavati način njihova rada, odnosno kako od njih nešto postići. Za svaku takvu napravu operacijski sustav ima upravljački program (u žargonu drajver, od engl. device driver). On definira sučelje za komunikaciju s napravom, potrebne strukture podataka, spremničke lokacije, vremenski slijed naredbi i sl. Upravljačke programe najčešće stvaraju proizvođači naprava (uz napravu dolaze i potrebni upravljački programi, ako uobičajeni, već prisutni s operacijskim sustavom nisu odgovarajući). S obzirom da samo procesor izvodi instrukcije nekog programa, ulazno-izlazne naprave koriste mehanizam prekida da prekinu rad procesora i zahtijevaju obradu aktivnosti kojima su one uzrok. Na primjer, nakon što je disk dobio zahtjeve za nekim podatcima, trebat će mu neko vrijeme da ih dohvati. U međuvremenu procesor neće čekati, već će izvoditi neki drugi posao koji je spreman i ne ovisi o zahtijevanim podatcima. Kada disk konačno dohvati tražene podatke i učita ih u svoju priručni spremnik (ili izravno u glavni spremnik), on signalom prekida obavještava procesor da je njegov posao gotov. U obradi tog prekida omogućuje se nastavak poslova koji su te podatke zahtijevali, a disku se pošalju novi zahtjevi, ako takvi postoje. Upravljanje napravama mehanizmom prekida podrobnije je objašnjeno u trećem poglavlju.
1.5 Upravljanje programima/procesima Programi koji su korisniku potrebni trebaju se najprije postaviti na sustav (instalirati). Sve se potrebne datoteke stave na odgovarajuća mjesta u datotečni sustav, registriraju za odgovarajući tip datoteka, postave prečicu za njihovo pokretanje i sl. Pri pokretanju programa, operacijski sustav mora u spremnik istodobno smjestiti i instrukcije i podatke programa te započeti s njegovim izvođenjem. Od tog trenutka zapravo govorimo o procesu koji se izvodi, a koji pritom zauzima određena sredstva računalnog sustava: spremnik, procesorsko vrijeme, naprave (dok je program samo niz instrukcija).
16
Prijelom.indd 16
21.9.2010. 11:40:19
1. poglavlje: OPERACIJSKI SUSTAVI
Operacijski sustav mora osigurati da se svi procesi nesmetano izvode (da jedan ne smeta drugome i obrnuto). Problemi koji se zbog toga pojavljuju su u pristupu sredstvima sustava (osim spremnika). Osnovno sredstvo sustava je procesor. Kako omogućiti da istodobno više procesa/programa dobije svoj dio procesorskog vremena (da se i on izvodi)? Uobičajeno rješenje koje koristi raspoređivač poslova koji upravlja dodjelom procesora jest metoda kružne podjele vremena (engl. Round Robin): svi procesi programi dobiju po djelić vremena, slijedno, jedan po jedan, kružnim slijedom. Osim procesora, razni procesi programi mogu istodobno tražiti korištenje nekog drugog sredstva. Takvi se problemi rješavaju korištenjem sinkronizacijskih mehanizama, kojima se sinkronizira pristup tim sredstvima (npr. jedan po jedan). Procesi mogu međusobno željeti komunicirati radi ostvarenja svojih zadaća te im operacijski sustav i to mora omogućiti. Uobičajeni načini komunikacije su korištenjem poruka, cjevovoda, zajedničkih spremničkih lokacija, datotečnog sustava te mrežnog sustava (kada mogu komunicirati i programi s različitih računala). Sve operacije koje mogu kompromitirati sustav ili druge programe zaštićene su tako da su ostvarene u jezgri operacijskog sustava. Kada neki program želi pozvati takvu operaciju, on pozove funkciju jezgre korištenjem mehanizma programskog prekida, tj. posebnom instrukcijom izaziva prekid. S obzirom da se obrada prekida obavlja u privilegiranom načinu rada, u jezgrinoj se funkciji obavlja zadana operacija, ako je dopuštena za pozivajući program. Detaljniji opis dijela operacijskog sustava koji upravlja programima, tj. procesima (i dretvama) opisan je u četvrtom poglavlju.
1.6 Upravljanje spremnikom Gotovo sve aktivnosti računalnog sustava izvodi procesor. Zato se svi programi i njihovi podatci prije izvođenja moraju prvo dohvatiti i smjestiti u glavni spremnik računala. U spremniku se stoga u istom trenutku nalaze instrukcije i podatci više programa (procesa), podatci i programi operacijskog sustava, priručni spremnici za sporije naprave (npr. za disk) i dr. Odgovor na pitanje: „Kako se sve smješta u zajednički spremnik, a da svi procesi obavljaju svoje poslove, da ne smetaju jedan drugome, da su zaštićeni jedni od drugih, da se učinkovito koristi spremnički prostor?“ daje podsustav za upravljanje spremnikom. Upravljanje spremnikom u osobnim računalima i poslužiteljima obavlja se konceptom straničenja (engl. paging). Ukratko, u ovome
Slika 1.5 Program i proces
Spremnici podataka mogu se podijeliti u nekoliko skupina: • glavni spremnik (memorija) – kroz njega sve prolazi; drugi je po veličini (iza diska), • disk – trajni spremnik podataka znatno većeg kapaciteta od glavnog spremnika, na kojem podatci ostaju sačuvani i nakon gašenja računala • priručni spremnici – (engl. cache) služe za ubrzavanje rada pri korištenju sporijih spremnika: • uz procesor (L1, L2, L3), • uz naprave, • kao dio glavnog spremnika namijenjenog ubrzanju rada s nekom napravom (npr. diskom).
17
Prijelom.indd 17
21.9.2010. 11:40:19
Sustavna programska potpora
načinu upravljanja spremnikom, procesi i njihovi podatci dijele se na stranice. Spremnik je također podijeljen na dijelove – okvire istih veličina (uobičajeno 4 KB). Sustav upravljanja mora znati povezati pojedinu stranicu programa s pripadnim okvirom gdje se ona nalazi. Sve stranice programa ne moraju istodobno biti prisutne u glavnom spremniku, već samo one koje su zaista potrebne. Time se postiže mogućnost da se u sustavima pokreću i programi koji su veći od raspoloživog spremničkog prostora (npr. računalo s 1 GB prostora u spremniku može izvoditi proces koji zahtijeva 2 GB spremničkog prostora). Koji su ostali načini upravljanja spremnikom i zašto se baš straničenje koristi za upravljanje prikazano je u petom poglavlju.
1.7 Mrežni podsustav Današnja računala, pa i ona najmanja, gotovo su nezamisliva bez mogućnosti spajanja na Internet. Ako to ne mogu napraviti, korisniku uskraćuju značajno velik broj usluga koje bi mogle pružiti. Mrežni podsustav iznutra je gotovo složen kao i sam operacijski sustav. No njegovo korištenje nije potrebno posebno znanje – današnji operacijski sustavi sami otkrivaju moguće načine pristupa prema Internetu te se sami prilagođavaju toj vezi, a od korisnika jedino traže podatke za spajanje (korisničko ime i lozinku, ako je potrebno).
Slika 1.6 Primjer korištenja protokola pri komunikaciji klijenta i poslužitelja
Korisnici koji žele sami podesiti mrežne postavke ili uspostaviti priključak na Internet, gdje automatski postupci operacijskih sustava nisu uspjeli, ipak trebaju znati nešto o konceptima mrežnog podsustava te načinu njegova podešavanja na operacijskom sustavu te možebitno i ostalim napravama (npr. preklopnicima i usmjerivačima). Mrežni podsustav detaljnije je prikazan u šestom poglavlju.
1.8 Sigurnost i privatnost Današnji su računalni sustavi međusobno povezani infrastrukturom koju nazivamo Internetom. Zbog toga se u računalnim sustavima pojavljuje i problem sigurnosti i privatnosti. Kako se zaštititi od zlonamjernih korisnika koji žele doći do naših podataka: pročitati ih, izmijeniti ili obrisati? Opće načelo koje koriste operacijski sustavi je uskraćivanje pristupa podatcima onim korisnicima, tj. njihovim programima, koji za te podatke nemaju odgovarajuće ovlasti.
18
Prijelom.indd 18
21.9.2010. 11:40:19
1. poglavlje: OPERACIJSKI SUSTAVI
Za osiguravanje sigurnosti i privatnosti potrebno je u gotovo sve sastavnice operacijskog sustava ugraditi odgovarajuće mehanizme, počevši s datotečnim sustavom, upravljanjem spremnikom i procesima te zatim mrežnim podsustavom. Iako u području sigurnosti ima znatnih napredaka u operacijskim sustavima, problem njegove složenosti i složenosti njegovih sastavnica onemogućuju potpuno siguran rad. Poneka je greška u sastavnicama neizbježna, a njih često pronalaze upravo zlonamjerni napadači koji tada prikladno oblikovanim programima iskorištavaju te otkrivene propuste radi stjecanja pristupa do informacija koje bi im sustav inače uskratio.
Operacijski sustavi, kao i drugi sustavi i programi, za zaštitu od neovlaštenog pristupa najčešće koriste korisničko ime i lozinku. Napredniji oblici zaštite uključuju korištenje digitalnih certifikata (koji se nalaze na zasebnim karticama) ili nekih biometrijskih značajki (npr. otisak prsta).
1.9 Korisničko sučelje Računalni sustav korisnici uglavnom vide preko njegova korisnička sučelja. Uobičajena korisnička sučelja danas su grafička (GUI), gdje se pomoću miša (ili slične naprave) pomiče značka po zaslonu te pokreću i upravljaju potrebni programi. Zadaća korisničkih sučelja je da olakšaju rad korisniku, da on bude učinkovitiji pri obavljanju svog svakodnevnog posla ili da mu pruže više zadovoljstva pri korištenju računala za razonodu.
19
Prijelom.indd 19
21.9.2010. 11:40:19
Sustavna programska potpora
Vježbe iz poglavlja 1
Informacije o sustavu 1. Uvod Prvi korak pri bilo kakvoj promjeni u računalnom sustavu jest njegovo detaljno upoznavanje. Osim određivanja samog operacijskog sustava (i naknadno primijenjena ažuriranja), potrebno je poznavati i samo sklopovlje, barem osnovne elemente u koje spadaju: • tip i izvedba procesora, • matična ploča, • tip i veličina glavnog spremnika, • disk, njegova veličina i ostala svojstva (particije, datotečni sustavi), • grafička kartica, • zaslon i njegova svojstva, • priključak na Internet. Većinu osnovnih podataka za navedene elemente moguće je dobiti odgovarajućim programima koji su dio samog operacijskog sustava. Više se detalja može dobiti ili izravnim uvidom u sklopovlje (otvaranjem računala i izravnim očitanjem parametara – ili nakon ustanovljavanja modela uvidom u dokumentaciju istih), ili korištenjem zasebnih programa čija je namjena dohvat svih detalja o pojedinim sklopovskim sastavnicama. Uz operacijski se sustav obično isporučuju i osnovni programi za upravljanje osnovnim tipovima podataka (datotekama). No da bi računalni sustav obavljao neku korisnu operaciju, najčešće je potrebno naknadno instalirati dodatne programe. Pri održavanju računala potrebno je poznavati način pregleda svih tih programa (instaliranih uobičajenom procedurom), gdje su oni smješteni, koliko spremničkog prostora (na disku) zauzimaju, koliko se često koriste i sl.
2. Temeljni pojmovi • procesor • matična ploča • glavni spremnik • grafička kartica • disk • zaslon (monitor) • priključak na Internet • programi
3. Cilj vježbe Cilj ove vježbe je upoznati se s metodama prikupljanja podataka o računalnom sustavu.
20
Prijelom.indd 20
21.9.2010. 11:40:19
1. poglavlje: OPERACIJSKI SUSTAVI
4. Priprema za vježbe Upoznati se (teoretski) s osnovnim elementima računala i njihovim parametrima.
5. Vježbe A. VANJSKIM PREGLEDOM računala (računalo može biti i isključeno) zapisati SVE podatke DO KOJIH SE MOŽE DOĆI o sljedećim elementima (mnogi će biti nepoznati!): • operacijski sustav (samo ime): • procesor: • matična ploča (i priključci):
• spremnik: • disk: • grafička kartica: • zaslon: • priključak na Internet: • programi instalirani na sustav:
• ostalo:
B. (ako je moguće) Uvidom u unutrašnjost računala, navesti detaljnije podatke o elementima (popuniti samo ono što je očitano): • procesor ▪▪ tip procesora (naziv): ▪▪ osnovna (najveća) frekvencija rada: ▪▪ veličina priručnog spremnika (L1/L2/L3): • matična ploča • naziv:
21
Prijelom.indd 21
21.9.2010. 11:40:19
Sustavna programska potpora
▪▪ proizvođač: ▪▪ priključci (ime/tip, broj priključaka) a. za procesor(e): b. za glavni spremnik: c. za grafičke kartice: d. za diskove/optičke čitače: e. za dodatne kartice (PCI/PCI-E/...): f. ostalo (USB, audio i sl.):
• glavni spremnik ▪▪ tip: ▪▪ veličina: ▪▪ način rada/frekvencija: • disk ▪▪ ime: ▪▪ kapacitet: ▪▪ brzina vrtnje: ▪▪ veličina priručnog spremnika: • grafička kartica (ime, ...): • ostalo:
C. Korištenjem programa koji su dio operacijskog sustava i ostalih dostupnih programa zabilježiti (očitati) podatke o sustavu i njegovim elementima (navesti samo podatke koji su na ovaj način dostupni!): • operacijski sustav (ime i možebitne nadogradnje):
22
Prijelom.indd 22
21.9.2010. 11:40:20
1. poglavlje: OPERACIJSKI SUSTAVI
• procesor ▪▪ tip procesora (naziv): ▪▪ osnovna (najveća) frekvencija rada: ▪▪ veličina priručnog spremnika (L1/L2/L3): • matična ploča ▪▪ naziv: ▪▪ proizvođač: ▪▪ priključci (ime/tip, broj priključaka) a. za procesor(e): b. za glavni spremnik: c. za grafičke kartice: d. za diskove/optičke čitače: e. za dodatne kartice (PCI/PCI-E/...): f. ostalo (USB, audio i sl.):
• glavni spremnik ▪▪ tip: ▪▪ veličina: ▪▪ način rada/frekvencija: • disk ▪▪ tip (ime, tip priključka IDE/SATA/…): ▪▪ kapacitet: ▪▪ brzina vrtnje: ▪▪ veličina priručnog spremnika: ▪▪ particije (oznaka, ukupna veličina, veličina slobodnog prostora) particija 1:
23
Prijelom.indd 23
21.9.2010. 11:40:20
Sustavna programska potpora
particija 2: particija 3: particija 4: • disk 2 (ako postoji) ▪▪ tip (ime, tip priključka IDE/SATA/…): ▪▪ kapacitet: ▪▪ brzina vrtnje: ▪▪ veličina priručnog spremnika: ▪▪ particije (oznaka, ukupna veličina, veličina slobodnog prostora) particija 1: particija 2: particija 3: particija 4: • grafička kartica ▪▪ ime: ▪▪ veličina spremnika: ▪▪ frekvencija rada: ▪▪ priključci (vanjski): • zaslon ▪▪ tip (CRT/LCD/…): ▪▪ veličina dijagonale: ▪▪ rezolucija: ▪▪ broj mogućih boja: ▪▪ frekvencija osvježavanja zaslona: ▪▪ priključci (VGA/DVI/HDMI/…):
24
Prijelom.indd 24
21.9.2010. 11:40:20
1. poglavlje: OPERACIJSKI SUSTAVI
• priključak na Internet ▪▪ tip (PPP/ethernet/ADSL/…): ▪▪ brzina (u Kbps ili Mbps): ▪▪ adresa/e (IP, MAC): • nekoliko bitnijih programa instaliranih na sustav ▪▪ uredski programi (obrada teksta, tablični kalkulatori):
▪▪ elektronička pošta i ostali komunikacijski programi:
▪▪ web-preglednici: ▪▪ stvaranje i reprodukcija multimedijalnih sadržaja:
▪▪ igre: ▪▪ ostali programi:
• korisnici (definirani sustavom) ▪▪ trenutačni korisnik (prijavljeni/logirani): ▪▪ udaljeni korisnici (koji na bilo koji način koriste računalo):
▪▪ svi registrirani korisnici (navesti bar pet):
• ostalo:
• korišteni programi za utvrđivanje navedenog:
25
Prijelom.indd 25
21.9.2010. 11:40:20
Sustavna programska potpora
6. Upute i objašnjenja uz vježbe Vježba 1 A Ako je računalo zatvoreno, traženi se podatci mogu doznati jedino preko možebitnih naljepnica s podatcima (uobičajeno može biti prisutna markica s operacijskim sustavnom i posebnim ključem za to računalo) i preko oznake modela računala (i uvidom tehničke dokumentacije tog model). Vježba 1 B Otvaranje i izravan rad s elementima računala (postavljanje/vađenje/prilagodba) trebaju raditi samo osobe koje su dobro upućene u način rada s tim elementima. Ipak, ako se i SAMO PROMATRA unutrašnjost, mogu se dobiti potrebni podatci o pojedinim elementima računala. Neki će elementi biti označeni samo kraticom, dok će za neke druge biti dostupno i više podataka. Ponekad je nužno otvoriti računalo i pogledati koje su sastavnice unutra kako bi se moglo pripremiti odgovarajuće upravljačke programe i za sam postupak instalacije operacijskog sustava. Najčešće to nije potrebno kada je riječ o uobičajenom sklopovlju, ali kada je neko sklopovlje manje uobičajeno ili se tek pojavilo na tržištu, moguće je da operacijski sustav nema odgovarajuće upravljačke programe za tu napravu (npr. RAID kartica). Vježba 1 C Različiti operacijski sustavi nude različita sučelja za njihovo podešavanje i pregled elemenata i njihovih postavki. Windows porodica operacijskih sustava gotovo sve navedeno nudi kroz Control Panel. Osim kroz njega, neki se alati (npr. System Information) nalaze i u okviru izbornika (Start Programs Accessories System Tools). Za pregled sklopovlja i instaliranih programa, najbolje će poslužiti programi: System Information i Device Manager te specijalizirani dodatni programi (npr. CPU-Z).
26
Prijelom.indd 26
21.9.2010. 11:40:20
1. poglavlje: OPERACIJSKI SUSTAVI
Na Linux i sličnim UNIX sustavima, većina podešavanja i informacija o sustavu dobiva se naredbama u komandnoj liniji. Informacije o trenutačnom stanju sustava mogu se dobiti i pregledom virtualnog direktorija /proc. Na primjer, podatci o procesorima mogu se pogledati u datoteci /proc/cpuinfo (naredbom $ cat /proc/cpuinfo). Približavanjem Linux sustava i običnim korisnicima pojavljuje se i sve više alata koji omogućuju podešavanje sustava i iz grafičkog okruženja. Primjeri takvih programa iz operacijskog sustava Ubuntu (inačice 9.10) prikazani su u nastavku pomoću slika njihova rada.
27
Prijelom.indd 27
21.9.2010. 11:40:20
Prijelom.indd 28
21.9.2010. 11:40:20
2. poglavlje
POKRETANJE SUSTAVA 2.1 Uvod Osobna se računala često po završetku korištenja isključuju zbog raznih razloga (npr. štednje energije ili smanjenja buke). Pri ponovnom pokretanju, a prije dolaska u radno stanje kada ih korisnik može koristiti, prođe određeno vrijeme u kojem se sustav pokreće (podiže, engl. boot up). Za razliku od osobnih računala, neka su druga računala stalno u takvom stanju (radnom stanju), npr. mobilni telefoni i slični ručni uređaji nemaju dugotrajan postupak pokretanja jer su oni manje snage, projektirani da malo troše, da se napajaju baterijom te u trenucima kad se ne koriste prelaze u način rada smanjene potrošnje u kojem mogu ostati jako dugo. Postupak pokretanja računala može se podijeliti u nekoliko faza: • operacije BIOS-a (engl. Basic Input Output System): ▪▪ pokretanje računala, otkrivanje sklopovskih sastavnica, početno (inicijalno) podešavanje, dijagnostika ▪▪ otkrivanje i učitavanje sastavnice koja će učitati (pokrenuti) operativni sustav • učitavanje operativnog sustava (engl. boot loader): ▪▪ postavlja procesor i ostale elemente u odgovarajuća stanja, učitava osnovne upravljačke programe ▪▪ učitava osnovne elemente operativnog sustava u glavni spremnik ▪▪ predaje kontrolu operativnom sustavu • pokretanje operativnog sustava: ▪▪ učitavanje svih potrebnih upravljačkih programa ▪▪ inicijalizacija svih podsustava ▪▪ pokretanje potrebnih programa (servisa) ▪▪ dovršetak inicijalizacije i prelazak u normalno stanje u kojem se prihvaćaju naredbe korisnika
29
Prijelom.indd 29
21.9.2010. 11:40:20
Sustavna programska potpora
• radno stanje sustava: ▪▪ korisnik zadaje željene operacije (pokreće programe). Korisnik, u skladu sa svojim potrebama, može utjecati na elemente sustava koji će se aktivirati, kako će se pojedini elementi ponašati i sl. Takve su mogućnosti ipak specifične i ovise o operativnom sustavu koji se nalazi na računalu.
2.2 Pokretanje računala kroz povijest Da bi računalo ostvarilo svoje osnovne zadatke obrade i prikaza podataka (uključujući dohvat, obradu i pohranu), potrebno je da posjeduje prikladne programe i operativni sustav (OS) koji će omogućiti korištenje sklopovlje (ulaz/izlaz i ostale elemente). Prva računala nisu imala operativne sustave, već su bila programirana ručno, na razini stroja. Kod tzv. nulte generacije računala bilo je moguće izvoditi samo jedan program istodobno, tj. programi su se izvodili sljedno, jedan po jedan. Sve su rutine za obavljanje operacija sa sklopovljem (npr. čitanje s papirne vrpce ili ispisivanje na pisaču) bile sastavni dio svakog programa. Za programiranje nulte generacije računala programer je morao dobro poznavati samo sklopovlje računala, a programeri su morali izvoditi određenu količinu prepravki na samome sklopovlju što je uključivalo premještanje žica te dodavanje ili oduzimanje elektroničkih sklopova. Nulta su generacija računala bili eksperimentalni, novi uređaji te su prepravke na sklopovlju bile su nužne jer nije postojala dovoljna količina znanja i iskustva o tome kako graditi i programirati računala kao. Kako nije postojao operativni sustav, izrađivale su se tzv. rutine. Svaka je takva rutina izvodila određene funkcije na računalu kao npr. čitanje znakova s papirne vrpce, ispisivanje na pisaču ili na zaslonu, složenije matematičke operacije (npr. zbrajanje matrica, trigonometrijske operacije) i sl. Biblioteke rutina razvile su se kao nužni stupanj u razvoju računarstva jer je korištenje rutina iz biblioteke rasterećivalo programere od ponavljanja pisanja dijela kôda kako za uobičajene matematičke operacije, tako i za korištenje sklopovlja, te im je omogućilo usredotočenje na sam problem i razvijanje programa. Prve su biblioteke rutina bile objavljivane i dijeljene besplatno u krugu prvih korisnika, što je prvi primjer pojave slobodno dostupnog koda, nečega što danas susrećemo pod nazivom javna licencija (engl. General Public License - GPL), najpoznatiji i najrašireniji način licenciranja i korištenja programa slobodno dostupnog koda (engl. open source). Godine 1945. dovršeno je i pušteno u rad prvo elektroničko računalo ENIAC – Electronic Numerical Integrator And Computer. ENIAC je bio velik kao četiri školske učionice, trošio je mnogo električne
30
Prijelom.indd 30
21.9.2010. 11:40:20
2. poglavlje: POKRETANJE SUSTAVA
energije za rad (preko 300 KW za rad i hlađenje), bio je mnogo sporiji i lošiji i od najjednostavnijeg današnjeg kalkulatora. Sljedećih su se godina, s brzim napretkom elektroničke i poluvodičke tehnologije, razvijali i pojedini dijelovi računala koji su se u njih ugrađivali (tranzistori, integrirani krugovi, mikroprocesori) pa su računala postajala sve manja, brža, pouzdanija i snažnija (u jedinici vremena mogu obraditi više podataka). Jedno od osnovnih svojstava računala njihova je brzina rada. U praksi je uobičajeno da se brzina mikroprocesora (frekvencija na kojoj radi) koristi kao oznaka i za brzinu računala, iako brzina računala ovisi i o mnogim drugim parametrima (količini radnog spremnika, matičnoj ploči, grafičkoj kartici…). Radni takt današnjih procesora mjeri se u gigahercima (GHz, 1 GHz = 1000 MHz), dok je prvi Intelov procesor za osobna računala imao radni takt od 4,77 MHz. Ako današnje računalo ima radni takt od npr. 2,5 GHz, znači da je 500 puta brže od prvih modela, gledajući samo radni takt. Zapravo, uzimajući u obzir razvoj tehnologije izrade i napretka u konceptima ostvarenja procesora, današnji su procesori i samim time još nekoliko puta brži. Korištenjem dužih protočnih struktura pri izvođenju instrukcija (engl. instruction pipeline), optimističkih predviđanja u paralelnom obavljanju više uzastopnih instrukcija programa današnji procesori mogu obaviti više instrukcija u jednom taktu procesora. Jednako tako, korištenjem višestrukih procesora (engl. multi-core processor) jedan se procesor ponaša gotovo kao više njih i može istodobno (paralelno) obavljati više programa.
Slika 2.1 Računalo ENIAC
U računarstvu je pokretanje sustava (engl. booting up) skup operacija kojima započinje pokretanje operativnog sustava od trenutka uključivanja računala. Samo učitavanje operativnog sustava obavlja program pokretač (engl. bootloader).
U informatičkom rječniku, često spominjana riječ boot, kratica je od riječi bootstrap, a neki ju navode i kao akronim od Build Own Operate Transfer. Izraz potječe od fraze pull oneself up by one’s bootstraps. Pojam se odnosi na činjenicu da računalo ne može početi izvoditi instrukcije dok se one prethodno ne učitaju u radni spremnik, a za njihovo su učitavanje također potrebne instrukcije. Očito je da bar neke početne instrukcije moraju biti prisutne u spremniku i pri samom pokretanju računala (pri uključivanju računala). U računalima iz 1950-ih, nakon uključivanja prve su se instrukcije (početni program pokretač - engl. bootstrap program) učitavale sa čitača bušenih kartica. Osnovni je zadatak tog programa bio učitati drugi program (program pokretač, engl. boot loader) koji će učitati operativni sustav, a koji se nalazio na magnetnim trakama.
Slika 2.2 Čizma (engl. boot) s hvatištem za lakše navlačenje (na samom vrhu, engl. bootstrap)
Računala poput IBM 650 imala su čitav niz prekidača koji su operateru dopuštali ručno unošenje početne instrukcije (upute) u spremnik, prije nego što se kontrola prepusti samom procesoru ili izravno prosljeđivanje instrukcija procesoru. Nakon toga se učitavao program pokretač koji bi učitavao podatke spremljene na bušene trake ili kartice.
31
Prijelom.indd 31
21.9.2010. 11:40:20
Sustavna programska potpora
Primjer jednostavnog pseudo koda za program pokretač dan je u nastavku. ---------------------------------------------------------0: set the P register to 8 -1: check paper tape reader ready -2: if not ready, jump to 1 -3: read a byte from paper tape reader to accumulator -4: if end of tape, jump to 8 -5: store accumulator to address in P register -6: increment the P register -7: jump to 1 ---------------------------------------------------------
Neka su računala kasnije, kao što je bio Atari ST, imala mogućnost pokretanja operativnog sustava izravno iz ROM-a1, postižući trenutačnu spremnost za rad pri uključivanju (engl. instant on). Atari je disketni pogon koristio za učitavanje dodatnih elemenata (postojao je određeni vremenski odmak, koji je davao dovoljno vremena za ručno umetanje diskete). Pokretanje sustava u današnjim računalima (osobnim računalima i poslužiteljima) obavlja se tako da se najprije, pri samom uključivanju računala, pokreće kratki program smješten u BIOS-u, koji napravi osnovnu inicijalizaciju sklopovlja, prepoznaje uređaje na kojima se nalazi operativni sustav (disk, CD ili DVD uređaji, mrežni disk) i s njih učitava program pokretač (engl. bootstrap loader, bootstrap, boot loader) u glavni spremnik (RAM2) te ga pokreće. Program pokretač će tada učitati i pokrenuti sam operativni sustav.
2.3 BIOS BIOS je skup računalnih programa namijenjenih osnovnoj komunikaciji sa sklopovljem računala pri njegovu pokretanju. Omogućuje postavljanje osnovnih radnih parametara, pronalazi i učitava operativni sustav u radni spremnik. U osnovnoj inačici BIOS sadržava programe koji omogućuju rad s tipkovnicom i zaslonom. Pisan je strojnim jezikom i prilagođen je sklopovlju računala u kojem se nalazi. Pojam BIOS prvi se put pojavio u operativnom sustavu CP/M, gdje je označavao onaj dio operativnog sustava koji se učitavao tijekom pokretanja računala (s početne diskete) i koji je izravno upravljao sklopovljem. Sam BIOS ima mogućnost podešavanja postavki sustava (npr. podešavanje radnog takta procesora, spremnika, određivanje napra1 ROM, engl. Read-Only Memory, je dio spremnika u koji je trajno upisan sadržaj i koji se ne može mijenjati. 2 RAM, engl. Random Access Memory, je izvedba spremnika kod kojeg se svakom njegovom dijelu (lokaciji) može izravno pristupiti i u njega upisati određeni podatak ili pročitati što se u njemu nalazi.
32
Prijelom.indd 32
21.9.2010. 11:40:20
2. poglavlje: POKRETANJE SUSTAVA
ve s koje će se operativni sustav pokrenuti). Različiti BIOS-i imaju ponešto različite mogućnosti i izgled, ali vrlo slično sučelje. U nastavku je prikazan i opisan rad s jednim od inačica koja se susreće u računalima. Primjer rada s BIOS-om Za podešavanje postavki BIOS-a koristi se poseban program (npr. BIOS setup utility) koji se najčešće pokreće držeći tipku DELETE pri pokretanju računala. Neka računala koriste i druge tipke (najčešće funkcijske), ali se na ekranu u tom trenutku nalazi poruka „press X to enter setup“ gdje X označava tipku koju treba pritisnuti (npr. “Hit
if you want to run SETUP”). Program se koristi za otkrivanje (detekciju) čvrstih diskova i optičkih uređaja, podešavanje vremena sustava, a ovisno o inačici i svojstvima matične ploče može sadržavati i opcije poput aktiviranja ili deaktiviranja određenih priključaka na računalu. Postavke se također mogu zaštititi zaporkom radi onemogućavanja neautoriziranih promjena. Podešavanje je izvedeno kao niz izbornika, od kojih svaki nudi postavke određenog dijela sustava. Primjer izgleda početnog izbornika i jednog od podređenog prikazani su u nastavku s kratkim opisom.
Slika 2.3. Standard CMOS Setup
Slika 2.4. Advanced CMOS Setup
33
Prijelom.indd 33
21.9.2010. 11:40:20
Sustavna programska potpora
Nakon promjene podataka BIOS-a, novi se podaci pohranjuju odabirom opcije Save Settings and Exit. Nakon uključenja računala, BIOS započinje proces učitavanja program koji će učitati i pokrenuti operativni sustav. BIOS traži program na zadanim uređajima, redom koji je podešen u BIOS-u (Advanced CMOS Setup – Boot Sequence). Ako program ne bude pronađen na prvom uređaju, BIOS ga traži na sljedećem i tako dalje dok ga ne nađe ili dok ne prođe sve zadane uređaje.
2.4 Primjer pokretanja operativnog sustava – Windows 7 2.4.1 Pokretanje operativnog sustava Operativni sustav Windows Vista i kasniji Windows 7 predstavili su značajne promjene u načinu pokretanja sustava. Za razliku od ranijih inačica Windowsa, Windows 7 koristi prijeoperativno pokretačko okruženje (engl. pre-operating system boot environment), a jezgra mu je Boot Configuration Data (BCD) data store koji sadržava konfiguracijske parametre za pokretanje te konzolu za odabir operativnog sustava koji se želi pokrenuti. Windows XP sastavnice
Funkcija
Windows 7 sastavnice
NTLDR
Prikazuje početni izbornik (engl. boot menu) i učitava jezgru operativnog sustava.
Windows Boot manager, Windows Boot Loader.
Boot.ini
Sadržava opcije koje se prikazuju na početnom izborniku.
Boot Configuration Data registry datoteka.
Ntdetect. com
Utvrđuje sklopovlje i učitava odgovarajući sklopovski profil.
Spojeno je s jezgrom sustava pa sklopovski profili nisu potrebni.
Recovery Console
Pruža ograničeni pristup alatima operativnog sustava.
Windows Recovery Environment (Windows RE).
Tablica 2.1 Sastavnice pokretačkog okruženja
Windows operativni sustavi napravljeni su za nekoliko arhitektura (različitih procesora), ali su ipak pretežito usmjereni na Intelove x86 i x64 sukladne arhitekture. Mogu se pokretati s diskova koji
34
Prijelom.indd 34
21.9.2010. 11:40:21
2. poglavlje: POKRETANJE SUSTAVA
koriste MBR (engl. Master Boot Record) ili GPT (engl. GUID3 Partition Table) način opisa particija. Prijašnje inačice Windows operativnih sustava (npr. Windows XP) koristile su Boot.ini datoteke za inicijalizaciju pokretačkog okruženja te Ntldr kako bi učitale operativni sustav. Windows Vista i Windows 7 više ne koriste takav način pokretanja, već je pokretanje upravljano parametrima spremljenim u BCD data store: • zapisi u BCD Data Store-u definiraju koje će programe Boot Manager koristiti pri pokretanju sustava • Boot manager kontrolira proces pokretanja i omogućuje odabir programa koji će biti pokrenuti • pokretački programi učitavaju određeni operativni sustav pa tako npr. Windows Boot Loader učitava i pokreće Windows 7 BCD data store može sadržavati više zapisa, iako računala koja koriste BIOS imaju samo jedan Boot Manager zapis. Proces pokretanja operativnog sustava Windows 7 sastoji se od sljedećih koraka: 1. Power-on self test (POST) – pri uključivanju računala, ono pokreće procedure (iz BIOS-a ili EFI-a4) koje otkrivaju sklopovske sastavnice i podešavaju ih prema definiranim postavkama. Nakon POST procedura, bilo koji uređaj s vlastitim BIOS-om (kao što su npr. grafičke kartice) može pokrenuti svoje vlastite procedure za ispitivanje ispravnosti (engl. self-test) 2. Početni korak – BIOS se koristi za određivanje načina pokretanja operativnog sustava (s kojeg se diska, diskete, CD-a, DVD-a, USB-a ili adrese na mreži učitava OS). Ako se sustav učitava s diska, najprije se učita početni zapis na disku (engl. master boot record – MBR) i prema njemu se određuje particija koja će se koristiti u postupku pokretanja (aktivna particija). S te se particije učitava program Bootmgr koji preuzima daljnje korake u procesu pokretanja (npr. prebacuje procesor iz real u protected način rada te učitava Windows Boot Manager) 3. Windows Boot Manager – u ovom se koraku koristi BCD registarska datoteka koja sadržava informacije o načinu i mogućnostima u pokretanju operativnih sustava. Ako se na računalu nalazi samo jedan operativni sustav, izbornik s opcijama pokazat će se samo ako korisnik pritisne funkcijsku tipku F8 odmah nakon POST-a. Ako je više operativnih sustava, prikazuje se izbornik u kojem korisnik ima 30 sekundi da promijeni odabir operativnog sustava koji će se pokrenuti 3 GUID – Global Unique Identifier, globalni jedinstveni identifikator particije. 4 EFI – Extensible Firmware Interface, napredniji oblik BIOS-a koji donosi poboljšanja u mogućnostima podešavanja i pokretanja operativnog sustava (npr. podrška za GPT organizaciju particija diska, korištenje naprednog načina rada procesora i mogućnost iskorištenja cijelog spremnika i u postupku pokretanja). EFI se trenutno uglavnom koristi samo kod poslužitelja kojima su napredne mogućnosti potrebe odmah pri pokretanju sustava.
35
Prijelom.indd 35
21.9.2010. 11:40:21
Sustavna programska potpora
4. Windows Boot Loader – započinje inicijalizacija spremnika (koristi se straničenje) te se učitavaju bitni elementi operativnog sustava, poput jezgre, sloja koji apstrahira sklopovlje (engl. Hardware abstraction layer - HAL) te pokretačkih programa, koje u ovom koraku sustav još ne pokreće 5. Korak učitavanja jezgre – pokreću se učitani programi (uključujući jezgru i HAL) koji obrađuju zapise u registru sustava te inicijaliziraju upravljačke programe i servise koji su u registru specificirani. Nakon toga jezgra pokreće Session Manager koji pokreće grafičko sučelje (GUI). Slijedi proces pokretanja programa koje imaju neizravan, zaštićen pristup sklopovlju sustava. Na koncu, jezgra pokreće Logon Manager; 6. Proces prijave korisnika – nakon učitavanja Service Control Managera (SCM) i Local security Authoritya (LSA) pojavljuje se korisničko sučelje za prijavu. SCM učitava Plug and Play servise i upravljačke programe koji su podešeni da se automatski pokreću (engl. automatic startup). Ako je korisnička autentifikacija prošla uspješno, Logon Manager učitava Userinit.exe koji je odgovoran za primjenu grupnih pravila ponašanja (engl. Group policy settings) te se pokreću programi definirani u izborniku Startup. Posljednji se učitava Windows Explorer Shell koji omogućuje prikaz radne površine (engl. desktop).
2.4.2 Rad s BCD-om Za rad s Boot Configuration Data imamo na raspolaganju nekoliko programa: 1. Startup and Recovery, 2. System Configuration, 3. BCD Editor. 2.4.2.1 Startup and Recovery Ako je više operativnih sustava na računalu, program Startup and recovery dopušta nam odabir pretpostavljenog operativnog sustava. Programu možemo pristupiti putem Start Control Panel System and Security System te odabirom Advanced System settings.
36
Prijelom.indd 36
21.9.2010. 11:40:21
2. poglavlje: POKRETANJE SUSTAVA
Slika 2.5. Startup and Recovery opcije
2.4.2.2 System Configuration Koristeći program System Configuration (Msconfig.exe) možemo odabirati pretpostavljeni operativni sustav koji će se učitati te upravljati načinom pokretanja računala. Jednako tako, možemo podesiti da se računalo pokreće u Safe Modu ili prisiliti učitavanje standardnih VGA upravljačkih programa. Osnovni koraci za pokretanje i korištenje programa System Configuration slijede u nastavku. 1. Pokreće se sa: Start upišemo msconfig.exe u okviru za pretraživanje. 2. Odaberemo Boot karticu kako je prikazano na slici Slika 2.6. 3. Da bismo odabrali pretpostavljeni operativni sustav, odabiremo ga i označimo Set as default. 4. Ako imamo problema s pokretanjem sustava ili jednostavno želimo utvrditi zbog čega se neka pogreška pojavljuje, dovoljno je označiti Safe boot.
37
Prijelom.indd 37
21.9.2010. 11:40:21
Sustavna programska potpora
Slika 2.6. Program System Configuration
Ako koristimo program System Configuration za otklanjanje grešaka pri pokretanju ili općenito na operativnom sustavu, potrebno je voditi brigu da se nakon rješavanja problema odabere Normal Startup u sklopu General kartice. 2.4.2.3 Korištenje BCD Editora BCD Editor (BCDEdit.exe) jedini je administratorski alat koji daje izravan pristup za pregled i upravljanje podacima pohranjenim unutar BCD Data Storea. Koristimo ga slijedeći navedene korake: 1. Start All Programs Accessories. 2. Desni klik miša na komandno-linijski alat te odabiranje Run As Administrator. 3. Unutar komandno-linijskog alata potrebno je upisati bcdedit. Primjer prikazan na slici Slika 2.7 prikazuje izlazne podatke nakon upisivanja naredbe BDCEdit.
Slika 2.7. Sadržaj BCD Data store-a
38
Prijelom.indd 38
21.9.2010. 11:40:21
2. poglavlje: POKRETANJE SUSTAVA
Kao što se vidi, za ovo računalo BCD store pokazuje dvije vrste zapisa: jedan za Windows Boot Manager i drugi za Windows Boot Loader. Zapisi unutar Windows Boot Loadera sadržavaju parametre koji prate statuse tzv. no execute (NX) pravila, kernel debugger načina i Emergency Management Servisa (EMS). Jednako su tako Windows Boot Manager, Windows Legacy OS Loader i Windows Boot Loader primarni tipovi zapisa koji upravljaju procesom pokretanja. BCD također čuva informacije o prijašnjim postavkama. Da bismo vidjeli BCD zapise za alate i postavke, potrebno je unutar komandno-linijskog programa upisati: Bcdedit
/enum all
/v
Ova naredba ispisuje sve BCD zapise u odnosu na njihovo trenutačno stanje i to radi u proširenom načinu (engl. verbose). Prošireni je ispis navedene naredbe dan u nastavku.
Slika 2.8. Primjer proširenog BCD zapisa
Kao što se može vidjeti u ispisu, mnogo je dodatnih zapisa i svaki od njih ima posebnu namjenu kao i vrijednosti koje mogu biti postavljene, uključujući i sljedeće: • Recovery Environment – kod Windows Boot Loader zapisa možemo pronaći zapise s opisom Windows Recovery okruženja. Windows Recovery okruženje prilagođeno je preinstalacijsko
39
Prijelom.indd 39
21.9.2010. 11:40:21
Sustavna programska potpora
okruženje koje uključuje sastavnice za oporavak i otkrivanje pogrešaka pri pokretanju. Kako bismo omogućili brzi oporavak, Windows Recovery okruženje dolazi pri instalaciji Windowsa 7. Obično je instalirano na disk, ali ne na particiju koja sadržava operativni sustav, već na zasebnu skrivenu particiju, čime se osigurava odvojenost od operativnog sustava i potencijalne mogućnosti da se nešto slučajno obriše; • Resume from Hibernate – zapis Resume from Hibernate pokazuje trenutačne postavke koje se koriste kod nastavka rada sustava nakon hibernacije. Hibernacijski podaci (sadržaj radnog spremnika u trenutku hibernacije) spremljeni su u datoteci Hiberfil.sys koja se nalazi u korijenskoj mapi, npr. C:\; • Windows Memory Tester – zapisi pokazuju trenutačne postavke za program Windows Memory Diagnostic (Memtest.exe) koji je spremljen u \boot mapi sakrivene particije sustava. Particiji nije pridruženo slovo i sakrivena je pa se ne može vidjeti u datotečnom sustavu, ali se vidi u programu Disk Management;
Slika 2.9. Prikaz rezervirane particije sustava
• EMS settings – EMS postavke pokazuju postavke koje se koriste pri pokretanju operativnog sustava s Emergency Management Services. Zasebni Windows Boot Loader zapisi upravljaju pokretanjem programa (kada i pod kojim uvjetima); • Debugger Settings –zapisi pokazuju postavke koje se koriste pri pokretanju operativnog sustava s uključenim praćenjem procesa pokretanja (engl. debug mode). Zasebni Windows Boot Loader zapisi kontroliraju kada je ovaj način pokretanja uključen.
40
Prijelom.indd 40
21.9.2010. 11:40:21
2. poglavlje: POKRETANJE SUSTAVA
2.4.2.4 Upravljanje BCD Data Store podacima BCD Editor možemo koristiti za dodavanje, mijenjanje ili brisanje zapisa koji se nalaze u BCD Data Storeu. Naravno, ovo je preporučljivo činiti samo ako smo sigurni u ono što radimo, odnosno želimo napraviti. Ako se napravi greška, postoji mogućnost da računalo ostane u stanju iz kojeg se neće moći pokrenuti odnosno da završi u tzv. nonbootable stanju. Promjena pretpostavljenog operativnog sustava Za promjenu zapisa za pretpostavljeni operativni sustav možemo koristiti parametar /Default. Sintaksa za taj parametar je: Bcdedit
/default
bootldrid
gdje je bootldrid GUID za program pokretač (boot loader) koji će biti korišten. Svaki operativni sustav ima svoj program pokretač pa mora biti definirano koji će se koristiti.
Promjena pretpostavljenog čekanja Koristeći naredbu bcedit /timeout 30 možemo mijenjati vrijeme čekanja za odabir operativnog sustava kojeg želimo pokrenuti. Ako se vrijednost postavi na nulu, sustav će se pokretati automatski, i to s pretpostavljenim operativnim sustavom. Omogućavanje PAE (Physical Address Expansion) Ova je mogućnost posebno zanimljiva korisnicima računala temeljenih na procesorima x86 arhitekture jer operativnim sustavima omogućuje korištenje i više od 4GB radnog spremnika (posebnim proširenjem procesora u postupku straničenja). Pojedini su procesi, međutim, i dalje ograničeni na najviše 4GB po procesu.
41
Prijelom.indd 41
21.9.2010. 11:40:21
Sustavna programska potpora
Ovu opciju nije potrebno podešavati ako se koriste 64-bitovni operativni sustavi budući da oni mogu izravno koristiti više od 4GB (logički su im adrese 64-bitne). Ako želimo omogućiti PAE pomoću BCD programa, potrebno je koristiti sintaksu: Bcdedit
/set bootldrid pae paeState
gdje bootldrid čini identifikator operativnog sustava koji bi trebao koristiti PAE. Promjena redoslijeda prikaza operativnih sustava Ako je na računalu dva ili više operativnih sustava, koristeći BCD editor moguće je mijenjati njihov redoslijed koristeći parametar /Displayorder. Tako možemo promijeniti redoslijed u ovim BCD zapisima
 koristeći sljedeću naredbu:
 Određeni operativni sustav kao prvi zapis na ekranu možemo postaviti kao prvi zapis, koristeći /addfirst i /displayorder opciju.
2.4.3 Pogreške pri pokretanju Znakovi pogrešaka pri pokretanju mogu biti različiti, ovisno o tome u kojem su dijelu procesa nastale. Prvi korak ka utvrđivanju pogreške jest lociranje pogreške, u kojem je koraku ona nastala. Osnovno pitanje koje se nameće jest je li greška pokretanja nastala kao posljedica sklopovske ili programske greške? Ako proces pokretanja stane na POST dijelu, problem je nedvojbeno sklopovski. U većini će slučajeva BIOS prikazati grešku ili reproducirati niz signala koji će identificirati točno određeni problem koji je uzrokovao grešku.
42
Prijelom.indd 42
21.9.2010. 11:40:21
2. poglavlje: POKRETANJE SUSTAVA
Prva je pomoć u takvim slučajevima proučiti dokumentaciju BIOS-a u potrazi za porukama o pogrešci ili opis zvučnih signala. 2.4.3.1 Inicijalne pogreške pri pokretanju Greške koje nastaju pri pokretanju sustava obično rezultiraju porukom Non-system disk or disk error koja nam govori da postoji određeni problem s konfiguracijom BIOS-a, diskovima ili datotečnim sustavom. Navedene su pogreške najčešće izazvane sljedećim problemima: • pogrešne BIOS postavke, odnosno pogrešno postavljen redoslijed uređaja za pokretanje (engl. boot order) pa se sustav npr. pokušava pokrenuti ss zaostalog CD ili DVD medija u uređaju, • sklopovske greške, • nedostajuće pokretačke datoteke, • oštećeni podaci, koji mogu biti posljedica ili neispravnog diska ili npr. izlaganja nekim od vanjskih utjecaja poput elektromagnetskog zračenja. 2.4.3.2 Greške pokretačkih programa ili servisa Jedna od čestih grešaka pojavljuje se nakon učitavanja jezgre, a prije pojave sučelja za prijavu korisnika (prije pojave grafičkog sučelja). Problem je rjeđe povezan s nefunkcionalnošću sklopovlja, a češće s upravljačkim programima ili servisima koje jezgra pokušava učitati. Rješenje je takvog problema razlučivanje koji servis ili upravljački program dovodi do zastoja ili greške te njegova reinstalacija ili zaustavljanje (npr. u Safe Modeu).
2.4.4 Servisi Svrha računala je izvođenje programe koji služe korisnicima. Danas postoji mnoštvo različitih programa za iste i različite namjene. Mnogi jednostavni programi dolaze uz sam operativni sustav kao njegov sastavni dio. Neki su takvi programi namijenjeni izravno korisniku (pokreću se preko ikona na radnoj površini ili kroz izbornik), a neki su pomoćni za sam operativni sustav i pokreću se s njim ili pri prijavi korisnika. Ove potonje nazivamo i servisima (engl. services). Servisi su programi koji su obično u paketu s operativnim sustavom, ali mogu se instalirati i naknadno. Servisi mogu biti integralni dio operativnog sustava (obavljati osnovne zadatke sustava), mogu upravljati određenim sklopovljem ili mogu pružati dodatne usluge ostalim programima ili i udaljenim računalima (npr. dijeljenje datoteka). Takvi se programi ne pokreću izravno od korisnika (nemaju asociranu ikonu na radnoj površini niti se nalaze u izborniku), niti ih
43
Prijelom.indd 43
21.9.2010. 11:40:21
Sustavna programska potpora
se kao većinu programa može isključiti klikom na „X“ u gornjem dijelu prozora programa. Većina takvih programa ne traži nikakvu interakciju s korisnicima, mada ima iznimaka. Na primjer, vatrozid (engl. Windows Firewall) radi kao servis, ali postoji i sučelje kroz koje se on podešava. Sučelje servisa, s obzirom da ga obično ne pokreće niti koristi sam korisnik, uglavnom se obavlja preko parametara koji su programu zadani pri pokretanju, datoteka s postavkama te datotekama u kojima servis bilježi svoje događaje i aktivnosti (engl. log files). Pregled i upravljanje servisa može se napraviti putem Computer Management konzole ili izravnim upisivanjem services.msc u Start izborniku.
Slika 2.10. Servisi
Grafičkim se sučeljem omogućuje pregled svih registriranih servisa, pokretanje i zaustavljanje servisa, podešavanja načina njihova pokretanja (automatski s operativnim sustavom, naknadno pokretanje, pokretanje po potrebi (ručno) ili onemogućavanje pokretanja.
44
Prijelom.indd 44
21.9.2010. 11:40:21
2. poglavlje: POKRETANJE SUSTAVA
Slika 2.11. Upravljanje servisom
Za sve su promjene potrebne administratorske ovlasti.
45
Prijelom.indd 45
21.9.2010. 11:40:21
Sustavna programska potpora
Vježbe iz poglavlja 2
RAD S MS VIRTUAL PC 2007 1. Uvod Velika poslužiteljska računala (engl. mainframe computer) su velika računala, kako po svojim fizičkim mjerama, tako i po snazi (često i s više procesora) koja su se u prošlosti koristila za izvođenje zahtjevnih zadataka. Takva su računala vrlo skupa i danas se vrlo rijetko susreću. No sustavi sumjerljivih mogućnosti danas se postižu povezivanjem više pojedinačnih manjih računala u jedan sustav (koristeći razne tehnologije). Primjeri takvih nakupina računala jesu računalni grozd (engl. cluster) i računalni splet (engl. grid). S obzirom da u takvim sustavima sva računala rade zajedno, moglo bi se reći da je posrijedi jedan računalni sustav. Takvi se sustavi uglavnom koriste u velikim organizacijama, a namijenjeni su izvršavanju zahtjevnih i složenih obrada podataka. Oni rade neprekidno, 24 sata dnevno, 365 dana u godini. U cilju osiguranja neprekidnoga rada, takva su računala smještena u zasebne prostorije, poslužiteljske sale (engl. server room) koje su posebno klimatizirane s posebnim sustavima sigurnosti (npr. uz zabranu pristupa neovlaštenim osobama, protupožarnu zaštitu, sustav besprekidnog napajanja za slučaj prekida električnog napajanja).
Slika 2.1.1. HP Proliant poslužitelj
Velika snaga i kapaciteti današnjih poslužiteljskih sustava i sustava za pohranu podataka, koji su svojom cijenom dostupniji nego ikada prije, dali su veliki zamah virtualizacijskim tehnologijama koje omogućuju ostvarenje snažnih (i jeftinih) poslužitelja, ali i smanjenje troškova za računalnu opremu i održavanje. Umjesto da se kupuje zasebno računalo za svaku namjenu, korištenjem virtualizacije ono se može ostvariti virtualnim računalom unutar takvog virtualizacijskog sustava. Pritom se željena procesna moć i ostala svojstva (npr. veličina spremničkog prostora, kapacitet diskova) podešavaju kroz sučelje poslužiteljskog sustava (korištenjem virtualizacijskog alata). 
46
Prijelom.indd 46
21.9.2010. 11:40:21
2. poglavlje: POKRETANJE SUSTAVA
Slika 2.1.2. Prikaz sredstava kojima raspolaže poslužitelj (prikaz iz virtualizacijskog alata)
Virtualizacija je pojam koji se veže za IBM-ovu eksperimentalnu platformu još iz 1960. No ozbiljnija primjena seže nekoliko godina unatrag kao odgovor na sve veće zahtjeve za računalima, poslužiteljima, prostorom za njihov fizički smještaj, potrebno napajanje, sve većim zahtjevima za hlađenjem te općenito održavanjem takvih sustava. Virtualizacijom se apstrahiraju raspoloživi računalni resursi te se na odvojenim virtualnim resursima omogućuje rad različitih operacijskih sustava (npr. Windows XP, Windows Vista, Windows 7, Knoppix ili dr.,) koji se mogu prilagoditi specifičnoj namjeni, kao što su npr. virtualno računalo za testiranje, poslužitelji elektroničke pošte, internetski poslužitelji, upravljanje i zaštita mrežnih resursa. Virtualni se resursi prema potrebi uzimaju od raspoloživih stvarnih resursa, uključujući procesorsko vrijeme i spremnički prostor. Virtualizacijom se vjerno simulira okruženje koje postoji u stvarnom računalnom sustavu te se programi i operativni sustavi koji rade u tom okruženju ponašaju kao da rade u stvarnim računalnim sustavima. Gubitak performansi zbog virtualizacije u dobro izvedenim sustavima gotovo je zanemariv pa se ovim konceptom poslužiteljski sustav može vrlo dobro iskoristiti. Zbog toga se virtualizacija sve češće susreće i u manjim okruženjima (ne samo u velikim tvrtkama).
Slika 2.1.3. Prikaz upravljačke konzole jednog virtualnog poslužitelja
47
Prijelom.indd 47
21.9.2010. 11:40:21
Sustavna programska potpora
Osim virtualizacije većih poslužiteljskih sustava, ona se pojavljuje i na običnim osobnim računalima. U tom se okruženju virtualizacijski alat postavlja unutar operacijskog sustava prisutnog na računalu koje nazivamo i računalom domaćinom (engl. host PC). Virtualno računalo (engl. guest PC) koje virtualizacijski alat simulira na računalu domaćina obično služi za razna ispitivanja (koja neće nanijeti štetu i ako loše završe) ili za tek povremeni rad u tim sustavima. Microsoftov virtualizacijski alat (program), čija je uporaba detaljnije opisana u ovim uputama i koji se može koristiti za vježbe u sklopu predmeta „Sustavna podrška programima“, jest Virtual PC 2007. Program korisnicima omogućuje da na svojem računalu istodobno pokrenu više virtualnih računala, svaki sa svojim operacijskim sustavom. Prebacivanje s jednog virtualnog sustava na drugi (i rad u njima) obavlja se vrlo jednostavno, jednim klikom miša.
2. Temeljni pojmovi • apstrakcija računalnih resursa • virtualizacija, virtualizacijski alat, računalo domaćin, virtualno računalo • virtualni diskovi
3. Cilj vježbe • Naučiti što su velika poslužiteljska računala i što je virtualizacijski alat. • Naučiti koristiti MS Virtual PC 2007 i pomoću njega stvoriti virtualno računalo kao podlogu za eksperimentiranje te za instalaciju operacijskih sustava (u okviru vježbi). • Naučiti prednosti virtualizacije i dinamički rastućih virtualnih diskova.
4. Priprema za vježbe Pokrenite instalaciju Virtual PC 2007 programa tako da se kroz Windows preglednik (Windows Explorer) pozicionirate na vaš instalacijski DVD koji ste dobili uz knjigu, u mapu X:\VirtualPC2007 (gdje x:\ označava DVD uređaj) te pokrenite instalaciju dvostrukim klikom na VirtualPC2007_32.exe ako imate 32-bitni operacijski sustav, odnosno na VirtualPC2007_64.exe ako imate 64-bitni operacijski sustav. Pri instalaciji odaberite pretpostavljene (engl. default) vrijednosti. Ako zadane postavke nisu mijenjane pri samoj instalaciji programa Virtual PC 2007, on se pokreće odabirom: Start All programs Microsoft Virtual PC. Pri pokretanju se otvara VPC konzola te se pokreće čarobnjak koji vas vodi kroz stvaranje novog virtualnog računala.
48
Prijelom.indd 48
21.9.2010. 11:40:22
2. poglavlje: POKRETANJE SUSTAVA
1. Da biste kreirali novo virtualno računalo, u Virtual PC konzoli kliknite na New....
2. Odaberite prvu opciju Create a virtual machine i nakon toga kliknite na Next.
3. Odaberite mjesto (mapu) za spremanje datoteka koje će činiti virtualno računalo. Nakon što je odabrana lokacija i ime datoteke, kliknite na Next. 4. Nakon uspješnog stvaranja *.vmc datoteke, potrebno je odabrati vrstu operacijskog sustava koji će biti instaliran u virtualnom računalu (engl. guest operating system). Odabirom odgovarajućeg operacijskog sustava dopuštate Virtual PC 2007 aplikaciji da predloži odgovarajuće postavke za virtualno računalo, odnosno za operacijski sustav koji će se instalirati. 5. Nakon odabira željenog operacijskog sustava kojeg će kasnije trebati instalirati, odaberite Next. Veličina spremnika za virtualno računalo može se i naknadno mijenjati bez obzira na prethodno odabranu (ili predloženu) vrijednost. U ovom je trenutku poželjno ostaviti preporučenih 512 MB.
49
Prijelom.indd 49
21.9.2010. 11:40:22
Sustavna programska potpora
6. Kliknite na Next.
7. U sljedećem dijaloškom okviru definirate postavke za virtualni disk novog virtualnog računala. S obzirom na to da je ovo prvo stvaranje virtualnog računala, treba odabrati opciju „A new virtual hard disk“. Nakon toga odaberite Next. 8. U sljedećem dijaloškom okviru koji se otvara odabirete lokaciju virtualnog diska (datoteku koja će se koristiti kao disk) te definirate njegovu veličinu.
Pritiskom na Next završava se proces stvaranja virtualnog računala i ono je spremno za instalaciju operacijskog sustava.
50
Prijelom.indd 50
21.9.2010. 11:40:22
2. poglavlje: POKRETANJE SUSTAVA
5. Vježbe A. Pokrenite Virtual PC 2007 konzolu i stvorite virtualno računalo s 512 MB RAM-a i 64 GB diska te ga nazovite Virtual-1. B. Provjerite lokaciju koju ste odabrali za smještaj datoteka virtualnog računala. Koje se datoteke nalaze u mapi (direktoriju)?
C. Koju ste veličinu diska odabrali? Koja je ekstenzija za virtualni disk? Koja je veličina te datoteke trenutačno?
D. Znači li to da će takav disk dinamički rasti?
E. Pokrenite virtualno računalo. • Što se prikazuje na ekranu? • Ima li to računalo BIOS? • Što je BIOS?
• Možete li pristupiti BIOS-u virtualnog računala? F. Smanjite veličinu spremnika virtualnog računala na 256 MB. Možete li to napraviti dok je ono pokrenuto?
G. Po završetku vježbe izbrišite virtualno računalo koje ste stvorili brisanjem mape u kojoj se ono nalazi.
51
Prijelom.indd 51
21.9.2010. 11:40:22
Sustavna programska potpora
6. Upute i objašnjenja uz vježbe Odabirom operacijskog sustava za novo virtualno računalo u samom virtualizacijskom alatu možemo vidjeti i koristiti pretpostavljene vrijednosti za elemente virtualnog računala.
Sl. 2.1.4. Čarobnjak Virtual PC 2007
Jednako tako, pretpostavljene vrijednosti možemo naknadno mijenjati, onako kako to radimo i sa stvarnim računalom. To, međutim, nije moguće dok je računalo pokrenuto. Pri stvaranju virtualnog računala dobivamo priliku za odabir lokacije za smještaj datoteka virtualnog računala. Ono se sastoji od dvije datoteke: s ekstenzijama*.vmc i *.vhd, gdje datoteka *.vhd čini virtualni disk računala, a *.vmc je konfiguracijska datoteka koja sadržava količinu radnog spremnika, lokaciju virtualnog diska ili diskova i sl. Korištenjem pretpostavljenih vrijednosti pri stvaranju virtualnog računala za Windows Vista/7 operacijski sustav, veličina će virtualnog diska biti 65 GB. Virtual PC neće odmah rezervirati svih 65 GB za virtualni disk, nego će njegova veličina (tj. zauzeće na računalu domaćina) dinamički rasti kako se virtualno računalo koristi. Tako će pri samom stvaranju virtualnog računala zauzeće za njegov virtualni disk biti svega nekoliko KB, a nakon instalacije Windowsa 7 kao virtualnog operacijskog sustava on će biti zauzimati oko 6 GB. Kod potpuno nove instalacije Windowsa 7 treba provesti određena podešavanja unutar BIOS-a virtualnog računala. Kao i bilo koje osobno, tako i virtualno računalo posjeduje BIOS jer je to skup računalnih programa namijenjenih osnovnoj komunikaciji sa sklopovljem računala koja su jednako potrebna virtualnim kao i osobnim računalima (pri njihovu pokretanju). BIOS omogućuje postavljanje osnovnih radnih parametara, pronalazi i pokreće učitavanje operacijskog sustava u radni spremnik. Pojam BIOS prvi se put pojavio u operacijskom sustavu CP/M1, gdje je označavao onaj dio CP/M operacijskog sustava koji se učitavao tijekom pokretanja računala i koji je izravno upravljao sklopovljem. Učitavao se s inicijalne diskete. Kod pokretanja tzv. čiste instalacije (engl. clean install) treba promijeniti redoslijed uređaja s kojih će se operacijski sustav podizati (engl. boot order) tako da to bude s instalacijskog DVD medija, a ne s diska. Za podešavanje postavki koristi se BIOS setup utility koji se najčešće pokreće držeći tipku DELETE odmah po uključivanju računala. 1 CP/M je skraćenica engleske složenice Control Program for Microcomputers i ime je za operacijski sustav što ga je razvila američka tvrtka Digital Research. CP/M je bio vrlo raširen u kasnim 70-im i 80-im godinama 20. stoljeća te je proglašen prvim industrijskim standardom za operacijske sustave.
52
Prijelom.indd 52
21.9.2010. 11:40:22
2. poglavlje: POKRETANJE SUSTAVA
Neka računala koriste i druge tipke (najčešće funkcijske, npr. F2) koje su prikazane na ekranu (npr. „press X to enter setup“, gdje X označava tipku koju treba pritisnuti). BIOS setup utility koristi se za detekciju diskova i optičkih uređaja, podešavanje vremena, a ovisno o verziji i svojstvima matične ploče, može sadržavati i opcije poput aktiviranja ili deaktiviranja određenih priključaka računala. Postavke se mogu zaštititi zaporkom radi onemogućavanja neautoriziranih promjena BIOS-a. Za pristupanje podešavanju BIOS-a treba učiniti sljedeće: 1. uključiti virtualno računalo – na zaslonu će biti prikazano izvršavanje niza raznih testiranja; 2. nakon poruke: “Hit if you want to run SETUP”, pritiskom na tipku DEL (na tipkovnici), ulazi se u podešavanje BIOS-a (vodite brigu da virtualno računalo mora biti u fokusu kako bi zabilježilo vaš pritisak na tipku DEL !).
53
Prijelom.indd 53
21.9.2010. 11:40:22
Sustavna programska potpora
Instalacija Windows 7 i osnovna podešavanja 1. Uvod Operativni sustav (OS) je skup osnovnih programa koji upravljaju sklopovljem računala radi ostvarivanja njegovih osnovnih funkcija: dohvata podataka, njihove obrade te pohranjivanja. Pojava prvih računala veže se za kasne tridesete godine prošlog stoljeća te razdoblje Drugog svjetskog rata kada nisu postojali operativni sustavi te su računala bila programirana na razini stroja. Kod prvih je računala bilo moguće izvršavati samo jedan program koji je imao potpunu kontrolu nad računalom. Iako su prvi operativni sustavi razvijeni već 50-ih godina 20. stoljeća, tek krajem 60-ih i početkom 70-ih pojavljuju se operativni sustavi koje možemo nazvati pravim operativnim sustavima, konceptom i funkcionalnostima slični današnjim (iako znatno primitivniji). Danas najčešće korišteni operativni sustavi, porodica Microsoft Windows operativnih sustava, započinje svoj razvoj prvom verzijom Windowsa, koje je puštena u prodaju 20. studenoga 1985. Kao i neki manje poznati sustavi iz tog razdoblja, taj je operativni sustav započeo s korištenjem grafičkog korisničkog sučelja. Upravo su grafičko korisničko sučelje koje koristi miša te omogućavanje istodobnog pokretanja više programa (višezadaćnost) obilježili jednu eru operativnih sustava za osobna računala i radne stanice. Windows 3.0. (1990.) prva je potpunija i široko prihvaćena verzija Windowsa. Ona donosi nova tehnička poboljšanja, bolje korištenje mogućnosti Intelovih 802861 i 80386 procesora za upravljanje radnim spremnikom. Uvode se programi poput Program Managera za upravljanje programima te File Managera za upravljanje datotekama. Windows 95 (1995.) ima novo naprednije grafičko sučelje i integriran DOS command prompt (za podršku mnoštva programa koji su izrađeni za DOS), koji su ovoj verziji donijeli golem uspjeh na tržištu. Windows 95 dolazi s podrškom i za duža imena datoteka. Naime, dotadašnji je DOS ograničavao duljinu imena 8 znakova plus tri iza točke (za ekstenziju – oznaka tipa datoteke), dok se s Windowsima 95 dopuštena dužina imena datoteke povećava na 256 znakova. Verzija Windows 98 SE (Second edition, 1999.) dolazi s boljom podrškom za USB uređaje (engl. Universal Serial Bus), Internet Explorerom 5.0, podrškom za dijeljenje veze prema Internetu (engl. Internet Connection Sharing – ICS) te integriranom podrškom za DVD uređaje. Usporedno sa sustavima Windows 95, Windows 98 i Windows ME (zadnja nadogradnja serije), Microsoft je razvio i zaseban operativni sustav za poslovne sustave. Prvi je takav sustav nosio naziv Windows NT. NT (1996. inačica 4.0) donosi brojna poboljšanja i nove mogućnosti poput: Active directory, Group Policy, DNS server, Terminal services, Remote desktop protocol (RDP). Windows NT i njegova nadogradnja Windows 2000 (2000.) imali su i poslužiteljske inačice: Windows NT Server te Windows 2000 Server.
1 Arhitektura 80286 procesora označava x86 16-bitni mikroprocesor sa 134.000 tranzistora koji je korišten u IBM PC kompatibilnim računalima sredinom 80-ih i ranih 90-ih.
54
Prijelom.indd 54
21.9.2010. 11:40:22
2. poglavlje: POKRETANJE SUSTAVA
Windows XP (2001.), iako je nadogradnja NT serije, spaja operativne sustave za poslovne (inačica Professional) i kućne (inačica Home) potrebe i kao takav je obilježio zadnje desetljeće u području operativnih sustava. Poslužiteljska inačica pojavila se 2003. godina kao Windows 2003. Novije inačice Microsoft Windows operativnih sustava uključuju Windows Vistu (2006.) i njezinu nadogradnju Windows 7 (2009.) za osobna računala te Windows 2008 (2008.) za poslužitelje. U tim je inačicama napravljen veći redizajn operativnog sustava kako u grafičkom sučelju, tako i u jezgri sustava (arhitekturi). Počevši s NT porodicom operativnih sustava (NT, 2000, XP, ...) dolazi i potpuno novi datotečni sustav koji zamjenjuje dotadašnje FAT16 i FAT32, s mnoštvo novih mogućnosti. Neki od njih su: • sigurnost na razini datoteke i mape (direktorija): kontrola dozvola pristupa datotekama i mapama za svakog korisnika ili grupu korisnika • kompresija datoteka: komprimiranje omogućuje dobivanje više slobodnog prostora na disku • diskovne kvote: ograničavanje zauzeća prostora na disku po svakom korisniku zasebno • enkripcija: transparentno kriptiranje (šifriranje) datoteka i mapa Windows 7, kao trenutačno posljednja inačica operativnog sustava iz serije Microsoft Windows za upotrebu na osobnim računalima, donosi nove promjene u grafičkom sučelju, ali i samoj arhitekturi. Novosti uključuju Windows Shell (značajno proširenje mogućnosti automatiziranja poslova korištenjem skripti), punu podršku za tzv. multi touch te novu alatnu traku. Napravljene su znatne promjene u kućnom umrežavanju pa se redizajnirani mrežni podsustav naziva HomeGroup. Zbog više inačica Windowsa 7, koje se razlikuju prvenstveno u broju i vrsti programa uključenih uz pojedini proizvod, minimalni su sklopovski zahtjevi isti za sve. Računalo koje udovoljava uvjetima ima oznaku Windows 7 Capable PC. Windowse 7 moguće je instalirati na računalo sa samo 512 MB spremnika, ali ako se želi koristiti naprednije aero grafičko sučelje i raditi ugodnije, preporučljivo je instalirati barem 1 GB i imati noviju grafičku karticu s barem 256 MB zasebnog spremnika. Pri instalaciji Windows 7 operativnog sustava, moguće je odabrati dvije opcije: 1. nadogradnju operativnog sustava – ovu je opciju moguće odabrati ako već postoji računalo s licenciranim operativnim sustavom i pod uvjetom da je nadogradnja moguća, 2. novu instalaciju sustava. Bez obzira na koju se od navedenih opcija odlučili, prije nego se krene s instalacijom, potrebno je učiniti sljedeće: 1. provjeriti podržava li računalo minimalne sklopovske zahtjeve potrebne za instalaciju nove verzije sustava. Ako računalo ne podržava zahtjeve, treba ga najprije nadograditi ili kupiti novo u slučaju da nadogradnja nije moguća; 2. provjeriti postoje li svi upravljački programi (engl. drivers); 3. napraviti sigurnosnu kopiju podataka koji se nalaze na čvrstom disku (ako je riječ o nadogradnji operativnog sustava). Najjednostavniji način provjere usklađenosti računala jest upotreba programa Upgrade Advisor koja, uz ostale provjere, zamjenjuje i dosadašnji Hardware Compatibility List2. Program će također preporučiti koja inačica Windowsa 7 zadovoljava njihove potrebe. Krajnji rezultat pokretanja programa je izvještaj koji objašnjava koju je inačicu sustava Windows 7 moguće instalirati te daje prijedloge, ako ih ima, o tome što na računalu treba nadograditi. Windows 7 Upgrade Advisor je prvi korak pri nadogradnji računala. Prije samog pokretanja programa treba uključiti sve periferne uređaje (poput pisača, vanjskih modema, skenera...) kako biste dobili što točniji izvještaj o mogućim problemima. 2 Hardware Compatibility List – pruža informaciju jesu li sklopovske sastavnice i periferni uređaji u skladu s Microsoft Windows operativnim sustavima.
55
Prijelom.indd 55
21.9.2010. 11:40:22
Sustavna programska potpora
2. Temeljni pojmovi • operativni sustav • povijest Windows operativnih sustava • višezadaćnost • GUI – grafičko korisničko sučelje • NT porodica operativnih sustava • NTFS datotečni sustav • instalacija operativnog sustava
3. Cilj vježbe • Samostalno instalirati Windows 7 operativni sustav u virtualnom računalu. • Shvatiti ulogu operativnog sustava i uočiti njegove zadatke: 1. upoznati se s instalacijom operativnog sustava, 2. upravljanje radnim spremnikom, 3. upravljanje datotekama.
4. Priprema za vježbe Ako zadane postavke nisu mijenjane pri samoj instalaciji, Virtual PC 2007 se pokreće odabirom Start All programs Microsoft Virtual PC. Za vježbu ćete koristiti već pripremljeno virtualno računalo koje se nalazi na instalacijskom DVD-u. U programu Windows Explorer otvorite vaš DVD pogon i u dogovoru s nastavnikom odaberite lokaciju na koju ćete kopirati mapu SPP-CL1 s DVD–a. Virtualno računalo pokrenite dvostrukim klikom na SPP-CL1.vmc koja se nalazi unutar mape SPP-CL1. Možda ćete morati napraviti promjene u prikazu datoteka tako da u Windows Exploreru odaberete:
56
Prijelom.indd 56
21.9.2010. 11:40:22
2. poglavlje: POKRETANJE SUSTAVA
te potom isključite opciju “Hide extensions for known file types”, nakon čega će se prikazati ekstenzije datoteka ako to do tada nije bilo učinjeno. Nakon odabira željene verzije Windowsa 7 (Home, Premium, ...), pregleda njezinih sklopovskih zahtjeva i utvrđivanja udovoljava li naše računalo zahtjevima, potrebno je umetnuti instalacijski DVD i započeti instalaciju. Ako računalo ne prepoznaje instalacijski medij, treba provjeriti BIOS postavke i postaviti željeni redoslijed uređaja s kojih je računalo moguće pokrenuti. U vašem će slučaju instalacija Windowsa 7 započeti automatski. Virtualno je računalo koje se nalazi na instalacijskom DVD-u u mapi SPP-CL1 konfiguracijski tako podešeno da će njegovo pokretanje odmah započeti s instalacijom s DVD uređaja. Zbog pojednostavljenja procedure same instalacije Windowsa 7 kao operativnog sustava ne koristi se DVD medij, nego je cjelokupna instalacija napravljena kao ISO slika (engl. image3) iz koje se na virtualnom računalu radi emulacija klasičnog DVD uređaja. Nakon učitavanja instalacije na ekranu će se pokazati uvodni instalacijski dijalog prikazan na slici.
1. Odaberite jezik instalacije (Language to install), format datuma i valute (Time and currency format) te raspored tipki na tipkovnici (Keyboard or input method). 2. Potom kliknite Next te će se prikazati dijaloški okvir gdje pokrećete samu instalaciju operativnog sustava. 3. Kliknite na Install now nakon čega se trebate složiti s uvjetima licencije4. 4. S obzirom na to da treba napraviti čistu instalaciju, u sljedećem dijaloškom okviru odaberite opciju Custom (advanced).
3 ISO image arhivska je datoteka (također poznata kao disk image). ISO image datoteke mogu biti kreirane iz optičkih diskova, obično imaju datotečni nastavak „iso“. Naziv je preuzet od ISO 9660 datotečnog sustava koji se koristi za CD-ROM medije, ali ISO image jednako tako može sadržavati i UDF kao datotečni sustav. 4 Uvjeti licencije (Software license terms) – pravni instrumenti koji se odnose na korištenje ili distribuciju autorskih prava softvera. Tipična softverska licencija jamči krajnjem korisniku dozvolu za korištenje jedne ili više kopija softvera, ovisno o tome kako je definirano samim uvjetima.
57
Prijelom.indd 57
21.9.2010. 11:40:22
Sustavna programska potpora
5. Kad odaberete način instalacije, trebate odabrati lokaciju5 (slika u nastavku), nakon čega kreće sama instalacija Windowsa 7.
6. Po završetku instalacije upišite korisničko ime te definirajte zaporku i ime računala. 7. Nakon odabira sigurnosnih postavki te vremenske zone (slike u nastavku), instalacija Windowsa 7 je završena. Instalacija dodatnih upravljačkih pogona čvrstog diska Ako tijekom instalacije nisu dostupne sve diskovne particije u dijelu Where do you want to install windows, znači da instalacijski proces nije pronašao diskove te treba instalirati dodatne upravljačke programe za diskovne kontrolore.
5 Pri instalaciji Windowsa 7 možete odabrati instalaciju koja će biti na cijelom disku ili, koristeći naredbu New..., napraviti novu particiju koja će biti samo dio postojećeg diska.
58
Prijelom.indd 58
21.9.2010. 11:40:22
2. poglavlje: POKRETANJE SUSTAVA
5. Vježbe A. Završite instalaciju Windows 7 operativnog sustava. B. Neka ime vašeg virtualnog računala bude SPP-CL1. C. Koje ste regionalne postavke odabrali? D. Mogu li se one naknadno promijeniti? E. Neka zaporka administratorskog računa bude: Windows7.123. Može li se ova zaporka smatrati sigurnom (kada ne bi bila svima poznata)? Zašto?
F. Je li napravljena sigurnosna pohrana korisničkih podataka? • Ako nije, zašto? G. Prema uputama iz Vježbe 2.1, stvorite još jedno virtualno računalo s istim sklopovskim postavkama. Nazovite ga SPP-CL2. Na njemu nije potrebno instalirati operativni sustav. H. Koliko vaše pravo računalo (računalo domaćina) ima radnog spremnika? I. Ako ste za oba virtualna računala definirali po 512 MB radnog spremnika, mogu li se oba virtualna računala pokrenuti?
• Ako ne mogu, isključite oba virtualna računala i smanjite im veličinu spremnika (npr. na 384 MB).
59
Prijelom.indd 59
21.9.2010. 11:40:22
Sustavna programska potpora
6. Upute i objašnjenja uz vježbe Kao što je rečeno, pri instalaciji virtualnih računala, odnosno operativnih sustava u njima moramo voditi brigu o njihovim minimalnim sklopovskim zahtjevima. Minimalni su zahtjevi prema spremniku za Windows 7 512 MB. no pritom treba voditi brigu i o tome da se moraju zadovoljiti i minimalni zahtjevi operativnog sustava unutar kojeg se virtualna računala pokreću, tj. računala domaćina. Primjerice, ako ukupno imamo 1 GB spremnika i operativni sustav na računalu je Windows 7, moći ćemo pokrenuti samo jedno virtualno računalo. S druge strane, ako imamo 1.5 GB spremnika, slijedeći minimalne zahtjeve, moći ćemo pokrenuti dva virtualna računala. U ovoj ćemo vježbi napraviti dvije instalacije virtualnih računala, jedno ćemo koristiti za vježbe u ovome poglavlju, dok će drugo biti korišteno za ostale vježbe. Definiranje imena računala, korisničkog računa i korisničke zaporke, odabira sigurnosnih postavki te vremenske zone spada u osnovna podešavanja pri instalaciji Windows 7 operativnog sustava. Kako bi se korisnik jednoznačno identificirao na računalu, mora koristiti korisnički račun (User account). Korisnički je račun jedinstveni identitet svakog korisnika računalnog sustava. On omogućuje dodjelu određenih prava i privilegija za korištenje dijelova računalnog sustava (sklopovlja, programa, datoteka...). Svaki bi korisnik računalnog sustava trebao imati svoj korisnički račun, odnosno, nisu predviđeni zajednički korisnički računi namijenjeni svakodnevnoj uporabi. Svaki korisnički račun mora obavezno sadržavati ime kojim se korisnik može identificirati. Pri imenovanju se potrebno pridržavati sljedećih naputaka: • ime korisničkog računa (username) mora biti jedinstveno. Ako je riječ o lokalnom korisničkom računu, ime mora biti jedinstveno na tom, određenom računalu • ime korisničkog računa može ukupno sadržavati 20 velikih ili malih slova, ali ne i sljedeće znakove: „ / \ [ ] : ; | =,+?<> • mogu se kombinirati posebni i alfanumerički znakovi. Znak razmaka je dopušten, no nije preporučljiv. Ako dužina korisničkog računa prelazi dvadeset znakova, uzimat će se u obzir samo prvih dvadeset Svakom je korisničkom računu pridijeljena i zaporka. Zaporka može biti prazna, no takav pristup iz sigurnosnih razloga nije preporučljiv. Dapače, preporučuje se uporaba složenije zaporke koju nije lako pogoditi. Ugrađenom korisničkom računu administrator uvijek treba postaviti što sigurniju zaporku. To će neautoriziranim korisnicima onemogućiti pristup računalnom sustavu u svojstvu administratora. (Pri instalaciji Windowsa 7 kreirat ćete korisnika s administratorskim ovlastima, dok će Administratorski račun biti onemogućen. Potrebno mu je postaviti zaporku i zatim ga omogućiti.) Moguće je odrediti tko će upravljati zaporkama – hoće li to raditi sami korisnici ili oni neće imati mogućnost promjene svojih zaporki, već će to za njih raditi administrator. Korisnike treba educirati o opasnostima za računalni sustav koje vrebaju ako zaporke nisu postavljene ili ako ih je moguće lako pogoditi: • uzaludno je koristiti zaporke s očitim asocijacijama kao što su prezime ili datum rođenja • zaporke veće duljine teže je pogoditi. Maksimalna duljina zaporki je 127 znakova, a nije preporučljivo koristiti zaporke kraće od 8 znakova • preporučljivo je koristiti kombinacije velikih i malih slova, numeričkih i posebnih znakova
60
Prijelom.indd 60
21.9.2010. 11:40:22
2. poglavlje: POKRETANJE SUSTAVA
Slijedeći navedeno, zaporka koju smo definirali: Windows7.123, zadovoljava sve uvjete. Pri davanju imena računalu, dobro se koristiti određenom nomenklaturom (pogotovo u tvrtkama). Ona će nam osigurati jednostavnije snalaženje kod buduće administracije računala. Na primjer, ako je riječ o virtualnom računalu, koje se nalazi u Zagrebu (a tvrtka nam je smještena na dvije lokacije), primjer prefiksa naziva računala može biti VZGW, a primjer sufiksa računala može nam biti korisničko ime. Tako dobivamo ime računala, VZGWPPERIC, iz kojeg možemo iščitati da je riječ o virtualnoj (V) radnoj stanici (W) koja se nalazi u Zagrebu (Z) i kojom se koristi Pero Perić. Drugi primjer može biti HZGWMMARIC iz kojeg možemo iščitati da je riječ o klasičnoj (H-hardver) radnoj stanici (W) koje se također nalazi u Zagrebu (Z) i kojom se koristi Marko Marić. Pri instalaciji operativnog sustava potrebno je napraviti sigurnosnu pohranu korisničkih podataka. U ovom slučaju to nije rađeno s obzirom da je rađena instalacija virtualnog računala slobodnog od bilo kakvih podataka. Prije korištenja računala, potrebno je napraviti osnovna podešavanja, tzv. inicijalnu konfiguraciju što će biti opisano u sljedećih nekoliko vježbi u kojima ćete: • provjeriti koji se sve programi pokreću pri prijavi korisnika (Startup u izborniku Start, zapisi u Registryju), • provjeriti rade li sve sastavnice sustava ispravno (Device Manager), • pregledati zapis u pregledniku događaja (Event Viewer), • steći znanje o upravljanju korisnicima i grupama (Users; Local Users &... i sl), • steći znanje o zaštiti: sigurnosnoj stijeni (firewall), antivirusu, sustavu nadogradnje (Windows update), • saznati o pregledu, pokretanju, zaustavljanju, podešavanje servisu (Services), • saznati o nadgledanju rada sustava (Task manager, opterećenje, mrežna aktivnost i sl.), • steći znanje o disku: particijama, defragmentiranju.
61
Prijelom.indd 61
21.9.2010. 11:40:22
Sustavna programska potpora
RAD S DISKOVIMA 1. Uvod Jedan je od bitnijih dijelova računalnog sustava svakako njegov diskovni podsustav. Njegova je funkcija pohrana podataka odnosno informacija koje su ili datoteke operativnog sustava, ili programi, ili korisnički podaci. Kako biste omogućili neometan rad računala i optimizirali brzinu kojom se dohvaćaju podaci iz datoteka, važno je razumjeti kakve diskove prepoznaje i podržava operativni sustav Windows 7 te na koji se način njima upravlja. Windows 7 omogućuje rad s diskovima, i to: • običnim (basic) ili • dinamičkim (dynamic) diskovima. Pri instalaciji novog čvrstog diska na računalo, Windowsi će ga prepoznati kao običan čvrsti disk. Iako je fizička veličina unaprijed definirana tijekom same proizvodnje, disk je moguće podijeliti na manje logičke cjeline koje se zovu particije. Obični disk može imati najviše četiri primarne particije. Ako to nije dovoljno, jedna od particija označava se proširenom i može se dalje dijeliti (unutar nje se stvaraju nove, logičke particije). Kod dinamičkih čvrstih diskova ne postoji ograničenje od četiri particije. Dinamički čvrsti diskovi također omogućuju povezivanje više fizičkih diskova u jednu logičku cjelinu, koja se u operativnom sustavu vidi kao jedna particija. Diskove je moguće podesiti da rade u nekoj vrsti redundantnog polja nezavisnih diskova (RAID), a koje može omogućiti stvaranje još većih logičkih cjelina i/ili omogućiti rad i nakon kvara pojedinog diska (koji se tada treba zamijeniti) bez gubitaka podataka. Primjer takvog redundantnog polja je RAID1. Najmanje RAID1 polje sačinjeno je od dva fizička diska na koja se pišu identični podaci kako se, ako jedan od diskova postane neispravan, ne bi izgubili podaci, a računalo normalno nastavilo s radom na drugom disku. U praksi nam to znači da sustav neće prestati raditi ako dođe do kvara na jednom od čvrstih diskova, nego će potpunu ulogu na sebe preuzeti neoštećen disk. RAID1 polje često se naziva i mirror (zrcaljenje). Programski RAID1 polje do sada nije bilo moguće napraviti u klijentskim Windows operativnim sustavima. Windows 7 podržava FAT32 i NTFS datotečne sustave, ali zbog naprednijih je osobina preporučljivo koristiti NTFS. Ako je potrebno, FAT datotečni sustav može se pretvoriti u NTFS bez gubitka podataka. Za konverziju treba koristiti komandno-linijsku naredbu convert x: /fs:ntfs gdje je x slovo particije čiji se datotečni sustav želi pretvoriti u NTFS.
62
Prijelom.indd 62
21.9.2010. 11:40:23
2. poglavlje: POKRETANJE SUSTAVA
2. Osnovni pojmovi • inicijalizacija diskova • obični čvrsti diskovi (Basic) • dinamički čvrsti diskovi (Dynamic) • formatiranje diskova • stvaranje particija • datotečni sustavi: FAT16, FAT32, NTFS • RAID 1 • konverzija datotečnih sustava: FAT16, FAT32 NTFS i obratno • program za upravljanje diskovima
3. Cilj vježbe Na sljedećim ćemo se primjerima naučiti koristiti programom za upravljanje diskovima (Disk Management) s kojim ćemo proći sve korake kako bi disk postao dostupan korisniku i samim time pogodan za spremanje podataka. Ovladat ćemo pojmom inicijalizacije diska, stvaranjem particija te uočiti razliku kao i dodatne mogućnosti dinamičkih diskova naspram običnih diskova. Uz pomoć naredbe convert naučit ćemo napraviti pretvorbu FAT16, FAT32 datotečnih sustava u NTFS zbog prednosti koje nam pruža (sigurnost na razini datoteka, kompresija, enkripcija). Jednako će se tako, s obzirom na zahtjeve za očuvanje podataka na samom računalu (u slučaju kvara diska), uvidjeti prednosti korištenja tzv. redundantnih diskova. Konačno, naučit ćemo se koristiti programom za izradu sigurnosnih kopija unutar Windows 7 operativnog sustava.
63
Prijelom.indd 63
21.9.2010. 11:40:23
Sustavna programska potpora
4. Priprema vježbe 1. Prije nego pokrenete Windows 7 virtualno računalo, koristeći Virtual PC konzolu provjerite koliko vaše računalo ima virtualnih diskova. Za vježbu koristite računalo SPP-CL1 koje ste kopirali u prethodnoj vježbi s instalacijskog DVD-a. Vaše je virtualno računalo pripremljeno tako da, osim diska s operativnim sustavom, posjeduje i dodatna dva diska. 2. Pokrenite virtualno računalo te se prijavite na njega koristeći Administratorski korisnički račun. Napomena: Ako želite pokrenuti stvaranje novih virtualnih diskova, prije pokretanja virtualnog računala odaberite to računalo unutar Virtual PC 2007 konzole te s desne strane, klikom miša, odaberite opciju Settings i nakon toga Virtual Disk Wizard. Nakon što je disk stvoren (nazovite ih HDD2 i HDD3), koristeći opciju Virtual hard disk file: odaberite novo stvorene diskove.
Ako je sve dobro napravljeno, nakon što virtualna računala budu pokrenuta te se ulogirate s administratorskim računom, pojavit će se sljedeća poruka.
64
Prijelom.indd 64
21.9.2010. 11:40:23
2. poglavlje: POKRETANJE SUSTAVA
5. Vježba Obične diskove koriste svi MS Windows operativni sustavi i na njima se mogu stvarati samo primarne i proširene (engl. extended) particije (i logičke unutar proširene). A. Kako bi se stvorila primarna particija na običnom, novododanom disku, u virtualnom računalu kliknite na: Start Control Panel System and Security Administrative Tools Computer Management. • Nakon što se otvorila Computer Management konzola, s lijeve strane odaberite Disk Management. • Da bi se bilo koja od radnji na disku mogla napraviti, disk treba inicijalizirati. Dijaloški okvir za inicijalizaciju pojavit će se pri samom otvaranju konzole i prikazan je na slici u nastavku.
• Pritom trebate odabrati disk koji želite inicijalizirati (obično je to novododani). • Kliknite na OK, pri čemu najprije treba odabrati izgled particije za odabrani disk. • Odaberite MBR (Master Boot Record).
65
Prijelom.indd 65
21.9.2010. 11:40:23
Sustavna programska potpora
• Nakon što su diskovi inicijalizirani, s njima možete napraviti nekoliko operacija, prikazanih na slici.
B. Nakon inicijalizacije, stvorite običnu particiju na Disku 1 i formatirajte ju kao FAT32 datotečni sustav. U Windows exploreru pogledajte je li novododani disk vidljiv. Koja mu je slovna oznaka dodijeljena?
C. U svojstvima diska (Disk Properties) provjerite koji je datotečni sustav: D. Pristupite disku pomoću Windows explorera. Kreirajte na njemu tekstualnu datoteku Proba.txt. Koristeći naredbu convert iz komandno-linijskog alata (command prompt), izvršite konverziju Diska 1 iz FAT32 datotečnog sustava u NTFS datotečni sustav. Jeste li mogli napraviti konverziju diska?
E. Što je potrebno napraviti da bi konverzija datotečnog sustava bila uspješna? Kakve su vam ovlasti potrebne?
F. Nakon izvršavanja konverzije datotečnog sustava provjerite nalazi li se kreirana datoteka na disku i nakon konverzije?
G. Ponovno napravite konverziju datotečnog sustava, ali ovaj put iz NTFS u FAT32 također koristeći naredbu convert. Što se dogodilo?
H. Je li moguće napraviti konverziju u FAT 32 i, ako je, na koji način?
66
Prijelom.indd 66
21.9.2010. 11:40:23
2. poglavlje: POKRETANJE SUSTAVA
I. Provjerite kroz Disk Management konzolu koliko se diskova nalazi u virtualnom računalu. Možete li potvrditi da se u njemu nalaze Disk 0, Disk 1, Disk 2?
J. Što se nalazi na Disku 1? K. Kreirajte RAID1 polje od diskova 1 i 2. Koji tipovi diskova podržavaju Spaned, Striped i Mirrored načine?
L. Kako je označeno RAID1 polje u Disk Management konzoli? M. Pristupite putem Windows Explorera RAID1 polju. Koja je veličina particije koju ste upravo stvorili?
N. Kreirajte na njemu datoteku Proba.txt. Isključite virtualno računalo i putem Virtual PC 2007 konzole uklonite Disk 2. Ponovno uključite virtualno računalo i prijavite se s Administratorskim računom. O. Putem Windows explorera provjerite je li disk dostupan. P. Što je potrebno napraviti da bi nam disk bio ponovno vidljiv? Koju ćete radnju unutar Disk Management konzole odabrati?
Q. Što dobivamo zrcaljenjem diskova (s RAID1 poljem)?
R. Koliko nam je diskova potrebno za RAID1 polje? Koliko za RAID 5? Je li RAID 5 podržan u Windowsima 7? Ako nije, zašto?
67
Prijelom.indd 67
21.9.2010. 11:40:23
Sustavna programska potpora
6. Upute i objašnjenja uz vježbe U konfiguraciji diskova na računalu s operativnim sustavom Windows 7 moguće je odabrati obične (basic) ili dinamičke (dynamic) diskove. Pri instalaciji novog diska na računalo, Windowsi će ga prepoznati kao običan čvrsti disk. Iako je fizička veličina unaprijed definirana tijekom same proizvodnje, disk je moguće podijeliti na manje logičke cjeline koje se zovu particije. Prije no što bude moguće koristiti novi disk, potrebno ga je inicijalizirati, particionirati i formatirati. Taj proces treba odraditi pomoću alata koji se nalaze u operativnom sustavu. Tek kada mu Windowsi dodijele slovnu oznaku particije, on će biti vidljiv u Windows Exploreru i moći će se koristiti, odnosno biti će moguće zapisivati podatke na njega. Za konverziju datotečnog sustava u NTFS treba koristiti komandno-linijsku naredbu convert x: /fs:ntfs gdje je x slovo pogona čiji datotečni sustav pretvaramo u NTFS. Komandno-linijski alat možemo pokrenuti s naredbom cmd iz izbornika Start. Ta radnja, međutim, zahtijeva administratorske ovlasti i ako smo ju pokrenuli na prethodno opisani način, dobit ćemo poruku: Access Denied as you do not have sufficient privileges. You have to invoke this utility running in elevated mode. Problem ćemo riješiti tako da putem Start All Programs Accessories odaberemo Command Prompt, na njega se pozicioniramo i desnim klikom miša odaberemo Run as Administrator kako je i prikazano na slici u nastavku .
Primjer komandno-linijske naredbe za konverziju diska prikazan je na sljedećoj slici. Kao dodatnu će mjeru provjere naredba od nas tražiti da upišemo naziv particije koju želimo konvertirati. Pretpostavljeni je naziv, ako korisnik nešto nije promijenio, New Volume što je potrebno i upisati.
68
Prijelom.indd 68
21.9.2010. 11:40:23
2. poglavlje: POKRETANJE SUSTAVA
Pri konverziji iz FAT32 u NTFS datotečni sustav ne dolazi do gubitka podataka, ali je kao mjeru opreza prije bilo kakve radnje nad diskovima potrebno napraviti sigurnosnu kopiju. Za uspostavljanje RAID1 polja potrebna su dva diska iste veličine. S obzirom da je zrcaljenje podržano jedino s dinamičkim diskovima, pri samom će se stvaranju RAID1 polja izvršiti i konverzija zadanih diskova u dinamičke. 1. Kako bi stvorili RAID1 polje, kliknite na: Start Control Panel System and Security Administrative Tools Computer Management 2. Nakon što se otvorila Computer Management konzola, potrebno se mišem pozicionirati na disk kojemu se želi nadodati drugi disk kako bi se napravio RAID1 polje.
3. Desnim klikom miša potrebno je odabrati opciju Add Mirror... te u sljedećem dijaloškom okviru odabrati disk kojega se želi dodati u tzv. RAID1 polje.
69
Prijelom.indd 69
21.9.2010. 11:40:23
Sustavna programska potpora
4. Nakon što se završi proces zrcaljenja diskova, krenut će sinkronizacija, što zapravo znači da počinje usklađivanje podataka na oba diska. Prikaz diskova dan je na slici u nastavku.
Za uspostavljanje RAID1 polja, potrebna su nam dva čvrsta diska, dok je za RAID5 polje potrebno da se u računalu nalaze barem tri čvrsta diska. Windowsi 7 trenutačno ne podržavaju RAID5 budući da je riječ o klijentskim radnim stanicama gdje sigurnost podataka nije baš toliko bitna u usporedbi s poslužiteljskim operativnim sustavima (npr. Windows Server 2008). RAID5 se može implementirati i na radnim stanicama ako je to podržano na razini sklopovlja, tj. ako postoji RAID kontroler.
70
Prijelom.indd 70
21.9.2010. 11:40:23
2. poglavlje: POKRETANJE SUSTAVA
DOS 1. Uvod Naziv DOS dolazi od složenice Disk Operating System koja se koristila kao ime ili dio imena prvih operativnih sustava (‘50-e i ‘60-e godine prošlog stoljeća). No zadnjih se 30-ak godina skraćenica DOS, odnosno MS-DOS ipak povezuje s istoimenim operativnim sustavom tvrtke Microsoft, koji je korišten na prvim PC računalima tvrtke IBM, od 1981. U tek ponešto izmijenjenom obliku DOS se zadržao u široj uporabi sve do kraja 20. stoljeća. DOS je imao zadaću povezati sve elemente računala i omogućiti jednostavniji rad programima. U osnovi, DOS se većinom bavio datotečnim sustavom (FAT). Za razliku od kasnijih operativnih sustava, DOS je jednozadaćni operativni sustav, tj. ne podržava višezadaćni rad – programi se mogu pokretati samo pojedinačno, jedan po jedan. Iako se DOS danas smatra zastarjelim operativnim sustavom, još uvijek ga se može pronaći na mnogim računalima, bilo kao integralni dio nekog operativnog sustava, bilo samostalno. Na primjer, Windows 3.x i Windowsi 95 pokretali su se iz DOS-a, a iz njih su se programi za DOS mogli neometano pokretati (u vrlo vjernom DOS simuliranom okruženju). Pokretanje programa i naredbi u DOS-u izvodi se utipkavanjem u naredbenoj liniji (komandnoj liniji), pri čemu nema grafičkog sučelja. Naredbe DOS sustava dijele se na: • ugrađene (interne) – naredbe u naredbenom procesoru (ljusci) koje su njegov dio, • vanjske (eksterne) – naredbe koje su zapravo zasebni programi, ali su dio DOS-a. Važno je napomenuti da DOS u svojim naredbama ne razlikuje velika i mala slova, što znači da će se naredba izvršavati bez obzira je li napisana velikim, malim ili kombinacijom tih slova. To su svojstvo naslijedili i svi operativni sustavi iz porodice Microsoft Windows, iako oni to u prikazu razlikuju. Danas se najčešće koriste naredbe DOS-a unutar emulacije MS-DOS operativnog sustava u sklopu MS Windows operativnog sustava (tzv. Command Prompt), odnosno pri popravku operativnog sustava koji nije u stanju pokrenuti grafičko sučelje. Jednako tako, koristit će se za određene poslove administracije računala ili za automatiziranje određenih radnji na računalu. PROMPT ili odzivni znak je niz znakova na monitoru koji pokazuju da je računalo spremno za prihvat naredbe, najčešće prikazan kao trepćući znak “_” iza oznake mape u kojoj se nalazimo (iako može biti i drukčiji). C:\WINDOWS\> _
oznaka particije
mapa u kojoj se trenutačno nalazimo
DATOTEKA je najmanja logička cjelina podataka. Svaki program tijekom rada koristi barem jednu datoteku, a i sam je program pohranjen u jednoj ili više datoteka. Kako bi operativni sustav što lakše koordinirao rad s datotekama, dodjeljuje im naziv (koji se sastoji od imena i tipa), atribut, veličinu i datum stvaranja.
71
Prijelom.indd 71
21.9.2010. 11:40:23
Sustavna programska potpora
Nazivi datoteka podijeljeni su u dva dijela: • naziv datoteke – sastoji se od alfanumeričkih znakova, i to od jednog do osam znakova (u MS DOS operativnom sustavu), • tip (ekstenzija) datoteke – sastoji se najčešće od tri alfanumerička znaka. Tip datoteke ili ekstenzija (File extension) koristi se da bi se odredila vrsta datoteke, odnosno kojom se aplikacijom određena datoteka može otvoriti. Naziv datoteke se od tipa (ekstenzije) razdvaja točkom. Primjeri: autoexec.bat config.sys
command.com ispit.txt
pismo.doc tablica.xls
Neke važnije ekstenzije standardnih tipova datoteka MS-DOS-a prikazane su u tablici: Tip datoteke
Opis
COM
Naredbena datoteka (engl. Command), tj. datoteka koja se izvršava samo upisivanjem imena.
EXE
Datoteka koja sadržava neki izvršivi program (Executabile). Datoteka se također izvršava upisivanjem imena.
SYS
Datoteka sustava (System).
BAT
Batch – sadržava naredbe MS-DOS-a koje se izvode u nizu, jedna za drugom. Datoteka se pokreće upisivanjem imena.
BAK
Datoteka koja sadržava kopiju neke datoteke (Backup File).
MS DOS će također prepoznati i datoteke koje su pripremljene za MS Windows operativni sustav, uz njihovu pripisanu ekstenziju, na kojima će se u MS DOS-u moći izvoditi osnovne manipulacije, poput promjene imena, kopiranja i sl. No većina takvih datoteka neće se moći uređivati niti pokrenuti (npr. jpg, jpeg, bmp, pcx, zip, doc, xls, mp3, wav…). Ako se radi s Command Promptom novijih MS Windows OS-a, ovo se pravilo neće primjenjivati, već će Command Prompt moći manipulirati datotekama kao i iz grafičkog sučelja. MAPE (direktoriji, kazala, engl. directory, folder) predstavljaju logičku organizaciju u kojima se nalaze datoteke koje pripadaju istoj cjelini. Mape u svom nazivu najčešće imaju alfanumeričke znakove te nemaju ekstenzije.
2. Osnovni pojmovi • jedonozadaćnost • naredbena (komandna) linija • prompt • datoteka
72
Prijelom.indd 72
21.9.2010. 11:40:23
2. poglavlje: POKRETANJE SUSTAVA
3. Cilj vježbe • Naučiti se koristiti MS-DOS naredbenom linijom, tj. njegovim osnovnim naredbama. • Shvatiti pojam datoteke i mapa te mogućnostima njihovim upravljanjem iz naredbene linije.
4. Priprema vježbe Vježbu odraditi na virtualnom računalu instaliranom u ranijoj vježbi (SPP-CL1). Za izradu vježbi koristiti slike u prilogu.
Slika 2.4.1
Slika 2.4.2
73
Prijelom.indd 73
21.9.2010. 11:40:23
Sustavna programska potpora
5. Vježba A. Na slici 2.4.1 je vaša organizacija podataka na disku s kojom niste zadovoljni. Pomoću DOS-a u naredbenoj liniji trebate obrisati podatke koji vam više ne trebaju i preimenovati pogrešno imenovane datoteke te organizirati podatke kako je prikazano na slici 2.4.2. Učinite to u najmanjem broju koraka. Nakon što ste to napravili, opišite korake (navedite naredbe):
B. Iz naredbene linije stvorite na C:\ particiji mapu Scripts, unutar nje stvorite datoteku create.bat koja će stvoriti mapu filmovi u C:\ i kopirati bilo koju datoteku u tu mapu. Za stvaranje datoteke create.bat ne smije se koristiti Notepad niti bilo koji slični grafički program. C. Iz naredbene linije, postavivši se na C:\, pokrenite create.bat. D. Što se dogodilo? E. Pokrenite Windows Explorer i pronađite mapu Filmovi. Je li stvorena? F. Zašto se datoteka nije pokrenula? G. Kako ćete omogućiti njezino pokretanje iz bilo koje mape? H. Postavite se u mapu C:\Scripts. Pokrenite datoteku? I. Koje se datoteke nalaze u njoj? Navedite ih: J. Stvorite datoteku delete.bat koja će obrisati datoteke iz mape Filmovi te potom obrisati i samu mapu Filmovi. Provjerite što se dogodilo
74
Prijelom.indd 74
21.9.2010. 11:40:23
2. poglavlje: POKRETANJE SUSTAVA
6. Upute i objašnjenja uz vježbe Za izradu vježbe potrebno je koristiti DOS naredbe. Za uspješno upravljanje datotekama, potrebno je omogućiti postavljanje u željenu mapu u kojoj se nalaze tražene datoteke. To omogućuje naredba CD (Change Directory). Naredbom CD \ možemo se postaviti u korijensku mapu (Root) iz bilo koje trenutačne mape. Naredba MD (Make Directory), odnosno MKDIR služi za stvaranje novih mapa unutar trenutačne mape. Kao parametar naredbi MD koristi se željeni naziv nove mape, npr. MD Marija. Naredba DEL (Delete) služi za brisanje datoteka i ne može se koristiti za brisanje mapa. Za brisanje je potrebno kao parametar naredbi upisati točan naziv datoteke koji mora uključivati i naziv i ekstenziju. Primjerice, za brisanje svih datoteka trenutačne mape, koje imaju ekstenziju txt, treba upisati: del *.txt Primjer: Naredba del *.* izbrisat će sve datoteke trenutačne mape. Naredba REN (Rename) služi za promjenu naziva datoteke. Sintaksa naredbe je ren stari_naziv novi_naziv. Naziv datoteke, naravno, treba uključivati i ekstenziju datoteke. Primjer: Naredba C:\> ren Biljeznica.txt Datoteka.txt Promjena naziva datoteke Biljeznica.TXT u Datoteka.TXT. Naredba COPY koristi se za kopiranje datoteka iz trenutačne mape u drugu mapu. Sintaksa naredbe je COPY naziv_datoteke odredišna_mapa Primjer: Kopiranje datoteke proba.txt koja se nalazi u početnoj mapi C:\ u mapu Ivan unutar mape Marija C:\> copy C:\proba.txt C:\Marija\Ivan. Kao potvrda izvršenog kopiranja pojavit će se poruka: 1 File(s) copied. Datoteka će biti kopirana s istim nazivom. S obzirom da se u vježbi ne smiju koristiti standardni uređivači teksta (text editor), potrebno je pokrenuti tzv. DOS Editor, koji se pokreće naredbom EDIT iz komandno-linijskog alata. Pokrenuti Editor izgleda kako je prikazano na slici.
75
Prijelom.indd 75
21.9.2010. 11:40:23
Sustavna programska potpora
U njemu ćete također napraviti i skriptne datoteke: create.bat i delete.bat. Upisivanjem bilo koje DOS naredbe unutar naredbene linije s upitnikom na kraju, npr. C:\Cdisk>copy /?, dobiva se pomoć oko načina uporabe te naredbe.
Da bi neku program mogli pokrenuti kada ste u naredbenoj liniji, on mora biti ili u trenutačnoj mapi, ili se mapa u kojoj se on nalazi mora upisati u varijablu PATH (ako već nije tamo, provjerite naredbom path). Dodavanje mape u varijablu PATH može se napraviti iz grafičkog okruženja (slika u nastavku).
U varijablu PATH (ili Path) dodajte na kraj: ; (točka – zarez) te C:\Scripts. Potom zatvorite i ponovno pokrenite Command Prompt da bi mogli iskoristiti napravljenu promjenu.
76
Prijelom.indd 76
21.9.2010. 11:40:24
2. poglavlje: POKRETANJE SUSTAVA
korisnički računi i grupe, profili 1. Uvod Korisnički računi Kako bi se korisnik jednoznačno identificirao na računalu, mora koristiti vlastiti korisnički račun (User account). Operativni sustav Microsoft Windows 7 donosi napredniji način upravljanja korisničkim računima i grupama te mogućnosti podešavanja sigurnosnih postavki računala koje se nisu mogle koristiti na dosadašnjim operativnim sustavima porodice Microsoft Windows. Na Windows XP operativnom sustavu administratorima sustava savjetovalo se da ne koristiti administratorski korisnički računom pri izvođenju svakodnevnih zadataka na računalu. Preporučljivo je bilo koristiti račun sa standardnim korisničkim privilegijama, a pri obavljanju zadatka koji zahtijeva povišene privilegije koristiti se „run as“ mogućnošću i pokrenuti aplikaciju s administratorskim pravima. Ovakav se pristup nije pokazao praktičnim. Obični su korisnici imali problema pri pokušaju instaliranja aplikacija ili podešavanja nekih opcija, potrebnih za normalan rad računala, a administratori su u većini slučajeva radi jednostavnosti koristili administratorski korisnički račun za svakodnevni rad na računalu, što je predstavljalo veliki sigurnosni rizik. UAC je sastavnica Viste/7 koja bi trebala riješiti taj problem. Kontrola korisničkog računa (UAC) značajka je operativnog sustava Windows Vista/7, kojom se sprečavaju neovlaštene promjene na računalu, a koje bi mogle prouzročiti nestabilnost samog sustava. Prije izvršenja bilo koje radnje koja bi potencijalno mogla utjecati na rad računala ili kojom bi se mogle izmijeniti postavke koje utječu i na druge korisnike, UAC će zatražiti dozvolu ili administratorsku zaporku. Kada se pojavi UAC poruka, trebate je pažljivo pročitati i provjeriti je li akcija ili program koji se pokreće uistinu onaj koji želite pokrenuti. Potvrđivanjem tih akcija prije njihova izvršenja UAC može spriječiti instaliranje zlonamjernih programa (Malware) i špijunskih programa (Spyware), odnosno spriječiti nedopuštene promjene na računalu. Primjer UAC poruke nalazi se na slici u nastavku.
77
Prijelom.indd 77
21.9.2010. 11:40:24
Sustavna programska potpora
Kako bi korisnik lakše prepoznao razinu rizičnosti određene aplikacije, UAC koristi kodiranje bojom. Gornji dio UAC dijaloškog okvira može biti prikazan u nekoliko različitih boja koje indiciraju razinu opasnosti vezanu za navedenu aplikaciju. Opis oznake Windows treba dozvolu za nastavak Program koji nije dio operativnog sustava Windows Vista treba dozvolu za pokretanje. Potpisan je valjanim digitalnim potpisom, s imenom programa i proizvođača, koji potvrđuje njegovu autentičnost. Program treba dozvolu za nastavak Program koji nije dio operativnog sustava Windows Vista treba dozvolu za pokretanje. Potpisan je valjanim digitalnim potpisom, s imenom programa i proizvođača, koji potvrđuje njegovu autentičnost. Neidentificirani program traži pristup računalu Neidentificirani program nema valjani digitalni potpis proizvođača koji potvrđuje njegovu autentičnost. Takav program nije nužno opasan jer mnogi stariji, ali autentični programi nemaju digitalni potpis. Neidentificirani program traži pristup računalu Riječ je o programu čije je pokretanje na računalu blokirao administrator. Da biste pokrenuli taj program, potrebno je obratiti se administratoru i zatražiti deblokiranje programa. UAC koristi „Admin Approval Mode“ kako bi zaštitio administratore od malicioznih i neželjenih procesa. Kada se korisnik logira (prijavljuje) na računalo s računom koji ima administratorska prava, Vista generira dva access tokena. • Standard user access token – koristi se za pokretanje Desktopa (explorer.exe). Budući da je Desktop parent (roditelj) proces za sve korisnički inicirane child (djeca) procese, bilo koja aplikacija koju pokrene korisnik također će koristiti ovaj token. Na taj način možebitno neželjeni ili maliciozni softver neće moći koristiti računalne resurse za koje su potrebne povišene privilegije. Bez obzira na to što se koristi račun koji ima administratorska prava, svi se procesi zapravo pokreću koristeći privilegije standardnog korisnika. • Full administrator access token – ima gotovo neograničene privilegije na lokalnom računalu. Ako korisnik pokrene aplikaciju koja zahtijeva povišena administrativna prava, UAC će zatamniti čitav ekran i izbaciti prozor na kojem je potrebno potvrditi pokretanje aplikacije s povišenim pravima. Ako korisnik potvrdi pokretanje, kreira se novi proces koji koristi full administrator token. Ako je korisnik već logiran s računom koji ima administratorska prava, potrebno je samo potvrditi klikom na gumb „continue“, a ako je korisnik logiran s računom koji ima standard user prava, trebat će upisati korisničko ime i zaporku za račun koji ima lokalna administratorska prava na računalu. Microsoft je implementirao dodatne preinake koje bi trebale omogućiti lakše izvođenje zadataka običnim korisnicima bez administrativnih prava. Opcije koje obični korisnici mogu pokrenuti i koje neće pokrenuti UAC prompt, a na XP računalu su zahtijevale administrativne privilegije: • gledanje sata i kalendara te promjena vremenske zone • spajanje na mrežu • promjena postavki grafičke kartice i pozadinske slike • promjena vlastite zaporke
78
Prijelom.indd 78
21.9.2010. 11:40:24
2. poglavlje: POKRETANJE SUSTAVA
• instalacija Windows sigurnosnih zakrpa koje su označene kao kritične • dodavanje pisača i uređaja čije je upravljačke pogoni instalirao ili dopustio administrator • instalacija ActiveX kontrola s internetskih stranica koje je dopustio administrator • pokretanje i snimanje CD-a i DVD-a • spajanje na drugo računalo putem Remote Desktopa • konfiguriranje i sinkronizacija s mobilnim uređajima Za svakog se korisnika zasebno mogu postaviti različita prava i način korištenja dijelova računalnog sustava. Windows 7 razlikuje nekoliko osnovnih vrsta korisničkih računa. Vrsta korisničkog računa
Objašnjenje
lokalni korisnički račun (engl. local user account)
Lokalni korisnički račun omogućuje korisniku prijavu i rad na računalu na koje se račun odnosi. Korisnik može dobiti pristup i na udaljenim računalima u računalnoj mreži, no samo ako identičan korisnički račun postoji i na udaljenom računalu i ako se koristi okruženje radne grupe, a ne domene. Lokalni korisnički računi pohranjeni su u SAM (Security Accounts Manager) bazu podataka korisničkih računa.
korisnički račun na domeni (engl. domain user account)
Korisnički račun na domeni omogućuje korisniku prijavu i korištenje računalnih resursa svih računala koja su uključena u domenu. Pri korištenju korisničkih računa domene, sve informacije vezane za same račune smještene su na središnjem poslužitelju domene (Domain Controller), koji sadržava bazu svih korisnika domene (servis Active Directory - AD).
Ugrađeni računi (engl. built-in user account)
Ugrađeni računi specijalna su vrsta korisničkih računa koje nije moguće izbrisati. Oni su stvoreni pri samoj instalaciji operativnog sustava te korisniku koji se njima služi omogućuju određene privilegije korištenja računala. Primjeri ugrađenih računa su Administrator i Guest.
Lokalni korisnički račun je svaki korisnički račun stvoren na pojedinom računalu i koristi se samo za rad na računalu na kojem je stvoren (uz odgovarajuća prava). Informacije o računu spremaju se u lokalnu sigurnosnu bazu (Security Accounts Management - SAM) računala. Lokalni je korisnički račun moguće stvoriti putem Local User and Groups sastavnice unutar Computer Management konzole ili koristeći User Account opciju unutar Control Panela. Lokalni je korisnički račun moguće stvoriti i na računalu koje je član domene i na računalu koje je član radne grupe (engl. workgroup). Lokalni se korisnički računi mogu stvoriti na svim MS Windows klijentskim operativnim sustavima porodice NT/2000/XP/Vista/7. Upotreba lokalnih korisničkih računa najčešća je kod računala koja nisu članovi domene, već su samostalna ili su članovi radne grupe. Korisnički račun na domeni svojevrsna je suprotnost lokalnom korisničkom računu. Kada je računalo član domene, koristi se središnja (centralna) lokacija za spremanje svih korisničkih računa i grupa. Korisnički se računi više ne nalaze lokalno u SAM bazi svakog računala, već se pohranjuju unutar AD (Active Directory) baze na središnjem poslužitelju domene. Kada korisnik upiše svoje korisničko ime i zaporku, autentifikacija se više ne odvija na lokalnom računalu, već na Windows 2000/2003/2008 poslužitelju koji ima ulogu poslužitelju domene. Zbog toga se korisnički račun stvoren na domeni može koristiti za prijavu (login) na bilo koje računalo koje je član domene. Prava koja se dodjeljuju korisničkom računu također više nisu ograničena na lokalne resurse, već se odnose na sva računala koja su članovi domene. Korisnički je račun na domeni moguće stvoriti samo na poslužitelju domene koristeći Active Directory Users and Computers konzolu.
79
Prijelom.indd 79
21.9.2010. 11:40:24
Sustavna programska potpora
Korisničke grupe Korisnička grupa opisuje skup korisnika koji dijele zajednička obilježja. Grupe se koriste kako bi se olakšalo upravljanje korisnicima, njihovim ovlastima, mogućnostima i privilegijama. Nakon što se neke ovlasti dodijele grupi, one se zapravo kroz grupu dodjeljuju svakom članu. Lokalne se grupe mogu stvarati na samostalnim računalima, računalima koja su član radne grupe te na računalima koja su članovi domene. Svojstva lokalnih grupa: • mogu se stvarati na svim računalima, osim na poslužitelju domene • pohranjene su u SAM bazi na svakom pojedinom računalu • koriste se za dodjelu prava pristupa, ovlasti korištenja i privilegija grupi korisnika Grupe se mogu stvarati i na domeni (kao i korisnički računi), gdje imaju istu ulogu kao i na lokalnim računalima, jedino što se te grupe mogu koristiti na svim računalima domene. Značajke grupe u domeni: • pohranjene su na poslužitelju domene te njima upravlja servis Active Directory • koriste se za dodjelu prava pristupa, ovlasti korištenja i privilegija na svim računalima koja su članovi domene • članovi grupa na domeni mogu biti korisnički računi, računala ili druge grupe Preporuke kod stvaranja korisničkih računa i zaporki Svaki korisnički račun mora obavezno sadržavati ime kojim se korisnik može identificirati. Ime korisničkog računa (Username) mora biti jedinstveno na zadanom sustavu. Korisničkom računu pridijeljena je zaporka (lozinka, engl. password). Zaporka može biti i prazna, no takav pristup iz sigurnosnih razloga nije preporučljiv. Preporučuje se uporaba složenije zaporke koju nije lako pogoditi. Ugrađenom korisničkom računu administrator uvijek treba postaviti što sigurniju zaporku. To će neautoriziranim korisnicima onemogućiti pristup računalnom sustavu u svojstvu administratora. Za zaporku se preporučuje da sadržava kombinacije velikih i malih slova, numeričkih i posebnih znakova. Primjer dobre zaporke je P@ssw0rd, gdje je korištena kombinacija velikih i malih slova, posebnih znakova i brojki te nije kraća od 8 znakova. Korisnički profili Korisnički profil predstavlja skup mapa, datoteka i postavki koje definiraju korisničko okruženje kad se korisnik prijavi na računalo. Iako svaki korisnik može spremati dokumente na u mapu Desktop ili u mapu Documents, podaci različitih korisnika međusobno se ne miješaju jer Windowsi 7 stvaraju poseban profil za svakog korisnika te spremaju podatke različitih korisnika na različite lokacije na disku (Desktop jednog korisnika je jedna mapa, a Desktop drugog druga). Ako se, primjerice, Polaznik1 prijavi na računalo i spremi nešto u mapu Documents, podaci se zapravo spremaju unutar mape C:\Users\Polaznik1\Documents. Kad se Polaznik2 prijavi na računalo i sprema dokumente u mapu Documents, Windowsi ih zapravo čuvaju na lokaciji unutar njegova profila, C:\Users\Polaznik2\Documents, i tako ne miješaju s dokumentima ostalih korisnika.
80
Prijelom.indd 80
21.9.2010. 11:40:24
2. poglavlje: POKRETANJE SUSTAVA
U operativnom sustavu Windows 7 svaki će korisnik, pri prvoj prijavi, dobiti svoj korisnički profil. Korisnički profil sadržava jedinstvene postavke za svakog korisnika, poput konfiguracije izgleda radne površine (boja, veličina pisma i sl.), kao i postavke određenih aplikacija, regionalne postavke operativnog sustava, mrežnih veza, postavki ispisa i dr. Pri prvoj prijavi na operativni sustav korisniku će biti dodijeljen jedinstveni profil. Profil će standardno biti pohranjen u mapu C:\Users\Username. Pri stvaranju novog korisničkog profila koristi se standardni profil (Default User Profile) koji se nalazi u istoj mapi. Zatim će operativni sustav učitati postavke iz korisničkog profila te će po odjavi korisnika promjene biti pohranjene u njegov profil. Razlikujemo nekoliko tipova korisničkih profila: • Local Profile – lokalni korisnički profil, onaj koji se sprema lokalno na računalo na kojem se korisnik može prijaviti. Uobičajena lokacija za lokalne profile je %systemDrive%\user\user_name\ (najčešće C:\User\user_name). • Roaming Profile – korisnički profil koji se nalazi na središnjoj lokaciji na mreži (najčešće dijeljena mapa na poslužitelju) i automatski se sinkronizira pri svakoj prijavi na računalo. Nakon što korisnik završi s radom, sve se promjene unutar profila ponovo sinkroniziraju na poslužitelj. Bez obzira na to na koje se računalo korisnik prijavio, uvijek će koristiti isti profil. Kada se korisnik prvi put prijavi na računalo na kojemu ne postoji korisnički profil, isti će se dohvatiti s središnje lokacije. • Mandatory User Profile – inačica roaming profila koji je posebno podešen kako bi se omogućilo korisničko okruženje koje sam korisnik neće moći izmijeniti. Korisnik može mijenjati postavke vezane za profil dok je prijavljen na računalo, ali izmjene se neće spremiti nakon što se odjavi. Na taj će način korisničko okruženje biti jednako svaki put kada se korisnik prijavi na računalo. Za stvaranje Mandatory profila datoteku ntuser.dat treba preimenovati u ntuser.man. • Default profile – služi kao predložak (Template) na temelju kojeg se stvara svaki novi korisnički profil. Svaki put kada se novi korisnik prvi put prijavi na računalo, postavke će uvijek biti iste kakve su podešene unutar default profila. Zadana lokacija za profil je %systemDrive%\user\default\. • Public profile – sadržava podatke zajedničke svim korisnicima na računalu. Sadržaj određenih mapa unutar Public profila poput Desktop mape spaja se s korisničkim profilom pri prijavi na računalo. Centralizacija korisničkih podataka Home Directory je mogućnost koja se najčešće koristi za pohranu korisničkih dokumenata na neku središnju lokaciju, a koja se vrlo često nalazi na nekom datotečnom poslužitelju (File server). Home Directory nije zamjena za korisničku mapu My Documents, već omogućuje alternativno mjesto pohrane korisničkih dokumenata. Ovakav način pohrane olakšava održavanje sustava jer ako su svi podaci svih korisnika pohranjeni na središnjoj lokaciji, izrada sigurnosne kopije podataka sustava (backup) značajno je jednostavnija. Ipak, u takvom je sustavu potrebno paziti da na središnjoj lokaciji uvijek bude dovoljno slobodnog prostora za sve korisnike koji koriste Home Directory. U tu se svrhu može i ograničiti raspoloživi prostor za svakog pojedinog korisnika korištenjem opcije diskovnih kvota. Kako bi administratori izbjegli svakodnevne prilagodbe korisničkih profila, pri njihovoj se promjeni radnog mjesta (računala) uvode Roaming profili. Roaming profil funkcionira tako da se, kako sadržaj profila, tako i korisničke postavke kopiraju na neku središnju lokaciju pri odjavi korisnika. Pri sljedećoj se prijavi, ako je riječ o računalu na kojem korisnik do tada nije bio prijavljen, profil kopira na „novo“ računalo. Roaming profil je jedan vid centralizacije korisničkih podataka, iako se rjeđe koristi zbog velike količine podataka koji se kopiraju na mrežne diskove. Stoga se Roaming profili uglavnom koriste kod korisnika koji nemaju stalno računalo nego se ovisno o smjeni, trenutačnoj poziciji ili sl. premještaju s jednog računala na drugo.
81
Prijelom.indd 81
21.9.2010. 11:40:24
Sustavna programska potpora
2. Osnovni pojmovi • korisnički račun • korisnička grupa • radna grupa • domena • korisnički profili
3. Cilj vježbe Cilje vježbe je upoznati učenike s važnošću korisničkih računa i složenosti zaporki. Jednako je tako bitno uočiti da je korisnički račun jedinstven za svakog korisnika informacijskog sustava/računala i da ne smije biti djeljiv s ostalim sudionicima u radu. Vrlo je bitno i uočiti važnost grupa kao načina pojednostavljene administracije računala odnosno operativnih i/ili informacijskih sustava. Nakon odrađene će vježbe učenici znati stvarati korisničke račune i grupe.
4. Priprema za vježbe Za vježbu ćete koristiti virtualno računalo SPP-CL1. Kako bi se stvorio lokani korisnički račun, potrebno je učiniti sljedeće: Otvoriti Control Panel System and Security Administrative Tools te dvaput kliknuti na Computer Management, pri čemu se otvara Computer Management konzola.
82
Prijelom.indd 82
21.9.2010. 11:40:24
2. poglavlje: POKRETANJE SUSTAVA
1. S lijeve strane odaberite Local Users and Groups. 2. Postavite se na Users i desnim klikom miša odaberite New User... .
3. Nakon toga, otvorit će se sljedeći dijaloški okvir za stvaranje novog korisničkog računa.
4. Nakon popunjavanja potrebnih podataka, kliknite na Create i korisnički je račun stvoren.
83
Prijelom.indd 83
21.9.2010. 11:40:24
Sustavna programska potpora
Kako bi se stvorila lokalna korisnička grupa, treba učiniti sljedeće: Otvoriti Control Panel System and Maintenance Administrative Tools te dvaput kliknuti na Computer Management, pri čemu se otvara Computer Management konzola. 1. S lijeve strane kliknite na Local Users and Groups. 2. Pozicionirajte se na Groups i desnim klikom miša odaberite New Group....
Otvorit će se dijaloški okvir za stvaranje nove korisničke grupe, prikazan na slici u nastavku.
3. Nakon što popunite tražene podatke, klikom na Add... u grupu možete dodati jedan ili više korisničkih računa. 4. Kliknite na Create i time je stvaranje korisničke grupe završeno.
84
Prijelom.indd 84
21.9.2010. 11:40:24
2. poglavlje: POKRETANJE SUSTAVA
5. Vježbe Vježba 2.5.1 Odjel ima dva računala međusobno povezana u radnu grupu. Svaki korisnik mora pristupati podacima pohranjenim na oba računala. Administrator je korisničke račune stvorio onako kako to sljedeća slika prikazuje. Korisnik Marko Marić (mmaric) s lozinkom 123 bezuspješno se pokušava prijaviti na Računalo 2.
A. Zašto se korisnik Marko Marić s korisničkim računom mmarić ne uspijeva prijaviti na Računalo 2?
B. Može li se prijaviti na Računalo 1? C. Na koji ćete način omogućiti korisniku prijavu na oba računala? D. Stvorite novoga korisnika po imenu Dario Car s korisničkim računom dcar, dodijelite mu inicijalnu zaporku Racunalo.123# uz obvezu mijenjanja pri prvoj prijavi na računalo. E. Prijavite se na računalo kao dcar. Što se dogodilo? F. Koju ste mu zaporku ponovno dodijelili? G. Nakon što je prošao proces prijave, stvorite korisnika Ivan Horvat. Jeste li uspjeli? H. Ako niste, zašto? I. Prijavite se s administratorskim računom i dodajte korisnika dcar u grupu Administrators. Prijavite se ponovno s njegovim korisničkim računom (dcar) i probajte ponovno dodati korisnika Ivana Horvata. Jeste li uspjeli i, ako jeste, koje ste mu korisničko ime dodijelili?
85
Prijelom.indd 85
21.9.2010. 11:40:24
Sustavna programska potpora
VJEŽBA 2.5.2 A. Stvorite korisničku grupu pod nazivom Prva grupa. Koja ste svojstva, kao obavezna, morali upisati?
B. Stavite korisnika Ivana Horvata u grupu Prva grupa. Prijavite se kao Ivan Horvat. Probajte promijeniti naziv sistemske particije (npr. Iz System u Sistemska) Što se dogodilo?
C. Stavite grupu Prva grupa u grupu Administrators i ponovno probajte promijeniti veličinu page filea kao Ivan Horvat. Jeste li uspjeli?
D. Zašto? VJEŽBA 2.5.3 A. Zbog povećanja sigurnosti unutar odjela želite biti sigurni da svi korisnici imaju zaporku koja je dovoljno složena (kombinacija velikih i malih slova, brojeva i specijalnih znakova, minimalne duljine osam znakova). B. Jednako tako, želite da se korisnički račun zaključa nakon dva neuspjela pokušaja prijave na računalo. C. Nadalje, kako biste smanjili administratorski posao i izbjegli obvezu otključavanja korisničkih računa, želite to automatizirati tako da se zaključani korisnički račun sam otključa 5 minuta nakon zaključavanja. D. Kako ćete to napraviti? E. Dodatno: Nakon potrebnih podešavanja, pokušajte prijaviti korisnika Marka Marića s pogrešnom zaporkom. Je li se korisnički račun zaključao?
F. Koju ste poruku dobili? G. Koliko ste dugo mogli biti prijavljeni kao Marko?
86
Prijelom.indd 86
21.9.2010. 11:40:24
2. poglavlje: POKRETANJE SUSTAVA
6. Upute i objašnjenja uz vježbe S obzirom da, prema slici, korisnik Marko Marić nema stvoren korisnički račun niti na jednom računalu, a uvažavajući činjenicu da je to jedini način identifikacije na računalu, normalno je da se ne može prijaviti na računalo. Da bi se mogao prijaviti, moramo mu otvoriti korisnički račun kako je prikazano u dijelu „Pripreme za vježbe“. Jednokratna zaporka je uobičajeni način da se novome korisniku omogući prijavu na sustav, ali i da se od njega pritom zatraži promjena zaporke. Ta se opcija u postupku stvaranja novog korisnika zove „User must change password an next logon“. Korištenjem te opcije administratori se štite od možebitnih optužbi korisnika da znaju njihovu zaporku i pregledavaju njihove datoteke.
Za računala koja su u tzv. radnim grupama, odnosno nisu članovi domene, definiranje sigurnosnih postavki (u što spadaju i pravila kod stvaranja korisničkih zaporki) podešavaju se pomoću lokalnih korisničkih pravila (Local group policy). Aplikacija putem koje se to može napraviti, zove se Microsoft Management konzola. Konzolu ćete pokrenuti tako da u „Search“ polju upišete MMC.
Nakon toga se otvara sama konzola u kojoj treba dodati i dodatak (Snap In) za podešavanje grupnih pravila.
87
Prijelom.indd 87
21.9.2010. 11:40:24
Sustavna programska potpora
U izborniku odaberite File Add Or remove Snap In gdje ćete, nakon što se otvorio, odabrati Group Policy Editor zatim kliknuti na Add > te OK.
Nakon toga se otvara Group Policy Editor prikazan na slici u nastavku. Proširite pregled Windows settings Security settings Account Policies Password Policy i napravite potrebna podešavanja.
88
Prijelom.indd 88
21.9.2010. 11:40:24
2. poglavlje: POKRETANJE SUSTAVA
Zatim proširite pregled Windows settings Security settings Account Policies Account Lockout Policy i napravite potrebna podešavanja, vodeći brigu da najprije trebate definirati Account lockout threshold a zatim ostala.
89
Prijelom.indd 89
21.9.2010. 11:40:24
Sustavna programska potpora
NTFS I DOZVOLE 1. Uvod Datotečni je sustav temeljna struktura podataka na disku pomoću koje svaki operativni sustav (koji podržava taj datotečni sustav) može koristiti podatke na njemu. Nakon ugradnje je novog diska, da bi se on mogao koristiti, potrebno stvoriti particiju i na njoj napraviti datotečni sustav. Starija izdanja Windowsa koristila su FAT, FAT16 i FAT32 datotečni sustav, dok noviji Windows operativni sustavi (NT/2000/XP/Vista/7/2008) koriste NTFS to zbog mnogih prednosti koje pruža u odnosu na FAT. Jedna od pogodnosti NTFS datotečnog sustava jest mogućnost podešavanja dozvola za korisnike ili grupe na razini datoteka i mapa. Na taj je način moguće točno odrediti razinu pristupa za različite korisnike na jednom računalu. Kako bi pristupio određenom resursu, Korisnik mora imati odgovarajuće pravo (npr. za čitanje ili promjenu ili sva prava). Ako korisnik nema odgovarajuća prava, pristup traženim resursima neće biti moguć. Za mape je moguće podesiti ukupno šest različitih dozvola. Dozvole nam omogućuju kontrolu pristupa nad tom mapom i datotekama unutar nje. NTFS dozvole za mapu
Dopušta korisniku
Read
pregled datoteka i podmapa te njihovih atributa, dozvola i vlasništva
Write
stvaranje datoteka i mapa unutar mape, promjenu atributa, pregledavanje dozvola i vlasništva
List folder contents
pregled sadržaja unutar mape
Read & execute
navigaciju unutar podmapa i pokretanje programa koji se tamo nalaze
Modify
promjene u mapi, brisanje datoteka i mapa (sve radnje koje dopuštaju Read, Write i Read & execute dozvole)
Full control
preuzimanje vlasništva i svih aktivnosti koje dopuštaju sve ostale dozvole
Da biste vidjeli NTFS dozvole za datoteku ili mapu, desnom tipkom miša nad željenim resursom odaberite Properties i izaberite karticu Security.
90
Prijelom.indd 90
21.9.2010. 11:40:25
2. poglavlje: POKRETANJE SUSTAVA
Kako bi podešavanje dozvola bilo što jednostavnije, one se nasljeđuju s objekta roditelja na objekte djecu (s mape na njen sadržaj). Ako se postave određene dozvole na mapi (objektu roditelju), sve će datoteke i podmape (objekte djeca) koje se stvaraju unutar te mape naslijediti jednake dozvole. Ako se želi spriječiti nasljeđivanje, treba se pozicionirati na mapu ili datoteke kod koje želite spriječiti nasljeđivanje i desnim klikom miša odabrati opciju Properties, kliknuti na Security karticu te u sklopu nje odabrati Advanced... te potom Edit..., nakon čega će se otvoriti dijalog u nastavku gdje ćete isključiti opciju Include inheritable permissions from this object`s parent.
91
Prijelom.indd 91
21.9.2010. 11:40:25
Sustavna programska potpora
Nakon isključivanja opcije nasljeđivanja, operativni sustav Windows 7 prikazat će upit na kojem treba odabrati hoće li se zadržati postojeće dozvole ili će sve dozvole biti uklonjene, kako je prikazano na sljedećoj slici.
Kako Windows 7 primjenjuje dozvole Standardno, kada se dodijele dozvole korisnicima i grupama za mapu, korisnici ili grupe imaju pristup podmapama i datotekama koje su u njoj sadržane. Važno je razumjeti kako podmape i datoteke nasljeđuju NTFS dozvole od mape-roditelja da bi se to nasljeđe moglo pravilno koristiti. Višestruke NTFS dozvole Ako dodijelite dozvole za datoteku ili mapu pojedinom korisničkom računu ili grupi čiji je korisnik član, tada korisnik ima višestruke dozvole na istom izvoru (resursu). Postoje pravila i prioriteti povezani s NTFS-ovim kombiniranjem višestrukih dozvola. Na dozvole se također može utjecati kopirajući ili premještajući datoteke ili mape. Zbrajanje dozvola Efektivne dozvole korisniku za resurs kombinacija su NTFS dozvole koje se dodjeljuju pojedinom korisničkom računu i NTFS dozvole koje se dodjeljuju grupi kojoj korisnik pripada. Na primjer, ako korisnik ima dozvolu za čitanje mape i član je grupe koja ima dozvolu za pisanje u istu mapu, tada ima dozvolu i za čitanje, i za pisanje u tu mapu. Prava na datoteku jača su od prava na mapu NTFS dozvole za datoteku imaju veći prioritet od NTFS dozvola za mapu. Na primjer, ako korisnik ima dozvolu za promjenu u datoteci, on će moći raditi izmjene u toj datoteci, iako možda ima samo dozvolu za čitanje za mapu u kojoj se datoteka nalazi. Zabrana ima jača prava od ostalih dozvola Zabrana za korištenje pojedine datoteke ili mape može se dodijeliti korisničkom računu ili grupi (aktivirajući Deny permission). Iako korisnik možda ima dozvolu pristupa datoteci ili mapi kao član grupe, dodjeljujući mu zabranu, blokirane su sve ostale dozvole koje je dotad imao. Dakle, zabrana je iznimka koja bi se trebala koristiti samo u posebnim slučajevima. Izravne bi zabrane trebalo izbjegavati. Jednostavnije je korisniku ne dodijeliti nikakvo pravo pristupa, nego mu dodijeliti izravnu zabranu! Kada se kopiraju ili premještaju datoteke i mape u drugu mapu ili s jedne particije na drugu, dozvole za datoteke i mape mogu se promijeniti.
92
Prijelom.indd 92
21.9.2010. 11:40:25
2. poglavlje: POKRETANJE SUSTAVA
Ti postupci imaju sljedeće posljedice u NTFS dozvolama pri kopiranju: • kad se kopira mapa ili datoteka unutar jedne NTFS particije, kopija mape ili datoteke nasljeđuje dozvole mape u koju su kopirani • kad se kopira mapa ili datoteka između NTFS particija, kopija mape ili datoteke nasljeđuje dozvole mape u koju su kopirani • kad se kopira mapa ili datoteka na particiju koja nije NTFS, npr. na FAT32, mape i datoteke gube sve svoje NTFS dozvole jer ih particije koje nisu NTFS ne podupiru Da bi se mape i datoteke unutar jedne ili između NTFS particija mogle kopirati, potrebne su dozvola za čitanje početne mape i dozvola za pisanje u mapu u koju želite kopirati. Kada se premještaju datoteke i mape, dozvole se mogu promijeniti, ovisno o dozvolama odredišne mape. Premještanje mape ili datoteke ima sljedeće posljedice u NTFS dozvolama: • kad se premješta mapa ili datoteka unutar iste NTFS particije, one zadržavaju svoja originalna dopuštenja; • pri premještanju mapa ili datoteka između NTFS particija, one nasljeđuju dozvole odredišne mape. Kad se premješta mapa ili datoteka između particija, zapravo se kopira na novu lokaciju i briše sa stare lokacije; • kada se premješta mapa ili datoteka na particiju koja nije NTFS, gube se NTFS dozvole jer particija koja nije NTFS ne podržava NTFS dozvole. Da bi se moglo premještati unutar jedne ili više NTFS particija, potrebno je imati dozvolu za pisanje za mapu u koju premještamo određenu datoteku ili mapu kao i dozvolu za mijenjanje za datoteku ili mapu koje premještamo. Dozvola za mijenjanje potrebna je jer operativni sustav briše mapu ili datoteku u izvornoj mapi nakon njihova kopiranja u novi direktorij.
2. Osnovni pojmovi • datotečni sustav • FAT 16, FAT 32 • NTFS • dozvole pristupa • dodjeljivanje prava pristupa • nasljeđivanje prava pristupa
3. Cilj vježbe Upoznati učenika s prednostima NTFS datotečnih sustava, mogućnošću određivanja prava pristupa na mape i datoteke koje se ne nalaze unutar korisničkog profila1 te na taj način iskoristiti prednosti u osiguravanju prava pristupa i zaštite podataka. Takav način zaštite ima poglavito prednosti kada se na jednom računalu izmjenjuje nekoliko korisnika koji imaju „vlastite“ mape s podacima izvan korisničkog profila, npr. C:\Privatno.
1 Prava pristupa korisničkim profilima i pristup mapama i datotekama ima samo korisnik toga korisničkog profila
93
Prijelom.indd 93
21.9.2010. 11:40:25
Sustavna programska potpora
4. Priprema za vježbe Vježba se odrađuje na virtualnom računalu SPP-CL1. Potrebo je prijaviti se kao administrator na računalo. Na računalu na C: particiji napraviti sljedeću strukturu mapa:
Uz pomoć Notepad aplikacije stvorite tekstualne datoteke kako je navedeno. Calc.exe i Notepad.exe kopirajte iz C:\Windows\System32. Prema uputama iz vježbe 2.5 stvorite korisnike Ivan (korisničko ime: Ivan) i Mariju (korisničko ime: Marija). Radi lakšeg rada, za oba korisnička računa postavite zaporku Windows.123. Postaviti dozvole2 na ovim mapama tako da: • administrator ima potpunu kontrolu na svim mapama i datotekama, • mapa Marija – samo Marija ima „Full Control“ prava, • mapa Ivan – samo Ivan ima „Full Control“ prava, • mapa Programi – svi korisnici mogu čitati i izvršavati programe, • mapa Muzika – svi korisnici mogu stvarati datoteke.
5. Vježba A. Navesti postavljene dozvole na mapama: • Mapa Marija Grupa ili korisnik
Dozvole
2 Pri dodjeli prava na mapama, korisniku Administrator odnosno grupi Administrators nikada se ne uskraćuju prava (sigurnosna pohrana podataka često se pokreće pod administratorskim računima, kao npr. i antivirusni programi. Uskraćivanjem prava administratoru, dovodimo u opasnost sigurnost sustava.
94
Prijelom.indd 94
21.9.2010. 11:40:25
2. poglavlje: POKRETANJE SUSTAVA
• Mapa Ivan Grupa ili korisnik
Dozvole
• Mapa Programi Grupa ili korisnik
Dozvole
• Mapa Muzika Grupa ili korisnik
Dozvole
B. Prijavite se na računalo kao Marija i pokušajte pristupiti svakoj mapi pojedinačno, stvoriti novu datoteku, pokrenuti aplikaciju. C. Što ste mogli napraviti?
D. Stvorite nove korisnike Igor i Dinko s zaporkom „Windows.123“ E. Dodajte korisnika Igor u grupu Administrators.
95
Prijelom.indd 95
21.9.2010. 11:40:25
Sustavna programska potpora
F. Prijavite se kao korisnik Dinko na računalo. Na C: particiji napravite mapu VLASNISTVO, a unutar nje tekst dokument moj.txt. Zatim postavite dozvole tako da jedino Dinko ima pristup dokumentu. Kao Igor trebate uzeti vlasništvo i postaviti dozvole tako da svi korisnici mogu čitati dokument. Dok ste prijavljeni na računalo kao Igor, probajte pristupiti i ostalim mapama. Jeste li mogli?
• Zašto?
• Postupak:
96
Prijelom.indd 96
21.9.2010. 11:40:25
2. poglavlje: POKRETANJE SUSTAVA
6. Upute i objašnjenja uz vježbe Koristeći se NTFS pravima koja nam dopuštaju definiranje prava pristupa kako na mapama, tako i na datotekama, uredili smo prava pristupa mapama i na taj način spriječili neautorizirani pristup dokumentima koje nisu u vlasništvu onoga koji pokušava pristupiti. Od navedenog postoji iznimka u slučaju kada, koristeći znanja o radu s korisničkim grupama, dodajemo određene korisnike u Administratorske grupe. U tom slučaju, iako se nije riječ o korisniku Administrator, ako se korisnik nalazi u Administratorskoj grupi, ima prava i ovlasti administratora. Jednako tako, administratorski račun ima prava preuzimanja vlasništva (Take Ownership) nad mapom na koju do tada nije niti imao prava pristupa.
U ovom slučaju vidimo da je vlasnik mape C:\Test korisnik „User“. No ako u dijaloškom okviru odaberemo Administratora i kliknemo na Apply, preuzet ćemo vlasništvo u korist Administratora. Isto vrijedi i za bilo kojeg drugog korisnika s administratorskim ovlastima. Preuzimanjem vlasništva, raspolažemo takvom mapom prema našoj volji pa tako i definiramo prava pristupa.
97
Prijelom.indd 97
21.9.2010. 11:40:25
Prijelom.indd 98
21.9.2010. 11:40:25
3. poglavlje
PREKIDI 3.1 Prekidi Današnja su računala sabirnički orijentirana. Umjesto da se svaka sastavnica izravno povezuje sa svakom drugom, računalo ima nekoliko sabirnica na koje su spojene razne naprave, prema njihovim svojstvima. Na taj se način znatno pojednostavljuje samo sklopovlje koje treba biti prilagođeno samo jednoj sabirnici na koju se priključuje. Standardizacija protokola koji se koriste za prijenos podataka preko sabirnice omogućuje modularnu izgradnju računalnog sustava, prilagođavanje računalnog sustava potrebama, odnosno, dodavanje samo potrebnih sklopovskih sastavnica. Prijenos podataka preko sabirnice ide u vremenski sinkroniziranim sabirničkim ciklusima. Duljina sabirničkih ciklusa može biti određena signalom takta (sinkrona sabirnica) ili može biti varijabilne duljine, ovisno o uređajima koji ju trenutačno koriste, koji tada označavaju završetak sabirničke operacije (asinkrona sabirnica).
Upravljanje sabirnicom uobičajeno je dodijeljeno procesoru kao glavnoj sastavnici. Procesor započinje operaciju postavljanjem adrese i upravljačkih signala na sabirnicu, a naprava koja je adresirana dovrši operaciju. Na primjer, pri slanju podatka u glavni spremnik, procesor na sabirnicu postavi adresu spremničke lokacije, sam podatak te upravljački signal koji spremnik razumije kao pohrani. U nastavku te jedinične sabirničke operacije spremnik, koji
99
Prijelom.indd 99
21.9.2010. 11:40:25
Sustavna programska potpora
cijelo vrijeme osluškuje što se na sabirnici događa, utvrđuje da je adresirana jedna njegova spremnička lokacija te prihvaća podatak, privremeno ga pohranjuje u svoje registre, a potom i na zadanu adresu. U višeprocesorskim sustavima postoji dodatni sklop – sabirnički arbitar, koji omogućuje dijeljenje sabirnice među procesorima, tako da se ne dogodi konflikt pri korištenju sabirnice. Sabirnički arbitar upravlja sabirnicom po načelu zahtjev- odgovor. Kada procesor treba koristiti sabirnicu, on najprije traži dozvolu od arbitra signalom traži (T, engl. bus request). Kada na njega dođe red, arbitar mu dodjeljuje sabirnicu i o tome ga obavještava signalom dodjela (D, engl. bus acknowledge).
Osim procesora, i drugi sklopovi koriste sabirnicu. U nekim im operacijama procesor izravno šalje podatke (kao što to radi sa spremnikom), u drugim operacijama procesor preuzima podatke i sl. Nekim napravama procesor šalje podatke koje naprava interpretira kao naredbe. Primjerice, pri radu s diskom procesor šalje disku zahtjeve za određenim blokovima podataka. S obzirom da je disk znatno sporiji od glavnog spremnika, dok se podatci ne dohvate, procesor obrađuje one poslove (procese) koji ne zahtijevaju te podatke, tj. koji imaju sve što im je potrebno. Kako će procesor saznati je li disk dohvatio tražene podatke u svoj međuspremnik ili u glavni spremnik? Jedan od načina kojim procesor može upravljati vanjskim napravama jest da periodički provjerava njihove statusne registre. Neke zastavice u tim registrima mijenjaju stanje kad se s napravom nešto dogodi. Na primjer, u statusnom bi se registru diska postavila zastavica „zahtjev obrađen“ kada bi se s diska dohvatio traženi podatak. Pri otkrivanju (detekciji) te zastavice, procesor bi mogao nastaviti s procesom koji je te podatke i zahtijevao, a disku možda proslijedio sljedeći zahtjev. Periodička provjera mora biti programirana u sustav što značajno komplicira programsku izvedbu upravljanja sustavom. S druge strane, vrlo će rijetko takve provjere dati povod nekoj radnji s obzirom da je procesor znatno brži od ulazno-izlaznih naprava. Bolje bi rješenje bilo kada bi naprava sama dojavila da se s njom nešto dogodilo, a da procesor, dok se tako nešto ne dogodi, radi neki drugi koristan posao. Mehanizam koji se za to koristi jest mehanizam prekida.
100
Prijelom.indd 100
21.9.2010. 11:40:25
3. poglavlje: PREKIDI
Svaka je naprava u takvom sustavu spojena na sklop koji upravlja prekidima, a koji takve prekide propušta do procesora. Procesor će, ako trenutačno ne obavlja neki kritični posao koji se ne smije prekidati (npr. obrađuje prekid neke druge naprave), privremeno prekinuti s onim što je do sada radio i obraditi pristigli prekid. Za ostvarenje navedenog, najčešće se koristi stog na koji se pohranjuje kontekst posla koji se privremeno prekida. Nakon obrade prekida s tog stoga obnavlja se kontekst i nastavlja se s prekinutim poslom. Kako procesor doznaje koja je naprava izazvala prekid? Uobičajeno se uz sam zahtjev za prekid procesoru šalje i prekidni broj. Korištenjem tog broja procesor (uz odgovarajuću inicijalizaciju sustava) može doznati koja je naprava generirala prekid i kako da ju obradi. Pri inicijalizaciji operacijskog sustava za sve je naprave pripremljen odgovarajuću upravljački program (engl. device driver). Pri obradi prekida koristi se (poziva se) upravljački program one naprave koja je prekid izazvala. Pohrana konteksta, utvrđivanje koja je naprava izazvala prekid te naknadni povratak u prekinuti program (obnova konteksta) često se nazivaju kućanskim poslovima koji se pojavljuju pri svakom prekidu. U sustavima gdje se prekidi vrlo često pojavljuju, sami kućanski poslovi mogu značajno utjecati na učinkovitost sustava. Zato se za takve naprave koriste i drugi postupci. Neke naprave mogu povremeno i samostalno koristiti sabirnicu. Primjerice, pri radu s diskom s njega se učitavaju veće količine podataka. Kada bi upravljanje prenošenjem podataka s diska (njegove upravljačke elektronike, tj. njegovih međuspremnika) u glavni spremnik obavljao procesor, tada bi bilo mnogo neučinkovitog korištenja sabirnice: procesor bi svaki podatak najprije morao dohvatiti u svoj registar, a tek ga potom pohraniti u glavni spremnik. Uobičajeno je da se takvi poslovi mogu povjeriti i samoj napravi: ona će, kada želi koristiti sabirnicu, dati zahtjev sabirničkom arbitru (što u nekim sustavima može biti i dio procesora). Arbitar će odlučiti kad će toj napravi dodijeliti sabirničke cikluse, kada će naprava samostalno prenijeti podatke u glavni spremnik ili pročitati podatke iz njega. Takvim se operacijama glavnom procesoru uskraćuju samo poneki sabirnički ciklusi, ali se sustav učinkovitije iskorišćuje: osim dvostruko manjeg korištenja sabirnice za prijenos istih podataka
Prihvat prekida kojeg izaziva neka naprava obavlja se u nekoliko koraka. Procesor prije prihvata prekida završava trenutačnu instrukciju (ako ona nije uzrok prekidu). Po završetku instrukcije procesor provjerava jesu li dopušteni prekidi i je li zahtjev za prekid postavljen. Tek ako su oba uvjeta ispunjena, kreće se u prihvat prekida. Koraci u prihvatu prekida: • zabrani daljnje prekidanje, • ako je podržano, postavi procesor u prekidni način rada (privilegirani način rada), • pohrani programsko brojilo na stog (adresa instrukcije na koju se treba vratiti nakon obrade prekida), • u programsko brojilo stavi adresu procedure za obradu prihvaćenog prekida. Po završetku obrade prekida potrebno je vratiti se u prekinutu dretvu. Povratak iz obrade prekida obavlja se obrnutim redoslijedom od prihvata prekida: • obnovi programsko brojilo sa stoga, • prebaci procesor u prijašnji način rada, • dopusti prekide. Postupak prihvata prekida ugrađen je u ponašanje procesora – nije ga potrebno programski ostvariti (osim same obrade). Povratak iz prekida zahtijeva izvođenje posebne instrukcije procesora koja je vrlo slična povratku iz potprograma uz dodatne funkcionalnosti prebacivanja procesora u prijašnji način rada. Prije same obrade prekida potrebno je pohraniti kontekst prekinute dretve (sadržaje ostalih registara procesora, osim programskog brojila koje je automatski pohranjeno), a prije poziva instrukcije za povratak iz prekida potrebno je obnoviti kontekst prekinute dretve.
101
Prijelom.indd 101
21.9.2010. 11:40:25
Sustavna programska potpora
s naprave u glavni spremnik, procesor se ne prekida u svom radu (prihvat prekida unosi dosta kućanskog posla!). U slučaju diska, on može generirati prekid tek kad prenese sve podatke koji čine jedan zahtjev i tek tada procesor može nastaviti s drugim procesom koji je te podatke zatražio.
3.2 Prioriteti prekida Obrada nekog prekida može potrajati i poprilično dugo (u računalnom smislu). Za vrijeme obrade prekida, procesor može ili zabraniti prihvat drugih prekida ili ih dopustiti. Kada bi procesor sve prekide obrađivao slijedno, uz zabranu prihvata drugih prekida za vrijeme obrade prvog, tada bi neki prekidi mogli i poprilično dugo čekati na obradu. Zbog toga se koriste razni postupci, sklopovski ili programski, kojima se nastoji te probleme umanjiti. Prekidi koji se dogode za vrijeme obrade prioritetnijih prekida ili za vrijeme kada su prekidi bili zabranjeni samo se zabilježe u sklopu koji upravlja prekidima. Ti se prekidi propuste do procesora onda kada on dovrši obradu prioritetnijih prekida ili onda kada on ponovno dopusti prihvat prekida. U registru stanja procesora postoji (barem) jedna zastavica (engl. Interrupt Flag) koja definira prihvaćaju li se prekidi trenutačno ili ne.
Sklopovski se raznim napravama mogu dodijeliti različiti prioriteti te se u sklopu koji upravlja prekidima (ako takav postoji) do procesora mogu propustiti samo oni prekidi koji imaju veći prioritet od onog koji se trenutačno obrađuje. Obrada prekida u dva odvojena dijela na raznim se sustavima različito naziva. Za Windows sustave nazivi su: prekidna procedura i prekidna dretva (engl. Interrupt Service Routine –ISR i Interrupt Service Thread - IST). Za Linux sustave nazivi su: gornja polovica i donja polovica (engl. Top Half i Bottom Half: Tasklet, Softirq, Workqueue).
Programski se nastoji obrada prekida učiniti što kraćom, ako je to moguće. Ako nije, onda se obrada dijeli na nekoliko dijelova između kojih se obrada može prekidati. Na primjer, obrada se može podijeliti na dva dijela: prvi dio koji će samo pohraniti potrebne podatke za obradu (dohvatiti ih od naprave), a u drugom dijelu (koji se može i prekidati) dovršiti obradu. Na ovaj će se način prioritetniji prekidi moći prije obaviti, ako su zahtjevi za obradom (drugi dio obrade) složeni prema prioritetima.
102
Prijelom.indd 102
21.9.2010. 11:40:26
3. poglavlje: PREKIDI
Podjela prekidnih brojeva (engl. Interrupt Number) zadaća je operacijskog sustava i upravljačkih programa. Najčešće svaka naprava koristi vlastiti prekidni broj. No većina naprava može i dijeliti prekidni broj s drugom napravom, ako zbog sklopovskih okolnosti ne mogu dobiti zasebne (kada bi sustav bio učinkovitiji). Ponekad (u starijim sustavima) se ipak može dogoditi takozvani konflikt, kada dvije različite naprave žele koristiti isti prekidni broj, i to bez dijeljenja. Tada korisnik, korištenjem sučelja operacijskog sustava ili zasebnih programa koji su isporučeni uz naprave ili korištenjem BIOS-a prije pokretanja operacijskog sustava, treba pronaći alternativno rješenje za jednu od njih, u skladu s mogućnošću naprava.
3.3 Programski prekidi Posebna vrsta prekida jesu programski prekidi. Operacijski sustav svoje operacije nudi korisniku kroz korisničko grafičko sučelje, dok ih programima nudi kroz programsko sučelje (API). U izvođenju operacija koje se nude kroz programsko sučelje mogu biti i neki privilegirani ili zaštićeni podzadaci. U takvim se slučajevima za njihovo obavljanje koristi mehanizam programskog prekida. Programski prekid, kao što i sam naziv govori, izaziva se programski, posebnim instrukcijama procesora. Prije izazivanja programskog prekida program mora u unaprijed definirane registre (ili na stog) postaviti parametre za funkciju operacijskog sustava koju poziva tim prekidom. Programskim prekidom, kao i svim ostalim prekidima, procesor prelazi u privilegirani način rada u kojem može obaviti i operacije koje su inače nedostupne. Pri pokretanju operacijskog sustava postavljaju se funkcije koje obrađuju prekide i koje se mogu pozvati isključivo na taj način. Ovako se istodobno postiže i zaštita operacijskog sustava od programa koji sve kritične operacije mogu provesti jedino preko unaprijed definiranih funkcija operacijskog sustava.
Slika 3.1 Privilegije jezgre i procesa
103
Prijelom.indd 103
21.9.2010. 11:40:26
Sustavna programska potpora
Vježbe iz poglavlja 3
PREKIDI 1. Uvod Mehanizam prekida koristi se za upravljanje mnogih sklopovskih elemenata računalnog sustava (uređaja, kartica, ulazno-izlaznih naprava), ali je i jedan od bitnih mehanizama koji se koriste radi ostvarenja višezadaćnih sustava. Broj prekida (prekidnih brojeva) koje sustav podržava ograničen je (broj prekida koji naprave mogu generirati), ali najčešće ipak dovoljan. Neke naprave (sklopovi) mogu čak i dijeliti isti prekid (prekidni broj), ali neke nisu tako projektirane i mogu izazvati konflikt ako se i neki druga naprava koristi istim prekidom. Ponekad se (vrlo rijetko) ipak od korisnika očekuje ručno rješavanje nekih konfliktnih situacija, dodjelom prekidnih brojeva napravama koje su u konfliktu.
2. Temeljni pojmovi • procesor • (sklopovski) prekidi • konflikti • programski prekidi
3. Cilj vježbe Prekidni podsustav operacijskog sustava mora svim napravama koje to zahtijevaju osigurati korištenje odgovarajućih prekidnih brojeva. Cilj ove vježbe jest utvrditi koje sve naprave i sklopovi generiraju zahtjeve za prekid te s kojim brojem. Jednako je tako moguće odrediti dijele li neke naprave isti prekid te jesu li u konfliktu.
4. Priprema za vježbe: Upoznati se (teoretski) s osnovnim elementima računala koji koriste prekide u svom radu.
5. Vježbe A. Navesti prekide (prekidne brojeve) koje koriste sljedeći elementi sustava: • matematički koprocesor: • IDE upravljački međusklop: • SATA upravljački međusklop:
104
Prijelom.indd 104
21.9.2010. 11:40:26
3. poglavlje: PREKIDI
• grafička kartica: • zvučni podsustav: B. Ako ima, navesti nekoliko prekida koji su dijeljeni (dijeli ih više sklopova):
C. Ako ima, navesti nekoliko konflikata u korištenju prekida:
D. Navesti imena datoteka koje sadržavaju upravljačke programe (barem po jednu) za: • grafičku karticu: • disk: • DVD/CD-ROM: • zvučni podsustav:
105
Prijelom.indd 105
21.9.2010. 11:40:26
Sustavna programska potpora
6. Upute i objašnjenja uz vježbe Uvid i postavke prekidnog podsustava obavljaju se kroz različito sučelje u različitim sustavima, bilo kroz grafičko sučelje ili preko jednostavnih naredbi u komandnoj liniji. Često je moguće (potrebno) pogledati (ili i promijeniti) te postavke i prije podizanja operacijskog sustava, i to korištenjem BIOS-a. Na Windows sustavima uvid se može dobiti preko System Information programa, dok se promjene mogu raditi korištenjem Device Manager programa (uz druge načine).
Na Linux sustavima, uvid u prekide može se dobiti pregledom /proc direktorija. Broj dosad pristiglih prekida može se pogledati u datoteci /proc/interrupts.
106
Prijelom.indd 106
21.9.2010. 11:40:26
4. poglavlje
PROCESI 4.1 Program, proces, dretva Svaki će program svoje zadaće obaviti tek kada ga se pokrene. U tom postupku operacijski sustav, prema uputama u datoteci s programom, priprema za njegovo izvođenje potrebnu okolinu koju nazivamo procesom (pokretanjem programa nastaje proces). Navedena se okolina sastoji od spremničkih segmenata s učitanim instrukcijama, segmenta koji će se koristiti kao stog, segmenta za druge podatke i sl. Sve navedene spremničke lokacije opisane su u opisniku procesa. Osim samih spremničkih lokacija, operacijski sustav stvara i jednu dretvu koja će započeti s izvođenjem instrukcija.
Svaki program izvodi neki zadatak ili više njih. Sustav koji može istodobno (paralelno) izvoditi više zadataka naziva se višezadaćnim. Današnji operacijski sustavi za osobna računala, poslužitelje pa čak i ručna računala su višezadaćni, omogućuju pokretanje i rad više od jednog programa paralelno (npr. reprodukciju glazbe u pozadini dok se koristi internetski preglednik). Svaki se zadatak (uglavnom) obavlja u zasebnom procesu (koji je nastao pokretanjem programa). Pojedini se zadatak može sastojati od više podzadataka. Npr. reprodukcija sadržaja s Interneta sastoji se od podzadatka koji dohvaća sadržaj, podzadatka koji sadržaj prikazuje te podzadatka koji očitava naredbe korisnika. Uobičajen način ostvarenja podzadataka jest korištenjem zasebne dretve za svaki podzadatak. Operacijski sustav koji omogućuje postojanje više dretvi unutar istog procesa naziva se i višedretvenim. Neki jednostavniji sustavi (npr. ugrađeni sustavi) za obavljanje različitih zadataka koriste različite dretve, ali ne koriste mehanizam procesa – sve dretve dijele isti spremnički prostor sustava.
Slika 4.1 Instrukcijska dretva
107
Prijelom.indd 107
21.9.2010. 11:40:26
Sustavna programska potpora
Dretva Niz procesorskih instrukcija koje se nalaze u spremniku (ili programu) samo je niz instrukcija. S obzirom da su neke od tih instrukcija instrukcije skoka, pri izvođenju programa procesor neće samo slijedno izvoditi te instrukcije (jednu iza druge) – neke će segmente instrukcija višestruko obilaziti (petlje), neke će segmente povremeno pozivati (potprogrami, rutine, procedure), a neke će preskočiti jer uvjeti za njihovo izvođenje nisu bili zadovoljeni (grananja tipa ako). Ako usporedimo početni niz instrukcija s nizom onih koje su se izvele, vidimo veliku razliku. Zato se u kontekstu operacijskih sustava (i općenito programiranja) uvodi novi pojam: instrukcijska dretva ili kraće samo dretva (engl. thread) koja opisuje vezu instrukcija prema vremenu njihova izvođenja. Drugim riječima, dretva opisuje izvođenje jednog programa – kojim su se redoslijedom njegove instrukcije izvodile u konkretnom pokretanju tog programa. Isti termin koristimo i pri analizi rada programa (npr. „kada dretva dođe do te linije koda“).
Proces Proces opisuje adresni prostor (i ostala sredstva) u kojem se program odvija, u što se uključuje i dretva. No osim jedne dretve koja izvodi program, unutar istog procesa može biti i više dretvi koje to rade, a koje mora stvoriti postojeća dretva odgovarajućim pozivom operacijskog sustava. Razlozi zašto bismo željeli imati više dretvi su razni. Najočitiji razlog jest želja za iskorištavanjem višeprocesorskog sustava pri rješavanju jednog problema. Primjerice, neke se operacije nad velikim skupom podataka mogu napraviti i paralelno: podijeliti skup podataka na jednake dijelove koje će obrađivati dretve na različitim procesorima. S obzirom da se posao paralelno izvodi, prije će biti gotov!
Slika 4.2 Svaki proces ima bar jednu dretvu
Drugi je primjer u aplikacijama koje koriste grafičko korisničko sučelje. Zasebna dretva može upravljati sučeljem, a druge mogu izvoditi potrebne proračune. Na taj će način sučelje reagirati na korisnikove naredbe i za vrijeme trajanja proračuna. Treći primjer može biti zbog smanjenja složenosti izgradnje nekog sustava. Razdvajanjem (djelomično) nezavisnih cjelina u zasebne dretve složenost se može značajno smanjiti, a time i ubrzati razvoj i umanjiti broj grešaka (engl. bug). Različiti programi rade različite poslove. Zato su oni pri pokretanju razdvojeni u različitim procesima. Greška u jednome, a koju uzrokuje jedna njegova dretva, ne utječe na drugi, već samo na taj u kojem se greška dogodila. Mehanizam upravljanja spremnikom
108
Prijelom.indd 108
21.9.2010. 11:40:26
4. poglavlje: PROCESI
(opisan u poglavlju 5) odvaja adresne prostore različitih procesa i sprječava da jedan drugome mijenjaju podatke. Ponekad se i iz jednog programa stvori više procesa – početni stvara nove. Razlozi za to mogu biti u potrebi odvajanja zbog sigurnosnih razloga. Primjerice, različiti prozori internetskog preglednika mogu sadržavati povjerljive podatke i treba ih zaštiti od mogućeg zlonamjernog koda iz nekog drugog prozora.
4.2 Raspoređivanje U svakom trenutku u operacijskom sustavu postoji barem nekoliko procesa od kojih svaki ima barem po jednu dretvu. Ukupan broj dretvi svih procesa zajedno je gotovo uvijek veći od broja procesora. Kako je onda moguće da svi ti procesi sa svojim dretvama mogu postojati u sustavu i u njemu se istodobno izvoditi? Kako operacijski sustav upravlja sustavom da se istodobno može raditi s npr. uređivačem teksta dok se u pozadini također reproducira neki album? Da bi operacijski sustav mogao upravljati dretvama svih procesa, on mora imati popis svih tih dretvi i znati u kojim su one stanjima. Dretva koja se trenutačno izvodi na procesoru naziva se aktivna dretva. U jednoprocesorskim sustavima samo jedna dretva istodobno može biti aktivna, dok u višeprocesorskim sustavima svaki procesor ima svoju aktivnu dretvu. Dretva koja čeka na nekakav događaj naziva se blokirana dretva. Razlozi blokiranja mogu biti razni: od čekanja na događaj neke naprave, do događaja koje izazivaju druge dretve u sustavu ili sam operacijski sustav. Dretve mogu biti i spremne za izvođenje, ali se ipak ne izvode jer procesor u tom trenutku izvodi instrukcije neke druge dretve. Takve dretve nazivamo pripravnim dretvama. Kada trenutačno aktivna dretva završi s radom (i odlazi u tzv. pasivno stanje) ili se u svom radu blokira, jedna od pripravnih dretvi postat će aktivna.
Slika 4.3 Stanja dretvi u sustavu
Latentna dretva Kada nema niti jedne pripravne dretve (nema procesa koji može raditi neki koristan posao), tada se aktivira tzv. latentna dretva (engl. idle thread, idle process). Ona ne radi nikakav koristan posao, već najčešće izvodi instrukcije koje postavljaju procesor u stanje niske potrošnje energije (pauziraju procesor). U kontekstu raspoređivanja, takva dretva ima najmanji prioritet. Čim se u sustavu pojavi neka druga dretva, ona nastavlja s izvođenjem (a latentna se uklanja s procesora u red pripravnih dretvi).
Dio operacijskog sustava koji upravlja dretvama i koji će odrediti koja će od pripravnih dretvi biti promovirana u aktivnu, naziva se raspoređivač (engl. scheduler). Uobičajeno načelo raspoređivanja jest u pravednoj podjeli procesorskog vremena svim dretvama. To se načelo modificira možebitnim različitim prioritetima koje dretve mogu imati. Što dretva ima veći prioritet, prije će doći do procesora. U nekim će se načinima rada raspoređivača dretva većeg prioriteta uvijek izvoditi prije dretve manjeg prioriteta, dok će se u drugim načinima rada prioritet samo odraziti na dio procesorskog vremena koji će dretva dobiti.
109
Prijelom.indd 109
21.9.2010. 11:40:26
Sustavna programska potpora
Uobičajeni teorijski načini raspoređivanja dretvi su: • raspoređivanje prema redu prispijeća • raspoređivanje prema prioritetu • raspoređivanje podjelom vremena Raspoređivač koji radi po redu prispijeća (engl. First-Come, FirstServed – FCFS, First-In, First-Out – FIFO) izvodi dretve onim redoslijedom kojim su se one pojavile u sustavu. Windows operacijski sustavi prioritet dretve određuju kombinacijom prioritetne klase procesa te prioritetnom razinom dretve čime se dobiva broj od 0 do 31 (veći broj označava veći prioritet). Prioriteti od 1 do 15 namijenjeni su za obične dretve, a prioriteti od 16-31 za RT dretve. Raspoređivač radi tako da odabire dretve najvećeg prioriteta za aktivne (uz male iznimke). UNIX operacijski sustavi dretvama pridjeljuju brojčani prioritet. Dio prioritetnog raspona pripada RT dretvama, a dio običnim dretvama (engl. nice level). Obične dretve dijele procesorsko vrijeme u skladu s njihovim prioritetom.
Raspoređivač koji koristi prioritete uvijek odabire dretvu najvećeg prioriteta. Na primjer, ako se za vrijeme izvođenja jedne dretve – dretve A u sustavu pojavi druga dretva – dretva B većeg prioriteta (npr. aktivira se nekim događajem), tada raspoređivač prekine izvođenje dretve A i nastavlja s dretvom B, dretvom većeg prioriteta. Tek pošto dretva B završi s radom, raspoređivač će odabrati dretvu A i nastaviti s njezinim izvođenjem. Raspoređivanje podjelom vremena koristi kružnu dodjelu jednog intervala vremena pojedinoj dretvi (engl. Round-Robin). Primjerice, ako se u sustavu nalaze četiri dretve A, B, C i D, tada će raspoređivač najprije dretvi A dodijeliti jedan interval vremena – kvant vremena, potom dretvi B, potom dretvi C, potom dretvi D, potom opet dretvi A, pa B i tako kružno dok se dretve ne obave do kraja ili dok se neka od njih ne blokira i izađe iz kruga dretvi koje dobivaju kvant vremena. Operacijski sustavi koriste kombinacije navedenih načina raspoređivanja. Tako se običnim sustavima koristi raspoređivanje podjelom vremena uz prilagodbu za dretve različita prioriteta pa dretve većeg prioriteta dobiju nešto više procesorskog vremena od dretvi nižeg prioriteta.
110
Prijelom.indd 110
21.9.2010. 11:40:27
4. poglavlje: PROCESI
Raspoređivanje dretvi obavlja se iz jezgre. Ono se izvodi (poziva): a. kada se pojavi nova dretva u sustavu (stvori nova dretva) b. kada trenutačno aktivna dretva završava s radom c. kada se trenutačno aktivna dretva blokira d. kada se neka blokirana dretva propusti (odblokira) e. kada se dogodi prekid sata sustava (za kružno raspoređivanje) Sve navedene situaciju događaju se prekidom, programskim (a, b, c i d) i sklopovskim (d i e).
Slika 4.4 Primjeri raspoređivanja raznim načinima
Sustavi za rad u stvarnom vremenu (engl. Real Time Systems) prioritet dretvi uzimaju kao primarni kriterij raspoređivanja. Svaka dretva u takvom sustavu (RT dretva) ima unaprijed određeni prioritet i raspoređivanje se obavlja poštovanjem tih prioriteta – uvijek se odabire pripravna dretva najvećeg prioriteta. Ako više dretvi ima isti prioritet, tada se kao drugi kriterij raspoređivanja koristi ili raspoređivanje po redu prispijeća (FIFO) ili kružno posluživanje (RR). Kružno posluživanje zahtijeva vanjski izvor prekida koji će prekinuti dretvu kojoj je istekao kvant vremena. U obradi tog prekida poziva se raspoređivač koji odabere sljedeću dretvu iz niza i promovira ju u aktivnu.
4.3 Sinkronizacija Kada u jednom procesu ima više dretvi, one koriste zajednička sredstva kojima proces raspolaže. Istodobno korištenje tih sredstava često se ne smije dopustiti jer bi se mogla dogoditi greška. Isto vrijedi i na razini operacijskog sustava: dva različita procesa ne smiju istodobno koristiti isto sredstvo ili napravu. Na primjer, kada
111
Prijelom.indd 111
21.9.2010. 11:40:27
Sustavna programska potpora
se tipka na tipkovnici, samo se jednom procesu (onom u fokusu, engl. foreground) šalju dotični znakovi – drugi će dobiti znakove kada oni budu u fokusu. Da bi se sinkroniziralo rad dretvi, u takvim se situacijama koriste sinkronizacijski mehanizmi. Osim semafora, operacijski sustavi pružaju mnoge druge sinkronizacijske mehanizme kroz svoje sučelje (API). Jedan od jednostavnijih je mehanizam za međusobno isključivanje (engl. mutual exclusion – mutex). Načelo mehanizma je sličan semaforu koji ne može poprimiti vrijednost veću od jedan (binarni semafor). U novije vrijeme sve se češće koriste mehanizmi koji sami ne sadržavaju opis stanja (kao što to radi semafor), već samo nude metode za zaštićen rad s varijablama koje opisuju stanje sustava i na temelju čega se donose odluke o propuštanju dretvi (ili njihovu blokiranju). Najčešće korišteni takav mehanizam jest monitor [Budin, 2010].
Jedan od najjednostavnijih sinkronizacijskih mehanizama je semafor. Semafor može biti u prolaznom stanju kada ne blokira dretvu koja ga pokušava proći, ili u neprolaznom stanju kada će blokirati dretvu koja ga pokušava proći. Stanje se može utvrditi očitanjem vrijednosti semafora. Ako je vrijednost semafora veća do nule, on je u prolaznom stanju, inače, ako je vrijednost semafora jednaka nuli, on je neprolazan i dretve koje ga pokušaju proći bit će blokirane na tom semaforu. Ostvarivanje međusobnog isključivanja vrlo je jednostavno korištenjem semafora. Njegova se vrijednost pri inicijalizaciji postavi u jedan, a prije korištenja zajedničkog sredstva mora se proći kroz semafor. Prva dretva koja dođe do semafora uspjet će proći kroz njega, ali će pritom postaviti njegovu vrijednost u nulu (i sve ostale dretve koje pokušavaju proći bit će blokirane). Kada dretva završi korištenje zajedničkog sredstva, ona otpušta semafor. U operaciji otpuštanja vrijednost semafora povećava se za jedan te se jedna druga dretva može propustiti kroz semafor, koja će tada moći koristiti zajedničko sredstvo (međusobno isključivo s ostalim dretvama).
4.4 Opisnik procesa Radi upravljanja procesima i dretvama svaki proces mora imati opisnik. Dio podataka koje opisnik sadržava može se vidjeti i iz sučelja operacijskog sustava (sučelja za upravljanje procesima). Uobičajeno su ti elementi: • identifikacijski broj procesa (engl. Process Identifier – PID), • ime programa iz kojeg je proces nastao, • identifikacija korisnika kome taj proces pripada, • prioritet procesa, • postotak korištenja procesora, • ukupno potrošeno procesorsko vrijeme, • veličina korištenog spremničkog prostora, • broj dretvi u procesu. Elementi koji nisu vidljivi sadržavaju detaljniji opis nekih od navedenih elemenata koji se koriste za upravljanje. Na primjer, za upravljanje dretvama treba postojati zasebni opisnik za svaku dretvu, koji sadržava podatke o njezinom prioritetu, načinu raspoređivanja, potrošenom procesorskom vremenu, mjesto za pohranu konteksta i sl. Za upravljanje spremnikom potrebno je mnogo više podataka o procesu i njegovim dretvama.
112
Prijelom.indd 112
21.9.2010. 11:40:27
4. poglavlje: PROCESI
Vježbe iz poglavlja 4
PROCESI 1. Uvod Pokretanjem programa nastaju procesi. Procesi od operacijskog sustava traže neke resurse (spremnički prostor, procesorsko vrijeme, datoteke, ...). Sustav treba biti prikladno projektiran za poslove, tj. procese koji se u njemu izvode. Ako se previše procesa pokrene, može se dogoditi da se svi resursi potroše te programi zbog toga ne uspiju obaviti do kraja ili dolazi do znatne degradacije performansi (što se očituje u sporom reagiranju pojedinih programa ili općenito korisničkog sučelja). Ponekad je uzrok zagušenosti neki program koji je greškom još prisutan i kojeg treba zaustaviti. Prioritet procesa odražava njihovu važnost naspram ostalih. Programi su najčešće tako projektirani da na početku svog rada prilagode svoj prioritet prema svojim potrebama. Ipak, ponekad i sam korisnik može poželjeti promijeniti te prioritete i procesu za koji smatra da je manje bitan smanjiti prioritet i, obratno, nekim drugim povećati prioritet. Kada se neki problem rješava korištenjem više dretvi, treba uzeti u obzir da te dretve mogu paralelno mijenjati zajedničke podatke, što može, ako se ne napravi u zaštićenom načinu, dovesti do grešaka. Mehanizmi zaštite uključuju razne sinkronizacijske mehanizme (semafore, monitore i sl.).
2. Temeljni pojmovi • proces • dretva • zaustavljanje procesa • promjena prioriteta • opterećenje procesora • sinkronizacija
3. Cilj vježbe Prvi cilj jest utvrditi uobičajeni skup procesa koji se izvodi u sustavu s njihovim svojstvima (opterećenje za sustav). Nadalje, treba se upoznati s alatima za pregled trenutačnih procesa, alatima za zaustavljanje procesa, promjenu njihova prioriteta iz sučelja operacijskog sustava. Korištenjem priloženih programa (u C-u i kao već prevedene) ispitat će se utjecaji novih programa na rad sustava.
4. Priprema za vježbe: Upoznati se (teoretski) s procesima i dretvama te njihovim parametrima.
113
Prijelom.indd 113
21.9.2010. 11:40:27
Sustavna programska potpora
5. Vježbe A. Dohvatiti popis svih procesa u sustavu te • navesti pet procesa koji su potrošili najviše procesorskog vremena do sada:
• navesti nekoliko procesa najvećeg prioriteta:
• navesti proces koji trenutačno zauzima najviše procesorskog vremena:
B. Kako promijeniti prioritet nekog procesa? Koje mogu biti posljedice toga?
C. Kako zaustaviti proces? Koji sve načini postoje?
D. Koliko latentnih (idle) dretvi ima u sustavu? Zašto upravo toliko?
E. Proučiti te pokrenuti program koji nastaje iz izvornog kôda dretve.c. • Prvo pokrenuti program sa zastavicom -i (bez opterećenja, idle). • Potom promijeniti zastavicu u -o (s opterećenjem). • U trećem pokretanju uz -o dodati i zastavicu -p (visoki prioritet). • Pratiti stanje sustava preko odgovarajućih programa te nakon toga opisati razliku u ponašanju sustava za ova tri načina pokretanja:
• Kako se iskazuje opterećenje sustava u višeprocesorskim sustavima? Pokrenite program sa samo jednom dretvom (dretve -o 1), s dvije, tri itd. Kako se opterećenje mijenja?
114
Prijelom.indd 114
21.9.2010. 11:40:27
4. poglavlje: PROCESI
F. Proučiti te pokrenuti program koji nastaje iz izvornog kôda procesi.c. • Pokretati program nekoliko puta s različitim argumentom (broj novih procesa koje treba stvoriti). • Što generira veće opterećenje: stvaranje više procesa ili više dretvi? (Ispitati pokretanjem prethodnog pro grama (dretve.c) i ovog programa s npr. 1000 dretvi/procesa.)
G. Proučiti te pokrenuti program koji nastaje iz izvornog kôda sinkro.c. • Pokretati program nekoliko puta s različitim argumentima (npr. krenuti s 10 do 100 dretvi te od 10000 do 10000000 iteracija, bez i sa zaključavanjem, npr.: „sinkro 10 100000“ i „sinkro 10 10000 s“). • Koliko procesora (ili jezgri) ima sustav s kojim se eksperimentira? • Utvrditi događaju li se problemi, te ako se događaju, o kojim je parametrima riječ (neočekivani rezultat) s programom: ▪▪ parametri • Odabrati parametre za koje pokretanje programa s uključenom sinkronizacijom traje više od pet sekundi (do npr. 30). Koliko traje pokretanje s istim parametrima (broj dretvi i broj iteracija) kada se ne koristi sinkronizacija? ▪▪ parametri:
trajanje s sinkronizacijom:
▪▪ trajanje bez sinkronizacije:
115
Prijelom.indd 115
21.9.2010. 11:40:27
Sustavna programska potpora
6. Upute i objašnjenja uz vježbe Uvid i upravljanje procesima može biti ostvareno kroz jedinstveno sučelje (npr. Task Manager) ili kroz odvojena sučelja (npr. naredbe tasklist i taskkill, odnosno, ps, kill, nice na UNIX-u). Uz razne će zastavice ili opcije u izborniku ti programi ispisati više ili manje svojstava pojedinih procesa (npr. za Task Manager iz izbornika View Select Columns…). Potrebni podatci za ovu vježbu uključuju: ime procesa, trenutačno zauzeće procesora, do sada potrošeno procesorsko vrijeme, prioritet. Promjena prioriteta dretvi/procesu može se obaviti programski, kada to dretva sama napravi korištenjem odgovarajućih funkcija (kako je to prikazano u dretve.c) ili korištenjem sučelja operacijskog sustava. Grafičko sučelje Windows Task Managera ili System Monitora (na Linuxu) omogućuje promjenu prioriteta prema sljedećim primjerima:
Pri stvaranju većeg broja dretvi, a pogotovo procesa, treba biti oprezan jer se može ugroziti stabilnost sustava. Programi se uobičajeno mogu prekinuti s Ctrl+C, ali u slučaju procesa može se dogoditi da se ne prekinu baš svi! U tom se slučaju može koristiti naredba taskkill (npr. taskkill /f /im procesi.exe) koja će zaustaviti i maknuti sve zaostale procese istog imena. Program sinkro.c prikazuje probleme koji nastaju kada se koristi više dretvi. S obzirom da one mogu paralelno raditi, mogu paralelno mijenjati i zajedničke varijable. U ovom je primjeru samo jedna zajednička varijabla broj nad kojom dretve obavljaju jednostavnu operaciju povećanja vrijednosti za jedan. No i ta se jednostavna operacija (koja može biti ostvarena i jednom instrukcijom) zapravo sastoji od tri koraka: u prvom se varijabla dohvaća iz glavnog spremnika u registar procesora, potom se ta vrijednost poveća za jedan te se konačno nova vrijednost pohrani ponovno u spremnik. S obzirom da se u radu procesora taj slijed operacija može prekinuti raspoređivačem poslova (ako nije izvedena jednom instrukcijom), pogotovo se korištenje sabirnice između više procesora može poklopiti tako da više njih pročitaju istu vrijednost i nad njome nezavisno obavljaju zbrajanja čime se gube pojedinačna zbrajanja. Rezultat toga jest manja očekivana vrijednost varijable broj. Na primjer, ako se program pokrene sa sinkro 10 100000, očekuje se da će konačna vrijednost biti 10*100000 = 1000000. Ipak, zbog prethodno navedenih razloga konačna vrijednost može biti i znatno manja. Problem se može riješiti zaključavanjem kritičnog odsječka – promjene varijable broj. U tom je slučaju konačna vrijednost očekivana (10*100000 za navedeni primjer). Ipak, sinkronizacija ima svoju cijenu. U navedenom je primjeru izračunavanje koje koristi zaključavanje znatno sporije od onog koje to ne koristi (sa ili bez zadnjeg argumenta s pri pokretanju).
116
Prijelom.indd 116
21.9.2010. 11:40:27
4. poglavlje: PROCESI
117
Prijelom.indd 117
21.9.2010. 11:40:27
Sustavna programska potpora
Izvorni kod datoteke procesi.c za Windows: /* kod “procesi.c” za Windows sustave */ #include #include #include #include #define NAJPROCESA
10000
void upotreba ( char *param[] ); void radi (); int main ( int brarg, char *arg[] ) { STARTUPINFO si; PROCESS _ INFORMATION *pi; int i, broj _ procesa, stvoreno; char proces[] = “procesi.exe”; if ( brarg == 1 ) { radi (); /* kada se pokrece kao novi process iz ovog programa */ } else if ( brarg > 2) { upotreba ( arg ); } else { broj _ procesa = atoi ( arg[1] ); if ( broj _ procesa < 1 || broj _ procesa > NAJPROCESA ) upotreba ( arg );
GetStartupInfo ( &si );
/* stvori zadani broj procesa */ stvoreno = broj _ procesa; pi = malloc ( broj _ procesa * sizeof (PROCESS _ INFORMATION) ); for ( i = 0; i < broj _ procesa; i++ ) { if( !CreateProcess ( NULL, proces, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi[i] ) ) { stvoreno = i; printf ( “Stvoreno %d procesa (od zadanih %d)\n”, stvoreno, broj _ procesa ); break; } } printf ( “Svi procesi stvoreni, cekam kraj (Ctrl+C)\n” ); /* cekaj da svi procesi zavrse */ for ( i = 0; i < broj _ procesa; i++ ) WaitForSingleObject ( pi[i].hProcess, INFINITE ); } return 0; } void upotreba ( char *param[] )
118
Prijelom.indd 118
21.9.2010. 11:40:27
4. poglavlje: PROCESI
{ printf ( “Upotreba: %s [broj procesa]\n\tbroj procesa iz intervala “ “[1-%d]\n”, param[0], NAJPROCESA); exit ( 1 ); } void radi () { while ( 1 ) Sleep ( 10000 ); }
Izvorni kod datoteke procesi.c za Linux: /* kod “procesi.c” za Linux sustave */ #include #include #include #include #include #define NAJPROCESA
10000
void upotreba ( char *param[] ); void radi (); int main ( int brarg, char *arg[] ) { int i, broj _ procesa, stvoreno; if ( brarg != 2) upotreba ( arg ); broj _ procesa = atoi ( arg[1] ); if ( broj _ procesa < 1 || broj _ procesa > NAJPROCESA ) upotreba ( arg ); /* stvori zadani broj procesa */ stvoreno = broj _ procesa; for ( i = 0; i < broj _ procesa; i++ ) { switch ( fork() ) { case 0: radi (); exit (0); case -1: stvoreno = i; printf ( “Stvoreno %d procesa (od zadanih %d)\n”, stvoreno, broj _ procesa ); break; } } printf ( “Svi procesi stvoreni, cekam kraj (Ctrl+C)\n” ); /* cekaj da svi procesi zavrse */ for ( i = 0; i < broj _ procesa; i++ ) wait ( NULL );
119
Prijelom.indd 119
21.9.2010. 11:40:28
Sustavna programska potpora
return 0; } void upotreba ( char *param[] ) { printf ( “Upotreba: %s broj procesa\n\tbroj procesa iz intervala “ “[1-%d]\n”, param[0], NAJPROCESA); exit ( 1 ); } void radi () { while ( 1 ) sleep ( 10 ); } /* prevodjenje: gcc procesi.c –o proc pokretanje: ./proc 100 (za 100 novih procesa) */
Izvorni kod datoteke dretve.c za Windows: /* kod “dretve.c” za Windows sustave */ #include #include #include #define NAJDRETVI 10000 DWORD WINAPI dretva ( void *param ); void upotreba ( char *param[] ); int main ( int brarg, char *arg[] ) { int i, broj _ dretvi, stvoreno, postavi _ prioritet; DWORD idd; HANDLE *opisnik; void *param; /* pretpostavljene vrijednosti */ param = NULL; postavi _ prioritet = 0; broj _ dretvi = 10; for ( i = 1; i < brarg; i++ ) /* arg[0] se preskace */ { if ( arg[i][0] == ‘-’ ) /* zastavica */ { if ( arg[i][1] == ‘o’ ) param = (void *) 1; else if ( arg[i][1] == ‘i’ ) param = NULL; else if ( arg[i][1] == ‘p’ ) postavi _ prioritet = 1; /* else ... - ostale zastavice se ignoriraju */ } else { /* ocekuje se broj dretvi */ broj _ dretvi = atoi ( arg[i] ); if ( broj _ dretvi < 1 || broj _ dretvi > NAJDRETVI ) upotreba ( arg ); } } /* postavi prioritet pocetnoj dretvi */ if ( postavi _ prioritet )
120
Prijelom.indd 120
21.9.2010. 11:40:28
4. poglavlje: PROCESI
{ if ( !SetPriorityClass ( GetCurrentProcess(), HIGH _ PRIORITY _ CLASS ) ) { printf ( “Prioritetna klasa nije postavljena!!!\n”); exit (1); } if ( !SetThreadPriority ( GetCurrentThread(),THREAD _ PRIORITY _ HIGHEST ) ) { printf ( “Prioritet nije postavljen!!!\n”); exit (1); } } /* stvori zadani broj dretvi */ stvoreno = broj _ dretvi; opisnik = malloc ( broj _ dretvi * sizeof (HANDLE) ); for ( i = 0; i < broj _ dretvi; i++ ) { opisnik[i] = CreateThread ( NULL, 0, dretva, param, 0, &idd ); if ( opisnik[i] == NULL ) { stvoreno = i; printf ( “Stvoreno %d dretvi (od zadanih %d)\n”, stvoreno, broj _ dretvi ); break; } else if ( postavi _ prioritet ) { if ( !SetThreadPriority ( opisnik[i], THREAD _ PRIORITY _ HIGHEST ) ) { printf ( “Prioritet nije postavljen!!!\n”); exit (1); } } } printf ( “Sve dretve stvorene, cekam kraj (Ctrl+C)\n” ); /* cekaj da sve dretve zavrse */ for ( i = 0; i < stvoreno; i++ ) WaitForSingleObject ( opisnik[i], INFINITE ); free ( opisnik ); return 0; } /* pocetna funkcija za nove dretve */ DWORD WINAPI dretva ( void *param ) { while ( 1 ) { if ( param == NULL ) Sleep ( 10000 ); } return 0; } void upotreba ( char *param[] ) { printf ( “Upotreba: %s [zastavice][broj dretvi]\n\tzastavice:” “\n\t\t -i dretve ne rade nista” “\n\t\t -o dretve rade”
121
Prijelom.indd 121
21.9.2010. 11:40:28
Sustavna programska potpora
“\n\t\t -p povecaj prioritet” “\n\tbroj dretvi iz intervala [1-%d]\n”, param[0], NAJDRETVI); exit ( 1 ); }
Izvorni kod datoteke dretve.c za Linux: /* kod “dretve.c” za Linux sustave */ #include #include #include #include #include #include #define NAJDRETVI 10000 #define PRIOMAX -20 void *dretva ( void *param ); void upotreba ( char *param[] ); int main ( int brarg, char *arg[] ) { int i, broj _ dretvi, stvoreno, postavi _ prioritet; pthread _ t *opisnik; void *param; /* pretpostavljene vrijednosti */ param = NULL; postavi _ prioritet = 0; broj _ dretvi = 10; for ( i = 1; i < brarg; i++ ) /* arg[0] (ime programa) se preskace */ { if ( arg[i][0] == ‘-’ ) /* zastavica */ { if ( arg[i][1] == ‘o’ ) param = (void *) 1; else if ( arg[i][1] == ‘i’ ) param = NULL; else if ( arg[i][1] == ‘p’ ) postavi _ prioritet = 1; /* else ... - ostale zastavice se ignoriraju */ } else { /* ocekuje se broj dretvi */ broj _ dretvi = atoi ( arg[i] ); if ( broj _ dretvi < 1 || broj _ dretvi > NAJDRETVI ) upotreba ( arg ); } } /* postavi prioritet pocetnoj dretvi */ if ( postavi _ prioritet ) { if ( setpriority ( PRIO _ PROCESS, getpid(), PRIOMAX ) ) fprintf ( stderr, “Nije postavljen prioritet (ovlasti?!)\n” ); /* Sve stvorene dretve naslijediti će prioritet ove dretve. Koristenjem pthread _ setschedparam funkcije mogu se postaviti i veci prioriteti (Real-Time), ali to je opasno ako nije kontrolirano! */ } /* stvori zadani broj dretvi */
122
Prijelom.indd 122
21.9.2010. 11:40:28
4. poglavlje: PROCESI
stvoreno = broj _ dretvi; opisnik = malloc ( broj _ dretvi * sizeof (pthread _ t) ); for ( i = 0; i < broj _ dretvi; i++ ) if ( pthread _ create ( &opisnik[i], NULL, dretva, param ) ) { stvoreno = i; printf ( “Stvoreno %d dretvi (od zadanih %d)\n”, stvoreno, broj _ dretvi ); break; } printf ( “Sve dretve stvorene, cekam kraj (Ctrl+C)\n” ); /* cekaj da sve dretve zavrse */ for ( i = 0; i < stvoreno; i++ ) pthread _ join ( opisnik[i], NULL ); free ( opisnik ); return 0; } /* pocetna funkcija za nove dretve */ void *dretva ( void *param ) { while ( 1 ) if ( param == NULL ) sleep ( 10 ); return NULL; } void upotreba ( char *param[] ) { printf ( “Upotreba: %s [zastavice][broj dretvi]\n\tzastavice:” “\n\t\t -i dretve ne rade nista” “\n\t\t -o dretve rade” “\n\t\t -p povecaj prioritet” “\n\tbroj dretvi iz intervala [1-%d]\n”, param[0], NAJDRETVI); exit ( 1 ); } /* prevodjenje: gcc dretve.c -lpthread -o dretve pokretanje: ./dretve 10 ili ./dretve -i 10 ili ./dretve -o 10 ili sudo ./dretve -p 10 (10 zamijeniti s zeljenim broje dretvi) u drugom terminalu se mogu naredbom ‘ps’ vidjeti te dretve. Npr. sa: ps -C dretve -mLly ili ps -C dretve -m -o uid,pid,ppid,lwp,ni,sz,wchan,time,cmd Primjer pokretanja i ispisa (masno su otisnute naredbe koje su zadane): $ ./dretve -o 5 & [1] 26751 $ Sve dretve stvorene, cekam kraj (Ctrl+C) (enter) $ ps -C dretve -m -o uid,pid,ppid,lwp,ni,sz,wchan,time,cmd UID PID PPID LWP NI SZ WCHAN TIME CMD 1000 26751 14237 - 10687 00:02:43 ./dretve -o 5 1000 - 26751 0 - futex _ 00:00:00 1000 - 26752 0 - 00:00:32 1000 - 26753 0 - 00:00:30 1000 - 26754 0 - 00:00:33 1000 - 26755 0 - 00:00:30 1000 - 26756 0 - 00:00:33 $ fg
123
Prijelom.indd 123
21.9.2010. 11:40:28
Sustavna programska potpora
./dretve -o 5 ^C (Ctrl+C) $ */
Izvorni kod datoteke sinkro.c za Windows: /* kod “sinkro.c” za Windows sustave */ #include #include #include #define NAJDRETVI #define NAJITER
1000 1000000000L
DWORD WINAPI dretva ( void *param ); void upotreba ( char *param[] ); int br _ iteracija; volatile int broj; HANDLE brava; int main ( int brarg, char *arg[] ) { int i, broj _ dretvi; DWORD idd; HANDLE *opisnik; void *param; if ( brarg < 3 ) upotreba ( arg ); broj _ dretvi = atoi ( arg[1] ); if ( broj _ dretvi < 1 || broj _ dretvi > NAJDRETVI ) upotreba ( arg ); br _ iteracija = atoi ( arg[2] ); if ( br _ iteracija < 1 || br _ iteracija > NAJITER ) upotreba ( arg ); if ( brarg > { param brava } else { param }
3 && arg[3][0] == ‘s’ ) = (void *) 1; = CreateMutex ( NULL, TRUE, NULL ); = NULL;
broj = 0; /* stvori zadani opisnik = malloc for ( i = 0; i < { opisnik[i]
broj dretvi */ ( broj _ dretvi * sizeof (HANDLE) ); broj _ dretvi; i++ ) = CreateThread ( NULL, 0, dretva, param, 0, &idd );
if ( opisnik[i] == NULL ) { printf ( “Greska pri stvaranju dretvi!!!\n” );
124
Prijelom.indd 124
21.9.2010. 11:40:28
4. poglavlje: PROCESI
exit (1); } } printf ( “Sve dretve stvorene, cekam kraj (ili Ctrl+C)\n” ); /* ako se koristi sinkronizacija, otkljucaj bravu */ if ( brarg > 3 && arg[3][0] == ‘s’ ) ReleaseMutex ( brava ); /* cekaj da sve dretve zavrse */ for ( i = 0; i < broj _ dretvi; i++ ) WaitForSingleObject ( opisnik[i], INFINITE ); free ( opisnik ); CloseHandle ( brava ); printf ( “Konacna vrijednost: broj = %d\n”, broj ); return 0; } /* pocetna funkcija za nove dretve */ DWORD WINAPI dretva ( void *param ) { int i; if ( param == NULL ) { for ( i = 0; i < br _ iteracija; i++ ) broj++; } else { for ( i = 0; i < br _ iteracija; i++ ) { WaitForSingleObject ( brava, INFINITE ); broj++; ReleaseMutex ( brava ); } } return 0; } void upotreba ( char *param[] ) { printf ( “Upotreba: %s broj _ dretvi broj _ iteracija [s]\n”, param[0] ); printf ( “\topcionalni ‘s’ oznacava da se koristi zakljucavanje\n” ); printf ( “\tnajveci broj dretvi ogranicen na %d\n”, NAJDRETVI ); printf ( “\tnajveci broj iteracija ogranicen na %d\n”, NAJITER ); exit ( 1 ); }
Izvorni kod datoteke sinkro.c za Linux: /* kod “sinkro.c” za Linux sustave */ #include #include
125
Prijelom.indd 125
21.9.2010. 11:40:28
Sustavna programska potpora
#include #define NAJDRETVI 1000 #define NAJITER 1000000000L void *dretva ( void *param ); void upotreba ( char *param[] ); int br _ iteracija; volatile int broj; pthread _ mutex _ t brava; int main ( int brarg, char *arg[] ) { int i, broj _ dretvi; pthread _ t *opisnik; void *param; if ( brarg < 3 ) upotreba ( arg ); broj _ dretvi = atoi ( arg[1] ); if ( broj _ dretvi < 1 || broj _ dretvi > NAJDRETVI ) upotreba ( arg ); br _ iteracija = atoi ( arg[2] ); if ( br _ iteracija < 1 || br _ iteracija > NAJITER ) upotreba ( arg ); if ( brarg > 3 && arg[3][0] == ‘s’ ) { param = (void *) 1; pthread _ mutex _ init ( &brava, NULL ); pthread _ mutex _ lock ( &brava ); } else { param = NULL; } broj = 0; /* stvori zadani broj dretvi */ opisnik = malloc ( broj _ dretvi * sizeof (pthread _ t) ); for ( i = 0; i < broj _ dretvi; i++ ) { if ( pthread _ create ( &opisnik[i], NULL, dretva, param ) ) { printf ( “Greska pri stvaranju dretvi!!!\n” ); exit (1); } } printf ( “Sve dretve stvorene, cekam kraj (ili Ctrl+C)\n” ); /* ako se koristi sinkronizacija, otkljucaj bravu */ if ( brarg > 3 && arg[3][0] == ‘s’ ) pthread _ mutex _ unlock ( &brava ); /* cekaj da sve dretve zavrse */ for ( i = 0; i < broj _ dretvi; i++ ) pthread _ join ( opisnik[i], NULL );
126
Prijelom.indd 126
21.9.2010. 11:40:28
4. poglavlje: PROCESI
free ( opisnik ); pthread _ mutex _ destroy ( &brava ); printf ( “Konacna vrijednost: broj = %d\n”, broj ); return 0; } /* pocetna funkcija za nove dretve */ void *dretva ( void *param ) { int i; if ( param == NULL ) { for ( i = 0; i broj++; } else { for ( i = 0; i { pthread broj++; pthread } }
< br _ iteracija; i++ )
< br _ iteracija; i++ ) _ mutex _ lock ( &brava ); _ mutex _ unlock ( &brava );
return NULL; } void upotreba ( char *param[] ) { printf ( “Upotreba: %s broj _ dretvi broj _ iteracija [s]\n”, param[0] ); printf ( “\topcionalni ‘s’ oznacava da se koristi zakljucavanje\n” ); printf ( “\tnajveci broj dretvi ogranicen na %d\n”, NAJDRETVI ); printf ( “\tnajveci broj iteracija ogranicen na %ld\n”, NAJITER ); exit ( 1 ); }
127
Prijelom.indd 127
21.9.2010. 11:40:28
Prijelom.indd 128
21.9.2010. 11:40:28
5. poglavlje
SPREMNIČKI PROSTOR 5.1 Spremnički prostor Glavni je spremnik središnje mjesto računala kroz koje prolaze svi podatci i instrukcije (pri njegovu radu). Organizacija i upravljanje spremničkim prostorom stoga su vrlo bitni i osnovne su zadaće operacijskog sustava. Za vrijeme rada računala, u spremniku se nalaze: • podatci i instrukcije operacijskog sustava potrebni za upravljanje sustavom: • opisnici svih procesa i dretvi • upravljački programi i potrebni podatci za sve prisutne naprave • podatci svih podsustava • podatci za upravljanje svim sredstvima sustava (kao što je i sam spremnik!) • instrukcije i podatci za svaki proces, zasebni stog za svaku dretvu Kako sve navedeno smjestiti u spremnik? Kako zaštititi jedan proces od drugog? Kako zaštititi podatke operacijskog sustava od procesa? Kako učinkovito iskoristiti spremnički prostor? Što s programima koji su veći od raspoloživog spremničkog prostora? Kako treba pripremiti programe prije učitavanja u spremnik? Navedena su osnovna pitanja na koja mora odgovore dati podsustav za upravljanje spremnikom. U različitim tipovima računalnih sustava susrećemo različite načine upravljanja spremnikom. U jednostavnijim se sustavima koriste metode koje se mogu ostvariti bez dodatnog sklopovlja namijenjenog upravljanju spremnikom. U drugim, koji imaju nekakvo sklopovlje za upravljanje spremnikom (npr. adresno zbrajalo spojeno
129
Prijelom.indd 129
21.9.2010. 11:40:28
Sustavna programska potpora
između procesora i sabirnice), mogu se koristiti prikladne metode koje će iskoristiti to sklopovlje i poboljšati upravljanje spremnikom. Složeni računalni sustavi, koji zahvaljujući razvoju računalne tehnologije danas uključuju i većinu ručnih računala, koriste postupak upravljanja spremnikom koji se naziva straničenje (engl. paging), a koji je omogućen složenim sklopovskim podsustavom za upravljanje spremnikom koje se nalazi na samom procesoru (engl. memory management unit – MMU).
Slika 5.1 Logičke i fizičke adrese
Osnovna ideja koja olakšava upravljanje spremnikom jest da se programi mogu učitati u bilo koji slobodni dio spremnika. S obzirom da program u svom izvođenju generira zahtjeve prema spremniku, te adrese koje on generira ne smiju ovisiti o mjestu gdje će se program učitati u spremnik. Adrese moraju biti nezavisne, relativne samo u odnosu na sam program (tj. proces), npr. u odnosu na njegov početak (koji ima relativnu adresu jednaku nuli). Relativna se adresa još naziva i logičkom, s obzirom da ju generira sam program. Sustavi za upravljanje spremnikom (uz njegovu sklopovsku potporu) moraju logičku adresu koju generira program pretvoriti u stvarnu adresu spremničke lokacije koju je program zapravo tražio, prije stavljanja adrese na sabirnicu. Tu ćemo adresu još nazvati i apsolutnom ili fizičkom adresom. Zadatak je sustava za upravljanje spremnikom, dakle, pretvorba zahtjeva koji je iskazan u logičkoj adresi programa u fizičku adresu spremničke lokacije koja joj odgovara. Najjednostavnije takvo upravljanje, koje se često naziva i dinamičko upravljanje spremnikom, koristi jednostavno zbrajalo adresa. Ako se program učita na lokaciju početne adrese (PA), tada se svaka adresa koju generira program (logička adresa – LA) mora zbrojiti s početnom adresom (PA) prije prosljeđivanja na sabirnicu. Sklop koji omogućuje ovakav način upravljanja spremnikom sastoji se samo od dodatnog registra za pohranu početne adrese procesa (koji postaje dio konteksta procesa) te dodatnog zbrajala.
Slika 5.2 Pretvorba adresa kod dinamičkog upravljanja spremnikom
Dinamičko upravljanje spremnikom, međutim, ima suviše nedostataka da bi se koristio u složenijim sustavima (budući da postoji bolji). Neki od nedostataka su: nema zaštite između procesa, dinamički zahtjevi za spremnikom ne mogu se ostvariti (npr. povećanje već dodijeljenog segmenta), problem fragmentacije spremnika, nemogućnost pokretanja programa koji cijeli ne stanu u spremnik. Upravljanje straničenjem, u osnovi algoritma, također koristi zbrajanje adresa. No u tom načinu upravljanja proces je podijeljen u dijelove istih veličina, koje nazivamo stranicama (engl. page). Svaka je stranica nezavisno spremljena u neki dio spremnika. Sustav za upravljanje će pri svakom zahtjevu morati odrediti kojoj stranici zahtjev pripada te gdje se ta stranica nalazi u spremniku. Nakon što se to utvrdi, iz drugog se dijela adrese određuje koliko je zahtjev udaljen od početka stranice te se taj broj zbraja na početnu adresu
130
Prijelom.indd 130
21.9.2010. 11:40:28
5. poglavlje: SPREMNIČKI PROSTOR
stranice u spremniku. Sve navedeno automatski obavlja sklopovlje pa je pretvorba adresa iznimno brza i ne uvodi kašnjenja u radu (osim iznimno, što je objašnjeno kasnije). Radi jednostavnosti sklopovlja, veličina stranice je višekratnik broja dva: uobičajeno je to 4 kB (4096 okteta). Jedna će se takva stranica u spremnik spremiti na adresu koja je također isti višekratnik broja dva, tj. na adrese koje su višekratnik od 4 kB. Takve adrese imaju nižih p bitova (12 bitova, 212 = 4096) jednake nuli. Ovakav odabir omogućuje da se pri pretvorbi, nakon što se odredi početak spremnika gdje je stranica pohranjena (a što se naziva okvir, engl. frame), kao odmak od početka stranice jednostavno može iskoristiti nižih p bitova relativne adrese, tj. tih nižih p bitova ostaje nepromijenjeno, samo se redni broj stranice procesa mora pretvoriti u adresu početka te stranice, odnosno mjesta spremničkog prostora gdje je ona spremljena, što ćemo nazvati rednim brojem okvira spremnika. Za pretvorbu između rednog broja stranice procesa i rednog broja okvira spremnika koristi se tablica prevođenja dotičnog procesa u kojoj svaki redak opisuje po jednu stranicu. Prije pokretanja programa operacijski sustav mora pripremiti tablicu prevođenja za njega (i učitati dijelove programa u spremnik). Pri izvođenju procesa pretvorba adresa koje on generira obavlja sklopovlje korištenjem pripremljene tablice.
Slika 5.3 Pretvorba adresa kod straničenja
U stvarnim se sklopovskim ostvarenjima često koristi hijerarhijska organizacija tablice prevođenja prvenstveno radi smanjenja potrebnih dijelova tablice (npr. za manje procese). Straničenje zahtijeva složeno sklopovlje, ali zato ima i mnoga dobra svojstva. Zaštita između procesa je besprijekorna, fragmentacija ne postoji, procesi mogu dinamički tražiti dodatne spremničke lokacije, čak se i program koji se cijeli ne može smjestiti u spremnik može izvoditi tako da se učitavaju samo oni dijelovi koji su trenutačno potrebni, a ostali su spremljeni na pomoćnom spremniku (disku). Sustav koji nema dovoljno spremničkog prostora (glavnog spremnika) može koristiti pomoćni spremnik da privremeno makne neke stranice koje trenutačno nisu potrebne, a da bi na njihovo mjesto smjestio one koje se traže. Naravno da će takve operacije u određenoj mjeri usporiti rad cijelog sustava jer je pomoćni spremnik znatno sporiji od glavnog, ali će ipak omogućiti pokretanje svih željenih programa. Zbog toga je pri odabiru potrebne veličine spremničkog prostora (pri kupovini računala) dobro poznavati zahtjeve koji će se na sustav postavljati i s motrišta spremničkog prostora. Premali glavni spremnik intenzivno će morati koristiti pomoćni spremnik i time znatno smanjiti učinkovitost sustava. S druge strane, preveliki će spremnik ostati neiskorišten (uzalud potrošen novac).
Slika 5.4 Spremnički prostor kojim upravlja operacijski sustav
131
Prijelom.indd 131
21.9.2010. 11:40:29
Sustavna programska potpora
Sustavi za rad u stvarnom vremenu, koji očekuju vrlo brzu reakciju na događaje u sustavu, ne koriste pomoćne spremnike jer oni unose značajna kašnjenja u rad sustava. Na primjer, ako se u obradi kritičnog događaja trebaju koristiti podatci koji se trenutačno nalaze u stranici koja je na pomoćnom spremniku, tada će proteći barem nekoliko milisekundi dok se ta stranica najprije ne dohvati s diska. Takva odgoda u nekim sustavima nije prihvatljiva te se u takvim sustavima ili straničenje uopće ne koristi, ili se koristi, ali bez pomoćnog spremnika, ili se koristi i pomoćni spremnik, ali samo za procese koji nisu vremenski kritični.
Slika 5.5 Poredak tipova spremnika prema brzinama prijenosa podataka
SSD diskovi (engl. Solid State Disk) noviji su uređaji za trajnu pohranu podataka, po priključcima i protokolima slični običnom disku. U izvedbi se potpuno razlikuju od običnih diskova - oni koriste samo elektroničke elemente za trajnu pohranu podataka. Kako nemaju mehaničkih dijelova, znatno su brži od običnih diskova (pristup podatcima i brzina prijenosa značajno je veća). S druge strane, poprilično manji kapacitet i značajno veća cijena glavni su razlozi njihovog još uvijek rijetkog korištenja.
Spremnik je znatno sporiji od procesora (barem nekoliko puta). Zato se koriste razne tehnološke metode da bi se taj nedostatak ublažio. Među najznačajnije spada korištenje priručnog spremnika samog procesora koji, iako je znatno manjeg kapaciteta, znatno ubrzava rad sustava. Brzina priručnog spremnika procesora bitno je veća od samog spremnika. Brži spremnici prilično su skuplji te se i sam priručni spremnik na procesoru dijeli na nekoliko razina različitih brzina, a da se takvom organizacijom postignu prihvatljive performanse uz prihvatljivu cijenu. Uobičajena podjela priručnih spremnika procesora je na tri razine (engl. cache levels): prva (najmanja) razina (L1) koja radi na brzini samog procesora, druga (L2) koja radi nešto sporije, ali je većeg kapaciteta te treća (L3) koja je značajno većeg kapaciteta, ali je još sporija, međutim, ipak brža od glavnog spremnika. Zahtjevi za podatcima u spremniku vrlo su često lokalizirani (vremenski bliski zahtjevi su i prostorno bliski – zahtjevi za susjednim lokacijama), procesor će vrlo često moći i samostalno raditi, korištenjem već dohvaćenih podataka u priručnim spremnicima, bez komunikacije s glavnim spremnikom. Veličina priručnog spremnika procesora prilagođena je njegovu korištenju. Dok će za zahtjevne poslužitelje trebati odabrati procesore sa znatnom količinom priručnog spremnika (zato i značajno skuplje), za obična su računala (kućna ili uredska) dovoljni i jednostavniji (jeftiniji) procesori s manjom količinom priručnog spremnika. Korištenje priručnih spremnika mijenja i pristup spremniku. Iako program može zahtijevati samo jedan podatak, sklopovlje će dohvatiti cijeli blok podataka jer mu je to znatno isplativije – iako će početno trajati nešto više od samo jednog zahtjeva (ne mnogo!), to će se višestruko isplatiti ako se i nekoliko kasnijih zahtjeva odnosi da dohvaćeni blok. Imajući na umu navedena svojstva glavnog i priručnih spremnika, pristup u izgradnji novih programa, koji su procesorski i spremnički zahtjevni, mora biti prikladan želi li se sklopovlje maksimalno iskoristiti. Korištenje priručnih spremnika je (najčešće) u potpunosti sklopovski riješeno. Poznavanjem svojstava i načina rada tog
132
Prijelom.indd 132
21.9.2010. 11:40:29
5. poglavlje: SPREMNIČKI PROSTOR
sklopovlja može se povećati učinkovitost programa, ali to nije nužno pri izradi nezahtjevnih programa. Matične ploče na koje se stavljaju sastavnice računalnog sustava obično i same podržavaju neke dodatne mogućnosti ubrzavanja rada spremnika. S obzirom na ograničenja spremničkih modula koji se ugrađuju, a koji su određeni širinom sabirnice (brojem priključaka na ploču – brojem kontakata) i brzinom rada, matične ploče (tj. upravljački čipovi na njima), omogućuju uparivanje takvih modula radi postizanja efektivno šire sabirnice koja u istom razdoblju može prenijeti više podataka (npr. dvokanalno, trokanalno, engl. dualchannel, triple-channel).
133
Prijelom.indd 133
21.9.2010. 11:40:29
Sustavna programska potpora
Vježbe iz poglavlja 5
SPREMNIČKI PROSTOR 1. Uvod Veličina i svojstva spremničkog prostora uvelike određuju mogućnosti računala (uz procesor). Sami operacijski sustavi, kao i programi, postavljaju zahtjeve za potrebnu veličinu spremničkog prostora. Ako spremničkog prostora ima premalo, računalo može biti i znatno sporije od očekivanog (zbog intenzivnog korištenja diska kao pomoćnog spremnika). Ako spremničkog prostora ima previše, ono ostaje neiskorišteno (uzalud potrošen novac). Svojstva spremnika treba odabrati prema potrebi. Nije potrebno kupovati vrlo skupe spremničke module za obično uredsko računalo. S druge je strane za poslužitelje koji rade bez prestanka, za računala koji obavljaju kritične poslove (upravljanja) i sl. vrlo bitno odabrati spremnik prikladnih svojstava jer će ili greške u radu, ili (prerani) kvar, ili loše performanse u usporedbi s ostalim sastavnicama i sl. degradirati računalo ili čak onemogućiti njegovo korištenje u takvim okolinama. Svojstva spremničkog prostora koji se nalazi u računalu mogu se utvrditi izravnim očitanjem sa spremničkih modula, posebnom opremom za njihovo ispitivanje, korištenjem programa koji su dio operacijskog sustava ili korištenjem dodatnih programa. Poznavanje svojstava spremničkog prostora računala omogućuje i procjenu njegovih mogućnosti.
2. Temeljni pojmovi • glavni spremnik • pomoćni spremnik • priručni spremnik
3. Cilj vježbe Korištenjem raznih alata potrebno je utvrditi svojstva spremničkog prostora, potrebe operacijskog sustava i programa za spremničkim prostorom. Korištenjem priloženog programa ispitati moguća zauzeća spremničkog prostora za programe te učinkovitost korištenja priručnog spremnika (s obzirom na način korištenja spremnika: slijedno ili nasumično).
4. Priprema za vježbe: Upoznati se (teoretski) s načinom rada spremnika, njegovim parametrima, načinima njegovim upravljanjem, zahtjevima operacijskog sustava i programa prema spremniku.
134
Prijelom.indd 134
21.9.2010. 11:40:29
5. poglavlje: SPREMNIČKI PROSTOR
5. Vježbe A. Doznati svojstva spremnika u računalnom sustavu: • priručni spremnici procesora (L1, L2 i L3, veličina, brzina):
• glavni spremnik: ▪▪ ukupna veličina: ▪▪ dio spremnika koji koristi operacijski sustav (njegova jezgra): ▪▪ trenutačno slobodni dio spremnika: ▪▪ za proizvoljni proces očitati korištenje spremnika: proces:
zauzeće:
• veličina pomoćnog spremnika (na disku, pagefile/swap): • operacijski sustav je: 32-bitni (npr. x86) ili 64-bitni (npr. x64) ? (zaokružiti) B. Pokrenuti uobičajene programe (npr. uređivač teksta, internetski preglednik, rad s poštanskim pretincem, audio/video reprodukcija i sl.) i kratko raditi s njima te pratiti zauzeće spremnika. Korištenjem prikladnih programa odrediti: • navesti pokrenute programe:
• zauzeće spremnika nakon pokretanja programa (još dok su pokrenuti):
• program koji najviše zauzima (od pokrenutih):
, zauzeće:
• zauzeće spremnika prije pokretanja programa (ili nakon njihova završetka):
• procijeniti potrebnu veličinu spremnika, ako bi se računalo koristilo samo za navedene programe (i obrazlo žiti procjenu):
135
Prijelom.indd 135
21.9.2010. 11:40:29
Sustavna programska potpora
C. Korištenjem priloženog programa, odrediti: • najveću veličinu spremnika koju je program mogao zauzeti: • utjecaj korištenja zauzetog dijela spremnika na ostale procese sustava:
• vrijeme potrebno za korištenje svog spremnika, kad se on koristi slijedno:
, nasumično:
D. Ako sustav ima više od 4 GB spremničkog prostora, zašto je poželjno koristiti 64bitovni operacijski sustav?
136
Prijelom.indd 136
21.9.2010. 11:40:29
5. poglavlje: SPREMNIČKI PROSTOR
6. Upute i objašnjenja uz vježbe Svojstva spremničkog prostora kao i njegovo trenutačno stanje mogu se doznati korištenjem programa isporučenih s operacijskim sustavom (npr. System Information i Task Manager na Windows sustavima te System Monitor, naredba ps, datoteka /proc/meminfo i sl. na Linuxu), ali i zasebnim alatima (npr. CPU-Z).
S obzirom da većina operacijskih sustava koristi straničenje, bitno je znati interpretirati brojke koje programi prikazuju. Zato i priloženi program ima opciju samog zauzeća spremnika te zauzeća i korištenja. Naime, pri samom se zauzeću zauzeti segment samo opiše (u opisniku procesa), ali ne i rezervira u stvarnom spremniku. Tek se njegovim korištenjem (pisanjem i čitanjem) dio fizičkog spremnika zaista i rezervira i koristi. Na primjer, u programu Task Manager, uključivanjem stupaca Working Set (dio fizičkog spremnika koji proces koristi) te Commit Size (samo rezervirani dio spremnika) vidi se da se samo pri rezervaciji spremnika (priloženim programom) mijenja samo drugi stupac. No njegovim se korištenjem mijenja i prvi. Pri većim zahtjevima, kada se raspoloživi spremnički prostor skoro do kraja iskoristi, neki operacijski sustavi daju korisnicima upozorenje da se sustav nalazi na granici. Tada se novi zahtjevi za spremnikom neće uvažavati (programi neće moći raditi). Navedeno se može i isprobati korištenjem priloženog programa, tako da se on paralelno pokreće (barem dvije instance) – veće zauzeće jednog procesa onemogućiti će drugome da zauzme veći dio (ako je spremnički prostor ograničen).
137
Prijelom.indd 137
21.9.2010. 11:40:29
Sustavna programska potpora
Izvorni kod datoteke spremnik.c (isti kod i za Windows i za Linux sustave): #include #include #include #include #include #include #define #define #define #define #define
POCETNO 10000UL NAJVEL 3221225472UL /* 3 GB */ NAJZAHJTEVA 32 RESETIRAJ 1 ISPISI 2
#define UPUTE \ “Zadaj naredbu: naredba velicina [velicina bloka]\n” \ “naredba: s - samo rezerviraj zadano\n” \ “ k - koristi rezervirani spremnik\n” \ “ t - ispituj brzinu spremnika stavljanjem nasumicnih vrijednosti\n” \ “ u njega, ali ipak po blokovima zadanih velicina\n\n” /*
generator pseudo slucajnih brojeva (zbog mogucih ogranicenja nekih postojecih generatora, koristi se vlastiti)
*/ static unsigned long int sl _ broj () { static unsigned long int slbroj = 1;
slbroj = slbroj * 1103515245L + 12345; return slbroj; } static void mjeri _ vrijeme ( int sto ); int main () { unsigned long int velicina, broj, vbloka; unsigned long int i, j, ni, nj; long int *zauzeto = NULL; char redak[80], naredba; while ( 1 ) { printf fflush (void) sscanf
( “\n\n%s”, UPUTE ); ( stdin ); fgets ( redak, 80, stdin ); ( redak, “%c %lu”, &naredba, &velicina );
if ( naredba != ‘s’ && naredba != ‘k’ && naredba != ‘t’ ) { printf ( “Kriva naredba\n” ); continue; } if ( velicina < POCETNO || velicina > NAJVEL ) { printf ( “Kriva velicina (od %lu do %lu)\n”, POCETNO, NAJVEL ); continue;
138
Prijelom.indd 138
21.9.2010. 11:40:29
5. poglavlje: SPREMNIČKI PROSTOR
}
if ( zauzeto ) free ( zauzeto ); zauzeto = malloc ( velicina ); if ( zauzeto == NULL ) { printf ( “Nema dovoljno spremnika za zahtjev (%lu)\n”, velicina); continue; } if ( naredba == ‘k’ ) /* “koristi” taj segment */ { memset ( zauzeto, 5, velicina ); } else if (naredba == ‘t’) /* testiraj brzinu koristenja */ { vbloka = 0; sscanf ( redak, “%c %lu %lu”, &naredba, &velicina, &vbloka ); if ( vbloka == 0 || vbloka > velicina ) vbloka = velicina; else if ( vbloka < 4096 ) vbloka = 4096;
ni = velicina / vbloka; nj = vbloka / sizeof (int);
memset ( zauzeto, 5, velicina );
printf ( “\nSlijedno postavljanje (%lux%lu)!\n”, ni, nj * sizeof (int) ); mjeri _ vrijeme(RESETIRAJ); for ( i = 0; i < ni; i++ ) { for ( j = 0; j < nj; j++ ) { broj = sl _ broj() % nj; zauzeto[i * nj + j] = broj; } } mjeri _ vrijeme(ISPISI); printf ( “\nPostavljam nasumicno (%lux%lu)!\n”, ni, nj * sizeof (int) ); mjeri _ vrijeme(RESETIRAJ); for ( i = 0; i < ni; i++ ) { for ( j = 0; j < nj; j++ ) { broj = sl _ broj() % nj; zauzeto[i * nj + broj] = broj; } } mjeri _ vrijeme(ISPISI); } }
139
Prijelom.indd 139
21.9.2010. 11:40:29
Sustavna programska potpora
return 0; } /* pojednostavljeno mjerenje protoka vremena */ static void mjeri _ vrijeme ( int sto ) { static struct timeb t1, t2; unsigned int sek, milisek; if ( sto == RESETIRAJ ) { ftime( &t1 ); } else if ( sto == ISPISI ) { ftime( &t2 ); sek = t2.time - t1.time; if ( t2.millitm >= t1.millitm ) { milisek = t2.millitm - t1.millitm; } else { milisek = 1000 + t2.millitm - t1.millitm; sek--; } printf ( “Proteklo: %u:%03u [s]\n”, sek, milisek); } }
140
Prijelom.indd 140
21.9.2010. 11:40:29
6. poglavlje
RAČUNALNE MREŽE 6.1 Osnove mrežne komunikacije 6.1.1 Vrste računalnih mreža Mreže je moguće podijeliti prema načinu ostvarivanja veze. Danas su rasprostranjene dvije vrste: • dijeljena veza (engl. Shared link) – koristi se broadcast, multicast i unicast komunikacija; • Point to Point veza – koristi se unicast komunikacija. Mreže koje koriste Broadcast komunikaciju imaju zajednički komunikacijski kanal kojeg koriste svi korisnici. Kratke poruke koje se općenito nazivaju paketi (engl. Packets) poslane od jednog korisnika (npr. računala) primaju svi korisnici. Svaki paket, gotovo kao pismo, ima adresu korisnika kojem je upućen. Svaki korisnik prima svaki paket na mreži i čita samo adresu. Ako otkrije da je riječ o poruci poslanoj njemu, otvara je, a ako uvidi da je poruka namijenjena nekom drugom korisniku, ignorira je. Kod ovog je modela komunikacije moguće slati poruku i svim korisnicima, i to tako da se napiše “zajednička” adresa. Takvu poruku primaju i procesiraju sva računala, a način rada kod slanja ovakve poruke naziva se broadcasting. Osim ovakvog načina slanja poruka, neke mreže ovog tipa imaju mogućnost adresiranja poruka prema skupini korisnika. To se postiže zajedničkim dijelom adrese tih korisnika. Slanjem poruke na grupu korisnika i korištenjem zajedničkog dijela adrese ostvaruje se način komunikacije koji se naziva multicasting. Mreže koje koriste točka do točke (engl. Point to Point) način komunikacije rade sasvim drugačije. Ovdje, kao što smo već naveli, korisnici međusobno ostvaruju komunikaciju jedan s drugim. Ipak,
141
Prijelom.indd 141
21.9.2010. 11:40:29
Sustavna programska potpora
to ne znači da kroz ovakvu mrežu nije moguće poslati paket koji treba doći do korisnika koji nije izravno povezan s pošiljateljem. Mreža ovog tipa omogućuje da paket putuje “preko” više povezanih korisnika dok ne dođe do pošiljatelja. I ovi paketi, naravno, imaju adresu, a sama je mreža toliko učinkovita koliko je kratak i kvalitetan put izabran između pošiljatelja i primatelja. Pri ovakvoj je komunikaciji moguća je i izravna komunikacija između dva povezana korisnika. Takva se komunikacija naziva unicasting. Navedene vrste mreža obično se koriste u različitim slučajevima, iako to nije pravilo. Naime, broadcast mreže primjerenije su za slanje poruka na male udaljenosti (npr. mreža u uredu), dok su točka do točke (engl. Point to Point) mreže primjerenije za slanje poruka na veće udaljenosti (npr. Internet). Broadcast promet neprimjeren je i nepoželjan za WAN mreže jer troši mnogo propusnosti (engl. bandwith) koja je u WAN vezama skupa. Druga je podjela mreža prema njihovoj veličini. Računalne mreže možemo podijeliti po veličini odnosno fizičkoj rasprostranjenosti korisnika i uređaja u dvije osnovne grupe (vidi sliku 6.1).
RAČUNALNE MREŽE LAN (Local Area Network)
WAN (Wide Area Network)
Slika 6.1 Osnovna podjela računalnih mreža
Slika 6.2 LAN (lokalna mreža)
LAN – lokalna mreža (engl. Local Area Network) je mreža uređaja pod kontrolom zajedničke administracije koja uređuje politiku sigurnosti i pristupa. Lokalnu mrežu čine uređaji povezani na maloj fizičkoj udaljenosti (vidi sliku 6.2) i obično obuhvaća jedno zemljopisno područje, pruža servise za korisnike u zajedničkoj organizacijskoj strukturi, kao što su tvrtka, kampus ili regija. WAN – mreža širokog područja (engl. Wide Area Network) je mreža koja spaja lokalne mreže koje su fizički na različitim geografskim područjima (vidi sliku 6.3). U pitanju je mreža uređaja (engl. host) povezanih brzim i sporim vezama.
LAN WAN
Slika 6.3 WAN (mreža širokog područja)
Kada tvrtka ima lokalne mreže koje su geografski odvojene, mora koristiti telekomunikacijske usluge odnosno usluge pristupa Internetu ISP-a (engl. ISP – Internet Service Provider) koji je obično i TSP (engl. TSP – Telecommunications Service Provider) kako bi se one povezale. Veza između lokalnih mreža (LAN-ova) obično se ostvaruje preko zakupljenih telekomunikacijskih veza (vodova). Dvije podskupine mreža koje na neki način možemo smatrati “hibridnima” i koje je zapravo teško pravilno svrstati su:
142
Prijelom.indd 142
21.9.2010. 11:40:31
6. poglavlje: RAČUNALNE MREŽE
• intranet (često nazvan „lokalni Internet“) – međusobno koristi iste tehnologije kao i Internet, ali pristup imaju samo zaposlenici tvrtke. On po svojoj veličini spada u LAN mreže, ali s druge strane koristi vrlo sličnu infrastrukturu kao Internet; • ekstranet (engl. Extranet) – tip mreže koji biranim vanjskim korisnicima (partnerima, klijentima itd.) daje pristup ograničenim informacijama tvrtke. Ova vrsta mreže također po svojoj veličini spada u LAN mreže, ali je s druge strane, budući da obično koristi resurse Interneta, također na granici LAN – a i Interneta.
Uređaji
6.1.2 Mrežne sastavnice Put kojim podatak putuje mrežom može biti jednostavan, primjerice dva računala spojena kabelom ili imati kompleksnost globalne mreže koju smo predstavili. Jednostavna ili složena (kompleksna) mreža podržava komunikaciju zahvaljujući krajnjim uređajima kao izvoru ili odredištu podataka, uređajima posrednicima u svrhu usmjeravanja podataka, mediju za prijenos podataka i servisima koji hardveru služe kao softverska sastavnica.
Mrežne sastavnice Mediji za prijenos podataka
Servisi
Slika 6.4 Mrežne sastavnice
6.1.2.1 Uređaji u mreži Uređaje možemo podijeliti na krajnje uređaje (engl. Network edge) i uređaje posrednike u komunikaciji (engl. Network core).
KRAJNJI UREĐAJI
UREĐAJI POSREDNICI
(network edge)
(network core)
Računala (radne stanice, prijenosna računala, poslužitelji)
Uređaji za pristup mreži (koncentratori eng. Hub, Preklopnici - eng. switch...)
Mrežni printeri VoIP (eng. Voice over Internet Protocol) telefoni Siguronosne kamere Mobilni uređaji (PDAs - eng. Personal Digital Assistant, čitači bar kodova)
Uređaji za spajanje različitih mreža (Usmjernici - eng. router) Komunikacijski poslužitelji i modemi
Siguronosni uređaji (eng. firewall)
Slika 6.5 Uređaji u mreži
6.1.2.2 Krajnji uređaji Mogu biti ishodište ili odredište podataka koji se šalju mrežom. Za identifikaciju ishodišnog i odredišnog uređaja svaki uređaj na mreži ima adresu. U trenutku pokretanja komunikacije ishodišni uređaj koristi adresu odredišnog uređaja kako bi odredio kamo se podaci šalju.
Potrebno je razlikovati logično i fizičko adresiranje uređaja. Logičko adresiranje određuje administrator mreže, dok svi uređaji koji sudjeluju u komunikaciji imaju unaprijed postavljenu fizičku adresu.
143
Prijelom.indd 143
21.9.2010. 11:40:32
Sustavna programska potpora
U računalnim mrežama krajnji uređaj (engl. host, end system) može imati ulogu klijenta, poslužitelja ili ulogu klijenta i poslužitelja. Prema tome, treba biti svjestan da host nije uvijek samo klijent na kojem je pokrenuta neka aplikacija (npr. internetski preglednik), iako je to često slučaj, nego host može biti i internetski poslužitelj. Zapravo mehanizam klijent/poslužitelj (engl. Client/Server) danas dominira Internetom i velika je količina internetskih aplikacija koje funkcioniraju na ovaj način (npr. internetske stranice, e-pošta (e-mail), FTP, newsgroups…). Općenito možemo reći da je klijent (engl. Client) sustav (npr. računalo) koje udaljeno pristupa servisima na drugom uređaju i potražuje podatke. Poslužitelj (engl. Server) ima instaliran softver (servis) koji pruža uslugu klijentu i koji mu može omogućiti pristup tim podacima. Budući da i klijent i poslužitelj zapravo kao hardversku podlogu mogu imati računala, možemo reći da je klijent/poslužitelj arhitektura po kojoj funkcioniraju brojne aplikacije na Internetu zapravo zasnovana na distribuiranim aplikacijama. Nadalje, budući da je Internet dobrim dijelom građen upravo od takvih sustava, posredno se može zaključiti da je i Internet utemeljen na distribuiranim aplikacijama. 6.1.2.3 Uređaji posrednici Ovi uređaji u osnovi izgrađuju jezgru mreže jer se njihovim korištenjem omogućuje prijenos podataka. U nastavku su ukratko predstavljeni neki osnovni uređaji posrednici. Mrežna kartica (engl. NIC – Network Interface Card) Mrežna kartica je uređaj čija je uloga pretvaranje podataka (bitova) koje razumljivih računalu u električne, svjetlosne ili radiosignale (ovisno o mediju za prijenos podataka koji koristimo). Naravno, na drugoj strani (strani koja prima informacije), uloga joj je obrnuta, tj. električne, svjetlosne ili radiovalove pretvara u bitove. Mrežnu karticu fizički ugrađujemo u računalo. Svaka mrežna kartica ima u memorijskom čipu utisnut jedinstveni 48-bitni broj koji se zove MAC (Media Access Control) adresa. To je adresa koja se koristi za slanje podataka prema računalima i na osnovi te adrese računala uzimaju pakete podataka namijenjene isključivo njima. Naime, kabelom unutar npr. LAN mreže putuju podaci i sva računala na fizičkom segmentu mreže mogu vidjeti sve podatke, bez obzira na to jesu li im namijenjeni ili ne (sjetite se Broadcastinga). Kartice, međutim, uzimaju samo one pakete koji su im upućeni u skladu s njihovom adresom, dok ostale odbacuju. Usmjernik (engl. Router) Usmjernici povezuju i omogućuju komunikaciju između računalnih mreža i pronalaze najbolji put za podatke do cilja. Usmjernik
144
Prijelom.indd 144
21.9.2010. 11:40:33
6. poglavlje: RAČUNALNE MREŽE
može biti implementiran kao računalo ili kao poseban uređaj specijaliziran za usmjeravanje paketa podataka kroz računalne mreže. Najčešće je zaseban uređaj. Usmjernik je, kada je izveden kao posebni uređaj, također računalo koje ima gotovo sve sastavnice (CPU, memoriju, sistemsku sabirnicu, ulazno-izlazna sučelja…) i operativni sustav pomoću kojeg se konfigurira za usmjeravanje paketa. Može se koristiti za segmentiranje velikih LAN mreža, ali njegova je glavna upotreba u WAN mrežama. Ruteri su osnova velikih LAN i WAN mreža i Interneta. Preklopnik (engl. Switch) Prve su Ethernet mreže bile napravljene pomoću pojačala (engl. Repeater) i koncentratora (engl. Hub. Hub još nosi naziv i multiport repeater. Značajke mreže postajale su sve lošije jer je sve više računala dijelilo isti mrežni segment, odnosno sva su računala bila u istoj kolizijskoj domeni. Problem kolizijskih domena i kolizije veže se za problem komunikacije putem Broadcast mehanizma koji je prisutan u nekim mrežama (npr. Ethernet LAN). Sjetimo se da je to mehanizam u kojemu kada jedno računalo šalje podatak, sva računala taj podatak vide na svojoj sabirnici. Podatak čita samo ono računalo na koje je adresirano, ali za to vrijeme ostala računala ne mogu slati podatke. Dva računala ne mogu slati podatke istodobno. Ako to pokušaju, dolazi do sudara ili kolizije. Što je više računala u istoj kolizijskoj domeni, odnosno u području unutar kojega može doći do kolizije, veća je vjerojatnost da do sudara i uništavanja podataka i dođe. Što je više sudara, više se vremena troši na rješavanje tih sudara i mreža radi sve sporije. Da bi se problem kolizije riješio, u mrežu je dodan uređaj koji se zove Bridge, a koji dijeli mrežu na dvije kolizijske domene. Kako su s vremenom mreže rasle po broju računala i složenosti, Bridge je evoluirao u preklopnik (engl. Switch) – uređaj koji dijeli mrežu na onoliko kolizijskih domena, koliko ima priključaka (engl. port). Svaki port switcha je jedna kolizijska domena. Preklopnik mikrosegmentira mrežu i na taj način onemogućuje koliziju. Današnje su mreže uglavnom građene koristeći preklopnike i usmjernike. Osvrnimo se ukratko i na uređaje koji su se nekada koristili da bismo bolje shvatili rad preklopnika. Bridge Uređaj koji je po načinu rada sličan preklopniku, ali je, za razliku od preklopnika koji se primarno koristi za spajanje računala, bridge namijenjen spajanju različitih segmenata mreže. Bridge obično povezuje mreže istog tipa, ali postoje i bridgevi koji povezuju različite
145
Prijelom.indd 145
21.9.2010. 11:40:34
Sustavna programska potpora
mreže, recimo Ethernet i Token ring. Bridge jednako tako može povezati mreže s različitim medijima, recimo UTP i koaksijalni kabel. Bridge je uređaj koji se u današnjim mrežama više ne koristi s obzirom na to da je preklopnik zapravo više povezanih bridge uređaja. Koncentrator (engl. Hub) Uređaj koji služi za povezivanje računala u zvijezda (star) topologiju, a koja će detaljnije biti prikazana naknadno. U pitanju je uređaj koji na sebi ima određen broj portova (priključaka) na koje kabelom spajamo računala ili druge krajnje uređaje (Hostove). Signal koji dobije na jedan port proslijedi na sve ostale portove. Nekoliko je vrsta koncentratora. Postavljanje koncentratora u mrežu povećava kolizijsku domenu, a time i mogućnost same kolizije, naime, unutar koncentratora, komunikacija se odvija putem broadcasta (kada jedan šalje, svi primaju podatke istodobno). Na taj je način lako moguće da između dva ili više signala dođe do kolizije. Pojačalo (engl. Repeater) Ovo je uređaj koji pojačava i obnavlja signal na kabelskim mrežama. Prema specifikaciji, pojedine vrste kablova možemo koristiti do određene maksimalne dužine. Ako nam treba kabel duži od toga, upotrijebit ćemo pojačalo. Pojačalo je potrebno u nekim mrežama jer na dužim kabelima dolazi do prigušenja ili atenuacije (o čemu će više riječi biti poslije), što uzrokuje pad kvalitete signala, a samim tim i greške u komunikaciji. Osim navedenih najčešće korištenih uređaja posrednika, postoji i čitav niz drugih uređaja koji se nalaze unutar jezgre računalne mreže. Ti uređaji ovise o korištenoj tehnologiji i mediju za komunikaciju pa će u ovoj kategoriji uređaja unutar računalnih mreža biti moguće naći uređaje kakvi su: optički terminalni uređaji, modulatori i demodulatori, bežične pristupne stanice (engl. access point), sigurnosni uređaji npr. vatrozid (engl. firewall) i brojni drugi uređaji. 6.1.2.4 Mediji za prijenos podataka Mediji za prijenos podataka u računalnim mrežama prije svega moraju omogućiti odašiljanje i primanje elektromagnetskih signala koji u sebi sadržavaju informaciju. Bez obzira je li riječ o analognim ili digitalnim signalima, svi mediji koje ćemo predstaviti zapravo u osnovi prenose elektromagnetske valove raznih veličina, oblika i frekvencije. Neke osnovne i najčešće korištene medije za prijenos signala nabrojat ćemo poslije, za sada ih možemo podijeliti u one koji fizički signale usmjeravaju (npr. žica, optičko vlakno) i one koje ne usmjeravaju signale (npr. atmosfera kojom se prenose radiovalovi). Važno je znati da ćemo kod izbora medija razmišljati o parametrima kakvi su maksimalna propusnost (engl. Bandwidth),
146
Prijelom.indd 146
21.9.2010. 11:40:34
6. poglavlje: RAČUNALNE MREŽE
maksimalna dužina, ali i cijena. Ipak, ovu zadnju veličinu treba uzeti s rezervom budući da kod izgradnje mreže, gotovo neovisno o izboru medija, sam trošak izrade i polaganja instalacija zapravo često višestruko nadmašuje cijenu ugrađenih fizičkih medija za prijenos podataka. Upravo stoga, kako bi izbjegli buduće skupe radove uvođenja dodatnih instalacija, investitori često uvode u zgrade i poslovne prostore nekoliko redundantnih medija, i to obično najnovije generacije. Čine to jer ih iskustvo uči da razvojem tehnologija postavljeni mediji često vrlo brzo postaju spori, podkapacitirani i neodgovarajući, a cijena je njihove zamjene obično vrlo visoka. 6.1.2.5 Mrežni protokoli Mrežni protokoli definiraju pravila komunikacije na mreži. Protokoli računalnih mreža ujedinjuju sve ono što su ljudi definirali bontonom, jezikom, ali i pismom. Mrežni su protokoli osnova rada svake mreže i bez njih bi bilo kakva komunikacija bila nemoguća. Osnovne uloge protokola u računalnim mrežama su: • definicija oblika poruka koje se prenose mrežom • definicija pravila ponašanja na mreži (tko, kada i na koji način smije komunicirati, zapravo bonton ponašanja na mreži) • definicija veličine i semantike polja unutar paketa koji se prenose na mreži • definicija mehanizama potrebnih za uspješnu komunikaciju 6.1.2.6 Mrežni servisi Posljednja skupina mrežnih sastavnica koju je potrebno predstaviti su mrežni servisi. Koncept servisa jednostavnije je shvatiti ako ih se u ovom trenutku promatra kao potporu za korištenje aplikacija odnosno usluge dostupne aplikacijama na računalnoj mreži. Upravo su aplikacije ono što korisniku daje stvarnu vrijednost mreže jer je on zapravo rijetko svjestan složenih mehanizama koji se odvijaju unutar mrežnih uređaja. Još ga manje zanimaju putovi kojima informacija koju je tražio dolazi do njegova host programa (npr. internetskog preglednika). Neke smo od aplikacija koje nalazimo na mrežama smo spomenuli, a mnoge danas možda niti ne postoje ili su nepoznate široj javnosti da bi možda već za pola godine postale svjetski hit. Nabrojimo samo neke najpopularnije dostupne na Internetu koji će poslužiti kao primjer računalne mreže: • YouTube (HTTP) • RealTime Audio/Video • DHCP • DNS • Skype
147
Prijelom.indd 147
21.9.2010. 11:40:34
Sustavna programska potpora
• File transfer (FTP) • e-mail (SMTP) • internetske stranice (HTTP)
6.1.3 Čimbenici koji utječu na prijenos podataka Na performanse prijenosa podataka u prethodnim se poglavljima nismo usredotočili. Bilo je važno upoznati funkcionalnost i mehanizme rada mreže. Ipak, ono po čemu mrežu na kraju najčešće mjerimo upravo su pokazatelji o njezinoj brzini, propusnosti, kašnjenjima itd. Kako bismo mogli utjecati na performanse mreže, treba prije svega upoznati osnovne mjere i veličine kojima se one iskazuju. Bandwidth Bandwidth označava brzinu kojom pojedini mrežni sustav ili medij može prenositi podatke. Kada govorimo o podacima, koristit ćemo najmanju mjeru za digitalne podatke: bit. Dakle, razmišljajući o bandwidthu, razmišljamo o tome koliko neki sustav može prenijeti bitova u jedinici vremena (npr. 20 bit/sec). Kašnjenje ili latencija Druga je mjera performansi sustava kašnjenje (engl. delay) odnosno latencija. Možemo je općenito definirati kao vrijeme (u sekundama) potrebno da poruka stigne od pošiljatelja do primatelja. Razlozi kašnjenja mogu biti razni. Neki od njih su: kašnjenje zbog putovanja signala (engl. propagation delay), kašnjenje zbog obrade (engl. nodal processing delay), kašnjenje zbog čekanja na red (engl. queuing delay). Gubitak paketa Osim kašnjenja koje određuje koliko je vremena potrebno za prijenos paketa kroz mrežu, važan podatak je i mjera vjerojatnosti gubitka paketa. Naime, kako smo upoznali da pri prijenosu paketa i njihove komutacije može doći do stvaranja redova čekanja, inherentno se pojavljuje opasnost da u jednom trenutku svi paketi koji dolaze u red čekanja više ne mogu stati. Ovaj slučaj nastupa kod velike opterećenosti i zagušenja mreže kada komutator u svojoj memoriji više ne može primiti novi paket jer on naprosto ne stane. Takav se paket gubi (engl. packet drop). Što je izgubljenih paketa manje u odnosu na broj prenesenih, mreža je pouzdanija i time bolja.
6.1.4 Slojeviti mrežni modeli Slojeviti mrežni modeli znatno olakšavaju analizu mreže, proučavanje određenih mehanizama i uređaja na mreži i definiranje protokola. Ideja koja stoji iza slojevitog mrežnog modela jest podijeliti svakom sloju točno određene funkcije te zatim definirati sve što je potrebno kako bi te funkcije bile ostvarene. To uključuje:
148
Prijelom.indd 148
21.9.2010. 11:40:34
6. poglavlje: RAČUNALNE MREŽE
• mrežne uređaje • mrežne sastavnice • protokole • mehanizme povezivanja i komunikacije Application
6.1.4.1 OSI model
Presentation
Presentation
OSI (Open Systems Interconnection) model je mrežne komunikacije koju je sastavio ISO (International Organization for Standardization) 1977. ISO organizacija stvorena je kao odgovor na potrebu standardizacije tehnologija i upravo joj je to posao. OSI model dijeli mrežnu komunikaciju na 7 slojeva (engl. layer). Svaki od tih slojeva nosi određenu ulogu u prijenosu podataka mrežom. Podaci putuju slojevima OSI modela točno određenim redoslijedom. Tako aplikacijski sloj može komunicirati isključivo s aplikacijskim slojem na drugom računalu, dok je na istom računalu prezentacijski sloj jedini sloj kojemu može proslijediti podatke. Jednako tako, prezentacijski sloj može komunicirati isključivo s prezentacijskim slojem na drugom računalu, a na istom računalu može komunicirati s aplikacijskim i sesijskim slojevima. Pri slanju dokumenta preko mreže taj će dokument uvijek proći put od aplikacijskog sloja preko prezentacijskog sve do fizičkog, a na računalu koje prima taj dokument put će biti obrnut i ići će od fizičkog preko podatkovnog (engl. data link) sloja do aplikacijskog.
Session Transport Network MAC
Data Link
LLC
Physical
Smjer kretanja paketa koji dolaze na računalo
Application
Smjer kretanja paketa koji odlaze s računala
Dva su standardna slojevita mrežna modela: TCP/IP i OSI.
Session Transport Network MAC
LLC
Data Link Physical
Slika 6.6 OSI model OSI model čini sedam slojeva: 7. aplikacijski sloj (engl. Application Layer) 6. prezentacijski sloj (engl. Presentation Layer) 5. sloj sesije (engl. Session Layer) 4. transportni sloj (engl. Transport Layer) 3. mrežni sloj (engl. Network Layer) 2. sloj veza (engl. Data Link Layer) 1. fizički sloj (engl. Phisycal Layer)
7. Aplikacijski sloj (engl. Application Layer) To je sloj na kojem dolazi do spoja između aplikacije i mrežnog softvera. Na aplikacijskom se sloju nalaze programi koji omogućuju mrežnu komunikaciju. 6. Prezentacijski sloj (engl. Presentation Layer) To je sloj na kojem se nalazi softver koji uspostavlja konvenciju koja će se koristiti pri komunikaciji, poput jezika i sl., a glavna mu je namjena biti prevodilac, odnosno prevesti tekst koji želite poslati u jezik razumljiv mrežnom dijelu softvera koji će taj tekst prenijeti na drugo računalo. Uz to, prezentacijski se sloj brine i o enkripciji i dekripciji podataka. 5. Sloj sesije (engl. Session Layer) Sloj sesije zadužen je za uspostavu i održavanje sesije između procesa koji komuniciraju.
149
Prijelom.indd 149
21.9.2010. 11:40:35
Sustavna programska potpora
4. Transportni sloj (engl. Transport Layer) Na transportnom se sloju dolazi odlučuje hoće li se koristiti pouzdani (TCP) ili nepouzdani protokol (UDP) te se na temelju toga od podataka kreiraju segmenti na koje se dodaju određene informacije, poput odredišnog i ishodišnog porta. Ovisno o tome je li odabran TCP ili UDP, ovaj će sloj brinuti i o tome da poslani podaci budu isporučeni, tj. tražit će potvrdu svakog paketa koji je poslao. 3. Mrežni sloj (engl. Network Layer) Mrežni sloj brine o tome da podaci budu usmjereni pravim putem do odredišta, odnosno da ne zalutaju. Paket na mrežnom sloju dobije ishodišnu i odredišnu IP adresu. Ovaj sloj nudi mogućnost usmjeravanja podataka preko mreže. 2. Sloj veza (engl. Data Link Layer) Sloj veza je sloj koji pakete stavlja u okvire (engl. frame) i šalje ih na medij za prijenos podataka. U okvir se stavljaju ishodišna i odredišna fizička adresa uređaja. 1. Fizički sloj (engl. Phisycal Layer) Na ovom su sloju definirane fizičke osobine mreže. DHCP
SMTP
SNMP
HTT
UDP
FTP
Na svakom od slojeva rade određeni protokoli, a ovisno o tome na kojem se sloju nalaze, obavljaju i funkcije koje su predviđene za taj sloj.
TCP ICMP IP
PPP Modem
SLIP USART
Slika 6.7 Skupina protokola (engl. Protocol stack)
ARP Ethernet
Svi ti protokoli po slojevima čine skupinu protokola (engl. Protocol stack). Protokoli unutar skupina brinu se o pakiranju, slanju i primanju podataka preko mreže. • Aplikacijski protokoli – nude razmjenu podataka među aplikacijama. Primjeri aplikacijskih protokola: ▪▪ FTP ▪▪ SMTP ▪▪ HTTP ▪▪ POP • Transportni protokoli – omogućuju uspostavu komunikacijskog kanala između računala i osiguravaju pouzdano kretanje podataka preko njega. Primjeri transportnih protokola: • TCP • UDP • SPX
150
Prijelom.indd 150
21.9.2010. 11:40:35
6. poglavlje: RAČUNALNE MREŽE
• Mrežni protokoli – definiraju pravila logičkog adresiranja i pronalaženja puta računalnim mrežama. Primjer mrežnih protokola: • IP • IPX • Apple talk 6.1.4.2 TCP/IP model TCP/IP model nastao je prije OSI modela, što je na neki način i logično s obzirom na to da je TCP/IP model zapravo model na kojem radi Internet i proveo je u praksi ono što OSI objašnjava u teoriji. OSI mrežni model zapravo detaljnije objašnjava funkcije pojedinog sloja TCP/IP modela i proširuje ga dodatnim slojevima. Većinom se ova dva modela preklapaju kako je prikazano na slici 1.11.2-1, no razlike ipak postoje. Primjerice, dio funkcija transportnog sloja u TCP/IP modelu, unutar OSI modela dodijeljen je sloju sesije. Ovaj će priručnik koristiti treći model sa slike 1.6.2-1 zato što treći model koristi osobine i TCP/IP modela i OSI modela. Aplikacijski i transportni sloj će se u priručniku obrađivati putem TCP/IP modela, a niži slojevi fizički, sloj veza i mrežni putem OSI modela.
Aplikacijski
Aplikacijski
Aplikacijski
Transportni
Transportni
Transportni
Mrežni
Internet
Mrežni
Sloj veza
Sloj mrežnog pristupa
Sloj veza
Prezentacijski Aplikacijski
Sesijski
Fizički OSI model
TCP/IP model
Fizički Korišteni model
Slika 6.8 Usporedba modela mreže
151
Prijelom.indd 151
21.9.2010. 11:40:36
Sustavna programska potpora
6.2 Fizički sloj 6.2.1 Funkcije fizičkog sloja
Aplikacijski
OSI fizički sloj prvi je sloj u OSI mrežnom modelu prikazanom na slici 6.9.
Prezentacijski Aplikacijski
Sesijski
Osnovni je zadatak fizičkog sloja kodiranje bitova koji sačinjavaju okvir (engl. Frame) podataka na sloju veza (engl. Data Link Layer) u signale te slanje i primanje tih signala putem fizičkog medija koji povezuje mrežne uređaje. Fizički medij može biti bakrena žica, optički kabel ili zrak u slučaju bežične veze.
Transportni Mrežni Sloj veza
OSI fizički sloj, dakle, osigurava prijenos podataka fizičkim medijem. Sam prijenos okvira na mediju zahtijeva od fizičkog sloja sljedeće elemente:
Fizički Slika 6.9 OSI model i položaj fizičkog sloja
• fizički medij i konektore, • reprezentaciju bita na mediju, • kodiranje podataka i upravljačkih informacija, • sklopovlje predajnika i prijemnika na mrežnim uređajima.
Source Node
Destination Node
Application
Application
Encapsulation
Presentation Data
Session
Segment
Transport
Packet
Network
Frame
Data Link
Frame Header
Bits
Physical
1
0
1
Application
Data
Data
Data
Data
Network Header
Data
Network Header
Data
0
0
1
1
1
Frame Trailer
0
0
1
Presentation
PDU
Session
Data
Transport
Segment
Network
Packet
Data Link
Frame
Physical
Bits
Bits
Slika 6.10 OSI model na prijemničkoj i predajničkoj strani
Slika 6.10 prikazuje OSI slojeve na izvoru (engl. Source node) i na odredištu komunikacije (engl. Destination node). Podaci putuju s najvišeg sloja (aplikacijskog) na izvoru i enkapsuliraju se u oblik paketa specifičan za svaki sloj (engl. Protocol Data Unit – PDU). U konačnici dolaze do fizičkog sloja, gdje su podaci, odnosno bitovi od kojih se podaci sastoje predstavljeni signalima. Tri su osnovna tipa fizičkih medija:
152
Prijelom.indd 152
21.9.2010. 11:40:36
6. poglavlje: RAČUNALNE MREŽE
• bakrena žica (engl. Copper cable) • optički kabel (engl. Fiber) • bežična veza (engl. Wireless) Reprezentacija bitova, koji čine osnovni tip podataka u računalu pa tako i na računalnim mrežama, ovisi o tipu medija. Bakrenom žicom putuju električni impulsi, optičkim kablom svjetlost, a bežičnim vezama radiovalovi. Razvojem računalnih mreža rasle su i potrebe za sve bržim i kvalitetnijim fizičkim medijima. Glavne osobine koje utječu na odabir pojedinog medija mogu biti ukupna propusna moć medija, smetnje i podložnost vanjskim utjecajima, maksimalna udaljenost između dva mrežna uređaja, lakoća instalacije, ekonomski faktori i mnogi drugi. Različiti fizički mediji imaju prednosti nad drugima u različitim osobinama. Primjerice, lakoća instalacije i ekonomski faktori definitivno su na strani bežičnih veza, no maksimalne udaljenosti i otpornost na smetnje su na strani optičkih kablova.
6.2.2 Mediji za prijenos signala 6.2.2.1 Kablovi U ovu skupinu spada više vrsta različitih žičanih medija pri čemu će riječi biti o tri danas najčešće upotrebljavana: • koaksijalni kabel • parice (engl. Twisted-pair) kabel • optički kabel Koaksijalni kabel Sastoji se od dva bakrena vodiča koncentrično smještena unutar kabla. Ovakva konstrukcija i zaštita koja se obično nalazi unutar kabla omogućuje dobivanje većih brzina prijenosa (bit/ sekundi) nego što je to kod parica. Razlikujemo dvije vrste: kabel osnovnog pojasa (engl. baseband coaxial cable) i širokopojasni (engl. broadband coaxial cable) kabel. UTP kabel (engl. unshielded twisted pair) Predstavlja kategoriju upredenog kabla koji se sastoji od ukupno četiri odvojene parice (osam bakrenih žica) izoliranih plastičnom masom s ili bez dodatka teflona, najčešće FEP (fluorinated ethylene propylene). Ovakvi se kablovi proizvode, ovisno o gustoći upredanja i vrsti izolacije, u raznim kategorijama kvalitete u skladu s tablicom u nastavku. Brzine i frekvencije dane tablicom informativne su jer ovise o dužini kabla i tehnologiji prijenosa. Tako, primjerice, UTP kabel kategorije 5 može na malim udaljenostima i upotrebom ATM tehnologije dati brzine znatno veće od 100Mb/s kako je ovdje deklarirano.
153
Prijelom.indd 153
21.9.2010. 11:40:36
Sustavna programska potpora
Razlog upletenosti žica je smanjenje crosstalk-efekta i vanjske interferencije. Crosstalk je pojava kad jedna žica stvara smetnje drugoj zbog visokih frekvencija koje prolaze kroz nju. Twisted-pair kabel je najzastupljeniji način kabliranja zbog cijene i jednostavnosti postavljanja konektora te zbog činjenice da se upotrebljava i za telefonske instalacije. Danas se još uvijek dosta koriste UTP kablovi kategorije 5 kojima su izgrađene brojne LAN mreže. Standard koji propisuje značajke ovih kablova je ANSI/TIA/EIA-568. Kablovi se terminiraju RJ 45 konektorom. Kablovi tipa UTP proizvode se i u kategoriji 5e, iako se u toj kategoriji proizvode i STP odnosno ScTP kablovi. Standard koji definira kablove kategorije 5e je ANSI/TIA/ EIA-568-B.2:2001, Cat-5e kablovi moraju zadovoljavati električne značajke propisane NEXT (engl. Near End Cross Talk) i ELFEXT (engl. Equal Level Far-End Crosstalk) standardima u skladu s ISO/ IEC 11801:2002 normom za klasu ‘D.’ Kablovi kategorije 6 moraju zadovoljavati gotovo jednake norme kao i oni kategorije 5e, ali na razini norme ISO/IEC 11801:2002 za klasu ‘E.’ Budući da je riječ o kablovima predviđenim za gigabitne mreže Cat-6, konstruirani su s gušćim upredanjem i često se izrađuju u izvedbi STP i ScTP, iako ih ima i u UTP izvedbi
STP kabel (engl. STP shielded twisted pair)
STP obično koristimo u instalacijama koje prolaze uz druge instalacije da bi se smanjilo djelovanje EMI-a (elektromagnetske interferencije). Ovakvi su kablovi svojim svojstvima većinom slični UTP kablovima, a razlika je samo u razini elektromagnetske zaštite koja osigurava i povećanje brzine prijenosa podataka. STP je zaštićeni
154
Prijelom.indd 154
21.9.2010. 11:40:37
6. poglavlje: RAČUNALNE MREŽE
podatkovni kabel s prepletenim parovima obično kategorije 5, 6 ili 7 s izolacijom iz npr. skin-foam –skin polietilena. Pojedini parovi zaštićeni su Al /PE trakom. Plašt je izrađen iz npr. PVC (Y) ili bezhalogenog PVC (NX) odnosno vatrootpornog PVC (NY). Ovi se kablovi terminiraju konektorom GG-45, a koriste se kako bi se postigla kategorija 7 u skladu s ANSI/TIA/EIA 568B-2.1:2001 i ISO/IEC 11801:2002 klase „F.“ ScTP (screened twisted pair) kabel – zaštićeni podatkovni kabel s prepletenim parovima obično kategorije 5, 6 ili 7 sa, izolacijom iz npr. skin-foam –skin polietilena. Pojedini parovi zaštićeni su Al /PE trakom. Prepleteno kabelsko jedro potpuno je zamotano u ovoj iz poliesterskog traka i A l/ PE traka. Između oba zaštitna sloja položena je bakrena odvodna vrpca. Plašt je izrađen iz npr. PVC (Y) ili bezhalogenog PVC (NX) odnosno vatrootpornog PVC (NY). Optički kablovi Optički su kablovi medij prijenosa relativno novije generacije u odnosu na bakrene parice koje se u telefoniji koriste već stotinjak godina. Ovaj kabel prenosi također elektromagnetske signale u obliku pulseva koji su toliko visoke frekvencije da ulaze u svjetlosni spektar. Sami su mediji relativno lagani, savitljivi do određene mjere i imuni na elektromagnetske smetnje i interferencije. Nadalje, ovi kablovi imaju iznimno male gubitke snage signala (atenuacija) te su time pogodni za prevaljivanje velikih udaljenosti. Brzine koje je moguće prenositi ovim kablovima na razini su desetaka Gbit/s i više za svako vlakno. Upravo su navedene prednosti dovele do njihove primjene u međunarodnim komunikacijskim vezama i backbone infrastrukturi mreža i Interneta. Još uvijek relativno visoka cijena terminalnih uređaja (prijemnici, modulatori, predajnici) usporava njihovu veću primjenu u LAN mrežama ureda i domova. Zemaljske i satelitske radioveze Ova vrsta veza kao medij koristi prostor atmosfere ili svemira za slobodno (usmjereno ili neusmjereno) rasprostiranje elektromagnetskih valova koji svojom frekvencijom spadaju u radijski spektar. Radioveze su kao način prijenosa podataka vrlo zanimljive budući da omogućuju komunikaciju na veće udaljenosti bez potrebe izgradnje žičane infrastrukture te su čak sposobne prolaziti kroz zidove i zaobilaziti prepreke. Ipak, i ovdje postoje određena ograničenja kojih bismo trebali biti svjesni. Naime, gubici u snazi signala, a time i učinkovitosti prijenosa, nastaju zbog same nesavršenosti prijenosnog medija i objekata koji smetaju na putu (engl. shadow fading) i koji dovode do odbijanja valova, zbog smetnji nastalih prolaskom kroz objekte na putu (engl. multipath fading) te zbog interferencija s drugim valovima koji postoje u prostoru (engl. interference).
155
Prijelom.indd 155
21.9.2010. 11:40:37
Sustavna programska potpora
Kada govorimo o zemaljskim radijskim vezama, potrebno je razlikovati one koje su predviđene za male domete (do nekoliko stotina metara) i one koji se koriste za pokrivanje većih područja (npr. područje čitavog grada). Danas su mnogi gradovi, poslovni prostori i fakulteti pokriveni bežičnim LAN mrežama (engl. Wireless LAN) kojima se dostižu brzine tipično do 100 Mbit/s. Ovakva je oprema dostupna i sve se više koristi. Jednako tako, telekom-operateri koristeći svoju infrastrukturu omogućuju pristup Internetu korištenjem različitih mobilnih kartica za računala odnosno mobilnih krajnjih uređaja. Brzine koje su obično dostupne kod takvih komunikacija, ovisno o infrastrukturi baznih stanica i terminalne opreme, mogu iznositi preko nekoliko Mbit/s (HSDPA može osigurati brzine do 14.4 Mbit/s). Navedene su brzine često nešto bolje u velikim gradskim sredinama, nego u ruralnim područjima ili na otocima zbog neravnomjerne kvalitete komunikacijske mrežne opreme koju posjeduje mobilni operater. U ovu kategoriju radijskih veza spadaju i mikrovalne usmjerene veze koje koriste tvrtke i telekom-operateri za ostvarivanje brzih podatkovnih veza na razmjerno velikim (kilometri) udaljenostima. Komunikacijski sateliti osiguravaju prijenos podataka na velike udaljenosti gigabitnim brzinama. Mehanizam prijenosa funkcionira tako da zemaljska stanica usmjerenom mikrovalnom radiovezom šalje podatke prema satelitu koji ih prima, pojačava i na drugoj frekvenciji prenosi drugoj zemaljskoj stanici ili (drugim) korisnicima na zemlji. Sateliti mogu biti geostacionarni (nalaze se oko 36.000 km iznad određene točke na zemlji) ili sateliti s niskom orbitom (orbita im je znatno niža, ali nisu stacionarni, nego kruže oko Zemlje po određenoj putanji). Danas se u komunikacijske svrhe koriste i jedni i drugi sateliti, pri čemu geostacionarni komunikacijski sateliti čine backbone veze Interneta.
6.2.3 Kabliranje LAN mreža Pri planiranju kabliranja LAN mreže u razmatranje treba uzeti četiri različita područja: • radno područje (engl. Work area) • telekomunikacijska soba (engl. Telecommunications room) • horizontalno kabliranje (engl. Horizontal cabling) • vetikalno kabliranje (engl. Vertical cabling, Backbone cabling)
156
Prijelom.indd 156
21.9.2010. 11:40:37
6. poglavlje: RAČUNALNE MREŽE
Područja su prikazana na sljedećoj slici. Prema drugim telekomunikacijskim sobama WAN sučelju ili ISP-u
Preklopnik
Vertikalno kabliranje
Patch kabel
Horizontalno kabliranje
Patch kabel
Telekomunikacijska soba
Radno područje
Slika 6.11 Područja pri kabliranju LAN mreže
ZA povezivanje krajnjih uređaja na mrežu u radnom području, odnosno povezivanje krajnjeg uređaja i utičnice u zidu koriste se tzv. patch kablovi . EIA/TIA standard definira maksimalnu duljinu patch UTP kabla od krajnjeg uređaja do utičnice u zidu. Ta duljina iznosi 10 metara. Straight- through kabel najčešće se koristi kao patch kabel. Pomoću njega se krajnji uređaji spajaju na mrežu. Ako se u radnom području nalaze mrežni uređaji kao što su koncentrator (engl. hub) ili preklopnik (engl. switch), tada se za spajanje tih uređaja u mrežu, odnosno utičnicu u zidu koristi tzv. crossover kabel. U telekomunikacijskoj se sobi nalaze mrežni uređaji (engl. intermediary devices) kao što su koncentratori, preklopnici, usmjernici (engl. router) i DSU uređaji (engl. data service device). Ovi su uređaji međusobno povezani pomoću patch panela i veza su između horizontalnog i vertikalnog kabliranja. U telekomunikacijskoj su sobi obično i poslužitelji koji se koriste u mreži. Horizontalno kabliranje naziv je za kablove koji povezuju radno područje i telekomunikacijsku sobu. Horizontalni kablovi počinju na patch panelu u telekomunikacijskoj sobi i završavaju u zidnoj utičnici radnog područja. Ta udaljenost ne bi smjela biti veća od 90 metara. Vertikalno kabliranje čine kablovi koji spajaju telekomunikacijske sobe. Ti kablovi mogu povezivati LAN mrežu s WAN sučeljem ili ISP-om. Koriste se za spajanje prometa s raznih lokacija i zato ta vrsta veze zahtijeva medije za prijenos podataka s velikim brzinama prijenosa. Stoga se za vertikalno kabliranje često koriste optički kablovi.
157
Prijelom.indd 157
21.9.2010. 11:40:37
Sustavna programska potpora
Parica 2 Parica 3
Parica 1
Parica 3 Parica 4
Parica 2
Parica 1
Parica 4
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
T568A
T568B
Konektor na kraju kabla je RJ-45. Raspored parica u konektoru određen je standardima T568A i T568B prikazanima na slici 6.12. U Ethernet LAN mrežama postoje dvije vrste sučelja: MDI (engl. Media Dependent Interface) i MDIX (engl. Media Dependent Interface, Crossover). Uređaji kao što su računala, poslužitelji i usmjernici imaju MDI sučelja. Na tim sučeljima se koriste standardni Ethernet raspored pinova. Pinovi 1 i 2 koriste se za slanje, a pinovi 3 i 6 za primanje podataka.
Slika 6.12 T568A i T568B standard za UTP kablove
Uređaji poput koncentratora i preklopnika koriste MDIX sučelja. Ako se koriste MDIX sučelja, parice se prespajaju interno. To omogućuje da se krajnji uređaji spajaju na koncentrator ili usmjernik pomoću straight-through kabla. U pravilu, kada se spajaju različiti tipovi uređaja, koristi se straight-through kabel, a kada se spajaju isti tipovi uređaja, koristi se crossover kabel. Parica 2 Parica 3
Parica 1
Parica 2 Parica 4
Parica 3
Parica 1
Parica 4
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
T568A
T568A
Parica 3
Parica 3
Straight-through UTP kabel Kod ove su vrste kabla oba kraja spojena istim standardom (T568A ili T568B). Koristi se za sljedeća spajanja:
Parica 2
Parica 1
Parica 4
Parica 2
Parica 1
Parica 4
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
T568B
T568B
Slika 6.13 Straight through kabel
Parica 1
Koristi se za sljedeća spajanja:
Parica 3 Parica 4
Parica 2
Parica 1
Parica 4
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
T568A
T568B
Slika 6.14 Crossover kabel
Slika 6.13 prikazuje način kreiranja Straight-through kabla pomoću T568a ili T568B standarda. Crossover UTP kabel Kod Crossover UTP kabla jedna strana kabla mora biti standard T568A, a druga T568B jer pinovi za slanje podataka moraju biti spojeni na pinove za primanje podataka.
Parica 2 Parica 3
• preklopnik i Ethernet sučelje usmjernika, • računalo i preklopnik, • računalo i koncentrator.
• preklopnik i preklopnik, • preklopnik i koncentrator, • koncentrator i koncentrator, • računalo i računalo, • računalo i Ethernet sučelje usmjernika. Slika 6.14 prikazuje način kreiranja Crossover kabla pomoću T568a i T568B standarda.
158
Prijelom.indd 158
21.9.2010. 11:40:37
6. poglavlje: RAČUNALNE MREŽE
6.3 OSI sloj veza
Aplikacijski
6.3.1 Uvod
Prezentacijski
OSI sloj veza je drugi sloj u OSI mrežnom modelu prikazanom na slici 3.15 Sloj veza definira tehnologije pristupa mrežama i mrežnim medijima. Žičane, bežične i optičke veze koriste različite načine prijenosa podataka te različito definiraju format okvira za prijenos. Podaci na jednoj strani (lijevo) počinju na žičanoj ethernet vezi, ali se nakon usmjernika prenose optičkim vezama, gdje dolaze do odašiljača i putem satelita prenose do prijemnika, ponovno optičkim vezama te u konačnici bežičnim putem do klijenta na desnoj strani slike. Na cijelom je tom putu korišten internetski protokol. Paket se na trećem sloju nije mijenjao (osim možebitne fragmentacije) zbog promjene medija i mrežne tehnologije prijenosa. No format okvira u kojemu paket putuje se mijenjao. Svaki je uređaj na putu paketa koji je morao s jedne tehnologije paket prebaciti na drugu izmijenio i format okvira.
Aplikacijski
Sesijski Transportni Mrežni Sloj veza Fizički Slika 6.15 OSI model i položaj sloja veze
OSI slojevi od trećeg do sedmog definirani su softverski. To znači da hardverska specifikacija ne spada pod standarde ovih slojeva. Sloj veza specifičan je po tome što je on definiran i na softverskoj, ali i na hardverskoj razini.
6.3.2 Format okvira Na OSI sloju veza dolazi do enkapsulacije paketa s trećeg sloja u okvir te naravno, u obrnutom slučaju, deenkapsulacije okvira u paket trećeg sloja. Ovaj je proces enkapsulacije poznat od prije, a zajedno s njim veže se i pojam zaglavlja, što je zapravo naziv za skup podataka koji se dodaje na paket, čime ga se enkapsulira. Ovo je zaglavlje na višim slojevima ovisilo o odabranom protokolu. Oblik, definiciju, veličinu, tipove i značenja polja u zaglavlju definirao je protokol. Na sloju veza oblik okvira definira odabrana mrežna tehnologija. Kako je tehnologija iznimno mnogo i svaka definira svoj oblik okvira, gotovo je nemoguće definirati točan oblik okvira na drugom sloju. No ipak je moguće prikazati opći oblik okvira kao na sljedećoj slici. Packet (Data)
HEADER
Frame Start
1
Addressing
0
1
0
Type
0
1
Quality Control
1
1
TRAILER
DATA
0
0
1
Error Detection
1
0
0
1
1
1
Frame Stop
0
0
1
0
0
1
Slika 6.16 Format okvira drugog sloja
159
Prijelom.indd 159
21.9.2010. 11:40:38
Sustavna programska potpora
Za razliku od enkapsulacija viših slojeva, okvir (engl. Frame) definira i zaglavlje (engl. Header), ali i završetak (engl. Trailer). Unutar općenitog zaglavlja prikazanog na slici 3.16 nalaze se polja: • Početak okvira (engl. Frame Start) – jedinstven niz bitova koji se ne može pojaviti nigdje drugdje u okviru osim na početku. Koristi se kako bi mrežni uređaj mogao odrediti na kojem mjestu u nizu bitova koji dolaze na mrežni priključak počinje okvir; • Polje adresa (engl. Addressing) – adresiranje drugog sloja, mijenja se ovisno o tehnologiji. Primjerice, ethernet mreže definiraju 48-bitno polje MAC adrese polazišta i odredišta; • Tip (engl. Type) – tip podatkovnog (engl. Data) dijela okvira; • Upravljačko polje (engl. Control Field) – podaci za upravljanje vezom, također se kao i polje adresa razlikuje od tehnologije do tehnologije. Završetak okvira znatno je jednostavniji i obično obuhvaća: • Polje provjere (engl. Error Detection) – polje čija se vrijednost koristi u provjeri ispravnosti okvira. Ovo polje nastaje izračunom ostalih vrijednosti iz okvira. Ako dođe do grešaka u komunikaciji, vrijednost ovog polja neće odgovarati izračunatoj; • Kraj okvira (engl. Frame Stop) – polje koje ima jednaku svrhu kao i polje početka okvira u zaglavlju, uz razliku što definira kraj okvira. U slučaju uzastopnih okvira, ponekad polje kraja okvira ujedno označava i početak sljedećeg.
6.3.3 Upravljanje pristupom mediju Sloj veza (engl. Data Link Layer) upravlja pristupom mediju. U računalnim mrežama postoje dva osnovna načina povezivanja uređaja: • točka prema točki (engl. Point to Point) i • dijeljeni medij (engl. Shared Medium). Ova dva načina imaju svoje zasebne zahtjeve. Kod povezivanja točka prema točki, dva se uređaja povezuju izravno i odvojeno od drugih. Drugim riječima, samo se dva uređaja nalaze na mediju. Tijekom komunikacije ne postoji mogućnost da će neki drugi uređaj upasti u vezu. Okviri koji putuju od jednog prema drugom uređaju sami su na mediju. Slučaj u kojem bi se dva okvira ili signala susrela na istom mediju naziva se kolizija. I jedan i drugi okvir bili bi izgubljeni jer bi im se signali kojima se prenose izmiješali. Kolizija je dugo predstavljala problem u računalnim mrežama jer je uzrokovala gubitke podataka, samim time i potrebu za ponovljenim slanjem te usporenjem mreže. Povezivanjem uređaja u točku prema točki kolizija se može teoretski dogoditi samo ako bi oba uređaja poslala okvire istodobno. Ta je situaciju lako izbjeći: odvajanjem medija/kanala za slanje i primanje pa uređaj šalje po kanalu na kojem drugi uređaj prima podatke. Na drugom se kanalu događa isto, samo u drugom smjeru.
160
Prijelom.indd 160
21.9.2010. 11:40:38
6. poglavlje: RAČUNALNE MREŽE
Mreža
Slika 6.17 Logička veza točka prema točki (engl. Point to Point)
Povezivanje uređaja na dijeljeni medij znatno otežava problem kolizije. Na dijeljenom se mediju može pojaviti veći broj mrežnih uređaja koji će komunicirati u istodobno. Čak i da su kanali za slanje i primanje odvojeni, na dijeljenom mediju nije moguće, bez posebnih uređaja, odvojiti svaki mrežni uređaj zasebno. Pri takvom su povezivanju kolizije česte i izravno su proporcionalne broju uređaja koji pristupaju mediju.
Slika 6.18 Logička veza s dijeljenim medijem za prijenos podataka (engl. Shared Medium)
Potrebno na drugom sloju definirati metode pristupa mediju koje obuhvaćaju i rješavanje ili izbjegavanje kolizija. Pristup rješavanju problema kolizija može biti: • kontrolirani pristup (engl. Controlled Access) i • s natjecanjem za pravo pristupa (engl. Contention-based Access). Kontrolirani pristup u potpunosti izbjegava kolizije. Naime, ove metode definiraju prioritete pristupa i dopuštaju samo jednom uređaju pristup na medij u određenom trenutku. Primjer kontroliranog pristupa je metoda predaje tokena. Ova metoda definira poseban paket token koji kruži po uređajima spojenim na dijeljeni medij. Uređaj koji u danom trenutku posjeduje token može slati podatke na medij. Nakon što je uređaj proslijedio podatak, predaje token sljedećem uređaju. Jednako tako, ako neki od uređaja nema podataka za slanje, token se predaje dalje. Kako na mediju može postojati samo jedan token, koji se nalazi na samo jednom uređaju, kolizija nije moguća jer niti jedan uređaj osim onog koji posjedu-
161
Prijelom.indd 161
21.9.2010. 11:40:38
Sustavna programska potpora
je token ne može slati podatke. Mreže koje koriste ovakav način pristupa na medij su Token Ring i Fiber Distributed Data Interface (FDDI). Natjecanje s pravom pristupa su metode u kojima, načelno, uređaji osluškuju medij i, ako tako otkriju da je medij slobodan, šalju podatke. Ova metoda smanjuje kolizije, ali ih ne uklanja u potpunosti. Naziv joj dolazi od jednostavnog mehanizma koji definira da niti jedan uređaj na mediju nema pravo prioriteta, već u trenutku slanja uređaj sam odlučuje je li medij slobodan te može li slati podatke. Situacija u kojoj se kolizija ipak događa je kada dva uređaja istodobno osluškuju medij, zaključe da je medij slobodan te zatim pošalju podatke. Mehanizmi koji spadaju u metode natjecanja s pravom pristupa su: • Carrier Sense Multiple Access/Collision Detection – CSMA/CD • Carrier Sense Multiple Access/Collision Avoidance – CSMA/CA
Kolizijska domena 1
2
Jam
3
Jam
n
Jam
Jam
Kolizija
Slika 6.19 Kolizija kod CSMA/CD metode pristupa unutar kolizijske domene
Carrier Sense Multiple Access/Collision Detection – CSMA/CD je metoda pristupa mediju koja radi na sljedeći način. Prije slanja okvira na medij, uređaji osluškuju je li dijeljeni medij ili medij sa zajedničkim pristupom (engl. Multiple Access) slobodan (engl. Carrier Sense). Ako je slobodan, šalju podatke. Pri koliziji, što uređaji vrlo lako otkrivaju povišenim signalom na mediju, uređaj koji je otkrio koliziju generira Jam signal. Svi se ostali kada čuju Jam signal povlače s medija, odnosno neće slati nikakve podatke tijekom slučajno odabranog vremena. Ovo vrijeme svako računalo odabire za sebe, a kako je riječ o slučajnoj metodi, računala će se različitim redoslijedom vraćati na medij. Niti jedan uređaj nema pravo prioriteta povratka, već to ovisi isključivo o vremenu generiranom nakon otkrivanja Jam signala. Carrier Sense Multiple Access/Collision Avoidance – CSMA/CA mehanizam je vrlo sličan mehanizmu CSMA/CD, uz razliku da uređaj
162
Prijelom.indd 162
21.9.2010. 11:40:39
6. poglavlje: RAČUNALNE MREŽE
prije slanja podataka na mrežu obavijesti sve ostale uređaje da će upravo on slati podatke. CSMA/CD je osnovni mehanizam na Ethernetu, a CSMA/CA se koristi u bežićnim WLAN mrežama.
6.3.4 Mrežna topologija Povezujući različite uređaje (posrednike i krajnje uređaje) gdje svaki ima minimalno jednu vezu s ostatkom mreže, konačan će geometrijski izgled mreže (topologija) varirati. Topologija je karta mreže, točnije način povezivanja uređaja i kablova u računalnu mrežu. Topologija mreže će izravno ili neizravno utjecati na cijenu, funkcionalnost, lakoću održavanja, skalabilnost, podložnost na pogreške i tehnologiju koja će se koristiti. Upravo je zbog navedenih razloga vrlo bitno pri dizajniranju računalne mreže odvagnuti sve prednosti i mane odabrane topologije (izgleda) mreže. Kada govorimo o topologiji, bitno je razlikovati fizičku topologiju od logičke topologije. Fizička topologija prikazuje kako su uređaji fizički spojeni medijem (fizički izgled). Logička topologija prikazuje na koji način uređaji komuniciraju, točnije prikazuje protok podataka mrežom. Šest je osnovnih topologija:
Sabirnička (eng. Bus)
Hijerarhijska (eng. hierarchical)
Zvijezda (eng. Star)
Mesh
Prsten (eng. Ring)
Hibridna (eng. Hybrid)
163
Prijelom.indd 163
21.9.2010. 11:40:44
Sustavna programska potpora
6.3.4.1 Ethernet Što je Ethernet Ethernet lokalna mreža prvi je put objavio konzorcij DEC, Intel i Digital (DIX) 1980. Godine 1985. ga uz manje modifikacije zbog kompatibilnosti s OSI modelom prihvaća IEEE (Institute of Electrical and Electronics Engineers) pod brojem 802.3 kao opći standard za lokalne mreže. Ethernet radi na prva dva sloja OSI modela. Točnije, na fizičkom sloju i donjoj polovini sloja veze koji je poznat kao MAC podsloj sloja veze (engl. media access control). Gornji dio sloja veze je LLC podsloj (engl. logical link control) i on je definiran 802.2 standardom. Fizički sloj uključuje mrežne uređaje, fizičku topologiju mreže, signale i nizove bitova koji putuju medijem za prijenos podataka. MAC podsloj podatkovnog sloja implementiran je na mrežnom adapteru (engl. network interface card). Dva su osnovna zadatka MAC podsloja na sloju veze OSI modela: • enkapsulacija podataka i • kontrola pristupa mediju za prijenos podataka. Enkapsulacija podataka ima tri osnovne funkcije: • stvaranje (kreiranje) okvira, • adresiranje i • otkrivanje (detekciju) grešaka. Kontrola pristupa mediju za prijenos podataka ima sljedeće funkcije: • upravljanje slanjem i primanjem okvira pomoću medija za prijenos podataka, • rješavanje situacija ako dođe do grešaka pri prijenosu podataka. Ethernet svoj uspjeh i dugi život može zahvaliti sljedećim čimbenicima: • jednostavnosti i lakoći korištenja, • mogućnosti povezivanja novih tehnologija, • pouzdanosti i • niskoj cijeni instalacije i održavanja. Izvorni se Ethernet razvio na mrežama koje su koristile koaksijalne kablove. Računala su se u Ethernetu povezivala u niz na koaksijalni kabel u dvije izvedbe, ovisno o vrsti kabla. Prva je izvedba bila korištenjem debelog (engl. Thick) koaksijalnog kabla. Računala su se povezivala tzv. „vampirskim ugrizima“ (engl. Vampire Trap) na kabel. Zapravo se kabel doslovce bušio do jezgre kako bi se ostvario spoj. Debeli koaksijalni kabel bio je krut i otežan za instalaciju pa ga je zamijenio tanji (engl. Thin) koaksijalni kabel. Korištenjem ovog kabla više nije bilo potrebno bušiti kabel, već se s postojećim T-konektorima ostvarivao spoj. Koaksijalni je kabel potrebno terminirati na krajevima s otpornikom.
164
Prijelom.indd 164
21.9.2010. 11:40:44
6. poglavlje: RAČUNALNE MREŽE
Zbog navedenih je razloga u izvornom Ethernetu fizička topologija, koja definira način na koji su uređaji spojeni, bila sabirnica (engl. Bus). Logička je topologija, koja definira smjer protoka podataka, također bila sabirnica. Razvoj Etherneta išao je u smjeru korištenja kvalitetnijih kabela i povećanja brzine pa je tako postupno koaksijalni kabel zamijenjen kablom s ispletenim paricama (engl. Twisted Pair – TP), i to posebno varijantom bez dodatne zaštite (engl. Unshielded Twisted Pair – UTP). Korištenje ovih kablova nije dopuštalo fizičku topologiju sabirnice pa je dodan novi uređaj u Ethernet mreže, koncentrator (engl. Hub). Koncentrator je prebacio fizičku topologiju Etherneta na zvijezdu (engl. Star), no logička je topologija još uvijek bila sabirnica. Logička topologija kao linija uzrokovala je probleme s kolizijama i nije se moglo zadovoljiti potrebe za brzinama modernih mreža. Preklopnik (engl. Switch) je uređaj koji je donio odgovor na probleme koncentratora. Ethernet preklopnik može učiti fizičke adrese (MAC adrese) računala povezanih na priključke preklopnika i na osnovi toga isporučivati podatke samo na one priključke kojima su namijenjeni. U Ethernetu se, konačno, pojavljuju i optički mediji, s ciljem povećanja brzina. Najveća prednost Ethernet tehnologije je njezina kompatibilnost sa sporijim varijantama. Ethernet brzine 10 Mb/s, što je brzina prvog komercijalnog etherneta, lako se nadograđivala na 100Mb/s ili čak i 1 Gb/s. Štoviše, čak nije potrebno nadograditi i cijelu mrežu, već samo neke njezine dijelove te će ti nadograđeni dijelovi koristiti veće brzine. Ethernet je od izvorne inačice doživio brojne nadogradnje. Ove su nadogradnje ponajprije išle prema povećanju brzine i korištenju novih, bržih medija. Najveća prednost novijih Ethernet tehnologija su izmjene isključivo na fizičkom sloju. Brže Ethernet tehnologije imaju brža vremena slanja i primanja jednog bita podataka. Ovo je omogućilo zadržavanje izvornog Ethernet okvira i samim time kompatibilnost prema starijim inačicama Etherneta. CSMA/CD U Ethernet mreži svi uređaji koji se nalaze na istom mrežnom segmentu natječu se za prijenos podataka. Svaki uređaj osluškuje signale na mediju za prijenos podataka i, ako je medij slobodan, šalje podatke. Ostali uređaji otkrivaju da je medij zauzet i čekaju da se oslobodi. Zbog dužine medija za prijenos podataka i realnog vremena potrebnog da signal s jednog kraja medija dođe do drugog kraja može doći do situacije u kojoj dva ili više uređaja misle da je medij za prijenos podataka slobodan. U tom slučaju istodobno šalju podatke i dolazi do kolizije signala. Ako dođe do kolizije, mrežni adapteri koji su pokušali slati podatke otkrivaju koliziju i povlače se s medija za prijenos podataka. Nakon toga u različitim vremenima
165
Prijelom.indd 165
21.9.2010. 11:40:44
Sustavna programska potpora
unutar predefiniranog vremenskog intervala pokušavaju ponovo. Mehanizam koji upravlja slanjem podataka na medij za prijenos podataka i rješavanjem kolizije (ako se dogodi) je CSMA/CD (engl. carrier sense multiple access/collision detect). • Carrier sense – označava da uređaj sluša je li medij slobodan za slanje podataka. Ako je slobodan, šalje podatke. Nakon slanja se ponovno vraća u stanje slušanja. • Multiple access – označava da su svi uređaji spojeni na isti medij za prijenos podataka. • Collision detect – svi Ethernet mrežni adapteri slušaju signale na mediju za prijenos podataka, da bi znali je li medij slobodan, zauzet ili je došlo do kolizije. Prvi uređaj koji otkriva koliziju šalje tzv. jam signal kojim obavještava ostale uređaje da je došlo do kolizije. Uređaji pokreću tzv. backoff algoritam. Taj algoritam povlači uređaje koji su sudjelovali u koliziji s medija za prijenos podataka. Unutar predefiniranog intervala vremena generira se slučajno vrijeme nakon kojega mrežni adapter ponovno pokušava poslati podatke. Slučajni se interval vremena generira na svakom mrežnom adapteru da ponovno ne bi došlo do kolizije.
A
B
C
D
A
B
C
D
A
B
C
D
Carrier Sense
Multiple Access
Collision Collision A Collision Detection
JAM
B
JAM
JAM
C
JAM
D
JAM
JAM
Slika 6.20 Carrier Sense Multiple Access/Collision Detection CSMA/CD Kolizijska i broadcast domena
166
Prijelom.indd 166
21.9.2010. 11:40:47
6. poglavlje: RAČUNALNE MREŽE
Kolizijska i broadcast domena Vjerojatnost da dođe do kolizije povećava se s brojem uređaja na jednom Ethernet segmentu. Ethernet segment unutar kojega može doći do kolizije jest kolizijska domena. Na sljedećim su slikama Ethernet lokalne mreže izvedene pomoću koaksijalnog kabela, koncentratora i UTP kablova (engl. hub). Kolizijska domena
Slika 6.21 Ethernet mreža izvedena pomoću koaksijalnog kabla
Kolizijska domena
Hub
Slika 6.22 Ethernet mreža izvedena pomoću koncentratora i UTP kabla
Na prethodnim su slikama dvije različite fizičke topologije, ali logička je topologija i dalje broadcast. Koncentrator je uređaj koji dobiveni okvir prosljeđuje na sva ostala sučelja. Dakle, vjerojatnost kolizije potpuno je ista kao i s koaksijalnim kablom. Danas kolizija u Ethernet mrežama nije više problem jer se umjesto koncentratora koriste preklopnici koji rade u tzv. full-duplex modu (načinu rada) i u sebi imaju ugrađenu inteligenciju donošenja odluka kroz koje će sučelje (engl. port) poslati okvir. Preklopnici segmentiraju mrežu na više kolizijskih domena. Zapravo, svako je sučelje preklopnika jedna kolizijska domena. Preklopnik dijeli Ethernet kolizijsku domenu na mikrosegmente. Ako sučelja preklopnika rade u full-duplex modu, ne može doći do kolizije.
167
Prijelom.indd 167
21.9.2010. 11:40:48
Sustavna programska potpora
Kolizijska domena 1
Kolizijska domena 3
Kolizijska domena 2
Kolizijska domena 4
Slika 6.23 Ethernet mreža pomoću preklopnika
Kolizijske su domene područja unutar kojih može doći do kolizije signala. Postoje i broadcast domene u Ethernet mreži. To je područje unutar kojega se razmjenjuju broadcast poruke. Preklopnik kao uređaj smanjuje kolizijske domene, ali dopušta broadcast promet. Preklopnik nije granica za broadcast promet. LAN mreža s preklopnicima jedna je broadcast domena (pod uvjetom da se ne kreiraju VLAN mreže, ali o tome u nastavku).
Broadcast domena
Slika 6.24 Mreža s preklopnicima jedna je broadcast domena
168
Prijelom.indd 168
21.9.2010. 11:40:48
6. poglavlje: RAČUNALNE MREŽE
Načini komunikacije u Ethernet mreži U mrežama s preklopnicima moguće su tri vrste komunikacije: • Unicast • Multicast • Broadcast Unicast komunikacija je komunikacija pri kojoj samo jedan uređaj šalje podatke i samo jedan uređaj prima podatke. Primjeri takve komunikacije su HTTP, SMTP, telnet i drugi protokoli. U multicast komunikaciji jedan uređaj šalje podatke, a grupa uređaja prima podatke. Primjer multicast komunikacije je slanje slike i zvuka na više odredišta u mreži. Broadcast komunikacija je kada jedan uređaj šalje podatke svim uređajima na mrežnom segmentu. Primjer broadcast komunikacije su ARP i DHCP protokoli. Ethernet okvir Polja preambula i početak okvira koriste se za sinkronizaciju dolaznog i odlaznog uređaja. Ovi okteti govore primatelju da se pripremi za prihvat okvira. Odredišna i ishodišna MAC adresa fizičke su adrese primatelja i pošiljatelja. Polje duljina/tip definira duljinu polja podaci u oktetima. Duljina podataka može biti od 46 do 1500 okteta. Parametar tip označava koji je protokol više razine enkapsuliran u okvir. Ako je vrijednost u tom polju veća ili jednaka od 1536, tada je u tom polju kod enapsuliranog protokola. Ako je broj manji od 1536, broj u tom polju označava duljinu podataka. Zadnje je polje u okviru polje za provjeru ispravnosti prijenosa podataka (engl. frame check sequence). 7
1
6
6
2
Preambula
Početak okvira
Odredišna adresa
Ishodišna adresa
dužina/tip
46 do 1500
4 FCS
Podaci
Slika 6.25 Ethernet okvir
Mac adresa je duljine 48 bita i označava se u hex formatu. Fizičko adresiranje nije hijerarhijsko kao IP adresiranje. Te adrese možemo smatrati slučajnim brojevima. Ovu vrstu adresiranja nazivamo ravnim adresiranjem (engl. flat). MAC adresa ima dva dijela. Prvi je dio OUI (engl. organizational unique identifier). Dug je 24 bita i označava proizvođača mrežnog adaptera. Drugi je dio također dug 24 bita i upisuje ga prozvođač mrežnog adaptera. 24
24
OUI
Oznaka proizvođača
Slika 6.26 Osnovna podjela MAC adrese
169
Prijelom.indd 169
21.9.2010. 11:40:48
Sustavna programska potpora
Osnovna načela rada preklopnika Više uređaja priključenih na preklopnik mogu komunicirati istodobno. Tipične brzine prijenosa su 100/1000 Mbps. Preklopnik radi u full-duplex modu (full-duplex mod omogućuje slanje i primanje podataka istodobno). Zbog rada u full-duplex modu ne može doći do kolizije. U RAM-u je tablica (MAC address table) u koju preklopnik upisuje MAC adresu računala i broj sučelja na koje je računalo priključeno. Ako preklopnik primi okvir na nekom od portova, napravit će sljedeće: • pročitat će ishodišnu adresu u okviru; • ako se adresa ne nalazi u MAC tablici, upisat će u MAC tablicu ishodišnu MAC adresu i broj sučelja na koji je okvir ušao (engl. frame). Na taj način dinamički popunjava tablicu i uči koje su adrese na kojem sučelju; • pročitat će odredišnu adresu u okviru; • potražit će tu adresu u MAC tablici i pogledati koje je sučelje pridruženo toj adresi. Proslijedit će okvir samo na to sučelje; • ako u MAC tablici ne postoji adresa koja je jednaka odredišnoj adresi u okviru, preklopnik će proslijediti okvir na sva sučelja; • ako se u odredišnoj adresi (engl. destination address) nalaze sve jedinice (broadcast adresa), tada se okvir također prosljeđuje na sva sučelja osim sučelja na koji je okvir ušao. Preklopnik može okvire prosljeđivati na sljedeće načine: • Store and forward – ovo je način prosljeđivanja u kojemu se prvo u spremnike učita cijeli okvir, provjerava se ispravnost okvira i zatim prosljeđuje prema odredištu. Prednost ovog načina što ne propušta neisparavne okvire koji smanjuju propusnost mreže. Nedostatak je sporo prosljeđivanje; • Cut-through – pri ovom se načinu prosljeđivanja okvir počne prosljeđivati prije nego što je cijeli učitan. Dovoljno je učitati odredišnu adresu da bi se počela donositi odluka kroz koje sučelje proslijediti okvir. Kod ovog načina preklopnik ne radi nikakvu provjeru ispravnosti prijenosa. Propušta neispravne okvire koji dalje putuju mrežom i uništava ih tek mrežni adapter na odredištu. Prednost mu je brzina, a nedostatak propuštanje neispravnih okvira. Dvije su varijante ovog načina prosljeđivanja okvira: ▪▪ Fast forward – tipična cut-through metoda. Okvir se prosljeđuje odmah nakon učitane odredišne adrese. To je najbrža metoda, ali loša joj je strana što prosljeđuje i neispravne okvire; ▪▪ Fragment free – ova je metoda kompromis između store and forward i cut-through metode. Preklopnik učita prva 64 okteta okvira prije nego što počne prosljeđivati. Razlog zašto prosljeđivanje počne nakon 64 okteta jest činjenica da je većina grešaka u okviru u prva 64 okteta.
170
Prijelom.indd 170
21.9.2010. 11:40:48
6. poglavlje: RAČUNALNE MREŽE
6.3.4.2 Token Ring Token ring mrežu razvio je IBM 1985. Ta se mreža općenito ponaša bolje od etherneta pod velikim opterećenjima, ali ima višu cijenu i manje brzine prijenosa. Implementacija mreže omogućuje komunikaciju između pojedinih računala korištenjem (engl. Multistation Access Unit) MAU uređaja i logičke strukture prstena. Komunikacija se odvija predajom tokena (engl. Token Passing) koji se šalje između uređaja unutar logičkog prstena. Token je poseban paket koji putuje mrežom i samo ono računalo koje ga ima može slati podatke. Poanta je u tome da mrežni softver generira token kad prvo računalo postane aktivno na mreži i postavi ga na prijenosni medij. Token putuje od računala do računala (unutar prstena) sve dok ne dođe do onog računala koje želi poslati neki podatak na mrežu. To računalo uzme token, pošalje podatak na mrežu i čeka. Paket dođe do računala kojem je namijenjen, ono uzme kopiju paketa, a paket nastavlja putovati mrežom dok se ne vrati pošiljatelju. U tom trenutku pošiljalac zna da je paket došao na odredište, makne ga s medija i generira novi token te ga pošalje na mrežu. Računalo ne smije poslati više od jednog paketa na mrežu i obvezno je poslati token čim utvrdi da je paket primljen. Na taj je način osigurana disciplina na mreži i ne može se dogoditi da jedan uređaj dobije monopol nad slanjem podataka, a kolizije koje nastaju broadcast načinom prijenosa potpuno su izbjegnute. Brzine prijenosa token ringa su 4 Mbita/s i 16 Mbita/s. 6.3.4.3 Fiber Distributed Data Interface (FDDI) FDDI tehnologija nastala je kao odgovor na zahtjeve za sve većim brzinama prijenosa i propusnosti mreže. U to je vrijeme Token ring nudio oko 4 Mbita/sec, a Ethernet maksimalno 10 Mbita/sec. FDDI je sličan Token ringu jer koristi predaju tokena, ali koristi dva logička prstena umjesto jednog. Ako dođe do problema s primarnim logičkim prstenom, automatski počinje koristiti sekundarni prsten. Kao metoda kontrole pristupa mreži upotrebljava se predaja tokena (engl. Token passing), kao i kod token ring mreža. Za razliku od token ring mreža, računalo koje ima token može slati podatke određeno razdoblje, a ne samo po jedan paket. Nakon toga (ili kad završi sa slanjem podataka – što god se prije dogodi) pošalje token na mrežu. Ova je metoda učinkovitija od klasičnog token ringa jer računalo duže raspolaže s tokenom pa može poslati više podataka. Naravno, u to vrijeme ostali uređaji ne mogu slati podatke, ali je vrijeme koje se koristi za utvrđivanje prava na slanje „vrijeme pripreme“ u odnosu na „korisno“ vrijeme slanja ovdje bolje nego kod Token ringa. Brzine prijenosa FDDI-a su 100 Mbita/sec. 6.3.4.4 Frame Relay Frame Relay je kao i ATM paket switching tehnologija, ali, za razliku od ATM-a, šalje pakete promjenjivih dužina. Za vrijeme osamdesetih godina prošlog stoljeća dotadašnje su X.25 mreže bile za-
171
Prijelom.indd 171
21.9.2010. 11:40:48
Sustavna programska potpora
mijenjene novom tehnologijom nazvanom Frame relay. Riječ je o konekcijski orijentiranoj mreži (point to point) koja ne poznaje kontrolu pogrešaka prijenosa kao niti kontrolu prometa. Paketi se distribuiraju u nizovima. Ova se tehnologija i danas koristi, najčešće za povezivanje LAN mreža unutar velikih kompanija. Brzina ovisi o davatelju usluga i onome što može ponuditi na digitalnim linijama. 6.3.4.5 Wireless LAN Ova je tehnologija nastala, prije svega, zbog potrebe za uspostavom mreža koje neće biti povezane žičanim ili dugim fizičkim medijima, nego radiovezama. Pri definiranju mehanizama komunikacije bilo je dosta lutanja što je u počecima dovodilo do nemogućnosti komunikacije uređaja različitih proizvođača. Ovakvo je stanje prestalo odlukom da IEEE koji se bavio standardizacijom žičanih LAN mreža donese standard koji će opisivati mehanizam bežične LAN veze. Nastao je 802.11., danas poznatiji pod neformalnim nazivom WiFi. Predloženi je model propisan standardom morao osigurati rad bežične LAN mreže u prisutnosti bazne stanice (engl. access point), ali i bez nje, izravnom komunikacijom uređaja „spojenih“ u mrežu (engl. ad hoc networking). Pri osmišljavanju standarda nastojalo se izabrati radiofrekvencijski spektar koji do tada nije bio iskorišten, i to po mogućnosti niti u jednoj zemlji Naime, važno je bilo dobiti dovoljnu širinu spektra (Bandwidth) kako bi se osigurale odgovarajuće brzine prijenosa (kapacitet) te je također trebalo riješiti pitanja snage odašiljača kako bi se dobile dovoljne daljine na koje je konekcija moguća, ali sa što manjim utjecajem na zdravlje ljudi (elektromagnetska zračenja). Dodatno, odlučeno je da mrežni sustav bude u što većoj mjeri kompatibilan s, u to vrijeme (sredina devedesetih godina prošlog stoljeća), već vrlo popularnim Ethernetom. Budući da je početna inačica standarda predviđala brzinu 1 – 2 Mbit/s, što je vrlo sporo, izvršeni su pritisci na IEEE što je rezultiralo donošenjem dvije nove podinačice standarda 1999. Nova podinačica 802.11a koristi širi frekvencijski spektar i doseže brzine do 54 Mbit/s. Podinačica 802.11b koristi isti frekvencijski opseg kao i 802.11, ali drugačijim tehnikama modulacije postiže brzine do 11 Mbit/s. Kako bi se stvari dodatno zakomplicirale, danas postoji i treća podinačica standarda: 802.11g, koja je nadogradnja na 802.11b i omogućuje brzine do 54 Mbit/s.
6.3.5 Address Resolution Protocol (ARP) Svaki Ethernet okvir u zaglavlju ima zapisane izvorišne i odredišne fizičke adrese (MAC). Ove su adrese 48-bitni brojevi, koji se prikazuju heksadecimalno. Konačno odredište okvira definirano je fizičkom adresom koja se u Ethernet mrežama još naziva i MAC adresa.
172
Prijelom.indd 172
21.9.2010. 11:40:48
6. poglavlje: RAČUNALNE MREŽE
Proces komunikacije odvija se tako što računalo, kada sazna IP adresu odredišta, na mrežu šalje ARP zahtjev (engl. ARP Request). Ovaj je zahtjev sastavni dio Address Resolution Protokola i doslovce znači “Neka mi se javi računalo s IP adresom XXX.YYY.ZZZ.QQQ i dostavi mi svoju MAC adresu”. Računalo s IP adresom navedenom u ARP zahtjevu šalje kao ARP odgovor (engl. ARP Reply) svoju MAC adresu, koju potom računalo koje je slalo ARP zahtjev zapisuje u ethernet okvir te ga prosljeđuje na mrežu. ARP poruke su broadcast poruke, što znači da ih primaju sva računala u podmreži. Ove poruke ne prelaze usmjernik. Ako je komunikacija namijenjena računalu izvan lokalne mreže, računalo će morati proslijediti paket svom standardnom izlazu (engl. Default Gateway) i samim time slati ARP zahtjev s fizičkom adresom standardnog izlaza. Kada prime ARP odgovor, računala rezultat zapisuju u privremenu memoriju (engl. ARP Cache) te u slučaju da moraju ponovno slati okvir istom računalu, MAC adresu odredišta očitavaju iz memorije i ne šalju ARP zahtjev.
Aplikacijski Prezentacijski Aplikacijski
Sesijski
Ethernet također definira broadcast fizičku adresu, namijenjenu za slučajeve kada sva računala u lokalnoj mreži moraju primiti okvir. Ova adresa je zapisana heksadecimalno FFFF.FFFF.FFFF.
Transportni
Važno je napomenuti da se fizičke adrese u okvirima izmjenjuju kako okvir putuje od uređaja do uređaja. IP adrese ostaju nepromijenjene.
Mrežni Sloj veza Fizički
6.4 OSI mrežni sloj
Slika 6.27 OSI model i položaj mrežnog sloja
6.4.1 Uvod OSI mrežni sloj (engl. OSI Network Layer) je treći sloj u OSI mrežnom modelu i nalazi se između transportnog (engl. Transport Layer) i sloja veza (engl. Data Link Layer), što je prikazano na sljedećoj slici.
Packet IP Header
Segment
TCP segments encapsulated into IP packets
Packet IP Header
Segment
NETWORK LAYER
Slika 6.28 Enkapsulacija mrežnog sloja
173
Prijelom.indd 173
21.9.2010. 11:40:49
Sustavna programska potpora
Segmenti trasportnog sloja putuju mrežom od ishodišta do odredišta u paketima. Da bi mrežni sloj znao proslijediti pakete do cilja, paketi moraju imati odredišnu adresu. Da bi se podaci mogli vratiti, potrebno je znati i ishodišnu adresu. Adrese mrežnog sloja zovu se IP adrese i nalaze se u zaglavlju paketa. O IP adresama i dodatnim podacima potrebnima za prosljeđivanje paketa od odredišta ka ishodištu, a koji se nalaze u zaglavlju paketa, više u poglavljima koji slijede. Treba naglasiti da je IP adresa, logička adresa i da mora biti jedinstvena na internetu. Paketi se prosljeđuju od logičke mreže do logičke mreže, sve dok ne stignu u odredišnu mrežu i na kraju do krajnjeg uređaja s odredišnom IP adresom. Uređaji koji povezuju logičke mreže i odlučuju kojim putem poslati paket prema cilju zovu se usmjernici. Paket se od usmjernika do usmjernika približava odredištu. Usmjernici prihvate paket, pročitaju odredišnu adresu, nađu najbolji put prema odredištu i na kraju prosljeđuju paket prema cilju. Taj proces zove se usmjeravanje (engl. routing). Na odredišnom se krajnjem uređaju skida zaglavlje paketa i segment se prosljeđuje transportnom sloju. Proces skidanja zaglavlja zove se deenkapsulacija. Možemo zaključiti da mrežni sloj obavlja sljedeće zadatke: • adresiranje paketa pomoću ishodišne i odredišne IP adrese, • enkapsulaciju, odnosno dodavanje IP zaglavlja, • usmjeravanje paketa (routing) ili pronalaženje najboljeg puta do odredišta, • deenkapsulaciju, odnosno skidanje IP zaglavlja na odredištu.
6.4.2 IPv4 Zadatke mrežnog sloja odrađuju mrežni protokoli. Postoje ili, bolje rečeno, postojalo je više inačica mrežnih protokola (Novell IPX, Apple Talk, CLNS), ali danas je Internet protokol (IPv4) gotovo sinonim za mrežni protokol jer se koristi na internetu. IPv4 je besplatan i omogućuje komunikaciju između uređaja različitih proizvođača. IPv4 opisuje strukturu zaglavlja kojim se enkapsuliraju UDP ili TCP segmenti transportnog sloja. Postoji i IPv6 inačica internetskog protokola, ali o njoj nešto kasnije. Osnovne su karakteristike IPv4 protokola: • ne uspostavlja se veza između ishodišta i odredišta prije slanja paketa (engl. connectionless) • najbrža moguća usluga (engl. Best effort) – nema dodatnih kontrolnih paketa koji bi jamčili isporuku paketa. To mu omogućuje najbrži mogući način prijenosa paketa od ishodišta do odredišta. Cijena brzine je nepouzdanost • neovisnost o vrsti medija za prijenos podataka (engl. Media indepedent)
174
Prijelom.indd 174
21.9.2010. 11:40:49
6. poglavlje: RAČUNALNE MREŽE
IPv4 ne uspostavlja vezu prije slanja paketa kao što to radi TCP protokol. Jednostavno pošalje paket i ne traži potvrdu primitka. To nije problem jer TCP protokol na transportnom sloju brine o pouzdanosti prijenosa i traži potvrdu primitka. Ako paket ne stigne na odredište ili stigne neispravan, tada i segment koji je bio enkapsuliran u paket neće biti proslijeđen transportnom sloju, odnosno TCP protokolu. TCP protokol na transportnom sloju tražit će ponovno slanje segmenta, odnosno paketa. Što ako se na transportnom sloju umjesto TCP protokola koristi UDP protokol koji je nepouzdan kao i IP protokol? Tada se provjera ispravnosti prijenosa, a ako je potrebno, treba ugraditi u aplikaciju. IPv4 radi neovisno o vrsti medija za prijenos. Struktura bitova u IP paketu neće se promijeniti ako se paket šalje bežičnim, optičkim ili žičanim medijem za prijenos podataka.
6.4.3 IPv4 adresiranje 6.4.3.1 Struktura IPv4 adrese Svaki uređaj u mreži mora biti jednoznačno definiran, odnosno mora imati svoju adresu. Ta se adresa u TCP/IP skupu protokola zove IP adresa. Sastoji se od četiri broja odvojena točkom. Brojevi mogu biti u intervalu od 0 do 255. Primjeri IP adresa: • 192.120.234.11 • 10.10.230.11 • 211.20.11.132 Dužina IP adrese u binarnom je obliku 32 bita. Svakih osam bitova je jedan broj. U prilagođenom su zapisu brojevi odvojeni točkama radi lakšeg snalaženja u radu s IP adresama. Na sljedećoj je slici format IP adrese koji mi koristimo i ekvivalentni binarni zapis kojeg koristi računalo.
192
11000000
.
168 10101000
.
10 00001010
.
1 00000001
Slika 6.29 Format IP adrese
Svaka IP adresa podijeljena je na dva dijela: dio za adresu mreže i dio za adresu računala unutar mreže. Za sve uređaje koji imaju isti mrežni dio IP adrese, odnosno isti niz bitova koji definira mrežni dio kažemo da sa nalaze u istoj logičkoj mreži. Na sljedećoj je slici prikazana mreža u kojoj prvi broj definira mrežu. Budući da je prvi broj, odnosno prvi oktet, svim IP adresama isti, možemo reći da se sva računala nalaze u istoj logičkoj mreži. Adresu mreže dobijemo tako da mrežni dio adrese prepišemo, a dio adrese koji definira računalo postavimo u nulu. Slijedom navedenog možemo zaključiti
175
Prijelom.indd 175
21.9.2010. 11:40:49
Sustavna programska potpora
da se računala na slici nalaze u mreži 10.0.0.0. Adrese računala u mreži 10.0.0.0 su 10.0.0.1, 10.0.0.2 i 10.0.0.3 i 10.0.0.253.
10.0.0.253
10.0.0.1 10.0.0.2
10.0.0.3
Slika 6.30 Računala u istoj logičkoj mreži
Pomoću preklopnika se povezuju uređaji koji su u istoj logičkoj mreži. Ako želimo povezati dva uređaja koji imaju adrese u različitim logičkim mrežama, moramo ih povezati pomoću usmjernika. Usmjernik je uređaj koji povezuje uređaje koji se nalaze u različitim logičkim mrežama i preusmjerava pakete između tih mreža. Na sljedećoj su slici dvije logičke mreže povezane pomoću usmjernika. Sve će pakete iz mreže 172.16.0.0 s odredišnom adresom za mrežu 172.17.0.0 usmjernik preusmjeriti u mrežu 172.17.0.0 i obrnuto.
Mreža 172.16.0.0
Mreža 172.17.0.0
172.16.0.1
172.17.0.1
172.16.0.2
172.17.0.2
172.16.0.3
172.17.0.3 172.16.0.100
172.17.0.100
Slika 6.31 Računala u različitim logičkim mrežama povezana usmjernikom
176
Prijelom.indd 176
21.9.2010. 11:40:51
6. poglavlje: RAČUNALNE MREŽE
Na slici 6.30 mreža je bila definirana prvim brojem (8 bitova), a na slici 6.31 s prva dva broja (16 bitova). Postavlja se pitanje: kako znati koliko je bitova rezervirano za mrežni dio, a koliko za uređaje u pojedinoj mreži samo na temelju IP adrese (host dio)? Drugo je važno pitanje: kako odrediti koliko će bitova biti mrežni dio, a koliko host dio IP adrese? Prvi je pokušaj rješenja tog problema bio podjela mreža na klase. Mreže unutar interneta podijeljene su na klase: A, B, C, D i E. Ovisno u kojoj se klasi nalazi IP adresa, određeni se broj bitova dijeli na mrežni dio adrese i dio za adresu računala u toj mreži. Dakle, klasa definira mrežni dio adrese. Na slici je podjela IP adresa na klase A,B i C. Adrese u klasi D i E su adrese posebne namjene i o njima nešto kasnije radi lakšeg razumijevanja. Klasa A 8 bita za mrežu i 24 bita za adresu unutar mreže 8 bita
24 bita
Klasa B 16 bita za mrežu i 16 bita za adresu unutar mreže 16 bita
16 bita
Klasa C 24 bita za mrežu i 8 bita za adresu unutar mreže 24 bita
8 bita
Slika 6.32 Klase A, B i C
Nameće se sljedeće pitanje: kako znati u kojoj je klasi koja adresa, odnosno koji je dio adrese mreža, a koji adresa unutar mreže? U počecima IP adresiranja dogovoreno je da prvi broj adrese definira klasu. Definiranjem klase, definira se i mrežni dio. Ovakav se način adresiranja još naziva i klasnim adresiranjem (engl. classful). U tablici su prikazani početni brojevi i klase kojoj pripadaju. Za primjer, analizirajmo IP adresu 193.100.10.3. Adresa počinje brojem 193. Broj 193 je u intervalu 192-223. Dakle, adresa je u klasi C. Ako je u klasi C, prva su tri okteta rezervirana za adresu mreže, a zadnji, četvrti oktet za računala u mreži (pogledaj sliku 6.31). U našem je slučaju adresa mreže 193.100.10.0. Moguće adrese uređaja u toj su mreži od 193.110.10.1 do 193.100.10.254. Adresa 193.100.10.255 je adresa posebne namjene, tzv. broadcast adresa i ne može se pridružiti uređaju. O njoj više riječi u nastavku priručnika.
Početni brojevi
IP adresa i klase:
0 - 127
Klasa A
128 - 191
Klasa B
192 - 223
Klasa C
224 - 239
Klasa D
Pogledajmo još jedan primjer. Pretpostavimo da je odredišna adresa 172.16.10.1. 172.16.10.1 je u klasi B jer je prvi broj unutar intervala 128 – 191. Adresa mreže je 172.16.0.0 jer su u klasi B prva dva okteta adresa mreže. Slijedeći logiku iz prvog primjera, prva adresa koja se može dodijeliti uređaju u toj mreži je 172.16.0.1, a zadnja 172.16.255.254. Broadcast adresa je 172.16.255.255.
177
Prijelom.indd 177
21.9.2010. 11:40:52
Sustavna programska potpora
Evo još nekoliko primjera: IP Adresa
klasa
adresa mreže
prva adresa
zadnja adresa
broadcast adresa
13.10.11.11
A
13.0.0.0
13.0.0.1
13.255.255.254
13.255.255.255
148.23.21.21
B
148.23.0.0.
148.23.0.1
148.255.255.254
148.23.255.255
192.168.11.4
C
192.168.11.0
192.168.11.1
192.168.11.254
192.168.255.255
Vidimo da se najviše različitih mreža može napraviti u klasi C jer su tri okteta rezervirana za brojeve mreža. jednako tako, najmanje IP adresa možemo pridružiti uređajima u jednoj od mreža u klasi C jer je samo jedan oktet rezerviran za adrese uređaja unutar mreže. U klasi C se može pridružiti 254 različite adrese. Zašto 254 adrese? ((2 na 8) – 2 = 254), 2 na 8 je 256 različitih kombinacija, ali prva je adresa adresa mreže (svi host bitovi u nuli), a zadnja je adrese broadcast (svi host bitovi u jedinici). U klasi A je suprotan slučaj. Samo je jedan oktet za adrese mreža, a tri su okteta za adrese uređaja u mreži. U jednoj se od mreža u klasi A može adresirati (2 na 24) -2 uređaja. Klasa B je u sredini, 2 okteta za mrežu i dva okteta za uređaje u mreži. Iz koje će klase biti dodijeljena mreža, ovisit će o broju potrebnih adresa. Ako je potrebno malo adresa (manje od 254), dovoljna je klasa C. Ako je potrebno više od 254 adrese, treba preći u mrežu klase B. Opisana podjela IP adresa na klase bila je prvo načelo organizacije mreža. Prvi broj u IP adresi određivao je klasu, klasa je određivala koliko je bitova rezervirano za mrežni dio, a koliko za host dio. Na sljedećoj je slici prikazana podjela IP adresa na klase i broj mogućih mreža i uređaja u pojedinim klasama. Klasa
Prvo broj u adresi
Prvi broj u adresi (binarno)
Mrežni (N) i host (H) dio adrese
Broj mogućih mreža i host adresa
A
1 - 127
00000000 01111111 -
N.H.H.H
128 mreža (2ˆ7) 16 777 214 uređaja u mreži (2ˆ24 - 2)
B
128 - 191
10000000 10111111 -
N.N.H.H
16 384 mreža (2ˆ14) 65 534 uređaja u mreži (2ˆ16 - 2)
C
192 - 223
11000000 11000000 -
N.N.N.H
2 097 150 mreža (2ˆ21)254 uređaja u mreži (2ˆ8 - 2)
Slika 6.33 Podjela IP adresa na klase A, B i C
Spomenuli smo da postoje i klase D i E. Razjasnimo ukratko namjenu klasa D i E. Klasa E su adrese rezervirane za eksperimentalnu upotrebu i ne treba ih posebno razmatrati. Posvetimo se vrlo važnoj klasi D. Prije toga, podsjetimo se koje sve vrste adresa postoje.
178
Prijelom.indd 178
21.9.2010. 11:40:52
6. poglavlje: RAČUNALNE MREŽE
Tri su osnovne vrste IP adresa: • unicast, • broadcast i • multicast adrese. S prve smo se dvije vrste već susretali. Unicast IP adrese adresiraju samo jedan uređaj u mreži. Paketi s odredišnom broadcast adresom namijenjeni su svim uređajima na mrežnom segmentu. Domet broadcast adrese je samo unutar mrežnog segmenta jer usmjernik dijeli mreže i ne propušta broadcast pakete. S broadcast adresom sreli smo se kod DHCP servisa. Primjer upotrebe broadcast adresa je zahtjev klijenta za TCP/IP konfiguracijom od DHCP servera. Kako znamo da je neka adresa broadcast, a ne unicast? Broadcast adresa je adresa u kojoj su svi host bitovi postavljeni u 1. Ako su svi host bitovi postavljeni u 1, tada je to zadnja adresa u mreži. Pogledajte tablicu na prethodnoj strani. Primjer broadcast adrese u mreži klase C 192.168.10.0 je 192.168.10.255. Mrežni su dio prva tri okteta, a četvrti je oktet rezerviran za adrese hostova unutar te mreže. Ako sve bitove host dijela postavimo u 1, dobit ćemo broj 255. Još jednom treba napomenuti da broadcast adresa može biti jedino adresa odredišta. Dakle, ne može biti pridružena računalu. Klasa D su multicast adrese. To su adrese koje adresiraju grupu uređaja koji imaju pridruženu zajedničku multicast adresu. Primjer uporabe tog tipa adresa je gledanje videosadržaja na internetu (engl. video streaming). Poslužitelj koji šalje videosadržaj šalje samo jedan paket, a svi uređaji koji imaju pripadajuću multicast adresu primaju poslani paket. Na taj način poslužitelj ne mora slati paket posebno svakom uređaju. Da bi se koristilo multicast adresiranje i slanje paketa, moraju se koristiti multicast protokoli koji to omogućuju. Multicast adrese počinju od broja 224 pa sve do 239. Uređajima se može uz unicast adresu pridružiti i više multicast adresa. Ako se uređaj želi pridružiti određenoj multicast grupi, dobije pomoću multicast protokola IP adresu te multicast grupe. Tu IP adresu gubi kada prestaje biti članom te grupe. Skup adresa klase D i E prikazan je u sljedećoj tablici. D
224 - 239
11100000 11101111 -
multicast
E
240 - 255
11110000 11111111 -
eksperimentalne svrhe
Slika 6.34 Podjela IP adresa na klase D i E
179
Prijelom.indd 179
21.9.2010. 11:40:52
Sustavna programska potpora
6.4.3.2 Kreiranje podmreža U ranim danima interneta smatralo se da će podjela IP adresa na klase biti dovoljna. Naime, u mreži klase C uređajima se može pridružiti 254 adrese. Ako imamo mrežu kojoj je potrebno više od 254 adrese, sljedeći je korak klasa B. U mreži klase B možemo pridružiti 65534 adrese. Problem je u tome što, ako trebamo npr. 300 adresa, moramo upotrijebiti klasu B u kojoj dobivamo 65534 adrese. U mreži klase C ne možemo dobiti manje od 254 adrese bez obzira na to što nam možda treba 30. Posljedica ovakve grube podjele mnoštvo je rezerviranih, ali neupotrijebljenih i za druge korisnike nedostupnih adresa. Kada se osmišljavao ovakav način IP adresiranja, nitko nije ni pomišljao da će internet narasti na toliki broj korisnika koji trebaju IP adrese. Zbog brzog se rasta interneta uvidjelo da će takvim načinom podjele mreža sve mreže vrlo brzo biti potrošene. Počelo se osmišljavati tehnike koje bi ublažile problem koji uzrokuje prekratka IP adresa. Krenulo se od ideje da podjela na broj bitova za mrežu ne bude samo 8, 16 i 24, već da to može biti bilo koji broj. Na taj bi se način moglo prilagoditi broj bitova za mrežu i hostove prema potrebi. To se može postići kreiranjem podmreža unutar glavne mreže klase A, B ili C. Bitovi mreže produžuju se nadesno unutar bilo koje klase i pomoću njih se kreiraju podmreže proizvoljne duljine. Na sljedećoj je slici prikazana ideja kreiranja podmreža. Mreža
Adresa unutar mreže
Mreža
Podmreža
Adresa unutar mreže
Slika 6.35 Podjela IP adrese bez podmreže i s podmrežom
Odmah se nameće sljedeće pitanje: kako sada znamo koliko je bitova za mrežu? Prvi broj IP adrese govori nam o kojoj je klasi riječ, a ako ukrademo određeni broj bitova iz drugog dijela adrese i pridružimo ih mreži, više po prvom broju ne znamo koliko je to bitova. Problem je riješen dodavanjem mrežne maske koja nam govori koliko je bitova u adresi mrežni dio (engl. subnet mask). Mrežne maske formalizirane su 1985. (RFC 950). Njihova je namjena bila omogućiti razbijanje mreža klase A,B i C u sitnije dijelove. Da zaključimo, prije uvođenja mrežne maske mrežni je dio adrese morao biti 8,16 ili 24 bita. U kojoj se klasi nalazi adresa govorio nam je prvi broj IP adrese. Uvođenjem mrežne maske, mrežni dio adrese više ne mora biti 8,16 ili 24 bita, već bilo koji broj bitova. Svaka se IP adresa mora nalaziti unutar neke mreže. Mrežna je maska broj koji pokazuje gdje se unutar IP adrese nalazi granica između mrežnog dijela i dijela za adresu računala unutar mreže (engl. Host ID). Pogledajmo na sljedećim primjerima kako izgleda mrežna
180
Prijelom.indd 180
21.9.2010. 11:40:52
6. poglavlje: RAČUNALNE MREŽE
maska. Vidimo da je to IP adresa posebnog formata. Jedinice u mrežnoj masci označavaju bitove u IP adresi koji pripadaju mreži, a 0 označavaju bitove koji pripadaju adresi unutar mreže. Primjer mrežne maske: 255.255.255.0 11111111.11111111.11111111.00000000 Ovo je mrežna maska mreže u klasi C jer su prva 24 bita postavljena u 1, što znači da su prva 24 bita mrežni dio. Slijedeći logiku, mrežna maska klase A je 255.0.0.0 jer samo prvi oktet adrese određuje mrežu, a mrežna maska klase B je 255.255.0.0 jer su prva dva okteta adresa mreže. 6.4.3.3 Privatne i javne IP adrese Organizacije javnu IP adresu dobivaju od svoga pružatelja internetskih usluga (ISP). Sve javne IP adrese moraju biti registrirane pri regionalnoj organizaciji za dodjelu internetskih adresa RIR (Regional Internet Registries). Vjerojatno ste primijetili da je većina adresa koje smo koristili u primjerima iz sličnog skupa adresa. Najčešće im je prvi broj 10, 172 ili 192. Jednako ste tako mogli primijetiti da su to česte adrese u lokalnim mrežama i na vašim osobnim računalima. To su privatne IP adrese koje se upotrebljavaju samo unutar lokalne mreže i ne mogu se koristiti na internetu. U svakoj je klasi definiran skup adresa koji je proglašen privatnim adresama (RFC 1918) i služi isključivo za upotrebu unutar lokalne mreže, odnosno izvan interneta. Skup privatnih adresa prikazan je na slici. Klasa
RFC 1918 skup privatnih adresa
CIDR prefiks
A
10.0.0.0 - 10.255.255.255
10.0.0.0/8
B
172.16.0.0 - 172.31.255.255
172.16.0.0/12
C
192.168.0.0 - 192.168.255.255
192.168.0.0/16
Slika 6.36 Skup privatnih IP adresa
Za razliku od javnih IP adresa koje moraju biti jedinstvene, a dodijeliti ih moraju ovlaštene organizacije, privatne IP adrese može koristiti bilo tko. Pet mreža ili pet milijuna mreža mogu upotrebljavati iste IP adrese. Da ne bi došlo do konflikta među adresama, granični usmjernici prema Internetu podešeni su da ne prosljeđuju privatne IP adrese na Internet. Privatne adrese štede javne IP adrese kojih ionako nema dovoljno i omogućuju fleksibilnost pri projektiranju lokalnih mreža, bez ograničenja javnog IP adresiranja. Privatne IP adrese omogućuju bezbrižno projektiranje lokalnih mreža bez potrebe usklađivanja s vanjskim svijetom.
181
Prijelom.indd 181
21.9.2010. 11:40:52
Sustavna programska potpora
Što ako dvije takve mreže, odnosno računala iz te mreže žele komunicirati preko interneta? Znamo da se internetu može pristupiti samo adresom iz skupa javnih adresa. To je jamstvo da ne postoje dvije iste adrese na internetu. Rješenje je u mehanizmu koji privatne adrese prevodi u javne adrese. Granični usmjernik prema Internetu prevodi privatne adrese u javne i obrnuto. Tehnika prevođenja privatnih IP adresa u javne i obrnuto zove se NAT (engl. Network Address Translation). Skup privatnih adresa iz lokalne mreže može se prevoditi u skup javnih adresa (engl. pool) ili u samo jednu javnu IP adresu. Ako se privatne adrese prevode u samo jednu javnu IP adresu, tada internet vidi cijelu mrežu kao jednu IP adresu. NAT u određenoj mjeri povećava stupanj sigurnosti u mreži jer je cijela mreža sakrivena iza jedne IP adrese, ali glavna je korist od NAT-a ušteda IP adresa jer omogućuje korištenje privatnih IP adresa u lokalnim mrežama. Na slici je prikazano osnovno načelo. Na jednoj je strani privatna mreža s privatnim adresama, a na je drugoj strani javna mreža s javnim adresama. Privatne IP adrese Javne IP adrese 192.168.10.10
209.165.201.1 R2
Internet
NAT 192.168.10.11
209.165.202.129
Slika 6.37 Usmjernik je granica između privatne i javne mreže
Kada paket izlazi iz lokalne mreže, na graničnom se usmjerniku u paket, u polje ishodišne adrese, stavlja javna IP adresa. Kada se paket vrati, javna se adresa ponovno zamjenjuje privatnom. Najčešći je slučaj da se skup privatnih adresa iz lokalne mreže prevodi u jednu javnu IP adresu. Postavlja se pitanje: kako usmjernik zna kojem računalu u lokalnoj mreži treba proslijediti vraćeni paket, odnosno koju privatnu adresu treba ponovno vratiti u paket, budući da su svi paketi poslani s istom ishodišnom javnom adresom, pa se svi i vraćaju s istom odredišnom javnom adresom? Da bismo povezali računalo i paket u slučaju da svi paketi izlaze s istom javnom adresom, treba nam još jedan dodatni parametar koji će jednoznačno definirati uređaj s kojega je paket poslan. Za taj se dodatni parametar koristi broj porta. Zato se ta tehnika često zove i PAT (engl. Port Address Translation).
182
Prijelom.indd 182
21.9.2010. 11:40:54
6. poglavlje: RAČUNALNE MREŽE
Privatne IP adrese Javne IP adrese 192.168.10.10
209.165.201.1 R2
Internet
209.165.202.129
192.168.10.11
privatna adresa:port 192.168.10.10:1555 192.168.10.11:1331
javna adresa: 209.165.200.266:1555 209.165.200.266:1331
javna adresa:port 209.165.201.1:80 209.165.202.129:80
Slika 6.38 PAT (engl. Port Address Translation)
Na prethodnoj je slici prikazan mehanizam razmjene adresa. Pretpostavimo da računalo s privatnom adresom 192.168.10.10 želi poslati zahtjev za internetskom stranicom internetskom poslužitelju na javnoj adresi 209.165.201.1. Kada paket stigne na granični usmjernik na kojem je konfiguriran NAT odnosno PAT, usmjernik će u svoju tablicu upisati ishodišnu privatnu adresu i broj ishodišnog porta (u našem slučaju 192.168.10.10:1555). Zatim će u polje ishodišne IP adrese upisati javnu adresu konfiguriranu na usmjerniku da predstavlja lokalnu mrežu na Internetu (u našem slučaju 209.165.200.226). Broj ishodišnog porta (priključka) ostat će isti. Port je dakle veza između privatne i javne IP adrese. Paket sa zahtjevom doći će do internetskog poslužitelja koji zatim šalje paket s internetskom stranicom klijentu, odnosno našem računalu. Ishodišna adresa sada postaje odredišna. Jednak je primjer i s portovima. Odredišni port postaje ishodišni. Paket se vraća na adresu 209.165.200.226 i port 1555. Paket stiže do graničnog usmjernika. Usmjernik pročita broj odredišnog porta (1555), potraži u tablici taj broj porta i nađe privatnu IP adresu i tu adresu stavlja u polje za odredišnu adresu te proslijedi paket u lokalnu mrežu. Naglasimo još jednom, broj porta je veza između privatne i javne adrese. Broj porta određuje nam klijentsku ili poslužiteljsku aplikaciju na računalu, ali i pomaže pri prevođenju privatnih adresa u javne i obrnuto. Može se dogoditi da dva računala u lokalnoj mreži generiraju isti broj ishodišnog porta pri slanju paketa. U tom slučaju NAT usmjernik promijeni i broj porta, ali to ažurira u NAT tablici i pri povratku paketa s tim brojem porta uz izvornu adresu u IP paket upiše ponovno i izvorni broj porta.
Neki od nedostataka NAT tehnologije su: • smanjuje performanse mreže • veza od kraja do kraja (engl. end to end) onemogućena je za aplikacije koje ne smiju mijenjati IP adresu • otežava vezu između IPv4 i IPv6 mreža • teže je rješavati probleme u mreži
Već smo spomenuli da je prednost NAT tehnike štednja IP adrese i pozitivan utjecaj na fleksibilnost projektiranja lokalnih mreža te,
183
Prijelom.indd 183
21.9.2010. 11:40:55
Sustavna programska potpora
u određenoj mjeri, povećanje sigurnosti mreže jer internet mrežu vidi kao jednu adresu. Unatoč tome, NAT ipak ima i nedostataka.
6.4.4 Internet Control Message Protocol - ICMP IP protokol pokušava što je moguće brže proslijediti paket od ishodišta do odredišta (engl. Best effort delivery system). Da bi bio što brži, nema ugrađene kontrolne mehanizme provjere je li podatak stigao na odredište, a ima mnogo razloga zbog kojih se može dogoditi da paket ne stigne do odredišta. Pošto IP protokol nema ugrađen mehanizam kontrolnih poruka i poruka grešaka pri prijenosu, potrebna mu je pomoć. Taj posao za njega obavlja ICMP protokol. Zato se može smatrati podprotokolom IP protokola. ICMP je jedan od važnijih protokola iz skupa TCP/IP protokola. Njegov je posao slanje poruka. Zbog toga se često koristi u dijagnostičke svrhe. Ako računalo A pošalje paket računalu B i taj paket zbog neispravnog fastethernet sučelja na usmjerniku C ne može biti proslijeđen računalu B, usmjernik C će koristiti ICMP da bi poslao poruku računalu A da paket nije stigao na odredište. Treba naglasiti da ICMP ne ispravlja greške, već samo šalje poruke o greškama. Budući da se zna samo adresa ishodišnog uređaja, a ne i put kojim je paket prošao do cilja, ICMP poruka šalje se samo ishodišnom uređaju. U primjeru na slici, samo će računalo A dobiti poruku o grešci, a ne i usmjernici B i A. ICMP poruke šalju se ishodišnom uređaju enkapsulirane u IP zaglavlje. Kako su ICMP poruke enkapsulirane u IP zaglavlje, može doći do greške u prijenosu paketa s ICMP porukom, kao i svakog drugog paketa. Da ne bi ICMP poruke javljale greške o slanju ICMP poruka i da tako ne bi došlo do možebitnog zagušenja porukama, greške se pri prijenosu ICMP poruka ne javljaju novim ICMP porukama. To otvara mogućnost da neke greške pri prijenosu paketa nikada ne budu dojavljene. 6.4.4.1 Naredba Ping Naredba Ping (Packet Internet Grouper) osnovni je alat za provjeru postojanja veze između dva uređaja u mreži i rješavanje problema ako s vezom nešto nije u redu. Naredba Ping šalje ICMP (Internet Control Message Protocol) poruke – echo request do odredišnog uređaja. Ako je veza ispravna, odredišni će uređaj primiti ICMP poruke i na njih odgovoriti porukom – echo response. Ping paket obično sadržava 32 ili 64 bajta podataka. Ako uređaj koji šalje zahtjev primi odgovor u određenom vremenu, veza između dva uređaja je ispravna. To znači da su svi mrežni uređaji između ishodišnog i odredišnog uređaja ispravni i da su ispravno konfigurirani.
184
Prijelom.indd 184
21.9.2010. 11:40:55
6. poglavlje: RAČUNALNE MREŽE
Značajke Ping paketa su: • svakom se paketu dodjeljuje broj te se tako može doznati koji se paket vratio ili je izgubljen; • svakom se paketu dodaje vremenska oznaka (Timestamp) pomoću koje se može izračunati koliko je vremena trebalo paketu da se vrati (RTT- Round Trip Time). Osnovna sintaksa naredbe Ping je Ping ip adresa npr. Ping 192.168.100.1 Za promjenu osnovne sintakse naredbe Ping koriste se dodatne opcije. Neke od njih su: • Ping -l – definira veličinu ping paketa koji se šalje. Primjer: ping –l 3000 192.168.100.1 – paketi su veličine 1000 bajta. • Ping -n – definira broj ping paketa koji će biti poslani na odredište. Primjer: ping –n 20 192.168.100.1 – bit će poslano 20 paketa na odredište. 6.4.4.2 Naredba Traceroute Tracert (traceroute) naredbom dobije se informacija o čvorovima kroz koji paket prolazi od ishodišta do odredišta. Koristi iste zahtjeve kao i Ping, samo na nešto drugačiji način. Tracert šalje triput uzastopno pakete do svakog rutera na putu do odredišnog čvora i daje informaciju o RTT-i do svakog od njih. Kada ruter, koji se nalazi na putu prema odredišnom uređaju, primi jedan od paketa, vraća ishodištu poruku koja sadržava ime i adresu rutera. Naredba Tracert korisna je pri rješavanju problema u mreži jer se pomoću nje može utvrditi na kojem je dijelu mreže (na kojem ruteru) pukla veza i gdje treba tražiti rješenje problema. Osnovna sintaksa naredbe Tracert: Tracert ip adresa npr. tracert 68.100.23.11
185
Prijelom.indd 185
21.9.2010. 11:40:55
Sustavna programska potpora
6.5 Transportni sloj 6.5.1 Zadaci transportnog sloja
Aplikacijski Transportni
Aplikacijski
Mrežni Sloj veza Fizički Slika 6.39 Mrežni model
Transportni sloj (engl. Transport Layer) četvrti je sloj OSI mrežnog modela. Definiran je također i unutar TCP/IP modela, ali kao treći sloj. Transportni sloj definira funkcije i metode za uspostavu krajnje komunikacije između procesa pokrenutih na uređajima u mreži. Na slici 6.39 prikazan je slojeviti mrežni model. Na samom se vrhu nalazi aplikacijski sloj, koji u ovakvom prikazu objedinjuje aplikacijski, prezentacijski i sloj sesije OSI modela. Transportni sloj OSI modela i TCP/IP modela razlikuju se time što su neke od funkcija sloja sesije OSI modela obuhvaćene unutar transportnog sloja TCP/IP modela. Ovdje se prvenstveno govori o transportnom sloju TCP/IP modela. Osnovne su funkcije transportnog sloja podjela poruke na segmente i prosljeđivanje tih segmenata procesima na aplikacijskom sloju. Podjela veće poruke na manje dijelove naziva se segmentacija. Transportni sloj prima podatke s aplikacijskog sloja, segmentira ih, enkapsulira sa zaglavljem protokola transportnog sloja i prosljeđuje na mrežu. Na primateljevoj strani transportni sloj spaja segmente ponovno u cjelinu i prosljeđuje podatak procesu na aplikacijskom sloju. Kako na računalu može biti pokrenuto više procesa i kako ti procesi mogu istodobno komunicirati na mreži, zadatak transportnog sloja je i adresiranje procesa u svrhu točnog prosljeđivanja segmenata procesima za koje su ti segmenti namijenjeni. Ovaj se postupak naziva multipleksiranje, odnosno demultipleksiranje. Primjerice, klijent aplikacija elektroničke pošte s aplikacijskog sloja spušta poruke elektroničke pošte na transportni sloj. Transportni sloj te poruke cijepa na manje dijelove koji se zovu segmenti ili datagrami (točan naziv ovisi o protokolu koji se koristi na transportnom sloju, primjerice UDP “paketi” nazivaju se datagrami, a TCP “paketi” su segmenti, općenito se za svaki oblik informacije na pojedinom sloju može koristiti naziv paket, a specifični se nazivi pojedinog sloja koriste samo u opisima enkapsulacije, slojevitog modela u definiranju nekih mehanizmima sloja). Segment ili datagram je naziv za enkapsulirani oblik podatka na transportnom sloju. Taj naziv uključuje i zaglavlje protokola transportnog sloja, ali i podatke omotane u zaglavlje (podatke aplikacijskog sloja). Unutar podatkovnog paketa transportnog sloja mora biti definirana identifikacija procesa kojem se pristupa na višem sloju. Ta je identifikacija djelomično prikazana u obliku porta. Port je 16-bitni podatak zapisan u zaglavlju TCP i UDP paketa. Identificira pokrenuti servis. S obzirom na to da je komunikacija na mreži raznolika i da računalo koje sudjeluje u toj mreži obično radi više procesa odjednom, na transportnom se sloju definiraju vrata (engl. Socket). Socket identificira proces aplikacijskog sloja. Transportni sloj kroz ta vrata (engl. Socket) proslijedi podatke procesu na aplikacijskom sloju.
186
Prijelom.indd 186
21.9.2010. 11:40:56
6. poglavlje: RAČUNALNE MREŽE
Portovi su samo jedan dio informacije koje čine vrata (engl. Socket). Kako je svaki proces potrebno adresirati, portovi bi mogli biti i interne adrese procesa u računalu. Ovakvo bi rješenje bilo jednostavno, ali ne bi bilo izvedivo na mreži. Interprocesna komunikacija koristi ovakav oblik adresiranja jer interprocesna komunikacija definira razmjenu informacija između dva ili više procesa pokrenuta na jednom uređaju. Kada bi se ovakav sustav adresiranja koristio na mrežnoj razini, ne bi postojao način da aplikacije na udaljenim računalima znaju koju adresu procesa moraju pozvati kako bi pristupili željenim mrežnim servisima. Stoga je pojam porta vezan isključivo za procese računalnih mreža i zato i postoji. Internet Assigned Numbers Authority – IANA - organizacija je koja se bavi standardima adresiranja na Internetu. Između ostalog, zadaci ove organizacije su i dodjela i organizacija IP adresnog prostora. IANA definira portove i njihove veze s aplikacijskim servisima. Portovi su podijeljeni u tri skupine: • standardni poslužiteljski portovi (engl. Well Known Ports) • rezervirani portovi (engl. Reserved Ports) • dinamički portovi (engl. Dynimic Ports) Standardni poslužiteljski portovi (engl. Well Known Ports) su u rasponu 0 – 1023. Namijenjeni su standardnim servisima Interneta. U ovom su rasponu definirani portovi HTTP, FTP, SMTP, POP, IMAP, Telnet i mnogi drugi poznati aplikacijski protokoli. Rezervirani portovi (engl. Reserved Ports) su unutar raspona 1024 – 49151. Ovi su portovi namijenjeni vlasničkim servisima, kojima se nudi mogućnost registracije. Primjeri bi bili aplikacijski protokoli pojedinih programa i servisa na Internetu koje su kreirale i objavile privatne tvrtke. Preporuka IANA-e je da se ovaj raspon portova na poslužiteljima smije koristiti isključivo ako su organizacije ili pojedinci koji su vlasnici servisa registrirale taj servis i port pri IANA-i. Postupak registracije opisan je u RFC4340, članak 19.9. Dinamički portovi (engl. Dynimic Ports) portovi su unutar raspona 49152 – 65535. Ovi se portovi ne mogu registrirati i namijenjeni su za slobodno korištenje po potrebi. Maksimalna vrijednost koju neki port može poprimiti je 65535, i to stoga što je u zaglavljima paketa transportnog sloja definirana veličina polja za upis porta od 16 bita, što čini 216 mogućih kombinacija i iznosi 65536 kombinacija. Kako i port tehnički može imati vrijednost 0, ukupan je raspon svih portova 0 – 65535. Podaci o portovima za pojedini aplikacijski protokol mogu se pronaći unutar dokumenta na internetskoj adresi: http://www.iana. org/assignments/port-numbers. Portovi su samo jedan dio priče o adresiranju na transportnom sloju. Port je definiran na razini servisa, odnosno aplikacijskog pro-
187
Prijelom.indd 187
21.9.2010. 11:40:56
Sustavna programska potpora
tokola. Vrata (engl. Socket) definiraju točno određeni proces na uređaju i kombinacija su IP adrese i porta. Primjerice, HTTP poslužitelj, na koji se povezuje ponekad i nekoliko tisuća klijenata, pokreće proces za svakog tog klijenta. Svi procesi rade na portu 80, što je standardni poslužiteljski port za HTTP protokol, no HTTP poslužitelj će svakom tom procesu dodijeliti zasebna vrata (engl. Socket) koja će u ovom slučaju, s obzirom na to da je riječ o TCP prometu, biti definirana sa četiri podataka: izvorišnom i odredišnom adresom te izvorišnim i odredišnim portom. Novije poslužiteljske aplikacije ne otvaraju zasebne procese za svaku pojedinu vezu, već to rješavaju putem višedretvenih procesa (engl. Multithread Process).
6.5.2 User Datagram Protocol – UDP User Datagram Protocol – UDP vrlo je jednostavan protokol opisan RFC768 dokumentom. UDP je protokol transportnog sloja koji ne uspostavlja vezu (engl. Conectionless) i ne jamči isporuku (engl. Unreilable), što ga nikako ne čini manje vrijednim od TCP-a. Naprotiv, mrežni promet kao što su videoprijenos uživo, internetska telefonija, audio/videokonferencije i sl. zahtijeva brz prijenos i može podnijeti određene gubitke. Širokopojasna (engl. Broadcast) komunikacija oblik je komunikacije gdje jedno računalo ili mrežni uređaj šalje informacije svima u svojoj mreži. Bilo bi vrlo nepraktično uspostavljati komunikacijsku vezu sa svakim, što TCP traži, pa se stoga u takvoj komunikaciji koristi UDP. Zadaci UDP-a su segmentacija i multipleksiranje/demultipleksiranje. Segmentacija se događa u trenutku prelaska sadržaja s aplikacijskog sloja na transportni. Sadržaj se razdjeljuje na manje dijelove, odnosno datagrame. Takvim se datagramima dodaje UDP zaglavlje koje sadržava informaciju o polaznom i odredišnom portu, duljinu UDP datagrama i polje provjere. Na drugoj strani komunikacijskog kanala UDP prihvaća pakete koje dobiva s nižeg, mrežnog sloja i prosljeđuje datagram prema navedenom portu procesu aplikacijskog sloja koji sluša na tom portu. UDP definira UDP vrata (engl. UDP Socket) kao kombinaciju odredišne adrese i porta. UDP vrata identificiraju proces pokrenut na aplikacijskom sloju. Transportni sloj “gura” datagrame kroz UDP vrata, proces na aplikacijskom sloju. Kako su UDP vrata definirana kao odredišna IP adresa i odredišni UDP port, jasno je da je moguće da datagrami iz različitih izvora završe na istom procesu.
6.5.3 Transmission Control Protocol – TCP Transmission Control Protocol – TCP jedan je od najčešće korištenih protokola transportnog sloja.
188
Prijelom.indd 188
21.9.2010. 11:40:56
6. poglavlje: RAČUNALNE MREŽE
Osnovni mu je zadatak uspostava krajnje komunikacije između aplikacija, odnosno servisa aplikacijskog sloja. Podaci koji su kreirani na aplikacijskom sloju i koje je programer definirao prosljeđuju se transportnom sloju. Na transportnom sloju dolazi do cijepanja podataka na manje cjeline. Ovo se cijepanje može izbjeći ako je na samom aplikacijskom sloju došlo do podjele. Na tako podijeljen podatak, protokol transportnog sloja dodaje svoje zaglavlje. Ovo je zaglavlje definirano ovisno o odabranom transportnom protokolu. Naime, programeri aplikacijskog sloja mogu definirati koji će se niži protokol koristiti, primjerice mogu odabrati TCP ili UDP, ovisno o tome koje im mogućnosti za samu aplikaciju i prijenos podataka trebaju. TCP protokol nudi nekoliko mehanizama: • pouzdan prijenos podataka • kontrolu toka (engl. Flow Control) • upravljanje zagušenjima (engl. Congestion Control) • segmentaciju • multipleksiranje/demultipleksiranje Za razliku od TCP-a, UDP nudi samo segmentaciju i multipleksiranje/demultipleksiranje, no to ga nikako ne čini manje važnim. Aplikacije kao što su prijenos slike i zvuka u realnom vremenu mogu podnositi manje gubitke te im stoga pouzdan prijenos podataka nije potreban. Ovakav tip aplikacija sve podređuje brzini prijenosa. Traži se protokol koji ima malo zaglavlje, koji omogućuje veće brzine i koji ima mala kašnjenja. Mehanizmi kao što su kontrola toka (engl. flow control) i upravljanje zagušenjima (engl. congestion control) pomažu u radu uređaja kojima su ti podaci namijenjeni i zagušenosti mreže kojom putuju, ali jednako tako i usporavaju prijenos. TCP je konekcijski orijentiran protokol, UDP nije (UDP je connectionless). U komunikacijama u kojima se pojavljuje više istodobnih primatelja (engl. broadcast i/ili multicast) uspostavljanje bi konekcije sa svakim primateljem bilo vrlo nespretno. S druge strane, uspostava konekcije između dvije strane nužna kako bi se mogli ostvariti mehanizmi TCP-a. Sve navedeno čini TCP prvim izborom u aplikacijama i servisima kao što su: • e-mail (POP, IMAP, SMTP) • internet (HTTP) • prijenos datoteka (FTP) • udaljeni pristup na uređaje (Telnet) što je najviše i doprinijelo njegovoj današnjoj popularnosti.
189
Prijelom.indd 189
21.9.2010. 11:40:56
Sustavna programska potpora
Aplikacijski Transportni
Aplikacijski
Mrežni Sloj veza Fizički Slika 6.40: Mrežni modul
6.6 Aplikacijski sloj 6.6.1 Uvod Internet je najveća mreža na svijetu, a svoju popularnost može zahvaliti prvenstveno brojnim uslugama, servisima i aplikacijama koje nudi. Ljudi koriste Internet zbog servisa kao što su internetske stranice (engl. Web pages), elektronička pošta (engl. E-mail), elektronička trgovina (engl. E-Commerce), razmjena datoteka i multimedijalnih sadržaja (P2P programi, E-mule...), instant-poruke (engl. Instant Messaging) i brojni drugi. Temeljni je mrežni model prikazan kroz 5 slojeva na slici 6.40. Na vrhu ovog modela nalazi se aplikacijski sloj koji definira vezu između krajnje aplikacije i mreže. Aplikacijski sloj priprema podatke koji se trebaju poslati na mrežu. Internetska stranica može sadržavati tekst, slike, ali i animacije. Zapravo su suvremene internetske stranice raznolikog sadržaja koji uključuje multimedijalne, tekstualne i interaktivne sastavnice. Za mrežu je, u konačnici, nebitno koji se podatak prenosi jer su svi podaci na onom donjem, fizičkom sloju (engl. Physical Layer) reprezentirani pomoću signala i za fizički je sloj potpuno nebitno kakav tip podatka putuje mrežom. No na višim slojevima tip podataka dobiva na važnosti. Na aplikacijskom su sloju definirana pravila kojima će krajnje aplikacije prenositi podatke između sebe. Podsjetimo se primjera razgovora iz prošlog poglavlja koji nam pomaže shvatiti odnose unutar mreže. Neka od temeljnih pravila svake ljudske komunikacije jesu jezik i bonton. Jezik definira konstrukciju rečenice, izgovor i pisanje pojedinih riječi i sl., dok bonton definira pravila ponašanja. Bez poštovanja bi pravila određenih jezikom i bontonom bilo gotovo nemoguće komunicirati, pa čak i postaviti najjednostavnije pitanje. Postoje definirana pravila razgovora ili protokol kojim se razgovara. Dvije aplikacije u mreži također razgovaraju predefiniranim protokolom. Protokoli računalnih mreža objedinjuju sve ono što je definirano bontonom, jezikom, ali i pismom. Osnovne su uloge protokola u računalnim mrežama: • definicija naredbi i njihova značenja (jednako kao i značenja pojedinih riječi u govoru i pismu), • definicija pravila ponašanja na mreži (tko, kada i na koji način smije komunicirati, zapravo bonton ponašanja na mreži), • definiranje informacija koje se njima mogu prenositi.
190
Prijelom.indd 190
21.9.2010. 11:40:56
6. poglavlje: RAČUNALNE MREŽE
Ideja modela slojeva je u tome da slojevi definiraju funkcije. Na tim slojevima obitavaju protokoli ostvaruju funkcije, odnosno pružaju te funkcije svom sloju. Na samom je vrhu aplikacijski sloj čiji je zadatak pakiranje podataka u poruku, definiranje izgleda poruke te prosljeđivanje poruke nižem, transportnom sloju. Zadatak aplikacijskog protokola jest upakirati i pripremiti sadržaj internetske stranice te proslijediti dalje. Ovdje treba sagledati i malo šire motrište komunikacije na mreži. S jedne je strane korisnik za svojim računalom na kojem putem internetskog preglednika – aplikacije za pregled internetskih stranica (engl. Web browser) zadaje zahtjev (engl. Request) za prikaz stranice. Taj se zahtjev putem mreže prosljeđuje na poslužitelj (engl. Server) koji tu stranicu ima pohranjenu u svojoj memoriji. Poslužitelj odgovara na zahtjev (engl. Reply) i internetska se stranica prikazuje u korisnikovom internetskom pregledniku. Ovdje je još bitno napomenuti da i poslužitelj, kao što je korisnik na svojoj strani koristio aplikaciju za pregled internetskih stranica (primjerice, Internet Explorer, Mozzila Firefox, Opera…), na svojoj strani mora imati pokrenutu aplikaciju ili, bolje rečeno, servis koji poslužuje internetske stranice. Ni u jednom trenutku aplikacije i servisi nisu pitali niti ih se tiče kojim će se načinima informacija prenijeti na drugu stranu. Njima je samo bilo bitno da raspoznaju što ih se pita, pronađu što se traži te pošalju odgovor. Bilo koja druga komunikacija na mreži slična je razmjeni sadržaja između internetskih poslužitelja. Ako je riječ o elektroničkoj pošti, razmjeni datoteka ili nečem trećem, osnova komunikacije je zahtjev jedne strane i odgovor druge (engl. Request/Reply), a ovo ujedno i definira odnos Poslužitelj/Klijent (engl. Server/Client). Primjer ovog slučaja može se vidjeti na slici 6.41.
ZAHTJEV
ODGOVOR
Slika 6.41: Zahtjev/Odgovor načelo rada
Poslužitelji obično ne poslužuju samo jednog klijenta. Internetski poslužitelji koji pružaju usluge internetskih stranica, elektroničke pošte ili drugih sadržaja mogu posluživati tisuće korisnika (klijenata) u jednom trenutku.
6.6.2 OSI model, TCP/IP model i aplikacijski slojevi OSI (engl. Open Systems Interconnection) model apstraktni je referentni model koji daje upute za dizajn i implementaciju mrežnih protokola. OSI model zapravo je teorijska podloga mreže, a nastao je iz TCP/IP modela koji je već bio u praktičnoj primjeni. Za razliku od TCP/IP modela koji opisuje i definira četiri sloja, OSI model definira sedam slojeva. Kako je podloga OSI modela TCP/IP, dodatni su slojevi zapravo preciznija podjela. Model koji se danas u literaturi najčešće susreće pretpostavlja pet slojeva i kombinacija je OSI i TCP/IP modela. Razlog tomu je činjenica da je funkcioniranje mreže na nižim slojevima lakše objasniti pomoću OSI modela, a na višima se, posebno aplikacijskom, jednostavnije držati TCP/IP-a.
191
Prijelom.indd 191
21.9.2010. 11:40:57
Sustavna programska potpora
Aplikacijski
Aplikacijski
Aplikacijski
Transportni
Transportni
Transportni
Mrežni
Internetski
Mrežni
Sloj veza
Sloj mrežnog pristupa
Sloj veza
Prezentacijski Aplikacijski
Sesijski
Fizički OSI model
TCP/IP model
Fizički Korišteni model
Slika 6.42 je usporedni prikaz sva tri modela te njihovih odnosa.
Priručnik koristi treći model, a aplikacijski sloj objedinjuje sesijski, prezentacijski i aplikacijski sloj OSI modela i jednak je aplikacijskom sloju TCP/IP modela.
6.6.3 Klijent/Poslužitelj model Klijent/Poslužitelj (engl. Client/Server) model mrežnog rada obavlja podjelu krajnjih uređaja prema ulogama koje imaju u mreži. Osnova je ovog modela način komunikacije koji se temelji na shemi Zahtjev/Odgovor (engl. Request/Reply). Gledano na ovaj način, poslužitelj (engl. Server) je onaj uređaj na mreži koji pruža određene usluge i servise klijentima i većina su njegovih poruka odgovori na zahtjeve klijenata. Klijenti dakle, traže neku uslugu koju im poslužitelj pruža. Fizički gledano, poslužitelj je računalo, obično znatno jače i brže računalo, koje se po svojoj arhitekturi ne razlikuje previše od klijenata. Ono što čini veliku razliku između klijenata i poslužitelja jesu pokrenuti procesi. Procesi koji su pokrenuti na poslužiteljima su programi koji “slušaju” zahtjeve klijenata, otprilike kao nekakav ured za pružanje usluga. Procesi koje pokreću klijenti namijenjeni su pozivanju procesa na poslužiteljima.
Slika 6.43 Klijent/Poslužitelj model rada
Kako bi rješenje koje bi dopuštalo samo jednog klijenta po poslužitelju bilo potpuno nepraktično i skupo, klijent/poslužitelj model radi prema načelu da više (ponekad i nekoliko tisuća) klijenata šalje svoje zahtjeve na jedan poslužitelj. To je ujedno i razlog zašto poslužitelji moraju biti ipak jači i tehnološki napredniji uređaji od klijenata. Potpuniji prikaz klijent/poslužitelj modela prikazan je na slici 6.43.
192
Prijelom.indd 192
21.9.2010. 11:40:58
6. poglavlje: RAČUNALNE MREŽE
6.6.4 Model ravnopravnih članova – P2P Drugi model rada računala na mreži je model ravnopravnih članova (engl. Peer To Peer – P2P). I u ovom se modelu komunikacija svodi na načelo zahtjev/odgovor, ali za razliku od klijent/poslužitelj modela gdje većinu zahtjeva upućuje klijent, a odgovori se šalju s poslužitelja, u ovom modelu računala zamjenjuju uloge prema potrebi. Drugim riječima, bez obzira na to što je u jednom trenutku jedno računalo klijent (ono koje šalje zahtjev), a drugo računalo poslužitelj (ono koje odgovara na primljeni zahtjev), niti jedno od ovih računala ne zadržava tu ulogu trajno. Oba su računala i klijenti i poslužitelji.
Slika 6.44 P2P mreža
Primjer ovakvih mreža jesu radne grupe (engl. Workgroups) u Microsoft Windows okruženju ili razni P2P programi koji omogućuju raspodjelu datoteka na internetu. Jednako tako, programi za razmjenu instant-poruka često rade po ovakvom modelu. Slika 6.44 pokazuje P2P mrežu.
6.6.5 Programi aplikacijskog sloja Povrh cijele priče o mrežama nalaze se, naravno, programi. Programi aplikacijskog sloja sastavni su dio aplikacijskog sloja pomoću kojih korisnici dobivaju pristup na mrežu. Primjerice, internetskim preglednikom korisnici mogu pristupati poslužiteljima internetskih stranica te pregledavati iste, programi za čitanje elektroničke pošte omogućuju povezivanje na poslužitelje na kojima se nalaze pretinci elektroničke pošte te preuzimati poštu, P2P programima korisniku je omogućeno povezivanje s tisućama drugih korisnika ovakvih sustava te dijeljenje i preuzimanje datoteka. Može se reći da bez korisničkih programa računalna mreža ne bi imala posebnog smisla. No jesu li korisnički programi jedina vrsta programa koja se pojavljuje na aplikacijskom sloju? Odgovor na to pitanje je u činjenici da se nikako ne smije zaboraviti na poslužitelje. Kako korisnik raznim korisničkim programima pristupa sadržajima na poslužiteljima, tako i poslužitelji moraju imati pokrenute programe za “posluživanje”. S obzirom na prirodu rada računala, oni ove programe vide kao procese pokrenute u radnoj memoriji. Proces je dakle, programski kod koji obitava u radnoj memoriji računala s ciljem izvršavanja određenih radnji. Zahtjevi koji se nalaze pred korisničkim procesima mogu se svesti na sljedeće: • slanje zahtjeva na poslužitelje • obrada primljenih odgovora • dekodiranje, dekomprimiranje i prikaz podataka
193
Prijelom.indd 193
21.9.2010. 11:41:00
Sustavna programska potpora
Zahtjevi koji se nalaze pred poslužiteljskim procesima • odgovaranje na zahtjeve većeg broja klijenata • obrada primljenih zahtjeva • kodiranje, komprimiranje i priprema podataka za slanje Ključna je razlika između poslužiteljskih i klijentskih procesa u tome što poslužiteljski procesi moraju biti u stanju odgovarati na zahtjeve većeg broja klijenata. Rješenje ovog problema je ili pokretati zasebne procese za svakog klijenta, ili pokretati nove podprocese (engl. threads). Ovisno o programskoj implementaciji, danas se mogu susresti oba rješenja, no suvremenije aplikacije koriste drugo rješenje. Klijentski programi mogu biti izvedeni na dva načina. Prvi je implementacija mrežne podrške u sam program. To su mrežno-svjesni programi (engl. Network-Aware programs), a drugi je način pružanje mrežne podrške programima putem servisa (engl. Service) posebno namijenjenih tom zadatku, primjerice pristup datotekama na lokalnoj mreži ili korištenje mrežnih pisača.
6.6.6 Protokoli aplikacijskog sloja Programi su korisnički temelj aplikacijskog sloja, a protokoli su (engl. Protocols) mrežni temelj. Naime, protokoli aplikacijskog sloja definiraju pravila komunikacije između dva aplikacijska procesa na udaljenim računalima. Protokoli aplikacijskog sloja (engl. Application Layer Protocols) definiraju sljedeće: • uspostavljaju dosljedna pravila za razmjenu podataka između programa i servisa pokrenutih na računalima koja sudjeluju u komunikaciji • specificiraju kako su podaci unutar poruka strukturirani i definiraju tipove poruka koje se šalju na mrežu. Ove poruke mogu biti zahtjevi, potvrde, traženi podaci, statusne poruke ili poruke greške • definiraju protokolne dijaloge, osiguravajući da poslane poruke dobivaju ispravne odgovore od aplikacijskih procesa Danas na računalnim mrežama postoje brojne različite aplikacije koje pružaju različite usluge te se za njih moraju osigurati potrebni protokoli. Očigledno je da zbog velikog broja aplikacija postoji i velik broj aplikacijskih protokola. Upravo je zato gotovo nemoguće poznavati svaki protokol, no neki su protokoli toliko poznati i svakodnevno korišteni da su postali neizostavni dio Interneta. Svaki protokol ima jasno definiranu ulogu i njegove su značajke opisane kroz mehanizme rada i oblike poruka koje se šalju tim protokolom.
194
Prijelom.indd 194
21.9.2010. 11:41:00
6. poglavlje: RAČUNALNE MREŽE
Programi mogu, ako je to potrebno, koristiti više protokola. Primjerice, jedan protokol koriste za uspostavu komunikacije, a drugi za sami prijenos podataka. Tablica 6.6.1 prikazuje neke poznatije aplikacijske protokole te prateće programe. Posebno treba ponoviti da se programi, odnosno pokrenuti procesi, na klijentu i poslužitelju razlikuju. Protokol
Objašnjenje
Klijentski programi
Poslužiteljski programi
Hyper Text Transfer Protocol (HTTP)
Protokol za razmjenu sadržaja internetskih stranica.
Internet Explorer, Mozilla Firefox, Opera.
Microsoft Internet Information Server (HTTP servis), Apache.
File Transfer Protocol (FTP)
Protokol za preuzimanje i postavljanje datoteka na poslužitelj.
SmartFTP, FTP Explorer, FileZilla Client.
Microsoft Internet Information Server (FTP servis), Apache FTP Server, FileZilla Server.
Simple Mail Transfer Protocol (SMTP)
Protokol za slanje elektroničke pošte.
Microsoft Outlook, Lotus Notes, Mozilla Thunderbird.
Microsoft Server (SMTP servis), Microsoft Exchange Server, ESMTP.
Post Office Protocol (POP)
Protokol za primanje elektroničke pošte.
Microsoft Outlook, Lotus Notes, Mozilla Thunderbird
Microsoft Server (POP servis), Microsoft Exchange Server.
Internet Message Access Protocol (IMAP)
Napredniji protokol za primanje elektroničke pošte.
Microsoft Outlook, Lotus Notes, Mozilla Thunderbird.
Microsoft Exchange Server.
Domain Name System protokol (DNS)
Protokol namijenjen za doznavanje IP adrese iz imena računala i obrnuto.
Svi korisnički programi koji koriste domenski sustav imenovanja.
Microsoft Server (DNS servis).
Dynamic Host Configuration Protocol (DHCP)
Protokol za dinamičku konfiguraciju klijenata na TCP/IP mrežama.
DHCP je na klijentskim računalima pokrenut u obliku pozadinskog servisa.
DHCP poslužiteljski servis postoji u mnogo varijanti, gotovo svaki proizvođač mrežne poslužiteljske programske podrške ima i svoju inačicu DHCP poslužitelja.
Server Message Block (SMB)
Protokol za razmjenu datoteka u lokalnim mrežama.
Windows Explorer.
SMB servis na poslužiteljskoj strani.
Telnet protokol
Protokol namijenjen za povezivanje na udaljeni uređaj/računalo te izvršavanje naredbi i funkcija preko mreže.
putty, TeraTerm, minicom, HyperTerminal.
Većinom je sam Telnet poslužiteljski servis ugrađen u operativni sustav.
Gnutella
Jedan od brojnih protokola za razmjenu datoteka u P2P mrežama.
Shareza, LimeWire, Morpheus, BearShare.
Shareza, LimeWire, Morpheus, BearShare.
Tablica 6.1 Pregled osnovnih protokola aplikacijskog sloja
U nastavku će biti ukratko objašnjeni protokoli navedeni u tablici.
195
Prijelom.indd 195
21.9.2010. 11:41:00
Sustavna programska potpora
6.6.7 File Transfer Protocol – FTP File Transfer Protocol (FTP) jedan je od najstarijih i najpopularnijih protokola. Prve specifikacije datotečnog protokola sežu još u 1971. Osnovni su zadatak i razlog postojanja ovog protokola razmjena datoteka, odnosno preuzimanje (engl. download) i postavljanje (engl. upload) datoteka s FTP klijenta na FTP poslužitelj. 6.6.7.1 FTP model Na slici 6.45 prikazan je FTP model koji pojašnjava načelo rada FTP poslužitelja i FTP klijenta KORISNIČKO SUČELJE
POSLUŽITELJSKA STRANA
DATOTEČNI SUSTAV
PI POSLUŽITELJA
DTP POSLUŽITELJA
FTP metode FTP odgovori
PODACI
PI KLIJENTA
DTP KLIJENTA
KORISNIK
KLIJENTSKA STRANA
DATOTEČNI SUSTAV
Slika 6.45 FTP model
Na poslužiteljskoj i klijentskoj strani postoje datotečni sustavi (engl. File System) na kojima se nalaze podaci, odnosno datoteke (engl. files). Podatkovni transportni proces (engl. Data Transfer Process – DTP) zadužen je za zaprimanje naredbi od protokolnog prevoditelja (engl. Protocol Interpreter – PI), slanje kontrolnih informacija protokolnom prevoditelju, razmjenu podataka između dva podatkovna transportna procesa i, naposljetku, komunikaciju s datotečnim sustavom. Podatkovni transportni proces (engl. Data Transfer Process – DTP) obavlja funkciju komunikacije između protokolnog prevoditelja (engl. Protocol Inerpreter – PI), datotečnog sustava i podatkovnog transportnog procesa na drugoj strani komunikacijske veze. Putem protokolnog prevoditelja (engl. Protocol Inerpreter – PI), klijent i poslužitelj uspostavljaju FTP vezu i dogovaraju prijenos podataka. Ovim se procesom također prenose metode, odnosno zahtjevi od strane klijenta prema poslužitelju i odgovori poslužitelja prema klijentu. Putem korisničkog sučelja korisnik zadaje naredbe svojem protokolnom prevoditelju koji uspostavlja komunikaciju s poslužiteljskom protokolnim prevoditeljem. FTP, dakle, koristi dvije komunikacijske veze (engl. TCP connections); jednu, koja se zove kontrolna veza (engl. Control Connection), za prijenos zahtjeva i odgovora te dogovora oko uspostave podatkovne veze, i drugu, podatkovnu (engl. Data Connection), koja se koristi za prijenos
196
Prijelom.indd 196
21.9.2010. 11:41:01
6. poglavlje: RAČUNALNE MREŽE
datoteka. Ovakav se pristup, gdje se kontrolne naredbe i sami podaci prenose odvojenim kanalima, naziva „izvan opsega“ (engl. Out-of-Band). Kako FTP mora pratiti stanja klijenta (u kojoj se mapi nalazi, autentikaciju i sl.), spada u skupinu protokola koji prate stanja (engl. Statefull protocols).
6.6.8 Protokoli elektroničke pošte – SMTP, POP i IMAP Poruke elektroničke pošte sastavni su dio današnje poslovne i privatne komunikacije. Smatraju se službenim dokumentom u većini zemalja svijeta. Jednostavnost, lakoća korištenja, brzina isporuke i niska cijena učinile su elektroničku poštu prvim izborom, ispred klasičnog oblika pisane komunikacije, pošte i faksimila. Razmjena sadržaja elektroničkom poštom od svojih se početaka izrazito promijenila. Prve su poruke bile isključivo tekstualnog tipa. Kasnije, poruke elektroničke pošte dobivaju podršku za razmjenu multimedijalnih sadržaja kao što su slike, fotografije, zvučni zapisi, pa čak i videozapisi. Elektronička je pošta klijent/poslužitelj (engl. Client/Server) rješenje, a osnova rada su, kao i kod svih drugih servisa na Internetu i računalnim mrežama, aplikacijski protokoli. Najpopularniji protokoli za razmjenu elektroničke pošte su Simple Mail Transfer Protocol – SMTP, Post Office Protocol – POP i Internet Message Access Protocol – IMAP. Zbog svojih osobina servisu elektroničke pošte ne bi odgovaralo samo ovakvo jednostavno načelo pa se definiraju tri ključne uloge koje se dodjeljuju stranama koje sudjeluju u procesu razmjene elektroničke pošte: • korisnički agent za elektroničku poštu (engl. Mail User Agent – MUA) • agent za transport elektroničke pošte (engl. Mail Transfer Agent – MTA) • agent za isporuku elektroničke pošte (engl. Mail Delivery Agent – MDA) 
197
Prijelom.indd 197
21.9.2010. 11:41:01
Sustavna programska potpora
SMTP MUA
POP ili
SMTP
MTA
MDA SMTP
SMTP
SMTP MTA
MDA
POP ili
MUA
SMTP
Slika 6.46 Uloge klijenata i poslužitelja u razmjeni elektroničke pošte i korišteni protokoli za razmjenu poruka
Na slici 6.46 strelice prikazuju smjer razmjene elektroničke pošte. Korisnički agenti (MUA) prosljeđuju poštu za slanje, agentima za transport (prijenos) elektroničke pošte (MTA). Agenti za transport elektroničke pošte međusobno komuniciraju i prosljeđuju poštu do onog agenta za prosljeđivanje koji zna dostaviti elektroničku poštu agentu za isporuku (MDA) na kojem korisnik, kojem je pošta namijenjena, ima svoj pretinac elektroničke pošte (engl. Mailbox). Korisnik se putem korisničkog agenta (MUA) povezuje na agent za isporuku elektroničke pošte (MDA), autenticira se te preuzima poštu. Agenti za prosljeđivanje elektroničke pošte (MTA) su poslužitelji na Internetu ili lokalnim mrežama koji, čim prime poštu, proslijede je dalje, sljedećem agentu za prosljeđivanje (MTA) ili agentu za isporuku (MDA). Ti poslužitelji “guraju” (engl. Push) poruke jedni prema drugima te stoga moraju imati stalno omogućeno primanje. Dakle, moraju imati podignut servis za razmjenu elektroničke pošte i aktivnu vezu na Internetu. MTA i MDA poslužitelji koriste Simple Mail Transfer Protocol – SMTP, kao protokol za međusobnu razmjenu elektroničke pošte. SMTP je protokol koji “gura” poštu prema odredištu i očekuje da odredište može prihvatiti poštu. Korisnički agenti za elektroničku poštu (MUA) niti imaju stalno podignut servis za razmjenu pošte, niti imaju stalnu aktivnu vezu prema Internetu. Razlog tome je prvenstveno cijena i nepraktičnost (klijentska bi računala morala stalno biti uključena, imati redundantna napajanja i sl.). Pošta se s korisničkog agenta prema agentu za prosljeđivanje šalje SMTP-om jer je agent za prosljeđivanje aktivan, ali se tim protokolom ne može primati s agenta za isporuku, već se za preuzimanje pošte koriste drugi protokoli, Post Office Protocol – POP ili Internet Message Access Protocol – IMAP.
198
Prijelom.indd 198
21.9.2010. 11:41:02
6. poglavlje: RAČUNALNE MREŽE
6.6.8.1 Simple Mail Transfer Protocol – SMTP SMTP je protokol koji zahtijeva pouzdanu isporuku paketa te stoga koristi Transmission Control Protocol – TCP na transportnom sloju. Standardni poslužiteljski TCP port SMTP-a je 25. Ovo je vrlo jednostavan protokol (engl. Simple) koji koristi tekstualni US-ASCII (American Standard Code for Information Interchange – ASCII), 7-bitni format. 6.6.8.2 Post Office Protocol – POP Post Office Protocol – POP, protokol je aplikacijskog sloja za preuzimanje elektroničke pošte s udaljenog korisničkog pretinca (engl. Mailbox) na POP poslužitelju. Ovo je vrlo jednostavan protokol koji je tijekom svoje povijesti doživio određene promjene. Trenutačna inačica protokola je verzija 3, i označava se s POP3. Verzije 1 i 2 više se ne koriste. Osnovni razlog postojanja POP-a je mogućnost korištenja na povremenim vezama, kao što je Dial-Up ili ISDN. Time je omogućeno preuzimanje elektroničke pošte, prema želji i mogućnostima korisnika, što ne bi bilo izvedivo SMTP-om. POP je dakle protokol koji „povlači“ (engl. Pull) elektroničku poštu s poslužitelja, za razliku od SMTP-a koji bi je „gurao“ (engl. Push) prema korisniku, što bi zahtijevalo neprestanu prisutnost korisnika na Internetu.
6.6.9 Domain Name System – DNS 6.6.9.1 Što je DNS i čemu služi Svako računalo jednoznačno definira adresa koja mu je pridružena. U TCP/IP skupu protokola brigu o adresama vodi IP protokol koji se nalazi na mrežnom sloju OSI modela. Adrese IP protokola nazivamo IP adrese. IP adresa se sastoji od 4 broja odvojena točkom. Svaki broj može poprimiti vrijednost od 0 do 255. Primjer IP adrese je 96.122.16.34. Dakle, moramo poznavati IP adresu računala da bismo mu mogli pristupiti. Problem je što adresa ima mnogo više no što ih ljudi mogu jednostavno zapamtiti. Ljudi mnogo lakše pamte riječi od brojeva. Ljudskom je mozgu lakše zapamtiti adresu tipa: www.racunarstvo.hr, nego IP adresu: 195.219.15.163. Došlo se do zaključka da bi bilo jednostavnije da računalima pridružimo imena i da im pristupamo imenima umjesto brojevima, odnosno IP adresama. Problem je što brojevi više odgovaraju računalima. Da bi bili zadovoljni i ljudi i računala, trebalo je napraviti servis koji će vezati IP adrese i imena računala ili, bolje rečeno, servis koji će lako pamtljiva imena (www.racunarstvo.hr) pretvarati u IP adrese koje koristi TCP/IP protokol. DNS (engl. Domain Name System) je rezultat cijele te priče. DNS je kompromis između čovjeka i računala. Čovjek se referencira na računalo ili točnije rečeno određeni uređaj u mreži imenom, a računala se i dalje adresiraju brojevima, odnosno IP adresama.
199
Prijelom.indd 199
21.9.2010. 11:41:03
Sustavna programska potpora
U začecima interneta popis imena svih računala i njima pripadajućih adresa držao se paralelno na nekoliko računala u datoteci imena hosts. Kada bi se htjelo pristupiti nekom računalu u mreži po njegovom imenu, računalo bi u datoteci hosts potražilo ime i našlo pripadajuću mu IP adresu. U paket bi se stavila ta IP adresa kao odredišna IP adresa i poslala se prema ciljnom računalu. Povećavanjem broja računala u mreži, ažuriranje tih datoteka postajalo je sve teže. Danas je to praktički nezamislivo, s obzirom na veliku količinu računala na internetu i golemi rast koji je doživio i još doživljava. Odgovor na nove zahtjeve interneta mnogo je složeniji zapis podataka od obične tekstualne datoteke kakva je bila hosts datoteka. U pitanju je distribuirana baza podataka koja informacije čuva u hijerarhijskom ustroju. Distribuirana baza podataka znači da se podaci nalaze na više računala podijeljeni u logičke cjeline. Ne postoji računalo koje na sebi ima popis svih hostova, već samo dio tog popisa. Hijerarhijski ustroj znači da postoji hijerarhija po kojoj su ti podaci složeni i distribuirani što olakšava i ubrzava pronalaženje IP adrese za zadano ime. 6.6.9.2 DNS imenski prostor (engl. DNS namespace) Sustav imenovanja na kojemu se temelji DNS je hijerarhijski. Sastoji se od logičke stablaste strukture koja se naziva DNS imenski prostor (engl. DNS namespace). Struktura DNS imenskog prostora prikazana je na sljedećoj slici. Hijerarhija DNS-a počinje korijenskom domenom (engl. root domain). Korijenska se domena (engl. root) označava točkom (“.“). Ispod korijenske se domene nalaze vršne domene (engl. top level domains). 6.6.9.3 DNS sastavnice DNS servis sastoji se od: • DNS poslužitelja • DNS klijenata • DNS zone (engl. DNS zone) • DNS zapisa (engl. Resource Records) DNS poslužitelji DNS poslužitelji su računala na kojima se nalazi DNS baza podataka sa zapisima koji sadržavaju informacije o određenom dijelu unutar ukupnog DNS imenskog prostora (engl. DNS namespace). Cijeli je prostor oblikovan u stablastu strukturu i svaki je poslužitelj samo dio te strukture (podsjetimo se da je DNS baza podataka hijerarhijska i distribuirana). To znači da svaki DNS poslužitelj sadržava samo dio od ukupnog DNS imenskog prostora, odnosno zadužen je za rješavanje upita s klijentske strane koji su unutar njegovog prostora ili domene (engl. name resolution queries). Kada dobije upit, DNS poslužitelj može odgovoriti na upit (ako je unutar njegove domene) ili proslijediti upit drugom poslužitelju (ako upit nije unutar njegove domene). Poslužitelj je mjerodavan (engl. autho-
200
Prijelom.indd 200
21.9.2010. 11:41:03
6. poglavlje: RAČUNALNE MREŽE
rity) za određenu domenu ako se zapisi ažuriraju na tom poslužitelju, a ne dobivaju se od drugih poslužitelja i samo se privremeno pohranjuju. Poslužitelj može biti mjerodavan i za više od jedne domene unutar ukupnog domenskog prostora. Na primjer, korijenski DNS poslužitelji na internetu (engl. root DNS servers) mjerodavni su samo za korijenske domene (engl. top-level domain names) kao što su .com, org i sl. Poslužitelji koji su mjerodavni za .com domene mjerodavni su samo za imena unutar .com domene kao što je na primjer newsedit.com. DNS klijenti DNS klijenti su računala na kojima je pokrenut DNS klijentski servis. Zaduženi su za upite prema DNS poslužiteljima. Uz rješavanje upita, DNS klijent servis omogućuje i privremeno pohranjivanje riješenih upita (engl. caching). DNS zone DNS zone kontinuirani su dio DNS imenskog prostora za koji je neki poslužitelj mjerodavan. Poslužitelj može biti mjerodavan za jednu ili više zona, a zona može sadržavati jednu ili više domena. Na primjer, jedan poslužitelj može biti mjerodavan za filmedit.com i newsedit.com zone. Svaka zona može imati jednu ili više poddomena. Da bi DNS zona mogla sadržavati više domena, između njih mora postojati izravan odnos roditelj – dijete. DNS zona mjerodavna je za svaku domenu koja je uključena u nju, što znači da je ona mjerodavni izvor informacija za tu domenu. Tipovi DNS zona su: • primarna DNS zona – sadržava sve DNS zapise vezane za nju. Za svaku zonu mora postojati primarna DNS zona. Ona je mjerodavna i u njoj se rade sve promjene; • sekundarna DNS zona – sadržava kopiju primarne DNS zone. Za svaku primarnu zonu može postojati jedna ili više sekundarnih zona. Sekundarna je zona samo za čitanje (engl. read only), što znači da u njoj ne možemo raditi promjene, već će promjene biti kopirane iz primarne zone. Sekundarna zona može odgovarati na upite klijenata kao i primarna; • stub DNS zona – djelomična kopija primarne zone, a sadržava samo DNS zapise potrebne za identifikaciju DNS poslužitelja. Zapisi koje sadržava su SOA, NS i A zapis DNS poslužitelja koji su zaduženi za određenu zonu. Stub zona je zapravo pokazatelj pravih DNS poslužitelja i može ubrzati rezoluciju imena u složenijoj infrastrukturi DNS poslužitelja. Vrste DNS zona mogu biti: • Forward lookup zona – zona koja na temelju zadanog imena hosta vraća IP adresu. Dakle, kad u internetski preglednik upišete www.racunarstvo.hr, na temelju imena dobit ćete IP adresu, na primjer 185.119.14.163. Primarna DNS zona mora postojati za
201
Prijelom.indd 201
21.9.2010. 11:41:03
Sustavna programska potpora
svaku domenu. Forward lookup zona odgovara na tzv. forward lookup upite; • Reverse lookup zona – zona koja na osnovi IP adrese vraća ime hosta. Dakle, zona koja će vam, ako pomoću nslookup alata zatražite ime koje pripada IP adresi 185.119.14.163, vratiti na primjer ime hosta www.racunarstvo.hr.
6.6.10 Dynamic Host Configuration Protocol – DHCP Svaki uređaj koji se spaja na TCP/IP mrežu mora dobiti TCP/IP konfiguraciju. TCP/IP konfiguracija može imati više parametara od kojih su neki su obavezni, a neki opcionalni. IP adresa i adresa podmreže (engl. subnet mask) obavezni su parametri i moraju biti pridruženi svakom računalu u mreži. IP adresa jednoznačno definira računalo, a mrežna adresa definira logičku mrežu kojoj ta IP adresa, odnosno računalo pripada. Ostali su parametri konfiguracije opcionalni. Najčešći opcionalni parametri su IP adresa standardnog izlaza i IP adresa DNS poslužitelja. Standardni izlaz je IP adresa sučelja usmjernika na koji treba poslati paket ako se odredište nalazi izvan logičke mreže u kojoj je paket nastao. Svi paketi koji nemaju odredište unutar mreže biti će poslani prema izlazu iz mreže, odnosno prema standardnom izlazu. Ako se ne definira IP adresa standardnog izlaza, podaci ne mogu van iz logičke mreže. Bez te se IP adrese ne može na internet jer paketi neće biti proslijeđeni izvan lokalne mreže. Drugi neobavezan, ali vrlo važan parametar jest IP adresa DNS poslužitelja. Bez njega bismo mogli na internet, ali samo upisujući IP adrese umjesto naziva, odnosno domena. To ne bi bilo nimalo jednostavno jer je teško pamtiti IP adrese, naročito veći broj IP adresa Svako računalo ima mogućnost upisivanja TCP/IP postavki ručno. Na sljedećoj je slici primjer ručnog upisivanja osnovnih TCP/IP parametara.
Slika 6.47 Primjer ručnog upisivanja TCP/IP parametara
Kada se u mrežu ne bi dodavala nova računala ili ako već postojeća računala u mreži ne bi često mijenjala lokacije, ručno ažuriranje TCP/IP konfiguracije bilo bi relativno zadovoljavajuće rješenje. Trebalo bi učiniti samo inicijalni napor da se pridruže potrebni parametri TCP/IP konfiguracije svakom uređaju u mreži. Svi znamo da to nije tako. Životno nam iskustvo govori da su promjene u organizaciji bilo koje vrste stalne i nepredvidive. (Samo mijena stalna jest – Heraklit, 5. st. pr. Kr.). Tako i računalna mreža živi i podređena je čestim promjenama. Jedan je od razloga njihove učestalosti promjena mjesta rada. Zaposlenik može biti premješten iz jednog odjela u drugi. Može doći do promjene TCP/IP parametara, npr. adrese standardnog izlaza (engl. default gateway) ili DNS servera. Sve je više računala koje se samo privremeno spajaju na mrežu (bežične mreže). Kakvi god razlozi bili, činjenica je da u mrežama s mnogo uređaja statičko pridruživanje adresa postaje ozbiljan problem jer je sve
202
Prijelom.indd 202
21.9.2010. 11:41:03
6. poglavlje: RAČUNALNE MREŽE
više uređaja koji se dodaju ili mijenjaju mjesto u mreži. Što su promjene češće, to se više administratorskog rada troši na podešavanje parametara. U malim je mrežama to podnošljivo, ali pri većem broju računala to postaje ne samo trošenje vremena nego i problem pouzdanosti rada mreže jer se zbog povećanja broja računala u mreži povećava i vjerojatnost greške zbog neusklađenosti u konfiguracijama. Rješenje je u servisu koji bi umjesto administratora brinuo o ažuriranju TCP /IP konfiguracije i koji bi dinamički dodjeljivao konfiguracijske parametre. Servis koji je u mreži zadužen za taj posao zove DHCP servis i temelji se na DHCP protokolu (engl. Dynamic Host Configuration Protocol). DHCP je klijent – poslužitelj model kao i većina aplikacijskih protokola. Na klijentskoj se strani definira hoće li TCP/IP konfiguracija biti dodijeljena ručno odnosno statički ili automatski preko DHCP poslužitelja. Kada je na krajnjem uređaju, odnosno klijentu, podešeno da će konfiguraciju dobiti od DHCP poslužitelja, klijent šalje zahtjev za konfiguracijom prema DHCP poslužitelju. DHCP poslužitelj odgovara na zahtjev i šalje konfiguraciju klijentu. Ta konfiguracija može biti stalna ili iznajmljena na određeno vrijeme. Ako je iznajmljena na određeno vrijeme, klijent mora u predefiniranim vremenskim intervalima prije isteka najma (vrijeme najma je jedan od konfiguracijskih parametara), tražiti produljenje najma. Ako to ne učini, DHCP server smatra da krajnjem uređaju dodijeljena konfiguracija više nije potrebna i smatra je slobodnom. Može je dodijeliti nekom drugom uređaju.
Klijent
DHCP server
Klijent
Slika 6.48 DHCP klijent – server model
U mreži postoje i uređaji koji obavljaju specifične zadatke. Takvi uređaji moraju imati poznatu i uvijek istu IP adresu. Primjer takvih uređaja su poslužitelji raznih namjena. Klijenti u mreži iniciraju razgovor s poslužiteljima. Da bi počeli razgovor, moraju znati njegovu IP adresu. Zato uz mogućnost najma bilo koje slobodne adrese iz određenog skupa adresa DHCP poslužitelj ima mogućnost da iznajmljivanja uvijek iste IP adrese određenom uređaju. Postavlja se
203
Prijelom.indd 203
21.9.2010. 11:41:04
Sustavna programska potpora
pitanje kako će znati kojem uređaju treba dodijeliti uvijek istu adresu i koja će to adresa biti. Tu pomaže fizička adresa mrežne kartice koja je jednoznačna i definirana kod proizvođača. Kada klijent zahtijeva od DHCP poslužitelja TCP/IP konfiguraciju, šalje mu i svoju fizičku adresu mrežne kartice. DHCP poslužitelj može se podesiti tako da određenoj fizičkoj adresi uređaja daje uvijek istu IP adresu. Još je jedno važno pitanje koje traži odgovor. Kako klijent zna na kojoj se adresi nalazi DHCP poslužitelj ako još ne zna ni svoju adresu? Klijent zapravo i ne zna na kojoj je adresi DHCP poslužitelj. On u mrežu šalje zahtjev za konfiguracijom s odredišnom broadcast adresom. To je adresa kojom se poruka šalje svim uređajima na istom mrežnom segmentu. Svi uređaji na istom mrežnom segmentu primaju zahtjev za konfiguracijom, ali samo DHCP poslužitelj zna da je to zahtjev za njega (po broju koji označava tip poruke). Svi osim DHCP poslužitelja ignoriraju taj zahtjev jer to nije poruka za njih. DHCP poslužitelj prima zahtjev i prosljeđuje konfiguraciju uređaju koji ju je tražio. Prosljeđivanje konfiguracije kontrolira DHCP protokol, a sastoji se iz nekoliko koraka koji su prikazani na sljedećoj slici.
DHCPDISCOVER DHCPOFFER DHCPREQUEST DHCPACK Slika 6.49 Razmjena poruka DHCP protokolom
TCP/IP konfiguracija dobije se u 4 koraka: • DHCPDiscover – klijent koji traži konfiguraciju počinje razgovor porukom koja je namijenjena svim uređajima na istom mrežnom segmentu. Poruku šalje broadcast adresom jer još nema adresu DHCP poslužitelja. Dobivaju je sva računala u mreži, ali ju samo DHCP poslužitelj prihvaća. Ta poruka sadržava informacije o uređaju koji traži IP adrese; • DHCPOffer – kada DHCP poslužitelj primi DHCPDiscover poruku, nađe jednu od dostupnih adresa za najam, rezervira je i šalje klijentu ponudu za konfiguracijom u DHCPOffer poruci. DHCPOffer je unicast poruka s fizičkom (MAC adresa) odredišnom adresom uređaja koji je tražio konfiguraciju. U poruci se šalje i IP adresa DHCP poslužitelja. Ako je u mreži više DHCP poslužitelja, klijent može primiti i više ponuda za konfiguracijom; • DHCPRequest – kada klijent primi jednu ili više ponuda za konfiguracijom, odabire konfiguraciju i šalje DHCPRequest poruku kojom traži ponuđenu konfiguraciju. Unatoč tome što klijent sada
204
Prijelom.indd 204
21.9.2010. 11:41:05
6. poglavlje: RAČUNALNE MREŽE
zna IP adresu DHCP poslužitelja, ta se poruka šalje broadcast adresom za slučaj da je u mreži više DHCP servera; • DHCPAck – kada DHCP server primi DHCPRequest poruku, šalje DHCPAck kojom potvrđuje najam konfiguracije.
6.6.11 Telnet protokol Računala su danas sofisticirani uređaji s naprednim grafičkim sučeljem i mogućnostima koja daleko nadilaze mogućnosti starih tekstualnih sučelja. Još je od tih starih računala postojala potreba povezivanja na udaljeno računalo i upravljanje s njim putem mreže. Telnet protokol jedan je od najstarijih aplikacijskih protokola na mrežama. Prva specifikacija Telneta datira još iz 1969. i izvorno se pojavljuje unutar RFC15 dokumenta. Trenutačno važeća specifikacija je RFC854. Telnet je klijent/poslužitelj protokol koji omogućuje klijentima udaljeno povezivanje na poslužitelj. Na ovaj način klijentska računala moraju imati samo dovoljno jake sastavnice za povezivanje na poslužitelj, sve se procesuiranje obavlja na poslužitelju. Telent se danas rjeđe koristi za povezivanje na računala. Zamijenili su ga napredniji protokoli. No osnova Telnet komunikacije, autenticiranja, slanje naredbi i sl. još je prisutna u većini protokola i vrlo će se vjerojatno kao takva još dugo i zadržati. Sam je Telnet pronašao svoju svrhu u konfiguraciji mrežne infrastrukturne opreme (Usmjernici, Preklopnici,...) i testiranju mreže. Ovo je vrlo jednostavan protokol koji s klijentske strane koristi Telnet klijenta, kao aplikaciju za povezivanje na Telnet Daemon (Telnetd) proces na poslužitelju. Telnet koristi TCP na transportnom protokolu, a standardni poslužiteljski port za uspostavu veze je TCP port 23. Komunikacijski kanal koji se uspostavi između Telnet klijenta i Telnet poslužitelja naziva se virtualna terminalna linija (engl. Virtual Terminal Line) te je stoga klijent virtualni terminal (engl. Virtual Terminal). Ovi su nazivi zapravo povezani s nazivom fizički terminal (engl. Physical Terminal), što označava fizički spoj (ne preko mreže) s uređajem i rad na njemu. Još je jedan od razloga zbog kojih Telnet u svom izvornom obliku polako nestaje i sigurnost. Naime, Telnet protokolom podaci nisu kriptirani i šalju se po mreži kao običan tekst. Protokol koji je stoga zamijenio Telnet je Secure Shell – SSH.
205
Prijelom.indd 205
21.9.2010. 11:41:05
Sustavna programska potpora
Vježbe iz poglavlja 6
IP ADRESIRANJE 1. Uvod Računalna mreža nastaje povezivanjem dvaju i više računala. Svrha povezivanja računala je dijeljenje podataka i perifernih uređaja (pisača, skenera...) kojima se može pristupiti putem mreže ili stvaranje distribuirane obrade podataka. Da bi računala međusobno izmjenjivala podatke, moraju koristiti adrese koje će ih identificirati na mreži. IP adresa računala jedinstveni je identifikator računala u mrežnom okruženju i samo jedno računalo može na istoj mreži imati istu IP adresu. Jednako tako, da bi mogli komunicirati, sva računala moraju koristiti isti protokol1. S obzirom na to da računalo adresu može dobiti na nekoliko načina, važno je da se korisnik računala upozna s načinima dobivanja adresa i ostalih mrežnih postavki i stekne uvid u korištenje osnovnih alata za pregled postavki i provjeru komunikacije s drugim računalima. IP adresa sastoji se od četiri broja (okteta) odvojena točkom gdje svaki od ta četiri broja može imati decimalnu vrijednost između 0 – 255. Mada je to na prvi pogled sakriveno, IP adresa sastoji se od 2 dijela: Network ID – identifikator mreže. U pitanju je prvi dio IP adrese i zadužen je za definiranje mreže na kojoj se računalo nalazi. Analogija bi se mogla povući s ulicom i kućnim brojem. Network ID bio bi naziv ulice; Host ID – identifikator hosta. To je drugi dio IP adrese, a zadužen je za definiranje unikatnog broja za računalo. Analogija bi bio kućni broj. Ako pogledamo najčešće korištenu IP adresu koju nalazimo na gotovo svim našim ADSL usmjernicima, a to je 192.168.2.1, teško nam je razlučiti koji se dio u njoj odnosi na spomenutu „ulicu“, a što je zapravo „kućni broj“. Pri tome će nam pomoći nešto što se naziva „Subnet maska“. Subnet maska zapravo broj koji pokazuje gdje se unutar IP adrese nalazi granica između Network i Host ID-a. Primjer također najčešće korištene subnet maske je 255.255.255.0 Pogledajmo sad IP adresu i subnet masku zajedno: 192.
168.
2.
1
255.
255.
255.
0
U navedenom primjeru vidimo što je network, a što host ID: Network ID
- 192.168.0
Host ID - 1 1 Protokol je skup pravila komunikacije računala na računalnoj mreži. Može se reći da je protokol komunikacijski jezik uređaja spojenih u mrežu.
206
Prijelom.indd 206
21.9.2010. 11:41:05
6. poglavlje: RAČUNALNE MREŽE
Iz svega ovoga možemo zaključiti da se računalo (u ovome slučaju naš usmjernik) s IP adresom 192.168.2.1 nalazi u „ulici“ 192.168.2 na „kućnom broju“ 1, pri čemu je ulica „192.168.2“ upravo naša lokalna mreža koja se nalazi u našem stanu ili dnevnom boravku, a kućni su brojevi upravo ti koji će pomoći da „paketi“ koje šaljemo od ili prema našem usmjerniku dođu na odredište. Govoreći o pojmu lokalne mreže, bitno je napomenuti da postoji nekoliko vrta mreža. S motrišta informatičkog stručnjaka, u današnjem su tehnološkom okruženju mreže poprimile drugačiji, napredniji oblik i nude jednostavne i jeftine načine komunikacije kako na lokalnoj razini, tako i na daljinu. Takav oblik mreža pruža mogućnost alternativnim i novim metodama ostvarivanja gotovo trenutačne komunikacije. Umrežena računala mogu pristupati podacima (datotekama) na drugim računalima, koristiti periferne uređaje (npr. mrežni pisač), koristiti programe na drugim računalima (zajedničke servise) i pristupati bazama podataka na drugim računalima. Ako se želi općenito saznati zbog čega su računalne mreže toliko važne i popularne, potrebno je definirati osnovne načine na koje se one danas koriste. Korisnici koji su izolirani i koriste svoja računala bez povezanosti s drugima nemaju mogućnost dijeliti zajedničke hardverske resurse. Na ovaj način, korištenjem mrežne tehnologije korisnici imaju potrebnu radnu infrastrukturu, ali bez nepotrebnog investiranja tvrtke u opremu za svakog pojedinog korisnika. Mreže su postale popularne, ne samo zbog dijeljenja resursa (obično hardverskih, npr. pisači, skeneri, diskovi, modemi, uređaji za backup itd.) već i zbog mogućnosti dijeljenja podataka i aplikacija. Naime, i u maloj tvrtki koja zapošljava svega desetak radnika (npr. putnička agencija) koji se svi nalaze u istoj zgradi, pojedini se podaci i aplikacije mogu nalaziti na jednom računalu (npr. baza podataka o kupcima, računovodstveni program, cjenik usluga…). Time smo osigurali konzistentnost podataka jer se izmjene događaju samo na jednom mjestu. Naravno da prednosti još više dolaze do izražaja kada je riječ o mogućnosti pristupa podacima s udaljenih lokacija (druga geografska lokacija). Ipak, funkcija koja je vjerojatno najviše doprinijela njezinoj popularnosti je komunikacija. Korištenje zajedničkih kalendara, dopisivanje u realnom vremenu (chat), razmjena elektroničke pošte (e-mail), audio i videokonferencije, elektroničko poslovanje značajno su ubrzali i pojeftinili cjelokupan proces kako poslovanja, tako i korištenja mreža za privatne potrebe. Korištenje Interneta kao baze informacija, dostupnost multimedijalnog sadržaja te jednostavnost razmjene informacija između pojedinaca i/ili skupina postao je normalan način rada. Internet je jedna od najpoznatijih računalnih mreža koju je danas gotovo nemoguće zaobići i koja predstavlja globalnu komunikacijsku infrastrukturu. On je nastao i razvijao se upravo na temelju prednosti računalne mreže prikazane u ovom poglavlju. GRUPE MREŽA Računalne mreže možemo podijeliti po veličini odnosno fizičkoj rasprostranjenosti korisnika i uređaja u dvije osnovne grupe:
RAČUNALNE MREŽE LAN (Local Area Network)
WAN (Wide Area Network)
Slika 6.1.1: Osnovna podjela računalnih mreža
207
Prijelom.indd 207
21.9.2010. 11:41:05
Sustavna programska potpora
LAN – lokalna mreža (Local Area Network) je mreža uređaja pod kontrolom zajedničke administracije koja uređuje politiku sigurnosti i pristupa. Lokalnu mrežu čine uređaji povezani na maloj fizičkoj udaljenosti i obično obuhvaća jedno zemljopisno područje te pruža servise za korisnike u zajedničkoj organizacijskoj strukturi, kao što su tvrtka, kampus ili regija.
Slika 6.1.2: LAN (lokalna mreža)
Lokalna mreža može biti reda veličine od dva do stotinu međusobno povezanih uređaja. Stoga lokalne mreže možemo dalje podijeliti i na: 1. PAN (Personal Area Network) – osobna mreža koja je obično manja od 1 metra, npr. mreža između osobnog računala i tipkovnice koja je na njega spojena. Neki autori ovu vrstu mreža izdvajaju iz skupine lokalnih meža, ali mi ćemo je za potrebe ovog priručnika pridružiti unutar grupe lokalnih mreža – LAN 2. HAN (Home Area Network) – mreža sobe ili malog ureda, obično dimenzija do 10 metara, npr. povezuje dva računala i pisač 3. SOHO (Small Office Home Office) – mreža manje tvrtke, obično dimenzija do 100 metara, npr. povezuje sva računala u jednoj manjoj zgradi 4. CAN (Campus Area Network) – mreža veće tvrtke, obično dimenzija do 1000 metara, npr. povezuje sva računala unutar velike bolnice koja se sastoji od više zgrada 5. MAN (Metropolitan Area Network) – mreža na razini grada, obično dimenzija do 10 km, npr. povezuje sva računala središnje tvrtke koja pruža gradske komunalne usluge i koja ima više manjih tvrtki. Neki autori ovu mrežu svrstavaju između LAN i WAN mreža, ali mi ćemo je za potrebe ovog priručnika pridružiti grupi lokalnih mreža – LAN WAN – mreža širokog područja (Wide Area Network) koja spaja lokalne mreže koje su fizički na različitim geografskim područjima.
208
Prijelom.indd 208
21.9.2010. 11:41:05
6. poglavlje: RAČUNALNE MREŽE
LAN WAN Slika 6.1.3: WAN (mreža širokog područja)
Kada tvrtke ima lokalne mreže koje su geografski odvojene, u pravilu moraju koristiti telekomunikacijske usluge odnosno usluge pristupa Internetu ISP-a (ISP – Internet Service Provider) koji je obično i TSP (TSP – Telecommunications Service Provider) kako bi se one povezale. Veza između lokalnih mreža (LAN-ova) obično se ostvaruje preko zakupljenih telekomunikacijskih veza (vodova). Nekada se pod pojmom WAN mreža diferencira brzina jer su brzine na WAN linkovima često dosta manje nego u lokalnim mrežama. Ostale definicije: • Internet – često nazivan i kao „mreža svih mreža“. Sastoji se od velike količine međusobno povezanih LAN i WAN mreža i tvori najveću mrežu na svijetu. Internet nije ni u čijem vlasništvu, bez obzira na to što su sve mreže i mrežna infrastruktura koje ga tvore nečije vlasništvo • Intranet – često nazivan i „lokalni internet“ jer koristi iste tehnologije koje se koriste i na internetu, ali pristup je ograničen samo zaposlenicima tvrtke – dakle, možemo reći da je intranet privatni internet • Internetwork (Interconnected networks) – mreža sastavljena od manjih, međusobno povezanih mreža. Najveći primjer internetworka je sâm internet IP ADRESE Ovisno o tome u kojoj se „ulici“ nalazi neko računalo ili mrežni uređaj, lako ćemo uvidjeti da se i na prvi pogled „ulice“ znatno razlikuju. A uz dodatno ćemo znanje o klasama IP adresa vidjeti da postoje i razlike u kućnim brojevima. Uz korištenje naredbe PING2 iz naredbenog retka upišemo: Ping www.google com dobit ćemo sljedeći rezultat: Pinging www.l.google.com [209.85.135.106] with 32 bytes of data: Reply from 209.85.135.106: bytes=32 time=78ms TTL=51 Reply from 209.85.135.106: bytes=32 time=75ms TTL=51 Reply from 209.85.135.106: bytes=32 time=98ms TTL=51 Reply from 209.85.135.106: bytes=32 time=100ms TTL=51 gdje nam IP adresa 209.85.135.106 čini odredišnu adresu jednog od Google-ovih servera. 2 PING – naredba koja šalje određenu vrstu paketa specificiranom udaljenom računalu. Ako računalo odgovori, dobit ćete povratni ICMP paket. Naredba ping koristi se radi provjere je li računalo „živo“. Ako nema odgovora, može se zaključiti ili da je računalo isključeno pa ne vraća ICMP paket, ili je postavljeno iza vatrozida koji blokira takvu vrstu prometa.
209
Prijelom.indd 209
21.9.2010. 11:41:07
Sustavna programska potpora
Ping www.ss-sesvete-zg.skole.hr Pinging www.ss-sesvete-zg.skole.hr [193.198.184.155] with 32 bytes of data: Reply from 193.198.184.155: bytes=32 time=71ms TTL=49 Reply from 193.198.184.155: bytes=32 time=70ms TTL=49 Reply from 193.198.184.155: bytes=32 time=71ms TTL=49 Reply from 193.198.184.155: bytes=32 time=70ms TTL=49 gdje nam IP adresa 193.198.184.155 čini odredišnu adresu internetskog servera srednje škole. Klasa IP adresa definira raspon IP adresa. Tri su osnovne klase IP adresa koje dodjeljujemo računalima za unicast komunikaciju na TCP/IP mrežama. To su A, B i C klasa. Klasa A Adrese iz A klase dodjeljujemo mrežama s velikim brojem računala. To je klasa koja dopušta maksimalno 126 mreža, ali po svakoj je od tih 126 mreža moguće definirati 16 777 214 računala. Klasa A koristi prvi oktet za network ID, a 2, 3 i 4 za host ID. Subnet maska A klase glasi 255.0.0.0 IP adrese klase A su: 1.0.0.0 do 126.255.255.255 Klasa B Adrese iz klase B dodjeljujemo srednjim i velikim mrežama. To je klasa koja dopušta maksimalno 16 384 mreže, a na svakoj od njih po 16 534 računala. Klasa B koristi prva dva okteta za network ID i zadnja 2 okteta za host ID. Subnet maska B klase glasi 255.255.0.0 IP adrese klase B su: 128.0.0.0 do 191.255.255.255 Klasa C Adrese iz klase C dodjeljujemo malim mrežama. To je klasa koja dopušta maksimalno 2 097 152 mreže, a na svakoj od njih po 254 računala. Klasa C koristi prva tri okteta za network ID i zadnji oktet za host ID. Subnet maska C klase glasi 255.255.255.0 IP adrese klase C su: 192.0.0.0 do 223.255.255.255 Posebni slučajevi IP adrese koje bi inače trebale spadati u klasu A, a ne spadaju jer su ostavljene kao tzv. loopback adrese, jesu 127.0.0.0 do 127.255.255.255. To je posebni blok IP adresa ostavljen isključivo za testiranje. IP adresa 255.255.255.255 je tzv. limited broadcast. Ako pošaljemo paket na tu IP adresu, SVA će ga računala na mreži čuti i uzeti njegovu kopiju. Ip adresa 0.0.0.0 je već prije spomenuta kao standardna ruta (default gateway) i predstavlja sve IP adrese.
210
Prijelom.indd 210
21.9.2010. 11:41:07
6. poglavlje: RAČUNALNE MREŽE
Klasa
Raspon u prvom oktetu
Prefiks i maska
Broj mogućih mreža
Broj mogućih hostova
A
1-126
/8 255.0.0.0
126 (27)
16 777 214 (224-2)
B
128-191
/16 255.255.0.0
16 384 (214)
65 534 (216-2)
C
192-223
/24 255.255.255.0
2 097 159 (221)
254 (28-2)
Na osnovi tablice sada kada znamo da su „ulice“ podijeljene zapravo u klase, lako ćemo razaznati da se www. google.com i www.ss-sesvete-zg.skole.hr nalaze u C klasi, dok se i adresa našeg usmjernika 192.168.2.1 nalazi također u C klasi, ali s jednom bitnom razlikom. Prve dvije adrese pripadaju tzv. JAVNIM IP ADRESAMA, dok adresa našeg usmjernika pripada tzv. PRIVATNIM IP ADRESAMA. Privatne IP adrese IP adrese iz A, B i C klase mogu se koristiti na internetu, ali da bi ih mogli koristiti, morate ih zakupiti. To su javne IP adrese. Postoje i blokovi IP adresa koje NE možete koristiti na internetu, već su namijenjene samo za lokalnu upotrebu, a i ne trebate ih niti platiti. To su: • 10.0.0.0 do 10.255.255.255 (iz Klase A), • 169.254.0.0 do 169.254.255.255 (iz Klase B), • 172.16.0.0 do 172.31.255.255 (iz Klase B), • 192.168.0.0 do 192.168.255.255 (iz Klase C). To su tzv. privatne IP adrese. Za prethodno navedene blokove IP adresa na usmjernicima na internetu ne postoje zapisi u usmjerničkim tablicama. Štoviše, zbog sigurnosti su često i blokirani paketi s takvim adresama. Koristeći informaciju da se C klasa koristi za male mreže te činjenicu da IP adresa 192.168.2.1 spada u privatne IP adrese, lako je zaključiti zašto je upravo nju naš ISP pružatelj usluga (T-COM, Iskon, Amis, ...) dodijelio našem usmjerniku. S obzirom da je u tekstu ranije spomenuto da je IP adresa jedinstvena na mreži, postavlja se pitanje kako je moguće da većina naših ADSL modema/usmjernika ima istu IP adresu, a to je 192.168.2.1?
Slika 6.1.4: ADSL Router (priključci)
211
Prijelom.indd 211
21.9.2010. 11:41:07
Sustavna programska potpora
Ako pogledamo sliku jednog od takvih usmjernika, možemo ga doslovce podijeliti na dva dijela, jedan je onaj privatni preko kojeg su spojena naša računala (ili pomoću UTP kabla ili WiFi-ja) i drugi je onaj koji čini priključak na ADSL liniju. Prvi čini našu lokalnu, privatnu mrežu i tu nije bitno ako mi i naš kolega ili prijatelj imamo iste IP adrese, jer je to izolirana mreža i IP adrese su na njoj jedinstvene, mi se na internet spajamo preko javne IP adrese koju dobivamo od našeg ISP pružatelja usluga. I ona je opet jedinstvena. Primjer IP adrese dobivene od ISP providera dan je u nastavku. Pinging 93.139.101.130 with 32 bytes of data: Reply from 93.139.101.130: bytes=32 time=2ms TTL=64 Reply from 93.139.101.130: bytes=32 time=1ms TTL=64 Reply from 93.139.101.130: bytes=32 time=12ms TTL=64 Reply from 93.139.101.130: bytes=32 time=1ms TTL=64 Ovdje vidimo da IP adresa 93.139.101.130 pripada A klasi, čiji je subnet 255.0.0.0, što znači da se u „ulici“ 93 nalazi računalo odnosno usmjernik, i to na „kućnom broju“ 139.101.130. Riječ je o jako velikoj ulici u kojoj se nalazi mnogo kućnih brojeva, što je i logično ako se uzme u obzir broj korisnika koji pristupaju internetu putem ADSL-a. APIPA – blok IP adresa 169.254.0.0 do 169.254.255.255 kupio je Microsoft i koristi ga u svojim operativnim sustavima kao IP adrese koje računalu dodjeljuje APIPA (Automatic Private IP Addressing) protokol ako nema DHCP servera.
2. Temeljni pojmovi • statička IP adresa • dinamička IP adresa • subnet maska • klase IP adresa • APIPA
3. Cilj vježbe • naučiti razliku između statički i dinamički dodijeljene IP adrese, • naučiti razlikovati klase IP adresa, • uvidjeti svrhu APIPA adrese i naučiti kada će ju operativni sustav dodijeliti računalu, • ovladati znanjima na koji se način može saznati IP adresa računala.
4. Priprema za vježbe: Pokrenite vaše računalo. Uvjerite se da, zbog prethodno odrađenih vježbi, postavke mrežne kartice virtualnog računala izgledaju kako je prikazano na sljedećoj slici.
212
Prijelom.indd 212
21.9.2010. 11:41:07
6. poglavlje: RAČUNALNE MREŽE
Ako nije tako, promijenite. Putem Control Panel Network and Internet Network Connections otvorite postavke mrežne kartice virtualnog računala. Kliknite na Details...
213
Prijelom.indd 213
21.9.2010. 11:41:07
Sustavna programska potpora
5. Vježbe A. Prijavite (ulogirajte) se na virtualno računalo s administratorskim računom. B. Kliknite na Start i upišite u prostoru za pretraživanje cmd.
C. Nakon otvaranja naredbene linije, kojom ćete naredbom saznati koja je IP adresa dodijeljena računalu?
D. Upišite ipconfig /all i pronađite IP adresu. Upišite u nastavku E. Poklapa li se IP adresa dobivena naredbom ipconfig /all s IP adresom prikazanom na slici iznad?
F. Može li se dogoditi da vaše računalo nema IP adresu? G. Iz koje je klase IP adresa koju ste dobili? H. Napišite NETWORK ID
i HOST ID
I. Kako nazivamo takvu IP adresu? J. Zbog čega ju je računalo dobilo? K. Odaberite na mrežnoj kartici u TCP/IP postavkama da vaše računalo ima statičku IP adresu. • Kako ćete to napraviti? L. Dodijelite mu fiksnu IP adresu iz A klase. • Koju ste IP adresu dodijelili? Koja je subnet maska vašeg računala?
214
Prijelom.indd 214
21.9.2010. 11:41:07
6. poglavlje: RAČUNALNE MREŽE
6. Upute i objašnjenja uz vježbe Postavke mrežne kartice našeg virtualnog računalo takve su da ono od drugog računala odnosno servera očekuje da mu dodijeli IP adresu. Njegova je IP adresa konfigurirana kao dinamička i ono će pri svakom uključenju zatražiti da mu se dodijeli IP adresa. Kako smo mi na postavkama virtualnog računala (putem Virtual PC konzole) definirali da mrežna kartica virtualnog računala nema dodira s vanjskom mrežom niti mrežom našeg računala, naše je računalo očekivalo da mu se dodijeli IP adresa. Kako na lokalnoj virtualnoj mreži nije bilo uređaja koji bi mu dodijelio IP adresu, ono si je samo dodijelilo tzv. APIPA adresu. Na postavkama TCP/IP protokola, odabirom
Vaše računalo očekuje da mu se ručno unese adresa. Da bi moglo sudjelovati u mrežnom radu, računalo moram imati barem IP adresu i subnet masku. 172.16.10.10 sa Subent maskom 255.255.0.0 primjer je IP adrese iz B klase, i to iz adresnog prostora koji je privatan. S obzirom da se naše računalo ne nalazi na javnoj mreži, ono mora imati privatnu IP adresu. Ali, jednako tako, računalo koje se nalazi na javnoj mreži mora imati IP adresu iz javnog adresnog prostora.
215
Prijelom.indd 215
21.9.2010. 11:41:07
Sustavna programska potpora
MREŽNE POSTAVKE (DHCP) 1. Uvod Nakon što putem Control Panel Network and Internet Network Connections otvorimo mrežne konekcije, klikom na mrežnu karticu kojom smo spojeni na mrežu otvara se njezin status. Dvostrukim klikom i odabirom Properties... dobivamo sljedeći dijaloški okvir
u kojemu smo klikom na Internet Protocol Version 4 (TCP/Ipv4) u prethodnoj vježbi podešavali IP adresu virtualnog računala. Što je to TCP/IP? Protokol koji je osigurao da će se dva računala „razumjeti“ na mreži (bez obzira na to je li riječ o LAN ili WAN mreži) i jednako tako kvalitetno razmijeniti tražene informacije, bez obzira što će jedno računalo koristiti Windows operativni sustav, a drugo Linux jest TCP/IP protokol. Oduvijek je razvoj Interneta bio usko povezan s razvojem telekomunikacijskih tehnologija pa tako danas možemo reći da je izum telegrafa, telefona, radio valova... zapravo bio komunikacijska podloga razvoju Interneta. Nastanak Interneta veže se za Američko ministarstvo obrane. Kao i sve što je Američko ministarstvo obrane iniciralo, tako je i postanak Interneta još uvijek obavijen velom tajne. Internet je razvila ARPA (Advanced Research Projects Agency) za potrebe američkog ministarstva obrane – DOD (Department of Defence) krajem 60-ih godina prošlog stoljeća.
216
Prijelom.indd 216
21.9.2010. 11:41:07
6. poglavlje: RAČUNALNE MREŽE
Jedni izvori zagovaraju tezu da je „okidač“ bilo lansiranje Sputnika1, dok drugi zagovaraju da je to bio razvoj nuklearnih bojevih glava i početak utrke u nuklearnom naoružanju. Kako je to bilo doba hladnog rata, Internet se morao temeljiti na protokolu koji je morao zadovoljiti kriterije koje je DOD2 postavila ARPA agenciji: • robusnost – mreža mora raditi čak i ako je uništen veći dio infrastrukture. Konkretno, zahtjev je bio da mreža nastavi funkcionirati ako je uništeno čak 7/8 infrastrukture • decentraliziranost – ne smije postojati centraliziranost mreže jer ako ima jedno ili više središta (centara) o kojima mreža ovisi, vrlo ih je lako locirati i uništiti • otpornost na greške –ako je došlo do greške u prijenosu podataka ili je put kojim su podaci putovali prekinut, protokol mora nastaviti komunikaciju bez obzira na sve. Godine 1972. u pogon je pušten prvi prototip protokola koji je povezivao četiri američka sveučilišta, a naziv mu je bio ARPANET. Danas TCP/IP protokol nije ni u čijem vlasništvu, što je dodatno pogodovalo njegovom razvoju i rasprostranjenosti. Godine 1990. dolazi do uključivanja nefakultetskih organizacija u TCP/IP mrežu, što je rezultiralo nastankom Interneta u obliku u kakvom ga danas poznajemo. Internet je mreža međusobno povezanih računala i mreža koja koristi TCP/IP skupinu protokola kao komunikacijski protokol. Kako radi TCP/IP protokol Proces kojim TCP/IP šalje podatke između dvije lokacije analogan je procedurama koje se koriste pri slanju pošte. Recimo da želite poslati knjigu poštom. Jedini je uvjet taj da je ne možete poslati u jednom komadu, već isključivo putem pisama. Ono što će TCP/IP protokol odraditi jest rastaviti tu knjigu na stranice, svaku od stranica spakirati u poštansku omotnicu (tzv. kuvertu) na koju se upiše adresa primatelja i pošalje na odredište nekim od dostupnih transporta. Na drugoj se strani odrađuje suprotan proces i knjiga bi u konačnici trebala biti čitljiva. Dva ili više računala međusobno komuniciraju preko TCP/IP protokola, a ono putem čega protokol „razgovara“ je IP adresa, odnosno da bi mrežna komunikacija mogla započeti, potrebno je znati IP adresu odredišnog i ishodišnog računala. Podešavanje IP adrese napravili smo u prethodnoj vježbi. Odabirom svojstava TCP/IP protokola, odnosno klikom na Properties dobivamo sljedeći dijaloški okvir.
1 Sputnik (rus. Спутник) je prvi Sovjetskih satelit koji je prošao Zemljinom orbitom 1957. i označio početak osvajanja svemira. Krajem 19. stoljeća ruski znanstvenik Konstantin Ciolkovski predložio je kako bi svemirske brodove mogle pokretati rakete na tekuće gorivo. Do značajnog napretka u svemirskim istraživanjima nije došlo sve dok se nije pojačalo suparništvo između država tijekom hladnog rata. Sovjetski i američki naučnici svoju su pozornost usmjerili na rakete koje su mogle prenositi nuklearne bojeve glave, a izmijenjene su inačice takvih raketa upotrijebljene za lansiranje prvog umjetnog satelita “Sputnik 1” 4. listopada 1957. Taj je događaj pokrenuo takozvanu “svemirsku utrku”, a 31. siječnja 1958. SAD su lansirale svoj prvi satelit “Explorer 1”. 2 DOD – Department od Defense.
217
Prijelom.indd 217
21.9.2010. 11:41:07
Sustavna programska potpora
U njemu vidimo da osim IP adrese, koja može biti dodijeljena dinamički (Obtain IP adress automatically) ili fiksna (Use the following IP adress) postoji opcija unosa Default gateway i DNS servera. DHCP SERVER Računala svoju IP adresu mogu imati konfiguriranu na dva načina – statički i dinamički. Kod statički se konfiguriranih TCP/IP postavki mrežne kartice podrazumijeva da je korisnik ili sistemski i mrežni administrator unio ručno zahtijevane parametre. Primjer tako konfigurirane mrežne kartice dan je na slici u nastavku.
218
Prijelom.indd 218
21.9.2010. 11:41:07
6. poglavlje: RAČUNALNE MREŽE
Takav način konfiguriranja mrežnih postavki ima svojih mana i prednosti, no glavno mu je obilježje da je pogodan za manje LAN mreže. Kompleksnost održavanja takvih računala odnosno mreže koju oni čine raste s njihovim brojem, pri čemu posebice treba voditi brigu o velikoj mogućnosti pogreške kod konfiguriranja što automatski dovodi do toga da takvo računalo ne može sudjelovati u mrežnom radu. U velikim se mrežama (iako nas ništa ne sprječava da to napravimo i u manjim ) pribjegava konfiguraciji mrežnih postavki uz pomoć DHCP servera. DHCP (Dynamic Host Configuration Protocol) je protokol koji služi za dodjeljivanje IP adrese (TCP/IP parametara3) na klijentskim računalima i jedan je od infrastrukturnih servisa na bilo kojoj mreži koja se zasniva na IP adresiranju, a gdje se želi postići dinamičnost mrežne okoline. DHCP server je poslužitelj na kojem je instaliran poslužiteljski dio DHCP-a (servis) i on odgovara na klijentske upite za IP adresom te im osim IP adrese dodjeljuje dodatne parametre, poput DNS4 i WINS5 poslužitelja. DHCP smanjuje administratorski posao jer računalu,ako želimo da koristi TCP/IP protokol, moramo dodijeliti IP adresu. To nije problem ako imamo dva računala, ali ako imamo 200 ili 2000 računala koja treba ručno podesiti, trebat će nam nekoliko dana da obavimo taj posao. S DHCP poslužiteljem na mreži dodavanje novih računala jednostavan je zadatak. DHCP poslužitelj čeka da mu se klijentsko računalo obrati i zatraži IP adresu. Klijentsko računalo, koje je podešeno da zatraži IP adresu od DHCP poslužitelja, zatražit će je u trenutku inicijalizacije protokola (kod pokretanja računala). DHCP poslužitelj će klijentu ponuditi IP adresu – to se zove proces generiranja posudbe (Lease Generation Proces). Dakle, klijentsko računalo zapravo posudi IP adresu od DHCP poslužitelja i ima je pravo koristiti određeno vrijeme, kao što u videoteci posudimo DVD i moramo ga vratiti nakon određenog vremena. IP adresa i ostale postavke koje je klijent dobio od DHCP poslužitelja nazivaju se posudbom (Lease). Primjer tako konfigurirane mrežne kartice dan je na slici u nastavku.
3 TCP/IP protokol – način interpretacije i prijenosa podataka između dva računala, TCP/IP paremetri: dodijeljene postavke mrežne kartice računala kako bi moglo sudjelovati na TCP/IP mreži. 4 Domain Name System. 5 WINS – Windows Internet Name Service.
219
Prijelom.indd 219
21.9.2010. 11:41:08
Sustavna programska potpora
Iako se na prvi pogled čini da tako konfigurirano računalo nema mrežne postavke, to nije točno. Nekoliko je načina provjere, a kako izgledaju mrežne postavke tako konfiguriranog računala, prikazano je u nastavku.
2. Osnovni pojmovi • TCP/IP • mrežne postavke • DHCP • dinamička IP adresa
3. Cilj vježbe Upoznati se s TCP/IP protokolom te shvatiti njegovu važnost. Naučiti prednosti dinamičkog dodjeljivanja IP adresa.
4. Priprema vježbe Provjerite s vašim nastavnikom na koji se način dodjeljuju IP adrese računalima u učionici. Je li riječ o dinamičkoj dodjeli (DHCP) ili računala imaju statičku IP adresu? Ako je dodjela IP adresa računalima u vašim učionicama dinamička, pripremite virtualno računalo kako je navedeno. Podesite postavke mrežne kartice virtualnog računala tako da dijeli mrežnu karticu u host računalu. To ćete napraviti putem Virtual PC 2007 konzole, Edit Settings. 
220
Prijelom.indd 220
21.9.2010. 11:41:08
6. poglavlje: RAČUNALNE MREŽE
Pokrenite SPP-CL1. Prijavite se (ulogirajte) s administratorskim računom. Ako distribucija IP adresa nije dinamička, odnosno ne koristi se DHCP server na vašoj mreži, vratite postavke mrežne kartice virtualnog računala na „Local Only“. Pokrenite virtualno računalo SPP-DC1.
5. Vježba A. Nakon što ste se ulogirali na SPP-CL1, provjerite TCP/IP postavke mrežne kartice. Kako je konfigurirano, kao dinamička dodjela ili fiksna IP adresa?
B. Ako je konfigurirano kao fiksna IP adresa, promijenite na dinamičko. C. Upišite u komandno-linijskom alatu (Command prompt) naredbu IPCONFIG /all. Ima li računalo još uvijek APIPA adresu?
D. Ako ima, pomoću komandno-linijskog alata napišite naredbu IPCONFIG /renew. Što se dogodilo ?
E. Je li vaše računalo dobilo drugu IP adresu?
221
Prijelom.indd 221
21.9.2010. 11:41:08
Sustavna programska potpora
F. Napišite ju!
O kojoj je klasi IP adrese riječ?
G. Napišite ponovno naredbu IPCONFIG /renew. Je li se IP adresa promijenila? H. Ako nije, zašto nije? I. Kliknite na Details ... u statusu mrežne konekcije.
J. Prepišite ostale postavke:
222
Prijelom.indd 222
21.9.2010. 11:41:08
6. poglavlje: RAČUNALNE MREŽE
6. Upute i objašnjenja uz vježbe Promjenom postavki mrežne kartice na virtualnom računalu iz „Local only“ na mrežnu karticu host računala dopustili ste virtualnom računalu da komunicira s LAN-om učionice. S obzirom da je na mreži bio DHCP server6, a virtualno je računalo konfigurirano da radi s dinamičkom IP adresom, ono ju je dobilo od DHCP servera na mreži. Ako je računalo tek pokrenuto te prvi put uspostavlja kontakt s DHCP poslužiteljem, postupak dobivanja IP adrese izgledat će ovako: 1. DHCPDISCOVER – postupak u kojem klijentsko računalo na mrežu šalje broadcast paket u kojem je ishodišna IP adresa 0.0.0.0 (jer još uvijek nema IP adresu) i odredišna IP adresa 255.255.255.255 (jer ne zna koja je IP adresa DHCP poslužitelja). Kako je u pitanju klasični TCP/IP paket, u njemu je MAC adresa ishodišnog računala i na temelju nje će DHCP poslužitelj moći vratiti paket klijentu. Klijent čeka na odgovor jednu sekundu. Ako odgovora nema, klijent šalje zahtjev ponovno, i to u vremenskim intervalima od 2, 4, 8 i 16 sekundi. Ako u tih pet pokušaja ne dobije odgovor od DHCP poslužitelja, dodijelit će si IP adresu iz APIPA područja ili onu koju smo definirali na alternate configuration tabu. Postupak DHCPDISCOVER se u tom slučaju ponavlja svakih 5 minuta; 2. DHCPOFFER – SVI DHCP poslužitelji koji čuju taj paket, napravit će rezervaciju za prvu slobodnu IP adresu koju imaju u svojoj bazi IP adresa i ponuditi je klijentu tako da broadcastom pošalju paket na mrežu. U paketu je ishodišna IP adresa IP adresa DHCP poslužitelja, a odredišna IP adresa je 255.255.255.255 (jer klijentsko računalo i dalje nema IP adresu). DHCP poslužitelj je u paket stavio klijentovu MAC adresu i na temelju nje će klijent uzeti paket s prijenosnog medija. U paketu je i IP adresa i subnet maska koja se nudi; 3. DHCPREQUEST – klijent uzme prvu pristiglu ponudu, a ostale ignorira. Odgovara poslužitelju čiju ponudu prihvaća broadcast paketom, kako bi ostali DHCP poslužitelji koji su rezervirali IP adresu i ponudili je klijentu mogli osloboditi rezervaciju i dati je nekom drugom klijentu; 4. DHCPACK – paket kojim DHCP poslužitelj obavještava klijenta da je postupak dodjeljivanja IP adrese gotov. U tom se paketu nalazi IP adresa, subnet maska i trajanje leasea, kao i svi ostali parametri koji su podešeni na DHCP poslužitelju, poput IP adrese DNS i WINS poslužitelja, IP adrese defaultnog gatewaya i sl. Taj je paket također poslan broadcastom. Naredbom IPCONFIG /renew zatražili ste obnavljanje IP adrese. Postupak je sljedeći, i za razliku od onoga kada računalo prvi put traži IP adresu, puno kraći. 1. DHCPREQUEST – klijent šalje DHCP poslužitelju koji mu je dodijelio IP adresu paket u kojem traži osvježenje (renew) leasea; 2. DHCPACK – poslužitelj obnovi klijentu lease. Lease renewal proces događa se onoliko često koliko je definirano na samom DHCP poslužitelju ili kod ponovnog pokretanja klijentskog računala. Jednako ga tako možemo ručno pokrenuti korištenjem naredbe ipconfig /renew iz naredbenog retka. Kao što smo rekli, klijentsko je računalo samo posudilo IP adresu i dobilo je na korištenje na određeno vrijeme. To je vrijeme predefinirano na 6 ili 8 dana i, naravno, može se mijenjati. Klijentsko će računalo automatski pokušati obnoviti IP adresu nakon 50% potrošenog vremena. Ako mu poslužitelj odgovori, klijent obnavlja lease i brojač kreće od nule, a ako mu poslužitelj ne odgovori, nastavlja koristiti IP adresu kao da se ništa nije dogodilo. U našem slučaju, DHCP server nam zbog kratkog vremena posudbe nije odgovorio i adresa je ostala ista. DHCP opcije konfiguracijski su parametri koje DHCP poslužitelj dodjeljuje klijentima zajedno s IP adresom. Korištenjem DHCP opcija DHCP poslužitelj postaje moćan alat u rukama administratora. Ne samo da administrator može sa središnjeg mjesta svim računalima dodijeliti IP adrese i subnet maske, nego može definirati i dodatne parametre, poput defaultnog gatewaya, DNS poslužitelja, WINS poslužitelja i sl., i upravo su to vrijednosti koje ste vi prepisali kao dodatne parametre dobivene uz IP adresu.
223
Prijelom.indd 223
21.9.2010. 11:41:08
Sustavna programska potpora
MREŽNE POSTAVKE (DNS) 1. Uvod Da bi moglo komunicirati s ostalima, svako računalo unutar bilo koje mreže ima dodijeljenu jedinstvenu IP (Internet Protocol) adresu. Ta je adresa u brojčanom obliku xxx.yyy.xxx.zzz (npr. 192.168.0.1, 10.243.101.100...) Iza svake se IP adrese nalazi računalo (Host), pa se tako iza IP adrese 85.94.77.116 nalazi www.algebra.hr ili iza IP adrese 212.15.168.68, www.vip.hr. Kako je svima lakše upamtiti naziv računala nego IP adresu, napravljen je servis koji radi prevođenje između imena i IP adrese računala. Prije pojave prvih DNS poslužitelja koristili su se host datotekama unutar kojih je bila upisana veza između imena i IP adrese. Taj je način bio djelotvoran kada je bilo malo hostova (a i tu je dolazilo do problema u administraciji jer se host datoteka morala promijeniti na svakom računalu kada bi došlo do neke promjene), dok je povećanjem broja računala rad s host datotekama postao nemoguć. Da bi se lakše upravljalo prevođenjem između imena i IP adresa, uveden je Domain Name System (DNS) poslužitelj. DNS je distribuirana baza podataka koja nam omogućuje pretvorbu imena računala u IP adresu i obrnuto. Definiramo je distribuiranom jer se podaci o imenima računala ne nalaze na jednom poslužitelju, već su raspoređeni diljem svijeta. Svako DNS ime predstavljeno je uz pomoć FQDN (Fully Qualified Domain Name) imena i predstavlja određeni host unutar DNS hijerarhije. Npr. www.algebra.hr je FQDN i kao i svaka FQDN može se raščlaniti na više razina, a svaka odvojena točkom. U našem primjeru .hr predstavlja top-level domenu, a algebra second-level domenu, dok www predstavlja točno određeno računalo (host), tj. (u ovom slučaju) servis (World Wide Web). Top-level domene u pravilu označavaju vrstu organizacije (com, gov, edu, org) ili državu u kojoj se domena nalazi (hr, ba, uk, de...), a second-level domena predstavlja određenu organizaciju s njezinim top-level imenskim prostorom (imenom organizacije). Third-level predstavlja neki host u toj domeni ili poddomenu. Sastavnice DNS rješenja su: • DNS poslužitelj – računalo koje na sebi ima instaliran DNS servis i zaduženo je za jedan dio namespacea; • DNS klijent – računalo koje ima pokrenut DNS klijentski servis (i naše virtualno računalo je DNS klijent); • DNS Resource records – unosi se u DNS bazi podataka koji povezuju ime računala i IP adresu. Proces kojim DNS klijent traži rezoluciju imena od DNS poslužitelja naziva se DNS upit (engl. DNS Query). Dva su tipa DNS upita: • iterativni • rekurzivni
224
Prijelom.indd 224
21.9.2010. 11:41:08
6. poglavlje: RAČUNALNE MREŽE
DNS poslužitelj može biti autoritativan ili neautoritativan za traženu zonu. Ako je DNS poslužitelj autoritativan za zonu u kojoj se nalazi računalo čija IP adresa zanima klijenta, poslužitelj će vratiti ili autoritativan odgovor s IP adresom, ili autoritativan NE koji znači da to računalo ne postoji u traženoj zoni. Ako je DNS poslužitelj neautoritativan za traženu zonu, proslijedit će klijentov upit na DNS poslužitelj koji mu je definiran kao forwarder ili će kontaktirati poznate IP adrese root name poslužitelja i na temelju njihovih odgovora saznati IP adresu traženog računala. Rekurzivni upit je upit u kojem klijent traži od DNS poslužitelja da mu dade potpuni odgovor. Na DNS poslužitelju je da odradi sav posao koji je potreban za saznavanje IP adrese. Rekurzivne upite obično koriste klijenti koji moraju saznati IP adresu ili DNS poslužitelji koji imaju konfiguriran forwarder. Odgovor na rekurzivni upit može biti: • traženi odgovor • greška koja kaže da traženi podatak ne postoji • greška koja kaže da tražena domena ne postoji Kako to radi? 1. Klijent pošalje rekurzivni upit DNS poslužitelju. 2. DNS poslužitelj provjeri ima li u svom cacheu odgovor na klijentov upit. Ako ima, vrati mu rezultat. 3. DNS poslužitelj pogleda je li autoritativan za traženu zonu Ako jest, vrati klijentu tražene podatke, ako nije, pogleda je li konfiguriran za korištenje forwardera. Ako jest, šalje rekurzivni upit na njega. Ako DNS poslužitelj nije konfiguriran za korištenje forwardera, krenut će od početka namespacea (root domene) i kontaktirati root DNS poslužitelje, koji će mu vratiti listu IP adresa op level DNS poslužitelja, oni će mu vratiti listu adresa second level DNS poslužitelja, koji će mu na kraju vratiti autoritativan odgovor. Točka 4 je zapravo prelazak na iterativni upit. Iterativni upit je upit u kojem DNS klijent traži najbolji odgovor koji može dobiti. Rezultat iterativnog upita je preporuka (engl. referal) koja sadržava popis DNS poslužitelja koji mogu dalje pomoći u traženju konačnog odgovora. Iterativni upit obično koriste DNS poslužitelji koji odgovaraju na klijentov rekurzivni upit. Rezultat iterativnog upita je: • traženi odgovor, • autoritativan NE, • referal prema drugim DNS poslužiteljima. Kako to radi? 1. Klijent (u ovom slučaju DNS poslužitelj koji mora odgovoriti na klijentski rekurzivni upit) šalje iterativni upit prema root hintovima kako bi dobio autoritativni poslužitelj za određeni dio namespacea. 2. Root hint mu vrati referal prema DNS poslužiteljima zaduženima za taj dio namespacea. 3. Ovaj se postupak ponavlja sve dok ne dođe do kraja namespacea i ne ostane samo ime računala. 4. Na kraju mu taj zadnji DNS poslužitelj, čiju je IP adresu dobio, vrati traženi odgovor ili mu odgovori autoritativnim NE. Root hint je popis root DNS poslužitelja koji je spremljen lokalno na svakom DNS poslužitelju. DNS poslužitelj koristi root hintove kad mora saznati podatke van svog autoriteta, tj. za zonu za koju nije autoritativan.
225
Prijelom.indd 225
21.9.2010. 11:41:08
Sustavna programska potpora
Domain Name System (DNS) je osnovna metoda rezolucije imena kod operativnih sustava Windows Server 2008, kao i prethodnih inačica operativnih sustava, kao što su Windows 2000, Windows XP, Windows Server 2003 te Windows Vista. Jednako jetako jedan od osnovnih preduvjeta za implementaciju Active Directory Domain Servicesa (AD DS). Integracija DNS i AD DS doprinosi sigurnosti domene te boljim performansama samog sustava. Sljedeća slika pokazuje organizaciju DNS imenskog prostora.
Slika 6.3.1 – Organizacija imenskog prostora
DNS ime se sastoji od dva ili više dijelova odvojenih točkama (.). Krajnje desni dio označava vršnu domenu (TLD – Top Level Domain). Ostali su dijelovi imena poddomena vršne domene ili druge poddomene. Imena vršne domene su funkcionalnog ili zemljopisnog karaktera. Poddomene se obično odnose na organizaciju ili dio organizacije koja je vlasnik domene.
2. Osnovni pojmovi • Domain Name System • host • FQDN • sastavnice DNS rješenja • iterativni upit • rekurzivni upit • imenski prostor
3. Cilj vježbe Upoznati učenika s važnošću DNS-a.
226
Prijelom.indd 226
21.9.2010. 11:41:08
6. poglavlje: RAČUNALNE MREŽE
4. Priprema vježbe Pokrenite računalo SPP-CL1 i prijavite se (ulogirajte) s administratorskim računom. S vašeg host računala, iz komandno-linijskog alata upišite naredbu ping www.google.com i ping www.bug.hr
Uzmite u međuspremnik (označite kursorom i ENTER ) IP adresu 74.125.43.104 i unesite ju u internetski preglednik kao http://74.125.43.104 Što se dogodilo?
Što iz ovoga možemo zaključiti? Kao što je već rečeno, svako računalo koje sudjeluje u mrežnom radu mora imati IP adresu, pa tako i ona Googleova. IP adresa jednog od Googleovih računala/poslužitelja je 74.125.43.104. I bez unosa potpune internetske adrese, kao npr. www.algebra.hr, www.vip.hr , ako znamo IP adresu, otvorit će nam se INTERNETSKA stranica. No kako je poprilično teško zapamtiti nekoliko desetaka IP adresa koje koristimo u svakodnevnom radu, koristimo DNS server i upisujemo URL.
5. Vježba A. Konfigurirajte vaše virtualno računalo da koristi fiksnu IP adresu 192.168.2.1 sa Subnet maskom 255.255.255.0 • U komandno-linijskom alatu napišite ping 192.168.2.1. Napišite što ste dobili?
• Sada napišite ping –a 192.168.2.1. Upišite rezultat • Možete li to objasniti?
227
Prijelom.indd 227
21.9.2010. 11:41:08
Sustavna programska potpora
B. Otvorite Windows preglednik i pozicionirajte se u mapu C:\Windows\System32\drivers\etc, pronađite datoteku hosts .
• Otvorite ju postavljanjem na nju i desnim klikom odaberite „Open“ i odaberite Notepad. • Nadodajte sljedeći zapis u zadnjem redu: 192.168.2.1 Skolskoracunalo kako je prikazano na slici u nastavku.
• Spremite datoteku. • Jeste li ju uspjeli spremiti? • Ako niste, zašto? • Što ste napravili da biste ju mogli spremiti?
228
Prijelom.indd 228
21.9.2010. 11:41:08
6. poglavlje: RAČUNALNE MREŽE
C. Nakon što ste završili, putem komandno-linijskog alata napišite naredbu: ping skolskoracunalo. • Koji je rezultat? • Zašto je tomu tako?
6. Upute i objašnjenja uz vježbe Ping je mrežni alat koji se koristi za testiranje dostupnosti nekog računala na IP mreži. To je naredba koja šalje ICMP ECHO_REQUEST paket specificiranom udaljenom računalu. Ako računalo odgovori, dobit ćete povratni ICMP paket. Naredba ping koristi se radi provjere je li računalo „živo“. Ako nema odgovora, može se zaključiti ili da je računalo isključeno pa ne vraća ICMP paket, ili je postavljeno iza vatrozida koji blokira takvu vrstu prometa. Ping se može pokrenuti pomoću različitih opcija. Mogućnosti naredbe dobivamo ako u komandno-linijskom alatu napišemo ping /?.
Naredba ping –a ip_adresa kontaktirala je tzv. DNS cache klijenta, u ovome slučaju našega virtualnog računala. Sve dok je rezultat u cacheu klijenta, on ne mora kontaktirati DNS poslužitelja. Jednako tako, ako lokalni DNS poslužitelj ima cacheiran zapis koji klijent traži, neće morati kontaktirati forwardera/root hintove. Naravno, to može rezultirati i pogreškama zbog promjene IP adrese u međuvremenu i sl. Zbog svega navedenoga, iako na našoj mreži ne postoji DNS server, uspjeli smo iz IP adrese saznati i ime računala. U manjim lokalnim mrežama koje nemaju podignut DNS server, kao zamjena se može koristiti hosts datoteka koja se nalazi u mapi C:\Windows\System32\drivers\etc. Nekada davno, host datoteka je zapravo bila preteča DNS servera, međutim, kod većeg ju je broja računala na taj način bilo teško održavati. Potrebno ju je otvoriti u tekst-editoru, npr. Notepadu, i unijeti IP adrese i imena računala koja postoje na mreži. Naravno, preduvjet za to je da su i same IP adrese tih računala fiksne, odnosno da se ne mijenjaju dinamički s DHCP servera. Kako smo mi u našu „DNS datoteku“ unijeli zapis koji je za ime virtualnog računala vezao i naziv „Skolskoracunalo“, naredba ping nam je vratila IP adresu. Pri spremanju promjena u hosts datoteci, moguće je da nismo uspjeli spremiti kao dio zaštite operativnog sustava i samih korisnika.
229
Prijelom.indd 229
21.9.2010. 11:41:08
Sustavna programska potpora
Naime, pogrešan zapis u hosts datoteci može odvesti korisnika na internetske stranice koje on ne želi. Većina zloćudnih (malicioznih) programa ima tendenciju mijenjanja zapisa u hosts datotekama. Da bi naše računalo moglo normalno funkcionirati na mreži te da bi nam „surfanje“, pristup društvenim mrežama i svemu ostalom bili neometani, mora imati unesen DNS server. Može se koristiti DNS server ISP pružatelja usluga ili se može koristiti DNS server koji se nalazi na našoj lokalnoj mreži.
230
Prijelom.indd 230
21.9.2010. 11:41:08
6. poglavlje: RAČUNALNE MREŽE
MREŽNE POSTAVKE (DEFAULT GATEWAY) 1. Uvod Da bi dva računala međusobno mogla komunicirati, moraju imati isti NETWORK ID. Primjerice, ako imamo RACUNALO1 sa IP adresom: 192.168.1.1 i Subnet maskom 255.255.255.0 i RACUNALO2 s IP adresom: 192.168.2.1 i i Subnet maskom 255.255.255.0, vidimo da jedno ima NETWORK ID – 192.168.1, a drugo ima NETWORK ID – 192.168.2, što znači da se oni ne nalaze u istoj „ulici“ i da nam za njihovu međusobnu komunikaciju treba usmjernik (Router). Usmjernici povezuju i omogućuju komunikaciju između računalnih mreža i pronalaze najbolji put za podatke do cilja. Usmjernik može biti implementiran kao računalo ili kao poseban uređaj specijaliziran za usmjeravanje paketa podataka kroz računalne mreže. Najčešće je zaseban uređaj. Usmjernik je, kada je izveden kao posebni uređaj, također računalo koje ima gotovo sve sastavnice (CPU, memoriju, sistemsku sabirnicu, ulazno-izlazna sučelja…) i operativni sustav pomoću kojeg se konfigurira za usmjeravanje paketa. Može se koristiti za segmentiranje velikih LAN mreža, ali njegova je glavna upotreba u WAN mrežama. Ruteri su osnova velikih LAN i WAN mreža i Interneta.
12345678
12345678
Hub
Hub
Hub
Hub
12345678
Ruter
12345678
Da bismo razumjeli na koji to način subnet maska dijeli IP adresu na network i host ID, moramo IP adresu i subnet masku pretvoriti u binarni oblik i vidjeti kako “razmišlja” računalo. Kao što znamo, računalo poznaje samo 2 broja – to su 0 i 1. To je binarni sustav pa ćemo se morati podsjetiti što smo o njemu učili u školi. IP adrese prikazane u binarnom obliku izgledaju kao četiri okteta binarnih brojeva. Kažemo okteta, jer se svaki od ona četiri segmenta IP adrese odvojene točkama sastoji od osam bitova.
231
Prijelom.indd 231
21.9.2010. 11:41:11
Sustavna programska potpora
Uzmimo za primjer IP adresu: 192.168.0.33 U binarnom obliku ona izgleda: 11000000.10101000.00000000.00100001 Na prvi pogled nema veze između dekadskog i binarnog zapisa, ali veza postoji i jednostavno je pretvarati brojeve iz binarnog u dekadski kad se uvježbate. U binarnom zapisu postoji najvažniji bit (most significant bit) i najmanje važan bit (least significant bit). Gledano slijeva na desno u binarnom oktetu least significant bit je na desnoj strani. Ovaj nam podatak treba da bismo znali kako pretvoriti binarni zapis u dekadski. • prvi bit s desne strane u binarnom zapisu nosi vrijednost 20 • drugi bit s desne strane u binarnom zapisu nosi vrijednost 21 • treći bit s desne strane u binarnom zapisu nosi vrijednost 22 • četvrti bit s desne strane u binarnom zapisu nosi vrijednost 23 • četvrti bit s lijeve strane u binarnom zapisu nosi vrijednost 24 • treći bit s lijeve strane u binarnom zapisu nosi vrijednost 25 • drugi bit s lijeve strane u binarnom zapisu nosi vrijednost 26 • prvi bit s lijeve strane u binarnom zapisu nosi vrijednost 27 Dakle, ako napišemo binarni broj: 10010011 možemo ga preračunati u dekadski na vrlo jednostavan način: 1x27 + 0x26 + 0x25 + 1x24 + 0x23 + 0x22 + 1x21 + 1x20 128 + 0 + 0 + 16 + 0 + 0 + 2 + 1 što iznosi 147 Gledajući prethodni slučaj dolazimo do “šalabahtera” koji ćemo koristiti u daljnjem pretvaranju binarnih brojeva u dekadske. Šalabahter glasi: 64 32 16 8 4 2 1 Pojašnjenje šalabahtera: ako je prvi bit s lijeve strane 1, onda će nositi vrijednost 128, u protivnom je 0, ako je drugi bit s lijeve strane 1, nosit će vrijednost 64, u protivnom je 0 .... Naravno, za pretvaranje smo mogli koristiti i Windowsov kalkulator. Maksimalni broj koji možemo dobiti u pojedinom oktetu je 255, a minimalni je 0. Dakle, 11111111 binarno je 128+64+32+16+8+4+2+1 = 255 dekadski. Jednako tako, 00000000 binarno je 0+0+0+0+0+0+0+0=0 dekadski. Pretvaranje dekadskog broja u binarni nećemo pokazati onako kako ste to učili u školi, već na jedan brži i jednostavniji način. Ideja je da od zadanog broja oduzimamo vrijednosti s našeg šalabahtera od većeg prema manjem.
232
Prijelom.indd 232
21.9.2010. 11:41:12
6. poglavlje: RAČUNALNE MREŽE
Uzmimo najprije naš “šalabahter” i zapišimo ga: 64 32 16 8 4 2 1 Primjer 1: Napišimo dekadski broj koji želimo pretvoriti u binarni i krenimo: 121 pretvaramo u binarni oblik Prvi je broj na šalabahteru 128. 128 je veći od 121, što znači da taj broj ne stane u 121 te 128 ne koristimo, dakle prvi bit je 0. 0 Drugi je broj na šalabahteru 64. 64 je manji od 121 i njega koristimo te je drugi bit 1. U daljnji korak prebacujemo samo razliku, a to je 121-64=57. 01 Treći je broj na šalabahteru 32, on je manji od naše razlike (57) koju smo prenijeli i njega koristimo te je treći bit 1. Dalje opet prebacujemo samo ono što nam je ostalo, 57-32=25. 011 Četvrti je broj na šalabahteru 16, on je manji od naše razlike (25) i njega isto koristimo pa je i četvrti bit 1. Dalje prebacujemo razliku 25-16=9. 0111 Peti je broj na šalabahteru 8, on je manji od 9 i njega također koristimo pa je i peti bit 1. Sada je naša razlika 9-8=1. 01111 Šesti je broj na šalabahteru 4, on je veći od 1 i ne koristimo ga te nam je šesti bit 0. Razlika i dalje ostaje 1 jer nismo ništa mogli oduzeti. 011110 Sedmi je broj na šalabahteru 2, on je veći od 1 i ne koristimo ga te nam je sedmi bit 0. Razlika i dalje ostaje 1 jer nismo ništa mogli oduzeti. 0111100 Osmi je broj na šalabahteru 1 i možemo ga koristiti te nam je osmi bit 1. 01111001 Dobili smo binarni zapis broja 121.
233
Prijelom.indd 233
21.9.2010. 11:41:12
Sustavna programska potpora
Možemo radi jednostavnosti to raditi kao tablicu: 121
128
0
121
64
1
57
32
1
25
16
1
9
8
1
1
4
0
1
2
0
1
1
1
Primjer 2: Broj 17 treba pretvoriti u binarni zapis. Krećemo korištenjem našeg “šalabahtera”. Prvi je broj 128 – to je veće od traženog broja 17 i prvi bit je 0. 0 Drugi je broj 64 i to je veće od 17 pa je i drugi bit 0, treći broj je 32. I to je veće od 17 pa je i treći bit 0. Dosad imamo 000. Četvrti je broj 16. To je manje od traženih 17 pa je četvrti bit 1. 0001 Peti je broj 8, a s obzirom da je nama ostalo 1 (17-16), peti je bit 0, šesti broj je 4, koji je isto veći od 1, što znači da je i šesti bit 0. Sedmi je broj 2, što je veće od 1 pa je i sedmi bit 0. Osmi je broj 1 i može se koristiti, što znači da je osmi bit 1. Rezultat je: 00010001 Računalo na osnovi IP adrese i subnet maske saznaje je li odredište na lokalnom subnetu ili nije. Uzmimo IP adresu 192.168.0.33, u binarnom obliku je to: 11000000.10101000.00000000.00100001 To je C klasa, a subnet maska C klase je 255.255.255.0. U binarnom zapisu to glasi: 11111111.11111111.111111111.000000000
234
Prijelom.indd 234
21.9.2010. 11:41:12
6. poglavlje: RAČUNALNE MREŽE
Uzmimo sad IP adresu i subnet masku i logičkim AND operatorom zbrojimo bitove: 11000000.10101000.00000000.00100001 11111111.11111111.11111111.00000000 11000000.10101000.00000000.00000000 – network ID Uzmimo sad drugu IP adresu za koju želimo vidjeti je li na istom subnetu kao i potonja, recimo 192.168.12.33. U binarnom bi obliku to bilo: 11000000.10101000.00001100.00100001 U pitanju je isto IP adresa C klase. Dakle, subnet maska je opet 255.255.255.0. Napravimo kao i s prijašnjom IP adresom: 11000000.10101000.00001100.00100001 11111111.11111111.11111111.00000000 11000000.10101000.00001100.00000000 – network ID Ako usporedimo dobivene rezultate, vidjet ćemo da se ne nalaze na istom fizičkom segmentu jer im network ID nije isti. U takvim nam slučajevima treba usmjernik odnosno Default gateway. Defaultni gateway je IPv4 adresa routera koja služi povezivanju računala na različitim mrežama.
2. Osnovni pojmovi • Network ID • usmjernik • Default gateway • binarni zapis
3. Cilj vježbe Upoznati se s načinom kako računalo na osnovi IP adrese i subnet maske saznaje je li odredište na lokalnom subnetu ili nije, odnosno kada će naš zahtjev za nekom internetskom stranicom ili sl. uputiti prema Defaultnom gatewayu.
4. Priprema vježbe Imamo računalo koje se nalazi u lokalnoj mreži s IP adresom 10.243.101.100 i Subnet maskom 255.0.0.0 i želimo pristupiti računalu s IP adresom 208.65.153.246.
235
Prijelom.indd 235
21.9.2010. 11:41:12
Sustavna programska potpora
Odredite Subnet masku drugog računala Koristeći „Logički operator AND“ zbrojite IP adrese sa Subnet maskama jednog i drugog računala i odredite NETWORK ID za oba računala. NETWORK ID prvog računala: NETWORK ID drugog računala: Pomoću komandno-linijskog alata host računala (potreban je pristup internetu) upišite naredbu ping 208.65.153.246. Što se dogodilo?
Upišite naredbu ping –a 208.65.153.246. O kojoj je internetskoj adresi riječ? Možete li joj pristupiti putem internetskog preglednika? Ako da, zašto?
5. Vježbe A. Upalite virtualno računalo SPP-CL1 i prijavite se s administratorskim računom. B. Na host računalu iz komandno-linijskog alata napišite ipconfig /all. Koja je IP adresa vašeg host računala?
• O kojoj je to klasi riječ? C. Unesite subnet masku. D. Koristeći „Logički operator AND“ izračunajte NETWORK ID. E. Na virtualnom računalu podesite IP postavke tako da se NETWORK ID razlikuje od NETWORK ID-a vašeg host računala. • Koju ste IP adresu unijeli na virtualnom računalu? • koju subnet masku? F. Koristeći naredbu PING iz komandno-linijskog alata, provjerite dostupnost računala. • Što ste zamijetili? • • • Što vam nedostaje da ostvarite komunikaciju, ako ju niste uspjeli ostvariti?
236
Prijelom.indd 236
21.9.2010. 11:41:12
6. poglavlje: RAČUNALNE MREŽE
6. Upute i objašnjenja uz vježbe Kod računalnih mreža, Default gateway je usmjerivač na TCP / IP mreži koji služi kao pristupna odnosno izlazna točka prema drugoj mreži. Za kućne mreže (home network) ISP pružatelji usluga gotovo nam uvijek daju na korištenje fizički uređaj koji povezuje lokalna računala s onima na Internetu te služi kao gateway. Takvi su uređaji DSL modemi i kabelski modemi. U većim je korporacijskim računalnim sustavima Default gateway čvor koji prosljeđuje promet od radnih stanica stanice prema drugom mrežnom segmentu. Default gateway najčešće povezuje interne mreže (LAN) i eksterne mreže (WAN). U takvim situacijama usmjernik često ima i ulogu proxy poslužitelja i vatrozida.
237
Prijelom.indd 237
21.9.2010. 11:41:12
Sustavna programska potpora
IDENTIFIKACIJA APLIKACIJA 1. Uvod Na današnjim je računalima mnogo aplikacija koje istodobno nude mrežnu komunikaciju. S obzirom na to, mora postojati mehanizam koji omogućuje razlikovanje pojedinih aplikacija, kako bi podatak došao “na pravu adresu”. U TCP/IP protocol stacku koristimo IP adresu i port kao jedinstveni identifikator aplikacije. Port identificira aplikaciju i može biti TCP ili UDP port ovisno o tome koji transportni protokol koristimo za komunikaciju. Internet Assigned Numbers Authority – IANA je organizacija koja se bavi standardima adresiranja na internetu. Između ostalog, zadaci ove organizacije su i dodjela i organizacija IP adresnog prostora. IANA definira portove i njihove veze s aplikacijskim servisima. Portovi su podijeljeni u tri skupine: 1. standardni poslužiteljski portovi (well known ports) 2. rezervirani portovi (reserved ports) 3. dinamički portovi (dynamic ports) Standardni su poslužiteljski portovi (well known ports) u rasponu 0 – 1023. Namijenjeni su standardnim servisima Interneta. U ovom su rasponu definirani portovi HTTP, FTP, SMTP, POP, IMAP, Telnet i mnogih drugih poznatih aplikacijskih protokola. Primjeri standardnih poslužiteljskih portova: • FTP • SMTP • DNS • HTTP • HTTPS
TCP 20 i 21 TCP 25 TCP 53, UDP 53 TCP 80 TCP 443
Rezervirani su portovi (reserved ports) unutar raspona 1024 – 49151. Ovi su portovi namijenjeni vlasničkim servisima, kojima se nudi mogućnost registracije. Primjeri bi bili aplikacijski protokoli pojedinih programa i servisa na Internetu koje su kreirale i objavile privatne kompanije. Preporuka IANA-e je da se ovaj raspon portova na poslužiteljima smije koristiti isključivo ako su organizacije ili pojedinci koji su vlasnik servisa registrirale taj servis i port pri IANA-i. Primjer registriranog porta je: • RDP11
3389
Dinamički su portovi (dynamic ports) portovi unutar raspona 49152 – 65535. Ovi se portovi ne mogu registrirati i namijenjeni su za slobodno korištenje po potrebi. Maksimalna vrijednost koju neki port može poprimiti je 65535, i to stoga što je u zaglavljima paketa transportnog sloja definirana veličina polja za upis porta od 16 bita, što čini 216 mogućih kombinacija i iznosi 65536 kombinacija. Kako i port tehnički može imati vrijednost 0, ukupan je raspon svih portova 0 – 65535.
1 Remote Desktop Protocol – Protokol kojeg je razvio Microsoft, a služi za spajanje s jednog računala na drugo uz korištenje grafičkog sučelja (GUI). U praksi se koristi za udaljenu administraciju računala.
238
Prijelom.indd 238
21.9.2010. 11:41:12
6. poglavlje: RAČUNALNE MREŽE
O portovima je potrebno znati: • aplikacija je ta koja će otvoriti neki port na računalu; • ako je otvoren port 21, ne mora značiti da je to FTP protokol – bilo koja ga aplikacija može koristiti za bilo što. Well-known portovi su samo prijedlog korištenja portova; • port na nekom računalu može otvoriti samo jedna aplikacija. Dakle, ako je neka aplikacija već otvorila port 25, neka druga aplikacija koja ga želi otvoriti ne može sve dok ne zatvorite aplikaciju koja već ima otvoren port 25; • portovi su dodijeljeni serverskim i klijentskim aplikacijama; • klijentska će aplikacija uvijek dobiti prvi slobodni broj porta veći od 1024 koji je u tom trenutku na raspolaganju; • serverska će aplikacija obično koristiti well-known port ili rezervirane portove; • socket je kombinacija IP adrese i TCP ili UDP porta. IP adresa pomaže u lociranju računala, dok port identificira aplikaciju. Postoji serverski socket i klijentski socket. Klijentski socket “spaja se” na serverski. Primjer: Otvorili smo internetski preglednik i želimo otvoriti internetsku stranicu http://www.algebra.hr. Naše će računalo najprije saznati IP adresu računala www.algebra.hr. Recimo da je to 85.94.77.116 i port na koji se treba spojiti. Kako je u pitanju HTTP protokol, well-known port je 80 i dobili smo serverski socket: IP/85.94.77.116, TCP port/80. Rekli smo da i klijentska aplikacija također mora biti identificirana socketom. Klijentski će socket biti IP adresa računala (recimo da je to 195.29.122.122) i prvi slobodni broj iznad 1024 pa će klijentski socket biti npr.: IP/195.29.122.122, TCP port/1055. Kada naše računalo pošalje zahtjev serverskom računalu, taj će zahtjev biti proslijeđen od mrežnog sloja, preko internetskog i transportnog sloja do aplikacije koja “sluša” na portu 80. Ta će aplikacija obraditi zahtjev i vratiti ga na klijentski socket. Na klijentskoj će strani taj odgovor opet proći od mrežnog sloja, preko internetskog i transportnog sloja do internetskog preglednika i iscrtati internetske stranice koje smo tražili.
2. Osnovni pojmovi • IANA • standardni poslužiteljski portovi • rezervirani poslužiteljski portovi • dinamički portovi • well known portovi
3. Cilj vježbe Upoznati učenika s načinom komunikacije aplikacije s mrežnim servisima.
239
Prijelom.indd 239
21.9.2010. 11:41:12
Sustavna programska potpora
4. Priprema vježbe Pokrenite SPP-CL1 računalo i prijavite se s administratorskim računom. Pokrenite instalaciju Internet Information Servisa. Internetski servisi su tehnologija za izgradnju raspodijeljenih računalnih sustava, zasnovana na otvorenim internetskim standardima. Prednost korištenja internetskih servisa u tome je što oni ne ovise o operativnom sustavu računala na kojem se izvode pa se na taj način rješava problem heterogenosti računalne okoline. Jednako tako, prednost je internetskog servisa što može pretvoriti „Desktop“ aplikaciju u onu koja je utemeljena na internetskom servisu te je tako učiniti dostupnom na internetu, diljem svijeta ili unutar neke tvrtke. Internetski servisi omogućuju da internetsku stranicu, blog ili sl. učinimo dostupnima velikom broju ljudi, neovisno o tome nalazi li se ona na intranetu (LAN) ili Internetu (WAN). Internet Information Service je internetski poslužitelj koji je Microsoftova uzdanica na polju internetskih servisa i tehnologija. IIS nalazimo u nekoliko inačica, a značajnije mjesto u svijetu internetskih servisa zauzima inačica 5.0 koja se nalazila u sklopu operativnog sustava Windows 2000 Server. Velik je uspjeh postigla inačica 6.0 koja dolazi s Windowsima 2003. Aktualna je inačica 7.0 koja se, znatno unaprijeđena, pojavila zajedno s inačicom Windows Servera 2008. IIS 7.0 ima ulogu internetskog poslužitelja na operativnom sustavu Windows Server 2008 te internetskog poslužitelja u Windows Visti. IIS 7.5 je internetski poslužitelj unutar Windows Servera 2008 R2 te Windowsa 7. Windows Server 2008 R2 i Windows Server 2008 operativni sustavi posjeduju sve mogućnosti IIS-a potrebne za hosting internetskog sadržaja u poslovnim i korporacijskim okruženjima. Internetski je poslužitelj redizajniran u inačici IIS-a 7.0 te omogućuje specifične prilagodbe poslužitelja dodavanjem ili uklanjanjem modula kako bi zadovoljili specifične potrebe korisnika. Moduli su individualne značajke koje poslužitelj koristi za obradu zahtjeva. 1. Pokrenemo instalaciju putem Start Control Panel Programs and Features. 2. S lijeve strane kliknemo na Turn Windows features On or Off 3. Zatim se otvara sljedeći dijaloški okvir u kojem proširite Internet Information Service te odaberite kako je prikazano na slici.
240
Prijelom.indd 240
21.9.2010. 11:41:12
6. poglavlje: RAČUNALNE MREŽE
4. Potvrdite s OK i pričekajte završetak instalacije. 5. Otvorite INTERNETSKI preglednik i upišite http://localhost, pri čemu se mora otvoriti sljedeća stranica.
6. Pokrenite Internet Information Servise Manager.
241
Prijelom.indd 241
21.9.2010. 11:41:12
Sustavna programska potpora
Otvara se IIS konzola.
7. Postavite se na „Default Web Site“ kako je prikazano na slici i klikom na Remove obrišite pretpostavljenu internetsku stranicu.
242
Prijelom.indd 242
21.9.2010. 11:41:12
6. poglavlje: RAČUNALNE MREŽE
8. Na C:\Inetpub\wwwroot kreirajte folder test i u njega kopirajte datoteke iisstart i welcome!
9. Postavite se na sites i desnim klikom miša odaberite Add Web Site.... Kreirajte Web mjesto prema slici u nastavku. Obratite pozornost na poglavlje „Binding“ i broj porta.
243
Prijelom.indd 243
21.9.2010. 11:41:12
Sustavna programska potpora
10. Kreirajte Web mjesto prema slici u nastavku. Obratite pozornost na poglavlje „Binding“ i broj porta.
244
Prijelom.indd 244
21.9.2010. 11:41:12
6. poglavlje: RAČUNALNE MREŽE
5. Vježbe A. Otvorite INTERNETSKI preglednik na virtualnom računalu i upišite http://skolskoracunalo:8080 B. Što se dogodilo ? C. Možete li objasniti zašto se internetska stranica otvorila i na toj adresi?
D. Što znači broj 8080 koji se nalazi iza internetske adrese? Napomena: obavezno upisati http:// pa onda cjelovitu internetsku adresu s brojem iza dvotočja. Internet Explorer ne zna interpretirati takav URL ako se ne upisuje i HTTP.
245
Prijelom.indd 245
21.9.2010. 11:41:12
Sustavna programska potpora
6. Upute i objašnjenja uz vježbe U tablici u nastavku su tzv. well known IIS portovi, točnije portovi na kojima „osluškuju“ servisi koji se mogu nalaziti na pojedinom internetskom poslužitelju. Servis
Broj porta (Port Number)
Hypertext Transfer Protocol
80
HTTP Secure (HTTPS)
443
File Transfer Protocol (FTP) Control Channel
21
FTP Data Channel
20
Simple Mail Transfer Protocol
25
Post Office Protocol v3 (POP3)
110
Network News Transfer Protocol (NNTP)
119
Secure NNTP
563
Osim porta 80, najviše se koristi port 443. Hypertext Transfer Protocol Secure (HTTPS) je kombinacija Hypertext Transfer protokola sa SSL/TLS enkripcijom, što jamči sigurnu identifikaciju poslužitelja i enkripciju. HTTPS veze često se koriste u platnom prometu preko WWW-a kao i za osjetljive transakcije u korporativnim informacijskim sustavima, npr. webmail. Osnovna je ideja HTTPS-a stvaranje sigurnog kanala/konekcije preko nesigurne mreže, što WAN sam po sebi i jest. Zbog sigurnosti je uglavnom riječ o internetskim stranicama za administriranje, web-mjesto može se podignuti i na nekom drugom portu. U vježbi smo iskoristili port 8080. S obzirom da se nije riječ o well known portu, moramo reći našem INTERNETSKOM pregledniku kamo će poslati zahtjev. Kada naše računalo pošalje zahtjev serverskom računalu, taj će zahtjev biti proslijeđen od mrežnog sloja, preko internetskog i transportnog sloja do aplikacije koja “sluša” na portu 8080. Ta će aplikacija obraditi zahtjev i vratiti ga na klijentski socket. Na klijentskoj će strani taj odgovor opet proći od mrežnog sloja, preko internetskog i transportnog sloja do internetskog preglednika i iscrtati internetske stranice koje smo tražili.
246
Prijelom.indd 246
21.9.2010. 11:41:12
6. poglavlje: RAČUNALNE MREŽE
RAD U MREŽNOM OKRUŽENJU 1. Uvod U današnje bi vrijeme poslovanje i rad unutar mrežnog okruženja bili nezamislivi bez poslužiteljskih operativnih sustava. Oni svojim mogućnostima povezuju i ujedinjuju različite potrebe korisnika te samim time čine ključni element mrežne infrastrukture. U ovom ćemo se priručniku upoznati s Windows Server 2008 operativnim sustavom koji ćemo koristiti za različite namjene. Za početak pogledajmo osnovne informacije. Inačice operativnog sustava Windows Server 2008 Windows Server 2008 dostupan je u sljedećim inačicama: • Windows Web Server 2008 • Windows Server 2008 Foundation • Windows Server 2008 Standard • Windows Server 2008 Enterprise • Windows Server 2008 Datacenter • Windows Server 2008 HPC • Windows Server 2008 Hyper-V Za instalaciju Windows Servera 2008 postoje određeni minimalni tehnički zahtjevi za opremu. U ovom je slučaju riječ o 32-bitnoj inačici operativnog sustava koju ćemo koristiti pri radu na vježbama. U ovoj će vježbi biti korišten Windows 2008 server. Svaki se poslužitelj može koristiti u jednu svrhu ili više njih. Neke od funkcija servera: • File server – poslužitelj koji služi za dijeljenje datoteka, • Print server – poslužitelj koji služi za dijeljenje mrežnih pisača, • Mail server – poslužitelj koji služi za primanje i slanje korisničkih e-mail poruka, • Database server – poslužitelj na kojem se nalazi baza podataka poput MS SQL Servera, • Firewall – poslužitelj koje filtrira promet i štiti od neželjenog mrežnog prometa. Mrežni klijenti omogućuju računalu korištenje resursa i servisa dostupnih na mreži. Mrežni servisi, pak, omogućuju da druga računala na mreži koriste neke servise i resurse s jednog računala. Windows 7 automatski instalira mrežni klijent, Client for Microsoft Networks, koji omogućuje računalu korištenje npr. dijeljenih mapa i pisača na računalnoj mreži. Jednako će tako Windows 7 automatski instalirati mrežni servis, File and Printer Sharing for Microsoft Networks, koji će drugim računalima na mreži omogućiti pristup dijeljenim mapama i pisačima na računalu na kojem je taj servis instaliran.
247
Prijelom.indd 247
21.9.2010. 11:41:12
Sustavna programska potpora
Upravljanje mrežnim vezama na Windows 7 pruža korisniku novu razinu funkcionalnosti koja nije bila ostvariva na starijim inačicama Windows operativnih sustava. Mrežna je podrška doživjela mnoga poboljšanja od kojih je većina potpuno nezamjetljiva većini korisnika. Windows 7 korisniku/administratoru nudi set alata kako bi se mrežno povezivanje obavilo na što jednostavniji način. Network and Sharing Centar korisniku omogućuje jednostavno grafičko sučelje za upravljanje i analizu mrežnih konekcija. Korisnici mogu: • kreirati novu mrežnu konekciju, • pregledavati spojena računala u lokalnoj mreži, • provjeriti dijeljene dokumente na svojem računalu, • pokrenuti alat za dijagnostiku ako postoji problem s konekcijom. Grafičko sučelje Network and Sharing Centra prikazano je na slici koja slijedi, a do njega se može doći putem: Control Panel Network and Internet Network and Sharing Center
248
Prijelom.indd 248
21.9.2010. 11:41:13
6. poglavlje: RAČUNALNE MREŽE
U sklopu Network and Sharing Centra treba razumjeti sljedeće funkcionalnosti. Network and sharing područje sadržava linkove na nekoliko opcija kao što su otkrivanje mreže (Network Discovery) i dijeljenje resursa. Što ćete odabrati, ovisi o tome na koju ste se vrstu mreže spojili (Internet, intranet...). Privatna mreža (Trusted Network) mreža je „kojoj vjerujemo“, a podignuta je u našoj kući/stanu ili u „small office“ okruženju, tzv. SOHO (Small office/Home office) i značajke su joj da ne posjeduje središnji poslužitelj niti domenu. Mreže npr. zračne luke ili u nekom kafiću javne su mreže. Mreža u srednje velikim uredima, tzv. SMB (Small to medium business) uključuje jednog ili više poslužitelja kojim upravlja mrežni administrator, a glavna im je značajka da postoji domena odnosno server koji je Domain Controller. • File sharing – omogućuje dijeljenje datoteka i pisača koji se nalaze na računalu. S Windows 7 možete dijeliti datoteke i mape s ostalim korisnicima na samom računalu, ali i s onima koji su sa svojim računalima spojeni na privatnu mrežu. Da biste omogućili dijeljenje datoteka, trebate odabrati gumb za uključivanje File sharing. Kada je dijeljenje datoteka omogućeno, mapa ili bilo koja datoteka na računalu može se podijeliti s drugim sudionicima na mreži. Moguće je i definirati različite dozvole (Sharing permission) za različite korisnike koji pristupaju računalu. Na primjer, omogućiti da „user1“ ima uvid u pregled datoteka, a „user2“ u pregled, promjenu, dodavanje i brisanje datoteka u mapi „C:\Radno“. • Public folder sharing – javne mape (Public folder) je mapa koja omogućuje dijeljenje datoteka između različitih korisničkih računa na istome računalu. Samo jedna javna mapa postoji na računalu, a svaki je korisnički račun dijeli. Javna mapa u Windows 7 nadomješta mapu Shared Documents u Windowsima XP. Bilo koja datoteka ondje pohranjena automatski je dostupna svim ostalim korisničkim računima na tom računalu. Za korištenje te funkcije treba konfigurirati opciju Public folder sharing. Network Explorer omogućuje pregled resursa dostupnih na lokalnoj mreži. Ovdje će biti prikazana računala na mreži, a klikom miša na određeno računalo moguće je vidjeti dijeljene dokumente ili druge dijeljene mrežne resur-
249
Prijelom.indd 249
21.9.2010. 11:41:13
Sustavna programska potpora
se. Network Explorer na Windowsima 7 pruža mnogo veću funkcionalnost od mogućnosti My network places na računalima Windows XP. Radi kompatibilnosti sa starijim operativnim sustavima, i dalje se upotrebljava NETBIOS broadcast koji služi oglašavanju računala na mreži. Windows 7 proširuje mogućnosti pretraživanja i oglašavanja resursa koristeći opciju Network Discovery.
Unutar njega bit će prikazana sva računala, poslužitelji i ostala mrežna oprema s kojom Windows 7 računalo na neki način komunicira.
2. Osnovni pojmovi • Windows server 2008 • funkcije servera • mrežni klijenti • file sharing • print sharing
3. Priprema za vježbe Uključite SPP-CL1 i SPP-DC1 virtualna računala. Provjerite da su postavke mrežnih kartica oba virtualna računala na „Local only“ !!! Prijavite se na SPP-CL1 računalo s korisničkim računom. U mrežnim postavkama osigurajte da su mrežne postavke takve da je IP adresa konfigurirana da bude dinamička.
250
Prijelom.indd 250
21.9.2010. 11:41:13
6. poglavlje: RAČUNALNE MREŽE
5. Vježbe A. Na SPP-CL1 računalu u komandno-linijskom alatu napišite IPCONFIG /renew
B. Pročitajte IP adresu koju ste dobili C. U komandno-linijskom alatu upišite IPCONFIG /ALL. D. Upišite i ostale postavke koje su dodijeljene zajedno s IP adresom.
E. Kako je moguće da je računalo dobilo dinamički konfiguriranu adresu?
251
Prijelom.indd 251
21.9.2010. 11:41:13
Sustavna programska potpora
F. Što bi nam mogao biti DHCP server na našoj lokalnoj virtualnoj mreži? G. Odaberite za mrežnu lokaciju „Work“.
H. Što nam znači ime mreže (Network name) SPP.LOCAL ? I. Pridružite SPP-CL1 domeni. • Kako ćete to napraviti?
• Što je domena?
252
Prijelom.indd 252
21.9.2010. 11:41:13
6. poglavlje: RAČUNALNE MREŽE
J. Na SPP-CL1 računalu napravite sljedeće : 1. Start Computer, desnim klikom miša odaberite kako je prikazano na slici
2. U sljedećem dijaloškom okviru odaberite „Advanced system settings“. 3. Na kartici „Computer Name“ odaberite Change. 4. Odaberite „Domain“ i upišite postavke kao u sljedećem dijaloškom okviru.
5. Potvrdite s OK. 6. Sljedeći dijaloški okvir popunite kao što je prikazano u nastavku. Kao zaporku upišite Windows.123.
253
Prijelom.indd 253
21.9.2010. 11:41:13
Sustavna programska potpora
Napomena: Znak „@“ unesite s ALT+64. 7.
Ako je sve dobro napravljeno, na zaslonu virtualnog računala pojavit će se sljedeća poruka:
Nakon ponovnog pokretanja računala, prijavite se kao korisnik Mrezni Korisnik s korisničkim imenom mkorisnik i zaporkom Windows.123 Koristite opciju „Switch User“ „Other User“ !
Napomena: Za znak „@“ koristite ALT + 64. Nakon što se prijavite na računalo, otvorite Windows preglednik (Windows Explorer) i pogledajte kakve sve diskove vidite.
254
Prijelom.indd 254
21.9.2010. 11:41:13
6. poglavlje: RAČUNALNE MREŽE
K. Kakav je disk H? L. Na SPP-CL1 računalu uključite Network discovery!
M. Jeste li ste uspjeli? Uključivanje „Network Discovery“ zahtijeva administratorske ovlasti. Upišite za korisničko ime: Administrator, a za zaporku Windows.123
255
Prijelom.indd 255
21.9.2010. 11:41:13
Sustavna programska potpora
6. Upute i objašnjenja uz vježbe Uključivanjem SPP-DC1 na našoj virtualnoj mreži dobili smo DHCP, DNS server i Domain kontroler. DHCP je našem SPP-CL1 dodijelio IP adresu sa svim pripadajućim postavkama. Prijavljujući se kao korisnik Mrezni Korisnik (mkorisnik), više se nismo koristili računom kreiranim na lokalnom računalu, nego onim kreiranim na Domain kontroleru. Koristeći se prednostima Windows 2008 servera kao File servera napravili smo tzv. centralizaciju korisničkih podataka. Home Directory je mogućnost koja se najčešće koristi za pohranu korisničkih dokumenata na neku središnju lokaciju, a koja se vrlo često nalazi na nekom datotečnom serveru (File server). Home Directory nije zamjena za korisničku mapu My Documents, već omogućuje alternativno mjesto pohrane korisničkih dokumenata na središnju lokaciju. Takav način pohrane donosi sljedeće prednosti: • centralizirani backup, odnosno sigurnosna pohrana podataka. Ako su svi podaci korisnika pohranjeni na središnjoj lokaciji, njihova su sigurnosna pohrana (backup) i možebitni povrat podataka (restore) uvelike olakšani; • potrebno je obrati pozornost da bude dovoljno mjesta za sve korisnike na lokaciji na kojoj se nalazi lokacija Home Directoryja. U svrhu ograničavanja raspoloživog prostora korisnicima, može se koristiti opcija diskovnih kvota. Upravo je taj Home Directory H disk koje se nalazio na SPP-CL1 računalu. Windows Server Domena logička je grupa računala koju kao operativni sustav imaju Windows 2000/XP/Vista/7 te dijele središnju imensku bazu (Central Directory Database) poznatu kao Active Directory (AD). Active Directory sadržava korisničke račune, račune računala te sigurnosne informacije vezane za resurse domene. Svaka osoba koja koristi računalo unutar domene dobiva vlastiti jedinstveni račun, odnosno korisničko ime (Username). Račun služi za dijeljenje mrežnih resursa unutar domene. Kako svaki korisnik ima svoj korisnički račun, tako ga dobiva i svako računalo koje se pridruži domeni (Join). Računalo koje unutar domene sadržava Active Directory naziva se Domain Controller (DC). To je server s Windows server 2000/2003/2008 operativnim sustavom koji upravlja svim aspektima vezanim za sigurnost korisnika domene te centralizira administraciju.
256
Prijelom.indd 256
21.9.2010. 11:41:13
Budućnost bez granica.
znanje je supermoć!
e m e r p pri u n v a ž za dr ru matu a en upiši s ultet i fak željen
Pripremi se u Algebri jer dobivaš: besplatno karijerno savjetovanje ulazno i dijagnostičko testiranje i mnoge druge supermoći* za uspješno polaganje državne mature
Izvori tvojih supermoći u Algebri: ekskluzivni priručnici opsežna satnica on-line sustav digitalne referade velik izbor predmeta i paketa pomno i ciljano osmišljen nastavni plan temeljem iskustva vodećih profesora
u i s i p u ! u k e j i t
*Supermoći za uspješno polaganje državne mature pronađi na www.drzavnamatura.hr Zagreb
Split
Rijeka
Osijek
01/2332-861
021/444-555
051/214-036
031/373-400
Pula
Dubrovnik
Zadar
Sl. Brod
052/350-380
020/295-333
023/315-888
035/296-496
www.algebra.hr
www.drzavnamatura.hr
[email protected] www.facebook.com/drzavnamatura.hr
UPIŠI o v t s r a račun ni je n e ij c o e lj o jb Na koj* s t a v r H u ij d u stručni st
*U trenutku izdavanja Akreditacijske preporuke Visoko učilište Algebra je najbolje ocijenjen stručni studij u Republici Hrvatskoj
Multimedijsko računarstvo
Programsko inženjerstvo
Sistemsko inženjerstvo
6 semestara, 3 godine, 180 ECTS bodova
6 semestara, 3 godine, 180 ECTS bodova
6 semestara, 3 godine, 180 ECTS bodova
Priprema za 9 prestižnih industrijskih certifikata, ispiti uključeni u cijenu studiranja.
Priprema za 9 prestižnih industrijskih certifikata, ispiti uključeni u cijenu studiranja.
Priprema za 9 prestižnih industrijskih certifikata, ispiti uključeni u cijenu studiranja.
Postani: Stručni prvostupnik inženjer računarstva
Postani: Stručni prvostupnik inženjer računarstva
i studij Specijalistički diplomsk tva primijenjenog računars
www.racunarstvo.hr
Postani: Stručni prvostupnik inženjer multimedijskog računarstva
4 semestra, 2 godine, 120 ECTS bodova Priprema za 10-tak prestižnih industrijskih certifikata*, ispiti uključeni u cijenu studiranja. *ovisno o izbornim predmetima
www.facebook.com/racunarstvo
Postani: lied App of Master neering Engi r Compute