You are on page 1of 6

5.

Mrezni sloj
Do sada smo videli da se Ethernet koristi za povezivanje uredjaja koji su na bliskom
rastojanju. Ali se ne moze neograniceno siriti jedna L2 mreza. Takodje, kod VLAN-ova
imamo potrebu da organizujemo mrezu u razlicite logicke celine i one se ponasaju kao
potpuno odvojene mreze na 2. nivou i one se moraju povezati, a da bi se to postiglo, mora
se doci do 3. sloja mreznog sloja.
Bitne karakteristike 3. sloja:
Pre svega adresiranje. Mreza na 3. sloju treba da bude skalabilna, da bude proizvoljno
velika, prakticno da moze da bude globalna. Uredjaji koji se javljaju na takvoj mrezi
moraju da budu jedinstveni i moraju da budu vidljivi sa cele mreze. Rutiranje oznacava
proces prosledjivanja poruka izmedju dve tacke na mrezi, a te poruke prolaze kroz niz
medjusobno razdvojenih manjih mreza, koje su povezane preko rutera. Razmena
podataka se, takodje, odvija preko poruka. Poruke na 3. nivou se enkapsuliraju u poruke
na 2. nivou. Racunar izlazi sa svojim podacima (porukom) na 3. nivou, izlazi na Ethernet,
dakle on se enkapsulira u poruku 2. nivoa u okvir koji izlazi na Ethernet mrezu, koja
moze da ide preko niza sviceva ili cak habova, koja ce doci do rutera. Ali, da bi poruka
prosla, ruter mora da je raspakuje, da vidi sadrzaj na 3. nivou i da odluci da li ce da salje
na ruter1 ili ruter2. Ova veza izmedju dva rutera moze da bude PPP veza ili HDLC veza.
Kada poruka izadje na odredisnu mrezu, koja je opet neka L2 mreza, ona ce da se
enkapsulira u L2 okvir, koji ce da nadje put do uredjaja kome je zaista namenjen i to tako
kao sto bi ruter kao jedan uredjaj na Ethernet mrezi poslao bilo koji okvir do tog
odredjenog drugog uredjaja na L2 mrezi. Videcemo da mrezni sloj moze da sprovodi i
fragmentaciju poruka, paketa, da ih razdvoji na manje celine, a postoje, kao sto smo i
ranije napomenuli, veci broj protokola na 3. nivou IPX, Apple Talk,..., ali danas se
iskljucivo koristi IP protokol (Internet Protocol).
Karakteristike IP protokola:
On je Connectionless, sto oznacava da ne postoji konekcija izmedju tacaka koje
komuniciraju. Dakle, ne uspostavlja se veza sa kraja na kraj pre nego sto se posalju
paketi. Svaki paket se nezavisno salje do svog odredista, po veoma slicnoj analogiji kao i
obicna, tradicionalna papirnata posta. To znaci da posiljalac ne zna da li primalac postoji i
da li je on trenutno povezan na mrezu, ne zna da li je paket uspesno stigao, jer nema
potvrdu uspesnog prijema. Cak i ako se paket primi, mi ne znamo da li je taj paket
ostecen, da li je onaj koji je primio paket uspeo da ga rekonstruise i prepozna. Primalac,
takodje, ne zna kada ce da mu prstigne paket.
Best Effort oznacava da ce mreza pruziti najbolju sansu da se paketi prenesu, ali to nije
pouzdano, nema garancije da ce paketi da se prenesu. Paket moze da se izgubi, da bude
ostecen, moze veza da bude zagusena pa da se neki paketi odbace, moze i da se promeni
redosled paketa. To sve IP protokol ne resava. On samo treba da prenese pakete u nameri
da ce oni da stignu.

IP protokol je Media Independent, ne zavisi od fizickog medijuma. Na 2. nivou imamo


