57
UNIVERZITET U BIHAĆU TEHNIČKI FAKULTET Elektrotehnički odsjek Informatika Seminarski rad iz predmeta: Osnove telekomunikacija Tema: Internetworking, familija protokola TCP/IP, IP protokol funkcionalnost i format paketa, IP adrese, subnetting i supernetting. ARP protokol, routing u internetu, autonomni sistemi. Interior gateway protokoli: RIP, OSPF. Exterior gateway protokoli: BGP. Student: Br. Indexa: Profesor: Igor Prša 173 Doc.dr. Mesud Hadžialić

Tcpip, Rip, Ospf, Bgp - 1.1

Embed Size (px)

Citation preview

Page 1: Tcpip, Rip, Ospf, Bgp - 1.1

UNIVERZITET U BIHAĆU TEHNIČKI FAKULTET Elektrotehni čki odsjek Informatika

Seminarski rad iz predmeta:

Osnove telekomunikacija

Tema: Internetworking, familija protokola TCP/IP, IP protokol funkcionalnost i format paketa,

IP adrese, subnetting i supernetting. ARP protokol, routing u internetu, autonomni sistemi. Interior gateway protokoli: RIP, OSPF. Exterior gateway protokoli: BGP.

Student: Br. Indexa: Profesor: Igor Prša 173 Doc.dr. Mesud Ha džiali ć

Page 2: Tcpip, Rip, Ospf, Bgp - 1.1

ii

Brihadaranyaka Upanishad 1.3.28.

Page 3: Tcpip, Rip, Ospf, Bgp - 1.1

iii

Sadržaj Uvod ........................................................................................................................... 1

1. Osnovni pojmovi ..................................................................................................... 2

2. TCP/IP paket protokola........................................................................................... 4

2.1. TCP/IP ARP protokol i povezivanje adresa................................................................. 6

3. Internet protokol...................................................................................................... 8

3.1. IP adresiranje ............................................................................................................. 9

3.1.1. Tipovi IP adresiranja ...........................................................................................11

3.1.2. Subnet adresiranje „Subnetting“..........................................................................12

3.1.3. Adresiranje bez klasa – CIDR „Supernetting“......................................................14

3.2. IP datagram...............................................................................................................17

3.2.1. Enkapsuliranje IP datagrama ..............................................................................17

3.2.2. Format IP datagrama..........................................................................................18

3.2.3. Opcije za IP datagram ........................................................................................20

4. Rutiranje u internetu ............................................................................................. 21

4.1. Arhitektura jezgra (core arhitecture)...........................................................................21

4.2. Arhitektura autonomnih sistema (Autonomous System Arhitecture)...........................22

4.3. Vrste protokola za rutiranje ........................................................................................23

4.4. Algoritmi za rutiranje ..................................................................................................24

4.4.1. Bellman-Ford algoritam (distance-vector pristup)................................................25

4.4.2. Dijkstra algoritam (link-state pristup) ...................................................................28

4.4.3. Usporedba Bellman-Ford i Dijkstra algoritama....................................................31

4.5. RIP routing protokol ...................................................................................................31

4.5.1. Način rada, poruke i timeri u RIP-u .....................................................................32

4.5.2. Ograničenja i problemi u RIP-u ...........................................................................33

4.5.3. Ugrañene osobine za rješavanje problema .........................................................34

4.6. OSPF routing protokol ...............................................................................................35

4.6.1. Osnovna topologija OSPF-a i Link State Database (LSDB) ................................35

4.6.2. Hijerarhijska topologija OSPF-a, područja i uloge rutera .....................................36

4.6.3. Odreñivanje ruta korištenjem stabla najkraćeg puta (SPF Tree) .........................37

4.6.4. OSPF poruke......................................................................................................39

4.7. BGP gateway protokol ...............................................................................................40

4.7.1. BGP topologija i odnosi meñu susjednim ruterima ..............................................40

4.7.2. Tipovi autonomnih sistema u BGP-u i protok prometa ........................................41

4.7.3. BGP Routing Information Bases (RIBs) ..............................................................42

4.7.4. BGP atributi ........................................................................................................43

Page 4: Tcpip, Rip, Ospf, Bgp - 1.1

iv

4.7.5. Odreñivanje rute i proces odlučivanja .................................................................45

4.7.6. BGP poruke ........................................................................................................46

4.8. Kvalitet servisa (Quality Of Service)...........................................................................47

4.8.1. QoS modeli .........................................................................................................49

4.8.2. Mehanizmi za implementaciju QoS. ....................................................................50

Zaključak .................................................................................................................. 52

Literatura .................................................................................................................. 53

Page 5: Tcpip, Rip, Ospf, Bgp - 1.1

1

Uvod

Sa ciljem da rad obuhvati sve cjeline navedene teme struktura rada će biti podijeljena na više cjelina različitih po svojoj složenosti i tematici. Cjeline koje su navedene u temi rada će biti racionalizirane i reorganizirane u meñusobno povezane cjeline, koje počevši od osnovnih pojmova postepeno prelaze u detaljnije opise.

Prva cjelina rada treba da pruži opći uvod u internet i mrežne tehnologije i pripadajuću stručnu terminologiju koja predstavlja osnovu za dalje razumijevanje rada. Zbog opširnosti stručne terminologije, ovaj rad će uključivati samo pojmove koji su ili opći i osnovni (tj. sveprisutni u žargonu) ili specifični za neku cjelinu rada te neophodni za razumijevanje.

Druga cjelina rad će obrañivati TCP/IP paket protokola kao cjelinu, te dati osnovne opise protokola koji ulaze u sastav TCP/IP-a. Posebni osvrt će biti na ARP protokol, tj. na protokol čija je zadaća razrješavanje adresa u TCP/IP mrežama.

Treća cjelina će se u potpunosti odnositi na Internet protokol (IP). Unutar ove cjeline biti će uključeno i razmatranje načina adresiranja ureñaja u IP mrežama, tehnologija dijeljenja mreža na podmreže te adresiranje bez klasa. Takoñer, u cjelinu po strukturi rada biti će uključen i opis samog Internet protokola, formata paketa i principa enkapsuliranja.

Prema strukturi navedenih cjelina rada, najveći sadržaj i težište ovog rada se odnosi na najčešće korištene protokole za rutiranje koji se nalaze u TCP/IP paketu protokola tj. RIP, OSPF i BGP. Zbog te činjenice četvrti dio rada će biti sastavljen od sljedećih cjelina:

- Uvod i objašnjenje pojma rutiranja,

- Mrežne arhitekture i njihov utjecaj na rutiranje,

- Opći uvod u protokole za rutiranje i algoritme koje koriste,

- RIP protokol za rutiranje,

- OSPF protokol za rutiranje,

- BGP protokol za rutiranje,

- Kvaliteta servisa (QoS).

Svaka od gore navedenih cjelina, će prema složenosti biti podijeljena u manje cjeline, pri čemu, zbog same forme rada, se neće ulaziti u previše detalja, tako da se ne naruši preglednost rada.

Page 6: Tcpip, Rip, Ospf, Bgp - 1.1

2

1. Osnovni pojmovi

Jedan od razloga što su računarske mreže tako moćne je u tome što se one mogu koristiti ne samo za povezivanje računara, nego i za povezivanje grupa računara. Pa je time moguće postojanje mrežnih veza na više nivoa. Ovo znači da se velika mreža može opisati kao da se sastoji od više manjih mreža ili čak dijelova mreža, spojenih zajedno. Razlog zašto je ovaj koncept važan leži u činjenici da je pojedine tehnologije najlakše objasniti gledajući na cjelokupnu mrežu sa visokog nivoa, dok druge zahtijevaju da objasnimo na niskom nivou kako pojedini dijelovi mreže rade.

Tokom vremena nastala je grupa termina kojim se opisuju relativne veličine većih i manjih mreža. U daljem tekstu su date kraće definicije pojedinih pojmova.

Mreža (network) – ovo je najmanje specifičan termin on navedenih. U osnovi, mreža može biti bilo koje veličine, od dva ureñaja do više hiljada. Kada mreže postanu veoma velike i organizacijski se jasno sastoje od manjih mreža vezanih zajedno, obično se više ne zovu mreže nego se koristi termin intermreža (internetworks).

Podmreža (subnetwork, subnet) – podmreža je dio mreže, ili mreža koja je dio veće intermreže. Izvedeni termin subnet može se generički odnositi na podmrežu, ali takoñer ima specifično značenje u odnosu prema TCP/IP adresiranju.

Segment (network segment) – predstavlja mali dio mreže, termin sugerira da se radi o nečem manjem od podmreže. Mreže su obično izvedene tako da su, iz razloga efikasnosti, računari grupirani u isti mrežni segment meñusobno bliski ili ih koristi ista grupa ljudi. Segment se takoñer može odnositi na odreñeni dio kabela ili više njih, koji su povezani električki i predstavljaju jedinstvenu domenu sudara.

Intermreža (internetwork, internet) – ovaj pojam se odnosi na velike mrežne strukture koje nastaju povezivanjem mreža. U nekim tehnologijama intermreža je samo veoma velika mreža koja ima kao komponente mreže. U drugim, mreža se razlikuje od intermreže na osnovu broja ureñaja koji su povezani.

Internet je definiran ne samo kao računari koji su meñusobno povezani na cijelom svijetu, nego kao i grupa servisa i mogućnosti koje on pruža. Takoñer, internet definira i specijalan način izvoñenja poslova, dijeljenja informacija i resursa izmeñu ljudi i kompanija.

Termin intranet je skovan kako bi pokazivao na internu mrežu koja funkcionira kao privatni internet, iz čega slijedi da je većina intranet mrežnih struktura istovremeno i intermreža. Ako je intranet proširen tako da dozvoljava pristup ne samo iz organizacije u kojoj se nalazi, već i ljudima ili grupama ljudi izvan organizacije, obično se naziva extranet.

Ono što veže ove koncepte u jedno cjelinu je da svi koriste internet tehnologije u svom radu, pod ovim se obično misli na TCP/IP paketu protokola kao definirajuću tehnologiju interneta zajedno sa grupom servisa koji su dostupni na internetu.

Mrežni protokol je skup standardnih pravila za prikaz, signalizaciju, i ovjeravanja podataka, te provjeravanje od grešaka koje je potrebno izvršiti da bi se podatak uopće poslao. Protokoli su standardi koji omogućavaju računarima da komuniciraju preko mreže. Specifikacija protokola obično uključuje :

• format poruke koja se prenosi; • tretman greške u komunikaciji.

Page 7: Tcpip, Rip, Ospf, Bgp - 1.1

3

Za različite komunikacije postoje i različiti protokoli , ali svi koegzistiraju unutar fizičke implementacije mreže. Grupiranje protokola se vrši u 7 različitih nivoa po tzv. OSI modelu. Najviši nivo je aplikacijski, a najniži su protokoli koji se bave implementacijom komunikacije na fizičkom nivou.

TCP/IP je uobičajena oznaka grupe protokola koju još nazivamo IP paket protokola. Naziv je ova grupa protokola dobila prema dva najvažnija protokola iz te skupine: TCP i IP protokolu. TCP/IP omogućuje komunikaciju preko raznih meñusobno povezanih mreža i danas je najrasprostranjeniji protokol na lokalnim mrežama, a takoñer se na njemu zasniva i globalna mreža Internet.

Internet Protokol je protokol za komunikaciju izmeñu izvora i korisnika preko Internet mreže. Podaci preko IP-a se šalju u paketima i to samo izmeñu rutera. Internet protokol je nepouzdan, jer ne osigurava da će paket podataka biti u ispravnom stanju ili, u najgorem slučaju, hoće li uopće doći.

IP protokol verzija 4, ili kraće IPv4 je najrašireniji IP protokol na Internetu. Pojedine verzije IP protokola se razlikuju po načinu adresiranja, izgledu zaglavlja paketa ali i brojnim drugim detaljima. Najvažnija karakteristika IPv4 protokola je da koristi 32-bitnu IP adresu, tj. propisana duljina svake IP adrese u ovoj verziji protokola je 32 bita.

Svaki ureñaj na mreži se identificira pomoću IP adrese. Često se ova 32 bita označavaju sa četiri decimalna broja odijeljena tačkama, npr. 192.168.1.21. IP adresa ima dva dijela: mrežni prefiks koji identificira mrežu i broj hosta koji odreñuje pojedini ureñaj na mreži. U zavisnosti od mrežnog prefiksa, mreže se dijele u pet klasa: A, B, C, D i E. U upotrebi su prve tri klase koje se meñusobno razlikuju prema broju hostova koje mogu imati i opsegu adresa na osnovu koji se utvrñuje veličina mrežnog prefiksa.

Suvremeni internet podrazumijeva dvoslojno rutiranje, granica izmeñu dva sloja je definirana pojmom autonomnog sistema. Autonomni sistem čini dio mreže, odnosno skup rutera čiji nadzor, upravljanje i održavanje obavlja jedna institucija. Interno rutiranje je usmjeravanje datagrama unutar autonomnog sistema, precizno ka odredištu koje može biti mreža ili računar unutar autonomnog sistema. Eksterno rutiranje je grubo usmjeravanje datagrama izmeñu pojedinih autonomnih sistema od polaznog ka odredišnom autonomnom sistemu. Za razmjenu informacija i tabela rutiranja za eksterno odnosno interno rutiranje ruteri koriste različite protokole.

Page 8: Tcpip, Rip, Ospf, Bgp - 1.1

4

2. TCP/IP paket protokola

Pošto TCP/IP predstavlja paket protokola, obično se o njemu govori u terminima od kojih se protokola sastoji. Svaki se protokol nalazi u odreñenom sloju TCP/IP modela i obavlja odreñenu podgrupu od ukupnog broja funkcija potrebnih za izvedbu TCP/IP mreže ili aplikacije. Protokoli rade zajedno kako bi omogućili rad TCP/IP mreže kao cjeline.

Postoji mali broj TCP/IP protokola za koje se obično kaže da čine jezgru paketa protokola, jer su odgovorni za osnovne operacije. U ove protokole se uključuju: Internet Protocol (IP), Transmission Control protocol (TCP) i User Datagram Protocol (UDP). Na sljedećoj slici je prikazana osnovna organizacija TCP/IP protokola u pojedinim slojevima TCP/IP modela.

Slika 2.1. Shematski prikaz TCP/IP protokola unutar OSI modela.

SLIP (Serial Line Internet Protocol) – pruža osnovnu TCP/IP funkcionalnost kreiranjem veze na nivou 2 izmeñu dva ureñaja povezana serijskom linijom.

PPP (Point-to-Point Protocol) – pruža vezu kao i SLIP ali je mnogo moćniji. PPP u stvari predstavlja skupinu protokola (podprotokola) koji omogućuju funkcije kao što su autentifikacija, enkapsuliranje podataka, enkripciju i agregaciju.

ARP (Address Resolution Protocol) – koristi se za mapiranje IP adresa iz sloja 3 na fizičke mrežne adrese sloja 2.

RARP (Reverse Address Resolution Protocol) – odreñuje za ureñaj adresu iz sloja 3 na osnovu adrese iz sloja 2. U sadašnje vrijeme se za ovu funkciju koriste BOOTP i DHCP protokoli.

Page 9: Tcpip, Rip, Ospf, Bgp - 1.1

5

IP, IPv6 (Internet Protocol, Internet Protocol Version 6) – pruža enkapsulaciju i isporuku bez povezivanja poruka iz transportnog sloja preko TCP/IP mreže. Takoñer odgovoran za funkcije adresiranja i rutiranja.

IP NAT (IP Network Address Translation) – omogućava automatsko prevoñenje adresa na privatnoj mreži u drugačije adrese u javnoj mreži, čime pruža mogućnost dijeljenja adresa i sigurnosne pogodnosti.

IPSec (IP Security) – grupa protokola povezanih sa IP-om koji unapreñuju sigurnost IP prijenosa.

ICPM (Internet Control Message Protocol) – protokol koji pruža mogućnosti prijave grešaka i zahtjev-odgovor sinhronizacije za IP protocol.

RIP, OSPF, GGP, HELLO, IGRP, EIGRP, BGP, EGP – protokoli korišteni za rutiranje IP datagrama i izmjenu informacija o rutama.

TCP (Transmission Control Protocol) – glavni protokol u transportnom sloju TCP/IP-a. Uspostavlja i upravlja vezama izmeñu ureñaja i osigurava pouzdan i tok kontroliran prijenos podataka koristeći IP.

UDP (User Datagram Protocol) – transportni protokol koji se koristi za slanje podataka na jednostavan način izmeñu aplikacijskih procesa, bez mnogih osobina za kontrolu toka i pouzdanosti prijenosa koje se nalaze u TCP-u, ali često sa većom efikasnosti.

DNS (Domain Name Server) – pruža mogućnost pozivanja IP ureñaja korištenjem imena umjesto samo numeričkih IP adresa. Omogućava ureñajima prevoñenje ovih imena u njihove odgovarajuće IP adrese.

NFS (Network File System) – pruža mogućnost dijeljenja datoteka preko TCP/IP mreže.

BOOTP (Bootstrap Protocol) – kreiran kako bi se otklonili neki problemi u RARP-u i korišten na sličan način, pružajući mogućnost konfiguracije TCP/IP ureñaja prilikom uključenja. U većini slučajeva je zamijenjen sa DHCP.

DHCP (Dynamic Host Configuration Protocol) – protokol za podešavanje TCP/IP ureñaja i upravljanje dodjelom IP adresa. Nasljednik RARP-a i BOOTP-a.

SNMP (Simple Network Managment Protocol) – protokol za udaljeno podešavanje i upravljanje mrežama i ureñajima.

RMON (Remote Monitoring) – dijagnostički protokol (dio SNMP-a) koji je koristi za udaljeno praćenje rada mrežnih ureñaja.

FTP, TFTP (File Transfer Protocol, Trivial File Transfer Protocol) – protokoli koji omogućuju prijenos svih tipova datoteka sa jednog ureñaja na drugi.

RFC 822, MIME, SMTP, POP, IMAP – protokoli koji definiraju formatiranje, isporuku i pohranjivanje poruka elektroničke pošte na TCP/IP mrežama.

NNTP (Network News Transfer Protocol) – omogućava rad Usenet online zajednica prenoseći Usenet poruke novosti izmeñu host računara.

HTTP (Hypertext Transfer Protocol) – vrši prijenos hypertext dokumenata izmeñu mrežnih ureñaja. Implementira World Wide Web.

Telnet (Telnet Protocol) – omogućava korisnicima jednog računara da uspostave udaljenu terminalnu sesiju sa drugim računarom.

IRC (Internet Relay Chat) – omogućava razmjenu tekstualnih poruka u realnom vremenu izmeñu TCP/IP korisnika.

Page 10: Tcpip, Rip, Ospf, Bgp - 1.1

6

2.1. TCP/IP ARP protokol i povezivanje adresa

Komunikacija na mreži je ostvarena slanjem podataka na sloju tri korištenjem adresa iz mrežnog sloja, ali stvarni prijenos podataka se dešava u sloju dva korištenjem adresa iz data link sloja. Ovo znači da će svaki ureñaj koji ima implementirane sve protokole, imati obje vrste adresa. Stoga je potrebno pronaći način na koji je moguće povezati te adrese zajedno. Povezivanje se obično postiže uzimajući mrežnu adresu i utvrñujući koja joj fizička adresa odgovara.

Logično pitanje koje se pojavljuje je zašto se adresiranje vrši na dva različita sloja? Odgovor je da se radi o dvije različite vrste adresa koje se koriste u različite namjene. Adrese nivoa dva (npr. IEEE 802 MAC adrese) se koriste za lokalne prijenose izmeñu ureñaja koji mogu komunicirati direktno. One se koriste za implementaciju osnovnih LAN, WLAN i WAN tehnologija. Nasuprot tome, adrese iz sloja tri se koriste za povezivanje na mreži, kako bi se stvorio ekvivalent masivne virtualne mreže na mrežnom sloju.

Najvažnija razlika izmeñu ove dvije vrste adresa je i razlika izmeñu i samih slojeva dva i tri. Sloj dva radi sa direktno povezanim ureñajima (na istoj mreži), dok sloj tri radi sa indirektno povezanim ureñajima (zajedno sa direktno povezanim).

