Professional Documents
Culture Documents
Stjepan Gro
07. 09. 2006.
Sadraj
1. Uvod.................................................................................................................................1
1.1.Izrada osnovne IP mree.........................................................................................................1
2. Adresiranje na internetu....................................................................................................3
2.1.IPv4 adrese..............................................................................................................................3
2.2.IPv6..........................................................................................................................................5
3. IP paket.............................................................................................................................7
3.1.IPv4..........................................................................................................................................7
3.2.IPv6 paketi...............................................................................................................................8
3.3.ICMP...................................................................................................... ................................10
3.4.ICMPv6..................................................................................................................................11
3.5.Kompresija zaglavlja IP paketa.............................................................................................11
3.6.Enkapsulacija IP paketa u mrenim niim slojevima.............................................................11
4. Usmjernici.......................................................................................................................12
4.1.Proslijeivanje........................................................................................................................13
5. Algoritmi usmjeravanja....................................................................................................15
5.1.RIP.................................................................................................................. .......................15
5.2.OSPF.....................................................................................................................................15
5.3.BGP.......................................................................................................................................15
5.4.ISIS.............................................................................................................. ..........................15
7. Kvaliteta usluge...............................................................................................................18
7.1.Karakterizacija prometa.........................................................................................................20
7.2.Arhitekture za postizanje kvalitete usluge.............................................................................20
9. Primjeri............................................................................................................................35
PRIMJER 1. IP adrese................................................................................................................35
10. Literatura.......................................................................................................................80
1. Uvod
1. Uvod
Internet je vrlo popularna mrea ija upotreba za zabavu ili posao predstavlja svakodnevicu mnotva
ljudi. To, zajedno s vrlo brzim rastom, ini ju vrlo bitnom komponentom ljudskog drutva i njega
razvoja te predstavlja dobar motiv za njeno prouavanje i razumijevanje.
Temeljom Interneta moe se smatrati mreni sloj a posebice IP protokol, na osnovu kojega se zatim
gradi niz ostalih protokola. Slika 1 prikazuje arhitekturu TCP/IP porodice protokola, odnosno,
Interneta. Na toj slici oznaen je sloj za koji se moe rei da predstavlja poetak svih Internet
protokola Mreni sloj.
Aplikacijski sloj
Prijenosni sloj
Mreni sloj
Podatkovni sloj
Fiziki sloj
Slika 1. Arhitektura TCP/IP porodice protokola
Ovaj dokument detaljno se bavi mrenim slojem Interneta i pojanjava nain na koji rade protokoli u
tom sloju. U tom smislu dan je relativno detaljan opis protokola, a zatim je izraen i niz
pojednostavljenih primjera koji pokuavaju ilustrirali principe svakog protokola.
Primarni izvor informacija za ovaj dokument ine RFC dokumenti koje su normativne za sve
protokole Interneta. U sluaju da postoji neslaganje izmeu opisa protokola danog u ovom tekstu i
odgovarajue specifikacije u RFC dokumentu, tada treba uzeti RFC dokument kao ispravan.
tj.
192.168.0.10
1. Uvod
Bez dodatnog ulaenja u nain raspodjele i dodjele IP adresa pretpostavimo da su za naa tri raunala
odreene sljedee adrese:
Raunalo A 192.168.0.10
Raunalo B 192.168.0.11
Raunalo C 192.168.0.12
Primjetimo kako preklopniku koji povezuje raunala meusobno nismo dodijelili IP adresu. Naime,
raunala nee slati podatke preklopniku, niti preklopnik generira ikakve podatke koje alje
raunalima. Dakle, preklopnik je potpuno transparentan za raunala, ili preciznije reeno za mreni
sloj, i ona nisu svjesna njegova postojanja.
Prilikom upisivanja IP adrese svaki operacijski sustav zatraiti e i mrenu masku! Mrena maska
dijeli adresu na dva dijela: meni i raunalni. Najea mrena maska je 255.255.255.0 i u toj
varijanti mreni dio sastoji se od prva tri okteta, a raunalni od zadnjeg okteta.
Nakon to su raunalima dodjeljene adrese i definirana mrena maska ona e moi komunicirati
meusobno. Meutim, ta komunikacija je dosta ograniena budui da nije definiran niz usluga koje
ine Internet tako popularnom mreom niti je definiran nain na koji se pristupa Internetu.
2. Adresiranje na internetu
2.1. IPv4 adrese
Kako bi ureaji na Internetu bili dostupni moraju imati adresu na koju e im se upuivati podaci.
Adresa na Internetu je 32-bitni broj. Radi lakeg pamenja i manipuliranja tim adresama one se piu u
sljedeem obliku:
aaa.bbb.ccc.ddd
aaa, bbb, ccc i ddd su decimalne vrijednosti pojedinog okteta 32-bitne rijei pri emu je oktet
aaa najvee teine, a ddd oktet najmanje teine. Oito su vrijednosti pojedinih elemenata adrese u
rasponu od 0 do 255. Primjerice, adresu raunala koje ima heksadecimalni oblik:
0xA135410B
Prilikom dodjeljivanja adrese nekom raunalu taj broj se ne moe odabrati proizvoljno ve postoje
strogo odreena pravila po kojima se on bira, a ta pravila diktira mrea na koju se raunalo
prikljuuje.
Uz sam broj, tj. internet adresu, vezan je jo jedan parametar koji se zove mrena maska. Radi lakeg
povezivanja Interneta svaka internet adresa sastoji se od mrenog i raunalnog dijela. Mreni dio
identificira neku odreenu mreu na Internetu, dok raunalni dio odreuje pojedino raunalo u toj
mrei. I opet kao i kod same internet adrese i za mrenu masku postoje odreena pravila po kojima se
ona odreuju te se ne moe odabrati proizvoljno. Uzmimo primjerice adresu 161.53.65.11, ona
priprada Zavodu za elektroniku, mikroelektroniku, raunalne i inteligentne sustave Fakulteta
elektrotehnike i raunarstva. Zbog te injenice mrena dio je predodreen i ini ga gornjih 24 bita, tj.
sve od 31. bita do ukljuivo 8. bita, dok se raunalni dio sastoji od donjih osam bitova, tj. od 7. do 0.
bita. Ta injenica moe se pisati na dva ekvivalentna naina:
161.53.65.11/255.255.255.0
ili
161.53.65.11/24
Oito je da se u prvom primjeru mreni dio oznaava pomou broja iji oblik je slian samoj adresi
pri emu su u tom broju pojedine binarne znamenke postavljene na 1 ako pripadaju mrenom dijelu, a
na 0 ako pripadaju dijelu koje odreuje pojedino raunalo. U drugom sluaju, koji je daleko
kompaktniji i ee se koristi, upotrebljava se zapis kod kojega se nakon kose crte pie broj bitova
koji pripadaju mrenom dijelu pri emu se podrazumijeva da se ti bitovi nalaze na najviim mjestima
32-bitne rijei. U navedenom primjeru dakle, radi se o lokalnoj mrei ija adresa je 161.53.65.0 dok
raunalo ima broj 11 unutar te mree.
Veliina raunalnog dijela u adresi odreuje maksimalan broj raunala koji je mogue prikljuiti na
mreu. Na mreu ija je adresa 161.53.65.0/24 mogue je prikljuiti 254 raunala. Naime, za
raunalni dio na raspolaganju je 8 bitova (od 7. bita do 0. bita) to daje ukupno 28 = 256 razliitih
2. Adresiranje na internetu
kombinacija. Meutim, dvije kombinacije po mrei se ne mogu upotrijebiti za adrese raunala ili
drugih mrenih ureaja. Prva kombinacija koja se ne moe upotrijebiti sadri sve nule u raunalnom
dijelu. Ona se upotrebljava za oznaavanje mree. Druga kombinacija koja se ne moe upotrijebiti
sadri sve jedinice u raunalnom dijelu. To je difuzna adresa (engl. broadcast) te e svaki paket koji
se poalje na tu adresu biti isporuen svim raunalima koja se nalaze u navedenoj mrei.
Svaka mrena kartica u raunalu, a openito i bilo koji mreni ureaj uz pomo kojega se raunalo
prikljuuje na internet, mora imati barem jednu adresu i odgovarajuu mrenu masku no moe ih
imati i vie, tj. jedna mrena kartica moe imati vie IP adresa. U tom sluaju govori se o alias
adresama.
Konfiguracija ureaja (mrene kartice) obavlja se ili automatski ili runo, to ovisi o postavkama
mree na koju se prikljuuje.
Postoji odreeni niz adresa koje imaju posebno znaenje [RFC3330]. Rezervirane adrese koje se
ee javljaju su:
1. Svako raunalo ima poseban ureaj koji se zove loopback i koje ima posebnu adresu,
127.0.0.1/8. To je virtualni ureaj u smislu da fiziki ne postoji, tj. operacijski sustav emulira
njegovo ponaanje. Nadalje, mrea 127.0.0.0/8 je rezervirana i ne smije se pojaviti na Internetu!
2. Mrene adrese 10.0.0.0/8, 172.16.0.0/12 i 192.168.0.0/16 su tzv. privatne adrese i nikada se ne
smiju pojaviti na Internetu, no smiju se pojaviti na internetu ili na intranetu! Drugim rijeima
namijenjene su za lokalne mree koje nikada nee biti prikljuene na Internet ili su na njega
vezane indirektno.
Popis svih rezerviranih IP adresa zajedno s referentnim izvorom dan je u tablici 1 koja je preuzeta iz
[RFC3330].
Tablica 1. Popis svih mrea posebne namjene [RFC3330]
Mrea
Namjena
Referenca
0.0.0.0/8
This Network
[RFC1700, page 4]
10.0.0.0/8
Za privatne mree
[RFC1918]
14.0.0.0/8
24.0.0.0/8
39.0.0.0/8
[RFC1797]
127.0.0.0/8
Loopback
[RFC1700, page 5]
128.0.0.0/8
169.254.0.0/16
172.16.0.0/12
Za privatne mree
191.255.0.0/16
192.0.0.0/24
192.0.2.0/24
Test-Net
192.88.99.0/24
[RFC3068]
192.168.0.0/16
Za privatne mree
[RFC1918]
198.18.0.0/15
Network Interconnect
Device Benchmark Testing
[RFC2544]
223.255.255.0/24
224.0.0.0/4
Difuzija u grupi
[RFC3171]
240.0.0.0/4
[RFC1700, page4]
[RFC1918]
2. Adresiranje na internetu
Broj raspoloivih
mrea
Broj moguih
raunala po mrei
126
16777214
10
16384
65532
110
2,097,152
254
1110
24
1111
Svaki puta kada je neka organizacija zatraila blok IP adresa alokacija je bila obavljana iz gore
navedenih raspona. To je znailo da je bilo mogue dobiti iskljuivo kombinaciju mrea koje mogu
sadravati 224, 216 ili 28 mrea. Meutim takva podjela je izuzetno nefleksibilna. Najvei problem
predstavljala je B klasa adresa koja je brzo nestajala, a za njom je bila najvea potreba. Osim tih
problema javljala su se jo dva problema, oba posljedica brzog rasta Interneta. Prvi problem
manifestirao se je u usmjernicima, tj. u ureajima koji povezuju Internet u jednu cjelinu, gdje su zbog
nefleksibilne podjele adresa eksponencijalno rasli zahtijevi za memorijom. Drugi problem bio je
potencijalni nedostatak IP adresa.
Kako bi se rijeio taj problem ukinute su klase te se dodjela blokova IP adresa ravna prema
potrebama. Primjerice, ako se pretpostavlja da nekoj organizaciji nee nikada trebati vie od 1000
adresa koje e sigurno iskoristiti, tada e ona dobiti mrenu masku duljine 20 bita. Besklasno
adresiranje takoer znai da poznavanjem IP adrese vie nije mogue znati koji dio predstavlja mrea,
a koji raunalni dio. Zbog toga se mreni dio mora eksplicitno navoditi u sluajevima kada to
zahtijeva situacija.
RFC1338, RFC1519
2.2. IPv6
Adresa opisane u prethodnom potpoglavlju se oznaavaju i kao IPv4 adrese. U sutini, naziv IPv4
sastoji se od dva dijela. Prvi dio je skraenica IP koja potie od izraza Internet Protocol, a drugi dio
oznaava verziju koja je u ovom sluaju 4 slovo v oznaava rije Version. Problem s tim vrstama
adresa je njihov mali broj, odnosno neefikasna iskoritenost. Iako je teoretski mogue imati 232 adresa
(ili brojeva, to je ekvivalentno), dobar dio tih adresa je neupotrebljiv iz razliitih razloga. Internet
brzo raste, i na njega se osim stolnih raunala sve vie prikljuuju i drugi ureaji (runa raunala,
kuanski ureaji, itd.) a i kompletna telekomunikacijska infrastruktura prelazi na Internet (VoIP
telefoni, mobilni telefoni, itd). Oito je problem manjka adresa vrlo ozbiljan iako ne i jedini koji IPv4
ima. Zahvaljujui raznoraznim poboljanjima i dodacima nestanak IP adresa odgoen je do daljnjega,
no ipak rjeenje postoji i zove se IPv6, tj. Internet Protocol Version 6. Sve vie ureaja sadri podrku
za tu verziju protokola i na pojedinim dijelovima Interneta se polako prelazi na taj protokol.
5
2. Adresiranje na internetu
Taj protokol i adrese vezanje uz njega donose odreen broj promjena u odnosu na IPv4. Najbitnija
promjena je da se adrese sastoje od 128 bita umjesto dosadanjih 32. Mrena maska koristi se na isti
nain kao i kod IPv4 adresa s tim da se zapisuje iskljuivo u skraenom obliku, tj. obliku po kojemu
se navodi samo broj bitova mrenog dijela. Primjer IPv6 adrese je:
fe80:0000:0000:0000:02c0:dfff:fe22:4b85/10
Umjesto decimalnog zapisa koristi se heksadecimalni zapis pri emu se svih 128 bita dijeli u grupe od
po 16 bitova. Grupe se meusobno razdvajaju dvotokom. S lijeve strane se nalaze tei bitovi. Zbog
velikog broja nula uveden je i skraeni nain zapisivanja IPv6 adrese. Dva su pravila koja se pri tome
koriste i koja je potrebno potivati:
1. Vodee nule se u pojedinoj grupi mogu izbaciti. Tada prethodna adresa iz primjera ima sljedei
oblik:
fe80:0:0:0:2c0:dfff:fe22:4b85/10
2. Nadalje, uzastopni niz grupa koje su u cijelosti nula moe se ispustiti i na to mjesto se stavljaju
dvije uzastopne dvotoke. To je mogue napraviti iskljuivo jednom u cijelom broju!
Primjenom tog pravila prethodna IPv6 adresa se svodi na sljedei oblik:
fe80::2c0:dfff:fe22:4b85/10
Idua razlika u odnosu na IPv4 adrese odnosi se na kategorije. Naime, postoje tri kategorije:
Unicast addresses. Ova vrsta adresa oznaava tono odreeno suelje na Internetu.
Anycast address. Adrese ove kategorije su novost u odnosu na IPv4. Naime, adrese iz ove
grupe oznaavaju skupinu suelja, pri emu se paket s tom adresom isporuuje najbliem
suelju. Najblie suelje odabire usmjernik na osnovu svojih tablica usmjeravanja.
Multicast address. Adrese ove grupe oznaavaju grupu suelja i sva suelja koja pripadaju toj
grupi primit e kopiju paketa.
Dakle, novost je Anycast grupa adresa, a takoer, nema vie difuznih adresa. Pretpostavka je da e se
difuzne adrese implementirati upotrebom adresa za difuziju u grupi.
IPv6 adrese podijeljene su u tipove, a odreen broj adresa je kao i kod IPv4 rezerviran [RFC3513]. U
tablici 3 navedeni su tipovi adresa.
Tablica 3. Tipovi IPv6 adresa
Tip adrese
Binarni prefiks
IPv6 notacija
Nespecificirana
::/128
Loopback
::1/128
Difuzija u grupi
11111111
FF00::/8
FE80::/10
Site-local unicast
1111111011
FEC0::/10
Global unicast
Sve ostalo
3. IP paket
3.1. IPv4
Na slici 3 prikazana je struktura zaglavlja IP paketa verzije 4 [RFC0791]. Nakon zaglavlja dolaze
podaci koje paket prenosi. Zaglavlje se sastoji od dva dijela, obaveznog i opcionalnog. Obavezni dio
ine sva polja do opcija, dok se same opcije mogu ali i ne moraju pojaviti u IP paketu. Veliina
zaglavlja IP paketa mora biti viekratnik 32 bita te u sluaju da kraj zadnje opcije ne pada na zadanu
granicu koristi se ispuna (padding). Tijekom prijenosa bitovi se itaju s lijeva na desno i odozgo
prema dolje. Dakle, prvo ide 0. bit 0. rijei, zatim 1. bit 0. rijei i tako dalje do 31. bita nulte rijei.
Nakon toga ide 0. bit prve rijei, 1. bit prve rijei itd. U pojedinim viebitnim poljima tei bit nalazi
se s lijeve strane i ima manji indeks.
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Version
IHL
Type of Service
Identification
Time to Live
Total Length
Flags
Protocol
Fragment Offset
Header Checksum
Source Address
Destination Address
Options
Padding
IP paket zapoinje poljem Version koje sadri oznaku verzije IP paketa. To polje uvedeno je s
namjerom da se na Internetu mogu koristiti IP paketi razliitih verzija. Dugo vremena na Internetu je
koritena samo verzija 4 IP paketa. U novije vrijeme razvijena je i verzija 6 koja je opisana kasnije u
ovom poglavlju.
Polje IHL (engl. Internet Header Length) sadri veliinu zaglavlja IP paketa mjereno u 32-bitnim
rijeima. Kako obavezni dio zaglavlja IP paketa ima 5 32-bitnih rijei to je minimalna vrijednost
ovog polja 5. Maksimalna vrijednost polja, zbog njegove veliine od 4 bita, je 15. To znai da je
maksimalna veliina zaglavlja IP paketa, ukljuivi i opcije, 60 okteta.
Uz pomo polje Type of Service definira se eljeni tretman paketa. Naime, Internet je mrea najbolje
namjere (engl. best effort) to znai da e pokuati isporuiti paket na odredite to je ranije mogue.
Meutim mrea ne daje nikakve garancije, ak ni garancije da e paket stii, ili ako stigne da e biti
ispravan. Vie o ovom polju biti e rijei u poglavlju koje se bavi kvalitetom usluge na Internetu.
U polju Total Length nalazi se upisana veliina IP paketa zajedno s zaglavljem mjereno u oktetima.
Kako je to polje veliine 16 bita to znai da je maksimalna veliina IP paketa 65536 okteta.
Polje identification postavlja usmjernik koji dijeli IP paket na fragmente. Svaki fragment u ovo polje
ima upisanu identinu vrijednost. Kod paketa koji nisu fragmentirani to polje nama funkciju.
Zastavice u IP paketu (polje Flags) koriste se za rukovanje fragmentima. Prva zastavica (bit 16) se ne
koristi i mora biti postavljena na nulu. Druga zastavica (bit 17) onemoguava fragmentaciju paketa u
sluaju da je postavljena na 1 (DF Don't Fragment). Ako paket naie na usmjernik koji ne moe
poslati cijeli paket zbog njegove prevelike veliine on e biti odbaen, a usmjernik e generirati
odgovarajuu ICMP poruku. Konano, trea zastavica (bit 18) se koristi kod IP paketa koji su
3. IP paket
podijeljeni na fragmente. Svi fragmenti, osim zadnjega, tu zastavicu imaju postavljenu na 1, dok je
kod zadnjeg fragmenta postavljena na nulu.
Fragment Offset
Internet vrlo dinamona mrea i lako se moe desiti da odreen broj paketa pone kruiti po Internetu.
Bez posebnih mjera ne bi bilo naina da se takvi paketi otkriju i uklone, a bez uklanjanja bi u jednom
trenutku preplavili mreu te bi ona zbog toga postala neupotrebljiva. Da se sprijei takav scenario
uvedeno je polje Time to Live uz pomo kojega se upravlja zastarijelim paketima. Naziv polja potie
od prvotne ideje da se vrijednost tog polja umanjuje svake sekunde. Meutim, ispostavilo se da je to
teko izvesti te da je puno pogodnije umanjiti vrijednost prilikom prolaska kroz usmjernike. Svaki
usmjernik kroz koji paket proe umanjuje vrijednost za 1 i u trenutku kada ona dosegne nulu
usmjernik odbacuje paket. Na taj nain spreava se nekontrolirano kruenje paketa po mrei jer e u
jednom trenutku biti odbaen.
Protokol koji IP paket prenosi u podatkovnom dijelu naznaen je u polju Protocol.
Header Checksum
Adresa na koju je IP pakete upuen nalazi se upisana u polju Source Address, dok se izvorite s
kojega dolazi paket nalazi upisano u polju Destination Address.
Options
U odreenim situacijama nisu bitni svi podaci, primjerice tijekom jednostavne analize proslijeivanja
paketa kroz neki usmjernik u veini sluajeva bitne su samo odredina i izvorina adresa. U tom
sluaju koristi se skraeni zapis:
IP (odredina adresa, izvorina adresa)
3. IP paket
polju definira IANA te se mogu pronai na Internetu [FIXME:IANA]. Idue polje je Hop Limit koje
ima ekvivalentu ulogu kao i polje TTL iz IPv4 paketa. Naime, prvotna ideja polja TTL bila je da se
umanjuje za 1 svake sekunde. Meutim, u praksi se je vrijednost polja umanjivala za 1 nakon svakog
usmjernika, tj. svakog skoka koji bi paket napravio. Iz tog razloga se to polje sada naziva Hop Limit,
tj. maksimalan broj skokova koje paket moe napraviti. Na kraju dolaze 128-bitne adrese odredita i
izvorita.
U odnosu na IPv4 uklonjena su neka polja. Za poetak uklonjena su sva polja koja su se koristila za
fragmentaciju IP paketa. Naime, fragmentacija je tijekom koritenja IPv4 protokola iskazala niz
nedostataka. Primjerice, kada bi se neki IP paket razdijelio u nekoliko fragmenata svi fragmenti su
morali stii na odredite. Ako bi koji fragment nedostajao nije se mogao sloiti paket, a istovremeno
su se troili resursi za prijenos svih fragmenata i njihovo privremeno pohranjivanje do ponovnog
sastavljanja IP paketa. Budui da je u odreenim sluajevima fragmentacija ipak nuna, jer lako se
moe desiti da je paket prevelik za podatkovni sloj, rjeenje koje je usvojeno pretpostavlja otkrivanje
maksimalne veliine paketa u prijenosu. Takoer, uklonjeno je polje s kontrolnom sumom.
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Version
Traffic Class
Flow Label
Payload Length
Next Header
Hop Limit
Source Address
Destination Address
U odreenim situacijama nisu bitni svi podaci, primjerice tijekom jednostavne analize proslijeivanja
paketa kroz neki usmjernik u veini sluajeva bitne su samo odredina i izvorina adresa. U tom
sluaju koristi se skraeni zapis:
IPv6 (odredina adresa, izvorina adresa)
3. IP paket
3.3. ICMP
Upravljake informacije mrenog sloja Interneta prenose se uz pomo protokola ICMP (engl. Internet
Control Message Protocol) [RFC0792]. Protokol ICMP definira odreen broj poruka i njihovo
znaenje, a uvijeti u kojima te poruke nastaju definirane su dodatnim specifikacijama
[RFC1812,RFC1122]. ICMP za prijenos koristi IP protokol, a identificiran je kao protokol broj 1.
Drugim rijeima, svaki IP paket koji nosi ICMP poruku u. polju Protocol zaglavlja IP paketa sadri
vrijednost 1. Nakon zaglavlja IP paketa dolazi zaglavlje ICMP protokola s podacima. Svako ICMP
zaglavlje zapoinje s zajednikom 32-bitnom rijei iji format je prikazan na slici 4.
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type
Code
Checksum
Message Body
U prvih osam bitova (polje Type) upisan je tip ICMP poruke koja se prenosi. U idue polje
(Code)upisan je podtip poruke. Konano, polje Checksum sadri kontrolnu vrijednost cijele ICMP
poruke. U tijelu poruke nalaze se upisani podaci specifini za pojedinu vrstu poruke.
IP (odredina adresa, izvorina adresa, ICMP(Tip, ...))
Type
Code
Checksum
Identifier
Sequence Number
Data ...
Slika 5. Format Echo poruke
Po primitku Echo poruke odredite treba generirati odgovor, poruku tipa Echo reply. Tip poruke Echo
reply je 0, dok je podtip takoer 0. U osnovi odgovor se kreira koristei Echo poruku kojoj se
zamijene izvorite, odredite i tip poruke te ju se potom vratiti poiljatelju. Na taj nain sauvani su
svi podaci koji su poslani, a koji obino ukljuuju vrijeme kada je Echo poruka poslana. Format
poruke Echo reply identian je formatu poruke Echo prikazane na slici 5.
Za zapisivanje Echo poruke u zadacima i prilikom analize mrenog prometa koristiti e se sljedea
notacija:
IP (odredina adresa, izvorina adresa, ICMP(Echo, Sequence, Data))
10
3. IP paket
IP (odredina adresa, izvorina adresa, ICMP(EchoReply, Sequence,
Data))
Type
Code
Checksum
unused
Tip poruke vremenskog ogranienja je 11, dok se u podtipu poblie definira koje vremensko
ogranienje je isteklo. Ako se u podtipu nalazi upisana vrijednost 0 tada je isteklo vrijeme ivota
paketa, tj. polje TTL je doseglo nulu. U takvim sluajevima usmjernik odbacuje paket i generira
navedenu ICMP poruku isteka vremenskog ogranienja.
Kada je u polje podtipa upisana vrijednost 1 tada prilikom defragmentiranja IP paketa neki od
fragmenata nisu stigli, a u meuvremenu je isteko unaprijed definirano vremensko ogranienje u
usmjerniku koji je obavljao defragmentaciju paketa.
3.4. ICMPv6
3.5. Kompresija zaglavlja IP paketa
RFC3173
11
192.168.0.0/24
192.168.1.0/24
192.168.2.0/24
192.168.3.0/24
Pruatelji Internet usluga obino dobiju blok IP adresa od svog nadreenog pruatelja mrenih usluga
(NSP, Network Service Provider) ili od neke institucije zaduene za dodjelu IP adresa (ref na RIPE,
ARIN, ...). Kako bi pruatelj Internet usluga mogao spajati mree korisnika na svoju infrastrukturu on
mora podijeliti svoj blok adresa izmeu sebe i svojih korisnika. Ako s ponovo vratimo na sliku 7
moemo pretpostaviti kako je na pruatelj Internet usluga dobio blok adresa 192.168.0.0/16. Taj blok
adresa podijeljen je u podblokove ija mrena maska ima 24 bita. S tim je omogueno spajanje 256
mrea (192.168.0.0/24, 192.168.1.0/24, ..., 192.168.255.0/24), pri emu 0. mreu koristi sam ISP, a
preostalih 255 stoji na raspolaganju korisnicima.
Pri opisu navedene slike uveli smo pojmove pruatelja Internet usluga te pruatelja mrenih usluga.
U osnovi, korisnici pruatelja Internet usluga su pojedinci te male tvrtke. Takoer se pruatelji
Internet usluga rasprostiru na relativno malom zemljopisnom podruju. Za razliku od njih, korisnici
pruatelja mrenih usluga su uglavnom drugi pruatelji mrenih usluga kao i pruatelji Internet
usluga. Dodatna karakteristika NSP-ova je da imaju infrastrukturu koja se rasprostire na vrlo velikom
podruju, ak i po cijeloj Zemlji. Dakle, oni posjeduju vrlo skupu opremu i prekooceanske optike
kablove.
Internet meutim nema pravilnu strukturu kao to je to prikazano na slici 7. Za poetak, ne postoji
vrhovni NSP ve na Internetu ima nekoliko davatelja usluga ija infrastruktura povezuje kontinente i
koji iskljuivo prodaju svoje usluge. To su primjerice UUNet, Sprint, MCI, itd. Ti NSP-ovi, koje
emo zvati NSP-ovi prvog reda (Tier 1) meusobno su povezani na bazi partnerskih ugovora (peering
agreements).
Partnerskim ugovorima NSP-ovi osiguravaju razmjenu podataka s ostalim NSP-ovima kako bi njihovi
klijenti mogli pristupiti svakom raunalu na Internetu. Takoer, svi NSP-ovi se obavezuju da e
prihvaati promet od svojih partnerskih NSP-ova te ih prosljeivati svojim klijentima.
Nadalje, na spomenute NSP-ove spajaju se regionalni pruatelji mrenih usluga. Pri tome, regionalni
NSP-ovi mogu istovremeno koristiti vie NSP-ova prvog reda. Primjer takvog povezivanja prikazuje
slika 8. Na toj slici prikazan je NSP-C1 koji je istovremeno vezan na T1-NSP1 i T1-NSP2, dok su
navedena dva NSP-a prvog reda meusobno povezana partnerskim ugovorom. Osim NSP-C1, na slici
su prikazana jo dva NSP-a koja koriste usluge NSP-a prvog reda. To su NSP-C2 i NSP-C3.
T1-NSP1
NSP-C2
T1-NSP2
NSP-C1
NSP-C3
Zbog toga to NSP-C1 ima vie pristupa na ostatak Interneta kaemo da je vieprisutan (multihome).
Vie je razloga za vieprisutnost:
poveanje pouzdanosti
Poveanje pouzdanosti je oita. Ako veze koje povezuju NSP-C2 ili NSP-C3 i njihove NSPove prvog reda prekinu, navedeni NSP-ovi su odsjeeni od ostatka Interneta. Za razliku od
njih, ako NSP-C1 razmjenjuje podatke s NSP-C2 putem T1-NSP1 te mu lijevi link prestane
funkcionirati, tada se promet moe preusmjeriti na desni link na T1-NSP2, potom na T1-NSP1
i konano do NSP-C2.
smanjenje trokova
Primjerice, mogue je da NSP-C2 plaa manje za promet koji ostaje unutar T1-NSP1, a vie
za promet koji mora ii van navedenog NSP-a prvog reda. Oito je da u takvim sluajevima
NSP-C2 manje plaa za komunikaciju s NSP-C1, a vie u sluaju komunikacije s NSP-C3.
Ako se prenosi puno prometa izmeu NSP-C2 i NSP-C3 u odreenom trenutku isplati se
zakupiti poseban vod prema T1-NSP2 kako bi se smanjila cijena usluga pristupa Internetu.
poveanje propusnosti
13
Meutim, mogunosti povezivanja tu ne prestaju budui da bilo koja mrea na Internetu moe ui u
partnerski ugovor s bilo kojom drugom mreom to se dosta esto i radi. Primjerice, ako NSP-C2 i
NSP-C3 meusobno razmjenjuju puno podataka u priblino jednakim omjerima tada oni mogu ui u
partnerski ugovor (partnerski odnos). Na taj nain smanjuju troak budui da taj promet sada ne ide
preko NSP-ova koji naplauju prema koliini prometa. Dosta esto uvjeti pod kojima dva entiteta
stupaju u partnerski odnos nisu javno poznati te su zatieni kao poslovna tajna.
Do sada su spominjane samo mree kao nain grupiranja vie IP adresa. Meutim, na Internetu se i
raunalne mree grupiraju u autonomne sustave. Autonomni sustavi identificiraju se uz pomo 16
bitnog broja, a alokacija tih brojeva obavlja se uz pomo regionalnih institucija.
Multihoming: RFC2260, RFC4116
Internet: RFC1958, RFC3439
Dodjela IP adresa: RFC1518, RFC1519, RFC2008
Korisniki mod
Jezgra OS-a
Tablice
proslijeivanja
3
1
Suelje
1
Odluka o
proslijeivanju
Suelje
2
Na usmjerniku se paralelno odvijaju dva procesa. Prvi je proces proslijeivanja (engl. forwarding), a
drugi je proces izgradnje tablice proslijeivanja (engl. forwarding information base FIB). Proces
izgradnje tablice proslijeivanja naziva se usmjeravanje (engl. routing) te se tijekom procesa
usmjeravanja izgrauje tablica usmjeravanja (engl. routing information base RIB).
Kako bi opisali proces proslijeivanja pretpostavimo da raunalo koje se nalazi na 1. suelju alje
paket raunalu koje se nalazi prikljueno na suelje 2. Redoslijed koraka koje taj paket prolazi je
sljedei:
1. Okvir pristie na 1. suelje koje ga prihvaa, provjerava integritet okvira i smjeta njegov
sadraj (payload) u privremenu memoriju. Sadraj okvira je IP paket!
2. Slijedi prihvat paketa od strane sustava proslijeivanja (engl. forwarding engine).
3. Sustav proslijeivanja pretrauje tablicu proslijeivanja kako bi odredio to uiniti sa paketom.
14
4. Po tablici usmjeravanja paket treba poslati kroz suelje 2, te se paket prebacuje u privremenu
memoriju 2. suelja.
5. Suelje alje okvir sa paketom na mreu.
Kao to je reeno dva su paralelna procesa u usmjerniku. Drugi proces je izgradnja tablice
proslijeivanja. To se moe obavljati statiki ili dinamiki. Statiki nain je prihvatljiv za raunala i
na usmjernicima koji se nalaze u odreenim jednostavnim mrenim konfiguracijama. Dinamiki
nain se koristi u sloenijim situacijama budui da se osvjeavanje tablica vri automatski bez
intervencije ovjeka.
Cilj dinamikih algoritama je da pronau to bolji put izmeu bilo koja dva vora u mrei, a takoer
da brzo reagiraju u sluaju promjena u topologiji. Koriteni algoritmi usmjeravanja na Internetu su
RIP, OSPF, BGP, ISIS, IGRP, EIGRP i jo nekoliko drugih. Karakteristika tih algoritama je da se
periodiki izmjenjuju poruke o stanju mree te se na osnovu tih poruka raunaju najbolji putevi kroz
mreu. U sluaju modela usmjernika, prikazanog na slici 9, kada takav paket pristigne u usmjernik
tijekom analize odluuje se to treba uiniti sa paketom. Ta odluka donosi se u sustavu za
proslijeivanje. Taj sustav e vidjeti da je taj paket namijenjen lokalnom raunalu. U tom sluaju
odvija se sljedei niz dogaaja:
6. Sustav za proslijeivanje predaje taj paket lokalnom procesu koji je u ovom naem sluaju
algoritam usmjeravanja.
7. Algoritam usmjeravanja osvjeava stanje u tablici usmjeravanja i preraunava novo stanje
nastalo tom promjenom.
8. U sluaju da je dolo do kakve promjene algoritam usmjeravanja modificira tablicu
proslijeivanja.
Oito je osnovna funkcionalnost usmjernika dosta jednostavna, no ipak uprkos toj jednostavnosti
usmjernici imaju itavo mnotvo dodatnih funkcija koje usporavaju njihov rad. To je pogotovo
problem kod usmjernika u jezgri Interneta (core). Kako bi se rijeio problem brzine usmjernicima se
dodaje specijalizirano sklopovlje koje im omoguava vrlo brz rad. To specijalizirano sklopovlje
dolazi u vidu ASIC ipova koji se mogu nabaviti na tritu, a vei proizvoai usmjernika ih razvijaju
sami. Dodatna prednost koritenja sklopovlja dostupnog na tritu je bri izlazak u prodaju i
smanjenje konane cijene ureaja.
4.3. Proslijeivanje
Kao to je ve reeno u uvodnom dijelu ovog poglavlja, temeljna zadaa usmjernika je
proslijeivanje paketa mrenog sloja. Na Internetu to su IP paketi verzije 4 i verzije 6. Tijekom
odluke o daljnjoj sudbini paketa sustav proslijeivanja konzultira tablicu proslijeivanja. U nastavku
e biti opisana pojednostavljena verzija te tablice.
Tablica proslijeivanja sastoji se od po jednog zapisa za svaku mreu koju usmjernik poznaje. Zapis
se inae naziva i ruta. Svaki taj zapis sadri adresu odredine mree, idui vora kojemu je potrebno
proslijediti paket (next hop) i izlazno suelje. Primjer tablice proslijeivanja dan je u tablici 4.
15
Odredina mrea
Idui vor
Izlazno
suelje
192.168.2.0/30
192.168.2.150
eth1
161.53.65.0/24
eth0
192.168.2.0/24
eth1
161.53.0.0/16
161.53.65.1
eth0
U toj tablici prvi stupac predstavlja adresu odredine mree. Adresa je pisana u CIDR obliku, tj.
raunalni dio zamijenjen je nulama, a dodana je mrena maska koja odreuje koliko bitova s lijeva
ini mreni dio, tj. mrenu adresu. Drugi stupac tablice prestavlja idui vor kojemu je potrebno
proslijediti paket. Ako za neku mreu u tom stupcu nije upisano nita tada se ta mrea nalazi direktno
povezana s usmjernikom. Konano, trei stupac odreuje izlazno suelje kroz koje je potrebno
proslijediti paket kako bi on pristigao do odredita.
Pretraivanje tablice obavlja se po najduljem preklapanju mrene adrese. Da bi objasnili tono to se
misli pod tim primjetimo prvo kako su retci u tablici poredani po sve manjem mrenom prefiksu. Na
vrhu se nalazi mrea koja u svojoj adresi posjeduje 30 bitova, a na dnu se nalazi mrea koja posjeduje
samo 16 bitova u mrenom dijelu. Pretraivanje kree od prvog retka i prestaje u trenutku kada se
utvrdi poklapanje. Za svaki redak rauna se slijedei izraz:
IPnet == IPdest & ((2n 1) << (32 n))
U tom izrazu IPnet je mrena adresa iz tablice proslijeivanja. IPdest je odredina adresa koja se uzima
iz IP paketa, a n je broj bitova u mrenoj adresi. U sluaju da je vrijednost tog izraza tono tada se
koriste podaci ostatka zapisa, tj. sljedei vor i izlazno suelje.
U tablicama se esto nalazi i jedna posebna ruta. Ona je posebna po tome to joj je duljina mrene
maske nula pa prema tome ima sljedei oblik:
0.0.0.0/0
Osim tog oblika koristi se i krai oblik 0/0, te rije default. Jedna specifinost te rute je da se
provjerava zadnja (budui da je to najmanja mrena maska koja postoji). Druga specifinost je da
uvijek postoji poklapanje. Naime, provjera kree sa pretpostavkom pozitivnog ishoda, a kako se
zahtijeva provjera nula bitova to znai da je konaan rezultat pozitivan i da se dotina ruta koristi za
proslijeivanje paketa.
Budui da pretraivanje tablica usmjeravanja moe biti vrlo dugotrajan proces koriste se posebne
podatkovne strukture uz pomo kojih se cijeli postupak znaajno ubrzava.
16
5. Algoritmi usmjeravanja
5.1. RIP
RIP (Routing Information Protocol) je najstariji i najjednostavniji protokol usmjeravanja. Protokol za
izraun tablica proslijeivanja koristi algoritme vektora udaljenosti (distance vector algorithm).
Postoje dvije verzije RIP algoritma. Verziji 1 [RFC1058] nastala je u vrijeme podjele IP adresa u
klase te se u toj verziji implicitno podrazumijevaju mrene maske. Uvoenjem bezklasnog naina
adresiranja bilo je nuno promijeniti protokol kako bi ukljuio i razmjenu mrenih maski. Ta
modifikacija uinjena je u verziji 2 protokola [RFC2453] koja se danas se iskljuivo koristi na
Internetu i intranetima.
RIP protokol periodiki razmjenjuje
5.2. OSPF
5.3. BGP
RFC1773, RFC1997
5.4. ISIS
IPv6 bazirana
mrea 2
Slika 11 prikazuje situaciju u kojoj se koristi tuneliranje za prijenost IPv6 paketa preko IPv4
baziranog Interneta. U sutini ideja je sljedea. Kada neki IPv6 paket iz mree 1 treba otii do mree
2 tada ga usmjernik mree 1 upakira u IPv4 paket. Potom tako nastali paket prepusti Internet
infrastrukturi da ga prenese do usmjernika druge mree. im pristigne usmjernik druge mree ukloni
IPv4 zaglavlje i dobiveni IPv6 paket prebaci u mreu 2.
Preko Interneta putuju uobiajni IPv4 paketi
Internet
IPv6 bazirana
mrea 1
IPv6 bazirana
mrea 2
Postoji vie normi koje propisuju nain inkapsulacije razliitih protokola unutar IP paketa, primjerice
[RFC1701, RFC2003].
Osnovna inkapsulacija definira nain upisivanja IP paketa unutar IP paketa [RFC2003]. Sutinu
inkapsulacije prikazuje slika 12. U osnovi, na IP paket dodaje se jo jedno IP zaglavlje koje se naziva
vanjsko IP zaglavlje (engl. Outer IP header).
Outer IP Header
IP Header
IP Header
IP Payload
IP Payload
Vrijednost
Version
IHL
TOS
Odredina adresa
Izvorina adresa
6.2. NAT
rfc2663, rfc3022, rfc2766
19
7. Kvaliteta usluge
Zbog sve vee popularnosti Interneta javljaju se aplikacije koje postavljaju nove zahtijeve na
raunalnu mreu. Istovremeno stare aplikacije postaju sve bitnije u svakodnevnom radu. Primjerice,
sve je vea upotreba Interneta za distribuciju video i audio sadraja, zatim poslovanje poduzea sve
vie ovisi o ispravnom pristupu Internetu, a velika telekomunikacijska poduzea polako migriraju
svoju cjelokupnu infrastrukturu prema Internetu i njegovim tehnologijama. Zajednika karakteristika
svih navedenih primjera, a i niza drugih aplikacija, je da oekuju nekakvu garanciju od mree, tj.
odreenu kvalitetu usluge (Quality of Service, QoS).
U svojim poecima, a dobrim dijelom i tijekom svog cjelokupnog postojanja, Internet je zamiljen i
izgraivan kao best-effort mrea. To znai da mrea ne daje nikakve garancije da e isporueni paket
stii na odredite, da e stii u odreenom vremenu ili da e doi samo jedna kopija paketa. Mrea
samo jami da e uiniti sve to moe da taj paket, neoteen, to ranije isporui na odredite.
Meutim, deava se da paketi nemaju isto kanjenje, a u sluaju slanja vie uzastopnih paketa ni
njihov redoslijed nije ouvan. Neki od tih problema rijeeni su na viim protokolima, kao primjerice
pouzdanost isporuke i sauvan redoslijed u sluaju TCP protokola. Meutim dobar dio problema nije
mogue rijeiti bez znaajnijih zahvata u samom mrenom sloju.
Svaki usmjernik koji nema mogunosti pruanja kvalitete usluge moemo modelirati upotrebom reda
za svako izlazno suelje koje posjeduje. Model reda zajedno s izlazom je prikazan na slici 13. Na slici
umjesto suelje pie posluitelj, a umjesto paketa koristi se izraz klijent. Razlozi za takvu
terminologiju bit e opisani kasnije.
Red
Dolazak
klijenata
Odlazak
klijenata
Posluitelj
Slika 13. Model jednog suelja usmjernika
Svaki paket koji pristigne u usmjernik, nakon odluke o proslijeivanju, alje se na izlazno suelje.
Meutim, kada je izlazno suelje zauzeto on se stavlja u red, tj. mora se privremeno pohraniti u
memoriju. Kada se suelje oslobodi, alje se najstariji paket koji se nalazi u redu. Upravo opisani
model usmjernika koristi najjednostavniji nain raspodjele izlazne veze, tzv. FIFO (engl. First In First
Out). Umjesto skraenice FIFO esto se koristi i skraenica FCFS (engl. First Come First Serve). U
sluaju takvog naina posluivanja paket koji prvi stigne biti e i prvi posluen. Takvi naini
rasporeivanja oito nisu pretjerano efikasni, odnosno pravedni. Ipak, ako je kapacitet
komunikacijske veze znatno vei od potreba tada su ti algoritmi rasporeivanja dovoljno dobri.
Kako bi lake pratiti materiju vezanu uz kvalitetu usluge potrebno je prvo definirati terminologiju.
Osnovni pojam predstavlja tok (engl. flow). Svaki tok sastoji se od niza paketa, s odreenim
zajednikim karakteristikama. Primjerice, u sluaju TCP veza zajednike karakteristike su parovi IP
adresa i pristupa na svakom kraju veze, zatim prilikom izvravanja ping naredbe to su IP adrese
krajeva i tipovi ICMP poruke. Dakle, kroz usmjernike u svakom trenutku prolazi odreen broj tokova.
Nisu svi tokovi jednake vanosti i u tome lei temelj kvalitete usluge. To vie dolazi do izraaja to je
vee optereenje sustava, tj. vie paketa treba poslati preko istog suelja. U tom sluaju raste red i
posluitelj treba iz reda odabrati klijenta kojeg e obraditi. Neki klijenti imaju vei prioritet, bilo zbog
svoje vanosti ili zbog spremnosti korisnika da plati za bolju uslugu.
Na primjeru prikazanom na slici 14 biti e objanjeni problemi koji mogu nastati upotrebom
rasporeivanja paketa po najjednostavnijoj FCFS metodi. Slika prikazuje tri toka. Za prvi tok je
specificirano vrijeme izmeu nailaska dva uzastopna paketa dvije vremenske jedinice, za drugi tok je
7. Kvaliteta usluge
to 5 jedinica i za trei tok je takoer 5 jedinica. Oito je kako drugi i trei tok ne potuju svoje
specifikacije te alju podatke daleko brim ritmom od navedenog. Dolazak svakog paketa simboliki
je prikazan strelicom. Za sve pakete pretpostavlja se kako su iste veliine, te da njihov prijenos traje
tono jednu vremensku jedinicu.
Tok 1
Tok 2
Tok 3
Izlaz
Slika 14. Prikaz FIFO/FCFS posluivanja dolaznih paketa
Zadnja linija slike prikazuje izazni mreni promet iz posluitelja. Oito je da iako tok 1 potuje svoju
specifikaciju zbog drugih tokova ne dobija traenu uslugu. Kako bi se izbjegla takva situacija, ali i
niz drugih koje dovode do slinih nepravilnosti, koriste se algoritmi koji na osnovu specifikacija toka,
njegova ponaanja u prolosti i zauzea posluitelja odluuju o redoslijedu posluivanja.
Prvi prijedlog modifikacije jednog reda odnosi se na posluitelje s beskonanom koliinom memorije.
Naime, za svaki tok koji prolazi kroz usmjernik, tj. posluitelj, rezervira se po jedan FIFO spremnik.
Paketi se potom cikliki alju iz svakog spremnika. U sluaju da neki od tokova pojaa intenzitet
slanja to nee utjecati na druge tokove.
Navedeni algoritmi implementirani su u rasporeivaima (engl. schedulers) u trenutku kada je
odlazna veza slobodna odabiru idui paket koji treba poslati. Rasporeivanje je proces koji se koristi
u svakoj situaciji u kojoj vie korisnika (klijenata) upotrebljava ogranien broj resursa. U sluaju
rasporeivanja paketa ogranieni resurs je suelje preko kojega se alju paketi budui da je
istovremeno mogue slati samo jedan paket. Opeupotrebljavani izraz za dijeljeni resurs je
posluitelj. Klijenti dolaze u sustav i koriste uslugu posluitelja. Posluitelj odluuje da li e obraditi
pristiglog klijenta. Ako iz bilo kojeg razloga klijent ne moe biti obraen u tom trenutku tada se on
stavlja u red ekanja. Nakon to je klijent obraen on izlazi iz sustava.
Osim problema s raspodjelom posluitelja, problem je i memorijski prostor u koji se pohranjuju
paketi. U odreenim situacijama moe se desiti da vie nema prostora u memoriji i tada se pristigli
klijente odbacuje. Kako bi se odredio paket koji e biti odbaen tako da se ne kanjavaju tokovi koji
se pridravaju svojih specifikacija koristi se poseban skup algoritama za upravljanjem redovima.
Primjeri takvih algoritama u raunalnim mreama su RED (engl. Random Early Detect), RIO, itd.
U stvarnim situacijama posluitelj u odreenim situacijama moe imati razliit kapacitet posluivanja
klijenata. Primjerice, u raunalnim mreama odlazna komunikacijska veza moe biti potpuna
podmrea iji kapacitet zbog zakrenja varira. Takoer je mogue da procesor u mrenom elementu
nema dovoljno kapaciteta za obradu svih pristiglih paketa. Takve varijacije modeliraju se upotrebom
FC (engl. Fluctuation Constrained) ili EBF (engl. Exponentially Bounded Fluctuation) modela. Kada
21
7. Kvaliteta usluge
se posluitelj modelira upotrebom FC modela to znai da njegov kapacitet nikada ne pada ispod
odreene razine, tj. radi se o deterministikom modelu. Ako se posluitelj modelira EBF modelom
tada vjerojatnost da je kapacitet pao ispod odreene razine eksponencijalno pada sa padom kapaciteta.
U tom sluaju radi se o vjerojatnosnom modelu.
7. Kvaliteta usluge
W f t 1, t 2 W m t 1, t 2
rf
rm
7. Kvaliteta usluge
Temelj algoritma predstavlja varijabla stanja oznaena s auxVC, skraeno od auxiliary Virtual Clock.
Ta varijabla se za svaki paket toka koji doe aurira po sljedeem pravilu:
auxVC ki , j max {aki , j ,auxVC ik, j }Vtick i , j
U tom izrazu indeks i oznaava preklopnik u kojemu se obavlja auriranje varijable, indeks j
k
oznaava tok na koji se varijabla odnosi i k oznaava pojedini paket toka. a i , j je vrijeme dolaska ktog paketa toka j do preklopnika i. Vtick i , j se izraunava na osnovu prosjene koliine prometa koju
generira j-ti tok.
Da bi ilusrirali koritenje danog izraza, uzeti emo prethodni primjer, opisan kvalitativno, i za njega
proraunati dane izraze. Tok 1 je specificirao prosjeno 0.5 paketa/s pa je Vtick i , j=2 , a tokovi 2 i 3
su specificirali 0.2 paketa/s pa je njihov Vtick i , j=5 . Inicijalno svi imaju auxVC jednak nuli. Sada
dolazak i odlazak paketa moemo pratiti uz pomo tablice 5. U nastavku nee u primjerima biti
koriten indeks j budui da promatramo izvravanje algoritma u samo jednom preklopniku pa ne
moe doi do zabune.
U prvoj koloni tablice vodi se evidencija o vremenskim trenucima. Vrijeme poinje u nekom nultom
trenutku i u tom trenutku, kao to je to ve reeno, svi auxVC su jednaki nuli. U svakoj koloni tablice
sa zaglavljem Fi vodi se evidencija o prispjeu paketa za tok i. Primjerice, kada je jedinica u retku
koji pripada trenutku 2 i stupcu sa zaglavljem F1, to znai da je u 2. trenutku pristigao paket koji
pripada prvom toku i da je paket veliine 1 jedinice.
Nakon to pristigne svaki paket, rauna se novi auxVC te se njegova vrijednost pridodjeljuje paketu.
U tablici nisu posebno voene auxVC vrijednosti za pojedini paket budui da se oni lako iitaju.
Potrebno je samo za odgovarajui paket pogledati eliju desno od njega i to je vrijednost auxVC-a za
1
taj paket. Za prvi paket 1. toka, koji dolazi u 3. trenutku, vrijednost varijable a1 je prema tome 3. Pa
1
je prema dakle auxVC 1 :
1
2(1)
11
11
3(1)
16
16
1(3)
21
21
2(2)
4
5
21
21
1(5)
21
21
3(2)
21
21
2(3)
21
21
3(3)
21
21
2(4)
10
21
21
3(4)
11
21
21
24
7. Kvaliteta usluge
Analogan postupak raunanja primjenjen je i za svaki drugi pristigli paket svih tokova. Kada
preklopnik treba poslati neki paket on pregledava sve pakete i alje paket koji ima najmanji auxVC. U
sluaju da je vie takvih paketa, proizvoljno je odabrano da se alje onaj paket iji indeks toka je
manji. U koloni za izlaz iz mrenog ureaja koristi se notacija i(T). i je indeks toka iji paket se alje,
a u zagradi je vrijeme kada je taj paket pristikao u preklopnik. Primjerice, u 7. trenutku alje se paket
2(3), tj. alje se paket 2. toka koji je u preklopnik pristigao u 3. trenutku.
7.4.2. WFQ
Weighted Fair Queuing (WFQ) algoritam pokuava aproksimirati algoritam poznat kao Fair Fluid
Queuing (FFQ). Taj algoritam je skoro istodobno opisan u dva meusobno nevezana rada, pa se zbog
toga za njega koristi i ime Packetized Generalized Processor Sharing. Sam FFQ se javlja i pod
imenom Generalized Processor Sharing (GPS). FFQ je malo poopena inaica algoritma HOL-PS
koji je opisao i analizirao Kleinrock. Kod HOL-PS algoritma svaki dolazni tok ima svoj FIFO
spremnik. Tijekom bilo kojeg vremenskog intervala u kojemu tono N redova sadri podatke za slanje
posluitelj obrauje tih N redova. Svih N paketa poslano je brzinom koja odgovara N-tom dijelu
raspoloivog kapaciteta odlazne veze. Za razliku od HOL-PS algoritma, FFQ omoguava da tokovi
imaju razliitu teinu i shodno tome da dobijaju odgovarajui dio izlaznog kapaciteta.
WFQ je najpoznatija aproksimacija opisanog FFQ algoritma. U trenutku kada posluitelj treba
poslati paket on odabire izmeu svih paketa koji ekaju onaj koji bi prvi zavrio slanje u
aproksimiranom FFQ sustavu. U tom trenutku pretpostavlja se da do zavretka slanja tog paketa nee
pristii niti jedan drugi paket. Manja modifikacija WFQ algoritma je tzv. FQS odnosno Fair Queuing
based on Start Time, kod kojega se rasporeivanje obavlja po poetnom vremenu, a ne po zavrnom.
Za tu modifikaciju pokazano je kako ima prednosti u sluaju rasporeivanja procesa, ali u sluaju
rasporeivanja paketa nema nikakve dobiti.
Promotrimo sliku 15 kao primjer rasporeivanja paketa koritenjem WFQ algoritma.
Tok 1
Tok 2
Tok 11
Slanje koritenjem
WFQ algoritma
Slika 15. Slanje paketa koritenjem WFQ algoritma rasporeivanja
Jednostavnosti radi pretpostavljeno je kao i u dosadanjim primjerima da svi paketi imaju jedininu
veliinu, te da je brzina komunikacijske veze 1. Nadalje, pretpostavka je da tok 1 ima zajamenu
brzinu kojoj pristiu paketi (rate) 0.5 to znai da alje po jedan pakete svake dvije vremenske
jedinice. Istovremeno svi ostali tokovi, od 2 do 11, imaju zajamenu brzinu 0.05 to znai da alju po
25
7. Kvaliteta usluge
jedan paket svakih 20 vremenskih jedinica. Na slici je prikazana situacija kada je tok 1 poslao 11
paketa, jedan za drugim, dok su svi preostali tokovi poslali po 1 paket.
U FFQ sustavu bi za slanje svakog od prvih deset paketa toka 1 bile potroene 2 vremenske jedinice,
a za jedanaesti paket bi bila potroena 1 vremenska jedinica. Za pakete ostalih jedanest tokova trebalo
k
bi po 20 vremenskih jedinica. Oznaimo k-ti paket toka j sa p j , tada poetno vrijeme prijenosa k-tog
11
paketa, k=1...10, iznosi 2(k-1), a zavrno je 2k. Poetno vrijeme prijenosa paketa p1 je u 20.
1
vremenskoj jedinici, a zavretak je u 21. vremenskoj jedinici. Poetak prijenosa paketa p j , j=2...11,
su u 0. vremenskoj jedinici, a zavretci su u 20. vremenskoj jedinici. Na osnovu tako izraunatih
vremena obavlja se rasporeivanje prijenosa paketa u posluitelju koji koristi WFQ algoritam
rasporeivanja. Kao to je reeno WFQ upotrebljava iskljuivo zavrna vremena iz FFQ sustava, pa
kada treba poslati prvi paket odluuje se za prvi paket toka 1 jer on ima najmanje vrijeme zavretka.
Po tom istom nainu odluivanja WFQ e poslati prvih 10 paketa toka 1 jer oni imaju najmanja
vremena zavretka od svih preostalih paketa u trenutku donoenja odluke. Ovdje se prilikom slanja
10-tog paketa koristimo injenicom da ako dva paketa imaju isto vrijeme zavretka tada se uzima onaj
iji indeks toka je manji. U trenutku kada je poslano prvih 10 paketa 1. toka odluka je izmeu 11.
paketa toka 1 i paketa svih ostalih tokova. Sada 11. paket toka 1 ima vee vrijeme zavretka, 21, pa se
poinju slati paketi svih ostalih tokova, a tek nakon njih se alje i zadnji paket toka 1. Konani izlaz
prikazan je na zadnjoj liniji slike 15.
Varijabla stanja se u sustavu koji koristi WFQ algoritam izraunava na sljedei nain:
k
k
i, j
k
i,j
max {V i a , F
Lj
}
i , j
k 1
i,j
Kao i u sluaju algoritma virtualnog sata i u ovom sluaju se indeks i odnosi na preklopnik, j na tok i
k na paket. Varijabla F se naziva virtualno vrijeme zavretka prijenosa (virtual finish time). V(t) je
k
k
virtualno vrijeme sistema u trenutku t, L j je veliina paketa u bitovima, a i , j je vrijeme kada je u
preklopnik i pristigao k-ti paket toka j. Fukcija virtualnog vremena zadana je sljedeim izrazom:
t
V t =
0
j B t
wj
dt
U tom izrazu C predstavlja kapacitet izlaznog linka, a B(t) je skup svih tokova koji u trenutku t imaju
pakete u redu za slanje.
Koritenje navedenih izraza biti e prikazano za sluaj tri toka. Prvi tok ima periodu od 2 vremenske
jedinice i odgovarajuu teinu 1 = 0.5. Druga dva toka su periode 5 vremenskih jedinica i jednake
teine, 2 = 3 = 0.2, duljine paketa su 1 i brzina veze je C = 1. Na slici 16 prikazani su dolazni tokovi
te izlaz za kompletno izvravanje algoritma.
U trenutku nula virtualno vrijeme je nula te se raunaju zavrna vremena svih paketa. Za prvi paket
1
prvog toka, p 1 , to je
26
7. Kvaliteta usluge
11
12
13
14
12
21
31
21
31
11
13
14
F 1 max {V 0 ,0}
1
=02=2
0.5
0
U tom izrazu za F 1 koritena je vrijednost 0. Za prvi paket 2. i 3. toka vrijednost zavretka prijenosa
prvog paketa je identina i iznosi:
F 2= F 3 max {V 0 ,0}
1
=5
0.2
Kako paket prvog toka ima ranije vrijeme zavretka to se on prvi alje. Njegovo slanje je gotovo u
trenutku 1, ali je odmah spreman i drugi paket tog toka te je potrebno za njega izraunati vrijeme
zavretka slanja u FFQ sustavu. Virtualno vrijeme u vrijeme dolaska paketa iznosi:
2
V a1 =V 1=
C
1
10
=
=
12 3 0.50.20.2 9
F 1 max {V 1 ,2}
1
=22=4
0.5
2
1
1
2
Od svih raspoloivih paketa u trenutku 1 ( p 1 , p 2 , p 2 ) paket p 1 ima najmanje vrijeme zavretka te
se on prvi alje. Nakon to je poslan, dolazi trei paket tog toka te se za njega proraunava vrijeme
zavretka slanja. Virtualno vrijeme u trenutku dolaska tog paketa iznosi:
V a1 =V 2=V 0
C
1
20
=2
=
0.50.20.2 9
1 2 3
F 1 max {V 2 ,4}
1
=42=6
0.5
Sada najmanje vrijeme zavretka slanja imaju paketi 2. i 3. toka te se proizvoljno moe odabrati bilo
koji od njih. Da se razrijei ta situacija na jedinstven nain koristiti e se pravilo da se alju paketi
veze koja ima manji indeks, to u ovom sluaju znai da se alje paket 2. toka.
27
7. Kvaliteta usluge
1
Nakon to je poslan paket p 2 dolazi jo jedan paket prvog toka te se za njega izvraunava zavrno
vrijeme. Virtualno vrijeme iznosi:
V a1 =V 2=V 1
C
20
1
320
=
=
~5.07
13 9 0.50.2 63
Treba primjetiti kako ovom prilikom nije uraunata teina 2. toka budui da on nema ni jedan paket
4
za slanje! Sada se moe izraunati zavrno vrijeme slanja paketa p 1 :
4
F 1 max {V 3 ,6}
1
=62=8
0.5
1
Kako paket p 3 ima manje zavrno vrijeme on se prvi alje. Nakon toga ostala su samo dva paketa
prvog toka te se oni alju i izvravanje algoritma je za zadanu situaciju zavreno.
7.4.3. WF2Q
Za razliku od WFQ algoritma, WF2Q algoritam uzima u obzir i vrijeme poetka slanja paketa.
Drugim rijeima, kada se donosi odluka da li poslati odreeni paket dodatno se provjerava i da li je
vrijeme poetka slanja tog paketa manje ili jednako trenutnom vremenu. Na slici 17 prikazan je isti
primjer koriten u sluaju WFQ algoritma, slika 16.
11
12
13
21
12
14
21
31
11
Izraz za zavretak prijenosa paketa u referentnom FFQ sustavu koriten u WFQ algoritmu biti e
zapisan u neto drugaijem obliku. Zavretak se rauna kao vrijeme poetka prijenosa plus trajanje
samog prijenosa, tj.
k
F ki , j Sik, j
Lj
i , j
k
U tom izrazu S i , j je vrijeme poetka prijenosa definirano sa:
k
k1
Si , j max {V i a i , j , F i , j }
Virtualno vrijeme u izrazu rauna se na isti nain kao i u WFQ algoritmu. Koristei ta dva izraza
1
1
1
raunaju se vremena zavretka prijenosa paketa p 1 , p 2 , p 3 . Ta vremena je jednostavno izraunati
budui da se za vrijeme poetka prijenosa uzima 0. trenutak:
28
7. Kvaliteta usluge
1
F 1 0
1
1
=02=2
0.5
F 2= F 3 0
1
=5
0.2
Kao to se moe primjetiti vrijednosti su identine WFQ sustavu, pa e prvi paket koji se alje biti
p 11 . Nakon to je poslan taj paket u trenutku 1 pristie paket p 21 za kojeg se raunaju vremena
poetka prijenosa i zavretka prijenosa u referentnom FFQ sustavu. Prvo je potrebno odrediti
virtualno vrijeme u trenutku 0:
2
V a1 =V 1=
C
1
10
=
=
12 3 0.50.20.2 9
S1 max {V 1 ,2}=2
2
F 1 2
1
=22=4
0.5
2
Ovdje nastupa prva razlika izmeu WFQ i WF2Q. Iako p 1 ima ranije vrijeme zavretka prijenosa
1
njegovo poetno vrijeme je u budunosti, te se zbog toga prenosi paket p 2 . Nakon to je prenesen taj
3
paket dolazi paket p 1 za kojega treba izraunati poetak i zavretak prijenosa u referentnom FFQ
sustavu. Opet se zapoinje sa virtualnim vremenom:
V a1 =V 2=V 1
C
10
1
160
=
=
~2.53
1 3 9 0.50.2 63
F 1 4
1
=42=6
0.5
2
1
U 2. vremenskoj jedinici mogue je poslati pakete p 1 i p 3 jer su njihova vremena poetka prijenosa
2
manja ili jednaka trenutnom vremenu. Od ta dva paketa p 1 ima ranije vrijeme zavretka pa e on biti
4
prenesen u 2. vremenskoj jedinici. U 3. vremenskoj jedinici pristie paket p 1 i njegovo vrijeme
poetka i zavretka prijenosa je:
V a1 =V 3=V 2
C
160
1
250
=
=
~3.96
63
0.50.2
63
13
S1 max {V 3 ,6}=6
4
F 1 6
1
=62=8
0.5
3
4
Prvi paket koji se moe slati je p 1 , a u iduoj vremenskoj jedinici je to p 1 .
WFQ u svom radu nee nikada kasniti za vie od jednog paketa, ali moe ii dosta u naprijed. Za
razliku od njega, WF2Q nikada ne kasni niti ne rani za vie od jednog paketa u odnosu na referentni
FFQ sustav. Problem oba algoritma je to su raunski zahtijevni to nije dobro budui da se
upotrebljavaju u situacijama gdje treba to manje troiti na raunanje kako bi paketi imali to manje
kanjenje. Iz tog razloga razvijeni su jednostavniji algoritmi.
29
7. Kvaliteta usluge
Rijeima izreeno, virtualno vrijeme jednako je zavrnom vremenu prijenosa paketa koji se trenutno
alje. Izrazi za poetak slanja i kraj slanja ostaju slini kao i u WF2Q i WFQ algoritmima:
k
k
i, j
Lj
S
i , j
k
i, j
Za demonstraciju izvravanja algoritma moe se uzeti primjer koriten za algoritme WFQ i WF2Q.
11
12
13
14
12
21
31
21
31
11
13
14
U poetnom trenutku virtualno vrijeme ima vrijednost nula, a takoer su zavrna vremena prijenosa
svih paketa prije prvog jednaka nuli. Zbog toga su vrijednosti poetka i kraja prijenosa svih paketa
isti kao u prethodnim algoritmima, tj.
1
F 1 0
1
1
=02=2
0.5
F 2= F 3 0
1
=5
0.2
1
Prvi paket koji se alje je p 1 budui da njegovo vrijeme zavretka u referentnom FFQ sustavu dolazi
prvo. Tijekom prijenosa tog paketa, i neposredno nakon zavretka virtualno vrijeme ima vrijednost:
F 11=2
V=
30
7. Kvaliteta usluge
2
Nakon to je zavreno slanje tog paketa dolazi 2 paket tog istog toka, p 1 , te se za njega izraunava
vrijeme poetka prijenosa i kraja prijenosa:
2
S1 max {V 1 ,2}=2
F 1 2
1
=22=4
0.5
Zavrno vrijeme tog paketa je 4 to je ujedno i najmanje zavrno vrijeme pa SCFQ bira taj paket za
slanje. Tijekom slanja tog paketa virtualno vrijeme iznosi 4, te se nakon prijenosa rauna zavrno
3
vrijeme za 3. paket toka 1, tj. za p 1 :
S31 max {V 2 ,4}=4
3
F 1 4
1
=42=6
0.5
1
1
Sada, budui da p 2 i p 3 imaju ranije vrijeme zavretka prijenosa oni se prvi alju. Koristei pravilo
1
da paket sa manjim indeksom toka ide prvi rasporeiva alje prvo p 2 .Tijekom slanja tog paketa
virtualno vrijeme je postavljeno na vrijednost:
F 12 =5
V=
U trenutku kada doe zadnji paket prve veze potrebno je izraunati vrijeme prijenosa za njega:
S1 max {V 3 ,6}=6
4
F 1 6
1
=62=8
0.5
1
U iduem trenutku alje se paket p 3 , a nakon njega i dva preostala paketa prve veze budui da nema
novih dolazaka paketa.
Dolazni
paketi
Rasporeivanje
po toku
(adrese,
pristupi, i
protokoli)
FCFS red
FCFS red
FCFS red
Odlazni
paketi
Slika 19. Arhitektura FFQ posluitelja
U osnovi u FFQ posluitelju se paketi razliitih tokova meusobno razdvajaju u zasebne redove. To
razdvajanje obavlja se na osnovu odredine i izvorine adrese, pristupa na odreditu i na izvoritu te
na osnovu protokola. Redovi u koje su smjeteni tokovi, po jedan red za svaki tok, kruno se
31
7. Kvaliteta usluge
posluuju bit po bit (round robin). Rasporeivanje u redove je u vrlo brzim mrenim ureajima dosta
teko izvesti jer je vrlo malo vremena na raspolaganju za obradu svakog paketa. To jo vie dolazi do
izraaja sa porau broja tokova. Za svaki tok je potrebno voditi evidenciju, kada se pojavi potrebno
je smjestiti podatke o toku u memoriju, a nakon nekog vremena ako se ne pojave novi paketi
izbrisati podatke o toku iz tablica. Ideja SFQ algoritma je da se koristi manji broj redova od broja
tokova te se potom koriste funkcije rasprivanja (hash) koje rasporeuju svaki tok u neki od tih
redova. Ako dva toka dou u isti red tada e morati dijeliti izlaznu liniju to moe dovesti do
nepravednosti. Kako bi se ublaio taj problem funkcija rasprivanja se periodiki mijenja te se na taj
nain tokovi rasporeuju u razliite redove.
Ovaj algoritam implementiran je u Linux operacijskom sustavu za rasporeivanje paketa, a takoer se
razvija inaica koja bi radila posluivanje zahtijeva za pristupom vrstim diskovima.
Matematika analiza ovog algoritma oslanja se na analizu funkcija rasprivanja te kao odgovor daje
broj tokova sa kojima neki tok moe oekivati dijeljenje reda. Oekivani broj tokova u jednom redu
moe se prikazati na sljedei nain:
EC =1
VC =
6
Parametar je omjer broja tokova i broja redova. Primjerice, ako su redovi prazni tada je parametar
nula, te je oekivani broj tokova sa kojima e dijeliti red 1 i varijanca je 0. To drugim rijeima znai
da tok sigurno dobija svoj red koji ne dijeli sa ni sa kim. Ako sa druge strane SFQ posluitelj sadri
broj tokova jednak broju redova tada je parametar =1, oekivani broj tokova u redu koji dobija novi
tok EC = 2, a varijanca je 1.17.
j1
S p f =max {v A p f ,F p f }
j
j
pri emu je F p f zavrno vrijeme paketa p f definirano na sljedei nain:
lf
F p =S p ;
rf
j
f
j
f
j1
0
i F p f =0 , a r f je teina toka f.
7. Kvaliteta usluge
U odnosu na WFQ, SFQ daje manje srednje vrijeme kanjenja po paketu i ukupno manje
maksimalno vrijeme kanjenja svakgo paketa.
Manja je maksimalna vrijednost kanjenja u odnosu na SCFQ, te oba imaju istu mjeru
pravednosti i jednostavnost implementacije.
Bolji je od FQS jer je manje kompleksnosti i postie pravednost kod posluitelja razliita
kapaciteta bez poveanja maksimalnog kanjenja paketa.
Nain rada algoritma moe se demonstrirati upotrebom tokova prikazanih na slici 18. Tok 1 ima
najmanji prioritet, 0.2, potom tok 2 ima prioritet 0.3 i konano, tok 3 ima najvii prioritet 0.5. U
nultom trenutku do posluitelja dolaze prvi paketi svih tokova te on za njih rauna poetna vremena i
zavrna vremena prijenosa:
S p11 =max {v A p11 , F p01 }=max {v0 ,0}=0
l 11
1
F p =S p =0
=5
r1
0.2
1
1
1
1
F p2 =S p2
l2
1 10
=0
=
r2
0.3 3
l 13
1
F p =S p =0
=2
r3
0.5
1
3
1
3
Budui da svi paket imaju isto poetno vrijeme prijenosa proizvoljno se odabire prvi paket, ali
primjernom naela da se u takvim sluajevima odabire tok sa najniim indeksom, prvi paket koji se
1
alje je p 1 . Osim naela najmanjeg indeksa mogue je primjeniti i pravilo po kojemu se paket toka
najveeg prioriteta prvi alje.
11 12 13 14
Tok 1
21 22 23
Tok 2
31 32
Tok 3
11 21 31 32 22 12 23 13 14
Slika 20. Primjer rasporeivanja koritenjem SFQ rasporeivaa
33
7. Kvaliteta usluge
Nakon to je poslan prvi paket dolaze tri nova paketa, po jedan od svakog toka te je potrebno ponovo
preraunavati poetna i zavrna vremena slanja. Virtualno vrijeme ostaje nula budui da je poetno
vrijeme paketa koji je poslan bilo nula. Raunanjem se dobijaju sljedea vremena:
S p21 =max {v A p21 ,F p11}=max {v1 ,5}=max {0, 5}=5
2
l1
1
F p =S p =5
=10
r1
0.2
2
1
2
1
10 10
}=
3
3
l 2 10 1 20
F p =S p =
=
r 2 3 0.3 3
2
2
2
2
l3
1
F p =S p =2
=4
r3
0.5
2
3
2
3
1
1
Od svih paketa u sustavu najmanje poetno vrijeme prijenosa imaju paketi p 2 i p 3 pa se po ve
1
navedenom naelu prenosi paket p 2 . Nakon to je taj paket prenesen virtualno vrijeme je jo uvijek
3
3
nula, ali u sustav pristiu dva nova paketa, p 1 i p 2 . Za te pakete takoer je potrebno odrediti
poetna i zavrna vremena prijenosa:
l 31
1
F p =S p =10
=15
r1
0.2
3
1
3
1
S p2 =max {v A p2 , F p2 }=max {v 2 ,
20 20
}=
3
3
l 2 20 1
F p =S p = =10
r 2 3 0.3
3
2
3
2
Nakon tog raunanja odluuje se o paketu koji e biti poslan. Najmanje poetno vrijeme slanja ima
1
4
paket p 3 , te se on alje. Nakon slanja tog paketa u sustav dolazi jo jedan novi paket, p 1 , te se za
njega raunaju poetna i zavrna vremena slanja. Virtualno vrijeme je jo uvijek nula budui da je
poetno vrijeme slanja zadnjeg paketa bilo 0:
4
l1
1
F p =S p =15
=20
r1
0.2
4
1
4
1
Od tog trenutka na dalje novi paketi ne pristiu u sustav te se samo alju drugi. Tijekom tog slanja
2
poveava se virtualno vrijeme u skladu sa navedenim algoritmom. Dakle, prvo se alje paket p 3 i
2
tijekom njegova slanja virtualno vrijeme je 2. Nakon toga alje se paket p 2 i tijekom njegova slanja
2
virtualno vrijeme je 3.33. Onda se alje p 1 i virtualno vrijeme je 5. Taj postupak traje dok se ne
poalju svi paketi. Cijeli postupak moe se prikazati i tablino, kako je to prikazano u tablici 6.
34
7. Kvaliteta usluge
Tablica 6. Tablini prikaz izvoenja SFQ algoritma
p 11
p 12
p 13
p 21
p 22
p 23
p 31
p 32
p 41
10/3
10
20/3
15
10/3
10
20/3
15
10
20
10/3
10
20/3
15
20
U toj tablici redak sa oznakom S sadri poetna vremena prijenosa svih paketa, F oznaava kraj
prijenosa, n oznaava redni broj paketa u prijenosu i konano v oznaava virutalno vrijeme. Tablica se
tijekom izvravanja algoritma proiruje na desno pri emu se u zaglavlja stupaca upiu pristigli
paketi, a potom se izraunavaju S i F. Na osnovu S odreuje se redni broj paketa, a paket u prijenosu
odreuje i vrijednost virutalnog vremena.
35
8.2. VPN
8.3. Firewall
9. Primjeri
PRIMJER 1. IP adrese
Za zadane mree odrediti alternativne zapise, difuzne adrese i maksimalan broj ureaja u
mrei.
a) 10.0.0.0/24
b) 192.168.0.0/255.255.0.0
c) 172.16.128.0/17
d) 192.168.255.252/255.255.255.252
Rjeenje
9. Primjeri
Idui vor
161.53.65.0/24
161.53.0.0/16
eth0
161.53.65.1
192.168.2.0/24
192.168.2.0/30
Izlazno
suelje
eth0
eth1
192.168.2.150
eth1
Idui vor
Izlazno
suelje
192.168.2.0/30
192.168.2.150
eth1
192.168.2.0/24
eth1
161.53.65.0/24
eth0
161.53.0.0/16
161.53.65.1
eth0
a) IP(161.53.65.15, 161.53.65.14)
U ovom sluaju odredina IP adresa 161.53.65.15 se provjerava slijedno s odredinom
mreom svakog zapisa u tablici. Koristei izraz dan u uvodu za usporedbu IP adrese s
mreom, za prvi redak imamo sljedei sluaj:
IPnet == IPdest & ((2n 1) << (32 n))
192.168.2.0 == 161.53.65.15 & ((230 1) << (32 30))
192.168.2.0 == 161.53.65.15 & 0xFFFFFFFC
192.168.2.0 == 161.53.65.12
Prema tome rezultat izraunavanja tog izraza nije toan te se prelazi na drugi redak tablice.
Za drugi redak tablice imamo sljedei sluaj:
IPnet == IPdest & ((2n 1) << (32 n))
192.168.2.0 == 161.53.65.15 & ((224 1) << (32 24))
38
9. Primjeri
39
9. Primjeri
c) IP(161.54.8.8, 192.168.2.117)
Opet se ponavlja kompletan postupak usporedbe. Prvi redak:
IPnet == IPdest & ((2n 1) << (32 n))
192.168.2.0 == 161.54.8.8 & ((230 1) << (32 30))
192.168.2.0 == 161.54.8.8 & 0xFFFFFFFC
192.168.2.0 == 161.54.8.8
Dakle, prvi redak ne odgovara. Drugi redak:
IPnet == IPdest & ((2n 1) << (32 n))
192.168.2.0 == 161.54.8.8 & ((224 1) << (32 24))
192.168.2.0 == 161.54.8.8 & 0xFFFFFF00
192.168.2.0 == 161.54.8.0
Ni drugi redak ne odgovara. Trei redak:
IPnet == IPdest & ((2n 1) << (32 n))
161.53.65.0 == 161.54.8.8 & ((224 1) << (32 24))
161.53.65.0 == 161.54.8.8 & 0xFFFFFF00
161.53.65.0 == 161.54.8.0
etvrti redak:
IPnet == IPdest & ((2n 1) << (32 n))
161.53.0.0 == 161.54.8.8 & ((216 1) << (32 16))
161.53.0.0 == 161.54.8.8 & 0xFFFF0000
161.53.0.0 == 161.54.0.0
Nakon pregleda kompletne tablice usmjernik ustanovljava kako niti jedan redak ne
odgovara. U tom trenutku on odbacuje paket i eventualno alje nazad upozorenje o
nepoznatoj mrei!
d) IP(192.168.2.1, 192.168.2.117)
U ovom sluaju, nakon pretraivanja analognog pretraivanju u prethodnim podzadacima,
usmjernik e proslijediti ovaj paket voru s IP adresom 192.168.2.150 koji se nalazi
prikljuen na suelje eth0.
40
9. Primjeri
192.168.2.0/24
161.53.66.0/24
Ethernet suelja
Rjeenje
Prvi korak prilikom slaganja tablica usmjeravanja za neku mrenu konfiguraciju je definiranje imena
svih suelja i IP adresa. Sve to potrebno je obaviti iz perspektive samog usmjernika za kojega emo
slagati tablice usmjeravanja.
U ovom zadatku javljaju se iskljuivo Ethernet mree. Suelja koja se spajaju na Ethernet mreu
uvijek imaju imena oblika ethn pri emu se slovo n zamjenjuje s brojem koji poinje od 0. U
sluaju ovog zadatka usmjernik je prikljuen na dvije ethernet mree te zbog toga mora imati dva
ethernet suelja. Ta suelja e biti oznaena s eth0 i eth1. Koje suelje e dobiti oznaku eth0, a
koje eth1 u ovakvim sluajevima nije bitna. Nakon oznaavanja suelja nova situacija je prikazana
na sljedeoj slici:
eth0
eth1
Na toj slici nisu vie prikazane mree na koje je spojen usmjernik, ali se one podrazumijevaju. Nakon
to su definirana imena sueljima potrebno im je dodijeliti IP adrese. IP adrese koje e biti dodijeljene
sueljima moraju se odabrati s mree na koju je suelje spojeno.
Uzmimo na primjer suelje eth0. To suelje spaja usmjernik na mreu ija mrena IP adresa je
192.168.2.0/24, prema tome IP adresa koju e dobiti to suelje mora biti iz tog raspona. Obiaj je da
se sueljima usmjernika na lokalnim mreama pokua dati to nii broj. U ovom sluaju e odabrana
IP adresa biti 192.168.2.1. Analognim postupkom e suelje eth1 dobiti IP adresu 161.53.66.1.
Dakle, usmjernik s oznaenim sueljima i odgovarajuim IP adresama prikazan je na sljedeoj slici:
eth0
192.168.2.1
eth1
161.53.65.1
41
9. Primjeri
Nakon to su oznaena sva suelja i postavljene sve potrebne IP adrese pristupa se izradi tablice
usmjeravanja.
Postupak za generiranje tablice je sljedei:
Za svaku mreu koja postoji na zadanoj slici napravi se jedan redak tablice.
Potrebno je provjeriti kroz koje suelje se stie do te mree. To suelje se pie u trei stupac
tablice.
Idui vor
Izlazno
suelje
192.168.2.0/24
eth0
161.53.65.0/24
eth1
Napomena
Prilikom realizacije raunalne mree ne treba posebno postavljati tablicu usmjeravanja za direktno spojene mree.
Tijekom dodjele IP adrese suelju i aktivacije tog suelja Linux kernel automatski postavlja navedene rute! U nastavku,
kao i u ovom zadatku, e se ignorirati ta injenica, no ona ne mijenja nita na ispravnosti dobijenih tablica!
42
9. Primjeri
192.168.1.0/24
192.168.4.0/24
192.168.2.0/24
Rjeenje
Kako bi se mogle pisati tablice proslijeivanja usmjernika potrebno je odrediti nazive suelja
usmjernika i njihove IP adrese. Na prikazanoj slici sva suelja su Ethernet
43
9. Primjeri
192.168.4.0/24
C
192.168.3.0/24
Rjeenje
Da bi se zadatak mogao rijeiti nuno je znati IP i Ethernet adrese svih suelja. Kako te
adrese nisu zadane potrebno ih je odrediti. Adrese nije mogue u potpunosti odabrati
proizvoljno. Mreni dio je predodreen i zadan na slici. Primjerice, lijeva mrea ima adresu
192.168.3.0/24. To znai da svako suelje spojeno na lijevu mreu mora imati IP adresu s
identinom mrenom adresom. Usmjernik ima dva mrena suelja. Po jedno na lijevoj i
desnoj mrei. U sljedeoj tablici navedene su odabrane adrese.
Ureaj
Ethernet adresa
IP adresa
ae
192.168.3.2
be
192.168.3.3
ce
192.168.4.2
de
192.168.4.1
le
192.168.3.1
re
192.168.3.2
Sljedei vor
192.168.3.0/24
default
Izlazno suelje
eth0
192.168.3.1
eth0
44
9. Primjeri
Mrea
Sljedei vor
192.168.3.0/24
default
Izlazno suelje
eth0
192.168.3.1
eth0
Po uvijetima zadatka raunalo A treba poslati paket raunalu B, tj. sljedei IP paket
IP (192.168.3.3, 192.168.4.2)
45
9. Primjeri
46
9. Primjeri
3
D
Rjeenje
Budui da planirani broj raunala po mrei ne ukljuuje suelje usmjernika to znai da je svaki od
njih potrebno uveati za 1. D mrea je posebna. To je serijska veza koja povezuje iskljuivo 2
usmjernika i zbog toga za tu mreu nije naveden maksimalan planirani broj raunala.
Raspodjela IP adresa vriti e se koritenjem dijagrama prikazanog na sljedeoj slici:
maska
broj IP adresa
25
126
26
62
27
30
28
14
29
30
Na tom dijagramu broj horizontalnih linija odgovara broju bitova raunalnog dijela koji nam je
ostavljen na raspolaganju. Sa lijeve strane oznaeni su indeksi bitova raunalnog dijela. Indeksiranje
bitova kree od 0. i to je najtei bit 32-bitne IP adrese koji se nalazi sa lijeve strane. U ovom zadatku
mrena maska ima 25 bitova. Budui da zbog toga bitovi od 0 do 24 pripadaju mrenom dijelu
dijagram se crta od 25. bita. Crtanje zavrava sa 30. bitom budui da je to najvea mrena maska koja
se moe pojaviti.
47
9. Primjeri
Sa desne strane naveden je broj raspoloivih IP adresa koji je mogue ostvariti za zadanu veliinu
maske. Kao primjer moemo uzeti odmah prvu liniju. U tom sluaju 25 bitova pripada mrenoj
maski, a ostalih 32 25 = 7 pripada raunalnom dijelu. To znai da je mogue imati najvie 2 7 2, tj.
126 IP adresa. Ako za mrenu masku uzmemo 30 bitova, to znai da raunalnom dijelu priprada 32
30 = 2 bita, te je mogue imati najvie 22 2 raunala. Broj 2 se oduzima zbog dvije rezervirane IP
adrese. To su adrese koje u raunalnom dijelu imaju sve nule i sve jedinice, kako je to objanjeno u
uvodnom dijelu.
48
9. Primjeri
192.168.3.0/24
R2
S4
R4
R3
192.168.4.0/24
S2
S1
192.168.2.0/24
S3
Rjeenje
U zadatku je zadan uvijet da serijska suelja nisu globalno dostupna. To znai da IP adresama
pojedinih serijskih suelja mogu pristupiti iskljuivo usmjernici na koje je serijsko suelje spojeno.
Primjerice, serijskom suelju S1, ija mrena adresa je 192.168.5.0/30, mogu pristupiti iskljuivo
usmjernici R1 i R2, dok usmjernici R3 i R4 nemaju u svojim tablicama usmjeravanja te mree i zbog
toga im ne mogu pristupiti.
49
9. Primjeri
Radi lakeg pisanja tablica proslijeivanja svih usmjernika preporuljivo je prvo na zadanoj slici
naznaiti imena suelja svih usmjernika i njihove pripadne IP adrese. To je uinjeno na sljedeoj slici:
eth0
192.168.1.1/24
ppp0
192.168.5.1/30
ppp0
192.168.5.14/30
ppp1
R1 192.168.5.5/30
ppp0
192.168.5.6/24
ppp0
192.168.5.2/30
S4
R2
R4
eth0
192.168.4.1/24
R3
eth0
192.168.3.1/24
eth0
192.168.2.1/24
ppp1
192.168.5.9/30
ppp1
192.168.5.10/30
ppp2
192.168.5.13/30
Slika 21. Usmjernici iz zadatka sa oznaenim sueljima i odgovarajuim IP adresama
Sljedei vor
Izlazno suelje
192.168.1.0/24
eth0
192.168.5.0/30
ppp0
192.168.5.4/30
ppp1
192.168.5.12/30
ppp2
192.168.2.0/24
192.168.5.14
ppp2
192.168.3.0/24
192.168.5.2
ppp0
192.168.4.0/24
192.168.5.6
ppp1
Sljedei vor
Izlazno suelje
192.168.3.0/24
eth0
192.168.5.0/30
ppp0
192.168.5.8/30
ppp1
192.168.1.0/24
192.168.5.1
ppp0
192.168.2.0/24
192.168.5.1
ppp0
192.168.4.0/24
192.168.5.10
ppp1
50
9. Primjeri
Tablica 9. Tablica proslijeivanja usmjernika R3
Mrea
Sljedei vor
Izlazno suelje
192.168.2.0/24
eth0
192.168.5.12/30
ppp0
192.168.1.0/24
192.168.5.13
ppp0
192.168.3.0/24
192.168.5.13
ppp0
192.168.4.0/24
192.168.5.13
ppp0
Sljedei vor
Izlazno suelje
192.168.4.0/24
eth0
192.168.5.4/30
ppp0
192.168.5.12/30
ppp1
192.168.1.0/24
192.168.5.5
ppp0
192.168.2.0/24
192.168.5.5
ppp0
192.168.3.0/24
192.168.5.13
ppp1
51
9. Primjeri
192.168.2.0/24
R2
161.53.53.0/24
Rjeenje
Opet kao i u prethodnom zadatku potrebno je prije kreiranja same tablice oznaiti suelja i dodijeliti
im IP adrese. Oba usmjernika imaju po dva ethernet suelja. Oznake na usmjerniku R1 su eth0 i
eth1 i isto, na usmjerniku R2 su oznake suelja eth0 i eth1. Treba primjetiti kako moemo
koristiti vie puta indeks 0 suelja, ali pod uvijetom da su suelja na razliitim usmjernicima!
Odabir IP adresa identian je prethodnom zadatku s jednom malom razlikom. U ovom sluaju oba
usmjernika spojena su na istu Ethernet mreu (mrea s adresom 161.53.66.0/24) te u tom sluaju
treba pripaziti prilikom odabira IP adrese. Jedan usmjernik e dobiti adresu 161.53.65.1, dok e drugi
dobiti sljedeu najniu, tj. 161.53.65.2.
Usmjernici, s oznakama suelja i dodijeljenim adresama, prikazani su na sljedeoj slici:
R2
eth0
192.168.2.1
161.53.53.0/24
192.168.2.0/24
161.53.66.0/24
R1
eth0
161.53.66.2
eth1
161.53.66.1
eth1
161.53.53.1
Sada je na osnovu slike potrebno napisati tablice proslijeivanja. Postupak kreiranja tablice
usmjeravanja slian je postupku opisanom u prethodnom zadatku osim to sadri nekoliko dodatnih
koraka zbog sloenije mree. Postupak za generiranje tablice treba provesti za svaki usmjernik, a
sastoji se od sljedeih koraka:
Za svaku mreu koja postoji na zadanoj slici napravi se jedan redak tablice.
52
9. Primjeri
Potrebno je provjeriti kroz koje suelje se stie do te mree. To suelje se pie u trei stupac
tablice.
Ako mrea nije direktno spojena na usmjernik tada je potrebno pronai suelje usmjernika
kome treba predati paket. Adresu tog suelja upisati u drugi stupac tablice. Pripaziti da se za
suelje odaberu samo direktno spojena suelja!
U ovom zadatku postoje dva usmjernika te e biti dvije tablice proslijeivanja, za svaki usmjernik po
jedna. Budui da su ovom zadatku zadane tri mree (192.168.2.0/24, 161.53.66.0/24 i
161.53.53.0/24) to e svaka tablica proslijeivanja imati tri retka.
Uzmimo primjer usmjernika R1 i mree 161.53.53.0/24. Ta mrea dostupna je tom usmjerniku preko
suelja eth1. Ali, kako se ne radi o mrei direktno spojenoj na sam usmjernik to proizlazi da e se
paket morati predati iduem usmjerniku. Taj usmjernik, prema slici, je R2, tj. na njegovo suelje
eth0 koje ima IP adresu 161.53.66.2. Prema tome prvi redak tablice proslijeivanja usmjernika R1
ima sljedei oblik:
Odredina mrea
Idui vor
Izlazno
suelje
161.53.66.0/24
161.53.66.2
eth1
Provoenjem slinog postupka i za ostale dvije mree dobijamo potpunu tablicu proslijeivanja
usmjernika R1:
Odredina mrea
Idui vor
Izlazno
suelje
192.168.2.0/24
eth0
161.53.66.0/24
eth1
161.53.53.0/24
161.53.66.2
eth1
Cijeli postupak se potom ponavlja za usmjernik R2, te se na kraju odbija sljedea tablica
proslijeivanja:
Odredina mrea
Idui vor
Izlazno
suelje
192.168.2.0/24
161.53.66.1
eth0
161.53.66.0/24
eth1
161.53.53.0/24
eth1
53
9. Primjeri
Ethernet mree
192.168.2.0/24
161.53.66.0/24
Rjeenje
Razlika izmeu ovog zadatka i prethodnih je u tome to se u ovom sluaju javljaju serijska suelja.
Budui da je postupak za ethernet suelja identian kao u prethodnim zadacima to e ovdje biti
navedena pojanjena samo za serijska suelja.
Serijska suelja na kojima se vrti PPP dobijaju imena iji oblik je pppn. Kao i kod Ethernet suelja
umjesto n pie se broj koji poinje od 0. Kako u ovom zadatku usmjernik ima dva serijska suelja to
e njihove oznake biti: ppp0 i ppp1. To je prikazano na sljedeoj slici:
eth0
ppp0
eth1
ppp1
Kod dodjele IP adresa treba pripaziti. Naime, serijska suelja su specifina budui da jedno takvo
suelje moe spojiti iskljuivo dva usmjernika. To je razlika u odnosu na Ethernet na kojemu se moe
nalaziti vie raunala! Na sljedeoj slici prikazana je jedna mogua izvedba mree iz zadatka.
R1
R2
R3
192.168.3.0/24
54
161.53.66.0/24
192.168.2.0/24
161.53.65.0/24
9. Primjeri
Razlog zato je to samo jedna mogua izvedba je injenica da zadatkom nije definirana tona
struktura mrea 192.168.3.0/24 i 192.168.2.0/24! Postoje i druge mrene konfiguracije koje bi
odgovarale generikom obliku zadanom u zadatku. Ipak, ta mogua konfiguracija e dobro posluiti
da se pojasni odabir IP adresa za serijska suelja!
Primjetite kako su usmjernici R1 i R2 spojeni serijskom vezom, te su takoer usmjernici R1 i R3
spojeni serijskom vezom! Serijska veza omoguava da se direktno spoje iskljuivo dva usmjernika, za
razliku od primjerice Ethernet mree na koju je mogue spojiti (skoro) proizvoljan broj usmjernika i
oni e moi direktno komunicirati!
Posljedica toga je potreba da se paljivo odaberu IP adrese i njihove mrene maske za serijsku vezu.
Kako bi vidjeli zato je to tako pogledajmo koliko raunala se moe nalaziti na mrei ija mrena
adresa je 192.168.2.0/24. Na toj mrei ostavljeno je 8 bita za broj raunala, prema tome teoretski
maksimum je 256 (232 - 24). Meutim, ne mogu se koristiti IP adrese koje na mjestu koje pripada
raunalu imaju sve nule ili sve jedinice. To u ovom sluaju znai da se ne mogu koristiti adrese
192.168.2.0 i 192.168.2.255, budui da one imaju posebno znaenje. Prema tome, ostaje na
raspolaganju 254 adrese (256 2) i mogunost prikljuivanja isto toliko raunala (namjerno
ignoriramo injenicu kako i usmjernik uzima jednu IP adresu!).
Sada je jasno da na serijskoj vezi odabirom 24 bita za mrenu masku ostavljamo mogunost spajanja
254 raunala, ali serijska veza omoguava maksimalno dva raunala! Iz tog razloga se za serijske
veze odabire mrena maska 30! Mrea koja spaja usmjernike R1 i R2 biti e podmrea mree
192.168.2.0/24 i mrea koja spaja usmjernike R1 i R3 e biti podmrea mree 192.168.3.0/24.
Te mree su sada naznaene na sljedeoj slici:
R1
R2
R3
192.168.2.0/30
161.53.66.0/24
192.168.2.0/24
161.53.65.0/24
192.168.3.0/30
192.168.3.0/24
Kako je reeno, adrese suelja biraju se tako da pripadaju mrei na kojoj se suelje nalazi. Mrena
maska /30 doputa iskljuivo dvije adrese, te se samo treba odluiti kojem suelju e biti dodjeljena
koja od dvije raspoloive adrese. Oznake suelja R2 i R3 nisu bitna budui da njihove tablice
proslijeivanja nije potrebno slagati.
Primjetite kako se sada na slici nalazi 6 mrea! To znai da se u tablici proslijeivanja usmjernika R1
mora nalaziti 6 zapisa!
Kako R2 i R3 nisu bitni za rjeavanje zadatka to su oni uklonjeni i na sljedeoj slici prikazane su
odabrana imena suelja usmjernika R1 i njihove IP adrese:
eth0
ppp0
192.168.2.1/30
161.53.66.1
192.168.2.2/30
ppp1
192.168.3.1/30
55
192.168.3.2/30
eth1
161.53.66.1
9. Primjeri
Idui vor
Izlazno
suelje
161.53.65.0/24
eth0
161.53.66.0/24
eth1
192.168.2.0/24
192.168.2.2
ppp0
192.168.3.0/24
192.168.3.2
ppp1
192.168.2.0/30
ppp0
192.168.3.0/30
ppp1
56
9. Primjeri
Usmjernik 2
Izlazno suelje
Odredina mrea
Idui vor
Izlazno suelje
192.168.0.0/24
eth0
192.168.0.0/24
192.168.2.1
eth0
192.168.1.0/24
eth1
192.168.1.0/24
192.168.2.1
eth0
192.168.1.2
eth1
192.168.2.0/24
192.168.3.0/24
192.168.0.1
eth0
192.168.3.0/24
192.168.2.1
eth0
192.168.4.0/24
192.168.1.2
eth1
192.168.4.0/24
192.168.5.0/24
192.168.1.2
eth1
192.168.5.0/24
192.168.2.1
eth0
Idui vor
Izlazno suelje
192.168.2.0/24
Idui vor
Usmjernik 3
Odredina mrea
Usmjernik 4
Idui vor
Izlazno suelje
Odredina mrea
192.168.0.0/24
192.168.0.0/24
192.168.1.0/24
192.168.1.0/24
192.168.2.0/24
192.168.2.0/24
192.168.3.0/24
192.168.3.0/24
192.168.4.0/24
192.168.4.0/24
192.168.5.0/24
192.168.5.0/24
Rjeenje
Razlika izmeu ovog zadatka i prethodnih je u tome to se u ovom sluaju javljaju serijska suelja.
Budui da je postupak za ethernet suelja identian kao u prethodnim zadacima to e ovdje biti
navedena pojanjena samo za serijska suelja.
57
9. Primjeri
R2
R3
Rjeenje
Kako bi mogli pratiti promet na mreama moraju biti definirane sve adrese mrea, oznake suelja svih
usmjernika, adrese suelja i tablice usmjeravanja svakog od usmjernika. Na sljedeoj slici prikazane
su sve potrebne oznake za sliku iz zadatka. Dodatno su sve mree oznaene sa slovom N i rednim
brojem kako bi oznaavanje prometa na pojedinim mreama bilo jednostavnije.
N1
N2
R1
eth0
192.168.0.1
R2
N3
R3
eth0
eth1
192.168.1.1 192.168.1.2
eth1
eth0
192.168.2.1 192.168.2.2
192.168.1.0/24
192.168.2.0/24
192.168.0.0/24
N4
eth1
192.168.3.1
192.168.3.0/24
Usmjernik R2
Idui vor
192.168.0.0/24
192.168.1.0/24
0.0.0.0/0
192.168.1.2
Izlazno suelje
Odredina mrea
Idui vor
Izlazno suelje
eth0
192.168.0.0/24
192.168.1.1
eth0
eth1
192.168.1.0/24
eth0
eth1
192.168.2.0/24
eth1
192.168.3.0/24
192.168.2.2
eth0
Usmjernik R3
Odredina mrea
Idui vor
192.168.2.0/24
eth0
192.168.3.0/24
0.0.0.0/0
Izlazno suelje
eth1
192.168.2.1
eth0
58
9. Primjeri
Navedeni IP paket sadri ICMP poruku koju emo na dalje oznaavati s Echo. Osim oznake tipa
poruke ICMP teret sadri i jo nekoliko dodatnih podataka. Bitan podatak o kojemu e se voditi
evidencija tijekom rjeavanja primjera je slijedni broj poruke koji monotono raste od 1. Osim
slijednog broja u stvarnosti ping naredba koristi i identifikator, te vrijeme kada je poruka poslana.
Kada navedeni paket pristigne do R2 on na osnovu svoje tablice proslijeivanja predaje ga do vora
192.168.2.2 preko suelja eth1. Prema tome, na mrei N3 opet se vidi isti paket. Usmjernik R3
utvruje da je IP paket namijenjen njemu, tj. jednom od njegovih suelja te uzima teret iz paketa.
Prema Internet specifikacijama [RFC????] svako raunalo ili usmjernik na Internetu koje primi ICMP
Echo poruku mora odgovoriti na nju porukom Echo Response. U odgovoru treba zamijeniti izvorinu
i odredinu adresu te sauvati sve podatke koji su pristigli u ICMP Echo poruci. To znai da e R3
kreirati odgovor i proslijediti ga do R2. Dakle, na mrei N3 vidjeti e se sljedei IP paket:
N3: IP (192.168.1.1, 192.168.3.1, ICMP (EchoResponse, 1))
R2 u skladu sa svojim tablicama proslijeivanja predaje taj paket usmjerniku R1 koji utvruje kako je
paket namijenjen njemu te ga predaje naredbi ping. Naredba ping na osnovu primljenog odgovora
ispisuje informacijski redak. Taj redak sadri slijedni broj odgovora i proteklo vrijeme od slanja upita
pa do primitka odgovora.
59
9. Primjeri
R2
R3
Rjeenje
Kao i u sluaju prethodnog primjera potrebno je prvo oznaiti sve parametre na mrei kako bi se
moglo zapisivati pakete koji prolaze po mreama. Sljedea slika prikazuje odabrane parametre na
zadanoj mrei:
N1
R1
eth0
192.168.0.1
192.168.0.0/24
N2
R2
N3
eth0
eth1
192.168.1.1 192.168.1.2
eth1
eth0
192.168.2.1 192.168.2.2
192.168.1.0/24
192.168.2.0/24
N4
R3
eth1
192.168.3.1
192.168.3.0/24
Naredba traceroute(8) za svoj rad koristi UDP pakete i dvije vrste ICMP poruka, o isteku
vremenskog ogranienja te nedostinom odreditu.
Prvi paket koji naredba alje nakon pokretanja je:
N2: IP (192.168.3.1, 192.168.1.1, 1, UDP())
Paket je vidljiv na mrei N2, odredite mu je prema uvjetima zadatka desno suelje usmjernika R3
koje ima adresu 192.168.3.1, a alje se sa suelja 192.168.1.1. U sluajevima kada raunalo ili
usmjernik ima vie IP adresa tada se prilikom slanja koristi adresa suelja kroz koje paket izlazi. Trei
parametar IP paketa sadri vrijednost TTL vrijednost iz zaglavlja IP paketa. Nakon to taj paket
pristigne do R2, on prvo provjerava da li je paket namijenjen lokalnom raunalu te ako nije umanjuje
TTL. Budui da je umanjeni TTL 0 to prema specifikaciji IP protokola znai da je paketu isteklo
vremensko ogranienje i mora biti odbaen. Nakon odbacivanja paketa usmjernik generira ICMP
poruku kojom obavijetava poiljatelja da je isteklo vremensko ogranienje. Prema tome, na N2 mrei
sada se vidi sljedei paket:
N2: IP (192.168.1.1, 192.168.1.2, ICMP(TimeExceeded))
Tu obavijest prihvaa program traceroute te nakon slanja jo dva paketa ispisuje minimalno,
maksimalno i srednje vrijeme potrebno do prvog vora. Nakon toga traceroute alje sljedei IP paket:
N2: IP (192.168.3.1, 192.168.1.1, 2, UDP())
Sada je TTL uvean za 1. Nakon to taj paket pristigne do R2 on ponavlja identian postupak kao i
ranije, ali ovaj puta nakon umanjivanja TTLa za jedan on nije nula te ga na osnovu tablica
usmjeravanja alje do R3. Prema tome, na N3 mrei vidljiv je sljedei paket:
N3: IP (192.168.3.1, 192.168.1.1, 1, UDP())
Taj paket prihvaa R3 i nakon to ustanovi da je namijenjen njemu isporuuje UDP viim slojevima
jezgre operacijskog sustava. Kako na pristupu navedenom u UDP paketu ne eka niti jedna aplikacija,
60
9. Primjeri
to se generira ICMP poruka o nedostinom odreditu koja se potom vraa nazad poiljatelju. Zbog
toga se na mrei N3 vidi sljedei paket:
N3: IP (192.168.1.1, 192.168.2.1, ICMP(Unreachable, port))
Taj paket prihvaa R2 koji ga potom proslijeuje do R1 te se na mrei N2 prilikom prijenosa od R2
do R1 vidi sljedei paket:
N3: IP (192.168.1.1, 192.168.2.1, ICMP(Unreachable, port))
Na R1 tu poruku prihvaa tcpdump koji nakon to kompletnu proceduru ponovi jo dva puta ispisuje
konani vor na putu do odredita.
61
9. Primjeri
R1
eth0
192.168.0.1
192.168.0.0/24
N2
R2
N3
eth0
eth1
192.168.1.1 192.168.1.2
eth1
eth0
192.168.2.1 192.168.2.2
192.168.1.0/24
192.168.2.0/24
R3
N4
eth1
192.168.3.1
192.168.3.0/24
62
9. Primjeri
N2
R1
eth0
192.168.0.1
N3
R2
R3
eth0
eth1
192.168.1.1 192.168.1.2
eth1
eth0
192.168.2.1 192.168.2.2
192.168.1.0/24
192.168.2.0/24
192.168.0.0/24
N4
eth1
192.168.3.1
192.168.3.0/24
Rjeenje
Tablice proslijeivanja usmjernika imaju sljedei oblik:
Usmjernik R1
Odredina mrea
Usmjernik R2
Idui vor
Izlazno suelje
Odredina mrea
Idui vor
Izlazno suelje
192.168.0.0/24
eth0
192.168.1.0/24
eth0
192.168.1.0/24
eth1
192.168.2.0/24
eth1
192.168.3.0/24
tun0
0.0.0.0/0
192.168.1.2
eth1
Idui vor
Izlazno suelje
Usmjernik R3
Odredina mrea
192.168.0.0/24
tun0
192.168.2.0/24
eth0
192.168.3.0/24
eth1
0.0.0.0/0
192.168.2.1
eth0
9. Primjeri
tun0
5
4
Podatkovni sloj
eth0
Fiziki sloj sloj
eth1
Dakle, paket koji treba otii u mreu N4 upakiran je u novi IP paket ija odredina adresa je vanjsko
(lijevo) suelje usmjernika R3, a izvorina adresa je takoer vanjsko (desno) suelje usmjernika R1.
Nakon to je iskreiran novi paket se predaje na odluku o proslijeivanju na istom usmjerniku (korak
4). Ovaj puta odredina adresa 192.168.2.2 je prema tablici proslijeivanja usmjernika R1 dostupna
preko vora s adresom 192.168.1.2 na suelju eth0. Prema tome, sada paket odlazi preko suelja eth0
(korak 5) do usmjernika R2 (korak 6). To znai da je na mrei N2 vidljiv sljedei paket:
N2: IP (192.168.2.2, 192.168.1.1, IP (192.168.3.5, 192.168.0.3))
Ta suelja i njihove adrese je nuno upotrebljavati budui da su njihove IP adrese poznate svim
vanjskim usmjernicima. Tone adrese izvorita i odredita vanjskog IP paketa definiraju se prilikom
podeavanja tunela koritenjem odgovarajuih alata.
Po primitku paketa, R2 na osnovu odredine adrese i svojih tablica proslijeivanja, alje paket do R3,
te se prema tome na mrei N3 vidi sljedei paket:
N3: IP (192.168.2.2, 192.168.1.1, IP (192.168.3.5, 192.168.0.3))
Nakon to R3 prihvati paket on u jezgri operacijskog sustava prolazi put prikazan na slici 23. Paket
pristie preko suelja eth0 (korak 1), te se potom proslijeuje mrenom sloju na donoenje odluke o
proslijeivanju (korak 2). Kako je paket namijenjen samom usmjerniku uzima se njegov sadraj.
Sadraj paketa je novi IP paket koji se ponovo proslijeuje mrenom sloju na odluku o
proslijeivanju (korak 3). Rezultat odluke je da se paket proslijedi kroz suelje eth1 (korak 4)
direktno raunalu kojemu je namijenjeno (korak 5). Prema tome, na mrei N4 vidljiv je sljedei
promet:
N4: IP (192.168.3.5, 192.168.0.3)
Po primitku tog paketa, raunalo 192.168.3.5 alje odgovor, tj. sljedei paket:
N4: IP (192.168.0.3, 192.168.3.5)
Tak paket se proslijeuje usmjerniku R3 koji na osnovu svoje tablice proslijeivanja koristi za slanje
virtualni ureaj tun0. Taj ureaj na osnovu postavki upakira paket u novi IP paket sljedeeg oblika:
IP (192.168.1.1, 192.168.2.2, IP (192.168.0.3, 192.168.3.5))
Te ga ponovo proslijedi mrenom sloju. Mreni sloj na osnovu odredine adrese i tablica
proslijeivanja alje paket do R2 pa se prema tome na mrei N3 vidi sljedei promet:
64
9. Primjeri
Mreni sloj
Odluka o
proslijeivanju
3
2
eth0
eth1
Podatkovni sloj
65
9. Primjeri
R1
eth0
192.168.0.1
192.168.0.0/24
N2
R2
N3
eth0
eth1
192.168.1.1 192.168.1.2
eth1
eth0
192.168.2.1 192.168.2.2
192.168.1.0/24
192.168.2.0/24
R3
N4
eth1
192.168.3.1
192.168.3.0/24
Rjeenje
Mree se openito mogu podijeliti u dvije grupe: javne i privatne. Karakteristika javnih mrea je da
koriste javne IP adrese. Javne IP adrese moraju se zatraiti od odgovarajuih institucija i mogu se
koristiti na cijelom Internetu. Primjerice, paket nastao u jednoj od takvih mrea alje se na odredite i
tijekom cijelog svog puta izvorina adresa ostaje nepromijenjena. S druge strane, privatne mree
koriste IP adrese koje se ne smiju pojaviti na Internetu, tj. neke od mrea koje pripadaju rezerviranim
IP blokovima, primjerice 10.0.0.0/24. Kada bilo koji usmjernik na Internetu prihvati paket koji u
izvorinoj ili odredinoj adresi sadri IP adresu koja pripada nekom od rezerviranih blokova on e
odbaciti taj paket kao nelegalan. Prema tome bez nekakvih posebnih mjera privatne mree ne bi
mogle slati pakete na javne mree niti bi s javnih mrea mogli prihvaati pakete.
Za potrebe primjera mrea N1 je definirana kao privatna mrea koja koristi privatne IP adrese, dok su
N2, N3 i N4 javne mree s javnim IP adresama. Kako bi paketi s mree N1 mogli doi do mrea N2,
N3 i N4 nuno je podesiti usmjernik R1 da prikrije privatne adrese. Umjesto privatnih adresa
usmjernik R1 e koristiti adresu svog javnog suelja, je 192.168.1.1. Naime, to mora napraviti iz dva
razloga. Prvi, jer je to jedina javna adresa koju posjeduje, i drugi razlog, kada se vraaju odgovori oni
se moraju vratiti usmjerniku R1 kako bi im on potom mogao vratiti prave adrese iz privatnog raspona.
Uzmimo primjer kada raunalo s adresom 192.168.0.10 alje paket raunalu 192.168.3.10, tj. na
mrei N1 vidljiv je sljedei paket na putu do R1:
N1: IP (192.168.3.10, 192.168.0.10)
Po primitku tog paketa usmjernik R1 nakon pregleda svoje tablice proslijeivanja odluuje da e
paket poslati
66
9. Primjeri
R2
R1
eth1
192.168.1.1
R3
eth1
192.168.2.1
eth0
192.168.1.2
N1
eth0
192.168.2.2
N2
R4
eth1
192.168.3.1
eth1
192.168.4.1/24
eth0
192.168.3.2
N3
N4
N5
Rjeenje
Promet na mrei dosta ovisi o razliitim parametrima, primjerice kada su usmjernici ukljueni, kada
su dodavane pojedine mree ili brzini procesora pojedinih usmjernika. Uzmimo primjerice sluaj u
kojemu su svi usmjernici potpuno identini te su istovremeno ukljueni. U trenutku ukljuenja
algoritmi usmjeravanja imaju informacije iskljuivo o direktno povezanim mreama. Oni odmah
podatke o tim mreama oglaavaju na sve direktno spojene mree. Pri tom oglaavanju na pojedinu
mreu ne alju podatke da su spojeni na nju. Primjerice, usmjernik R1 nee na mreu N2 slati
informaciju da mu je ta mrea dostupna.
Izvravanje RIP algoritma pratiti emo uz pomo tablice sljedea oblika:
Rbr.
R1
R2
R3
R4
Dakle, tablica sadri kolonu za svaki usmjernik na mrei, a takoer kolonu u kojoj se vodi informacija
o svakom koraku algoritma (Rbr.). Budui da u tekstu primjera nita nije reeno o vremenima slanja
informacija pojedinih usmjernika, dodatno emo pojednostavili praenje izvravanja algoritma
koritenjem pretpostavke da svi usmjernici rade sinkrono. Algoritam je iterativan pri emu se svaki
korak sastoji od dvije faze. U prvoj fazi razmjenjuju se tablice usmjeravanja, dok u drugoj fazi svaki
usmjernik na osnovu primljenih informacija modificira svoju tablicu usmjeravanja.
Dakle, odmah nakon ukljuenja usmjernika oni su u inicijalnom stanju u kojemu su im poznate samo
njihove direktno povezane mree:
Rbr.
0.
R1
R2
R3
R4
N1, 0
N2, 0
N2, 0
N3, 0
N3, 0
N4, 0
N4, 0
N5, 0
Mree u tablicama navodimo simbolikim imenima umjesto IP adresama radi manje koliine pisanja.
Svaka direktno povezana mrea ima definiranu udaljenost 0.
Nakon inicijalizacije kree razmjena podataka o mreama. Na mrei N1 usmjernik R1 alje svoje
podatke, tj. sljedei IP paket:
N1: IP (RIP2, 192.168.0.1, UDP(RIP((192.168.1.0/24, 1))))
Taj IP paket, kao i svaki drugi koji sadri podatke RIP protokola, alje se na posebnu adresu koja je u
ovom sluaju oznaena kao RIP2. To je adresa koja oznaava sve RIP usmjernike na mrei. Podaci
RIP protokola upakirani su u UDP paket, a sastoje se od liste parova. Svaki par sadri odredinu
mreu i cijenu slanja do navedene mree. Slino, na ostalim mreama vide se sljedei IP paketi:
N2: IP (RIP2, 192.168.1.1, UDP(RIP((192.168.0.0/24, 1))))
N2: IP (RIP2, 192.168.1.2, UDP(RIP((192.168.2.0/24, 1))))
67
9. Primjeri
R1
R2
R3
R4
0.
N1, 0
N2, 0
N2, 0
N3, 0
N3, 0
N4, 0
N4, 0
N5, 0
1.
N3, 1, R2
N1, 1, R1
N4, 1, R3
N2, 1, R2
N5, 1, R4
N3, 1, R3
U toj tablici dodan je redak za prvu iteraciju algoritma, pri emu je izvrena samo prva faza razmjene
podataka. Za svaki primljeni paket dodan je jedan zapis usmjerniku koji ga je prihvatio. Primjerice,
R1 je prihvatio paketa:
N2: IP (RIP2, 192.168.1.2, UDP(RIP((192.168.2.0/24, 1))))
koji je u tablici zapisao kao ureena trojka (N3, 1, R2). Skraeno je zapisano kako je R2 poslao
informaciju o mrei N3 ija udaljenost je 1 i do koje se moe doi koritenjem R2 usmjernika.
U drugoj fazi svakog koraka algoritma vri se analiza pristiglih podataka na osnovu kojih se auriraju
tablice usmjeravanja. Stanje nakon analize prikazano je u sljedeoj tablici:
Rbr.
R1
R2
R3
R4
0.
N1, 0
N2, 0
N2, 0
N3, 0
N3, 0
N4, 0
N4, 0
N5, 0
1.
N3, 1, R2
N1, 1, R1
N4, 1, R3
N2, 1, R2
N5, 1, R4
N3, 1, R3
N1, 0
N2, 0
N3, 1, R2
N1, 1, R1
N2, 0
N3, 0
N4, 1, R3
N2, 1, R2
N3, 0
N4, 0
N5, 1, R4
N3, 1, R3
N4, 0
N5, 0
Oito je kako sada R1 zna za mree N1, N2 i N3, zatim R2 zna za mree N1, N2, N3 i N4, itd. U
iduem koraku algoritma ponovo se razmjenjuju podaci. Ovaj puta dolazi do izraaja pravilo
raspodijeljenog horizonta (engl. split horizon). Naime, usmjernik ne alje podatke o mrei usmerniku
od kojega je prihvatio informaciju. Primjerice, R1 ima informaciju od mrei N3 do koje moe doi
preko usmjernika R2. On nee slati tu informaciju nazad do R2 kako bi se izbjegao problem
odbrojavanja do beskonanosti.
Rbr.
1.
2.
R1
R2
R3
R4
N3, 1, R2
N1, 1, R1
N4, 1, R3
N2, 1, R2
N5, 1, R4
N3, 1, R3
N1, 0
N2, 0
N3, 1, R2
N1, 1, R1
N2, 0
N3, 0
N4, 1, R3
N2, 1, R2
N3, 0
N4, 0
N5, 1, R4
N3, 1, R3
N4, 0
N5, 0
N3, 1, R2
N4, 2, R2
N1, 1, R1
N4, 1, R3
N5, 2, R3
N1, 2, R2
N2, 1, R2
N5, 1, R4
N2, 2, R3
N3, 1, R3
U iduoj fazi analizira se pristigli promet te je stanje pojedinih usmjernika prikazano u sljedeoj
tablici:
68
9. Primjeri
Rbr.
2.
R1
R2
R3
R4
N3, 1, R2
N4, 2, R2
N1, 1, R1
N4, 1, R3
N5, 2, R3
N1, 2, R2
N2, 1, R2
N5, 1, R4
N2, 2, R3
N3, 1, R3
N1, 0
N2, 0
N3, 1, R2
N4, 2, R2
N1, 1, R1
N2, 0
N3, 0
N4, 1, R3
N5, 2, R3
N1, 2, R2
N2, 1, R2
N3, 0
N4, 0
N5, 1, R4
N2, 2, R3
N3, 1, R3
N4, 0
N5, 0
Konano, slijedi zadnja razmjena i analiza pristiglih podataka te se nakon toga mrea stabilizira.
Rbr.
1.
2.
R1
R2
R3
R4
N3, 1, R2
N4, 2, R2
N1, 1, R1
N4, 1, R3
N5, 2, R3
N1, 2, R2
N2, 1, R2
N5, 1, R4
N2, 2, R3
N3, 1, R3
N1, 0
N2, 0
N3, 1, R2
N4, 2, R2
N1, 1, R1
N2, 0
N3, 0
N4, 1, R3
N5, 2, R3
N1, 2, R2
N2, 1, R2
N3, 0
N4, 0
N5, 1, R4
N2, 2, R3
N3, 1, R3
N4, 0
N5, 0
N3, 1, R3
N4, 2, R3
N5, 3, R3
N1, 1, R1
N4, 1, R3
N5, 2, R3
N1, 2, R2
N2, 1, R2
N5, 1, R4
N1, 3, R3
N2, 2, R3
N3, 1, R3
N1, 0
N2, 0
N3, 1, R3
N4, 2, R3
N5, 3, R3
N1, 1, R1
N2, 0
N3, 0
N4, 1, R3
N5, 2, R3
N1, 2, R2
N2, 1, R2
N3, 0
N4, 0
N5, 1, R4
N1, 3, R3
N2, 2, R3
N3, 1, R3
N4, 0
N5, 0
69
9. Primjeri
(1,1) (1,1)
(2,1) (1,1)
(3,1)
(2,1)
(2,1) (1,1)
(3,1)
(2,1)
(1,1)
D
(2,1)
(1,1)
(3,1) (3,1)
(2,1)
Rjeenje
Protokol OSPF koristi pouzdano preplavljivanje (engl. reliable flooding) za distribuciju podataka o
raunalnoj mrei. Svaki usmjernik alje usmjernike LSA (engl. router LSA) poruke koje sadre
podatke o njegovim sueljima te usmjernicima i mreama spojenim na njih. Nakon nekog vremena
svi usmjernici u mrei imat e identinu bazu koja opisuje topologiju mree. Na osnovu te baze
raunaju se najkrae udaljenosti u mrei te se podeavaju tablice proslijeivanja usmjernika.
Kako bi opisali nain na koji se razmjenjuju podaci o usmjernicima i mreama, uzmimo primjer kada
usmjernik E alje svoj LSA. Jednostavnosti radi pretpostaviti emo kako je vrijeme slanja pojedinih
LSA paketa, kao i vrijeme obrade u usmjernicima identino. S tom pretpostavkom u trenutku T=1
imamo sljedeu situaciju:
A
RLSA
RLSA
RLSA
Dakle, usmjernik E alje svoj LSA koji za potrebe primjera ima sljedei oblik:
RLSA (E, 1, (1, 1, A), (2, 1, B), (3, 1, F))
LSA se prenosi direktno u IP paketu meutim to je u ovom primjeru zanemareno. Nadalje, svaki LSA
nosi dosta vie informacija to je takoer zanemareno. Nisu zanemareni podaci o usmjerniku koji je
kreirao LSA (prvi parametar, usmjernik E), slijednom broju LSA (drugi parametar, slijedni broj 1), te
podaci o sueljima i prikljuenim usmjernicima. Kako je usmjernik E spojen na tri druga usmjernika
to se nose informacije o tip spojevima u tri ureene trojke. Prvi lan je indeks suelja usmjernika,
drugi lan je cijena slanja preko tog suelja i konano, trei lan predstavlja usmjernik koji se nalazi
na drugom kraju suelja.
Nakon to su LSA prihvatili A, B i F, oni ga alju dalje pri emu ne alju na suelje na koje su
prihvatili LSA. Dakle, u T=2 imamo sljedei promet na mrei:
70
9. Primjeri
RLSA
D
RLSA
RLSA
RLSA
RLSA
RLSA
RLSA
ack
ack
ack
D
ack
ack
F
ack
Nakon to svi usmjernici poalju svoje LSAove i razmjene podatke, svaki usmjernik e imati sljedeu
bazu:
RLSA (A, 1, (1, 1, B), (2, 1, E))
RLSA (B, 1, (1, 1, A), (2, 1, C), (3, 1, E))
RLSA (C, 1, (1, 1, B), (2, 1, D), (3, 1, F))
RLSA (D, 1, (1, 1, C), (2, 1, F))
RLSA (E, 1, (1, 1, A), (2, 1, B), (3, 1, F))
RLSA (F, 1, (1, 1, C), (2, 1, D), (3, 1, E))
Na osnovu te baze usmjernik rauna najkrae puteve u mrei i potom podeava tablice
proslijeivanja.
71
9. Primjeri
Tok 1
Tok 2
Tok 3
Rjeenje
Od tri toka, prvi je rezervirao, tj. najavio, 0.5 paketa po vremenskoj jedinici, a druga dva su najavila
0.2 paketa po jedinici vremena. Kako je ukupan tok to ga generiraju sva tri toka 0.9 paketa u jedinici
vremena, tj. manje od 1 to znai da e usmjernik biti u stanju opsluivati navedene tokove.
Kada se svi tokovi pridravaju svoje specifikacije redoslijed dolazaka paketa i njihov odlazak
prikazan je na sljedeoj slici:
Tok 1
Tok 2
Tok 3
FIFO Izlaz
period
Dakle, javlja se odreeno kanjenje no ipak svakom toku poslan je paket prije nailaska idueg paketa.
Meutim, u sluaju kada se neki od tokova ne pridrava svoje specifikacije FIFO metoda slanja
pokazuje svoje mane. Na iduoj slici prikazana je situacija kada tokovi 2 i 3 ponu slati pakete bre
od navedene specifikacije:
72
9. Primjeri
Tok 1
Tok 2
Tok 3
FIFO Izlaz
period
Oito je kako tijekom jednog perioda raspodjela vie nije pravina, tj. tokovi 2 i 3 poinju bre slati
pakete i zahvaljujui tome zauzimaju vie izlaznog kapaciteta usmjernika na tetu toka 1.
Dodatna posljedica nepotivanja specifikacija tokova 2 i 3 je porast reda u spremniku usmjernika koji
e u jednom trenutku dovesti do njegova prepunjenja i odbacivanja dolaznih paketa. Ukratko, u
usmjerniku nastaje zakrenje.
73
9. Primjeri
Tok 1
Tok 2
Tok 2
Tok 3
Tok 3
Rjeenje
Algoritam virtualnog sata pokuava emulirati sustav u kojemu se za prijenos upotrebljava TDM. U
sluaju takvog sustava paketi prikazani na slikama bi imali slijedei redoslijed slanja:
Algoritam virtualnog sata za svaki pristigli paket rauna pridodjeljenu varijablu stanja. Ta varijabla
stanja je u stvari vrijeme kada paket treba napustiti sustav u kojemu se upotrebljava TDM. Varijabla
stanja se rauna na osnovu sljedeeg izraza:
auxVC ki , j max {aki , j ,auxVC ik1
, j }Vtick i , j
auxVC, skraeno od auxiliary Virtual Clock, je vrijednost koja se potom pridodjeljuje svakom paketu.
U izrazu indeks i oznaava usmjernik u kojemu se obavlja auriranje varijable, indeks j oznaava tok
k
na koji se varijabla odnosi i k oznaava pojedini paket toka. a i , j je vrijeme dolaska k-tog paketa toka
j do preklopnika i. Vtick i , j se izraunava na osnovu prosjene koliine prometa koju generira j-ti tok.
Kako se u ovom primjeru prati izvravanje algoritma samo unutar jednog usmjernika nije nuno
voditi evidenciju o usmjerniku, te se gornji izraz malo pojednostavljuje:
auxVC kj max {akj ,auxVC kj 1 }Vtick j
Prema uvijetima danim u primjeru prvi tok je specificirao prosjeno 0.5 paketa/s pa je Vtick 1=2 , a
tokovi 2 i 3 su specificirali 0.2 paketa/s pa je njihov Vtick 2=Vtick 3=5 . Inicijalno svi imaju auxVC
jednak nuli. Sada dolazak i odlazak paketa moemo pratiti uz pomo tablice 11.
Prva kolona tablice sadri informaciju o vremenskom trenutku na koji se redak odnosi. Dodatno se u
tablici nalaze podaci za svaki pojedini tok nailazak pojedinog paketa (kolona F) i izraunati
auxVC kj . Vrijeme poinje u nekom nultom trenutku i sve varijable auxVC prije tog trenutka
postavljamo na nulu. U svakoj koloni tablice sa zaglavljem Fi vodi se evidencija o prispjeu paketa za
tok i. Primjerice, kada je jedinica u retku koji pripada trenutku 2 i stupcu sa zaglavljem F1, to znai da
je u 2. trenutku pristigao paket koji pripada prvom toku i da je paket veliine 1 jedinice.
Nakon to pristigne svaki paket, rauna se novi auxVC te se njegova vrijednost pridodjeljuje paketu.
U tablici nisu posebno voene auxVC vrijednosti za pojedini paket budui da se oni lako iitaju.
Potrebno je samo za odgovarajui paket pogledati eliju desno od njega i to je vrijednost auxVC-a za
2
taj paket. Za drugi paket 1. toka, koji dolazi u 2. trenutku, vrijednost varijable a1 je 2. Pa je prema
2
tome auxVC 1 :
74
9. Primjeri
Analogan postupak raunanja primjenjen je i za svaki drugi pristigli paket svih tokova. Kada
preklopnik treba poslati neki paket on pregledava sve pakete koji su tog trenutka u spremniku i alje
paket koji ima najmanji auxVC. U sluaju da je vie takvih paketa, proizvoljno je odabrano da se alje
onaj paket iji indeks toka je manji. U koloni za izlaz iz mrenog ureaja koristi se notacija i(T). i je
indeks toka iji paket se alje, a u zagradi je vrijeme kada je taj paket pristikao u preklopnik.
Primjerice, u 7. trenutku alje se paket oznaen s 3(5), tj. alje se paket 3. toka koji je u preklopnik
pristigao u 5. trenutku.
Tablica 11. Izlazi iz usmjernika kada svi tokovi potivaju svoje specifikacije
T
0
0
0
1
0
1
1
2
1(2)
3(0)
5
6
1(4)
1
10
10
2(5)
1(6)
7
8
1(0)
2(0)
3
4
Izlaz
3(5)
1
10
12
1(8)
9
10
15
15
11
12
2(10)
1
14
1(12)
13
14
3(10)
1
16
15
16
1(10)
1(14)
1
20
18
20
2(15)
1(18)
U sluaju kada tokovi 2 i 3 ne potivaju svoju specifikaciju, tj. alju pakete daleko bre no to su
naveli, tada izvravanje algoritma daje izlaz iz usmjernika prikazan u tablici 12.
75
9. Primjeri
0
0
0
1
0
1
1
2
10
10
15
15
20
20
10
25
25
12
30
30
14
35
35
1(12)
2(6)
16
40
40
15
16
1(10)
3(4)
13
14
1(8)
2(6)
11
12
1(6)
3(2)
9
10
1(4)
2(2)
7
8
1(2)
3(0)
5
6
1(0)
2(0)
3
4
Izlaz
1(14)
3(6)
18
45
76
45
1(16)
9. Primjeri
Rjeenje
77
9. Primjeri
Rjeenje
78
9. Primjeri
Rjeenje
79
9. Primjeri
Rjeenje
80
9. Primjeri
Rjeenje
81
10. Literatura
[RFC0791]
[RFC0792]
Postel, John, Internet Control Message Protocol Darpa Internet Program Protocol
Specification, RFC792, IETF, September 1981.
http://www.ietf.org/rfc/rfc0792.txt?number=792
[RFC1058]
[RFC1631]
Egevang, K., Francis, P., The IP Network Address Translator (NAT), RFC1631, IETF,
May 1994.
http://www.ietf.org/rfc/rfc1631.txt?number=1631
[RFC1701]
Hanks, S., Li, T., Farinacci, D., Traina, P., Generic Routing Encapsulation, RFC1701,
IETF, October 1994.
http://www.ietf.org/rfc/rfc1701.txt?number=1701
[RFC1702]
Hanks, S., Li, T., Farinacci, D., Traina, P., Generic Routing Encapsulation over IPv4
Networks, RFC1702, IETF, October 1994.
http://www.ietf.org/rfc/rfc1702.txt?number=1702
[RFC2003]
[RFC2453]
[RFC2460]
Deering, S., Hinden, R., Internet Protocol, Version 6 (IPv6) Specification, RFC2460,
IETF, December 1998.
http://www.ietf.org/rfc/rfc2460.txt?number=2460
[RFC3513]
Hinden, R., Deering, S., Internet Protocol Version 6 (IPv6) Addressing Architecture,
RFC3513, IETF, April 2003.
http://www.ietf.org/rfc/rfc3513.txt?number=3513
[ZHAN95]
Zhang, Hui, Service Disciplines For Guaranteed Performance Service in PacketSwitching Networks, Proc. of the IEEE, Vol. 83, No. 10, October 1995, pp 1374-1396.
[ZHAN90]
Zhang, Lixia, VirtualClock: A New Traffic Control Algorithm for Packet Switching
Networks, 1990.
[MICH98]
[BENN96]
Bennet, J. C. R., Zhang, H., WF2Q: Worst-case Fair Weighted Fair Queueing,
INFOCOM, 1996, pp. 120-128.
[MCKE91]
[GOYA96]
Goyal, P., Vin, H. M., Cheng, H., Start-time Fair Queuing: A Scheduling Algorithm
for Integrated Services Packet Switching Networks, Technical Report TR-96-02,
Department of Computer Sciences, University of Texas at Austin.
[GOYA??]
Goyal, P., Guo, X., Vin, H. M., A Hierarchical CPU Scheduler for Multimedia
Operating Systems.
10. Literatura
[AURR??]
[RFC2391]
[RFC2428]
FTP Extensions for IPv6 and NATs. M. Allman, S. Ostermann, C. Metz. September
1998. (Format: TXT=16028 bytes) (Status: PROPOSED STANDARD)
[RFC2663]
[RFC2709]
Security Model with Tunnel-mode IPsec for NAT Domains. P. Srisuresh. October
1999. (Format: TXT=24552 bytes) (Status: INFORMATIONAL)
[RFC2766]
[RFC2993]
[RFC3022]
[RFC3235]
[RFC3489]
[RFC3519]
[RFC3715]
83