46
Početna DIPLOMSKI RAD TEMA: MESTO ALGORITAMA ZA RUTIRANJE U SAVREMENIM RAČUNARSKIM MREŽAMA Mentor: mr Vasiljević Verica student: David Igor Sadržaj:

Mesto Algoritma Za Rutiranje u Savremenim Racunarskim Mrezama - Diplomski VETS

Embed Size (px)

Citation preview

Početna

DIPLOMSKI RAD

TEMA:

MESTO ALGORITAMA ZA RUTIRANJE U SAVREMENIM RAČUNARSKIM MREŽAMA

Mentor: mr Vasiljević Verica student: David Igor

Sadržaj:

1. Uvod

Internet

Hijerarhija mreža

2. Princip rutiranja

Uloga rutera

Opis uređaja

Pomeranje paketa kroz mrežu

Putanje

3. Protokoli za rutiranje

Vrste protokola

RIP, OSPF, BGP4

4. Algoritmi za rutiranje

Osnove

Vrste algoritama

LS algoritmi

Primer rutiranja: Dijkstra algoritam

DV algoritmi

Hijerarhijsko rutiranje

5. Primena rutiranja

Ping

Trace Route

Uvod

Sadržaj

Internet

Jedna od najboljih stvari u vezi Interneta je ta što ga zapravo niko ne poseduje. To je globalna kolekcija mreža, velikih i malih. Ove mreže su zajedno spojene na različite načine, i zajedno čine jedinstveni entitet koji mi poznajemo kao Internet. Samo ime Internet potiče od ideje koja povezuje sve mreže. Od početaka Interneta 1969. godine pređen je ogroman put od samo 4 povezana računara do stotine miliona povezanih računara danas. Međutim, činjenica da niko ne poseduje Internet ne znači da ga niko ne kontroliše, na više načina. The Internet Society, neprofitna organizacija formirana 1992. godine bavi se nadgledanjem protokola i uslova saobraćanja na Internetu.

Hijerarhija mreža

Savremene računarske mreže se uglavnom dele na tri vrste:

¨ LAN (Local area Network)- lokalne računarske mreže

¨ MAN (Metropolitan area Network)- računarske mreže na nivou metropola

¨ WAN (Wide area Network)- računarske mreže širokog područja- npr. Internet

Svako ko se nalazi na Internetu je deo neke mreže, npr. kućni personalni računar se spaja sa Internetom preko Internet Provajdera (ISP=Internet Service Provider). Većina velikih kompanija imaju svoje mreže koje spajaju različite regione. U svakom regionu, te kompanije imaju tzv. tačke pristupa (POP=Point of Presence). Tačke pristupa su mesta za lokalne korisnike koji pristupaju na mrežu, bilo preko lokalnih telefonskih linija ili iznajmljenih linija. Iznenađujuće je to da ne postoji neka kontrolna mreža koja upravlja ovom povezanošću, nego postoji nekoliko velikih mreža međusobno povezanih preko tzv. Pristupnih tačaka mreže (NAP= Network Access Point).

Da bi bilo jasnije, data je sledeća ilustracija:

Prethodna slika ilustruje primer povezivanja. Pretpostavimo da je kompanija A veći Internet provajder. U svakom većem gradu, kompanija A ima tačku prisutnosti (POP), koja predstavlja orman (Rack) pun modema koje koriste korisnici provajdera. Ako zamislimo da je kompanija B takođe provajder koja ima svoje korisnike, onda za međusobnu razmenu informacija između kompanije A i B mora postojati neka povezanost. To se upravo i događa u realnom svetu, tako što se te dve mreže povezuju preko mrežnih pristupnih tačaka (NAP).

Više velikih Internet provajdera se međusobno povezuju preko tački pristupa u različitim gradovima, tako da se između njih razmenjuje velika količina podataka. Internet je kolekcija velikih korporacijskih mreža koje su se međusobno povezale. Na ovaj način, svaki računar na Internetu je povezan sa ostalim računarima.

Da bi se ove mreže međusobno povezale, moraju postojati uređaji koji to obavljaju i unapred definisani načini na koji se to obavlja. Ti uređaji se nazivaju RUTERI, a načini na koji se obavlja međusobna komunikacija protokoli rutiranja. Informacije se preko rutera šalju u druge mreže putem odgovarajućih ALGORITAMA za RUTIRANJE.

Principi rutiranja

Sadržaj

Internet je jedno od najvećih dostignuća čovečanstva. Ljudi širom sveta koriste pogodnosti Interneta, kao što su e-mail, gledawe Web stranica, snimawe raznih podataka. Međutim, nijedna od ovih pogodnosti ne bi bila moguća bez jedne stvari koju većina ljudi nikad nije ni videla, a verovatno niti čula za nju. U pitanju je RUTER.

Fujitsu Geostream industrijski ruter

Ruter je specijalizovani računar koji šalje podatke do njihovih odredišta kroz hiljade puteva. To je višeportni uređaj mrežnog sloja OSI referentnog modela čija je osnovna funkcija rutiranje paketa po mreži. Na Internetu, svaki podatak se deli u delove određenih veličina u bajtovima. To su paketi. Svaki paket sadrži informaciju koja će omogućiti paketu da stigne do destinacije. Paketi sadrže podatke prema protokolu koji se koristi na Internetu- TCP/IP (Transmission control Protocol/Internet Protocol). Svaki paket sadrži telo poslate poruke. Tipični paket ima veličinu od 1000 ili 1500 bajtova.

Rutiranje je proces pomeranja paketa od izvorišta u mreži, kroz jedan ili više sistema (gateway systems) do destinacije u nekoj drugoj mreži.

slika 2. Prikaz OSI referentnog modela i rutera

Termini Internet Gateway i IP Router se često zamenjuju u značenju. Ovi termini označavaju uređaj koji pomera IP datagram od jedne mreže do druge bazirano na adresi destinacije. IP Router može da bude samostalan uređaj koji samo prosleđuje datagrame između mreža. Takođe, to može biti kompjuter-domaćin (host computer) koji je povezan sa više od jednom mrežom, i koji prosleđuje datagrame.

