5. mrezni sloj

Upload: singidunum112

Post on 02-Mar-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 5. Mrezni sloj

    1/6

    5. Mrezni sloj

    Do sada smo videli da se Ethernet koristi za povezivanje uredjaja koji su na bliskomrastojanju. Ali se ne moze neograniceno siriti jedna L2 mreza. Takodje, kod VLA!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, morase doci do ". sloja # mreznog sloja.

    Bitne karakteristike 3. sloja:

    $re svega adresiranje. %reza na ". sloju treba da bude skalabilna, da bude proizvoljno

    velika, prakticno da moze da bude globalna. &redjaji koji se javljaju na takvoj mrezi

    moraju da budu jedinstveni i moraju da budu vidljivi sa cele mreze. Rutiranjeoznacavaproces prosledjivanja poruka izmedju dve tacke na mrezi, a te poruke prolaze kroz niz

    medjusobno razdvojenih manjih mreza, koje su povezane preko rutera. 'azmena

    podataka se, takodje, odvija preko poruka. $oruke na ". nivou se enkapsuliraju u porukena 2. nivou. 'acunar izlazi sa svojim podacima (porukom) na ". nivou, izlazi na Ethernet,

    dakle on se enkapsulira u poruku 2. nivoa u okvir koji izlazi na Ethernet mrezu, kojamoze da ide preko niza sviceva ili cak habova, koja ce doci do rutera. Ali, da bi porukaprosla, ruter mora da je raspakuje, da vidi sadrzaj na ". nivou i da odluci da li ce da salje

    na ruter* ili ruter2. +va veza izmedju dva rutera moze da bude $$$ veza ili DL- veza.

    ada poruka izadje na odredisnu mrezu, koja je opet neka L2 mreza, ona ce da seenkapsulira 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

    fragmentacijuporuka, paketa, da ih razdvoji na manje celine, a postoje, kao sto smo iranije napomenuli, veci broj protokola na ". nivou /$0, Apple Talk,..., ali danas se

    iskljucivo koristi IP protokol (Internet Protocol).

    arakteristike IP protokola:

    +n je !onnectionless, sto oznacava da ne postoji konekcija izmedju tacaka kojekomuniciraju. Dakle, ne uspostavlja se veza sa kraja na kraj pre nego sto se posalju

    paketi. 1vaki 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 nemapotvrdu uspesnog prijema. -ak 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. $rimalac,

    takodje, ne zna kada ce da mu prstigne paket.

    Best "ffortoznacava da ce mreza pruziti najbolju sansu da se paketi prenesu, ali to nijepouzdano, nema garancije da ce paketi da se prenesu. $aket moze da se izgubi, da budeostecen, moze veza da bude zagusena pa da se neki paketi odbace, moze i da se promeni

    redosled paketa. To sve /$ protokol ne resava. +n samo treba da prenese pakete u nameri

    da ce oni da stignu.

    *

  • 7/26/2019 5. Mrezni sloj

    2/6

    /$ protokol je Media Independent, ne zavisi od izickog medijuma. a 2. nivou imamo

    protokole koji su direktno oslonjeni na izicki medijum. /$ se enkapsulira u pojedinacne

    protokole L2 nivoa3 Ethernet, $$$, DL-, 4rame 'ela5...

    $odaci koji se dobiju sa viseg 6. sloja se postavljaju u pakete i na njih se dodaje zaglavlje

    koje se naziva zagla#lje ili IP $eader. ajvaznija polja zaglavlja su adrese izvorista iodredista. $re ovih adresa javljaju se neka kontrolna polja. %ime %o &i#e (%%&)polje je

    novina u odnosu na ono sto nam je pravilo problem na 2. nivou. TTL polje je velicine *

    bajta i ono ce da se smanjuje svaki put kada okvir predje sa jednog rutera na drugi. To jebitno 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.

    %edjutim, moramo da resimo onaj problem koji nastane kada se paketi beskonacno

    zavrte. To moze da se desi ili greskom u koniguraciji na ruterima, mada oni ako su dobrokonigurisani treba da prepoznaju to i sprece. 7bog toga sto to moze da se desi ubaceno je

    polje TTL u zaglavlje svakog paketa, koje ima jednu vrednost vecu od nule, maksimalno

    288 i prikom prolaska kroz svaki ruter, on ce da oduzme vrednost ovog TTL brojaca,smanjivace se za * u svakom koraku, i ako dodje do 9 ruteri ce da odbace te pakete.

    $aketi na ". nivou mogu da budu odredjene duzine, ali ono sto je bitno jeste da onimoraju da se postave u pakete u okvire na 2. nivou, dakle da se enkapsuliraju. +kviri na

    2. nivou imaju svoju maksimalnu velicinu. %aksimalna velicina kod Etherneta je bila

    *899 bajtova za podatke, a neke tehnoligije mogu da imaju i manju maksimalnu velicinu,a ta vrednost se naziva M%' (Maimum %ransmition 'nit). Ako nam stigne podatak

    veci od %T& tada imamo problem i /$ protokol mora da se izbori sa time. +n ce u tom

    slucaju da se podeli na manje delove, da se ragmentira i da se svaki manji nezavisni deo

    prenese u taj okvir. / taj proces se naziva ragmentacija. Da bi se podrzala ragmentacijamoraju da budu dodatna polja sadrzana u zaglavlju. $re svega, svaki paket ima svoj

    identiikator ! polje Identification, koji je velicine 2 bajta i koji ce da oznacava taj paket

    na ". nivou koji je poslat. 1ledece polje bitno za ragmentaciju je polje lag, koje nosikontrolne bite i polje ragment *ffset, koje dodatno ukazuje na velicinu onog dela koji

    je ragmentiran. To unkcionise na sledeci nacin. $rvo kontrolni biti u 4lag polju nose

    inormaciju da li je prvo neki paket ragmentiran, odnosno, ako je ragmentiran, da li imajos ragmenata koji pristizu iza njega. To polje se naziva Mode ragment lag. Vrednost

    jedan oznacava da ragment nije poslednji koji potice od tog originalnog paketa. ula

    znaci da nema vise ragmenata koji pristizu. Takodje, mozemo i da zabranimo

    ragmentaciju paketa i ako je postavljena jedinica na polje +on,t ragment, tada sezabranjuje ragmentacija i tada ce biti odbaceni paketi, a nula ako se dozvoljava

    ragmentacija, sto je i deault!na vrednost. 4ragment +set ce da ukazuje na mesto tog

    ragmenta u originalnom vecem /$ paketu. +n oznacava relativni pomeraj, +set od

    pocetka ragmenta u odnosu na podatke iz originalnog /$ paketa. /mamo ogranicenuvelicinu polja 4ragment +set i ona je u segmentima od po : bajta (:, *;, "2...).

    Do ragmentacije dolazi ako naidjemo na %T& koji je manji od velicine paketa koji je

    pristigao, a drugi uslov je da Don

  • 7/26/2019 5. Mrezni sloj

    3/6

    da uklopimo i ove delove i zaglavlje u %T& koji imamo na raspolaganju na tom delu

    puta. Duzina svakog dela podataka mora da bude u inkrementima od po :, zato sto nam

    +set upravo pokazuje na te vrednosti. 7atim se svaki taj deo enkapsulira u novi /$paket, dakle dodaje mu se zaglavlje. & tom zaglavlju adrese ostaju iste i drugi podaci

    ostaju isti, TTL ostaje isti, ali se menjaju neke stvari. $rvo mora da se postavi prava

    vrednost za %ore 4ragment 4lag, ako to nije poslednji ragment onda se setuje taj bit.7atim se upisuje vrednost 4ragment +seta u taj podatak, koji ukazuje na poziciju tog

    ragmenta u originalnom nizu i eader Length, -hecksum i neka druga polja se ponovo

    preracunavaju, a ostala polja se kopiraju, ukljucujuci i /D.

    Reasemling je proces objedinjavanja svih podataka iz ragmenata u originalni niz

    podataka iz prvobitnog /$ paketa. 'easembling radi poslednja odredisna radna stanica ili

    uredjaj kome su namenjeni paketi. Taj uredjaj dobija nezavisne /$ pakete, primetice da nanekom paketu postoji 4lag %ore 4ragment, sto znaci da je to sada pocetak niza

    ragmenata i za takav slucaj uredjaj zna da svi ragmenti imaju isti identiikator i on ce

    alocirati jedan baer u memoriji i redjace ragmente koji pristizu sa tim identiikatorom.%oramo da startujemo i tajmer zato sto mi ne znamo da li ce nam se neki takav ragment

    izgubiti ili nece, a necemo beskonacno dugo da ga cekamo, obicno je to nekoliko

    sekundi, npr. ;9. / kako pristizu ragmenti gledamo identiikaciju tog originalnog paketa ipostavljamo u taj alocirani baer. /mamo +set koji nam ukazuje gde se nalazi u

    originalnom nizu koji ragment, cak i ako oni ne stignu u istom redosledu. Tek kada

    pristigne i poslednji ragment, tada se ti podaci objedinjavaju i tako u celini se predajuprotokolu 6. nivoa. Ako ne stigne neki ragment, tada istice ovaj tajmer i tada se odbacuju

    svi ostali ragmenti.

    Dakle, imamo TTL, polja vezana za ragmente i imamo i verziju koja nam ukazuje okojoj verziji protokola se radi. Verzija 6 je tradicionalna verzija koja se u najvecem broju

    slucajeva korsti. Ali najvazniji podatak u zaglavlju je adresa. /mamo izvorisnu i

    odredisnu adresu. /$ adrese su jako bitan koncept. Adrese u verziji 6 imaju duzinu od 6bajta, sto je jako veliki broj. Adrese su podeljene u klase A, =, -, D i E. lasa D sluzi za

    multicast, a klasa E je rezervisana za eksperimentalne potrebe. lasa A ima vodecu nulu

    u svojoj bitskoj reprezentaciji. $rvi bajt moze da ima vrednosti od 9 do *2>, a ostala "bajta mogu da variraju sve vrednosti od 9 do 288, sto ukupno daje jako veliki opseg,

    tacnije polovinu svih ovih mogucih adresa. lasa = pocinje sa binarnom jedinicom i

    nulom, sto oznacava da prvi bajt moze da bude u opsegu od *2: do *?*. lasa - pocinje

    sa dve jedinice i nulom, sto znaci da je prvi bajt u opsegu od *?2 do 22". lasa D pocinjesa tri jedinice i nulom, tako da je prvi bajt u opsegu od 226 do 2"?. / ostatak je klasa E.

    Dakle, svaka klasa je upola manja od prethodne.

    $ostoji organizacija koja regulise dodelu adresa. $rvobitno je to bio /nter/-, koji jekasnije prerastao u organizaciju /AA koji dodeljuje adrese. / /AA je svoju ulogu

    dodeljivanja adresa delegirala na 'egionalne /nternet 'egistre ('/$) po kontinentima.Domeni se na drugi nacin uredjuju, ali su tesno povezani sa adresama.

    e koriste se sva 6 bajta za odredjivanje adrese uredjaja u nekoj mrezi, vec se ova 6 bajtadele u dve grupe. $rvi, visi deo od ova 6 bajta ce da adresira mrezu (adresu mreze), a

    ostatak bitova od ova 6 bajta ce da identiikuje, adresira uredjaj na toj mrezi. +vaj drugi

    deo nazivamo ost deo, a prvi deo et@ork. & drugom delu za hostove imamo bita,

    "

  • 7/26/2019 5. Mrezni sloj

    4/6

    medjutim ne koriste se sve adrese u tom drugom delu. 1a bitova mozemo da adresiramo

    2razlicitih adresa, ali su dve adrese rezervisane u tom opsegu. Ako posmatramo mrezu

    koja ima prva tri bajta koji oznacavaju adresu mreze, 6. bajt oznacava hostove u tojmrezi, sve nule u host delu oznacavaju adresu mreze. /mamo prakticno dve mreze i one

    su spojene preko rutera. Te dve mreze su, posmatrano sa ". nivoa, jedna celina koja moze

    da se sastoji iz Ethernet mreze, stavise iz vise Ethernet sviceva i habova. Dakle, dverazlicite mreze, dva razlicita Ethernet domena, moguce i VLA!a su povezana preko

    rutera. 1ve jedinice u host delu su rezervisane za oznacavanje broadcast adrese.

    =roadcast adresa je namenjena svima.

    Takodje, od svih mogucih adresa postoje i u ovim klasama A, =, - 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. +ne mogu da se koriste u izolovanim mrezamakoje nisu direktno povezane na internet.

    & klasi A oseg privatne adrese u prvom bajtu ima broj *9, dok su ostala " bajtaproizvoljna. & klasi = se izdvaja *; mreza varijacija drugog bajta bitova u opsegu od

    *>2.*; ! *>2."*, druga dva bajta su proizvoljna. & klasi - postoji 28; mreza u opsegu*?2.*;:.9.9 !* ?2.*;:.288.288.

    $ostoje i rezervisane adrese, npr. u klasi A opseg od 9.9.9.9!9.288.288.288, a adresa

    9.9.9.9 oznacava posebnu adresu koja je dzoker za sve ostale adrese i zove se deaultruta, a adresa *2>.9.9.* oznacava loopback adresu koja je namenjena za svaki uredjaj.

    $odela 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.

    Bako je bitan koncept koji omogucava da se dalje podeli host deo koji moze biti dosta

    veliki na podmreze. /mamo iksni mrezni deo i podmreze # -unet. Dakle, 1ubnetting #

    sabnetovanje predstavlja deljenje mreznog dela na manje delove ! podmreze. ajvise stomozemo 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 * bit za hostove.

    ako oznaciti gde je granica sabneta u tom deluC To je podatak koji se oznacava kao

    maska. %aska nosi inormaciju gde je granica izmedju sabneta i host dela. %aske se

    mogu nezavizno koristiti od klase A, = i -. To unkcionise tako sto mi nasa 6 bajta sada

    posmatramo kao "2 bita i kazemo da nam je granica maske do odredjenog bita, sto znacida maska moze da se predstavi kao podatak od 6 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 AD jedinice preslikavaju u

    jedinice, nule u nule i od bilo koje adrese izdvojicemo mreznu adresu.

    ada imamo jednu adresu u /$ ormi znamo da nam ona jednoznacno oznacava jedan

    jedini uredjaj na mrezi, ali ne znamo kojoj mrezi ona pripada, mozemo da znamo kojoj

    klasi A, = ili -, ali ne znamo kojoj podmrezi, ne znamo kako je ta mreza podeljena. Dabismo to znali mi moramo da imamo i masku, pa host adresa kojoj je pridruzena maska

    nosi tu inormaciju. %aska ce kazati tacno do kog dela smo usli u host deo, odnosno koja

    6

  • 7/26/2019 5. Mrezni sloj

    5/6

    nam je adresa mreze kojoj pripada taj host. To je jako bitno za unkcionisanje rutera i

    uopste svih mehanizama koji se koriste u komunikaciji na mreznom nivou.

    %ozemo za razlicite maske binarno da racunamo sta nam se desava u kom bitu, da

    pretvaramo binarne brojeve u dekadne. %edjutim, koristi se jedan trik koji moze dosta da

    ubrza ovo racunanje. ada gledamo masku, ona se zavrsava u nekom bajtu. Taj bajt zovese -unet,s Interesting *cteti to je poslednji bajt koji sadrzi jedinice. jega gledamo i

    koristimo nesto sto se zove Magic /umer koji nama prakticno omogucava da ne

    gledamo sada brojeve koji imaju u tom bajtu vodece jedinice pa pratece nule pa da ihpretvaramo u broj koji odgvara dekadnom obliku. Lakse je da gledamo koliko imamo

    nula. / npr. imamo masku duzine 2: bita. 2::::6 jedinice i 6 nule. 2 6*; i taj broj

    se naziva magic number. Dakle, imamo 26varijacija za hostove, sto znaci da ako od 28;

    oduzmemo *; dobicemo 269 i to je broj koji predstavljaju vodece jedinice.

    Da sumiramo, iz /$ adrese i maske mozemo da zakljucimo prvo koja je adresa maske,

    koja je prva /$ adresa na raspolaganju za hostove, koja je poslednja i koja je broadcastadresa. od slozenijih maski imamo slucaj npr. adresa je *"9.6.*92.*F22. =ajt od interesa

    je ". jer je tu poslednja jedinica, a 2 poslednja bita su u host delu, dakle magic number je6, sto znaci da ce adresa podmreza na koje se odnosi ovakva jedna maska da ide uinkrementima od 6 (9, 6, :, *2, *;...) i mi treba da vidimo u kojoj se podmrezi nasa

    adresa nalazi. & tim inkrementima doci cemo od po 6 do mreze .*99, a sledeca je .*96.

    Dakle, adresa mreze je *"9.6.*99.9, prva raspoloziva adresa u toj mrezi je *"9.6.*99.*.=roadcast adresa ima sve jedinice u host delu, a to su sve jedinice u 6. bajtu i ona dva bita

    u ". bajtu, pa je poslednja adresa u podmrezi *996!**9", dakle *"9.6.*9".288, a

    poslednja adresa na raspolaganju je za * manja od broadcast adrese i to je *"9.6.*9".286.

    7asto bismo uopste koristili podmrezeC /mamo ogranicen broj adresa i ako koristimo -

    klasu, ona je sasvim dovoljna, ali nam je nekada i to previse. 'ecimo ako imamo mrezu

    sa *99tinak racunara u jednom i *99tinak u drugom delu zgrade, mozemo da ihgrupisemo u jednu zajednicku mrezu ili zelimo da ih razdvojimo na primer u VLA!ove.

    Ako bismo koristili - klase bez maski tada bi jedna - klasa bila namenjena za jednu, a

    druga za drugu mrezu, ali - klasa moze da adresira 286 maksimalno uredjaja sto nam jeprevise. 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 28, do

    *2: adresa i mozemo jednu mrezu sa maskom 26 da podelimo na dve mreze sa maskom

    28. %ozemo jos vise da delimo te maske i postoji koncept koji se naziva 0ariale

    &engt1 -unet Mask 2 0&-M. Duzina maske nije uvek iksne, vec varijabilne velicine.

    & nasoj mrezi, celu mrezu podelimo na masku iste duzine, recimo F2> i sve podmreze u

    toj mrezi moraju da budu te iksne velicine, sto daje opseg od "2 adrese u host delu.

    %edjutim, za point!to!point linkove nama ne treba "9 adresa, nama trebaju samo dveadrese. 7naci koristimo masku koja ima minimalni broj adresa, znaci masku dizine "9.

    Da mi ne bismo trosili ceo ovaj opseg na ovako male mreze, mi mozemo da jednupodmrezu od "2 adrese u host delu dalje podelimo na odredjeni broj npr. na novih :

    podmreza, koje ce sve biti u tom opsegu, ali ce maska biti veca, bice "9. / ruteri moraju

    da barataju sa razlicitim duzinama maski. eki raniji protokoli nisu to podrzavali. adimamo varijabilnu duzinu maske imamo leksibilnost, mozemo hijerarhijski da gradimo

    8

  • 7/26/2019 5. Mrezni sloj

    6/6

    mrezu, eikasnije koristimo adresni prostor, mozemo da podrzimo skalabian rast mreze i

    dodavanje novih adresa.

    $ostoji i -upernetting, 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. %ozemo da grupisemo samo susedne mreze i tosve one koje su u tom opsegu koji nam diktiraju biti u tom delu gde se maska pomera.

    Dakle, ako imamo situaciju sa : mreza i to u opsegu od *>2.26.9.9F*; do *>2."*.9.9F*;,

    one imaju zajednickih : bita u prvom bajtu i 8 bita u drugom. 1to znaci da ako mi maskupostavimo na tu granicu dobicemo mrezu koja oznacava svih : podmreza. Ta mreza ce da

    nosi naziv *>2.26.9.9F*".

    a internetu je jako veliki broj mreza i taj broj je eksponencijalno rastao. Da nemamoagregaciju 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.

    ;