protokole koji su direktno oslonjeni na fizicki medijum. IP se enkapsulira u pojedinacne
protokole L2 nivoa: Ethernet, PPP, HDLC, Frame Relay...
Podaci koji se dobiju sa viseg 4. sloja se postavljaju u pakete i na njih se dodaje zaglavlje
koje se naziva zaglavlje ili IP Header. Najvaznija polja zaglavlja su adrese izvorista i
odredista. Pre ovih adresa javljaju se neka kontrolna polja. Time To Live (TTL) polje je
novina u odnosu na ono sto nam je pravilo problem na 2. nivou. TTL polje je velicine 1
bajta i ono ce da se smanjuje svaki put kada okvir predje sa jednog rutera na drugi. To je
bitno jer u mrezama, koje treba da budu globalne, jako je bitno da imamo redudantne
putanje, koje su bitne zbog stabilnosti, ali je dobro da imamo i balansiranje saobracaja.
Medjutim, moramo da resimo onaj problem koji nastane kada se paketi beskonacno
zavrte. To moze da se desi ili greskom u konfiguraciji na ruterima, mada oni ako su dobro
konfigurisani treba da prepoznaju to i sprece. Zbog toga sto to moze da se desi ubaceno je
polje TTL u zaglavlje svakog paketa, koje ima jednu vrednost vecu od nule, maksimalno
255 i prikom prolaska kroz svaki ruter, on ce da oduzme vrednost ovog TTL brojaca,
smanjivace se za 1 u svakom koraku, i ako dodje do 0 ruteri ce da odbace te pakete.
Paketi na 3. nivou mogu da budu odredjene duzine, ali ono sto je bitno jeste da oni
moraju da se postave u pakete u okvire na 2. nivou, dakle da se enkapsuliraju. Okviri na
2. nivou imaju svoju maksimalnu velicinu. Maksimalna velicina kod Etherneta je bila
1500 bajtova za podatke, a neke tehnoligije mogu da imaju i manju maksimalnu velicinu,
a ta vrednost se naziva MTU (Maximum Transmition Unit). Ako nam stigne podatak
veci od MTU tada imamo problem i IP protokol mora da se izbori sa time. On ce u tom
slucaju da se podeli na manje delove, da se fragmentira i da se svaki manji nezavisni deo
prenese u taj okvir. I taj proces se naziva fragmentacija. Da bi se podrzala fragmentacija
moraju da budu dodatna polja sadrzana u zaglavlju. Pre svega, svaki paket ima svoj
identifikator - polje Identification, koji je velicine 2 bajta i koji ce da oznacava taj paket
na 3. nivou koji je poslat. Sledece polje bitno za fragmentaciju je polje Flag, koje nosi
kontrolne bite i polje Fragment Offset, koje dodatno ukazuje na velicinu onog dela koji
je fragmentiran. To funkcionise na sledeci nacin. Prvo kontrolni biti u Flag polju nose
informaciju da li je prvo neki paket fragmentiran, odnosno, ako je fragmentiran, da li ima
jos fragmenata koji pristizu iza njega. To polje se naziva Mode Fragment Flag. Vrednost
jedan oznacava da fragment nije poslednji koji potice od tog originalnog paketa. Nula
znaci da nema vise fragmenata koji pristizu. Takodje, mozemo i da zabranimo
fragmentaciju paketa i ako je postavljena jedinica na polje Don't Fragment, tada se
zabranjuje fragmentacija i tada ce biti odbaceni paketi, a nula ako se dozvoljava
fragmentacija, sto je i default-na vrednost. Fragment Offset ce da ukazuje na mesto tog
fragmenta u originalnom vecem IP paketu. On oznacava relativni pomeraj, Offset od
pocetka fragmenta u odnosu na podatke iz originalnog IP paketa. Imamo ogranicenu
velicinu polja Fragment Offset i ona je u segmentima od po 8 bajta (8, 16, 32...).
Do fragmentacije dolazi ako naidjemo na MTU koji je manji od velicine paketa koji je
pristigao, a drugi uslov je da Don't Fragment bit nije setovan. Fragmentacija se realizuje
tako sto se podaci dele na dva ili vise delova tako da svaki taj manji deo mora da
predstavlja novi podatak u IP paketu koje fragment veceg paketa. Dakle, i fragmenti ce
da sadrze zaglavlja koja su vrlo slicna zaglavljima originalnih paketa. Tako da moramo
2