Mreža je podeqena na veliki broj podmreža, uključujući i bridž-povezane segmente (brix=most, dvoportni uređaj sloja veze, čije su uloge filtriranje saobraćaja na osnovu fizičkih adresa i razdvajawe kolizionih domena). Ruteri prenose saobraćaj između podmreža, prevodeći format paketa, uključujući opšti saobraćaj i uvodeći politiku sigurnosti. Paketi se prenose na bazi adresa mrežnog sloja OSI referentnog modela. Mrežna adresa ima dva dela, adresu podmreže i adresu stanice. Svaki LAN segment ima jedinstvenu podmrežnu adresu, i svaki uređaj (računar, port rutera) unutar podmreže ima svoju jedinstvenu adresu. Rutiranje se obavlja pomoću skokova, što znači da svaki ruter posmatra odredišnu adresu u IP zaglavlju i određuje sledeći skok koji će paket proslediti jedan korak bliže ka svom cilju. Na primer, ako zamislimo određenu kompaniju koja ima dva odvojena tima, pritom svaki tim ima svoju mrežu. Ruter omogućava spajawe ovih mreža i njihovu povezanost sa Internetom. Postoji jedna specijalna tabela rutiranja (o ovome Dve osnovne radwe koje obavlja ruter, naočigled izuzetno jednostavne, su:

§ Ne dozvoqava da poruka ode do mesta na koje ne treba. Ovo je od izuzetnog značaja za mrežu.

§ Omogućava da poruka ode do mesta na koje treba

Prednost koju omogućavaju ruteri i rutiranje je balansiranje između različitih putanja, koje može da zavisi od milisekunde, tako da se dobija najbrži put od izvorišta do destinacije. Takođe, ako dođe do kvara na jednom delu mreže, ruter usmerava paket na drugu putanju, izbegavajući zagušewe.

Postoji više vrsta rutera:

1. Jednostavni ruteri, koji se ostvaruju ako npr. povežemo dva računara. njihov jedini zadatak je da prosleđuju pakete ili do jednog ili do drugog računara.

2. Veći ruteri, koji povezuju npr. lokalnu mrežu sa Internetom, omogućavajući zaštitu računara u mreži od spoqnih uticaja.

3. Veliki ruteri, oni koji se bave velikim protokom podataka na Internetu, opslužujući milione paketa svake sekunde. Ovi ruteri se mogu svrstati u super-računare.

Na bazi hijerarhije adresa, ruteri izmenjuju informacije o topologiji i statusu veza, tako da svaki ruter može da odredi putanju do svake podmreže. Prema nalogu mrežnih administratora, ruteri određuju putanje na bazi kašwewa, cene ili drugog kriterijuma. Takođe, mogu da odrede trase oko neispravnih veza, i time povećavaju pouzdanost mreže.

Kako ruteri rade u okviru mrežnog sloja, oni se ponašaju kao Firewall uređaji, sprečavajući opšte reemitovanje na MAC (Medium Access Control) nivou. Ruteri koriste informacije iz mrežnog sloja da bi, na primer:

· Obavili sigurnosne funkcije, npr. "Ne dozvoli da paketi sa podmreže 6 uđu u podmrežu 3."

· Kontrolišu upotrebu WAN mreža, npr. "Nema prenosa podataka sa Interneta u toku radnog vremena".

· Osiguraju osnovni kvalitet servisa, npr. "Transakcije imaju prioritet nad prenosom datoteka".

Kao što smo spomenuli, uz prenos paketa između podmreža, ruteri služe i kao gateway uređaji, prevodeći sa jednog na drugi format paketa. Takođe, dodavanjem strukture i kontrolom reemitovanja, ruteri omogućavaju rast integrisanih mreža preko nivoa koje omogućavaju mostovi (bridg). Ali, dodatna vrednost ima i svoju cenu. Svaki ruter i svaka stanica moraju da budu pažqivo konfigurisani tačnim mrežnim adresama. Netačno

adresiranje vodi u haos sa izgubljenim paketima, zatvorenim petqama prenosa i drugim problemima. Takođe, održavanje ažurne konfiguracije u dinamičnim organizacijama može biti skoro nemoguće. Kako rastu integrisane mreže, administracija adresa postaje najveća smetwa efikasnoj podršci aplikacijama.

Putanje

Da bi mogao da rutira pakete sa informacijama, ruter ili bilo koji drugi uređaj koji je za to zadužen (radna stanica pod operativnim sistemom UNIX na kojoj je uključena alatka daemon za rutiranje ili komutator 3. sloja) treba da poseduje sledeće ključne informacije:

· Adresu odredišta- Adresa do koje informacija treba da se rutira. Ovaj podatak obezbeđuje matični računar.

· Izvor informacija- Od kojih izvora (drugih rutera) ruter može da sazna putanje do žeqenih odredišta.

· Moguće putanje- Koje su inicijalne moguće putanje ili putanje do žeqenog odredišta.

· Najbolje putanje- Najbolja putanja do žeqenog odredišta.

· Informacije o održavanju rutiranja i njihovo proveravanje- Način provere da li su poznate putanje i dalje važeće i aktuelne.

Informacije o rutiranju koje ruter dobija od svojih izvora smeštaju se u njegovu tabelu rutiranja. Na ovu tabelu ruter se oslanja prilikom određivanja izlaznog porta koji će se koristiti za prosleđivanje paketa do odredišta. U tabeli rutiranja nalaze se podaci o mrežama koje su značajne za ruter.

Ukoliko nije direktno povezan sa odredišnim mrežama, ruter mora da sazna i izračuna najbolju moguću putanju za prosleđivanje paketa do njih. Tabela rutiranja popunjava se na jedan od sledeća dva načina:

· Ručno je popunjava administrator mreže.

· Popunjava se dinamičkim procesima koji funkcionišu u okviru mreže.

Postoje, takođe, i dva načina na koje ruter može da prosledi pakete do mreža sa kojima nije u direktnoj vezi. To su:

· Statičke putanje- Reč je o putanjama koje je ruter upoznao nakon što ih je administrator ručno ustanovio. Kada god topologija mreže iziskuje ažuriranje (na primer, prilikom kvara na vezi), administrator mreže ovakvu putanju mora da ažurira

· Dinamičke putanje- Ove putanje ruter automatski saznaje nakon što administrator konfiguriše protokol rutiranja koji pomaže u procesu njihovog određivanja. Za razliku od statičkih putanja, čim mrežni administrator uključi dinamičko rutiranje, informacije o rutiranju se samim procesom rutiranja automatski ažuriraju svaki put kada se od nekog rutera u okviru mreže primi informacija o novoj topologiji.

Uključivanje statičkih putanja

Da bi mogao da izvrši rutiranje paketa, ruter samo treba da poznaje putanju do određene mreže. Statičke putanje su putanje koje određuju administratori mreže, i wima se izričito određuje put paketa od računara izvora do odredišnog računara. Ova vrsta putanja omogućava vrlo preciznu kontrolu nad celokupnim procesom rutiranja u oviru mreže.

Statičke putanje su značajne kada mrežni operativni sistem ne može da odredi putanju do nekog odredišta. Pored toga, ove putanje koriste se i za naznačavanje "mrežnog prolaza poslednjeg utočišta". Mrežni prolaz poslednjeg utočišta (engl. "gateway of last resort") predstavlja adresu na koju će ruter da pošalje paket koji je adresiran na mrežu koja se ne nalazi u njegovoj tabeli rutiranja.

Statičke putanje se najčešće koriste prilikom rutiranja između glavne i izdvojene mreže. Izdvojene mreže (engl. "stub network"), za koje se ponekad koristi i termin "čvor bez potomaka" (engl. "leaf node") jesu mreže kojima može da se pristupi samo jednom putawom. U ovakvim situacijama često se koriste statičke putanje zato što je to onda jedina putanja koja vodi u ovakvu mrežu ili iz we. Pošto do ovakvih mreža (i iz njih) vodi samo jedan put, na ruterima mogu da se konfigurišu statičke putanje i time izbegne postojawe onog dela mrežnog saobraćaja koji potiče od protokola rutiranja. Ovde treba spomenuti da se konfigurisanjem statičkih putanja obezbeđuje mogućnost povezivanja sa slojem povezivanja podataka koji nije u direktnoj vezi sa ruterom. Da bi se dobila

mogućnost povezivanja od jedne do druge krajwe tačke, putanja mora biti konfigurisana za oba smera.

Statičke putanje se konfigurišu u režimu globalne konfiguracije rutera unošewem komande IP ROUTE. Uz ovu komandu koriste se i parametri kojima se statičke putanje dodatno definišu. Kod statičkih putanja moguće je ručno konfigurisanje tabele rutiranja. Ovako unet upis ostaje u tabeli dokle god je putanja aktuelna. Jedini izuzetak od ovog pravila je opcija permanent koja je prikazana u sledećem primeru. Aktiviranjem opcije permanent, putanja ostaje u tabeli čak i ako više nije aktivna. Sledi sintaksa komande IP ROUTE (za CISCO rutere):

ip route network [mask] {adress | interface} [distance] [permanent]

Značenje argumenata komande IP ROUTE:

· network- odredišna mreža ili podmreža

· mask- maska podmreže

· address- IP adresa rutera sledećeg skoka

· interface- ime interfejsa kojim se paket šalje do odredišne mreže

· distance- ovo je opcioni parametar kojim se definiše administrativna udaljenost

· permanent- takođe opcioni parametar kojim se naznačava da putanja neće biti uklowena čak ni u slučaju da se interfejs isključi

Sledeći primer ilustruje statičko određivanje putanja:

Router (config) #ip route 172.16.1.0 255.255.255.0 172.16.2.1

slika 4. Primer određivanja statičke putanje

U ovom slučaju statička putanja od rutera A do izdvojene mreže konfigurisana je na sledeći način:

Router (config) #ip route 172.16.10 255.255.255.0 172.16.2.1

Značewe parametara ove komande:

· ip route- komanda za statičko rutiranje

· 172.16.1.0- definiše statičku putanju do odredišne podmreže

· 255.255.255.0- odnosi se na masku podmreže (8 bitova je na snazi)

· 172.16.2.1- IP adresa rutera sledećeg skoka na putu do odredišta

U slučaju rutera A, dodeqivanje statičke putanje do izdvojene mreže 172.16.1.0 je ispravno, zato što do ove mreže može da se dospe samo jednim putem. Da bi mogla da postoji dvosmerna komunikacija, mora da se konfiguriše i putanja u suprotnom smeru.

Podrazumevana putanja je posebna vrsta statičke putanje koja se koristi kada putanja od izvora do odredišta nije poznata, ili kada u tabeli rutiranja nije moguće skladištewe svih potrebnih informacija o potrebnim putanjama. Podrazumevana putanja naziva se takođe i mrežni prolaz poslednjeg utočišta.

Dinamičko određivanje putanja

Iako su statičke putanje u nekim situacijama vrlo korisne, administratori mreže u slučaju bilo kakve promene u ovakvoj mreži moraju ponovo da konfigurišu sve rutere. Protokoli dinamičkog rutiranja predstavljaju drugi način za učewe raspoloživih putanja, ali uz mogućnost prilagođavanja promenama u mreži. Kod dinamičkog rutiranja, za širewe i prikupljanje informacija zaduženi su prokoli rutiranja. Ovi protokoli definišu skup pravila kojih se ruter pridržava kada komunicira sa susednim uređajima (protokoli za rutiranje određuju putanje i održavaju tabele rutiranja).

PROTOKOLI za rutiranje

Ruteri napravljeni od strane različitih proizvođača moraju imati neki način na koji će međusobno komunicirati, tj. razmewivati konfiguracione tabele. Jedna vrsta protokola koja podrazumeva komunikaciju između rutera u jednoj entitetskoj mreži se naziva interior gateway protocols. Svaki mrežni operativni sistem sadrži protokol rutiranja implementiran u samom operativnom sistemu.

Najčešći protokoli rutiranja u entitetskoj mreži su:

hprotokoli rutiranja mrežno okružewe

§ RIP/RIP2 (routing information protocol) XNS, Netware, TCP/IP

§ OSPF (open shortest path first) TCP/IP

§ NLSP (NetWare link state protocol) NetWare 4.1

§ IS-IS (Intermediate system to intermediate system) DECnet. OSI

§ IGRP (interior gateway protocol) Cisco

§ EIGRP (enchanced interior gateway protocol) Cisco

§ RTMP (routing table maintenance protocol) AppleTalk

§ RTM (router table protocol) Vines

RIP (routing information protocol) je jedno vreme bio najpopularniji protokol, ali je zamewen od strane OSPF (open shortest path first) protokola. Prednost OSPF je ta što on ima mogućnost da lakše obavlja interkonekciju među većim mrežama i bolje se ažurira od RIP-a.

OSPF je dizajniran da podržava velike mreže. Takođe, kompatibilan je sa podmrežavanjem. Poruke tipa "hello" šalje svakih 30 minuta. U zavisnosti od TOS (Type of Servie) poqa, dakle od namene paketa, OSPF protokol se različito ponaša. Na primer, velike količine podataka mogu da se prenose satelitem, dok se male prenose nekom zemaqskom vezom. OSPF protokol mreže deli u klase, a to su tačka-tačka, multi-pristup i multi-brodkast. Serijska veza bi bila tačka-tačka, dok bi Eternet bio multi-pristup.

Glavna razlika između protokola za rutiranje je u algoritmima koje koriste da bi prikupili informacije o stanju u mreži. Na primer, RIP koristi takozvani vektorski algoritam (Distance vector), koji meri broj skokova (skok je najkraći put između dva rutera) do rutera sa kojim komunicira, dok OSPF koristi tzv. linkovani algoritam (Link state) koji o putawi ne odlučuje samo na osnovu broja skokova, već u obzir uzima i ostale detalje koji su relevantni za prenos (vreme prenosa, kapacitet, itd.).

Za spajawe više različitih mreža ili autonomnih sistema, koriste se tzv. exterior gateway protocols, gde komunicira više rutera međusobno. Autonomni sistemi su definisani kao nezavisni entiteti koji imaju svoje sopstvene protokole (IGP). To je skup mreža pod zajedničkom administrativnim domenom. Najpoznatiji eksterni protokol je BGP4 (border gateway protocol version 4).

Ilustracija je data na slici:

slika 3. Autonomni sistemi i eksterni protokol

Svaki autonomni sistem ima svoj protokol (IGP) nezavisan od ostalih sistema. Jednostavno rečeno, svaka mreža može da komunicira sa drugom mrežom koristeći Internet, jer je prenos podataka između njih definisan preko nekog protokola.

BGP4 protokol je eksterni protokol koji se koristi kod globalnog Interneta. Koristi vektorski algoritam (Distance vector algorithm), ali sa nekoliko dodatih promena. Takođe, BGP4 koristi TCP/IP kao transportni protokol, na portu 179. Pri uključenju konekcije, BGP4 sistem razmenjuje komletne kopije tabela rutiranja, koje mogu biti dosta velike, što uzrokuje da BGP4 sesije mogu dugo trajati. Jedna od najvažnijih funkcija je petqa, tj. određivanje putanje u datom autonomnom sistemu. Takođe, ono što je karakteristično za ovaj protokol je to da mora da bude jedan skok preko granice autonomnog sistema, a to znači da treba da zna put do te adrese. Dakle, tabela rutiranja treba da sadrži podatke o jednom skoku izvan autonomnog sistema.

Međutim, da bi ruter prosleđivao adrese, mora postojati način na koji će se te adrese prevoditi iz ljudskog u oblik koji računar razume. Taj proces je poznat kao mrežna translacija adresa (NAT=Network Adress Translation), razvijen od strane kompanije Cisco. Glavna identifikacija računara u mrežama je njegova IP adresa, koja se sastoji od 32-bitnog broja. Prosta računica pokazuje da je moguće postojawe najviše 4,3 milijarde IP adresa. Danas je već razvijen sistem koji će zameniti postojeći, i on je poznat kao IPv6, i trebaće nekoliko godina da zaživi.

Sledeća slika ilustruje svrhu NAT-a:

slika 5. Prevođene adresa

Uz pomoć NAT-a ruter se ponaša kao "agent" između Interneta (ili neke druge javne mreže) i lokalnih (ili privatnih) mreža. Ovo znači da je dovoqna jedna IP adresa koja bi obeležavala jednu grupu računara. Da bi se obezbedio način da se IP adrese ne preklapaju, međunarodna organizacija za dodeqivanje IP adresa je odredila tzv. neregistrovane IP adrese, koje lokalne mreže mogu koristiti i koje ruter ne prosleđuje dalje, jer se koriste samo u lokalnim mrežama. Na ovaj način se smanjuje mogućnost konflikata.

ALGORITMI za rutiranje

Sadržaj

Iz prethodnih razmatranja uočili smo da je ruterima neophodna informacija o mreži i mrežama, kako bi mogli da donesu odluku o daljem prosleđivanju. Ove odluke se donose

upoređivanjem destinacionih adresa sa adresama u tabelama rutiranja. Sistem za rutiranje selektuje zapis iz tabele rutiranja i određuje masku mreže za taj zapis. Zatim se vrši logičko I (AND) na ovoj vrednosti i destinacionoj adresi. Rezultujuća vrednost se upoređuje sa adresama mreža u tabeli rutiranja. Ako su dve vrednosti iste znači da je destinacija dostupna kroz prolaze koji su definisani u tom zapisu. Ako se te dve vrednosti razlikuju sistem za rutiranje ispituje sledeći zapis u tabeli. Ako je cela tabela pregledana i ako nema zapisa koji se poklapaju, obično je rezultat takav da se paket odbacuje i generiše se poruka koja obaveštava da je destinaciona mreža nedostupna.

Već smo spomenuli da se u tu svrhu koriste algoritmi za rutiranje. Namena rutera nije da samo proslede pakete na datu adresu, već i da odrede najbolju, najefikasniju i najbržu putanju. Kada kažemo najbolja putanja, tu se misli na skokove (sledeći skok= IP adresa drugog hosta ili rutera koji su direktno dostupni ili preko Eterneta, serijske veze ili neka druga fizička konekcija), zatim na vreme za koje će paket putovati i troškove tog prosleđivanja. Takođe, za putanju se koristi takozvani IP adresni prefiks. IP adresni prefiks je skup destinacija za koje je ruter validan. Adresni prefiks se sastoji od 0 do 32 značajna bita. Na primer, IP adresni prefiks od 128.8.0.0/16 bi obuhvatao bilo koju IP destinacionu adresu u formi 128.8.H.H

slika 6. Ilustracija rutiranja

Da bi se izbeglo unošenje svih mogućih putanja na svetu na jednom mestu, većina rutera i hostova koristi takozvanu default putanju (na primer, neke tabele rutiranja sadrže samo tu putanju). Posmatrano na koji način ruter određuje najbolju putanju, imamo dve vrste algoritama za rutiranje. To su:

§ Globalni algoritam za rutiranje

§ Lokalni algoritam za rutiranje

U lokalnom modelu svaki ruter ima informaciju o ruterima koji su direktno vezani za wega, dakle nema informacije o svim ruterima na mreži. Ovi algoritmi su takođe poznati kao DV=Distance vector algoritmi.

U globalnim algoritmima za rutiranje, svaki ruter ima kompletne informacije o svakom ruteru u mreži. Ovi algoritmi su takođe poznati kao LS=Link state algoritmi.

LS algoritmi

U LS algoritmima svaki ruter mora da obavlja sledeće radwe:

1. Identifikuje rutere koji su fizički povezani sa wim i pronalazi njihove IP adrese. Kada se ruter pokrene, on prvo šalje tzv. pozdravni paket ("hello packet") kroz mrežu. Svaki ruter koji primi taj paket uzvraća sa eho paketom. Na ovaj način ruter takođe meri vreme koje je potrebno paketu da stigne do destinacije i vrati se nazad.

2. [alje svoje informacije preko mreže ostalim ruterima i prihvata informacije o ostalim ruterima na mreži. U ovom koraku, svi ruteri dele informacije međusobno, tako da svaki ruter poznaje strukturu i status mreže.

3. Koristeći odgovarajući algoritam, identifikuje najboqi put između dva čvora u mrežama. U ovom koraku, ruteri pronalaze najbolju putanju za svaki čvor u mreži. Primer za ovo je Dijkstra algoritam. U ovom algoritmu, ruter na osnovu informacija o stanju na mreži sastavlja graf mreže. Ovaj graf pokazuje lokacije rutera i njihovu međusobnu povezanost. Svaka veza je označena sa brojem koji se zove težina (weight) ili cena (cost). Ovaj broj predstavlja funkciju vremena putanje, prosečne zauzetosti mreže i ponekad jednostavno broj skokova (hops) između čvorova. Na primer, ako imamo dve veze između izvorišta i destinacije, ruter će izabrati putanju za mawom težinom.

Dijkstra algoritam prolazi kroz sledeće korake:

1. Ruter pravi graf mreže i identifikuje odredišne i izvorišne čvorove, na primer V1 i V2. Zatim gradi tzv "matricu susedstva" ("adjacency matrix"). U toj matrici koordinate

predstavljaju težinu. Na primer, matrica [i,j] predstavlja težinu između čvorova V1 i V2. Ako ne postoji direktna veza između ova dva čvora, ova težina je označena kao beskonačna.

2. Zatim ruter pravi statusni zapis za svaki čvor u mreži. Zapis sadrži tri poqa:

· Prethodno polje- Ovo prvo polje prikazuje prethodni čvor

· polje za dužinu- Drugo polje pokazuje sumu težina od odredišta do tog čvora.

· polje za labelu- Poslednje polje sadrži status čvora. Svaki čvor može imati dva stanja: trajno ili probno.

3. Ruter inicijalizuje parametre statusnog zapisa (za sve čvorove) i njihove dužine određuje na beskonačne a labele na probne.

4. Ruter setuje tzv. T-čvor. Na primer, ako je V1 izvorišni T-čvor, ruter labelu datog čvora definiše kao trajnu. Kada labela dobije oznaku "trajna", nikad se više ne menja. T-čvor se ponaša kao agent.

5. Ruter unapređuje probne zapise za sve probne čvorove koji su direktno povezani sa izvornim T-čvorom.

6. Ruter gleda u sve probne čvorove i bira one kojima je težina sa V1 čvorom najmanja. Taj čvor sada postaje destinacioni T-čvor.

7. Ako taj čvor nije V2 (nameravana destinacija), ruter se vraća na 5. korak.

8. Ako taj čvor jeste V2, ruter navodi prethodni čvor iz statusnog zapisa sve dok ne naiđe na V1. Ova lista čvorova prikazuje najbolju putanju od čvora V1 do čvora V2.

Ovi koraci su dati u sledećem prikazu:

Koristićemo Dijkstra algoritam za opis sledećeg primera, koji ima za cilj da pojasni algoritme za rutiranje.

U ovom slučaju želimo da nađemo najbolju putanju između tačaka A i E. Može se videti da postoje šest mogućih ruta između A i E tačaka (ABE, ACE, ABDE, ACDE, ABDCE i ACDBE), i da je očigledno da je ABDE najbolja putanja zato što je njegova težina najmanja. Ali život nije uvek tako jednostavan i tu postoje neke komplikacije koje uzrokuju situaciju da mi moramo koristiti algoritme da pronađemo najbolju putanju.

1. Kao što se vidi na dowoj slici, izvorišni čvor (A) je izabran za T-čvor, tako da je njegova labela obeležena kao stalna (stalni čvorovi su prikazani punim krugovima a T-čvorovi simbolom -->).

2.

U sledećem koraku, vidi se da je statusni zapis stalnog čvora direktno vezanog za T-čvor (B,C) promewen. Takođe, pošto B ima manju težinu on je odabran kao T-čvor i njegova labela je izabrana kao stalna.

3.

U ovom koraku, kao i u koraku 2., statusni zapis privremenog čvora koji ima direktnu vezu sa T-čvorom (D,E) se menja. Takođe, budući da D ima manju težinu on je izabran za T-čvor i njegova labela se menja u "stalni čvor".

4.

U ovom koraku nema više privremenih čvorova, tako da se samo identifikuje sledeći T-čvor. Pošto E ima najmanju težinu, on se identifikuje kao T-čvor.

5. Pošto je E destinacija, ovde se zaustavljamo.

Kada smo došli do kraja, treba da se identifikuje putanja. Prethodni čvor čvora E je D, a njegov prethodnik je B, dok je prethodnik čvora B je A. Dakle, najbolja putanja je ABDE. U ovom slučaju, celokupna dužina je 4 (1+2+1).

Bez obzira što ovaj algoritam radi dobro, on je isuviše komplikovan tako da ruteru treba mnogo vremena da procesuira datu putanju i samim tim efikasnost mreže opada. Takođe, ako ruter ostalim ruterima pošalje pogrešne informacije, njihove naredne odluke neće biti validne. Međutim, ovaj algoritam je dobar kao primer koji pokazuje princip određivanja putanje.

DV algoritmi

Kao što smo ranije naveli, Distance Vector algoritmi spadaju u lokalne algoritme. DV algoritmi su takođe poznati kao Belman-Ford rutirajući algoritmi i Ford-Fulkerson algoritmi. U ovim algoritmima svaki ruter ima tabelu rutiranja koja pokazuje najbolju putanju za svaku destinaciju. Tipični graf i tabela rutiranja za ruter I:

Destinacija Težina Linija A 8 A B 20 A V 28 I G 20 @ D 17 I \ 30 I E 18 @ @ 12 @ Z 10 I I 0 --- J 6 K K 15 K

slika 7. Tipičan graf rutiranja i tabela rutiranja za ruter I

Kao što je u tabeli prikazano, ako ruter I želi da pošalje paket ruteru G, treba da ga pošalje prvo do rutera @. Kada paket stigne do rutera @, on proverava svoju tabelu rutiranja i odlučuje kako da šalje paket do rutera D.

Kod DV algoritama, svaki ruter mora da odradi sledeće korake:

1. Broji težine za sve veze sa kojima je direktno spojen i te informacije čuva u svojoj tabeli.

2. U specifičnim periodima vremena, ruter šalje svoju tabelu ka susednim ruterima (ne svim ruterima) i prima tabele rutiranja ostalih rutera.

3. Na osnovu informacija dobijenih od susednih rutera, on unapređuje i konfiguriše svoju tabelu.

Pre nego što se formira tabela rutiranja, formira se tzv. tabela razdaljina, gde svaki red sadrži svaku moguću destinaciju a kolona svaku direktno-spojeni susedni čvor. Primer za dobijanje tabele razdaljina:

slika 8. Primer tabele razdaljina

Prethodni primer prikazuje putanje od izvorišta E do C i od E do A preko čvora D, kao i od E do A preko B. Vidimo tabelu razdaljina, koja prikazuje razdaljine od rutera (čvora) E do čvorova A, B, C i D preko čvorova A, B i D.

Na osnovu tabele razdaljine, formira se tabela rutiranja. Jer, tabela rutiranja mora da nastane na osnovu nekog prethodnog analiziranja mreže.

Lokalna poruka od susednog rutera se dobija u slučaju samo ako je nešto promenjeno. U tom slučaju, svaki čvor obaveštava susedni čvor. To može da se pojasni pomoću dijagrama toka:

Primer formiranja tabela razdaljina:

slika 10. Formiranje tabele razdaljina

U ovom primeru se mogu uočiti tri čvora, X, Y, Z. Između njih se nalaze različite dužine (2, 1, 7). Na osnovu njih, i pomoću DV algoritma određuje se tabela razdaljina.

Sam vektorski algoritam (Distance vector algorithm) bi izgledao na sledeći način:

1. Inicijalizacija:

2. za sve susedne čvorove v:

3. DX(*,v)= infinity /operator * znači "za sve redove"/

4. DX(v,v)=c(X,v)

5. za sve destinacije, y

6. pošaqi minWDX(y,w) svakom susedu / W preko svih suseda od X /

7. petqa

8. wait (until ne vidim promenu dužine za suseda V

9. or until ne dobijem promenu od suseda V)

10.

11. if (c(X,V) se promeni od strane d)

12. / promeni dužinu svim destinacijama kroz susedni V od strane d/

13. / napomena: d može biti pozitivno ili negativno /

14. za sve destinacije y: DX(y,V)= DX(y,V) + d

15.

16. else if (promeni primqene od strane čvora V i destinacije Y)

17. / kraći put od V do čvora Y je promewen /

18. / V je poslao novu vrednost za njegov minWDV(Y,w) /

19. / zovi ovu novoprimqenu vrednost kao "newval"

20. za pojedinačnu destinaciju y:DX(Y,V)=c(X,V) + newval

21.

22. if imamo novu minWDX(Y,w) za bilo koju destinaciju Y

23. pošaqi novu vrednost minWDX(Y,w) svim susedima

24.

25. forever

Dakle, čvor detektuje promenu lokalne veze, i unapređuje se tabela razdaljina.

U ovom primeru nam je opisano mreža sa tri čvora (rutera) X,Y i Z. Tabela razdaljina se menja, jer se razdaljina tj. težina između čvorova X i Y promenila sa 4 na 1. Zato se to i naziva "dobre vesti putuju brzo", jer se dužina promenila na bolje.

Sledeći primer nam prikazuje šta se dešava kada se dužina pogorša:

Dakle, u ovom slučaju dužina između X i Y se promenila sa 1 na 60. Ovo pogoršawe utiče na celokupnu efikasnost algoritma, i može se nazvati "loše vesti putuju sporo". U krajwoj distanci, to dovodi do problema koji se zove "brojawe do beskonačnosti", što će biti objašnjeno u sledećem primeru.

Jedan od najvećih problema sa DV algoritmima se zove "brojawe do beskonačnosti". Problem ćemo najbolje uočiti u sledećem primeru:

A B B G

A 0,- 1,A 2,B 3,C B 1,B 0,- 2,C 3,D V 2,B 1,C 0,- 1,C G 3,B 2,C 1,D 0,-

slika 13. Mrežni graf i tabela rutiranja

Pretpostavimo da je veza između A i B presečena. U tom momentu, ruter B ispravlja svoju tabelu. Posle specifičnog vremena, ruteri međusobno razmenjuju njihove tabele, tako da ruter B prima tabelu rutera V. Pošto ruter V nema informacije o raskidu između A i B, on saopštava da je povezan sa A težinom 2 (1 od V do B, i 1 od B do A). Dakle, on nema informaciju o raskidu između A i B. B prima ovu tabelu i zaključuje da postoji veza između V i A, tako da ispravlja svoju tabelu i menja vrednost "beskonačno" u 3 (1 za B do V, i 2 za V do A, kao što mu je V saopštio). Ponovo, ruteri razmenjuju svoje tabele. Kada V primi tabelu od B, uočava da je B promenio težinu za vezu do A sa 1 na 3, tako da V unapređuje svoju tabelu i menja težinu za vezu do A na 4 (1 za V do B, i 3 za B do A, kako je B saopštio). Ovaj proces se nastavlja sve dok svi čvorovi spoznaju da je težina veze do A beskonačna. Ova situacija je prikazana u sledećoj tabeli. U ovom slučaju, eksperti kažu da DV algoritmi imaju sporo priticawe (slow convergence rate).

B V G Suma težina nakon raskida A veze ,A 2,B 3,V Suma težina za B nakon prvog ažuriranja 3,V 2,B 3,V Suma težina za A nakon drugog ažuriranja 3,V 4,B 3,V Suma težina za A nakon trećeg ažuriranja 5,V 4,B 5,V Suma težina za A nakon četvrtog ažuriranja 5,V 6,B 5,V Suma težina za A nakon petog ažuriranja 7,V 6,B 7,V Suma težina za A nakon N-tog ažuriranja ... ... ...

Problem "brojawe do beskonačnosti"

Jedan od načina da se ovaj problem reši jeste da ruteri šalju informacije samo do susednih rutera čije veze nisu ekskluzivne do destinacija. Na primer, u ovom slučaju, V ne bi trebao da šalje do rutera B nikakve informacije o ruteru A, zato što je put preko B jedini put do A.

Takođe, razvijeni su i algoritmi koji rešavaju ovaj problem. Nazivi tih algoritama (korišćenih od strane RIP protokola) su split horizon (razdvojeni horizonti) i triggered updates.

Algoritam "razdvojeni horizonti" se koristi za izbegavanje problema izazvanih uk ljučivanjem putanja u nove informacije poslate ruterima od kojih je putanja i dobijena. To se postiže izbegavanjem putanja dobijenih od susednih uređaja u obnavljanju informacija koje su poslate istom tom susednom uređaju. U prethodnom primeru, gde je presečena veza između A i B, i ako A želi da stigne do npr. G, onda A treba da obavesti B da on ne može da stigne do G, tako da će B znati da ne postoji putanja od A do G. Ovo je slučaj za tačka-tačka veze. Ali ako zamislimo da su A i G povezani preko neke brodkast mreže, na primer Eterneta, i postoje drugi prolazi između te dve lokacije. U tom slučaju, A treba da objavi nepovezanost sa G svim gateway uređajima na toj mreži. Ti ostali gateway uređaji sami mogu dopreti do destinacije G, ali nikad preko A, jer je veza prekinuta. Ovaj način je dobar jer se šalje brodkast informacija svim ruterima, što umnogome pojednostavljuje ceo proces. Na primer, ako imamo neki kampus čija kičma (backbone) je povezana sa različitim zgradama, u svakoj zgradi se nalazi gateway koji povezuje kičmu sa lokalnim mrežama. Ako nastane neki problem sa kičmom, ruteri međusobno razmenjuju informacije, i lokalne mreže moraju znati jedino da li su priključeni na nju.

Algoritam "razdvojenog horizonta" je dobar u slučaju ako imamo samo 2 gateway uređaja. Zamislimo sledeći problem: stanica A veruje da ima sigurnu putanju kroz B, B kroz V, a V kroz G. Algoritam "razdvojeni horizont" ne može sprečiti pojavu petqe u ovom primeru. Tu se primenjuje tzv. trigerovanje (triggered updates).

Ovaj algoritam za otklanjawe problema kod rutiranja se zasniva na pravilu da svaki put kad ruter menja metriku za rutiranje, potrebno je da pošalje poruku o tome istog momenta, iako možda nije vremen za slawe regularnih poruka. Na primer, ako putanja do tačke P ide kroz ruter M. Ako neko novo obaveštewe dođe od rutera M, onda ruter P mora da veruje novoj informaciji. Ako nova informacija donosi neke novine u algoritmu, ruter P šalje svim svojim stanicama nove informacije. Dalje ove stanice (ili ruteri) šalju nove informacije svojim susednim stanicama, i tako dalje. Rezultat je kaskada trigerovanih dobavljanja novih informacija. Lako je prikazati koji ruteri i koje stanice su obuhvaćene ovim algoritmom. Pretpostavimo da se prekinula putanja između rutera A i B. A ruter će poslati nove informacije svim susednim ruterima. Naime, susedni ruteri koji će jedini verovati novim informacijama su oni na putawi između A i B. Ostali ruteri (koji nisu na ovoj putawi) neće prihvatiti ovu novu informaciju jer će je smatrati lošijom od njihovih trenutnih, tako da će je ignorisati. Susedni ruteri koji su na putawi od A do B će prihvatiti nove informacije i poslati njihovim susednim stanicama. Ponovo, samo stanice koje se nalaze na datoj putawi će uzimati u obzir nove informacije. S toga, nove informacije o putanjama će biti prosleđivane kroz sve puteve koji vode do rutera 2, unapređujući metriku do beskonačnosti. Ova propagacija će se završiti dok ne dođe do dela mreže čija destinacija do rutera B vodi nekim drugim putem.

Ako bi sistem (tj. mreža) bio u mogućnosti da ništa ne radi dok se vrši ažuriranje novih informacija, problem brojanja do beskonačnosti ne bi postojao. Istovremeno, loše putanje

bi bile eliminisane i nikakve petqe koje usporavaju ili zaustavljaju rutiranje ne bi bile formirane.

Nažalost, stvari nisu uvek tako dobre. Naime, dok se trigerovane informacije momentalno šalju, i regularni update se dešava u isto vreme. Ruteri koji su primili regularne informacije, a nisu primili nove (trigerovane) informacije, će ostalim ruterima i stanicama slati podatke o putanjama koje ne postoje. Moguće je i da ruter koji je primio trigerovane informacije ponovo dobije neki normalni update od rutera koji nije primio trigerovane informacije. Ovo može ponovo uspostaviti pogrešnu i netačnu putanju. Ako se trigerski update obavi dovoqno brzo, ovo se neće desiti. Ipak, brojawe do beskonačnosti je još uvek moguće.

Komparacija globalnih LS (Link state) i lokalnih DV (Distance vector) algoritama:

LS algoritmi DV algoritmi

kompleksnost sa n čvorova, E veza poruke se razmenjuju samo

poruka: O (nE) poruka poslato između susednih čvorova,

od strane svakog čvora vreme konvergencije (sticawe novih informacija) varira

vreme O (n**2) algoritam vreme konvergencije

konvergencije: zahteva O(nE) poruka, varira, može biti

može biti oscilacija rutirajućih petqi,

problem &ljuot;brojawe do

beskonačnosti&ljuot;

robusnost: čvor može objaviti čvor može objaviti

(šta se desi ako ruter netačne veze, netačnu putanju,

otkaže) svaki čvor računa samo svaki čvor koristi

svoju tabelu tuđe tabele,

propagacija greške

kroz tabelu

Hijerarhijsko rutiranje

Kao što smo mogli uočiti, i u DV i u LV algoritmima svaki ruter mora da zapamti neku informaciju o ostalim ruterima. Kada veličina mreže poraste, broj rutera u mreži se povećava. Implicitno, veličine tabela rutiranja takođe rastu i ruteri ne mogu efikasno raspoređivati saobraćaj u mreži. Da bi se to otklonilo koristi se tzv. hijerarhijsko rutiranje. Pogledajmo sledeći primer:

Koristićemo DV (distance vector) algoritam za pronalažewe najbolje putanje između dva čvora. U ovom primeru svaki čvor u mreži mora da zapamti tabelu rutiranja sa 17 zapisa. Dat je tipičan graf mreže i tabela rutiranja za ruter A:

Destinacija Linija Težina A --- --- B B 1 V V 1 G B 2 D B 3 \ B 3 E B 4 @ B 5 Z V 5 I V 6 J V 5 K V 4 L V 4 Q V 3 M V 4 N V 2 W V 3

slika 14. Tabela rutiranja rutera A

U hijerarhijskom rutiranju, ruteri su klasifikovani u grupe poznate kao regioni. Svaki ruter ima samo informacije o svom regionu i nema informacija o ostalim regionima. Ruteri čuvaju samo jedan zapis u njihovim tabelama o ostalim regionima. Na primer, mrežu smo podelili u 5 regiona:

Destinacija Linija Težina A --- --- B B 1 V V 1

Region 2 G 2 Region 3 D 2 Region 4 D 3 Region 5 D 4

slika 15. Regije kod hijerarhijskog rutiranja

Ako ruter A želi da pošalje pakete prema bilo kom ruteru u regiji 2 (G, D, \ ili E) on ih šalje prema B, i tako dalje. Kao što se može videti, u ovoj vrsti rutiranja tabele mogu biti ukratko prikazane što dodatno povećava efikasnost mreže. Prethodni primer prikazuje

dvo-nivovsko hijerarhijsko rutiranje. Može se koristiti npr. 3-nivovsko ili 4-nivovsko rutiranje.

U 3-nivovskom rutiranju mreža je podeqena u određeni broj grupa (clusters). Svaka grupa je napravqena od određenog broja regija, a svaka regija se sastoji od određenog broja rutera. Hijerarhijsko rutiranje se najviše primenjuje kod Interneta, i sadrži nekoliko protokola.

Sledeći primer ilustruje primenu hijerarhijskog rutiranja kod mreža koje čine više autonomnih sistema. Tu razlikujemo intra-AS (unutar autonomnog sistema) rutiranje, i inter-AS (rutiranje između autonomnih sistema).

slika 16. Hijerarhijsko rutiranje kod autonomnih sistema

Primena rutiranja

Sadržaj

Postoji jedna specijalna vrsta tabele rutiranja koja se zove podrazumevani prolaz ( "Default Gateway"). To podrazumeva sledeću situaciju: "Ako ne postoji definisana druga putanja za destinaciju, pošaqi paket do ovog gateway-a za isporučewe". Ako sistem rutiranja procesuira tabelu rutiranja i ne može naći ni jedan drugi podatak koji odgovara destinaciji za paket, prosleđuje se do ovog default gateway-a. Na mreži koja je spojena na Internet, default gateway je obično adresa rutera koji se nalazi kod Internet provajdera.

Tabele rutiranja kod OS MS Windows

Na većini Microsoft Windows sistema koji koriste TCP/IP, komanda route print će prikazati trenutnu tabelu rutiranja. Sledi primer za sistem Win NT 4.0 koji ima jednu vezu sa eternet mrežnim segmentom sa IP adresom 205.217.146.100 i mrežnom maskom 255.255.255.0:

Network Address Netmask Gateway Address Interface Metric

0.0.0.0 0.0.0.0 205.217.146.1 205.217.146.200 1

127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1

205.217.146.0 255.255.255.0 205.217.146.200 205.217.146.200 1

205.217.146.200 255.255.255.255 127.0.0.1 127.0.0.1 1

205.217.146.255 255.255.255.255 205.217.146.200 205.217.146.200 1

224.0.0.0 224.0.0.0 205.217.146.200 205.217.146.200 1

255.255.255.255 255.255.255.255 205.217.146.200 205.217.146.200 1

Mrežne adrese i kolona sa maskama mreža prikazuju vrednosti koje su korišćene za određivanje da li destinacija odgovara zapisu u tabeli rutiranja. Adrese prolaza (Gateway Address) i kolone sa interfejsima (Interface) pokazuju gde paketi treba da budu poslati, dok odeqak metrika (Metric) prikazuje koliko je "skupo" da se pošalje paket, odnosno koliko zahtevna je ta radwa.

Prva linija ove tabele rutiranja je tzv. podrazumevana vrednost prolaza (engl. Default Gateway). Adresa prolaza (Gateway Address) je adresa rutera sa IP adresom 205.216.146.1, i on je na mrežu spojen preko interfejsa sa adresom 205.217.146.200 . Na

Microsoft Windows TCP/IP sistemu ovaj zapis je uobičajeno upisan od strane sistemskog administratora u Default Gateway polju kada je TCP/IP konfigurisan na sistemu.

Druga linija je tzv. putanja povratne petqe (engl. loopback route). Adresa 127.0.0 u prolazu i interfejsu je specijalna vrednost koja se odnosi na lokalni host-računar. Na Microsoft TCP/IP sistemima ovaj zapis je automatski konfigurisan od strane TCP/IP softvera.

Treća linija definiše opseg adresa u lokalnom mrežnom segmentu. Ovo pokazuje da bilo koja adresa u mreži 205.217.146.0 klase C može biti nađena u mrežnom segmentu spojenog na interfejs sa adresom 205.217.146.200. Na Microsoft Windows TCP/IP sistemu ovaj zapis je dodat kad je interfejsu dodeqena IP adresa 205.217.146.200 sa maskom mreže (netmask) 255.255.255.0. TCP/IP softver korisi masku mreže u kombinaciji sa IP adresom da dobije adresu mreže 205.217.146.0. ^etvrta linija pokazuje kako tabela rutiranja Microsoft-a definiše da je 205.217.146.200 adresa lokalnog host-računara. Na Microsoft Windows TCP/IP sistemu ovaj zapis je takođe dodat kada je interfejsu dodeqena IP adresa. 255.255.255.255 maska identifikuje da je ova putanja primewena samo za pakete adresirane na pojedinačnu adresu 205.217.146.200. 127.0.0.1 adresa prolaza i interfejsa (Gateway and Interface) prolazi sve pakete za ovu adresu do lokalnog host-računara. Peti zapis u listi je tzv objavqena adresa (announce address) za lokalnu mrežu. Ovo je zapis koji se automatski dodeljuje interfejsu na Windows TCP/IP sistemu prilikom dodele IP adrese.

[esta linija je tzv. multi-kast adresa (engl. multi-cast address). Ova putanja je za specijalne aplikacije koje šalju informacije na više od jedne destinacije (broadcast)

Sedma linija je još jedna linija koja je unikatna za tabele rutiranja Microsoft-a. U tabeli datoj primerom svi zapisi imaju za metriku broj 1. Metrika (engl. metric) je vrednost koja prikazuje cenu (vrednost) putanje. Svrha metrike je da pomogne sistemu za rutiranje da odluči koju putanju da koristi ako postoji više od jedne putanje do određene destinacije. Metrika upućuje na broj skokova potrebnih da bi se došlo do destinacije. Na primer, ako je sistem spojen na dve različite mreže, i treća mreža je dostupna preko bilo koje od njih dve, postojaće dve tabele rutiranja sa zapisima za treću mrežu. Ako je treća mreža povezana direktno za prvu mrežu, metrika na prvoj putawi će biti 1. Ako se zahteva prolaz kroz četvrtu mrežu da bi se došlo do druge mreže, onda je metrika na drugoj putawi 2. Ovo odražava činjenicu da je prva putanja mawe "skupa" (engl. expensive) nego druga. Metrika se tako koristi da meri ostale atribute za brojawe skokova. Ako jedna putanja prolazi kroz direktno povezane mreže a druga putanja prolazi kroz spore telefonske linije, sporija putanja će dati veću, više "skuplju" metriku.

Na Microsoft TCP/IP sistemu tabela rutiranja je automatski ugrađena kada se konfiguriše TCP/IP interfejs na sistemu. Administrator mreže može dodeliti vrednosti na svakom individualnom sistemu, ili ako se koristi DHCP (Dynamic Host Configuration Protocol), informacija je dobijena od centralnog hosta kada je sistem startovan. Putanje se mogu dodati uz pomoć komande route add, ili mogu biti dobijene od sistema putem specifičnog protokola (Internet Control Message Protocol- ICMP) i ostalih protokola (npr. RIP). Ako

sistem ima više interfejsa, kao na primer NIC (Network Interface Card), dakle mrežne kartice spojene na drugi mrežni segment ili telefon spojen na mrežu, tu će biti primewene tabele rutiranja. One će prikazati IP adrese, mrežne adrese, objavqene adrese i inerfejse.

Dodavanjem interfejsa ne zahteva se dodavanje podrazumevanih vrednosti. Pod normalnim uslovima trebalo bi da postoji samo jedna podrazumevana putanja (default route) na bilo kom TCP/IP sistemu. Jedini slučaj kad treba da postoji više od jedne podrazumevane putanje je kada sistem ima više od jedne moguće putanje za spajawe sa Internetom. U ovom slučaju, postojaće višestruke podrazumevane putanje, naravno sa različitim metrikama. Ovo može da bude slučaj kada je sistem na mreži koja je spojena na Internet i ima rezervnu konekciju u slučaju da primarna mreža otkaže. Kada primarna putanja otkaže, moguće je tu putanju otkazati automatski ili manualno. Zatim se sekundarna putanja koristi od strane sistema za rutiranje.

Tabele rutiranja kod OS UNIX

Ako bi u prethodno opisanom primeru koristili UNIX operativni sistem, tabele rutiranja bi bile drugačije ali bi funkcionisale principski isto. Na većini UNIX sistema tabele rutiranja se prikazuju uz pomoć komande netstat- nr. Opcija –r govori programu da prikaže tabelu rutiranja, a opcija –n govori da se prikaže numerička IP adresa, umesto ime domena za sistem i mreže. Sledeća tabela je iz Linux UNIX sistema koji ima IP adresu 205.217.146.198 i masku mreže 255.255.255.0 :

Kernel routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

205.217.146.0 0.0.0.0 255.255.255.0 U 0 0 3070 eth0

127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 2130 lo

0.0.0.0 205.217.146.1 0.0.0.0 UG 0 0 2370 eth0

Kolona destinacija (Destination) daje mrežnu i adresu host-računara za dati unos. Kolona prolaza (Gateway) prikazuje prolaze koji se koriste da bi se dostigla destinacija. Genmask kolona prikazuje masku mreže za zapis u tabeli.

Kolona zastave (Flags) opisuje status zapisa. Vrednosti ove kolone su sledeće:

· U- znači da se ova putanja može koristiti

· G- destinacija je prolaz (gateway)

· H- destinacija je host-računar

· R- putanja će biti ponovo uspostavqena nakon što istekne vreme

· D- ova putanja je napravqena dinamički (redirekcijom)

· M- putanja je modifikovana dinamički (redirekcijom)

Kolona Metrika (Metric) daje relativnu metriku za trenutnu putanju. Kolona korišćewa (Use) prikazuje koliko mnogo paketa je prenošeno korišćewem ove putanje.

Interfejs (Interface) kolona pokazuje fizičke interfejse koji su korišćeni za ovu putanju. U ovoj tabeli eth0 je eternet port #0, dok je lo lokalna povratna petqa (loopback).

Prva linija tabele prikazuje opseg validnih IP adresa na mreži direktno konektovane na interfejs eth0. Druga linija prikazuje lokalnu povratnu petlju. Treća linija je podrazumevana putanja (default route). Ona pokazuje da je to prolaz (Gateway) sa IP adresom 205.217.146.1, i da se nalazi na lokalnom mrežnom segmentu koji je spojen na interfejs eth0. Tabela rutiranja prikazana na UNIX sistemu ima mawe zapisa nego ona prikazana na Microsoft Windows operativnom sistemu. Ovo je delimično zato što UNIX sistem nema neke zapise, kao što su multi-kast putanja, koju Microsoft TCP/IP dodaje kao podrazumevanu. Takođe, UNIX netstat komanda ne prikazuje neke informacije kao što su IP adrese lokalnog interfejsa i mrežne objavqene adrese. UNIX tabele daje više informacija po liniji nego tabela prikazana pod Microsoft Microsoft TCP/IP, prikazujući specifični status i korisne informacije.

Kao i tabela Microsoft-a, ako se dodaju neki interfejsi i tabele, dodaće se i zapisi u UNIX tabelama rutiranja.

PING, TRACE ROUTE

Kada podešavamo međumrežno rutiranje ili testiramo postojeću putanju za neke probleme, postoje dve alatke koje su dostupne na TCP/IP sistemima pomoću kojih se to može uraditi. To su Ping i Trace Route. Korišćewe ovih alatki može pomoći kod identifikacije ako postoji problem i može pomoći u sužavanju regiona da bi se rešio problem. Većina operativnih sistema i programabilnih rutera koji podržavaju TCP/IP

imaju neke verzije ping programa. Trace Route nije toliko komotan kao ping, ali se takođe nalazi na većini rutera i operativnih sistema koje podržavaju TCP/IP.

PING

Izraz Ping je pozajmljen iz pomorstva, iz postupka u kome sonar na brodu emituje zvučne talase (zvuči kao "ping") na osnovu kojih se lociraju druga plovila ili eventualne prepreke.

Ping program šalje eho poruku na specifičnu adresu. Ako je sistem na toj adresi dostupan i ako funkcioniše, on mora da uzvrati eho porukom sistemu koji je poslao. Većina ping programa će prikazati informaciju o tome koliko dugo je trebalo poruci da pređe od izvorišta do destinacije i nazad. Ping programi obično dozvoqavaju definisanje parametara da bi se promenila operacija programa. Ovo može obuhvatati broj poruka koje su poslate, vreme između slanja paketa, veličina paketa i uzorak podataka koji su poslati.

Pod Microsoft Windows TCP/IP-om, ping program obično šalje četiri poruke. Sledeći primer ilustruje izvršenu ping komandu na Microsoft Windows NT 4.0 sistemu:

Pinging ns1.wlw.com [205.217.146.198] with 32 bytes of data:

Reply from 205.217.146.198: bytes=32 time<10ms TTL=255

Reply from 205.217.146.198: bytes=32 time<10ms TTL=255

Reply from 205.217.146.198: bytes=32 time<10ms TTL=255

Reply from 205.217.146.198: bytes=32 time<10ms TTL=255

Na Linux UNIX sistemu ping program će nastaviti da šalje pakete sve dok se to ne prekine korišćewem komande Ctrl-C, osim ako brojawe paketa nije specificirano sa –C opcijom. Sledeći primer ilustruje korišćewe ping komande na Linux sistemu:

PING zeus.wlw.com (205.217.146.200): 56 data bytes

64 bytes from 205.217.146.200: icmp_seq=0 ttl=128 time=2.8 ms

64 bytes from 205.217.146.200: icmp_seq=1 ttl=128 time=2.0 ms

64 bytes from 205.217.146.200: icmp_seq=2 ttl=128 time=2.0 ms

64 bytes from 205.217.146.200: icmp_seq=3 ttl=128 time=2.0 ms

64 bytes from 205.217.146.200: icmp_seq=4 ttl=128 time=2.0 ms

64 bytes from 205.217.146.200: icmp_seq=5 ttl=128 time=2.0 ms

^c

--- zeus.wlw.com ping statistics ---

6 packets transmitted, 6 packets received, 0% packet loss

round-trip min/avg/max = 2.0/2.1/2.8 ms

Primetimo da UNIX verzija ping-a daje informacije tek kad je prekinuta.

Trace Route (praćewe putanje)

Trace Route je program koji nije toliko raširen kao Ping, ali se nalazi na većini TCP/IP sistema. Trace Route koristi isti tip eho-poruke kao i Ping, ali te poruke koristi na drugačiji način. Jedan od parametara u TCP/IP paketu je tzv. Time-To-Live (TTL), dakle vreme postojanja poruke. Ovaj parametar govori koliko rutera (ili gateway-a, prolaza) poruka može da prođe pre neko je uništena. Svaki gateway koji prosleđuje poruke umanjuje (dekrementuje) TTL brojač. Kada brojač dospe do nula poruka nije više validna. Zatim se poruka šalje nazad da obavesti pošiqaoca da je TTL vreme isteklo. Glavni razlog postojanja TTL-a je da natera paket da se uništi ako postane deo u nekoj cirkularnoj putawi, umesto da nastavi da kruži po Internetu beskonačno.

Trace Route koristi TTL parametre u eho-poruci da mapira putanju određenu od strane poruke koja se pomera kroz mreže. Ova poruka je prvo poslata sa TTL vrednošću 1. Ovo će isteći kod prvog rutera (ili gateway-a). Zatim se TTL povećava za jedan svaki put kad je poruka poslata izvan, sve dok ne stigne do destinacije.

Svaki put kad se TTL poruka vrati od strane nekog rutera rutera dobijaju se dve značajne informacije: IP adresa gateway-a gde je istekla poruka, i vreme koje je potrebno da poruka napravi pun krug do tog gateway-a i nazad do pošiqaoca. Ova informacija je obično prikazana u praćenju putanje. Ovo omogućava da se napravi označena putanja napravqena od strane paketa, korak po korak, od izvora do destinacije. Ako je cilj nedostupan, Trace Route će obično prikazati svaki korak putanje do tačke gde je poruka vraćena. Većina ovih programa omogućava maksimalno 30 skokova pre nego se prekine proces. Ovaj maksimum obično može biti promewen od strane korisnika.

Većina programa za praćewe putanje će poslati najmawe tri poruke na svaki korak putanje, vraćajući informacije od svakog od ovih pokušaja. Ako poruka nije vraćena, nedostajuća poruka je obično identifikovana kao zvezdica (*) umesto odgovarajućeg vremena potrebnog da se napravi ceo krug.

Trace Route programi će obično prihvatiti destinaciju datu ili u formi numeričke IP adrese ili kao DNS ime domena. Ako je data IP adresa, program će obično vratiti i ime koje je povezano sa tom adresom. Ako je zadato DNS ime sistem će vratiti IP adrese. Kako program prikazuje svaki skok putanje, obično će prikazati IP adresu i bilo koje ime domena koje je povezano sa tom adresom.

Na sistemu koji koristi Microsoft Windows TCP/IP, program se zove tracert. Sledeći primer je rađen na Windows NT 4.0 sistemu i prikazuje izgled kada je putanja na četvrtom skoku:

D:\>tracert ns1.berkeley.edu

Tracing route to ns1.berkeley.edu [128.32.136.9]

over a maximum of 30 hops:

1 20 ms <10 ms 10 ms router.wlw.com [205.217.146.1]

2 140 ms 40 ms 40 ms 204.153.64.50

3 40 ms 40 ms 40 ms 204.153.64.1

4 * * * Reljuest timed out.

5 * * * Reljuest timed out.

6 * * ^C

Sledeći primer je isti primer ali sa prikazanim svim putanjama do destinacije:

D:\>tracert ns1.berkeley.edu

Tracing route to ns1.berkeley.edu [128.32.206.9]

over a maximum of 30 hops:

1 20 ms <10 ms 10 ms router.wlw.com [205.217.146.1]

2 40 ms 40 ms 40 ms wwi_isdn_a01.wwi.net [204.153.64.50]

3 41 ms 50 ms 210 ms wwi_7000.wwi.net [204.153.64.1]

4 50 ms 50 ms 40 ms 904.Hssi4-0.GW1.KCY1.ALTER.NET [137.39.151.17]

5 180 ms 380 ms 291 ms Fddi0-0.CR1.KCY1.Alter.Net [137.39.37.225]

6 150 ms 70 ms 80 ms 126.Hssi6-0.CR1.DCA1.Alter.Net [137.39.59.29]

7 90 ms 80 ms 90 ms 101.Hssi4-0.CR1.TCO1.Alter.Net [137.39.69.85]

8 140 ms 451 ms 110 ms 411.atm10-0.br1.tco1.alter.net [137.39.13.13]

9 751 ms 141 ms 80 ms Sprint-TCO1-gw.ALTER.NET [137.39.103.18]

10 80 ms 70 ms 81 ms sl-dc-1-F/T.sprintlink.net [198.67.0.7]

11 370 ms 401 ms 320 ms sl-stk-2-H2/0-T3.sprintlink.net [144.228.10.105]

12 260 ms 111 ms 100 ms sl-stk-16-F0/0.sprintlink.net [144.228.40.16]

13 260 ms 130 ms 110 ms sl-csuberk-1-H1/0-T3.sprintlink.net [144.228.146.50]

14 220 ms 110 ms 110 ms inr-666-dmz.berkeley.edu [198.128.16.21]

15 110 ms 110 ms 120 ms inr-107-styx.Berkeley.EDU [128.32.2.1]

16 110 ms 120 ms 121 ms inr-100.Berkeley.EDU [128.32.235.100]

17 191 ms 140 ms 150 ms ns1.Berkeley.EDU [128.32.206.9]

Trace complete.

Na sistemu koji koristi Linux UNIX program se naziva traceroute. Sledi primer je na Linux sistemu koji prikazuje putanju na četvrtom skoku:

ns1:č# traceroute ns1.berkeley.edu

traceroute to ns1.berkeley.edu (128.32.206.9), 30 hops max, 40 byte packets

1 router.wlw.com (205.217.146.1) 3.128 ms 2.94 ms 2.699 ms

2 204.153.64.50 (204.153.64.50) 124.093 ms 33.994 ms 33.285 ms

3 204.153.64.1 (204.153.64.1) 49.623 ms 104.921 ms 35.334 ms

4 * * *

5 * * *

^c

Sledeći je primer koji prikazuje istu putanju kao i prošli primer, ali sad sa svim putevima do destinacije:

ns1:č# traceroute ns1.berkeley.edu

traceroute to ns1.berkeley.edu (128.32.136.9), 30 hops max, 40 byte packets

1 router.wlw.com (205.217.146.1) 3.192 ms 2.853 ms 2.83 ms

2 wwi_isdn_a01.wwi.net (204.153.64.50) 37.2 ms 33.519 ms 33.809 ms

3 wwi_7000.wwi.net (204.153.64.1) 35.617 ms 35.857 ms 35.658 ms

4 904.Hssi4-0.GW1.KCY1.ALTER.NET (137.39.151.17) 41.283 ms 173.836 ms 48.061 ms

5 Fddi0-0.CR1.KCY1.Alter.Net (137.39.37.225) 37.197 ms 60.388 ms 37.575 ms

6 126.Hssi6-0.CR1.DCA1.Alter.Net (137.39.59.29) 79.932 ms 67.333 ms 66.861 ms

7 101.Hssi4-0.CR1.TCO1.Alter.Net (137.39.69.85) 242.576 ms 73.019 ms 74.759 ms

8 411.atm10-0.br1.tco1.alter.net (137.39.13.13) 448.886 ms 384.883 ms 418.54 ms

9 Sprint-TCO1-gw.ALTER.NET (137.39.103.18) 152.252 ms 201.521 ms 248.778 ms

10 sl-dc-1-F/T.sprintlink.net (198.67.0.7) 417.669 ms 72.166 ms 71.769 ms

11 sl-stk-2-H2/0-T3.sprintlink.net (144.228.10.105) 120.468 ms 448.901 ms 488.277 ms

12 sl-stk-16-F0/0.sprintlink.net (144.228.40.16) 108.583 ms 118.499 ms 104.628 ms

13 sl-csuberk-1-H1/0-T3.sprintlink.net (144.228.146.50) 233.624 ms 138.528 ms 109.856 ms

14 inr-666-dmz.berkeley.edu (198.128.16.21) 110.952 ms 339.673 ms 122.125 ms

15 inr-107-styx.Berkeley.EDU (128.32.2.1) 112.056 ms 199.265 ms 172.471 ms

16 inr-101.Berkeley.EDU (128.32.235.101) 126.278 ms 169.483 ms 115.056 ms

17 ns1.Berkeley.EDU (128.32.136.9) 107.024 ms 250.979 ms 127.702 ms

ns1:č#

Ping i Trace Route su dosta korisni kod otklanjawa problema sa TCP/IP komunikacijama. Oni dozvoqavaju mrežnom administratoru da testira da li udaljeni sistem dostižan, i ako nije gde su veze u prekidu. Informacije dobijene od ovih programa takođe mogu biti i lažne. Ako je udaljeni sistem zaštićen od strane sigurnostnog firewall-a, često je moguće do tog sistema dopreti pomoću e-mail-a, HTTP-a i ostalih standardnih protokola, dok su ping i Trace Route stopirani na zaštiti (firewall). Takođe, ako postoji više od jedne putanje do udaljenog računara, ponekad se može desiti da poruka dospe do udaljenog računara dok se povratna poruka vraća drugačijom putawom i zabeleži drugačije parametre. Za efektno rešavanje TCP/IP problema na putanjama koje prolaze kroz više

mreža često je neophodno imati iskusne mrežne inžewere u svim mrežama kroz koje prolazi poruka.