Naravno, iako mi možemo virtualno povezati ureñaje na sloju tri, ove veze su u stvarnosti samo konceptualne. Kada se šalje zahtjev korištenjem IP protokola, on se šalje jedan po jedan skok, sa jedne fizičke mreže na sljedeću. Na svakom od ovih skokova, stvarni prijenos se radi korištenjem adresa fizičkog sloja.

Osnovni problem je da su IP adrese previše složene (visokog nivoa) da bi ih mrežni hardver uspješno razumio. Iz ovog razloga potreban je proces kojim se ove adrese mogu prevesti na niži nivo, ovaj proces se naziva Address Resolution.

Slika 2.2. Primjer problema sa utvrñivanjem adresa.

Povezivanje adresa je moguće ostvariti na dva osnovna načina:

Direktno mapiranje: korištenjem formule kojim se mapiraju adrese višeg nivoa u adrese nižeg nivoa. Ovo je jednostavna i efikasnija tehnika ali posjeduje odreñena ograničenja, posebno u odnosu na veličinu adresa iz fizičkog sloja u poreñenju sa veličinom adresa iz mrežnog sloja.

Page 11: Tcpip, Rip, Ospf, Bgp - 1.1

7

Slika 2.3. Primjer odreñivanja fizičke adrese pomoću direktnog mapiranja.

Dinamičko povezivanje: koristi specijalni protokol koji omogućuje ureñaju samo sa IP adresom da utvrdi odgovarajuću adresu iz fizičkog sloja, pa čak i ako su one potpuno različitog oblika. Obično se izvodi ispitivanjem jednog ili više ureñaja na lokalnoj mreži kako bi se utvrdila odgovarajuća fizička adresa. Ovo je složenija procedura od direktnog mapiranja ali i mnogo fleksibilnija.

Slika 2.4. Primjer odreñivanja fizičke adrese pomoću dinamičkog povezivanja.

Page 12: Tcpip, Rip, Ospf, Bgp - 1.1

8

3. Internet protokol

Iako se nalazi na drugom mjestu u nazivu TCP/IP familije protokola, internet protokol je najčešće korišteni protokol. On implementira najvažnije funkcije mrežnog sloja, što uključuje adresiranje, rukovanje sa datagramima i rutiranje, te predstavlja temelj na kojem su rañeni ostali protokoli iz TCP/IP familije. Čak je protokole koji se nalaze u nižem sloju, kao na primjer ARP i PPP, lakše razumjeti ako se zna kako internet protokol radi.

Mrežni sloj, u kojem radi internet protokol, je primarno odgovoran za prijenos i isporuku podataka, ne izmeñu ureñaja na istoj mreži, već izmeñu ureñaja koji se možda nalaze na različitim mrežama koje su povezana na proizvoljan način (intermreža). Internet protokol je mehanizam kojim se podaci šalju preko TCP/IP mreže.

Slika 3.1. Osnovna funkcija internet protokola – prijenos i isporuka datagrama.

Osnovne osobine internet protokola su:

Univerzalno adresiranje – kako bi se izvršio prijenos podataka iz tačke A u tačku B, potrebno je osigurati da ureñaji u mreži znaju odrediti koji ureñaj predstavlja tačku B. Internet protokol definira mehanizam adresiranja za mrežu i koristi ove adrese za prijenos podataka.

Nezavisan od implementacije nižih protokola - internet protokol je dizajniran da omogući prijenos podataka preko bilo kojeg tipa mreža koje podržavaju TCP/IP stog. U sebi uključuje opcije kojim se može prilagoditi zahtjevima raznih protokola nižeg nivoa kao što su Ethernet ili IEEE 802.11. Internet protokol takoñer može raditi na protokolima koji su stvoreni za njega: SLIP i PPP.

Prijenos bez čvrste veze – internet protokol radi bez uspostavljanja veze izmeñu tački koje komuniciraju preko mreže. To znači da kad ureñaj A želi poslati podatke ureñaju B, on prethodno ne stvara vezu sa tačkom B, već samo stvara i šalje datagram.

Nepouzdana isporuka – za internet protokol se kaže da je nepouzdan, što znači da prilikom slanja datagrama sa ureñaja A prema ureñaju B, ureñaj A šalje jedan datagram i onda prelazi na slijedeći pri čemu ne prati one koje je već poslao. Internet protokol ne pruža mehanizme za zaštitu od grešaka, kontrolu toka ili ponovno slanje izgubljenih datagrama.

Isporuka bez potvrde – internet protokol ne koristi potvrde o isporuci. Kada ureñaj B primi datagram od ureñaja A on ne šalje potvrdu o prijemu kojom bi rekao ureñaju A da je primio datagram.

Page 13: Tcpip, Rip, Ospf, Bgp - 1.1

9

Razlog zašto je internet protokol dizajniran na ovaj način, bez funkcija za uspostavu veza, garantiranom isporukom, ispravkom greški i sličnim funkcijama, leži u tome da sve ove funkcije imaju cijenu u performansi. Potrebno je dosta vremena, računarskih resursa i mrežne propusnosti da bi se izvršili ovi zadaci, a oni nisu uvijek potrebni. Kao rješenje iskorištena je snaga podjele u slojeve. Ako su potrebne funkcije za osiguranje kvalitete prijenosa, uspostave veza, garantirane isporuke i ispravke grešaka, one se ostvaruju u transportnom sloju. Sa druge strane, aplikacije koje ne trebaju ove funkcije mogu ih izbjeći. Ovo predstavlja osnovnu razliku izmeñu dva TCP/IP protokola u transportnom sloju: TCP i UDP. TCP pruža sve ove funkcije ali je sporiji od UDP-a, dok je UDP spartanski po funkcijama ali brži od TCP-a.

Osnovne funkcije internet protokola mogu se podijeliti na:

Adresiranje – da bi mogao vršiti prijenos i isporuku datagrama, internet protokol mora znati gdje je potrebno da ih isporuči. Iz ovog razloga on uključuje mehanizam za adresiranje ureñaja na mreži. Pošto internet protokol radi na intermreži, sistem je dizajniran da omogući jedinstveno adresiranje ureñaja na proizvoljno velikim mrežama.

Enkapsulacija podataka i formatiranje/pakiranje – kao protokol iz mrežnog sloja, internet protokol prima podatke od protokola transportnog sloja UDP i TCP. On tada vrši enkapsulaciju ovih podataka koristeći poseban format u IP datagrame prije samog prijenosa.

Fragmentiranje i ponovno spajanje – IP datagrami se prosljeñuju sloju fizičke veze za prijenos na lokalnoj mreži. Maksimalna veličina okvira na fizičkoj vezi koja koristi internet protokol se može razlikovati. Iz ovog razloga, internet protokol u sebi uključuje mogućnost fragmentiranja (podjele) IP datagrama u dijelove kako bi se oni mogli prenijeti preko lokalne mreže. Prijemni ureñaj koristi funkciju za ponovno spajanje IP datagrama.

Rutiranje / indirektna isporuka – kada se IP datagram mora poslati na destinaciju koja se nalazi na lokalnoj mreži, njegov prijenos se može izvršiti jednostavno korištenjem nižih LAN/WLAN/WAN protokola koristeći nešto što se može nazvati direktna isporuka. U većini slučajeva krajnja destinacija se nalazi na udaljenoj mreži koja nije direktno povezana na izvor. U ovoj situaciji datagram mora biti isporučen indirektno. To se postiže rutiranjem datagrama kroz posredničke ureñaje (rutere).

3.1. IP adresiranje

Iako je originalna IP shema adresiranja bila relativno jednostavna, tokom vremena je postala kompleksnija jer su vršene promjene kako bi se zadovoljili razni zahtjevi adresiranja. Napredni stilovi adresiranja kao što je subnetting i classless adresiranje, se najčešće koriste u suvremenim mrežama.

IP adresa ima dvije različite svrhe:

Identifikacija mrežnog sučelja – kao i kućne adrese, IP adresa pruža jedinstvenu identifikaciju sučelja izmeñu ureñaja i mreže. Ovo je potrebno da bi se osigurala isporuka datagrama željenom primaocu.

Rutiranje – kada se izvor i cilj datagrama ne nalaze na istoj mreži, datagram se mora isporučiti indirektno korištenjem posredničkih sistema. IP adresa je neophodni dio sistema koji se koristi za rutiranje datagrama.

Kao što je prethodno navedeno, IP adresa identificira mrežno sučelje a ne sami mrežni ureñaj. Ova razlika je veoma bitna jer ističe koncept IP veza na velikoj virtualnoj mreži na sloju tri, koja se može protezati preko više fizičkih mreža. Pojedini ureñaji, kao što su ruteri, imati će više od jedne mrežne veze, moraju da bi uspješno rutirali datagrame sa jedne na drugu mrežu. Ovo takoñer znači da takvi ureñaji imaju i više IP adresa, jednu po mrežnoj vezi.

Page 14: Tcpip, Rip, Ospf, Bgp - 1.1

10

Svaki ureñaj koji mora slati podatke na mrežnom sloju imati će barem jednu IP adresu. To znači da normalni host-ovi kao što su računari i mrežni printeri obično dobiju jednu IP adresu, dok ruteri dobiju više od jedne. Ureñaji koji rade na nižim slojevima kao što su mrežni mostovi, repiteri, svičevi nemaju potrebu za IP adresama. Mrežni segmenti koji su povezani mrežnim mostovima čine jedinstvenu domenu i svaki ureñaj je direktno dostupan bez potrebe za rutiranjem. Za internet protokol ovakvi ureñaji su nevidljivi.

Slika 3.2. IP sučelja na uobičajenim mrežnim ureñajima.

IP adresa je 32-bitni binarni broj koji se radi lakše manipulacije i pamćenja od strane ljudi dijeli na četiri okteta koji se onda zapisuju koristeći decimalnu notaciju, pri čemu su pojedini dijelovi odijeljeni tačkom.

Slika 3.3. Različito zapisivanje IP adrese.

Pošto je IP adresa širine 32 bita, to omogućava teoretski adresni prostor od 322 ili 4.294.967.296 adresa. Ovo se čini velikim brojem adresa, ali zbog načina na koji su adrese strukturirane i podijeljene nije moguće koristiti svaku od adresa. Jedna od nesretnih posljedica činjenice da je IP adresiranje prvi put nastalo za potrebe male mreže je u tome da su sve adrese koje počinju sa 127 rezervirane za lokalni loopback i time nedostupne (16.277.216 adresa).

IP adresni prostor odreñuje maksimalni broj sučelja koji mogu biti povezani na intermrežu. Ako se radi o privatnoj mreži, u teoriji moguće je imati nešto više četiri milijarde adresa. Nasuprot tome, ako se radi o javnoj mreži, internetu, svi ureñaji moraju dijeliti zajednički adresni prostor. Kako bi se udovoljilo brzo rastućem internetu razvijene su tehnike koje bolje raspodjeljuju adresni prostor, kao što su CIDR (supernetting) i NAT.

Page 15: Tcpip, Rip, Ospf, Bgp - 1.1

11

IP adresa se sastoji iz dva dijela:

Network ID (identifikator mreže) – odreñeni broj bitova počevši prvog sa lijeve strane se koristi za identifikaciju mreže na kojoj se nalazi dano mrežno sučelje. Ovaj dio adrese se naziva mrežni prefiks (network prefix).

Host ID (identifikator ureñaja) – ostatak bitova u adresi se koriste za identifikaciju mrežnog sučelja.

Činjenica da se mrežni identifikator nalazi u IP adresi djelomično omogućuje rutiranje IP datagrama za poznate adrese. Ruteri prvo gledaju u mrežni dio adrese da bi utvrdili da li se krajnje mrežno sučelje nalazi na istoj mreži kao i startni. Tada se donose odluke o rutiranju na osnovu informacija o položaju različitih mreža.

Slika 3.4. Podjela IP adrese na sredini trećeg okteta.

Granica izmeñu ova dva dijela IP adrese nije fiksna i zavisi od prirode adresa, tipa adresiranja koji se koristi i drugih faktora. Kako bi se dijelovi predstavili kako 32-bitni binarni brojevi na prazna mjesta dodaju se nule. Tačno mjesto gdje je izvršena podjela adrese na ove dijelove mora biti poznata kako bi ruteri uspješno vršili svoj posao. Informacija o tome se prenosi implicitno ili eksplicitno u zavisnosti od tipa adresiranja koji se upotrebljava.

3.1.1. Tipovi IP adresiranja

Da bi se razumjelo na koji način se odreñuju pojedini dijelovi IP adrese vodi potrebno je opisati tri glavne sheme IP adresiranja. Svaka od ovih shema koristi različit sistem obilježavanja gdje se nalazi podjela izmeñu Network ID i Host ID dijelova IP adrese.

Konvencionalno „Classfull“ adresiranje – originalna shema IP adresiranja, dizajnirana tako da se podjela može desiti samo na granicama okteta. Tri glavne klase adresa; A, B i C se razlikuju po tome koliko okteta koriste za identifikator mreže.

Subnet „Classfull“ adresiranje – u ovom adresiranju je parna podjela na mrežni i host dio adrese pretvoren u trodijelnu podjelu gdje se odreñeni broj bitova uzima od identifikatora host-a i koristi kao identifikator podmreže. Novonastali dio adrese se koristi za rutiranje izmeñu različitih podmreža na jednoj većoj mreži, čime je data dodatna fleksibilnost administratorima. Sistem je baziran na originalnoj shemi adresiranja, pa se granica izmeñu mrežnog i ostalog dijela IP adrese nalazi na granici okteta. Podjela izmeñu subnet i host dijela adrese se odreñuje na osnovu dodatnog 32-bitnog broja koji se naziva subnet mask.

Classless adresiranje – unutar ovog sistema se ne koriste klase iz originalne sheme adresiranja. Podjela izmeñu mrežnog i host dijela adrese može se nalaziti na proizvoljnom mjestu, ne samo na granicama okteta. Mjesto podjele se indicira tako što se poslije adrese dodaje broj koji označava koliko se bitova koristi za mrežni prefiks. Ovaj broj se naziva dužina prefiksa (prefix length).

Page 16: Tcpip, Rip, Ospf, Bgp - 1.1

12

3.1.2. Subnet adresiranje „Subnetting“

Originalna shema IP adresiranja konceptualno dijeli internet na jednostavnu hijerarhiju u dva nivoa: mnogo mreža različitih veličina od kojih svaka sadrži odreñen broj host-ova. Ovaj sistem radi dobro za manje organizacije koje mogu povezati sve svoje ureñaje u jednu mrežu. Ali, njemu nedostaje fleksibilnosti za velike organizacije koje često imaju više podmreža (subnets). Kako bi se izašlo u susret tehničkim i administrativnim zahtjevima ovih organizacija, originalna shema adresiranja je poboljšana kroz tehniku poznatu kao subnet adresiranje, ili jednostavnije subnetting.

Osnovna ideja u subnet adresiranju je dodavanje novog nivoa u hijerarhiji IP adresiranja. Koncept mreže ostaje nepromijenjen, ali umjesto da mreža sadrži samo host-ove, stvorena je hijerarhija podmreže i host-ovi. Na ovaj način moguće je organizirati mrežu na način da bolje odražava fizičku organizaciju.

Kao prednosti subnet adresiranja mogu se navesti:

Bolje slaganje sa fizičkom strukturom mreže – ureñaji mogu biti grupirani u podmreže koje odražavaju stvarnu strukturu fizičke mreže organizacije.

Fleksibilnost – boj podmreža i broj ureñaja na svakoj podmreži može biti prilagoñen svakoj organizaciji. Svaka organizacija zasebno može odrediti strukturu podmreža i promijeniti je po potrebi.

Nevidljivost prema javnoj mreži – subnetting je implementiran tako sa je svaka unutrašnja podjela mreže na podmreže vidljiva samo unutar organizacije. Prema ostatku interneta organizacija je vidljiva samo kao jedinstvena mreža. To takoñer znači da svaka promjena interne organizacije nije vidljiva izvan mreže.

Nema daljeg rasta tabela rutiranja – pošto podjela na podmreže postoji samo unutar mreže, ruteri izvan nje nemaju potrebe znati za njenu strukturu. Samo ruteri unutar mreže trebaju voditi brigu o rutiranju izmeñu podmreža.

Slika 3.5.. Subnet adresiranje unutar mreže klase B.

Pošto je broj bitova u IP adresi fiksan, kreiranjem Subnet ID dijela vrši se kraña bitova od Host ID-a, čime se smanjuje ukupan broj hostova koji se može nalaziti u podmreži.

U mrežama koje koriste klasično IP adresiranje sa klasama, ruteri u prvom oktetu adrese pronalaze informaciju o kakvoj klasi adrese se radi. Iz ove informacije može se zaključiti gdje se nalazi identifikator mreže odnosno ureñaja. Kada se koristi subnetting, ruterima je potrebna informacija na kojem mjestu je izvršena podjela izmeñu identifikatora podmreže i ureñaja. Kako ova se ova podjela može desiti na proizvoljnom mjestu za svaku mrežu i ne može se odrediti iz same IP adrese, uvodi se novi 32-bitni broj koji se naziva subnet mask.

Page 17: Tcpip, Rip, Ospf, Bgp - 1.1

13

Slika 3.6. Utvrñivanje Subnet maske za podmrežu.

Pomoću subnet maske i jednostavne binarne operacije AND može se odrediti granica izmeñu pojedinih dijelova IP adrese. Prilikom ove operacije dijelovi koji sadrže identifikator mreže i podmreže ostaju netaknuti, dok se identifikator ureñaja briše, tačnije njegovi bitovi postaju nule.

Slika 3.7. Odreñivanje identifikatora podmreže iz IP adrese subnet maskiranjem.

U praktičnim terminima, subnet maska prenosi samo jednu informaciju, mjesto gdje je povučena linija izmeñu identifikatora podmreže i ureñaja. Ako se subnet adresiranje koristi i kod klasičnih klasa adresa A, B i C, pojavljuje se potreba za podrazumijevanim subnet maskama za takav tip adresa. Pošto se IP adresa u ovim klasama dijeli na granicama okteta, subnet masaka će uvijek imati sve jedinice ili sve nule u oktetu, a kada se ova notacija pretvori u decimalnu to odgovara vrijednostima od 255 i 0. Postoje tri podrazumijevane subnet maske i to su: 255.0.0.0 za klasu A, 255.255.0.0 za klasu B i 255.255.255.0 za klasu C.

Potrebno je naglasiti da u regularnom subnet adresiranju, izbor koliko bita se koristi za identifikator podmreže je jedinstven za cijelu mrežu tj. sve podmreže moraju biti jednake veličine. Iz toga se može izvući zaključak da će broj ureñaja na najvećoj podmreži odrediti koliko bitova se mora koristiti za identifikator podmreže.

Broj ureñaja koji se mogu nalaziti u nekoj podmreži je 22 −n , pri čemu je n broj bitova preostalih za identifikator ureñaja nakon primjene subnet sheme adresiranja. Broj adresa je smanjen za 2 jer vrijednosti identifikatora ureñaja sve nule i sve jedinice imaju posebno značenje (sama podmreža i lokalna broadcast adresa).

Page 18: Tcpip, Rip, Ospf, Bgp - 1.1

14

3.1.3. Adresiranje bez klasa – CIDR „Supernetting“

Nakon što je internet počeo da se dramatično razvija, pojavili su se problemi vezani za originalnu shemu adresiranja sa klasama. Ove teškoće su djelomično popravljene uvoñenjem subnetting sheme adresiranja, koja daje veću fleksibilnost. Zajedno sa razvojem nove verzije IP protokola (IPv6) i njegovim širokim adresnim sistemom sa 128 bita, shvatilo se da će do značajnije primjene tog sistema proći dosta vremena. Kako bi se produžio život trenutnom internet protokolu (IPv4), bilo je potrebno izraditi novi sistem adresiranja koji u potpunosti odbacuje klase, koji je nazvan Classless Inter-Domain Routing (CIDR).