da uklopimo i ove delove i zaglavlje u MTU koji imamo na raspolaganju na tom delu
puta. Duzina svakog dela podataka mora da bude u inkrementima od po 8, zato sto nam
Offset upravo pokazuje na te vrednosti. Zatim se svaki taj deo enkapsulira u novi IP
paket, dakle dodaje mu se zaglavlje. U tom zaglavlju adrese ostaju iste i drugi podaci
ostaju isti, TTL ostaje isti, ali se menjaju neke stvari. Prvo mora da se postavi prava
vrednost za More Fragment Flag, ako to nije poslednji fragment onda se setuje taj bit.
Zatim se upisuje vrednost Fragment Offseta u taj podatak, koji ukazuje na poziciju tog
fragmenta u originalnom nizu i Header Length, Checksum i neka druga polja se ponovo
preracunavaju, a ostala polja se kopiraju, ukljucujuci i ID.
Reasemling je proces objedinjavanja svih podataka iz fragmenata u originalni niz
podataka iz prvobitnog IP paketa. Reasembling radi poslednja odredisna radna stanica ili
uredjaj kome su namenjeni paketi. Taj uredjaj dobija nezavisne IP pakete, primetice da na
nekom paketu postoji Flag More Fragment, sto znaci da je to sada pocetak niza
fragmenata i za takav slucaj uredjaj zna da svi fragmenti imaju isti identifikator i on ce
alocirati jedan bafer u memoriji i redjace fragmente koji pristizu sa tim identifikatorom.
Moramo da startujemo i tajmer zato sto mi ne znamo da li ce nam se neki takav fragment
izgubiti ili nece, a necemo beskonacno dugo da ga cekamo, obicno je to nekoliko
sekundi, npr. 60. I kako pristizu fragmenti gledamo identifikaciju tog originalnog paketa i
postavljamo u taj alocirani bafer. Imamo Offset koji nam ukazuje gde se nalazi u
originalnom nizu koji fragment, cak i ako oni ne stignu u istom redosledu. Tek kada
pristigne i poslednji fragment, tada se ti podaci objedinjavaju i tako u celini se predaju
protokolu 4. nivoa. Ako ne stigne neki fragment, tada istice ovaj tajmer i tada se odbacuju
svi ostali fragmenti.
Dakle, imamo TTL, polja vezana za fragmente i imamo i verziju koja nam ukazuje o
kojoj verziji protokola se radi. Verzija 4 je tradicionalna verzija koja se u najvecem broju
slucajeva korsti. Ali najvazniji podatak u zaglavlju je adresa. Imamo izvorisnu i
odredisnu adresu. IP adrese su jako bitan koncept. Adrese u verziji 4 imaju duzinu od 4
bajta, sto je jako veliki broj. Adrese su podeljene u klase A, B, C, D i E. Klasa D sluzi za
multicast, a klasa E je rezervisana za eksperimentalne potrebe. Klasa A ima vodecu nulu
u svojoj bitskoj reprezentaciji. Prvi bajt moze da ima vrednosti od 0 do 127, a ostala 3
bajta mogu da variraju sve vrednosti od 0 do 255, sto ukupno daje jako veliki opseg,
tacnije polovinu svih ovih mogucih adresa. Klasa B pocinje sa binarnom jedinicom i
nulom, sto oznacava da prvi bajt moze da bude u opsegu od 128 do 191. Klasa C pocinje
sa dve jedinice i nulom, sto znaci da je prvi bajt u opsegu od 192 do 223. Klasa D pocinje
sa tri jedinice i nulom, tako da je prvi bajt u opsegu od 224 do 239. I ostatak je klasa E.
Dakle, svaka klasa je upola manja od prethodne.
Postoji organizacija koja regulise dodelu adresa. Prvobitno je to bio InterNIC, koji je
kasnije prerastao u organizaciju IANA koji dodeljuje adrese. I IANA je svoju ulogu
dodeljivanja adresa delegirala na Regionalne Internet Registre (RIP) po kontinentima.
Domeni se na drugi nacin uredjuju, ali su tesno povezani sa adresama.
Ne koriste se sva 4 bajta za odredjivanje adrese uredjaja u nekoj mrezi, vec se ova 4 bajta
dele u dve grupe. Prvi, visi deo od ova 4 bajta ce da adresira mrezu (adresu mreze), a
ostatak bitova od ova 4 bajta ce da identifikuje, adresira uredjaj na toj mrezi. Ovaj drugi
deo nazivamo Host deo, a prvi deo Network. U drugom delu za hostove imamo x bita,
3

