Professional Documents
Culture Documents
1. TCP/IP protokol
Aplikativni
Transportni
Mrežni
Fizički
1. Fizički sloj je nivo kabliranja mreže – povezivanje preko žice i bežice, i hardverskih adresa
mrežnih uređaja (MAC adrese). Ove MAC adrese se u principu ugrade u uređaj prilikom
proizvodnje i prvobitno je zamišljeno da se ne mogu mijenjati kasnije (danas postoje izuzeci).
Layer 2 Switch funkcioniše na ovom nivou.
3. Transportni sloj je sloj gdje je definisan način na koji se uspostavlja veza između uređaja i
razmjenjuju podaci. Ovdje imamo dva takozvana transportna protokola - TCP i UDP. TCP je
komplikovaniji protokol, kod njega se prije razmjene podataka uspostavlja veza između dva
uređaja, i sve vrijeme postoji kontrola veze – da li je svaki paket podataka stigao na
odredište i sl. Kod UDP-a nema uspostavljanja veze već se podaci šalju naslijepo – ako stignu,
stignu. Ako ne stignu, aplikacija mora da vodi računa da se podaci ponove. UDP je tako
jednostavniji ali nepouzdaniji. Neki servisi i aplikacije koriste TCP, neki UDP.
Npr. DNS i DHCP koriste UDP, a HTTP, FTP, SMTP, POP3 i mnogi drugi koriste TCP.
4. Aplikativni sloj je mjesto gdje se dešava korisna upotreba TCP/IP mreže. U aplikativnom sloju
su protokoli HTTP, SMTP, POP3, IMAP, FTP, DNS, DHCP, SSH, Telnet i drugi.
2. IP adresiranje
Svaki uređaj u TCP/IP mreži dakle koristi IP protokol za razmjenu podataka na mrežnom sloju.
Da bi to bilo moguće, svi uređaji u mreži moraju imati različite IP adrese. U upotrebi imamo dvije
verzije IP protokola – v4 i v6, i format adrese se razlikuje zavisno od verzije protokola.
Iako je IPv6 odavno definisan, većina saobraćaja na Internetu i lokalnim mrežama još se odvija
putem IPv4 protokola.
U okviru jedne fizičke mreže može se definisati jedna ili više logičkih IP mreža. U sastavu IP
adrese uvijek postoji dio koji se odnosi na mrežu i dio koji se odnosi na uređaj unutar mreže. Da bi se
znalo šta je u IP adresi mreža, a šta uređaj, koristi se mrežna maska. Ona se takođe sastoji od 4 bajta
u kojima se na početku uvijek nalazi neki niz jedinica, a na kraju nule. Bitovi na početku koji su
jedinice označavaju dio IP adrese koji se odnosi na mrežu, a bitovi na kraju, koji su nule, dio koji
predstavlja adresu uređaja u mreži.
Pošto se u praksi najčešće bajtovi ne dijele, onda se cijeli brojevi bajtova odvajaju ili za mrežu ili
uređaj. U bajtovima za mrežu su tada svi bitovi 1, a bajt koji se sastoji od 8 jedinica ima vrijednost
255. Tako u praksi imamo 3 vrste mrežnih maski:
Mogući broj uređaja u mreži smanjuje se za 2 jer su prva i zadnja adresa u mrežnom opsegu
uvijek rezervisane. Prva adresa (završava se sa 0) namijenjena je za rutiranje, a poslednja (završava
se za 255) je tzv. broadcast adresa - za emitovanje poruke čitavoj mreži. Nju koriste protokoli koji
ispituju čitavu mrežu iz nekih razloga, kao ARP (mapira fizičke – MAC – adrese na IP adrese) i DHCP
(dodjeljuje dinamičke IP adrese uređajima).
Primjer:
Za male lokalne mreže standard definiše upotrebu mreža klase C koje počinju sa 192.168. Ove
adrese se zato ne pojavljuju na Internetu. Tipična mreža klase C je 192.168.1.0 sa mrežnom maskom
255.255.255.0.
Druge specijalne adrese su mreže klase A koje počinju sa 10., takođe rezervisane za lokalne
mreže i ne pojavljuju se na Internetu.
Adresa 127.0.0.1. je tzv. localhost – lokalna IP adresa koja bi trebalo uvijek da se pinguje ako je
ispravno instaliran TCP/IP protokol. Adrese 0.0.0.0 i 255.255.255.255 su specijalna adrese koje se
korist kod rutiranja.
Mrežna maska se nekad može označiti i skraćeno. Tada se pored IP adrese piše znak „/“ i broj
između 0 i 32 koji govori koji dio IP adrese je mrežna maska (broj označava koliko bitova od mogućih
32 je mrežna maska, a koliko adresa uređaja). Npr. 192.168.1.0/24 znači da prva tri bajta (24 bita –
3x8 =24) predstavljaju mrežu, a četvrti adresu uređaja.
Ovaj način označavanja se koristi kod podešavanja rutera. Često se desi da se neko podešavanje
odnosi na čitavu mrežu, a mi želimo da ga podesimo samo za jednu IP adresu. Tada kucamo /32 na
kraju adrese.
IPCONFIG komanda
Pomoću ove komande vidimo koja IP adresa je dodijeljena svakoj mrežnoj kartici na računaru.
Pored IP adrese vidimo i mrežnu masku i adresu gateway-a – uređaja preko koga se ostvaruje izlaz na
druge mreže.
C:\>ipconfig
Windows IP Configuration
C:\>
ako otkucamo ipconfig /all, dobićemo mnogo detaljnije informacije. Na UNIX-u/Linux-u ova
komanda je ifconfig.
PING komanda
Da bismo provjerili da li je neki uređaj vidljiv u mreži, koristimo alat ping, praćen IP adresom
uređaja. Ovaj alat koristi poseban ICMP protokol za testiranje prisustva uređaja na mreži.
Ping –t : pingujemo beskonačno. Bez ove opcije se uređaj pinguje samo 4 puta.
Ping –a : dobijamo naziv uređaja – korisno kad ne znamo koji računar ili drugi uređaj je na
nekoj IP adresi
3. Portovi
Da bi se bilo šta korisno moglo raditi u mreži, programi moraju međusobno razmjenjivati
podatke. Kako bi više programa moglo da koristi mrežu na istom uređaju, oni su razdvojeni na
posebne „kanale“, koji se u TCP/IP svijetu zovu portovi. Oba transportna protokola, i TCP i UDP
koriste portove za razmjenu. Poznavanje portova koje koristi neki program nam je potrebno najčešće
iz dva razloga:
1) Da bi se neki program povezao na svoj server negdje na mreži ili na Internetu, potrebno je
nekad da u podešavanjima programa unesemo IP adresu i port servera. Port je najčešće već
podešen, ali ga nekad treba promijeniti ako je iz nekog razloga na serveru postavljeno da se
koristi neki drugi port osim defaultnog. Npr. imamo server na kome je instalirana MySQL
baza podataka koja po defaultu koristi port 3306, ali je pored baze na portu 3306 instalirana
još jedna koja treba da radi posebno, i stavljena na port 3307.
2) Poznavanje porta koji koristi neka aplikacija potrebno je radi podešavanja firewalla, tj.
otvaranja portova za pristup spolja, kako na serveru tako i na klijentu. Na serveru
podešavamo dolazne (incoming), a na serveru odlazne (outgoing) konekcije.
Uloga Firewall-a je u principu da blokira pristup nekom od portova, u dolazu ili odlazu. Firewall
može biti poseban uređaj, ili softverski servis kao Windows Firewall u Control Panelu.
NETSTAT komanda
Komandom netstat možemo vidjeti koji portovi na računaru su povezani sa kojim portovima na
nekom udaljenom serveru. Korisne opcije su:
netstat –a – ispisuje sve konekcije, ali i otvorene portove koji nisu konektovani a na kojima
„čeka“ neki program na konekciju.
netstat –n – ispisuje ip adrese i brojeve portova – pošto ništa ne pokušava da resolvira, ovo je
najbrža varijanta.
4. DHCP
Dynamic Host Configuration Protocol dodjeljuje automatski adrese uređajima koji se priključe
na mrežu. Administrator odredi raspon IP adresa koje DHCP može davati, i mrežnu masku. Podešava
se i vrijeme „iznajmljivanja“ IP adrese uređaju. Ako neki uređaj nestane sa mreže, pa se ne pojavi
duže od dozvoljenog vremena iznajmljivanja, DHCP mu može dodijeliti neku novu adresu kad se
ponovo nađe na mreži, a njegovu staru adresu dati nekom drugom uređaju.
Pored IP adrese, DHCP može uređaju podesiti i naziv domena, adrese gateway-a, DNS servera i
servera vremena.
5. Gateway
Svaki uređaj u TCP/IP mreži mora imati validnu IP adresu da bi komunicirao sa drugim uređajima
u svojoj mreži. Da bi mogao komunicirati sa uređajima u drugim mrežama, uređaj pored IP adrese
mora znati i adresu gateway-a (kapija). Gateway je i bukvalno kapija ka drugim mrežama, tj. ruter
koji zna kako da komunicira sa bilo kojom drugom mrežom sa kojom postoji veza. U tu svrhu na
ruteru se podešava rutiranje.
6. DNS
Domain Name Server je tehnologija kojom uređaji i serveri na mreži pored IP adresa dobijaju
jedinstvena imena, kako bi se lakše prepoznavali. Kad u browser ukucamo www.google.com ili bilo
koju drugu adresu, naš računar se prvo obrati DNS serveru koji mu kaže da je www.google.com na ip
adresi 216.58.210.4. Dalje se komunikacija odvija preko IP adrese.
U lokalnoj mreži možemo takođe imati DNS server. Ako ga nemamo, možemo koristiti besplatne
Google-ove DNS server koji su na adresama 8.8.8.8. i 8.8.4.4.
Imena i IP adrese možemo povezati i preko tekstualnog hosts fajla koji se u Windowsu nalazi po
defaultu u folderu: c:\windows\system32\drivers\etc.
NSLOOKUP komanda
Pomoću ove komande “pitamo” DNS server šta zna o nekoj IP adresi ili imenu. Kusamo
nslookup, pa ono što pitamo i onda adresu DNS servera koji pitamo. Ako ne navedemo DNS server,
pitanje se uputi defaultnom.
C:\>nslookup www.google.com
Server: UnKnown
Address: 192.168.100.1
Non-authoritative answer:
Name: www.google.com
Addresses: 2a00:1450:400d:805::2004
216.58.214.196
C:\>
U gornjem primjeru smo pitali defaultni DNS server za informacije o www.google.com i dobili
IPv6 adresu. U sljedećem primjeru pitamo DNS na adresu 8.8.8.8 (Google-ov DNS) šta zna o jednoj IP
adresi:
C:\>nslookup 87.248.98.7 8.8.8.8
Server: dns.google
Address: 8.8.8.8
Name: media-router-fp1.prod1.media.vip.ir2.yahoo.com
Address: 87.248.98.7
C:\>
Da bi uređaji u mreži znali kako da provire van svoje mreže, potreban namje ruter. Ruter je
uređaj koji je povezan na bar dvije (može i više) različitih IP mreža, i koji zna kuda da uputi mrežni
saobraćaj koji je sa nekog uređaja u mreži poslan nekom uređaju vani. Ovo „znanje“ rutera sadržano
je u takozvanoj ruting tabeli. Ona se u praksi najčešće pravi i podešava ručno, a može se podesiti i da
ruteri sami prave ruting tabele na osnovu protokola za automatsko rutiranje.
Principi rutiranja su isti na Windows računaru i na Cisco ruteru, i na svakom ruteru, što ćemo
pokazati na primjeru.
Jedan red u tabeli je jedna ruta, odnosno moguća putanja za komunikaciju. Podaci svake rute su
sljedeći:
Netmask – Mrežna maska te mreže. Ako je 255.255.255.255, to znači da nije u pitanju mreža
već uređaj na našoj mreži.
Metric – Vremenska cijena komunikacije preko te rute. Ruter se uvijek trudi da bira bržu rutu.
ruter
192.168.0.100
ili layer 3
switch
192.168.1.100 switch
U praksi ovaj ruter sa dvije mrežne kartice ne bi bio ni potreban, pošto se na mtel ruteru može
sve izrutirati. Mogao bi eventualno služiti kao neki firewall i sl. Dat je samo da bi primjer bio jasniji.
Prva ruta je nešto što se može vidjeti na svim ruterima. Mreža 0.0.0.0 je defaultna ruta - mreža
gdje ide mrežni paket ako za njegovu ciljnu IP adresu ne postoji druga ruta. Ruter sve pakete
podataka za koje nema definisane rute šalje rutom 0.0.0.0. U primjeru se sav mrežni saobraćaj za koji
ne postoji ruta usmjerava preko nekog uređaja (Internet rutera „modema“) koji se nalazi na adresi
192.168.0.1.
Neke rute postoje uvijek i postavljene su fabrički, kao ruta 127.0.0.0. Ona je sistemska ruta za
testiranje i služi da bi se uvijek vidjela adresa 127.0.0.1. Ovakvih specijalnih ruta ima dosta, i neke su
namjerno izostavljene iz gonje tabele kako ne bi stvarale gužvu.
U primjeru na ruteru imamo dvije mrežne kartice koje su spojene na dvije mreže. IP adrese
kartica su 192.168.0.100 i 192.168.1.100 (mreže su 192.168.0.0. i 192.168.1.0). Vidimo da za i njih
postoje rute koje pokazuju na 127.0.0.1. Ako ruta ima mrežnu masku 255.255.255.255, onda ona ne
upućuje na mrežu nego na konkretan uređaj.
Dvije mreže su međusobno rutirane pomoću svojih ruta 192.168.0.0. i 192.168.1.0. One govore
ruteru da kad stigne mrežni paket za mrežu 192.168.0.0., da ruter treba da ga pošalje na svoju
karticu 192.168.0.100. koja je priključena na tu mrežu. Isto je za drugu mrežu. Pomoću ove dvije rute
mreže mogu da „razgovaraju“ međusobno.
Uređaji na kojima se podešava rutiranje su ruteri i Layer 3 switch-evi. Razlika je u tome što se
ruter može povezati na mreže koje su različitih tehnologija, a switch-evi rade samo sa Ethernet
mrežama. Na Layer 3 switch-u se rutira između virtualnih mreža (koristi se naziv VLAN – virtualni
LAN)koje se na ovim switch-evima mogu definisati.
Pored Layer 3 switch-a postoji i Layer 2 switch, koji je obični „glupi“ switch. Nazivi Layer 2 i Layer
3 se odnose na slojeve (lejere) teoretskog modela računarske mreže ISO OSI, koji ima 7 slojeva i
ovako se upoređuje sa TCP/IP modelom:
ISO OSI je samo teorija, TCP/IP je praksa, ali nazivi switch-eva su vezani za ISO/OSI slojeve.
Layer 2 switch radi na sloju veze i povezuje uređaje koristeći njihove MAC adrese. U LAN-u je
brži od Layer 3 switch-a.
Layer 3 switch radi na sloju mreže i povezuje uređaje koristeći njihove IP adrese. Može da rutira
između VLAN-ova (virtualnih mreža) koje se definišu na njemu.
TRACERT komanda
Tracert je korisna komanda za ispitivanje rutiranja, kao i provjeravanje kuda mrežni saobraćaj
prolazi da bi stigao do neke tačke. Na Linuxu je komanda traceroute, ali se isto koristi.
Trace complete.
U gornjem primjeru smo sa računara u mreži 10.1.2.0 trejsovali www.google.com. Prva adresa
koja se pojavi u trejsu je uvijek gateway od mreže u kojoj se nalazimo – 10.1.2.254 u primjeru. Za
sljedeću adresu slučajno znamo da je u pitanju mtel-ov ruter, itd. Vidi se i broj milisekundi koliko je
mrežni paket putovao između tačaka na mreži, što je takođe korisno da se otkriju usporenja.
PATHPING komanda
Još korisniji od tracert komande je pathping. To je kombinacija komandi ping i tracert. Ova
komanda uradi isto što i tracert a onda svaku tačku na ruti pinguje po 25 sekundi da bi otkrila da li se
negdje gube paketi.
Trace complete.
Kad smo ovo pokrenuli, komandi je trebalo 75 sekundi da završi (tri uređaja po 25 sekundi).
Uređaji (kompjuteri, svičevi, ruteri označeni sa IP adresama) a njihove međusobne veze sa |. U
gornjem primjeru se vidi da veza između rutera 10.1.2.254 i 109.165.239.92 gubi 3% paketa. Takođe,
ukupna veza do rutera 109.165.239.92 je izgubila 7% paketa (kolona Source to Here) a sam ruter nije
proslijedio 13% paketa koje je trebalo da proslijedi (što bi značilo da je ruter zagušen).
8. Network Address Translation (NAT)
U pitanju je podešenje na ruteru koje omogućuje da se neki uređaj (obično server), sa nekom IP
adresom iz unutrašnje mreže, preslika na vanjsku IP adresu na Internetu. Svi uređaji spolja, tj. sa
Interneta, će onda vidjeti interni server kao da se nalazi na toj, vanjskoj IP adresi. NAT ima još
mogućnosti i varijanti, ali za ovo uputstvo nećemo dalje.
Nekad je bilo moguće podesiti obični ruter od telekoma da preko NAT-a neki naš računar „izloži“
kao server na Internetu. Ruteri telekoma nemaju fiksne IP adrese, ali njihove adrese su trajne bar
dok se ruter ne ugasi ili ne resetuje. Onda bismo dali nekom ko treba da koristi naš server IP adresu
telekomovog rutera i taj korisnik bi normalno pristupao serveru.
Danas to više nije moguće. Pošto je nestalo slobodnih IPv4 adresa, telekomi korisnicima više ne
daju IP adrese direktno na Internetu, već na njihovoj internoj mreži. Vanjski ruteri telekoma preko
posebne NAT tehnologije (tzv. CGNAT ili CGN) obezbjeđuju komunikaciju korisnika sa Internetom.
Ovo onemogućuje da korisnik koji nije kupio javnu IP adresu ima server na Internetu, ali daje dodatni
i dobar sloj zaštite korisnicima od prijetnji sa mreže.
9. Port forwarding
Ova opcija na ruterima je slična kao NAT, samo što umjesto čitavih IP adresa radi sa TCP i UDP
portovima. Zato je zgodnija za korištenje od NAT-a i češće se i koristi. Omogućuje da se TCP ili
UDPport sa uređaja (servera) sa unutrašnje mreže preslika na neki port na vanjskoj IP adresi. Time
možemo podesiti da se spolja vidi neki server (tj. samo port preko koga serverski softver radi). Ni na
ovaj način se više ne može izaći direktno na Internet zbog CGNAT rutera.