Osnovni problem adresiranja sa klasama je slabo granularnost tj. usitnjavanje veličine mreža. Mreža klase B sadrži veoma velik broj adresa, dok mreže klase C sadrže relativno mali broj adresa. Postoji veliki broj organizacija čije potrebe za adresnim prostorom leže izmeñu ove dvije klase i ne mogu se adekvatno ispuniti. Ako koriste mrežu klase B veliki dio adresnog prostora je neiskorišten, a ako je u pitanju klasa C potrebne su barem dvije mreže, što dodatno usložnjava organizaciju mreže.

Kao posljedica ovog problema, postalo je jasno da se neće postići bolja efikasnost dodjele adresa dok god postoje samo mreže u tri veličine. Rješenje je bilo u odbacivanju podjele adresa na klase. Ovaj sistem bi riješio probleme neefikasnog adresnog prostora i eksponencijalnog rasta tabela rutiranja.

Ideja iza CIDR-a je primjena koncepta podjele jedne mreže na podmreže (subnetting) na cijeli internet. U osnovi, može se reći da ova shema adresiranja umjesto podjele mreže na više podmreža, vrši skupljanje mreža u nadmreže (supernets). Naravno da bi se mogao ostvariti ovaj sistem bilo je potrebno omogućiti postojanje podmreža različitih veličina.

Slika 3.8. Rješavanje problema usitnjenosti pomoću CIDR sheme adresiranja.

Page 19: Tcpip, Rip, Ospf, Bgp - 1.1

15

Prednosti adresiranja i rutiranja u sistemu bez klasa:

Efikasna raspodjela adresnog prostora – umjesto raspodjele adresa u blokove fiksne veličine sa malom usitnjenosti, moguće je raspodjela adresa u bilo kojoj veličini koja je potencija broja dva.

Uklanjanje nejednakosti iskorištenja klasa – pošto više nema mreža u klasama A, B i C, ne postoji više ni problem sa pretjeranom upotrebom nekog dijela adresnog prostora dok je drugi zanemaren i neiskorišten.

Efikasne tabele rutiranja – nova hijerarhijska struktura u više nivoa omogućava malom broju unosa u ruting tabelu da predstavljaju veliki broj mreža. Pošto je CIDR shema hijerarhijska, detaljne informacije manjih mreža mogu biti skrivene od rutera koji vrše prijenos izmeñu velikih grupa mreža.

Ne postoji odvojena subnetting metoda – CIDR implementira koncept subnetiranja unutar samog interneta. Organizacija može koristiti istu metodu koja je u upotrebi na internetu da podjeli svoju internu mrežu na podmreže proizvoljne kompleksnosti bez potreba za posebnim mehanizmom za subnetting.

Pošto je glavna prednost adresne sheme sa klasama u njenoj jednostavnosti, nije iznenañenje da je osnovni nedostatak CIDR sheme adresiranja u njenoj složenosti. Više nije moguće na osnovu prvog okteta odrediti koliko bita u IP adresi predstavlja identifikator mreže, a koliko identifikator ureñaja. Takoñer je potrebno uložiti više truda u podešavanje rutera kako bi oni pravilno radili.

Kao što je adresiranje primjenom subnetting-a zahtijevalo primjenu subnet maske kako bi se moglo odrediti mjesto podjele izmeñu identifikatora mreže ili podmreže i identifikatora ureñaja, CIDR koristi subnet masku da odredi gdje je granica izmeñu identifikatora ureñaja i mreže. Ali, zbog jednostavnosti, unutar CIDR sheme se ne radi sa 32-bitni subnet maskama, već se koristi nova CIDR notacija (slash notacija). Kod ove notacije nakon IP adrese slijedi cijeli broj koji označava koliko je bitova korišteno za identifikator mreže i obično se naziva dužinom prefiksa (prefix length).

Slika 3.9. CIDR notacija i ekvivalent u subnet maski.

Page 20: Tcpip, Rip, Ospf, Bgp - 1.1

16

U teoriji, CIDR pruža jedinstvenom i centralnom autoritetu za dodjelu adresa fleksibilnost u dodjeli adresnih blokova različitih veličina baziranih za potrebama pojedinih organizacija. Ali, nakon razvoja CIDR sheme adresiranja izvršena je promjena u metodi dodjele javnih IP adresa. Pošto ova je ova shema adresiranja hijerarhijska, i podjele se mogu vršiti više puta, logičnije je da se i upravljanje nad pojedinim blokovima vrši hijerarhijski.

IANA/ICANN dijeli adresni prostor u velike blokove koje predaje u četiri regionalna internet registra (RIR): APNIC, ARIN, LACNIC, RIPE NIC. Oni dalje dijele adresne blokove i predaju ih internet registrima nižeg nivoa: nacionalni internet registri (NIR), lokalni internet registri (LIR) i individualnim organizacijama kao što su internet provajderi (ISP). Dalje se blokovi dijele na još manje i dodjeljuju pojedinim organizacijama, što se može opet ponoviti u više nivoa dok se ne doñe do krajnjeg korisnika, odnosno ureñaja na koji se adresa odnosi.

Postoji odreñeni broj osobina koji je jednak u adresnim shemama sa i bez klasa, i to su:

Privatni adresni blok – odreñeni blokovi adresa su i dalje rezervirani za privatnu upotrebu. Ove adrese nisu direktno rutirane na internet, ali se mogu koristiti zajedno sa NAT tehnologijom kako bi se omogućio pristup internetu i ureñajima sa privatnim IP adresama.

Adrese sa specijalnim značenjem – specijalna značenja pojedinih adresa je isto kao i u prethodnim shemama adresiranja.

Adrese za loopback – mreža 127.0.0.0 je i dalje rezervirana za loopback. Unutar CIDR sheme se koristi notacija 127.0.0.0/8.

Na kraju treba reći da je za primjenu ove sheme adresiranja potrebna odgovarajuća podrška od mrežnih ureñaja. Ako ureñaji i programi rade koristeći shemu sa klasama, neće biti u stanju pravilno raspoznavati adrese. Pošto je CIDR shema stara više od 10 godina, to ne predstavlja problem kod modernih sistema.

Page 21: Tcpip, Rip, Ospf, Bgp - 1.1

17

3.2. IP datagram

Osnovni zadatak internet protokola je prijenos podataka izmeñu ureñaja preko intermreže. Na svom putu izmeñu dva ureñaja, ovi podaci mogu putovati preko više fizičkih mreža. Da bi se osigurao pravilan prijenos podataka, oni se enkapsuliraju u poruku koja se naziva IP datagram. On u sebi uključuje nekoliko polja koji pomažu rad internet protokola i osiguravaju da podaci stignu na odredište.

3.2.1. Enkapsuliranje IP datagrama

Enkapsulacija predstavlja jednu od glavnih osobina u meñu protokolnim operacijama. Većina podataka potiče iz viših slojeva OSI modela. Protokoli iz tih nivoa predaju podatke nižim nivoima koji vrše prijenos, obično u obliku diskretne poruke. Nakon prijema, svaki protokol nižeg sloja uzima cijeli sadržaj poruke i enkapsulira ga u svoj vlastiti format poruke, dodajući zaglavlje (header) i ponekad zaleñe (footer) koje sadrže važne kontrolne informacije.

Jedno od najvažnijih mjesta gdje se enkapsulacija dešava u današnjim mrežama je internet protokol. Podaci se predaju internet protokolu obično iz jednog od dva glavna protokola transportnog sloja: TCP ili UDP. Ovi podaci su već u formatu TCP ili UDP poruke i sadržavaju TCP ili UDP zaglavlja. Oni se onda enkapsuliraju u tijelo IP poruke, obično nazvane IP datagram ili IP paket.

Slika 3.10. Enkapsulacija IP datagrama.

Ako je poruka koja se prenosi prevelika za fizičku mrežu, ona se može prvo fragmentirati. Prijemni ureñaj onda mora ponovo sastaviti poruku iz primljenih IP datagrama. Zbog toga, IP datagram ne mora uvijek nositi cijelu poruku iz višeg sloja, već samo jedan dio.

IP datagram je pomalo sličan konceptu okvira koji se koristi u Ethernetu ili nekom drugom Data link sloju. Važna razlika leži u tome da je IP datagram dizajniran da omogući

Page 22: Tcpip, Rip, Ospf, Bgp - 1.1

18

prijenos preko intermreže, dok se okviri koriste samo za direktni prijenos unutar fizičke mreže.

Nakon što se poruka enkapsulira u IP datagram, ona se predaje data link sloju za prijenos preko trenutnog „skoka“ u intermreži. Naravno, u nižem sloju se vrši dalja enkapsulacija IP datagrama u okvire. Prilikom putovanja preko mreže IP datagram se više puta enkapsulira u okvire, za svaki skok vrši se ponovna enkapsulacija. Tokom prijenosa, osim nekoliko kontrolnih polja, sadržaj IP datagrama ostaje nepromijenjen.

3.2.2. Format IP datagrama

IP datagram se sastoji iz dva dijela: zaglavlja i pošiljke. Zaglavlje sadrži adresna i kontrolna polja, dok pošiljka nosi stvarne podatke koje treba poslati preko mreže. Za razliku od nekih drugih formata poruke, IP datagram nema zaleñe koje bi dolazilo nakon pošiljke.

Iako je internet protokol relativno jednostavan, i radi bez stvaranja čvrstih veza, zaglavlje IP datagrama nosi dosta podataka, što ga čini relativno velikim. Minimalna dužina mu je 20 bajtova, a zajedno sa opcijama može biti značajno duži. Format IP datagrama je ilustriran na sljedećoj slici.

Slika 3.11. Format IP datagrama (IPv4).

U nastavku teksta dati su opisi pojedinih polja u zaglavlju IP datagrama:

Verzija (Version) – označava verziju internet protokola koji je korišten za stvaranje datagrama. Svrha ovog polja je da osigura kompatibilnost izmeñu ureñaja koji možda rade sa različitim verzijama internet protokola. U globalu, ureñaj koji ima stariju verziju internet protokola će odbaciti datagrame stvorene novom verzijom, pod pretpostavkom da starija verzija protokola nije u stanju pravilno razumjeti značenje novog formata datagrama.

Internet Header Length (IHL) – odreñuje dužinu IP zaglavlja u 32-bitnim riječima. U ovu vrijednost su uključene sva polja opcija i popuna (padding). Normalna vrijednost ovog polja, kada se ne koriste opcije, je 5.

Type Of Service (TOS) – polje dizajnirano da nosi informaciju koja omogućuje kontrolu kvalitete usluge prijenosa kao što je prioritetna isporuka. Nikad se nije široko koristilo kako je

Page 23: Tcpip, Rip, Ospf, Bgp - 1.1

19

originalno bilo definirano i njegovo značenje je naknadno redefinirano za upotrebu u tehnici zvanoj Differentiated Services (DS).

Total Length (TL) – odreñuje ukupnu dužinu IP datagrama u bajtovima. Pošto je ovo polje veličine 16 bita, maksimalna dužina IP datagrama je 65 535 bajtova, iako je većina mnogo manja.

Identifikacija (Identification) – ovo polje sadrži 16-bitnu vrijednost koja je zajednička svim fragmentima koji pripadaju nekoj poruci. Za datagrame koji se originalno šalju ne fragmentirani ova se vrijednost takoñer popunjava u slučaju da je naknadno od strane rutera potrebno izvršiti fragmentaciju datagrama. Ovo polje omogućuje prijemnom ureñaju da ponovo sastavi fragmente datagrama u cjelovitu poruku bez mogućnosti da pomiješa fragmente od različitih poruka, odnosno datagrama. Ova osobina je potrebna iz razloga što je moguć prijem datagrama izvan reda, jer oni mogu prolaziti različitim putovima kroz mrežu.

Zastavice (Flags) – tri kontrolne zastavice, od kojih se dvije koriste za kontrolu fragmentacije.

Pomak fragmenta (Fragment Offset) – kada se desi fragmentiranje poruke, ovo polje odreñuje pomak, ili poziciju, fragmenta u poruci. Prvi fragment ima pomak 0.

Time To Live (TTL) – da bi se osiguralo da datagrami ne kruže po mreži bez kraja u ruterskim petljama unutar ovog polja se postavlja vremenska vrijednost u sekundama kada je datagram poslat. Ruteri periodički smanjuju vrijednost ovog polja i kad ona dosegne nulu datagram se uništava. U današnje vrijeme kada su ruteri postali brži i tipično vrijeme obrade datagrama je značajno ispod sekunde, u ovo polje se obično upisuje maksimalni broj skokova koje datagram može proći. Prilikom rutiranja ovaj broj se smanjuje za jedan i kada vrijednost doñe do nule za datagram se kaže da mu je isteklo vrijeme života. Datagram se tada uništava a pošiljaocu se obično šalje ICMP Time Exceeded poruka koja ga obavještava o dogañaju.

Protokol (Protocol) – identificira protokol višeg nivoa (obično protokol transportnog sloja ili enkapsulirani protokol mrežnog sloja) kome pripada sadržaj datagrama. Vrijednosti ovog polja je prvotno odreñivao IETF standard, RFC 1700, a sada spada u nadležnost IANA.

Kontrolna suma zaglavlja (Header Checksum) – osnovna namjena je da pruži zaštitu od grešaka nastalih prilikom prijenosa. Njena vrijednost se računa za zaglavlje podijeljeno u riječi čije vrijednosti se onda sabiraju. Podaci poruke nisu uključeni u ovu sumu, već samo sadržaj zaglavlja. Prilikom svakog skoka tokom prijenosa vrši se ponovno računanje ove sume i ako vrijednosti nisu jednake datagram se odbacuje kao oštećen.

Adresa izvora (Source address) – 32 bitna adresa ureñaja koji je poslao datagram. Iako tokom prijenosa posrednički ureñaji manipuliraju datagramom oni obično ne stavljaju svoju adresu u ovo polje i ono sadrži adresu ureñaja koji je originalno poslao datagram.

Adresa odredišta (Destination Address) – 32 bitna adresa ureñaja kojem je upućen datagram. Kao što je prethodno napomenuto, iako razni posrednički ureñaji manipuliraju datagramom ovo polje sadržava adresu ureñaja kojem je datagram upućen.

Opcije (Options) – jedna ili više od standardnih tipova opcija mogu biti uključenje u zaglavlje datagrama. Njihova uloga je detaljnije objašnjena u sljedećem dijelu rada.

Ispuna (Padding) – ako su u zaglavlju uključene jedan ili više opcija tako da broj bitova koji su korišteni nije djeljivo sa 32, dodaje se onoliko nula koliko je potrebno da zaglavlje bude djeljivo sa 32.

Podaci (data) – podaci koji čine sadržaj datagrama.

Page 24: Tcpip, Rip, Ospf, Bgp - 1.1

20

3.2.3. Opcije za IP datagram

Svako zaglavlje IP datagrama osim standardnih polja može sadržavati jednu ili više opcija unutar polja za opcije. Osnovna namjena ovog polja je pružanje dodatne fleksibilnosti u obradi i manipulaciji datagrama. Pošto datagram može sadržavati unaprijed nepoznat broj opcija to čini varijabilnom dužinu polja za opcije. U slučaju kada dužina polja za opcije nije djeljiva sa 32, tj. ne sadrži neki umnožak 4 bajta, dodaje se ispuna.

Svaka opcija ima svoj vlastiti format u kojem su definirana pojedina polja. Obično su strukturirani tako da sadrže sljedeća tri polja: tip opcije (Option Type), dužina opcije (Option Length) i podaci opcije (Option Data). Za nekoliko jednostavnijih opcija ova kompleksna struktura nije potrebna. U tim slučajevima, sama opcija prenosi sve potrebne podatke pa se pojavljuje samo polje tipa opcije, dok su ostala dva polja ispuštena.

Slika 3.12. Format opcija za IPv4.

U normalnim situacijama IP datagrami se rutiraju bez nekih posebnih instrukcija za ureñaje kojima se odreñuje ruta kojom datagram treba da putuje, jer ovaj posao spada u nadležnost rutera. Ipak je, u nekim slučajevima, korisno da izvor datagrama navede rutu kojom će datagram putovati kroz mrežu. Ovaj metoda se zove source routing.

Postoje dvije IP opcije koje podržavaju source routing. U svakoj opciji postoji lista IP adresa rutera koji se trebaju koristiti tokom prijenosa do destinacije. Kada se koristi strict rutiranje, navedeni put u opciji mora biti u potpunosti ispunjen sekvencijalno, bez upotrebe drugih rutera. U loose rutiranju potrebno je ispuniti navedenu sekvencu rutera ali je dopušteno korištenje drugih ureñaja u skokovima izmeñu pojedinih navedenih rutera.

Page 25: Tcpip, Rip, Ospf, Bgp - 1.1

21

4. Rutiranje u internetu

Rutiranje nije samo jedna od važnih aktivnosti koja se dešava na mrežnom nivou, ono predstavlja funkciju koja potpuno definira treći sloj OSI referentnog modela. Rutiranje je ono što omogućava malim lokalnim mrežama da se meñusobno povežu i formiraju potencijalno velike intermreže, koje se mogu prostirati u gradovima, državama i čitavoj planeti. Cijeli posao vrše ruteri, koji prosljeñuju datagrame iz mreže u mrežu, omogućavajući tako bilo kojem ureñaju da pošalje poruku drugom iako sam nema informacije gdje se drugi nalazi.

Rutiranje predstavlja složen predmet i u kratkom crtama se može opisati kao proces u kojem ruteri odlučuju kako proslijediti datagram na osnovu njegove odredišne adrese, koje se usporeñuje sa informacijama koje ruteri čuvaju u specijalnim tabelama rutiranja. Ove tabele sadrže unose za svaku mrežu koju ruter poznaje, i time informaciju kojem susjednom ruteru datagram treba poslati kako bi on stigao na svoje odredište.

Moderni ruteri su napravljeni sa funkcijama koje omogućuju da meñusobno automatski dijele informacije o rutama, kako bi njihove tabele rutiranja bile odraz stvarne situacije. Ova izmjena informacija se ostvaruje korištenjem ruting protokola (routing protocols).

Postoji više načina na koji se može više mreža povezati preko rutera. Krajnja arhitektura zavisi od načina na koji su ruteri povezani, a ovaj izbor ima utjecaja na sami proces rutiranja i način rada ruting protokola.

4.1. Arhitektura jezgra ( core arhitecture)

TCP/IP i internet su razvijani istovremeno, pa su TCP/IP ruting protokoli evoluirali zajedno sa razvojem interneta. Rana arhitektura interneta sastojala se od malog broja jezgrenih rutera koji su sadržavali opširne informacije o intermreži. Kada je internet bio veoma mali, proširivao se dodavanjem još rutera u njegovu jezgru. Ali, svakim sljedećim dodavanjem rutera rastao je i broj informacija koje su trebale biti sadržane u tabelama rutiranja.

Slika 4.1. Shema ARPANET arhitekture jezgra.

Razvojem Interneta jezgra je postala prevelika, pa je formirana hijerarhija u dva nivoa kako bi se omogućilo dalje širenje. Nejezgreni ruteri su bili locirani na periferiji jezgre i sadržavali su samo djelomične informacije o rutiranju. Za prijenos informacija preko intremreže oni su se oslanjali na jezgrene rutere. Specijalni ruting protokol je korišten izmeñu rutera u jezgri, nazvan Gateway-to-Gateway Protocol (GGP), dok je za komunikaciju izmeñu perifernih i jezgrenih rutera korišten poseban protokol nazvan Exterior Gateway Protocol (EGP).

Page 26: Tcpip, Rip, Ospf, Bgp - 1.1

22

Ova nova arhitektura je bila korisna neko vrijeme, ali nije riješila suštinske probleme. Iako su periferni ruteri bili izolirani od jezgre, ukupan saobraćaj u jezgri je nastavio rasti, jer su svi ruteri u jezgri morali biti meñusobno povezani.

4.2. Arhitektura autonomnih sistema ( Autonomous System Arhitecture)

Kako bi se riješili nedostaci ranije jezgrene arhitekture, stvorena je nova arhitektura koja se odmakla od centraliziranog pristupa kako bi se postiglo lakše zadovoljavanje potreba rastućeg interneta. Ova nova arhitektura tretira internet kao skup nezavisnih grupa, gdje se svaka grupa naziva autonomni sistem (AS). Autonomni sistem se sastoji od grupe rutera i mreža koje kontrolira odreñena organizacija ili administratorsko tijelo, koje koristi jednu neizmjenjivu politiku za interno rutiranje.