medjutim ne koriste se sve adrese u tom drugom delu. Sa x bitova mozemo da adresiramo
2x razlicitih adresa, ali su dve adrese rezervisane u tom opsegu. Ako posmatramo mrezu
koja ima prva tri bajta koji oznacavaju adresu mreze, 4. bajt oznacava hostove u toj
mrezi, sve nule u host delu oznacavaju adresu mreze. Imamo prakticno dve mreze i one
su spojene preko rutera. Te dve mreze su, posmatrano sa 3. nivoa, jedna celina koja moze
da se sastoji iz Ethernet mreze, stavise iz vise Ethernet sviceva i habova. Dakle, dve
razlicite mreze, dva razlicita Ethernet domena, moguce i VLAN-a su povezana preko
rutera. Sve jedinice u host delu su rezervisane za oznacavanje broadcast adrese.
Broadcast adresa je namenjena svima.
Takodje, od svih mogucih adresa postoje i u ovim klasama A, B, C odredjeni delovi koji
su rezervisani i koji se ne koriste. Takve adrese nazivaju se privatne adrese i one se ne
koriste za javno povezivanje na internet. One mogu da se koriste u izolovanim mrezama
koje nisu direktno povezane na internet.
U klasi A oseg privatne adrese u prvom bajtu ima broj 10, dok su ostala 3 bajta
proizvoljna. U klasi B se izdvaja 16 mreza varijacija drugog bajta bitova u opsegu od
172.16 - 172.31, druga dva bajta su proizvoljna. U klasi C postoji 256 mreza u opsegu
192.168.0.0 -1 92.168.255.255.
Postoje i rezervisane adrese, npr. u klasi A opseg od 0.0.0.0-0.255.255.255, a adresa
0.0.0.0 oznacava posebnu adresu koja je dzoker za sve ostale adrese i zove se default
ruta, a adresa 127.0.0.1 oznacava loopback adresu koja je namenjena za svaki uredjaj.
Podela na ove klase je imala za cilj da omoguci da se mreza struktuira u vise delova, tako
da imamo adresu mreze i adresu hostova u mrezi.
Jako je bitan koncept koji omogucava da se dalje podeli host deo koji moze biti dosta
veliki na podmreze. Imamo fiksni mrezni deo i podmreze Subnet. Dakle, Subnetting
sabnetovanje predstavlja deljenje mreznog dela na manje delove - podmreze. Najvise sto
mozemo da idemo u host deo je da u host delu ostanu dva bita. Ta dva bita ce dati cetiri
adrese, od toga su dve adrese rezervisane i moramo imati jos 1 bit za hostove.
Kako oznaciti gde je granica sabneta u tom delu? To je podatak koji se oznacava kao
maska. Maska nosi informaciju gde je granica izmedju sabneta i host dela. Maske se
mogu nezavizno koristiti od klase A, B i C. To funkcionise tako sto mi nasa 4 bajta sada
posmatramo kao 32 bita i kazemo da nam je granica maske do odredjenog bita, sto znaci
da maska moze da se predstavi kao podatak od 4 bajta koji ima vodece jedinice koje
oznacavaju deo mreze i ostale sve nule koje oznacavaju host deo. Te vodece jedinice
maskiraju deo koji oznacava podmrezu, a nule maskiraju deo koji oznacava hostove,
kazemo da maskiraju zato sto se bitskom operacijom AND jedinice preslikavaju u
jedinice, nule u nule i od bilo koje adrese izdvojicemo mreznu adresu.
Kada imamo jednu adresu u IP formi znamo da nam ona jednoznacno oznacava jedan
jedini uredjaj na mrezi, ali ne znamo kojoj mrezi ona pripada, mozemo da znamo kojoj
klasi A, B ili C, ali ne znamo kojoj podmrezi, ne znamo kako je ta mreza podeljena. Da
bismo to znali mi moramo da imamo i masku, pa host adresa kojoj je pridruzena maska
nosi tu informaciju. Maska ce kazati tacno do kog dela smo usli u host deo, odnosno koja

