Professional Documents
Culture Documents
Mentor: Autor:
prof. dr Borislav Odadžić Ivana Grek
137/02-11
dipl. ing. informatike
2
1. Uvod
Broj uredjaja koji koristi internet raste velikom brzinom što je pokazano na slici 1.,
trenutno ih ima vise od 1.650.000.000 .
Krajnji sistemi i ostali sastavni delovi interneta, koriste protokole koji kontrolišu slanje i
prijem informacija u okviru interneta. TCP (Transmission Control Protocol) i IP
(Internet Protocol) predstavljaju dva najvažnija internet protokola. Glavni internet
protokoli opšte su poznati pod nazivom TCP/IP.
Imajući u vidu značaj protokola na internetu, veoma je važno da postoji opšta saglasnost
o tome šta svaki od tih protokola tačno radi. Za to su zaduženi standardi. Za internet
standarde zadužena je Tehnička radna grupa za internet (Internet Engineering Task
Force, IETF). IETF standardi nazivaju se RFC dokumenti (Request For Comments –
zahtevi za komentarima). RFC dokumenti nastali su kao opšti zahtevi za komentarima
(otuda i njihov naziv) kako bi se rešili problemi pri projektovanju mreža i protokola sa
kojima su se suočavali projektanti mreža koje su prethodile internetu. RFC dokumenti
1
Izvor http://50X15.com
3
puni su tehničkih izraza i veoma su detaljni. Njima su definisani protokoli kao što su
TCP, IP, HTTP (za veb) i SMTP (za elektronsku poštu).
Krajnji sistemi pristupaju internetu preko posrednika za internet usluge (Internet Service
Provider, ISP) i to mogu biti posrednici koji svoje usluge pružaju domaćinstvima, kao
što su AOL ili telefonske kompanije i kablovski operateri, zatim posrednici za
preduzeća i univerzitete, kao i posrednici kao što je, na primer, kompanija T-Mobile
koja obezbeđuje bežični pristup na aerodromima, u hotelima, kafeima i na drugim
2
Izvor: http://www.wikipedia.org
4
javnim mestima. Svaki posrednik za internet usluge, u stvari, predstavlja mrežu rutera i
komunikacionih linkova. Postoji neformalna podela internet provajdera u tri sloja:
– Sloj 1 –Mreža (ISP) koja razmenjuje saobraćaj sa svim ostalim mrežama čime
ima mogućnost da dođe do svih destinacija na Internetu.
– Sloj 2 -Mreža (ISP) koja razmenjuje saobraćaj sa nekim mrežama, ali mora da
kupi IP tranzit kako bi imala pristup do nekih destinacija na Internetu
– Sloj 3 – Mreža koja isključivo kupuje tranzit do svih destinacija na Internetu.
Osnovu interneta čine protokoli koji odredjuju putanju kojom će se doći do željene
destinacije. Protokol koji koriste velike mreže za razmenu informacija o putanjama
između sebe je Border Gataway Protocol – BGP tj. trenutno aktuelna verzija BGPv4.
5
2. Rutiranje i protokoli rutiranja
Ruter radi na mrežnom sloju OSI modela. Ruter je uređaj koji se koristi za spajanje ili
deljenje mreža. On povezuje mnogo manjih mreža u veću mrežu, koja se naziva
međumreža (internetwork), ili deli veliku mrežu u manje podmreže da bi se poboljšale
performanse i upravljivost.
Rutiranje se vrši na osnovu tabele rutiranja. Podaci u tabelu se mogu unositi ručno što
se naziva statičkim rutiranjem ili da se podaci dobijaju od drugih rutera sa kojim je
povezan što se naziva dinamičkim rutiranjem.
Kod statičkog rutiranja svaku rutu pojedinacno unosi administrator što bi u velikim
mrežama podrazumevalo rekonfiguraciju svih rutera. Statičke rute nemaju mogućnist
adaptacije na promenu topologije mreze.
INTERNI EKSTERNI
Distance vector Link-state Path vector
RIP IS-IS BGP
IGRP OSPF EGP
EIGRP
6
2.1 Statičko rutiranje
Statičko rutiranje je ono u kome se ručno unose podaci o udaljenim mrežama i kako se
do njih stiže. Prednost ove konfiguracije je u tome što je ona najjednostavnija moguća.
Mana je u tome što je ovo zadovoljavajuće samo u malim mrežama sa malo rutera, jer
kod menjanja topologije mreže mora ručno da se promeni svaka statička ruta na dosta
(možda čak i kod svih) rutera.
Statička ruta može da ukazuje ili na izlazni interfejs na datom ruteru, ako nije u pitanju
medijum na kojem može da bude više rutera kao što je ethernet, ili na adresu interfejsa
susednog rutera.
Kod dinamičkog rutiranja rute se u tabelu rutiranja unose tako što ruteri međusobno
razmenjuju njima poznate rute na osnovu pravila koja se zovu protokoli rutiranja.
Protokol rutiranja (engl. Routing protocol) predstavlja set pravila kojim ruteri dinamički
razmenjuju informacije o putanjama (rutama) kojima paket treba da se kreće da bi
dosegao željenu destinaciju. Kada se dogodi neka izmena u topologiji računarske mreže,
najbliži ruter kod koga se desila promena, zapisuje je u svoju tabelu rutiranja, a potom
protokoli rutiranja pokreću mehanizme kojima se informacija o promeni u topologiji
prosleđuje ostalim uređajima u mreži. Na ovaj način ruteri dinamički ažuriraju svoje
tabele rutiranja. Ovi protokoli pripadaju sloju mreže referentnog OSI modela.
7
2.2.1 Distance vector protokoli
2.2.1.1 RIP
RIPv1 je razvijen 1980ih. godina u kompaniji Ziroks (engl. Xerox) iz ranije verzije
protokola (GWINFO) (engl. Gateway Information Protocol). Razvojem Ziroksovih
mrežnih sistema iz (GWINFO) protokola proizašao je RIPv1. Ubrzo, protokol je bio
primenjen u mrežnim sistemima različitih proizvođača, što je dovelo do njegove
standardizacije 1988. godine.
8
RIPv2 uvodi sledeća poboljšanja u odnosu na RIPv1:
- Predstavlja bezklasan protokol rutiranja, pored adrese mreže navodi i podmrežnu
masku.
- Poseduje mehanizme autentikacije, uvedene radi sigurnosti.
- Podržava podmrežne maske promenljive dužine VLSM (engl. Variable Length Subnet
Masking)
- Umesto broadkast adresa koristi multikast adrese.
- Podržava manuelno sumiranje ruta.
IGRP se smatra klasnim ruting protokolom jer protokol nema polje za mrežnu masku,
ruter pretpostavlja da su sve adrese interfejsa u okviru iste klase A, B ili C. Klasni
protokoli su postali manje popularni zbog rasipajna adresnog prostora.
EIGRP (engl. Enhanced Interior Gateway Routing Protocol) razvijen (1992.) je interni,
bezklasni protokol rutiranja koji radi po algoritmu na osnovu vektora udaljenosti. Kao
što i samo ime kaže, razvio se kao nadogradnja klasnog IGRP iz (1985.) (engl. Interior
Gateway Routing Protocol). Za razliku od većine ostalih standardizovanih protokola,
ovi protokoli su vlasništvo Cisco Systems korporacije, podržani samo u njihovim
mrežnim uređajima (ruterima). Umesto broj skokova (udaljenost izražena u broju rutera
do mreže), EIGRP kao metriku uzima broj skokova pri čemu svakom, do odredišne rute
daje težinu formiranu na osnovu propusnih opsega, zakašnjenja, pouzdanosti i
opterećenosti. Isto tako mehanizam pomoću kojeg razmenjuje i obrađuje informacije o
putanjama umesto Belman-Fordovog algoritma (engl. Bellman-Ford Algorithm) koristi
napredniji DUAL (engl. Diffusing Update Algorithm).
9
2.2.2 Link-state protokoli
Rad protokola rutiranja na osnovu stanja linka (engl. Link-State Routing Protocols) se
zasniva na Dajkstrinom (SPF) algoritmu, poznati su još kao (SPF) protokoli (engl.
Shortest Path First) najpre najkraća putanja. Kako su ovi protokoli interni protokoli
rutiranja, oni određuju najkraće putanje unutar istog autonomnog sistema, koji se u
zavisnosti od veličine i složenosti može dalje hijerarhijski podeliti na zone. Pri
dostizanju konvergencije ruteri koji pripadaju istoj zoni izvršavaju sledeće procese:
- Svaki ruter ispituje svoje veze ka susednim ruterima ili mrežama.
- Razmenjujući Hello pakete otkriva susede, uspostavlja i održava susedske veze.
- Svaki ruter formira LSP (engl. Link-State Packet) koji sadrži informacije o stanju
svake direktno konektovane veze.
- Svaki ruter prosleđuje LSP ka susedima koji na osnovu njih formiraju svoje baze
podataka.
(Susedi dalje prosleđuju svojim susedima LSP, sve dok svi ruteri unutar zone ne prime
pakete od svakog rutera)
- Koristeći baze podataka, ruteri formiraju topologiju mreže.
- Potom ka svakoj od mreža određuju najkraće putanje koje unose u tabele rutiranja
(mreža je iskonvergirana).
Ovoj grupi protokola pripadaju:
OSPF, (engl. Open Shortest Path First)
DNA Phase V protokol za DEC mrežna okruženja, preteča IS-IS protokola.
IS-IS, (engl. Intermediate System to Intermediate System)
NLSP Novellova mrežna okruženja, (engl. NetWare Link Services Protocol)
AURP, (engl. AppleTalk Update Routing Protocol) iz AppleTalk skupa protokola.
2.2.2.1 IS-IS
10
IS-IS zone se mogu smatrati kao mali potskupovi autonomnog sistema. Pritom, zone su
mrežni domeni u tehničkom, a ne administrativnom smislu, jer nisu rezultat polisa, već
su jednostavno granica jedne grupe rutera.
IS-IS ruter može funkcionisati unutar jedne zone ili između više zona. Analogija se
može pronaći u odnosu između IGP-EGP protokola rutiranja. Za razliku od OSPF
rutera, IS-IS ruter pripada jednoj i samo jednoj zoni.
IS-IS ruter operiše u sledećim nivoima:
- Nivo 0 : rutiranje sa krajnjim uređajem (na primer server) ES (engl. End System)
- Nivo 1 : (N1) unutar zone
- Nivo 2 : (N2) između zona
- Nivo 3 : između mrežnih domena, slično BGP protokolu
2.2.2.2 OSPF
11
autentifikaciju korisnika, balansiranje saobraćaja (engl. load balancing) i koristi
neadresirane interfejse za serijske linkove.
Cena putanje je obrnuto proporcionalna protoku na linku (10 8 / protok). Zbog prelaska
na veće protoke pojavio se problem inicijalne vrednosti za proračun cene pa su
proizvođači rutera omogućili da se poveća inicijalna vrednost na 109 ili čak i veća.
Proces razmene ruta ima više faza:
1. Ruter svima pošalje komletnu bazu podataka o linkovima – generiše link state
advertisements – LAS flooding
2. Na osnovu tih podataka svaki ruter, koristeći SPF algoritam vrši izračunavanje
svoje taele rutiranja
3. Po formiranju tabele rutiranja svaki ruter povremeno pošalje kratki Hello paket
kojim signalizira da je i dalje u funkciji
4. Tek na svakih 30 minuta ruter generiše LSA
5. U slučaju da dođe do promene u topologiji ona se odmah svima šaljeposle čega
sleduje proračun tabele rutiranja
U slučaju velike mreže, proračun tabele rutiranja i SPF algoritma zahteva značajne
resurse. U cilju smanjenja potrebnih resursa za rad OSPF protokola, velika mreža se deli
na oblasti. Unutar oblasti se koristi LSA i SPF algoritam; između oblasti se oglašavaju
rute po principu distance vector protokola. Podelom na oblasti se postiže da se ponovni
proračun prilikom promene topologije obavlja samo unutar jedne oblasti. Između oblasti
se koristi i agregacija ruta u cilju smanjenja tabele rutiranja. Jedna oblast se proglašava
za backbone oblast i ona ima identifikaciju 0 (nula). Ostale oblasti dobijaju
identifikacije od 1 pa nadalje (32-bitna identifikacija). Sve oblasti moraju da imaju
direktnu vezu sa backbone oblašću. Razmena informacija o dostupnosti pojedinih mreža
se obavlja kroz backbone oblast. Ako slučajno postoji oblast koja nije vezana za
backboneoblast, tada se formira virtuelni link (tunel) do backbone oblasti. Kroz ovaj
tunel se šalju informacije o delu mreže u oblasti ka backbone-u.
Tipovi paketa koji se razmenjuju u ovom protokolu:
- Hello - Uspostavlja i održava adjacency sa susedima.
- Database description Packet - Opisuje sadržaj link-state baze na ruteru.
- Link state request - Zahteva specifičan deo link-state baze.
- Link state update - Prenosi LSA do susednih rutera.
- Link state acknowledgement - Potvrđuje prijem susedovih LSA.
Svi podprotokoli koriste isto zaglavlje paketa koji sadrži sledeće vrednosti:
Version –Verzija OSPF protokola
Type –Tip paketa; ima 5 tipova paketa
Packet Length–Ukupna dužina OSPF paketa u bajtovima
Router ID - ID rutera koji je generisao paket; 32-bitni broj
Area ID - 32-bitni broj koji identifikuje oblast (area) kojoj ovaj paket pripada; paket
koji ide kroz virtuelni link uvek ima oznaku backbone oblasti
Checksum - standardni IP checksum koji obuhvata kompletan OSPF paket osim 64 bita
koji se koriste za autentifikaciju
AuType - Identifikuje proceduru za autentifikaciju koja se koristi i može biti:
0 –Null authentication
1 –simple password
2 –cryptographic authentication
3-...–buduća upotreba
Authentication–polje dužine 64 bita koje se koristi za autentifikaciju.
12
3. BGP
BGP (engl. Border Gatawey Protocol) je osnovni protokol rutiranja Interneta. Nastao je
1989. godine i bio je definisan u dokumentu RFC 1105. Danasnja verzija BGP4 je
definisana 1995. godine u dokumentu RFC 4271.
BGP je distance vector protokol, gde svaki BGP čvor prima routing informacije od
susednog downstream rutera, na osnovu njih izračunava svoju routing tabelu i
prosleđuje je susednom upstream ruteru. Za razliku od ostalih distance vector protokola,
BGP koristi listu AS (engl. Autonomous Systems) brojeva, koje pridružuje svakoj ruti i
time u potpunosti određuje putanju koju pakt mora da prođe da bi stigao do odredišta.
Zbog ove osobine BGP se još naziva i path vector routing protokol. Na osnovu AS
brojeva se lako određuje najkraća putanja, tako što se odabira minimalni broj AS
brojeva. BGP za uspostavljanje peer konekcija koristi TCP protokol(port 179), pri čemu
se do svakog peer-a posebno uspostavlja point-to-point konekcija. Kada se uspostavi
konekcija između BGP peer-ova, oni razmenjuju kompletne routing tabele. Posle toga
se routing informacije razmenjuju samo u slučaju kada dođe do neke promene i sadrže
samo informacije o promenama.
Postoji dva tipa BGP-a u zavisnosti od toga gde se primenjuje. Ako se koristi unutar
autonomnog sistema naziva se interni BGP (engl. Interior Border Gateway Protocol)
iBGP. Ako se koristi u vezi između različitih autonomnih sistema naziva se eksterni
BGP (engl. Exterior Border Gateway Protocol) eBGP.
Na slici 3. je prikazana hijerarhijska struktura Interneta dobijena na osnovu tabela
rutiranja formiranih BGP protokolom. U centru su čvorovi sa najviše linkova do drugih
rutera dok su na obodu sa najmanje linkova.
13
Slika 3. Online univerzum3
3.2 Autonomni sistemi
AS sa jednim izlazom (prikazan na slici 4.) može da koristi default rutu za prosleđivanje
saobraćaja ka Internetu, bude deo IGP protokola svog provajdera i bude poseban
privatan AS unutar provajderovog AS-a.
3
Izvor: www.technologyreview.com
14
AS sa više izlaza bez tranzita saobraćaja (Slika 5.) ne prosleđuje saobraćaj koji nije
njemu potreban nego se radi o komunikaciji između dva provajdera na koje je on
povezan.
15
3.3 Osnovni mehanizam funkcionisanja BGP-a
Kada dva rutera uspostave BGP konekciju, zovu se “BGP peers”. Svaki ruter koji ima
pokrenut BGP proces i razmenjuje rute se zove “BGP speaker” (slika 7.)
16
3.3.1 Vrste poruka
BGP poruke se šalju preko TCP konekcije što znači da se koriste samo kada ruter koji
prima poruku podvrdi da je dobio ispravnu poruku. Maksimalna veličina poruke je 4096
bajta i svi moraju da se pridržavaju toga. Najmanj poruka je veličine 19 bajta i sadrži
samo zaglavlje dela sa podacima.
Zaglavlje poruke ima samo tri polja: 16-bajtni Marker, a 2-bajtno polje Length, i 1-
bajtno polje Type. (Slika 8.)
Polje Lenght označava ukupnu dužinu poruke i može da ima vrednost od 19 – 4096.
17
3.3.1.2 Open poruka
Posle uspostavljene TCP konekcije, prva poruka koju šalje svaka strana je Open poruka
(slika 9). Minimalna dužina OPEN poruke je 29 bajta uključujući i zaglavlje. Ona je
sastavljena od sledećih polja:
Verzija – označava verziju protokola koji se koristi i dužine je 1 bajt. Trenutno aktuelna
verzija je 4.
AS broj – označava broj autonomnog sistema pošiljaoca i dužine je 2 bajta
Hold time – veličine je 2 bajta i označava broj sekundi koji pošiljalac predlaže za
vrednost Hold Timer-a. Nakon prijema OPEN poruke, BGP spiker mora izračunati
vrednost Hold Timer-a koristeći manji od svoje konfigurisane vrednosti Hold Time i
vrdnosti Hold Time-a primljene u OPEN poruci. Hold Time mora biti ili nula ili
najmanje tri sekunde. Neka uređaji mogu odbiti vezu na osnovu Hold Time-a.
Izračunata vrednost označava maksimalni broj sekundi koje mogu proći između prijema
uzastopnih KEEPALIVE i / ili UPDATE poruke od pošiljaoca.
Ruter ID ili BGP identifikator – dužine je 4 bajta i predstavlja identifikacioni broj rutera
koji šalje poruku.
Dužina opcionih parametara – predstavlja dužinu polja sa opcionim parametrima i
veličine je 1 bajta
Opcioni parametri – svaki parametar mora da sadrži tip, dužinu i vrednost tog
parametra.
18
Slika 9. Format OPEN poruke
3.3.1.3 Update poruka
Dužina polja „povučene rute“ - veličine je 2 bajta i predstavlja dužinu narednog polja
„povučene rute“. Ako je vrednost ovog polja 0 znači da nema povučenih ruta i naredno
polje se ne prikazuje
Povučene rute - Popis IP prefiksa koje je pošiljalac bio objavio, ali ih sada želi povući.
Dužina polja „atributi putanje“ - dužine je 2 bajta i označava veličinu narednog polja.
Ako je njegova vrednost 0 znaci da u ovoj poruci nema polja „atributi putanje“
Network layer reachability information - Popis prefiksa koje pošiljalac najavljuje svome
susedu.
19
Slika 10. Format UPDATE poruke
3.3.1.4 Keepalive poruka
Ova poruka se koristi za indikaciju grešaka kao što je: isticanje vremena čekanja (hold
timer), primanje nepoznatog atributa, pogrešnog AS broja i sl. TCP veza se zatvara po
slanju notification poruke. Polja ove poruke su (slika 11.):
Kod greške – to je polje od jednog bajta i sadrži kod greske. Kodovi su prikazani u
tabeli 2.
20
4 Istekao hold timer
5 Stanje sesije
6 Prekid
Podkod greške – prva tri koda imaju i podkodove koji jos preciznije opisuju grešku u
zavisnosti u kom delu poruke je ona nastala
BGP sesija moze da bude u različitim stanjima u zavisnosti od događaja koji utiču na
nju. Mehanizam promene stanja je prikazan na slici 12.
21
Slika 12. Mehanizam stanja BGP sesije
BGP sesija može biti u šest različitih stanja: Idle, Connect, Active, OpenSent,
OpenConfirm i Esteblished. Protokolom je definisano koje poruke BGP susedi
razmenjuju u kom stanju sesije.
Active stanje – Ruter pokusava da ponovo uspostavi TCP konekciju ako ni tada ne uspe
šalje NOTIFICATION poruku i vraća se u Idle stanje a ako uspe šalje OPEN poruku i
prelazi u OpenSent stanje. Ako stanje osciluje između Connect i Active, to je indikacija
da postoji problem u ostvarivanju TCP konekcije.
OpenSent stanje – Ruter očekuje OPEN poruku, kada je dobije proverava sadržaj da li
ima grešaka. Ako postoji bilo kakva greška (nedostaje verzija protokola, MD5 šifra
nedostaje ...) ruter šalje NOTIFICATION poruku i prlazi u Idle stanje. Ako je sve u
redu ruter šalje KEEPALIVE poruku i prelazi u OpenConfirm stanje.
OpenConfirm stanje – Ruter očekuje KEEPALIVE poruku. Ako dobije ovu poruku i
hold timer nije istekao konekcija prelazi u Established stanje. Ako je timer istekao pre
dobijanja poruke ili postoji neka druga greška ruter šalje NOTIFICATION poruku i
prelazi u Idle stanje.
22
Esteblished stanje – U ovom stanju konekcije ruter šalje UPDATE poruke svom susedu
ako dođe do bilo kakve greške šalje se NOTIFICATION poruka i sesija se vraća u Idle
stanje.
BGP protokol koristi jako puno ruting parametara koji se još nazivaju i atributi, a
njima se definišu ruting pravila. Broj atributa varira, neki su obavezni i moraju biti
prisutni u svakoj poruci, dok su drugi dopunski pa se ne moraju pojaviti u poruci.
23
Atributi takođe mogu biti tranzitivni i netranzitivni. Netranzitivni su važni samo za
autonomni sistem koji ih prima pa se ne šalju u druge autonomne sisteme, dok su
tranzitivni atributi globalno važni i prosljeđuju se drugim sistemima. Prilikom odabira
rute BGP koristi sledeće atribute:
1. weight (atributi važnosti)
2. local-preference (atributi lokalne prednosti)
3. multi-exit discriminator MED (višeizlazni diskriminišući atributi)
4. origin (izvorni atributi)
5. AS path (atributi puta)
6. next hop (atributi sledećeg koraka)
7. community atributi
Atribut važnosti je Cisco definisan atribut koji je lokalan za svaki ruter što znači da
nije objavljen ostalim ruterima. Kad ruter sazna nekoliko routa za istu destinaciju
odabraće onu rutu sa većom važnosti. Weight atribut određuje težine pojedinih veza
prema eBGP ruterima u drugim autonomnim sistemima. Koristi se za usmeravanje
odlaznog saobraćaja iz AS-a prema drugim sistemima istog objavljenog prefiksa.
Služe za odabir preferirane tačke izlaza iz lokalnog AS-a. Ti se atributi prenose kroz
lokalni AS, a ako postoji više izlaznih tačaka iz AS-a ovi atributi se koriste za odabir
24
određene izlazne tačke za određenu rutu. Ovaj atribut neće uticati na ostale AS jer se
smatra važećim samo unutar jednog AS-a. Kada poruke prelaze eBGP vezama u druge
sisteme vrednost ovog atributa se resetuje. Za razliku od MED atributa, atribut local-
šreference određuje odlazni saobraćaj i ne prelazi u druge sisteme.
Ovo je atribut diskriminator u slučaju višestrukog izlaza. Ruteri daju savete eksternim
susedima za preferiranje puta prema svom AS-u u kojem postoje višestruki ulazi iz
drugog AS-a. MED atribut se razmeni između susednih AS-a, međutim kada uđe u
sistem više se ne šalje dalje, nego se resetuje na 0. Koristi se kao nagoveštaj za eksterni
AS s obzirom na preferiranu rutu. Termin nagoveštaj se koristij jer eksterni AS koji
prima MED-ove može koristiti i druge BGP atribute za odabir puta. Preferira se niža
vrednost metrike.
Origin atribut pokazuje kako BGP dobija podatke o ruti. Dužina atributa iznosi 1 bajt i
kodiran je na sledeći način:
25
1) IGP - 0 - Prefiks je unutrašnji za izvorišni AS; ova vrednost se upotrebljava kada se
koristi naredba network za ubacivanje ruta u BGP. Vrednost je postavljena od
konfiguracijske komande mrežnog rutera.
2) EGP - 1 - Prefiks se dobija putem eksternog protokola (eBGP- a).
3) NEPOTPUN - 2 - Najčešće znači da je prefiks saznat iz statičkih ruta. Poreklo
rute je nepoznato ili saznato na drugačiji način.
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 eBGP vezom dodaje broj svog sistema u listu. Svaki
sledeći sistem dodaje svoj broj na početak liste kada šalje objavu prefiksa svom
susednom eBGP 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)
- Izbegavanje petlji: svaki autonomni sistem odbacuje update poruke koje sadrže njegov
vlastiti broj
Svaki prefiks u update poruci je praćen Next-Hop atributom, koji opisuje IP adresu
suseda od kog bi trebalo primiti saobraćaj za navedeni prefiks. Kod eBGP veze suseda
26
Next-Hop atribut je obično IP adresa suseda koju objavi prefiks. Ruter modifikuje Next-
Hop kad šalje update poruku eBGP vezom, ali ne i kad šalje poruku iBGP protokolom.
eBGP atribut sledećeg koraka je IP adresa koja se koristi za pronalazak puta do rutera
za oglašavanje.
Ruter redistribuira samo one rute koje su u tabeli rutiranja. Redistribucija se uvek vrši u
izlaznom smeru tj. ruter koji vrši redistribuciju ne menja svoju tabelu rutiranja. Prilikom
27
redistribucije mora da se podesi metrika prema protokolu u koji se vrši redistribucija.
Ruter može da prihvati poruku o novim rutama od više suseda i da ih redistribuira istim
ili nekim drugim ruterima. On ima svoju „master“ tabelu ruta, zove se Loc-RIB (engl.
Local Routing Information Base) koja je odvojena od glavne tabele rutiranja. Takođe
čuva i tabele ruta koje je primio od suseda Adj-RIB-In (engl. Adjacent Routing
Information Base, Incoming) i one koje je on slao susedima Adj-RIB-Out (engl.
Adjacent Routing Information Base, Outgoing). U procesu izbora najbolje rute ce se iz
ovih tabela izabrati koje rute idu u glavnu ruting tabelu (slika 17).
28
Proces izbora najbolje rute se vrši na osnovu vrednosti atributa koji su dobijeni od
susednih rutera. Kada ruter dobije informacije o novim rutama, proces odlučivanja koja
će ruta biti prihvaćena izgleda ovako:
1. Ako Next Hop atribut za datu rutu ne postoji u ruting tabeli, ruta se ignoriše tj ne
ubacuje u ruting tabelu.
2. Ako postoji Weight atribut, u ruting tabelu ulazi ruta sa najvećom Weight vrednošću
3. Ako su Weight vrednosti iste, u ruting tabelu ulazi ruta sa najvećom vrednošću Local
Preference
4. Ako su Local Preference vrednosti iste, u ruting tabelu ulazi ruta koju je oglasio dati
ruter
5. Ako su prethodni kriterijumi isti, u ruting tabelu ulazi ruta sa kraćim AS-Path-om
6. Ako su AS-Path dužine iste, ruter će odabrati rutu sa nižom vrednošću Origin atributa
7. Ako je i to isto, Ruter će odabrati rutu sa nižom MED vrednošću
8. Ako su i MED vrednosti iste, ruter će da odabere prvo rute čije putanje idu preko
EBGP konekcija u odnosu na dobijene iz IBGP konekcija
9. Bira se ruta čija je IGP metrika do BGP Next hopa niža
10. Ako su prethodni kriterijumi isti, bira se ruta koja je dobijena ranije (prva koja je
stigla u ruter)
11. Ako su i prethodni kriterijumi isti, bira se ruta dobijena od rutera sa nižim Router
ID-em.
12. Odabira se putanja sa nižom vrednošću dužine klastera.
13. Odabira se ruta dobijena od suseda sa nižom adresom.
Kada se prođe kroz ovaj proces uvek će se odabrati jedna najbolja ruta koja se ubacuje u
glavnu tabelu rutiranja.
29
Rešenje za veliki broj iBGP sesija je “route reflector” (slika 18.). Route reflector je ruter
koji krši pravilo ponašanja iBGP rutera – on može da prosledi iBGP rute drugim iBGP
susedima. iBGP ruteri koji koriste usluge route reflectora su klijenti. Kada jedan klijent
pošalje UPDATE poruku nekom route reflectoru, RR prosleđuje tu poruku drugim
njegovim klijentima. Ne moraju svi ruteri u nekom AS da budu ili RR ili klijenti. Neki
mogu da budu “obični” ruteri koji iBGP koriste na klasičan način. RR prosleđuje iBGP
rute samo svojim klijentima i iBGP/eBGP susedima. RR i njegovi klijenti čine klaster.
Bilo koji ruter u AS može da bude RR. Izbor zavisi od administratora i performansi
rutera.
Pravila prosleđivanja ruta kod RR - ako je ruta dobijena od suseda koji nije klijent datog
RR, RR će reflektovati datu rutu samo klijentima. Ako je ruta dobijena od klijenta, RR
će je reflektovati svi ostalim klijentima i svim susedima koji nisu klijenti. Ako je ruta
dobijena od EBGP suseda, reflektuje se svim klijentima i svim susedima koji nisu
klijenti
Redundansa i RR - otkazom RR i nedostatkom potpunog grafa iBGP sesija rutiranje u
AS više ne bi bilo regularno. Moguće je da postoje dva RR u nekom klasteru čime se
povećava pouzdanost mreže. Izbor RR nije nezavisan od fizičke topologije u mreži.
RR se ponaša po svim ostalim pravilima ponašanja za iBGP rutere (ne menja Next
hop,...). RR šalje samo najbolju rutu koju je odredio njegov BGP proces. Ovo dodatno
umanjuje zauzeće memorije na ruterima klijentima u poređenju sa potpunim iBGP
grafom. Uvođenje RR otvara mogućnost stvaranje petlji u rutiranju unutar AS: postoji
mogućnost da ruta koja je poslata iz nekog klastera se vrati u dati klaster (ne postoji
mogućnost provere AS_PATH unutar jednog AS). Zbog toga su uvedeni novi atributi:
ORIGINATOR_ID i CLUSTER_LIST
ORIGINATOR_ID (ONTA) označava Router ID onog rutera koji je poslao datu rutu.
ORIGINATOR kao atribut dodaje RR.
CLUSTER_LIST (ONTA) je atribut analogan AS_PATH atributu. Svaki klaster ima
svoju identifikaciju. CLUSTER_LIST je niz identifikacija klastera unutar jednog AS
kroz koje je prošla data ruta.
30
spoljašnje AS se pojavljuju kao jedinstven AS). Pod-AS međusobno komuniciraju
putem eBGP, ali je prenos atributa isti kao da je u pitanju iBGP (MED, Local
preference,... se prenose između pod-AS). Pod-AS dobijaju brojeve za AS iz privatnog
skupa AS brojeva.
Unutar AS se ne uzima u obzir kraći AS-Path koji se sastoji od pod-AS. Bez
konfederacija BGP u 8. kriterijumu bira eBGP ispred iBGP ruta. Ukoliko postoji ruta ka
nekoj mreži dobijena iz susednog pod-AS i ruta dobijena od eksternog AS, BGP će
odabrati putanju ka eksternom AS, iako su obe eBGP. Ukoliko postoji ruta ka nekoj
mreži dobijena od iBGP (unutar pod-AS) i ruta dobijena od susednog pod-AS (eBGP
unutar konfederacije), odabraće se ona ruta koja vodi van datog pod-AS (eBGP ruta van
konfederacije).
31
Napad na sajt www.youtube.com se desio 24.2.2008. godine. Pre početka napada ruter
kroz koji se dolazi do sajta je oglašavao mrežu 208.65.152.0/22 (slika 20.).
Napad je počeo tako što je ruter provajdera iz Pakistana oglasi mrežu sa manjim
prefiksom jer nije postavio filtere kom AS-u je dodeljena koja mreža ip adresa (slika
21.).
32
Slika 22. Oglasavanje podmreža sa manjim prefiksom
33
3.6 Primer povezivanja vise rutera pomoću BGP-a
Na ovom primeru će biti prikazano funkcionisanje i namena BGP-a između tri internet
provajdera koji su međusobno povezani linkovima, šta se dešava dok se ne uspotavi
BGP sesija, šta se desava kada se ona uspostavi i šta se desava ako dođe do prekida
jednog od linkova. Za prikaz i simulaciju ovih slučajeva koristiće se ruteri sa Mikrotik
OS i njegov alat za prikaz i konfiguraciju Winbox. Simulacija je urađena na virtuelnim
masinama u programu VMware koje su snimljene na CD kao prilog diplomsog rada.
Na slici 25. prikazana je šema rutera tri internet provajdera, njihova međusobna
povezanos i definisane ip adrese. Zbog testiranja funkcionalnosti dodat je po jedan ruter
u privatnoj mreži svakog provajdera. Ovo je početno stanje gde su definisane samo ip
adrese na određenim interfejsima rutera. Komunikacija između rutera u privatnim
mrežama ne funkcioniše.
34
3.6.2 Konfiguracija BGP-a
35
Prvi korak je definisanje parametara samog rutera, dodaje se broj njegovog autonomnog
sistema i koje će rute on reditribuirati svojim bgp susedima. Drugi korak je definisati sa
kojim ruterima će uspostavljati bgp sesiju. Dodaju se susedni ruteri tako što se unosi
njihova ip adresa i broj autonomnog sistema. Ovaj postupak se ponavlja na svim bgp
susedima da bi se ostvario željeni efekat.
Nakon konfigutacje rutera sledi uspostavljanje BGP sesije. Ako su linkovi dobri i
konfiguracija dobro urađena ruter postavlja sesiju u established stanje i šalje update
poruke o rutama. Na sledećim slikama 28. i 29. je prikazana tabela rutiranja pre i nakon
uspostavljanja bgp sesije. Na slici 28. u tabeli rutiranja su samo direktno konektovane
rute tj. adrese rutera sa kojima je on direktno povezan. Na slici 29. se vide nove rute
dobijene putem bgp-a.
36
3.6.4 Prekid jednog od linkova
Ako iz nekog razloga dođe do prekida linka izmeđ provajdera ISP2 i ISP3 (slika 31.)
doći će do rekalkulacije ruta i preusmeravanja saobraćaja preko rutera ISP1. Tabela
rutiranja će onda izgledati kao na slici 32. a komunikacija izmedju rutera sa adresama
10.10.11.2 i 10.10.10.2. će ići preko rutera 192.168.11.2.
37
Slika 32. Tabela rutiranja posle prekida linka
Posle pekida linka sve rute se usmeravaju na ruter do kojeg postoji link dok se direktan
link ponovo ne uspostavi.
38
4. Zaključak
Svake sekunde milioni korisnika šalju milijarde paketa kroz Internet samo sa
destinacionom adresom koja pokazuje gde žele da stignu. Internet provajderi koriste
BGP da bi informisali jedan drugog koja adresa se gde nalazi. BGP je takođe koristan i
pojedincima koji žele da koriste internet dva ili vise provajdera u isto vreme.
BGP je protokol za rutiranje koji razmenjuje informacije o rutama putem Interneta i to
je jedini protokol koji može da se meri sa mrežom veličine Interneta. U slučaju prekida
nekog od linkova, BGP menja putanju tako da izbegne delove u kojima je nastao prekid
i nastavi nesmetano da radi.
BGP se preporučuje svima onima koji žele pouzdane veze sa Internetom.
Razvoj BGP-a ide u smeru dodavanja novih protokola koje će on podržavati. Sadašnja
verzija BGP4 podržava samo IPv4 a radi se na tome da podržava i IPv6, IPX ...
definicija ekstenzija za BGP4 se nalazi u dokumentima RFC2858 i RFC2545.
Multiprotocol BGP (MP-BGP) ima sledeće prednosti u odnosu na onu koja se sad
koristi:
IPv6 rutiranje
Inter-domin multicast
IPv4 VPN
IPv6 tranzicija
MPLS distribucija labela
QoS ekstenzija za BGP
4
Izvor: http://bgp.potaroo.net/
39
5. Spisak skraćenica korišćenih u tekstu
40
6. Literatura
7. Prilozi
41