Snaga ovih sistema je u tome da se rutiranje na nivou intermreže dešava izmeñu autonomnih sistema a ne izmeñu pojedinih rutera. Informacije su stoga dijeljene izmeñu jednog ili nekolicine rutera svakog autonomnog sistema, ne izmeñu svakog rutera u autonomnom sistemu. Detalji internog rutiranja unutar autonomnog sistema su takoñer skriveni od ostatka mreže. Ova osobina pruža fleksibilnost autonomnom sistemu i efikasnost cjelokupnoj intermreži.

Različita priroda rutiranja unutar autonomnog sistema i izmeñu autonomnih sistema može se vidjeti u činjenici da se za svaki od njih koristi različit ruting protokol.

Slika 4.2. Rutiranje i povezivanja kod arhitekture autonomnih sistema.

Svaki autonomni sistem posjeduje jedinstven broj, čije dodjeljivanje je globalno nadgledano kako bi se osiguralo da je svakom autonomnom sistemu dodijeljen različit broj.

U modernim izvedbama autonomnih sistema koriste se različiti protokoli za rutiranje unutrašnjeg i vanjskog saobraćaja.

Protokoli za unutrašnje rutiranje (Interior Routing Protocols) – su protokoli koji se koriste za razmjenu informacija rutiranja izmeñu rutera unutar autonomnog sistema. Ovi protokoli se ne koriste za razmjenu informacija izmeñu autonomnih sistema.

Protokoli za vanjsko rutiranje (Exterior Routing Protocols) – su protokoli koji se koriste za razmjenu informacija rutiranja izmeñu autonomnih sistema. Oni se mogu u nekim slučajevima koristiti za razmjenu informacija unutar autonomnog sistema, ali se prvenstveno koriste za razmjenu informacija izmeñu autonomnih sistema.

Page 27: Tcpip, Rip, Ospf, Bgp - 1.1

23

Pošto su autonomni sistemi samo grupa rutera, povezivanje autonomnih sistema se vrši povezivanjem rutera jednog autonomnog sistema sa ruterom drugog autonomnog sistema. Iz toga se može zaključiti da se autonomni sistem sastoji od grupe rutera sa dvije vrste povezanosti:

Interni ruteri – neki ruteri unutar autonomnog sistema su povezani samo sa ruterima koji čine taj autonomni sistem. Ovi ruteri koriste protokole za unutrašnje rutiranje.

Granični ruteri – neki ruteri unutar autonomnog sistema su povezani i sa ruterima unutar istog autonomnog sistema i sa ruterima u jednom ili više drugih autonomnih sistema. Ovi ureñaji su odgovorni za prijenos prometa izmeñu autonomnih sistema i ostatka intermreže. Oni koriste i unutrašnje i vanjske protokole za rutiranje.

Još jedna od važnih razlika izmeñu protokola za rutiranje je osnovni algoritam i metrika koju koriste. Algoritam se odnosi na metodu kojom protokol vrši izbor najbolje rute izmeñu nekog para ureñaja ili mreža i za razmjenu informacija izmeñu rutera. Metrika je mjera „troška“ koja se koristi za procjenu efikasnosti pojedine rute. Pošto intermreža može biti veoma kompleksna, algoritmi i metrika protokola su veoma važni, i mogu biti odlučujući faktor u superiornosti pojedinog protokola.

4.3. Vrste protokola za rutiranje

Postoje dvije osnovne vrste protokola za rutiranje, a dijele se prema načinu računanja optimalnog puta:

- distance-vector,

- link-state.

Distance-vector algoritam rutiranja utvrñuje smjer i udaljenost do bilo kojeg čvora (rutera) na globalnoj mreži dok link-state princip samostalno ponovno kreira kompletnu topologiju mreže.

Distance-vector razmjenjuje tablice rutiranja izmeñu rutera koji se meñusobno obavještavaju o svim promjenama na mreži. Svaki susjedni ruter dobiva tablicu rutiranja onog susjednog koji koristi isti protokol za rutiranje.

Slika 4.3. Shematski prikaz rada Distance-vector protokola rutiranja.

Primjeri distance-vector protokola su RIP i BGP protokoli. Metrika (cijena linka) se računa pomoću broja skokova.

Link-state routing održava kompleksnu bazu s informacijama o mrežnoj topologiji i koristi LSA (Link-state advertisment). To je maleni paket sa informacijama za rutiranje.

Page 28: Tcpip, Rip, Ospf, Bgp - 1.1

24

Slika 4.4. Shematski prikaz rada Link-state protokola rutiranja.

Primjeri link-state protokola su EIGRP, IS-IS i OSPF. Metrika se računa ovisno o administracijskim postavkama gdje su parametri: broj skokova, brzina linka, kašnjenje, zagušenje itd.

Uglavnom, protokol za usmjeravanje omogućuje mreži dinamičko prilagoñavanje uvjetima tako da odluke o usmjeravanju ne moraju biti unaprijed odreñene i nepromjenjive.

4.4. Algoritmi za rutiranje

Općenito gledajući, komunikacijske mreže se sastoje od čvorova i veza. U zavisnosti od tipa mreže čvorovi mogu imati različite nazive. Na primjer, u IP mreži čvor se naziva ruter. Komunikacijska mreža prenosi promet od početnog (startnog) čvora do odredišnog (ciljnog) čvora.

Važan zahtjev za komunikacijsku mrežu je da vrši rutiranje (preusmjeravanje) saobraćaja od početnog do odredišnog čvora, za što je potrebno odrediti put (rutu) izmeñu ta dva čvora. Iako se ta ruta može odrediti ručno (statička ruta), generalno je poželjno da se ona izračunava pomoću algoritama rutiranja. Cilj algoritma rutiranja je odreñen zahtjevima komunikacijske mreže i usluga koje ona pruža, kao i dodatnim zahtjevima koje sebi nameću davatelji usluga kako bi pružali bolju uslugu u odnosu na druge davatelje usluga.

Slika 4.5. Primjer mreže sa 6 čvorava i označenim cijenama veza izmeñu čvorova.

Page 29: Tcpip, Rip, Ospf, Bgp - 1.1

25

Iako ciljevi algoritama mogu biti različiti za različite tipove komunikacijskih mreža, oni se mogu podijeliti u dvije kategorije: korisnički orijentirani i mrežno orijentirani. Korisnički orijentirani algoritmi moraju osigurati dobru uslugu svim korisnicima kako bi promet pojedinog korisnika mogao brzo stići na svoje odredište. Mrežno orijentirani algoritam, s druge strane, ima za cilj da omogući efikasno i jednako rutiranje kako bi većina korisnika imalo dobru i prihvatljivu uslugu, umjesto da pruža najbolju uslugu nekom odreñenom korisniku na štetu ostalih.

Dva veoma značajna algoritma koja imaju veliki utjecaj na podatkovne mreže i internet rutiranje su: Bellman-Ford algoritam i Dijkstra algoritam. Oba algoritma se mogu svrstati u široku kategoriju korisnički orijentiranih algoritama i namjena im je pronalazak najkraćeg puta od izvorišnog čvora do odredišnog čvora. Izračunavanje najkraćeg puta kod ovih algoritama koristi osobinu aditivnosti cijene pojedinih dijelova puta do krajnjeg odredišta. Ovaj pristup nije jedini jer je moguće definirati cijenu puta u parametrima koji nisu aditivni, kao što je propusnost, a često se koristi kod algoritama koji traže put sa najvećom propusnošću.

4.4.1. Bellman-Ford algoritam (distance-vector pristup)

Ovaj algoritam koristi jednostavnu ideju da izračuna najkraći put izmeñu dva čvora na centraliziran način. U distribuiranom okruženju koristi se distance-vector pristup kako bi se izračunao najkraći put.

Da bi se razmatrala centralizirana verzija Bellman-Ford algoritma koriste se dva opća čvora, čvor i i čvor j u mreži od N čvorova. Ti čvorovi mogu biti direktno povezani, meñutim neki čvorovi nisu direktno povezani. U tom slučaju da bi se našla udaljenost izmeñu dva čvora moramo koristiti i druge čvorove i linkove. Zato ćemo sada uvesti slijedeću notaciju:

ijd = cijena veze izmeñu čvorova i i j.

ijD = cijena izračunate minimalne cijene puta od čvora i do čvora j.

Ako su dva čvora direktno vezana, onda cijena veze ijd ima konačnu vrijednost, u

suprotnom ona je beskonačna. Razlika izmeñu ijd i ijD je najlakše objasniti na primjeru. Ako

se promatra slika 4.5 vidimo da je 46D = 2, a 46d =15. Put sa minimalnom cijenom izmeñu

dva čvora u mreži se može naći bez obzira da li su oni direktno povezani ili ne, sve dok jedan od krajnjih čvorova nije kompletno izoliran od ostatka mreže. Algoritam najkraćeg puta pomaže da se izračuna minimalna cijena izmeñu dva čvora.

Slika 4.6. Centralizirani Bellman–Ford algoritam

(puna linija – direktni link, isprekidana linija – udaljenost).

Ako se uzme opći čvor k koji je direktno povezan sa odredišnim čvorom, to znaci da kjd

ima konačnu vrijednost, k je intermedijalni čvor.

Page 30: Tcpip, Rip, Ospf, Bgp - 1.1

26

Da bi se našao najkraći put izmeñu čvorova i i j mora se zadovoljiti Bellman–ova jednačina:

0=iiD , za sve i. (1)

{ }kjikjk

ij dDD +=≠

min , za ji ≠ . (2)

Ako posmatramo jednačinu (2) vidimo da minimalna cijena zavisi od poznavanja minimalne cijene od i do k i direktne cijene linka kjd za link k–j. Pošto može biti više

intermedijalnih čvorova k, moraju se uzeti u obzir svi ti k da bi se osiguralo da je izračunata minimalna cijena.