nam je adresa mreze kojoj pripada taj host. To je jako bitno za funkcionisanje rutera i
uopste svih mehanizama koji se koriste u komunikaciji na mreznom nivou.
Mozemo za razlicite maske binarno da racunamo sta nam se desava u kom bitu, da
pretvaramo binarne brojeve u dekadne. Medjutim, koristi se jedan trik koji moze dosta da
ubrza ovo racunanje. Kada gledamo masku, ona se zavrsava u nekom bajtu. Taj bajt zove
se Subnet's Interesting Octet i to je poslednji bajt koji sadrzi jedinice. Njega gledamo i
koristimo nesto sto se zove Magic Number koji nama prakticno omogucava da ne
gledamo sada brojeve koji imaju u tom bajtu vodece jedinice pa pratece nule pa da ih
pretvaramo u broj koji odgvara dekadnom obliku. Lakse je da gledamo koliko imamo
nula. I npr. imamo masku duzine 28 bita. 28=8+8+8+4 jedinice i 4 nule. 2 4=16 i taj broj
se naziva magic number. Dakle, imamo 24 varijacija za hostove, sto znaci da ako od 256
oduzmemo 16 dobicemo 240 i to je broj koji predstavljaju vodece jedinice.
Da sumiramo, iz IP adrese i maske mozemo da zakljucimo prvo koja je adresa maske,
koja je prva IP adresa na raspolaganju za hostove, koja je poslednja i koja je broadcast
adresa. Kod slozenijih maski imamo slucaj npr. adresa je 130.4.102.1/22. Bajt od interesa
je 3. jer je tu poslednja jedinica, a 2 poslednja bita su u host delu, dakle magic number je
4, sto znaci da ce adresa podmreza na koje se odnosi ovakva jedna maska da ide u
inkrementima od 4 (0, 4, 8, 12, 16...) i mi treba da vidimo u kojoj se podmrezi nasa
adresa nalazi. U tim inkrementima doci cemo od po 4 do mreze .100, a sledeca je .104.
Dakle, adresa mreze je 130.4.100.0, prva raspoloziva adresa u toj mrezi je 130.4.100.1.
Broadcast adresa ima sve jedinice u host delu, a to su sve jedinice u 4. bajtu i ona dva bita
u 3. bajtu, pa je poslednja adresa u podmrezi 100+4-1=103, dakle 130.4.103.255, a
poslednja adresa na raspolaganju je za 1 manja od broadcast adrese i to je 130.4.103.254.
Zasto bismo uopste koristili podmreze? Imamo ogranicen broj adresa i ako koristimo C
klasu, ona je sasvim dovoljna, ali nam je nekada i to previse. Recimo ako imamo mrezu
sa 100tinak racunara u jednom i 100tinak u drugom delu zgrade, mozemo da ih
grupisemo u jednu zajednicku mrezu ili zelimo da ih razdvojimo na primer u VLAN-ove.
Ako bismo koristili C klase bez maski tada bi jedna C klasa bila namenjena za jednu, a
druga za drugu mrezu, ali C klasa moze da adresira 254 maksimalno uredjaja sto nam je
previse. Tako da cemo mi da uklopimo nase stvarne potrebe koje imamo do minimalne
mreze koja moze da obuhvati sve nase racunare, a to je recimo mreza sa maskom 25, do
128 adresa i mozemo jednu mrezu sa maskom 24 da podelimo na dve mreze sa maskom
25. Mozemo jos vise da delimo te maske i postoji koncept koji se naziva Variable
Length Subnet Mask VLSM. Duzina maske nije uvek fiksne, vec varijabilne velicine.
U nasoj mrezi, celu mrezu podelimo na masku iste duzine, recimo /27 i sve podmreze u
toj mrezi moraju da budu te fiksne velicine, sto daje opseg od 32 adrese u host delu.
Medjutim, za point-to-point linkove nama ne treba 30 adresa, nama trebaju samo dve
adrese. Znaci koristimo masku koja ima minimalni broj adresa, znaci masku dizine 30.
Da mi ne bismo trosili ceo ovaj opseg na ovako male mreze, mi mozemo da jednu
podmrezu od 32 adrese u host delu dalje podelimo na odredjeni broj npr. na novih 8
podmreza, koje ce sve biti u tom opsegu, ali ce maska biti veca, bice 30. I ruteri moraju
da barataju sa razlicitim duzinama maski. Neki raniji protokoli nisu to podrzavali. Kad
imamo varijabilnu duzinu maske imamo fleksibilnost, mozemo hijerarhijski da gradimo

mrezu, efikasnije koristimo adresni prostor, mozemo da podrzimo skalabian rast mreze i
dodavanje novih adresa.
Postoji i Supernetting, kod koga maska ne ide u host deo, nego maska sada ulazi u
mrezni deo, maska se smanjuje. Time se dobija da se moze sprovesti agregacija (spajanje)
vise manjih mreza u jednu vecu mrezu. Mozemo da grupisemo samo susedne mreze i to
sve one koje su u tom opsegu koji nam diktiraju biti u tom delu gde se maska pomera.
Dakle, ako imamo situaciju sa 8 mreza i to u opsegu od 172.24.0.0/16 do 172.31.0.0/16,
one imaju zajednickih 8 bita u prvom bajtu i 5 bita u drugom. Sto znaci da ako mi masku
postavimo na tu granicu dobicemo mrezu koja oznacava svih 8 podmreza. Ta mreza ce da
nosi naziv 172.24.0.0/13.
Na internetu je jako veliki broj mreza i taj broj je eksponencijalno rastao. Da nemamo
agregaciju ruta, toliko bismo imali manjih mreza da bi prakticno jos mnogo ranije ruteri
bili prezasiceni. Agregacijom se smanjuje ukupan broj mreznih adresa koje se vide na
internetu.

You might also like