Može doći do odstupanja od jednačine (2), gdje se minimalna cijena traži kroz broj „skokova” (hops). Tako je oznaka za minimalnu cijenu po broju dozvoljenih „skokova” h:

)(hijD = cijena minimalne cijene puta od čvora i do čvora j kada se

uzima u obzir do h skokova.

Bellman-Ford algoritam koji se ponavlja u uslovima broja dozvoljenih skokova je predstavljen sljedećim algoritmom:

Bellman-Ford centralizirani algoritam

Za čvorove i i j u mreži:

0)0( =iiD , za sve i; ∞=)0(ijD , za sve ji ≠ . (3)

Za h = 0 do N – 1 radi

0)1( =+hiiD , za sve i (4)

{ }kih

ikjk

hij dDD +=

+ )()1( min , za ji ≠ (5)

Algoritam je najlakše objasniti na primjeru. Ako želimo da nañemo najkraći put od čvora 1 do čvora 6, sa slike 4.5, to se može uraditi iteracijom kako se povećava broj skokova. Kada je h = 1, to pretpostavlja direktnu vezu izmeñu čvorova 1 i 6, pa pošto je nema, ∞=)1(

16D .

Kada je h = 2, jedini mogući put je 1-4-6, te je minimalna cijena 16. Kada je h = 3 postoje tri moguća puta koji se trebaju uzeti u obzir (uzimamo samo ono k gdje je ∞<6kd ).

k = 3: 31236)2(

13 =+=+ dD

k = 5: 41356)2(

15 =+=+ dD

k = 4: 1615146)2(

14 =+=+ dD

Biramo prvi slučaj, jer ima minimalnu cijenu. Ova putanja je najkraća, a ona je 1-4-3-6. Bellman-Ford algoritam računa samo minimalnu cijenu, ne računa stvarni minimalni put.

Tabela 4.1. Minimalna cijena od čvora 1 do ostalih čvorova izračunata prethodnim algoritmom.

Page 31: Tcpip, Rip, Ospf, Bgp - 1.1

27

U tabeli 4.1. su date minimalne cijene od čvora 1 do drugih čvorova gdje nije potrebno znati čitav put, već samo slijedeći čvor k sa minimalnom cijenom.

U računarskim mrežama, čvorovi rade u distribuiranom modelu pri odreñivanju najkraćeg puta do odredišta. U centraliziranom pristupu, izvorni čvor mora da zna cijenu najkraćeg puta do svih čvorova koji su locirani neposredno prije odredišta, npr. )(h

ikD tako da se može izračunati minimalna cijena do odredišta. Ovo je prikazano u jednačini (5). Ova verzija centraliziranog Bellman-Ford algoritma nije pogodna za distribuiranu okolinu.

Sada, za distribuiranu okolinu koristi se drugačiji redoslijed razmatranja u jednačini (2), te će se minimalna cijena računati kao:

{ }kjkiikij DdD +=≠

min , za ji ≠ (6)

Vidi se da postoji mala razlika izmeñu jednačina (2) i (6). Ta razlika je da se prvo traži izlazni link iz čvora i do direktno povezanog čvora k sa cijenom linka, i onda se razmatra minimalna cijenu od k do j, bez prethodnog poznavanja utjecaja od čvora k na ovu cijenu.

Lista direktno povezanih čvorova sa čvorom i, tj. susjedi od i označeni su sa iN . Znači, ako čvor i sazna od susjeda cijenu puta sa minimalnom cijenom do odredišta, može je iskoristiti da se odredi cijena do odredišta dodajući cijenu izlaznog linka. Ovo je poznatije kao koncept vektora udaljenosti (Distance-Vector Approach).

Pretpostavimo da čvor i povremeno prima informacije o minimalnoj cijeni od susjednog čvora k za minimalnu cijenu od čvora k do čvora j. Sada se može uvesti i zavisnost o vremenskom domenu koristeći za cijenu od čvora k do čvora j. Ova informacija će biti dostupna za čvor i. Sada zamislimo da čvor k ponovo računa cijenu do čvora j i tu informaciju daje drugom izvornom čvoru, recimo 2i ali ne i čvoru i, slika 4.7. Sa aspekta izvornog čvora i može se reci da je vrijednost minimalne cijene od čvora k do čvora j koja je dostupna čvoru i, je ona koju je čvor i bio u mogućnosti da primi. Tako je bolje koristiti i(t) nego (t) da označi minimalna cijena od čvora k do čvora j koja je dostupna čvoru i u vremenu t. Meñutim,

dostupnost cijene za 2i se može napisati kao ( )tD ikj

2 zbog toga što može pristići u drugom

vremenu t.

Slika 4.7. Distance-vector slučaj za računanje najkraćeg puta.

U dinamičkim mrežama, cijena direktnog linka ikd se može mijenjati u vremenu t kako bi se prikazale promjene u mrežnom prometu.

Distance-vector algoritam (izračunat u čvoru i)

Za čvorove i i j u mreži:

( ) 0=tDii ; ( ) ∞=tDij , (za čvor j koji je poznat čvoru i). (7)

Za (čvorove j koji su poznati čvoru i) radi

( ) ( ) ( ){ }tDtdtD ikjki

isapovezandirektnokij += min , za sve ij ≠ (8)

Page 32: Tcpip, Rip, Ospf, Bgp - 1.1

28

Pretpostaviti ćemo da čvor k koji je direktno povezan sa čvorom i šalje i(t) istovremeno svim čvorovima koji su direktno povezani kao čvor i. Cijena direktnog linka ( )td ik se ne mijenja u vremenu. Razmatrat ćemo računanje cijene koja je bazirana na skokovima u diskretnim vremenskim intervalima. Npr. u t = 0 znaci šta čvor 4 vidi o cijeni do čvora 6 kada je udaljen 0 skokova, t = 1 znaci šta čvor 4 vidi o cijeni do čvora 6 kada je informacija koja je udaljena jedan skok primljena itd. Vidimo da je čvor 1 direktno povezan sa čvorovima 2 i 4. Tako, čvor 1 ce imati ( )tD1

26 , cijenu izmeñu čvorova 2 i 6 iz čvora 2, i ( )tD146 , cijenu izmeñu

čvorova 4 i 6 iz čvora 4.

Tabela 4.2. Računanje na bazi distribuiranog distance-vector algoritma u vremenu t od čvora 1 do čvora 6.

U ovom pristupu čvor se oslanja na znanje susjednih čvorova o cijeni do odredišta da bi odredio najbolji put. Zato pravi povremene proračune kada primi informacije od svojih susjeda. Da bi ovo sve radilo glavna ideja je da čvor k razdijeli svoju cijenu do čvora j svim direktno povezanim susjedima i. Zavisnost od i i t znači da svaki čvor i dobiva takve informacije u različitim vremenskim trenucima. Razlika izmeñu ove ideje i centraliziranog Bellman-Ford algoritma je ta da red računanja duž razmatranog linka vodi do različitih pogleda u računanju najkraćeg puta.

4.4.2. Dijkstra algoritam (link-state pristup)

Dijkstra algoritam je algoritam za računanje najkraćeg puta rutiranja. Radi tako što odabere skup susjednih čvorova da bi odredio najkraći put do odredišta. Jedna od značajnih osobina ovog algoritma je da računa najkraći put do svih odredišta od izvora, umjesto za odreñeni par izvornog i odredišnog čvora. To je vrlo korisno u komunikacionim mrežama.

Uzeti ćemo u obzir opći čvor i u mreži od N čvorova u kojoj se žele izračunati najkraći putovi do svih čvorova u mreži. Opći odredišni čvor će biti označen sa j (j ≠ i). Koriste se dva sljedeća pojma:

ijd = cijena veze izmeñu čvorova i i j.

ijD = cijena izračunate minimalne cijene puta od čvora i do čvora j.

Dijkstra algoritam dijeli skup od N čvorova u dvije grupe. Prva grupa S predstavlja čvorove koji su već razmatrani, dok je druga grupa S’ za čvorove koji još nisu razmatrani. Pri primjeni algoritma grupa S se širi novim čvorovima dok se grupa S’ smanjuje, jer čvorovi koji se uključuju u grupu S se brišu sa ove liste. Algoritam se završava kada grupa S’ ostane prazna. Na početku imamo { }iS = i { }iNS |' = (tj. svi čvorovi osim čvora i).

Algoritam ima dva dijela: kako proširiti listu S i kako izračunati najkraći put do čvorova koji su susjedi čvorovima u listi S.

Page 33: Tcpip, Rip, Ospf, Bgp - 1.1

29

Dijkstra algoritam najkraćeg puta (centralizirani pristup)

1. Krenimo od početnog čvora i u permanentnoj listi čvorova { }iS = , svi ostali čvorovi

su stavljeni u listu 'S . Inicijaliziraj

ijij dD = , za sve 'Sj ∈ .

2. Odrediti susjedne čvorove (intermedijalne) k koji nisu u trenutnoj listi S sa minimalnom cijenom puta od čvora i, tj. naći 'Sk ∈ tako da je imSmik DD 'min ∈= .

Dodaj k na permanentnu listu S, tj. { }kSS ∪= ,

Izbaciti k iz skupa S’, tj. { }kSS |'' = .

Ako je S' prazno zaustavi se.

3. Razmotrimo susjedne čvorove kN intremedijalnog čvora k (ali ne treba razmatrati čvorove koji su već u skupu S) da bi provjerili da li postoje poboljšanja u minimalnoj cijeni puta, tj. za 'SNj k ∩∈

{ }kjikijij dDDD += ,min . (9)

Idi na korak 2.

Algoritam je najlakše objasniti na primjeru.

Slika 4.8. Iterativni pregled Dijkstra algoritma.

Želimo da nañemo najkraće putove od čvora 1. do svih ostalih čvorova u mreži. Tako je na početku S = (1) i S’ = ( 2, 3, 4, 5, 6). Najkraći put do direktnih susjeda čvora 1. može se lako naći dok je za ostale cijena ∞ .

1,1 1412 == DD , ∞=== 161513 DDD .

Za slijedeće ponavljanje, čvor 1. ima dva direktno povezana susjedna čvora, čvor 2 i čvor 4, gdje je 12d = 1 i 14d = 1, a svi ostali koji nisu direktno povezani su ∞ . Pošto su oba čvora 2 i 4 susjedi sa minimalnom cijenom možemo izabrati bilo koji. U našem primjeru smo odabrali čvor 2, te taj čvor postaje intermedijalni čvor k. Tako da u skupu S imamo S = (1,2) a u S’(3,4,5,6). Onda pitamo čvor 2 za cijenu do njegovog direktnog susjeda koji nije u skupu S. Direktni susjedi čvora 2 su čvor 3 i čvor 4. Tako računamo cijenu od čvora 1 do ta dva nova čvora da vidimo da li ima nekog napretka.

Page 34: Tcpip, Rip, Ospf, Bgp - 1.1

30

{ } { } 321,min,min 23121313 =+∞=+= dDDD

{ } { } 111,1min,min 24121414 =+=+= dDDD .

Primjećujemo da nema napretka u cijeni za čvor 4, te čuvamo originalni najkraći put. Za čvor 3 imamo da je najkraći put 1-2 -3. Za ostale čvorove cijena ostaje ∞ . Ovim završavamo ovu iteraciju. Onda prelazimo na sljedeću iteraciju i nañemo sljedeći intermedijalni čvor k = 4 i proces se nastavlja kao prije.

U tabeli 4.3 su prikazani svi koraci dok se svi čvorovi ne uzmu u obzir. Na slici 4.8. je dat vizualni prikaz kako algoritam dodaje nove intermedijelne čvorove u skup S.

Tabela 4.3. Koraci ponavljanja u Dijkstra algoritmima.

Distribuirana verzija ovog algoritma je slična centraliziranoj verziji. Glavna razlika je da cijena linka koju je poslao jedan čvor može biti različita od cijene koju je poslao drugi čvor jer se te informacije rasprostiru na asinhron način.

Cijenu linka k-n koja je primljena na čvoru i u vremenu t označavamo sa ( )td ikm .

Minimalna udaljenost od i do j je vremenski zavisna i označava se sa ( )tD ij . Dijkstra

algoritam za distribuirani pristup u stvari predstavlja razmjenu informacija o cijeni linka na distribuiran način.

Dijkstra algoritam najkraćeg puta (distribuirani pristup)

1. Naći čvorove u mreži N, i cijenu linka k-m, ( )td ikm , kao što je poznato čvoru i u

vremenu t. 2. Krenuti od čvora i u permanentnoj listi čvorova, tj. { }iS = , sve ostale čvorove staviti u

skup S’. Inicijaliziraj ( ) ( )tdtD i

ijij = , za sve 'Sj ∈ .

3. Odrediti susjedne čvorove (intermedijane) k koji nisu u trenutnoj listi S sa minimalnom cijenom puta od čvora i, tj. naći 'Sk ∈ tako da je ( ) ( )tDtD imSmik 'min ∈= .

Dodaj k na permanentnu listu S, tj. { }kSS ∪= ,

Izbaciti k iz skupa S’, tj. { }kSS |'' = .

Ako je S' prazno zaustavi se.

4. Razmotrimo susjedne čvorove kN intremedijalnog čvora k (ali ne treba razmatrati čvorove koji su već u skupu S) da bi provjerili da li postoje poboljšanja u minimalnoj cijeni puta, tj. za 'SNj k ∩∈

( ) ( ) ( ) ( ){ }zdtDtDtD ikjikijij += ,min . (10)

Idi na korak 3.

Page 35: Tcpip, Rip, Ospf, Bgp - 1.1

31

4.4.3. Usporedba Bellman-Ford i Dijkstra algoritama

Ovdje ćemo usporediti Bellman-Ford algoritam sa Dijkstra algoritmom. Bellman-Ford algoritam računa najkraći put do odreñene destinacije u jednom trenutku, dok Dijkstra algoritam računa put do svih destinacija.

Kada usporedimo računanje minimalne cijene za svaki algoritam, izmeñu jednačina 2 i 9, koje su na prvi pogled slične, postoji jedna bitna razlika. U oba slučaja postoji intermedijalni čvor k. U slučaju Bellman-Ford algoritma čvor k se traži u svim čvorovima da se nañe slijedeći najbolji skok (hop) do čvora j, a u slučaju Dijkstra algoritma, čvor k je intermedijalni, prvi utvrñen i fiksan a onda se računa najkraći put do svih čvorova j koji još nisu razmatrani.

Korisno je znati računsku kompleksnost za usporedbu ova dva algoritma. Ako uzmemo da je N ukupan broj čvorova a L ukupan broj linkova, računska kompleksnost Bellman-Ford algoritma je O(LN) a kod Dijkstra algoritma O(N²) ali se može poboljšati do O(L + NlogN).

Ako je mreža potpuno povezana, broj dvosmjernih linkova je N(N-1)/2 tada je kompleksnost Bellman-Ford algoritma O(N³) a Dijkstra algoritma O(N²).

4.5. RIP routing protokol

Najpopularniji od protokola za unutrašnje rutiranje je svakako RIP (Routing Information Protocol). Jednostavnost njegovog imena odgovara u potpunosti njegovoj izvedbi, jer je ovaj protokol vrlo jednostavno podesiti te zahtjeva veoma malo resursa za svoj rad. Njegova popularnost je posljedica njegove jednostavnosti i duge historije korištenja. Iako ovaj protokol posjeduje značajna ograničenja koja su poticala razvoj novih, tehničkih boljih protokola, njegovo korištenje je veoma rasprostranjeno i njegovo mjesto je osigurano i u daljem razvoju interneta i TCP/IP paketa protokola.

Posao RIP-a, kao i svakog drugog protokola za rutiranje, je da pruži mehanizam za razmjenu informacija o rutama kako bi ruteri mogli održavati aktualnim svoje tabele rutiranja. Svaki ruter u RIP intermreži čuva informacije u svojoj tabeli rutiranja o svim mrežama i ureñajima u intermreži. Za svaku mrežu i ureñaj čuva se različite informacije od kojih su najvažnije:

- Adresa mreže ili ureñaja, - Udaljenost od rutera do mreže ili ureñaja, - Prvi skok rute tj. ureñaj kojem se moraju prvo poslati datagrami kako bi kasnije

došli do mreže ili ureñaja.

U teoriji, metrika udaljenosti može biti procjena troška, ali u RIP-u, udaljenost se mjeri u skokovima. Zato je udaljenost izmeñu rutera i ciljne mreže odnosno ureñaja u RIP-u broj rutera koje datagram mora preći prije nego što stigne na odredište. Ako je ruter povezan na mrežu direktno, tada je udaljenost 1 skok. Ako je potrebno proći kroz jedan ruter, tada je odgovarajuća udaljenost 2 skoka, itd. Maksimalna udaljenost koja je definirana unutar ovog protokola je 15 skokova, vrijednost 16 ima značenje „ova mreža ili ureñaj su nedostupni“.

Svaki ruter koji koristiti RIP će redovno slati unose u svoju tabelu rutiranja kako bi pružio informacije drugim ruterima o poznatim i dostupnim mrežama i ureñajima. Bilo koji drugi ruter na istoj mreži će na osnovu ovih informacija moći osvježiti unose u svojoj tabeli rutiranja.

Page 36: Tcpip, Rip, Ospf, Bgp - 1.1

32

Slika 4.9. Primjer RIP autonomnog sistema.

RIP je dizajniran tako da se unosi u tabelu rutiranja zamjenjuju ako je primljena informacija o kraćoj ruti. Izmjena unosa u tabelama rutiranja uzrokuje postepenu propagaciju informacija o promjenama u konfiguraciji i dostupnosti ruta. Kada se desi neka promjena u rutama, ova informacija se kreće kroz mrežu sa rutera na ruter kako bi za neko konačno vrijeme informacija dospjela do svih rutera na mreži.

U nekim slučajevima je nepotrebno da sve mreže ili ureñaji u velikoj intermreži budu u potpunosti odreñeni unosom u tabelu rutiranja. Bolje je rješenje u odreñivanju podrazumijevane rute (default route) za slanje datagrama mrežama ili ureñajima o kojima ne postoje informacije. Najčešći primjer ove situacije je kada autonomni sistem ima pristup javnoj internet mreži preko samo jednog rutera. Osim tog rutera, ostatak mreže nema potrebu da zna kako da pristupi internetu. U RIP-u informacije o ovoj podrazumijevanoj ruti se prenose sa rutera koji su odreñeni da obrañuju takav promet u obliku virtualne mreže sa adresom 0.0.0.0. Ova mreže se tretira kao regularna mreža prilikom propagacije unosa u tabeli rutiranja, ali drugi ureñaji znaju za njeno posebno značenje kao podrazumijevane rute.

4.5.1. Način rada, poruke i timeri u RIP-u

Komunikacija izmeñu rutera koji izvode RIP u intermreži se ostvaruje korištenjem RIP poruka (RIP messages). Ove poruke se prenose kroz mrežu korištenjem UDP-a, sa rezerviranim portom 520. Iz ovog se može zaključiti, da iako RIP spada u treći sloj kao i ostali protokoli rutiranja, on se ponaša kao aplikacija u načinu na koji šalje poruke. RIP poruke se mogu slati odreñenom ureñaju ili biti poslane za prijem na više ureñaja. Postoje samo dva osnovna tipa RIP poruka, i to su:

RIP zahtjev (RIP Request) – poruka poslana od jednog ka drugom ruteru sa zahtjevom da pošalje nazad cijelu ili samo dio tabele rutiranja.

RIP odgovor (RIP Response) – poruka poslana od rutera koja sadrži cijelu ili samo dio tabele rutiranja. Unatoč svome imenu, ova poruka se ne šalje samo kao odgovor na RIP zahtjev.

RIP zahtjev poruke se šalju u posebnim slučajevima, kada su ruteru potrebne trenutne informacije o rutiranju. Najčešći primjer ovakve situacije je trenutak kada se ruter prvi put uključuje u mrežu. Nakon pokretanja, ruter će slati RIP zahtjev svim mrežama na koje je povezan kako bi dobio trenutne informacije o rutama.

Ruter koji primi RIP zahtjev vrši njegovu obradu i šalje RIP odgovor koji sadrži njegovu cijelu tabelu rutiranja, ili samo one dijelove tabele koji su traženi. Ipak, u normalnim okolnostima, ruteri obično ne šalju poruke RIP zahtjeva kako bi saznali informacije o rutama. Umjesto direktnog zahtjeva koristi se timer od 30 sekundi. Svaki put kada protekne vrijeme od 30 sekundi ruter šalje RIP odgovor poruku sa svojom tabelom rutiranja svim susjednim ruterima. Nakon toga se timer resetira i ponovo se čeka istek vremena od 30 sekundi. Na ovaj jednostavan način informacije o rutama se redovno šalju preko interneta, kako bi ruteri imali aktualne informacije.

Page 37: Tcpip, Rip, Ospf, Bgp - 1.1

33

Kada ruter primi informacije o rutama i unese ih u svoju tabelu rutiranja, ove informacije se ne mogu smatrati trajno ispravnima. Kako bi se izbjegao ovaj problem, ruteri zadržavaju informacije u tabeli rutiranja samo odreñeno konačno vrijeme. Kada se u tabelu rutiranja postavi novi unos pokreće se specijalni Timeout timer. Kada ruter ponovo primi RIP odgovor koji sadrži informacije o toj ruti, ona se smatra „osvježenom“ i njen Timeout timer se resetira. Timer neće isteći sve dok redovito dolaze informacije o toj ruti. Ali ako prestanu dolaziti RIP odgovori koji sadrže tu rutu, timer će isteći i ta se ruta označava za brisanje time što se njena udaljenost postavlja na vrijednost 16. Podrazumijevana vrijednost za Timeout timer je vrijeme od 180 sekundi, što daje dovoljno vremena za nekoliko periodičnih osvježavanja tabele rutiranja.

Kada se ruta označi za brisanje pokreće se novi timer za čišćenje smeća (Garbage-Collection timer). Ovaj timer broji vrijeme nakon kojeg će se nova ruta koja je označena kao invalidna biti stvarno izbrisana iz tabele rutiranja. Podrazumijevano vrijeme za ovaj timer je 120 sekundi. Razlog za ovu metodu brisanja unosa u tabelu rutiranja u dva koraka je u pružanju dovoljno vremena ruteru da propagira informaciju o gubitku rute ostatku mreže preko redovitih izmjena informacija o tabelama rutiranja. Ako je za vrijeme čekanja timera za čišćenje smeća primljena novi RIP odgovor koji sadrži ovu rutu, tada s ona ponovo proglašava valjanom i poništava se timer za čišćenje smeća, a pokreće Timeout timer.

4.5.2. Ograničenja i problemi u RIP-u

Jednostavnost RIP-a se često daje kao glavni razlog njegove popularnosti. Ali cijena jednostavnosti je pojavljivanje problema u specijalnim situacijama i ne uobičajenim slučajevima. Tako da RIP većinu vremena radi veoma dobro ali posjeduje neke značajne slabosti.

Spora konvergencija

Algoritam vektora udaljenosti koji koristi RIP je dizajniran tako da svi ruteri dijele sve njihove informacije o rutiranju redovito. Tokom vremena, svi ruteri će dobiti identične informacije o lokaciji mreža i koje su najbolje rute za njihovo povezivanje. Na nesreću, osnovni algoritam RIP-a je prilično spor u postizanju konvergencije. Potrebno je mnogo vremena da bi svi ruteri dobili identične informacije, i posebno, potrebno je dosta vremena za propagaciju informacija o promjeni topologije. Ovaj problem je još više izražen kod propagacije informacija o prekidima ruta. Prekid u ruti se primjećuje tek nakon isteka timera od 180 sekundi, iz čega slijedi da je potrebno proteći 3 minute prije nego što uopće počne konvergencija.

Brojanje do beskona čnosti (Counting To Infinity)

Poseban slučaj spore konvergencije može dovesti do petlje u rutiranju gdje jedan ruter predaje lošu informaciju o ruti drugom ruteru, koji onda šalje više loših informacija sljedećem ruteru i tako dalje. Ovo proizvodi situaciju gdje se protokol nekad opisuje kao nestabilan. Kao primjer ove situacije može se navesti prijenos informacija o rutiranju koja se dešava izmeñu dva rutera od kojih jedan nakon što je primijetio prekid rute bude prevaren da može doći do odredišta preko drugog rutera na osnovu informacija koje je primio. Proces koji nastaje tijekom kojeg oba rutera se napokon slože da je ruta u prekidu se naziva brojanje do beskonačnosti.

Problemi sa metrikom

Broj skokova kao mjera troškova prijenosa podataka je loš izbor. Izbor ove metode unutar RIP-a vjerojatno ima svoj uzrok u pokušaju održavanja što veće jednostavnosti protokola zajedno sa njegovom starosti. U vrijeme kada je protokol dizajniran većina kašnjenja se dešavala prilikom obrade datagrama u ruteru, pa je ovakva metrika bila puno bliža stvarnim vremenima nego što je sad. U današnjim sistemima broj skokova nema nikakve veze sa stvarnom brzinom prijenosa podataka.

Page 38: Tcpip, Rip, Ospf, Bgp - 1.1

34

Kao nedostatak može se navesti i nepostojanje podrške za dinamičku metriku (metriku u realnom vremenu). Čak kada bi protokol koristio metriku koja bolje odgovara stvarnosti, implementacija protokola zahtjeva da ona bude fiksna za svaku pojedinu rutu. Ne postoji način na koji bi se mogla izračunati najbolja ruta na osnovu trenutnih informacija o pojedinim vezama.

4.5.3. Ugrañene osobine za rješavanje problema

Jednostavnost RIP-a je njegova najprivlačnija osobina, ali takoñer vodi do odreñenih problema u njegovom radu. U cilju da se RIP napravi korisnim protokolom bilo je potrebno riješiti neke od problema na način da se izmjene neki dijelovi osnovnog algoritma i načina rada protokola.

Podijeljeni horizont (Split Horizon)

Problem brojanja do beskonačnosti predstavlja jedan od slučajeva ponašanja osnovnog algoritma protokola koji treba biti riješen. Ako se bolje pogleda situacija u kojoj on nastaje, može se zaključiti da nema nikakvog smisla, u bilo kom slučaju, da jedan ruter šalje informacije drugom ruteru o ruti koja je dostupna prvom ruteru isključivo preko drugog rutera, jer to može uzrokovati problem.

Može se zaključiti da je najbolje rješenje da, kada ruter šalje poruku RIP odgovora na bilo koju mrežu sa kojom je povezan, izostavi bilo kakvu informaciju o ruti koja je originalno primljena iz te mreže. Ova osobina protokola se zove podijeljeni horizont, jer ruter vrši podjelu svog pogleda na mrežu šaljući različite informacije na različite veze.

Potrebno je naglasiti da podijeljeni horizont nije dovoljna osobina za rješavanje problema brojanja do beskonačnosti, pogotovo za veće intermreže koji sadrže višestruko povezane rutere.

Podijeljeni horizont sa otrovanim povratkom

Ova osobina protokola predstavlja poboljšanje podijeljenog horizonta. Umjesto izostavljanja informacija o rutama koje su dobivene od mreže kojoj se šalje odgovor, za takve unose se vrijednost metrike udaljenosti postavlja na 16 (RIP beskonačnost). Pojam otrovani povratak se odnosi na činjenicu da se vrši trovanje ruta za koje želimo da ih prijemni ruter ne koristi. Ova metoda pruža veću sigurnost od običnog podijeljenog horizonta.

Okinuta osvježavanja (Triggered Updates)

Da bi RIP radio dobro, kada se desi nešto bitno potrebno je odmah obavijestiti ostale rutere na mreži. Zbog tog razloga uvedeno je sljedeće pravilo u rad RIP-a: kada ruter izvrši promjenu metrike neke rute obavezan je, gotovo trenutno, poslati poruke RIP odgovora kako bi susjedne rutere obavijestio o promjeni. Ako ovi ruteri nakon primjene informacije o promjeni izvrše korekciju svoje tabele rutiranja, takoñer su obavezni dalje proslijediti informaciju. Tako da promjena u informaciji o ruti uzrokuje kaskadno osvježavanje tabela rutiranja kroz mrežu, značajno smanjujući problem spore konvergencije.

Držanje rute prekinutom (Hold-Down)

Podijeljeni horizont pokušava riješiti problem brojanja do beskonačnosti potiskivanjem prijenosa informacija o rutama koje su prekinute. Kao dodatno osiguranje, uvedena je osobina koja mijenja način na koji ureñaj obrañuje informaciju o ruti koja je u prekidu. Osobina držanja rute prekinutom radi na taj način što traži da ruter pokrene timer kada prvi put primi informaciju da je ruta u prekidu. Dok vrijeme ne istekne, ruter će odbacivati sve informacije koje primi a tvrde da je ruta dostupna. Tipično vrijeme čekanja je od 60 do 120 sekundi.

Page 39: Tcpip, Rip, Ospf, Bgp - 1.1

35

Glavna prednost ove tehnike je u tome da ruter neće biti zbunjen primanjem slučajnih informacija da je ruta dostupna, kada je nedavno primio informaciju da je nedostupna. Ovim je pružen dodatni period vremena da se pročiste informacije koje su netačne, što je korisno pogotovo u velikim i kompleksnim mrežama.

Najveći nedostatak ove tehnike je što forsira kašnjenje u reakciji rutera na rutu koja je ponovo postala dostupna. Ako se desi kratki prekid u ruti, informacija o ponovnoj dostupnosti rute će biti proslijeñena tek nakon isteka vremena čekanja, što čini mreže koje koriste ovu tehniku veoma sporim u reakcijama na promjene u rutama.

4.6. OSPF routing protokol

Kako bi se riješili problemi u algoritmima baziranim na vektoru udaljenosti, izrañen je novi protokol koji je sposobniji (i kompleksniji) a bazira se na algoritmu korištenja najkraćeg puta, odnosno trenutnog stanja veze (Open Shortest Path First). Ovaj protokol rješava mnoge probleme RIP-a i omogućuje dinamički izbor ruta na osnovu trenutnog stanja mreže, a ne samo statične slike kako su ruteri povezani. On u sebi uključuje više naprednih tehnika, kao što je mogućnost hijerarhijske topologije i automatskog dijeljenja opterećenja izmeñu rutera. Sa druge strane, pošto je veoma složen protokol, primjenjuje se samo u situacijama gdje je stvarno neophodan.

Osnovni koncept koji se nalazi iza OSPF-a je struktura podataka nazvana link-state database (LSDB). Svaki ruter u autonomnom sistemu čuva kopiju ove baze podataka, koja sadrži informacije u formi upravljačkih grafova koji opisuju trenutno stanje autonomnog sistema. Svaka ruta u mreži je predstavljena jednim unosom u ovu bazu podataka, i svaka ima pridruženu cijenu (metriku). Unutar metrike može biti sadržano mnogo različitih aspekata performansi rute, ne samo jednostavan broj skokova koji se koristi kod RIP-a.

Informacije o stanju u autonomnom sistemu se kreće kroz sistem u formi LSA poruka (link-state advertisements), koje omogućuju svakom ruteru da obavijesti ostale rutere o njegovom trenutnom znanju o autonomnom sistemu. Tokom vremena ove razmjene informacija konvergiraju i sadrže jednake podatke. Kada se dese promjene u autonomnom sistemu, ruteri šalju obavještenja kako bi se osiguralo da svi ruteri posjeduju aktualne informacije.

Kako bi odredio koju rutu koristiti, svaki ruter koristi svoju bazu podataka za konstrukciju stabla najkraćeg puta (shortest-path tree). Ovo stablo pokazuje veze od rutera do svih ostalih rutera ili mreža u autonomnom sistemu i omogućuje računanje najkraćeg puta do neke lokacije. Svaki put kada doñu nove informacije o stanju u sistemu ovo stablo se ponovo konstruira, tako da se najbolje rute dinamički prilagoñavaju uslovima na mreži. Kada postoji više od jedne rute sa jednakim troškom, promet se može dijeliti izmeñu rutera.

4.6.1. Osnovna topologija OSPF-a i Link State Database (LSDB)

OSPF je dizajniran kako bi omogućavao rutiranje u malim i velikim autonomnim sistemima. Kako bi se ovaj cilj ostvario protokol podržava dvije topologije. Kada se u autonomnom sistemu nalazi mali broj rutera, cijeli se autonomni sistem smatra i ponaša kao jedinstveni entitet. Onaj način rada nema posebno ime ali za njega je u praksi uobičajen naziv OSPF osnovna topologija, kako bi se opisala jednostavna priroda ove topologije. Unutar ove topologije svi su ruteri jednaki i dijele kopije LSDB podatke. Ovi podaci predstavljaju računarsku reprezentaciju topologije autonomnog sistema.

LSDB se može smatrati (vizualizirati) jednakom grafičkom prikazu topologije autonomnog sistema, gdje su ruteri i pojedinačne mreže prikazane kao čvorovi, a veze izmeñu rutera i mreža, kao linije koje ih povezuju. Ove informacije su unutar LSDB prikazane u obliku tabele koja predstavlja virtualnu sliku veza i ruta unutar autonomnog sistema.

Page 40: Tcpip, Rip, Ospf, Bgp - 1.1

36

Slika 4.10. Primjer osnovne topologije OSPF autonomnog sistema.

Unutar ove strukture prikazano je koji ruteri su povezani direktno sa drugim ruterima, odnosno mreže do kojih imaju pristup. Pored toga, u strukturi se nalaze i informacije o trošku (cijeni) pristupa mreži. Ovaj trošak je proizvoljan metrika koju je odabrao administrator sistema na osnovu njemu bitnih kriterija i nije ograničena na pretjerano jednostavnu metriku broja skokova izmeñu rutera koja se koristi u RIP-u.

Tabela 4.4. Primjer Link State Database (LSDB) za autonomni sistem na slici 19.

Od rutera Od mreže Prema ruteru / mreži RA RB RC RD N1 N2 N3 N4

RA 0 0 RB 5 0 0 RC 5 0 0 RD 0 0 N1 2 N2 3 4 3 N3 5 6 1 N4 2

U prethodnoj tabeli potrebno je primijetiti da ne postoji trošak pristupa mreže prema ruteru, to je potrebno kako bi prilikom povezivanja rutera preko mreže bio uračunat samo jedan trošak. Ova osobina je razumljiva jer je ruter dio mreže na koju je povezan.

U LSDB se nalaze informacije koje sadržavaju opis topologije cjelokupnog autonomnog sistema, a ne samo direktnog okruženja rutera. Pošto u osnovnoj topologiji su svi ruteri jednaki, to znači da bi oni morali imati jednake LSDB informacije. Prilikom uključenja ruter može imati različite informacije, ali će se one ubrzo osvježiti kroz razmjenu LSA poruka.

4.6.2. Hijerarhijska topologija OSPF-a, područja i uloge rutera

Osnovna topologija daje dobre performanse za male i srednje velike autonomne sisteme. Ali, kako se broj rutera u autonomnom sistemu povećava, povećava se i količina saobraćaja koji je neophodan za osvježavanje i održavanje LSDB informacija aktualnim. Kada bi u mrežama sa desetinama ili stotinama rutera svi ruteri bili jednaki desio bi se značajan pad u performansama.

Kako bi se pružila bolja podrška za ovako velike intermreže, OSPF podržava korištenje napredne hijerarhijske topologije. Unutar nje autonomni sistem se više ne smatra cjelovitim entitetom gdje su svi ruteri meñusobno povezani kao jednaki. Umjesto takve slike koristi se hijerarhija u dva nivoa, gdje je autonomni sistem podijeljen u dijelove koji se nazivaju područja (areas), koja sadržavaju odreñen broj povezanih rutera i mreža. Ova područja su numerirana i kontrolirana neovisno od strane rutera koji se nalaze u njima, tako da područja

Page 41: Tcpip, Rip, Ospf, Bgp - 1.1

37

gotovo predstavljaju nove autonomne sisteme. Takoñer, područja su meñusobno povezana kako bi se omogućila razmjena informacija unutar cijelog autonomnog sistema.

Ruteri unutar područja čuvaju LSDB informacije o ruterima i mrežama unutar tog područja. Ruteri unutar više od jednog područja čuvaju LSDB informacije o svakom području čiji su dio i takoñer povezuju područja zajedno dijeleći informacije o rutiranju izmeñu njih.

Ova topologija je hijerarhijska jer ruteri unutar nje ne čine jednake članove jedne grupe. Hijerarhija se sastoji od nižeg sloja pojedinačnih područja i višeg sloja koji povezuje pojedinačna područja u autonomni sistem. Ovaj viši sloj se naziva backbone i označen je kao Područje 0 (Area 0).

Slika 4.11. Primjer hijerarhijske topologije OSPF autonomnog sistema.

Unutar hijerarhijske topologije postoje tri vrste rutera:

Interni ruteri (Internel routers) – ovo su ruteri koji su povezani jedino sa ruterima ili mrežama jednog područja. Oni čuvaju samo LSDB svog područja i ne posjeduju znanje o topologiji ostatka autonomnog sistema.

Ruteri na granici podru čja (Area Border Routers) – ovo su ruteri koji su povezani sa ruterima ili mrežama u više od jednog područja. U sebi čuvaju LSDB za savko područje čiji su član. Takoñer pripadaju backbone području.

Backbone ruteri (Backbone Routers) – ovo su ruteri koji su dio OSPF backbone. Po definiciji to uključuje sve rutere na granici područja, pošto oni prosljeñuju informacije rutiranja izmeñu područja. Takoñer, backbone ruter može biti i ruter koji je povezan samo sa drugim backone područjem, pa samim tim nije član nekog drugog područja osim područja 0.

Rutiranje unutar ove topologije se odvija na jedan od sljedeća dva načina, što ovisi od lokacije ureñaja. Ako su izvor i odredište u istom području, tada se rutiranje dešava samo preko mreža i rutera unutar tog područja. Ako su u različitim područjima, tada se datagram rutira od izvora do rutera na granici područja u izvorišnom području, preko backbone područja do rutera na granici područja odredišta, i na kraju isporučen odredištu. Ovaj rad je u potpunosti analogan rutiranju koji se dešava izmeñu autonomnih sistema u velikoj intermreži.

4.6.3. Odreñivanje ruta korištenjem stabla najkraćeg puta (SPF Tree)

Da bi ruter mogao naći najbolju rutu do nekog drugog rutera, mora biti u stanju odrediti najkraći put izmeñu sebe i ostalih rutera ili mreža unutar autonomnog sistema. Ovakav prikaz mreže nije neutralni opis autonomnog sistema koji pružaju LSDB informacije, već pogled na mrežu iz vlastite perspektive rutera.

Ruter stvara ovakav pogled uzimajući informacije iz LSDB tabele i pretvarajući ih u stablo najkraćeg puta (shortest path first tree – SPF tree). Pojam stablo se odnosi na strukturu podataka sa korijenom koje ima grane koje izlaze iz njega i odlaze u druge čvorove,

Page 42: Tcpip, Rip, Ospf, Bgp - 1.1

38

koji dalje imaju grane. Struktura djeluje kao preokrenuto stablo. U ovom slučaju stablo prikazuje topologiju autonomnog sistema ili područja sa ruterom koji izrañuje stablo na vrhu.

Unutar rutera ovo stablo predstavlja samo algoritamski postupak pomoću kojega je moguće izračunati trošak za pristup ostalim ruterima i mrežama unutar autonomnog sistema ili područja. U nekim slučajevima, može biti više od jedne rute za pristup nekoj lokaciji, pa se stablo generira tako da prikazuje samo najkraće rute (sa najmanjim troškom).

Naravno, svaki ruter je odgovoran samo za slanje datagrama na sljedeći korak njegovog putovanja, a ne za cijelo putovanje kao cjelinu. Nakon što se izgradi SPF stablo, ruter će kreirati tabelu rutiranja sa unosom za svaku mrežu u kojoj će biti uključen trošak pristupa i ruter preko kojeg se može pristupiti mreži.

SPF stablo se kreira dinamički na osnovu trenutnog stanja LSDB informacija, ako se ove informacije promjene vrši se ponovno izračunavanje stabla i osvježavanje tabele rutiranja.

Slika 4.12. Primjer OSPF autonomnog sistema sa pridruženim cijenom ruta prema tabeli 1.

Na osnovu ovakvog prikaza može se izračunati SPF stablo za ruter RC. Da bi se izračunao prvi nivo stabla potrebno je gledati na sve ureñaje koji su direktno povezani na ruter RC, i nalazimo:

• RB, sa cijenom 5. • N2, sa cijenom 3. • N3, sa cijenom 6.

Da bi se izračunao drugi nivo stabla, potrebno je gledati na sve ureñaje koji su direktno povezani sa ureñajima iz prvog nivoa. Nakon toga se za pristup pojedinom ureñaju iz drugog nivoa dodaje cijena pristupa odgovarajućem ureñaju iz prvog nivoa:

• RB, cijena 5 i može pristupiti: - RC, sa cijenom 5, ukupna cijena 10. - N2, sa cijenom 4, ukupna cijena 9. - N3, sa cijenom 5, ukupna cijena 10.

• N2, cijena 3 i može pristupiti: - RA, sa cijenom 0, ukupna cijena 3. - RB, sa cijenom 0, ukupna cijena 3. - RC, sa cijenom 0, ukupna cijena 3.

• N3, cijena 6 i može pristupiti: - RB, sa cijenom 0, ukupna cijena 6. - RC, sa cijenom 0, ukupna cijena 6. - RD, sa cijenom 0, ukupna cijena 6.

Page 43: Tcpip, Rip, Ospf, Bgp - 1.1

39

Nakon što se iz ove strukture uklone rute koje nemaju smisla ili imaju veću cijenu od drugih putova prema istom odredištu, dobije se sljedeća struktura:

• N2 prema RA, sa cijenom 3. • N3 prema RD, sa cijenom 6.

Proces se nastavlja sa odreñivanjem ureñaja koji povezuju ureñaje koje smo uklonili u drugom koraku. U sljedećoj strukturi su prikazani samo oni koji imaju smisla:

• RA, povezan sa N1, cijena 2, ukupna cijena 5. • RD, povezan sa N4, cijena 4, ukupna cijena 10.

Slika 4.13. Izračunato SPF stablo za ruter RC.

Tabela 4.5. OSPF tabela rutiranja za RC.

Odredišna mreža Cijena Sljedeći korak (ruter)

N1 5 RA

N2 3 (lokalno)

N3 6 (lokalno)

N4 10 RD

4.6.4. OSPF poruke

Za razliku od RIP-a, OSPF ne šalje svoje informacije koristeći UDP, već direktno formira IP datagrame, pakirajući ih koristeći broj protokola 89 za polje IP protokol. Unutar OSPF-a je definirano pet tipova poruka za različiti tipove komunikacije:

1. Hello – kao što samo ime sugerira, ove poruke se koriste kao oblik pozdrava koji omogućuje ruteru otkrivanje susjednih rutera na lokalnoj mreži i lokalnim vezama. Poruka uspostavlja odnose izmeñu susjednih ureñaja i prenosi ključne parametre o načinu korištenja OSPF-a u autonomnom sistemu ili području.

2. Database Description – ove poruke sadrže opise topologije autonomnog sistema ili područja. To jest, one prenose sadržaj LSDB struktura izmeñu rutera. Prijenos velike LSDB strukture može zahtijevati više poruka, ovo se vrši na taj način što izvorišni ureñaj postaje master i šalje podatke u seriji, a prijemni ureñaj postaje slave i odgovara sa potvrdama prijema.

Page 44: Tcpip, Rip, Ospf, Bgp - 1.1

40

3. Link State Request – ove poruke se koriste od strane jednog rutera kako bi zatražio osvježene informacije o dijelu LSDB strukture drugog rutera. U poruci se posebno navodi koja je to veza ili veze čije su informacije potrebne.

4. Link State Update – ove poruke sadrže osvježene informacije o stanju pojedinih veza u LSDB-u. Šalju se kao odgovor na Link State Request poruke, te takoñer šalju redovito od strane rutera ostatku mreže. Njihov sadržaj se koristi za osvježavanje LSDB informacija u prijemnom ruteru.

5. Link State Acknowledgment – ove poruke pružaju pouzdanost prijenosu informacija izmeñu rutera, eksplicitno potvrñujući prijem Link State Update poruka.

4.7. BGP gateway protokol

Moderne TCP/IP intermreže su sastavljene od autonomnih sistema koji rade nezavisno. Kako bi se formirale veće intermreže ili internet, potrebno je povezati autonomne sisteme što zahtjeva korištenje jedinstvenog protokola za vanjsko rutiranje koje podržavaju svi autonomni sistemi. U današnjim intermrežama ovaj protokol je BGP (Border Gateway Protocol).

U tipičnoj intermreži svaki autonomni sistem odredi jednog ili više rutera na kojima će raditi BGP softver. BGP ruteri autonomnog sistema su povezani sa jednakim ruterima u drugim autonomnim sistemima. Svaki ruter pohranjuje informacije o mrežama i rutama do njih u baze informacija za rutiranje (Routing Information Bases) tj. RIB. Ove informacije se izmjenjuju izmeñu BGP rutera i propagiraju kroz cijelu intermrežu što dopušta pronalaženje puta izmeñu bilo koja dva autonomna sistema tj. omogućuje rutiranje u intermreži.

BGP podržava proizvoljne topologije autonomnih sistema. Unutar autonomnog sistema mora postojati minimalno jedan BGP ruter, ali ih može biti više. Takoñer je dopuštena komunikacija sa BGP ruterima unutar jednog autonomnog sistema. Izbor ruta se vrši determinističkim algoritmom koji procjenjuje atribute putova i bira efikasnu rutu izbjegavajući ruterske petlje i ostale probleme. Izbor ruta se može dodatno kontrolirati kroz grupu BGP pravila (BGP policies) koje odreñuju npr. da li je autonoman sistem spreman prenositi promet od drugih autonomnih sistema. Ali, BGP ne može garantirati da će koristiti najefikasniju rutu do bilo koje destinacije jer on ne može da zna šta se dešava unutar nekog autonomnog sistema i time koliki je trošak rute do odredišta.

4.7.1. BGP topologija i odnosi meñu susjednim ruterima

Jedna od najvažnijih osobina BGP-a je njegova fleksibilnost, jer je u stanju povezati bilo koju intermrežu autonomnih sistema pri tom koristeći proizvoljnu topologiju. Druga važna činjenica je da BGP nema nikakvo znanje od dogañanjima unutar autonomnih sistema, BGP koristi samo informacije koje je dobio od autonomnih sistema i dijeli ih sa ostalim autonomnim sistemima.

Stvaranje BGP intermreže počinje sa odreñivanjem rutera u autonomnom sistemu na kojim će raditi BGP protokol. U terminologiji protokola ovi se ruteri nazivaju govornicima (speakers), jer oni govore BGP „jezik“. Autonomni sistem može sadržavati mnogo rutera meñusobno povezanih u proizvoljnu topologiju.

Unutar autonomnog sistema može se prepoznati razlika izmeñu rutera koji su povezani samo sa ruterima istog autonomnog sistema i rutera koji su povezani sa ruterima drugih autonomnih sistema. Ruteri iz druge skupine se nazivaju graničnim ruterima (border routers) unutar BGP-a. BGP govornici koji graniče neki autonomni sistem su direktno povezani sa jednim ili više BGP govornika drugih autonomnih sistema, te svojim vezama stvaraju proizvoljnu topologiju koju je zamislio arhitekt intermreže. Direktno povezani BGP govornici se nazivaju susjedima (neighbors).

Page 45: Tcpip, Rip, Ospf, Bgp - 1.1

41

BGP susjedi koji pripadaju istom autonomnom sistemu se nazivaju internal peers, dok su BGP susjedi dva različita autonomna sistema external peers. Veze izmeñu ovih rutera mogu biti direktni linkovi korištenjem neke tehnologije iz drugog sloja, ili indirektni link korištenjem TCP-a. Na ovaj način je omogućeno BGP govornicima uspostava BGP sesija i razmjena informacija rutiranja korištenjem sistema poruka. Ove veze su takoñer i sredstvo preko kojeg se vrši prijenos prometa krajnjih korisnika izmeñu autonomnih sistema.

Slika 4.14. Primjer BGP topologije.

4.7.2. Tipovi autonomnih sistema u BGP-u i protok prometa

Kada se povežu autonomni sistemi u zajedničku intermrežu, veze izmeñu graničnih rutera postaju put preko kojeg se kreću poruke izmeñu autonomnih sistema. Veoma je bitno pažljivo kontrolirati ovaj promet poruka izmeñu autonomnih sistema. Postoje dvije vrste prometa u terminologije BGP-a:

Lokalni promet (Local Traffic) – promet koji se prenosi u autonomnom sistemu a nastao je unutar autonomnog sistema ili je namijenjen za isporuku u autonomnom sistemu.

Prelazni promet (Transit Traffic) – promet čije je porijeklo izvan autonomnog sistema i njegovo se odredište takoñer nalazi izvan autonomnog sistema.

Takoñer, na osnovu načina na koji su meñusobno povezani u intermreži, možemo autonomne sisteme podijeliti u dvije grupe:

Stub AS – ovo je autonomni sistem koji je povezan samo sa jednim drugim autonomnim sistemom, kao dobra analogija može poslužiti slijepa ulica. U ovoj situaciji promet je ograničen samo na poruke u i iz tog autonomnog sistema.

Multihomed AS – ovo je autonomni sistem koji je povezan sa dva ili više drugih autonomnih sistema. U ovoj situaciji je moguć i promet koji prolazi kroz autonomni sistem a namijenjen je nekom drugom autonomnom sistemu.

Page 46: Tcpip, Rip, Ospf, Bgp - 1.1

42

Razlog zašto BGP pravi razliku izmeñu tipova prometa i vrsta autonomnih sistema je kontrola prometa koji je u tranzitu kroz autonomni sistem. Svaki autonomni sistem mora koristiti barem jedan drugi autonomni sistem kako bi poslao poruku nekoj udaljenoj lokaciji, ali većina je manje voljna i da sami postanu put za mnogo vanjskog prometa. Ako bi se autonomni sistem našao u situaciji gdje je prisiljen prenositi sve poruke ostalih autonomnih sistema, mogao bi lako biti preopterećen.

Da bi se pružila mogućnost kontrole prelaznog prometa, BGP dopušta autonomnim sistemima uvoñenje i korištenje pravila rutiranja. Ova grupa pravila upravlja načinom na koji će autonomni sistem obrañivati promet. Postoji velika fleksibilnost u načinu na koji se autonomni sistem može odnositi prema prelaznom prometu, neke od tih opcija su: potpuna zabrana vanjskog prometa, ograničeni vanjski promet, vanjski promet upravljan kriterijem (samo u odreñeno vrijeme ili kada postoji dovoljno slobodnog kapaciteta za prijenos).

Na sličan način se može definirati na koji će način biti tretirane poruke autonomnog sistema od strane drugih autonomnih sistema. Ova opcija je izražena kod autonomnih sistema koji su povezani sa više drugih autonomnih sistema i omogućuje izbor uslova pod kojima će promet biti poslan nekom od autonomnih sistema. Kriteriji za ova pravila mogu biti bazirani na sigurnosti ili brzini prijenosa nekog autonomnog sistema ili drugim faktorima.

Kako bi se omogućio normalan rad intermreže neki se autonomni sistemi dizajniraju tako da uključuju resurse za prijenos velike količine poruka drugih autonomnih sistema. Ovo je obično namjena backbone veza velikih kapaciteta i brzina, čiji su korisnici drugi autonomni sistemi.

4.7.3. BGP Routing Information Bases (RIBs)

Konceptualno, cjelokupna aktivnost oko rada sa informacijama rutiranja može se podijeliti u četiri koraka:

Spremanje rute (Route Storage) – svaki BGP ruter sprema informacije o načinu na koji može pristupiti nekoj mreži u grupu specijalnih baza podataka. Takoñer ove se baze podataka koriste za čuvanje informacija o rutama koje je BGP ruter dobio od drugih ureñaja.

Osvježavanje rute (Route Update) – kada BGP ruter primi update poruku on svog susjeda on mora odlučiti kako će koristiti ove informacije. Za osvježivanje ruta koristi se posebna tehnika koja odlučuje kada i na koji način primijeniti primljene informacije.

Izbor rute (Route Selection) – svaki BGP ruter koristi informacije u svojoj bazi podataka za izbor dobrih ruta prema svakoj mreži unutar intermreže.

Objavljivanje rute (Route Advertisment) – svaki BGP ruter redovno javlja svojim susjedima svoje znanje o drugim mrežama i načinima pristupa od njih. Ova aktivnost se ostvaruje korištenjem BGP Update poruka.

Središte BGP sistema informacija o rutama je baza podataka u kojoj su pohranjene rute. Ova baza se kolektivno naziva Routing Information Base, ali u stvarnosti ne predstavlja jedinstven entitet. Sastoji se od tri odvojene sekcije koje koristi BGP ruter kako bi odrañivao unos i slanje informacija o rutama. Ova tri dijela su:

Adj-RIBs-In – grupa dijelova ulazne baze podataka koja sadrži informacije o rutama primljene od susjednih BGP rutera.

Loc-RIB – lokalna baza podataka o rutama, predstavlja centralnu bazu podataka koja čuva informacije o rutama koje su odabrane od rutera i koje se smatraju ispravnim.

Adj-RIBs-Out – grupa dijelova izlazne baze podataka o rutama koje je BGP ruter odabrao da se proslijede njegovim susjedima.

Ovakva baza podataka je složena struktura, ne samo što se sastoji iz više dijelova, nego što BGP ruteri čuvaju mnogo više informacija o rutama od jednostavnijih protokola rutiranja.

Page 47: Tcpip, Rip, Ospf, Bgp - 1.1

43

Tri dijela RIB baza su mehanizam pomoću kojih se kontrolira protok informacija u BGP ruteru. Podaci primljeni u Update porukama od susjednih BGP rutera se drže Adj-RIBs-in, pri čemu za svaki susjedni ruter postoji odvojena tabela. Ovi se podaci onda analiziraju i odgovarajući dijelovi se biraju za osvježavanje sadržaja Loc-RIB tabele, koja je glavna baza podataka ruta koje koristi ovaj BGP ruter. U redovitim intervalima se sadržaj Loc-RIB baze postavlja u tabele Adj-RIBs-Out, kako bi se poslale susjednim BGP ruterima preko Update poruka.

4.7.4. BGP atributi

BGP objavljuje rutu ne pomoću adrese odredišta i udaljenosti do njega, već pomoću adrese odredišta i opisa puta (path description) kojim se stiže na odredište. To znači da BGP koristiti put-vektor algoritam (path-vector), tako da svaka komunikacija sa udaljenom mrežom daje veliki broj informacija o nizu rutera kroz koje poruka mora proći do svog odredišta. Informacije o putu za svaku rutu se čuvaju u RIB bazi u obliku atributa puta (path attributes). Čuvanje, obrada, slanje i primanje ovih atributa je metoda pomoću koje BGP ruteri vrše izbor i stvaranje ruta.

Postoji više tipova atributa, od kojih svaki opisuje specifičnu karakteristiku rute. Atributi su podijeljeni u različite kategorije na osnovu njihove značajnosti i posebnih pravila koji odreñuju njihovu propagaciju izmeñu rutera. Najvažniji atributi se nazivaju opće poznati atributi (well-known), te ih svaki BGP ruter mora raspoznavati i obrañivati, ali samo neki od njih moraju biti poslati za svaku rutu. Drugi atributi su opcionalni i ne moraju biti implementirani.

Četiri formalne klasifikacije atributa puta su:

Opće poznati obavezni (Well-known Mandatory) – ovo su najvažniji atributi puta i moraju biti uključeni u svaki opis rute unutar Update poruke, i moraju biti obrañeni od svakog BGP ureñaja koji ih primi.

Opće poznati diskrecioni (Well-known Discretionary) – ovi atributi puta moraju biti prepoznati od BGP ureñaja ako su primljeni, ali ne moraju biti uključeni u Update poruke, time su oni opcionalni za pošiljaoca informacija ali obavezni za primaoca.

Opcionalni prenosivi (Optional Transitive) – ovi atributi puta mogu biti prepoznati od BGP rutera i mogu biti uključeni u Update poruke. Oni moraju biti proslijeñeni ostalim BGP ruterima kada se oglašava ruta, iako su primljeni od ureñaja koji ih ne razumije.

Opcionalni ne prenosivi (Optional Non-Transitive) – opcionalni atributi koji mogu biti prepoznati od BGP ureñaja i koji mogu biti uključeni u Update poruke. Ako ih primi ureñaj koji ne prepoznaje atribute, oni se odbacuju i ne prenose se ostalim ruterima.

Prilikom odabira rute BGP koristi sljedeće atribute:

1. weight (atributi važnosti),

2. local preference (atributi lokalne preference),

3. multi-exit discriminator MED (višeizlazni diskriminirajući atributi),

4. origin (porijeklo),

5. AS_path,

6. next hop (slijedeći skok),

7. community.

Page 48: Tcpip, Rip, Ospf, Bgp - 1.1

44

Atributi važnosti (weight) – Cisco definiran atribut koji je lokalan za svaki ruter što znači da nije objavljen ostalim ruterima. Kad ruter sazna nekoliko ruta za istu destinaciju odabrati će onu rutu sa većom važnosti. Weight atribut odreñuje težine pojedinih veza prema BGP ruterima u drugim autonomnim sistemima. Koristi se za usmjeravanje odlaznog prometa iz autonomnog sistema prema drugim sistemima istog objavljenog prefiksa.

Atributi lokalne preference (local-preference) – služe za odabir preferirane tačke izlaza iz lokalnog autonomnog sistema. Ti se atributi prenose kroz lokalni autonomni sistem, a ako postoji više izlaznih tačaka iz autonomnog sistema ovi atributi se koriste za odabir odreñene izlazne tačke za odreñenu rutu. Ovaj atribut neće utjecati na ostale autonomne sisteme jer se smatra važećim samo unutar jednog autonomnog sistema. Kada poruke prelaze BGP vezama u druge sisteme vrijednost ovog atributa se resetira. Za razliku od MED atributa, atribut Local-Pref odreñuje odlazni promet i ne prelazi u druge sisteme.

Višeizlazni diskriminiraju ći atributi (MED) – ovo je atribut diskriminator u slučaju višestrukog izlaza. Ruteri daju savjete eksternim susjedima za preferiranje puta prema svom autonomnom sistemu u kojem postoje višestruki ulazi iz drugog autonomnog sistema. MED atribut se razmjeni izmeñu susjednih autonomnih sistema, meñutim kada uñe u sistem više se ne šalje dalje, nego se resetira na 0. Koristi se kao nagovještaj za vanjski autonomni sistem s obzirom na preferiranu rutu. Termin nagovještaj se koristi jer vanjski autonomni sistem koji prima MED-ove može koristiti i druge BGP atribute za odabir puta. Preferira se niža vrijednost metrike.

Atribut porijekla (origin) – pokazuje kako BGP saznaje podatke o ruti. Dužina atributa iznosi 1 oktet i kodiran je na sljedeći način:

1) IGP - 0 - Prefiks je unutarnji za izvorišni autonomni sistem; ova vrijednost se upotrebljava kada se koristi naredba network za ubacivanje ruta u BGP. Vrijednost je postavljena od konfiguracijske komande mrežnog rutera.

2) EGP - 1 - Prefiks je saznat putem eksternog protokola (BGP-a).

3) NEPOTPUN - 2 - Najčešće znači da je prefiks saznat iz statičkih ruta. Porijeklo rute je nepoznato ili saznato na drugačiji način.

Atributi staze (AS-path) – svaki prefiks sadrži atribut AS-Path u kojem je lista sistema koji se moraju proći da se doñe do objavljenog prefiksa. Lista je prazna u sistemu koji objavljuje prefiks. Kada on pošalje poruku drugom sistemu BGP vezom dodaje broj svog sistema u listu. Svaki slijedeći sistem dodaje svoj broj na početak liste kada šalje objavu prefiksa svom susjednom BGP ruteru. Sam atribut je koristan u dva pogleda:

- Ako imamo višestruke putove do odredišta algoritam će u jednom od svojih koraka presuditi na temelju dužine ovog atributa (manji broj autonomnih sistema kojima poruka treba proći),

- Izbjegavanje petlji: svaki autonomni sistem odbacuje update poruke koje sadrže njegov vlastiti broj.

Atribut sljede ćeg koraka (next-hop) – svaki prefiks u update poruci je praćen Next-Hop atributom, koji opisuje IP adresu sučelja koje bi trebalo primiti promet za navedeni prefiks. Kod BGP veze susjeda Next-Hop atribut je obično IP adresa susjeda koju objavi prefiks. Ruter modificira Next-Hop kad šalje update poruku eBGP vezom, ali ne i kad šalje poruku iBGP protokolom. eBGP atribut sljedećeg koraka je IP adresa koja se koristi za pronalazak puta do routera za oglašavanje.

Community atributi – odreñuju put grupnih destinacija, na koje se odnose upravljačke odluke. Predefinirani community atributi su :

1) no-export - ne izvještavaj ovu rutu. 2) no-advertise - ne oglašavaj ovu rutu, 3) internet - oglašavaj ovu rutu internetu (svi ruteri u mreži joj pripadaju).

Page 49: Tcpip, Rip, Ospf, Bgp - 1.1

45

4.7.5. Odreñivanje rute i proces odlučivanja

Kako je prethodno navedeno, BGP u svojoj bazi podataka za rute ima posebne sekcije za informacije koje je primio od susjednih BGP rutera, te za informacije koje on želi proslijediti svojim susjedima. Proces obrade ovih informacija i osvježavanje sadržaja pojedinih dijelova baze podataka se odvija u sljedeća tri koraka:

1. svaka ruta koje je primljena od BGP rutera iz susjednih autonomnih sistema se analizira i dodjeljuje joj se nivo sklonosti. Rute se onda slažu prema sklonosti i najbolje za svaku mrežu se oglašavaju drugim BGP ruterima unutar autonomnog sistema.

2. vrši se izbor najbolje rute za svaku destinaciju iz primljenih podataka na osnovu nivoa sklonosti, te se tako odabrane rute koriste za osvježavanje lokalne tabele rutiranja Loc-RIB.

3. vrši se izbor ruta iz lokalne baze za prijenos susjednim BGP ruterima u drugim autonomnim sistemima. [1]

Očito je, da ako BGP ruter zna samo za jednu rutu do neke lokacije da će nju spremiti u bazu podataka za rute. Pridruživanje nivoa sklonosti ima smisla samo u situacijama gdje su primljene informacije o više ruta koje vode do neke lokacije. Nivoi sklonosti se mogu odreñivati na osnovu više kriterija, kao što su: broj autonomnih sistema izmeñu rutera i lokacije, postojanje odreñenih pravila u autonomnim sistemima koji čine neke rute neupotrebljivim, itd.

U slučajevima gdje su rute izjednačene po svojim osobinama, koristi se poseban algoritam za izbor jedne od njih. Takoñer, upotrebljava se posebna logika da bi se riješile posebne situacije kao što su preklapajuće mreže.

BGP provjerava više kriterija prilikom odabira najbolje rute za pakete. Pritom koristi ove kriterije:

1) paket se odbaci ako je slijedeći skok nedostupan,

2) preferira se najveća težina (weight),

3) nakon težine najvažnija je lokalna preferenca (local preference), stoga ako su težine iste gleda se najveća lokalna preferenca,

4) nakon lokalne preference bira se onaj koji ima porijeklo (origin) na BGP-u,

5) ako niti jedna ruta nema porijeklo, bira se ruta koja ima najkraći AS_path,

6) ako sve rute imaju isti AS_path, preferira se ruta koja ima nižu klasu porijekla,

7) ako su klase porijekla iste, preferira se staza sa manjim MED atributom,

8) ako staze imaju isti MED, preferiraju se vanjske nad unutarnjim,

9) ako su staze i dalje iste, preferira se staza prema najbližem IGP susjedu,

10) preferira se staza sa manjom IP adresom. [9]

U svom izboru ruta do neke destinacije BGP ne može garantirati da će odabrati najbržu rutu sa najmanjim troškom. On može odabrati rutu koja minimizira broj autonomnih sistema kroz koje treba proći poruka, ali naravno, svi autonomni sistemi nisu isti. Neki autonomni sistemi su veliki i sadrže spore veze, dok su drugi mali i sa brzim vezama. Korištenjem pravila izbora ruta može se izvršiti manja korekcija procesa, ali u općem slučaju, pošto BGP ne zna šta se dešava unutar autonomnog sistema, nemoguće je garantirati efikasnost odabrane rute.

Page 50: Tcpip, Rip, Ospf, Bgp - 1.1

46

Unutar protokola postoji metoda za objavljivanje novih ruta. Ako BGP ruter dobije informaciju o novoj ruti od ruting protokola unutar autonomnog sistema na koji je on direktno priključen, on može odlučiti tu informaciju uključiti u svoju bazu podataka ruta i redovnim putem je proslijediti svojim susjednim BGP ruterima. Takoñer postoji mehanizam za prenošenje informacija o rutama koje su postale nedostupne za BGP ruter.

4.7.6. BGP poruke

Prije nego što počne izmjenjivanje poruka izmeñu BGP rutera, ovi ruteri se moraju označiti i povezati. Način ispunjavanja ovih zahtijeva nije definiran unutar protokola i obavlja se izvan njega. Nakon što su uspostavljene veze izmeñu BGP rutera uspostavljena je meñusobna povezanost autonomnih sistema u intermreži.

BGP operacije počinju time što par susjednih BGP rutera uspostavi vezu pomoću transportnog protokola. BGP za svoju komunikaciju i uspostavu pouzdanog prijenosa poruka koristi TCP, tako da BGP ruteri uspostavljaju TCP sesiju koja ostaje aktivna tokom cijelog procesa razmjena poruka. Nakon uspostave TCP sesije svaki BGP ruter šalje BGP Open poruku, koja započinje proces uspostave BGP veza izmeñu ureñaja. U ovoj poruci, svaki ruter identificira sebe i svoj autonomni sistem, te takoñer kaže svojim susjedima koje bi parametre želio koristiti za vezu. Pod pretpostavkom da svaki ureñaj sadržaje ove poruke smatra prihvatljivim, on će odgovoriti sa Keepalive porukom i time počinje BGP sesija. U normalnim okolnostima većina BGP rutera će održavati istovremene sesije sa više susjeda, kako izvan, tako i unutar svog autonomnog sistema.

Nakon što se uspostavi BGP sesija, dva susjeda započinju trajni proces razmjene informacija o mrežama i načinu pristupa njima. Svaki BGP ruter pakuje informacije iz svoje RIB tabele u BGP Update poruke koje šalje svom susjedu. Ove poruke sadrže liste poznatih mrežnih adresa, kao i informacije o putovima do mreža u formi atributa puta.

Prilikom prve razmjene poruka BGP ruteri šalju svoju cjelokupnu RIB bazu, kako bi se osiguralo da ruteri posjeduju kompletne informacije. Sve naredne razmjene poruka prenose samo inkrementalne promjene u RIB informacijama koje su se promijenile. Razmjenom samo promijenjenih informacija se značajno smanjuje nepotrebno korištenje mrežne propusnosti, čime se BGP protokol čini efikasnijim.

TCP sesija izmeñu dva BGP rutera se može održavati otvorenom veoma dugo vrijeme, ali Update poruke se šalju samo onda kada se dese promjene u rutama, što se obično dešava bez posebne pravilnosti. Što znači da izmeñu razmjene BGP Update poruka može proći mnogo sekundi. Kako bi se osiguralo da susjedi uspješno održavaju meñusobnu komunikaciju i otvorenu sesiju, oni redovito šalju Keepalive poruke kada nemaju drugih informacija za slanje. Ovo su poruke koje ne sadrže informacije i poručuju prijemnom ureñaju da je njegov susjed još uvijek aktivan i dostupan. One se šalju neredovito (ne češće od jedne u sekundi), ali dovoljno pravilno da bi susjedi znali da sesija nije prekinuta.

Posljednji tip BGP poruka je BGP Notification poruka. Ovo je poruka greške i poručuje susjedu da se desio problem i opisuje prirodu problema. Nakon slanja ove poruke ureñaj prekida BGP vezu izmeñu susjeda. Nakon toga će biti potrebno ponovno dogovoriti novu vezu, nakon što se otkloni problem koji je doveo do slanja BGP Notification poruke.

Page 51: Tcpip, Rip, Ospf, Bgp - 1.1

47

4.8. Kvalitet servisa (Quality Of Service)

U kontekstu IP tehnologije, kvalitet servisa (QoS) definira se kao sposobnost pružanja servisa različitog nivoa raznim Internet aplikacijama, u skladu sa njihovim zahtjevima. QoS se kvantitativno izražava pomoću mjera performansi kao što su: raspoloživost servisa, vjerojatnoća greške, propusna moć, kašnjenje, vjerojatnoća gubitka paketa, vrijeme uspostave veze, vrijeme detekcije i ispravljanja greške i dr. Pružatelji servisa mogu da garantirati pretplatnicima nivo QoS, koji se definira sporazumom o nivou servisa - SLA (Service Level Agreement).

Slika 4.15. Definicija kvalitete servisa (QoS).

Osnovne karakteristike kojima se definira kvalitet prijenosa paketa od jedne tačke do druge su:

- Gubitak paketa, - Kašnjenje (u isporuci), - Varijacija kašnjenja (jitter).

Gubitak paketa se odnosi na postotak paketa koji ne stiže do odredišta. Gubitak paketa potiče od grešaka u mreži, oštećenih paketa i naročito od zagušenih mreža. Mnogi paketi koji se gube u optimiziranim mrežama se namjerno uklanjaju od strane mrežnih ureñaja, da bi se spriječila zagušenja.

Za mnoge TCP/IP bazirane saobraćajne tokove, kao što su servisi vezani za udaljeno štampanje i udaljeni pristup datotekama, insistiranje na malom postotku gubitaka paketa nema smisla, jer će TCP/IP mehanizam retransmisije osigurati stizanje paketa kad-tad.

Meñutim, za UDP saobraćaj koji se koristi kod real-time aplikacija kao što je prijenos slike i govora, retransmisija nije ostvarljiva i gubitci se teže toleriraju. Kao orijentaciono pravilo, mreža sa visokom raspoloživošću treba da ima manje od 1% gubitaka i za prijenos govora, gubitci treba da su veoma bliski 0%.

Page 52: Tcpip, Rip, Ospf, Bgp - 1.1

48

Kašnjenje se definira kao vrijeme koje je potrebno paketu da putuje od izvorišta do odredišta. Kašnjenje se sastoji iz fiksne i promjenljive komponente kašnjenja. Fiksno kašnjenje uključuje komponente kao što su: serijalizacija, kodiranje, dekodiranje i propagacijska kašnjenja. Promjenljivo kašnjenje je najčešće posljedica zagušenja i uključuje prije svega vrijeme koje paketi provode u mrežnim meñuspremnicima dok čekaju na pristup prijenosnom mediju.

Generalno, kašnjenje kod dvosmjernih saobraćajnih tokova pravi mnogo veće probleme, jer se u primjeni kašnjenja u svakom od smjerova efektivno sabiraju. Primjer dvosmjernog saobraćaja su telnet sesije (pristup udaljenom ureñaju), gdje se kašnjenje za korisnika iskazuje kao sporo prihvaćanje unesenih slova. Primjer je i govorni saobraćaj gdje ukupno kašnjenje otežava normalan razgovor, bez istovremenog pričanja sugovornika.

Pravilo projektiranja je da totalno vrijeme potrebno paketu da se prenese kroz mrežu mora da bude manje od 150 ms (ITU G. 114 preporuke kažu da ta kašnjenja treba da su unutar granica od 150 ms za žične – zemaljske komunikacijske linije i unutar 250-300 ms za satelitske komunikacije).

Varijacija kašnjenja ( jitter) je razlika u vremenima kašnjenja odgovarajućih paketa u toku. Često se koristi meñuspremnik za poravnavanje vremena pristizanja, ali postoje trenutni i totalni limiti u pogledu mogućnosti takvog rješenja. Bilo koji tip meñuspremanja paketa uveden sa ciljem smanjenja varijacije kašnjenja direktno povećava ukupno kašnjenje u mreži.

Opće je pravilo da saobraćaj koji traži malo kašnjenje takoñer zahtjeva i minimalne varijacije u kašnjenju. Pravilo projektiranja je da govorni saobraćaj ne može da se ostvaruje sa više od 30 ms varijacije kašnjenja. Velike varijacije kašnjenja kod prijenosa slike (video streaming) izaziva iskidane pokrete, gubitak kvaliteta slike ili čak gubitak video slike.

Neodgovarajuća propusnost izaziva povećanje kašnjenja paketa, jer paketi provode više vremena u redovima čekanja (meñuspremnicima) mrežnih ureñaja. U jako zagušenim mrežama neodgovarajuća propusnost dovodi do gubitka paketa jer se redovi čekanja (meñuspremnici) prepune.

Nemoguće je ispuniti QoS zahtjeve ako komunikacioni kanali imaju nedovoljnu propusnost. Dodavanje propusnosti poznato kao predimenzioniranje mreže (over-provisioning), neće uvijek riješiti problem QoS. Vjerojatnoća zagušenja predimenzionirane mreže je mala, ali ako postane zagušena može da se ponaša lošije od mreže sa manjom propusnošću koja koristi napredne QoS osobine.

Različite aplikacije, protokoli i tipovi saobraćaja imaju različite QoS zahtjeve u pogledu količine gubitaka, kašnjenja i varijacije kašnjenja koji se mogu tolerirati. Prepoznavanje ovih razlika je ključni element u projektiranju i konfiguriranju mreže koja isporučuje odgovarajući QoS. Nije neophodno da se radi predimenzioniranje propusnosti mreže, jer dio saobraćaja može da tolerira niže nivoe QoS. Umjesto toga, treba koristiti provjereni model prioriteta kojim se dijeli u nekoliko klasa servisa kao što je:

– Gold (Mission-Critical) – npr. Transakcioni i poslovni softver, – Silver (Guaranteed-Bandwidth) – Streaming video, poruke i intraneti (VPN), – Bronze (Best-Effort i Default klasa) – Internet pretraživanje, e-mail, – Less-than-Best-Effort (Opcionalno; dozvoljeni veći gubitci) – FTP, back-up i

aplikacije (Napster, KaZaa).

Page 53: Tcpip, Rip, Ospf, Bgp - 1.1

49

4.8.1. QoS modeli

Postoje tri modela servisa iz kojih se može izabrati:

– Best-effort, – Integrated, – Differentiated.

Izabrani QoS model mora biti usuglašen sa QoS zahtjevima koje mreža podržava i integracijom raznovrsnih mrežnih aplikacija.

Servis najboljeg pokušaja ( Best-effort service)

Servis najboljeg pokušaja je model servisa kod koga aplikacija kad god želi, u bilo kojoj količini, bez prethodnog traženja dozvole ili obavještavanja mreže šalje svoje pakete. Za ovaj servis, mreža isporučuje pakete ako može, bez ikakvih garancija u pogledu pouzdanosti, granica kašnjenja ili propusnosti. FIFO redovi u mreži implementiraju ovaj servis. FIFO je osnovna (predodreñena) metoda za redove čekanja na ruterima. Servis najboljeg pokušaja je odgovarajući za širok dijapazon mrežnih aplikacija kao što su generalno prenosi datoteka, elektronska pošta i pretraživanje mreže.

Integrirani servisi ( IntServ)

Kod ovog modela aplikacija zahtjeva specifičnu vrstu servisa od mreže prije slanja podataka. Zahtjev se ostvaruje odgovarajućom eksplicitnom signalizacijom. Aplikacija obavještava mrežu o svom profilu saobraćaja i zahtjeva posebnu vrstu servisa koja obuhvata zahtjeve u pogledu propusnosti i kašnjenja. Očekuje se da aplikacija šalje podatke tek pošto dobije potvrdu od mreže. Takoñer se očekuje da se šalju podaci koji ulaze u okvire opisane u profilu saobraćaja.

Mreža obavlja kontrolu pristupa, baziranu na informacijama iz aplikacije i raspoloživim mrežnim resursima. Takoñer se posvećuje ispunjenju QoS zahtjeva aplikacije, sve dok se poštuje specifikacija profila saobraćaja. Mreža ispunjava obaveze održavanjem per-flow stanja i provoñenjem klasifikacije paketa, politike i inteligentnog upravljanja redovima, na osnovu tog stanja. IntServ model dopušta aplikacijama da koriste IETF Resource Reservation Protocol (RSVP), koji se može koristiti od strane aplikacija da ruterima signaliziraju svoje zahtjeve za QoS.

Diferencirani servisi ( DiffServ)

Arhitektura diferenciranih servisa je novi standard koji je proizašao iz IETF (Internet Engineering task force). Ova arhitektura zahtjeva da se svaki paket klasificira pri ulasku u mrežu. Klasifikacija se ostvaruje preko zaglavlja IP paketa, korištenjem bilo IP precedence (dio ToS polja) ili poželjnije preko Differential Services Code Point (DSCP) polja – novija implementacija ToS. Ovo obuhvata prva tri ili šest bita od polja u Type of Service (ToS) polja. Klasifikacija se može takoñer sprovesti kroz okvir sloja 2 u formi Class of Service (CoS) polja uključenih u ISL (Inter-Switch Link Protocol) i 802.1Q polja.

Jednom kada su paketi klasificirani na ivici mreže preko pristupnih ili graničnih rutera, mreža koristi klasifikaciju da bi odlučila kako da saobraćaj rasporeñuje u redove čekanja, oblikuje i sprovodi politiku. Za razliku od IntServ modela, DiffServ ne zahtjeva da mrežne aplikacije budu svjesne QoS, osim polazne klasifikacije.

Page 54: Tcpip, Rip, Ospf, Bgp - 1.1

50

4.8.2. Mehanizmi za implementaciju QoS.

Mehanizmi u korisničkoj ravni implementiraju akcije koje se izvršavaju u ruterima nad svakim IP datagramom, sa ciljem da se definiraju i realiziraju različiti nivoi QoS. Oni obuhvaćaju: regulaciju ulaznog saobraćaja, upravljanje meñuspremnicima i vremensko rasporeñivanje paketa.

Slika 4.16. Mehanizmi regulacije ulaznog saobraćaja.

Na slici 4.16. prikazan je blok dijagram mehanizama regulacije ulaznog saobraćaja. Kada ruter primi paket, prvo se vrši klasifikacija, kojom se, na osnovu sadržaja odreñenog dijela zaglavlja i u skladu sa definiranim pravilima, odreñuje kom toku odnosno klasi taj paket pripada. Postoje dva tipa klasifikacije paketa: generalna klasifikacija i klasifikacija na osnovu bitskog uzorka.

Generalna klasifikacija je selekcija paketa na osnovu kombinacije vrijednosti nekoliko polja u zaglavlju paketa, npr. adrese izvora i odredišta, brojevi portova, identifikacioni broj protokola. Ova operacija zahtjeva intenzivno procesiranje u ruteru. U arhitekturi integriranih servisa obavlja se u svim ruterima mreže. U arhitekturi diferenciranih servisa, ovo je tzv. klasifikacija na osnovu više polja, a izvršava se samo na periferiji mreže.

Klasifikacija na osnovu bitskog uzorka je sortiranje paketa na bazi vrijednosti jednog polja u zaglavlju. Ona je jednostavnija i brža od generalne klasifikacije. U arhitekturi diferenciranih servisa naziva se „ponašanje agregata“, a vrši se na osnovu vrijednosti polja DS (Differentiated Services) u zaglavlju paketa. Primjenjuje se u ruterima jezgra.

Poslije klasifikacije, paket se prosljeñuje logičkoj instanci kondicionera saobraćaja ( traffic conditioner), koji može obuhvaćati operacije: markiranja, mjerenja, uobličavanja i odbacivanja. Markiranje paketa je operacija označavanja odreñenog polja u zaglavlju paketa, sa ciljem da se kasnije osigura definirani tretman paketa, na bazi vrijednosti tog polja.

Mjerenje privremenih svojstava saobraćajnog toka obavlja se radi usporedbe sa unaprijed definiranim profilom saobraćaja i odlučivanja da li je paket u profilu ili van profila. Paketi van definiranog profila mogu se ponovo markirati za drugi tip servisa, zakasniti ili odbaciti. Uobličavanje je proces zadržavanja jednog ili više paketa u konačnom meñuspremniku uobličavača sa ciljem da se oni usuglase sa odgovarajućim profilom. Ako je meñuspreminkom uobličavača pun, paket se odbacuje.

Upravljanje meñuspremnicima je mehanizam za sprječavanje gubitaka paketa u uslovima velikog saobraćajnog opterećenja, odnosno kontrole zagušenja mreže. Meñuspremnički prostor dimenzionira se tako da prihvati pojave kratkotrajnog eksplozivnog (bursty) saobraćaja. Metode upravljanja meñuspremnicima mogu klasificirati na: metode zasnovane na pragovima i push-out metode. U praksi su česte kombinacije ovih metoda.

Page 55: Tcpip, Rip, Ospf, Bgp - 1.1

51

Metodi zasnovani na pragovima definiraju jedan ili više statičkih ili dinamičkih pragova, koji predstavljaju granice popunjenosti meñuspremnika, iznad kojih se neki ili svi paketi odbacuju. Značajan predstavnik metoda sa dinamičkim pragovima je RED (Random Early Detection), zasnovan na probabilističkom markiranju ili odbacivanju paketa zavisno od procijenjene prosječne popunjenosti meñuspremnika.

Slika 4.17. Princip rada RED (Random Early Detection) algoritma.

Push-out metode podrazumijevaju popunjavanje meñuspremnika dok se ne iscrpi njegov kapacitet. Kada je meñuspremnik pun, sljedeći paket može da bude smješten ako se odbaci neki od prethodno spremljenih paketa. Iako pokazuju dobre performanse, nedostatak ovih metoda je složenost implementacije.

Vremensko rasporeñivanje paketa (scheduling) zaduženo je za kontrolu čekanja paketa u meñuspremniku prije prosljeñivanja sljedećem mrežnom elementu i za dijeljenje propusnog opsega izmeñu više tokova ili klasa saobraćaja. Discipline rasporeñivanja mogu se izvršavati po toku ili po klasi.

Predloženo je više algoritama za rutiranje QoS koje se meñusobno razlikuju po načinu sakupljanja informacija o stanju mreže i načinu selekcije putanje, na osnovu tih informacija. Jedna moguća kategorizacija algoritama za rutiranje QoS obuhvata podjelu na:

- rutiranje na osnovu najbolje putanje i - proporcionalno rutiranje.

Algoritmi za rutiranje koji se zasnivaju na najboljoj putanji prikupljaju informacije o stanju linkova koje periodično ažuriraju i, zatim, prema trenutnoj slici o globalnom stanju mreže, biraju najpogodniju putanju za dati tok saobraćaja. Za većinu ovih algoritama bitna je trenutna informacija o raspoloživom propusnom opsegu, a oni se meñusobno uglavnom razlikuju po kriterijima za selekciju najbolje putanje, npr. : najkraća putanja, najmanji broj skokova do odredišta, najveća rezerva u odnosu na traženi propusni opseg i dr. Ovi algoritmi korektno funkcioniraju ako je u svakom čvoru u svakom trenutku na raspolaganju dovoljno tačna slika mreže. Ako je interval izmeñu ažuriranja stanja mreže veliki u odnosu na dinamiku tokova IP datagrama u čvoru, performanse ovih algoritama mogu da budu značajno degradirane.

Alternativni pristup je proporcionalno rutiranje, u kome se selekcija izmeñu nekoliko mogućih putanja obavlja na osnovu informacija o propusnom opsegu koje se povremeno razmjenjuju, a tokovi saobraćaja usmjeravaju se adaptivno, po skupu putanja „kandidata“, proporcionalno sa raspoloživim propusnim opsegom (prema lokalno prikupljenim informacijama). Putanje „kandidati“ odreñuju se po principu nezavisnih (disjoint) putanja sa najvećim propusnim opsegom, pri čemu se tokovi IP datagrama po njima rasporeñuju izjednačavanjem vjerojatnoće blokiranja.

Page 56: Tcpip, Rip, Ospf, Bgp - 1.1

52

Zaklju čak

Cjeline razmatrane u ovom radu prelaze njegove okvire. O TCP/IP paketu protokola postoji ogroman broj dostupne literature, pa sam smatrao da ta cjelina ne treba biti previše opširna, jer bi se samim tip rad učinio nepreglednim.

Obradom drugog dijela rada želio sam dati neophodne informacije koje su potrebne za razumijevanje rada Internet protokola, a takoñer i pružiti odgovarajući uvod u po svemu glavni dio rada tj. proces rutiranja i protokoli za rutiranje u komunikacijskim mrežama.

RIP datira još iz 1969, početaka mreže i ARPNET-a, kada su Berkeley’s UNIX i Xerox Network Systems već oveliko primjenjivali slične protokole. RIP je toliko rasprostranjen baš zato što je bio uključen u verziju UNIX-a koji je podržavao TCP/IP i koji je distribuiran u paketu BSD (Berkeley Software Distribution). Ovaj protokol spada u Distance-Vector protokole, koji se oslanjaju na Bellman-Fordovu jednačinu za izračunavanje putanje rutiranja.

RIP (Routing Information Protocol) je standard za razmjenu informacija o rutiranju izmeñu hostova i gatewayea. RIP se koristi kao IGP (Interior Gateway Protocol). On je dizajniran da radi u mrežama srednje veličine koje koriste razumno homogene tehnologije. Iako se koristi kao IGP u mnogim regionalnim mrežama koje koriste serijske linije i čije brzine ne variraju mnogo, nije pogodan za korištenje u kompleksnijim okruženjima.

Protokol OSPF jedan je od često korištenih protokola u srednjim i velikim mrežama, a pogotovo je bitno što dozvoljava neograničen rast jer je moguće dodavanje dodatnih područja bez ozbiljnijeg narušavanja postojeće infrastrukture ili planiranja unaprijed. Dijkstra SPF algoritam omogućio je velika poboljšanja u vremenu reakcije na promjene u mreži, a OSPF ne pati toliko od beskonačnih petlji, što je mana DV protokola. OSPF donosi sve prednosti besklasnog (classles) ruting protokola.

Nedostaci OSPF-a su: složenost protokola, neorganiziranost mreže (bez planiranja mrežnih adresa, sažimanja ruta, veličine LS baze ili performansi rutera rezultat je pravi kaos), potrebna je velika stručnost za izgradnju i održavanje mreže, zahtjev za hijerarhijskom organizacijom mreže.

Osnovni algoritam rada BGP-a je jednostavan Distance-Vector protokol. Kada BGP ruter sazna prefiks dostupan kroz razne putove, odabire optimalan put, ubacuje ga u svoju tablicu rutiranja i objavljuje taj optimalan put ostalim ruterima s kojima je izravno spojen. Kako bi BGP mogao raditi potreban je jedinstveni AS broj (jedinstven svakom autonomnom sistemu na Internetu). Sam protokol ne pronalazi samostalno susjedne rutere, već ih definira administrator mreže. Susjedni ruteri mogu biti i u drugim autonomnim sistemima, no to je i je bit samog protokola. Pošto su tablice BGPa velike, razmjenjuju se meñu susjednim ruterima samo jednom, kada se povežu, a kasnije se samo ažuriraju mijenjanjem stanja prefiksa.

BGP je de facto meñudomenski protokol rutiranja korišten na Internetu. BGP-4 podržava CIDR shemu adresiranja, inkrementalne dodatke, bolje mogućnosti filtriranja i sposobnosti odreñivanja politike rutiranja. Navedene mogućnosti su glavni razlog što se ovaj protokol koristi od svih.

Pravilnim izborom zadovoljavajuće kombinacije QoS mehanizama i realizacijom klase usluge za signalizacijski i kontrolni promet potencijalno se mogu riješiti dva fundamentalna problema. Prvi problem se odnosi na pitanje kako prilagoditi signalizacijske i kontrolne pakete na konstantno promjenljivu propusnost i uvjete zagušenja. Drugi problem zahtjeva rješenja za savladavanje problema kašnjenja i gubitka signalizacijskih paketa. Navedeni problemi nisu neovisni te se kao takvi ne mogu odvojeno razmatrati i proučavati. Povezuje ih utjecaj na unapreñenje kvalitete usluge koja se nudi krajnjem korisniku.

Page 57: Tcpip, Rip, Ospf, Bgp - 1.1

53

Literatura

[1] Kozierok C. M., The TCP-IP Guide, No Starch Press, 2005.

[2] Medhi D., Ramasamy K., Network Routing: Algorithms Protocols and Architectures, Morgan Kaufmann, 2007.

[3] Macfarlane J., Network Routing Basics: Understanding IP Routinig in Cisco® Systems, Wiley Publishing Inc., 2006.

[4] Moy J. T., OSPF: anatomy of an Internet routing protocol, Addison Wesley, 1998.

[5] Moore M. S., et all, Telecommunications: A Beginner’s Guide, McGraw-Hill/Osborne, 2002.

[6] Nikić M. et all., OTM – BGP usmjeravanje u internetu, FER, 2009.

[7] Kuipers F. A., Quality of Service Routing in the Internet: Theory, Complexity and Algorithms - Doctor thesis, Delft University Press, 2004.

[8] Lakkakorpi J., QoS Routing Extensions to OSPF, 2000. http://www.netlab.tkk.fi/tutkimus/ipana/paperit/QoSR/S130-QoSR-qospf.pdf

[9] Dubrovsky A., Gerla M., Lee S. S., Internet QoS Routing with IP Telephony and TCP Traffic, 2000. http://cavendish.homedns.org/CavendishInternetQoSRouting.pdf

[10] Guérin R., Orda A., Williams D., QoS Routing Mechanisms and OSPF Extensions, 2002. http://lion.cs.uiuc.edu/courses/cs497hou/QoS_OSPF.ppt

[11] http://www.ietf.org

[12] http://www.wikipedia.org