53
Univerzitet u Novom Sadu Tehnički fakultet »Mihajlo Pupin« Zrenjanin Prikaz protokola za dinamičko rutiranje – BGP -diplomski rad-

Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

Embed Size (px)

Citation preview

Page 1: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

Univerzitet u Novom SaduTehnički fakultet »Mihajlo Pupin«

Zrenjanin

Prikaz protokola za dinamičko rutiranje – BGP-diplomski rad-

Mentor: Autor:prof. dr Borislav Odadžić Ivana Grek

137/02-11dipl. ing. informatike

Zrenjanin, 2009. godina

Page 2: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

Sadržaj:1. Uvod2. Rutiranje i protokoli rutiranja

2.1 Statičko rutiranje2.2 Dinamičko rutiranje

2.2.1 Distance vector protokoli2.2.1.1 RIP2.2.1.2 IGRP i EIGRP

2.2.2 Link-state protokoli2.2.2.1 IS-IS2.2.2.2 OSPF

3. BGP3.1 Osnovne osobine protokola3.2 Autonomni sistemi3.3 Osnovni mehanizam funkcionisanja BGP-a

3.3.1 Vrste poruka3.3.1.1 Zaglavlje poruke3.3.1.2 Open poruka3.3.1.3 Update poruka3.3.1.4 Keepalive poruka3.3.1.5 Notification poruka

3.3.2 Stanja uspostavljanja BGP sesije3.3.3 Atributi putanje

3.3.3.1 Atributi važnosti (weight)3.3.3.2 Atributi lokalne prednosti (local-preference)3.3.3.3 Višeizlazni diskriminišući atributi (MED)3.3.3.4 Izvorni atributi (origin)3.3.3.5 Atributi puta (AS-path)3.3.3.6 Atribut sledećeg koraka (next-hop)3.3.3.7 Community atributi

3.3.4 Redistribucija ruta3.3.5 Proces izbora najbolje rute u BGP-u

3.4 Route reflector i konfederacije3.5 Primer napada na sajt YouTube pomoću BGP-a3.6 Primer povezivanja više rutera pomoću BGP-a

3.6.1 Prikaz rutera, linkova i IP adresa3.6.2 Konfiguracija BGP-a3.6.3 Uspostavljanje BGP sesije i razmena ruta3.6.4 Prekid jednog od linkova

4. Zaključak5. Spisak skraćenica korišćenih u tekstu6. Literatura7. Prilozi

2

Page 3: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

1. Uvod

Internet je računarska mreža koja međusobno povezuje milione računarskih uređaja širom sveta. Donedavno su većinu ovih uređaja činili tradicionalni stoni PC računari, Linux radne stanice i tzv. serveri koji čuvaju i prenose informacije kao što su veb stranice i elektronska pošta. Međutim, sve više za internet neubičajenih krajnjih sistema (uređaja), kao što su PDA (Personal Digital Assistant) računari, televizori, prenosivi računari, mobilni telefoni, automobili, senzori za praćenje stanja životne sredine, okviri za slike, kućni elektronski i bezbednosni sistemi povezuje se sa internetom. Štaviše, izraz računarska mreža počinje da zvuči pomalo zastarelo imajući u vidu sve veći broj netradicionalnih uređaja koji se povezuju sa internetom.

Broj uredjaja koji koristi internet raste velikom brzinom što je pokazano na slici 1., trenutno ih ima vise od 1.650.000.000 .

Slika 1. Porast broja korisnika interneta1

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

Page 4: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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 međusobno su povezani u mrežu komunikacionim linkovima i uređajima za razmenu paketa. Postoji više različitih oblika i modela uređaja za razmenu paketa, ali dva najrasprostanjenija u savremenom internetu su ruteri i svičevi. Od polaznog do odredisnog sistema niz komunikacionih linkova i uredjaja za razmenu paketa poznati su kao ruta ili putanja kroz mrežu. Na slici 2. prikazana je mapa ruta koja čini internet mrežu danas.

Slika 2. Internet mapa2

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

Page 5: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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.

Provajderi prvog sloja su:– AOL Transit Data Network (ATDN) (AS1668)– AT&T (AS7018)– Global Crossing (GX) (AS3549)– Level 3 (AS3356)– Verizon Business (UUNET) (AS701)– NTT Communications / (Verio) (AS2914)– Qwest (AS209)– SAVVIS (AS3561)– Sprint Nextel Corporation (AS1239)

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

Page 6: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

2. Rutiranje i protokoli rutiranja

Jedan od najkompleksnijih i najvažnijih aspekata projektovanja mreže sa komutacijom paketa odnosi se na rutiranje. Osnovna funkcija mreže sa razmenom paketa sastoji se u tome što se prihvataju paketi od izvorišne stanice i predaju se odredišnoj stanici. Da bi se ostvario ovaj cilj, neophodno je odrediti put, ili rutu, poruka kroz mrežu. U opštem slučaju postoji više od jednog puta.

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.

Kad je u pitanju dinamičko rutiranje, ruteri međusobno razmenjuju tabele rutiranja. Informacije se razmenjuju po određenim pravilima koja su definisana u protokolu i algoritmu rutiranja. Protokoli rutiranja se mogu podeliti na osnovu oblasti rutiranja na sledeći način:

– Interni protokoli rutiranja ( Interior Gataway Routing Protocols - IGRP)- Protokoli rutiranja na osnovu vektora udaljensti ( Distance vector )- Protokoli rutiranja na osnovu stanja linka ( Link-state )

– Eksterni protokoli rutiranja ( Exterior Gataway Routing Protocols - EGRP)- Protokoli rutiranja na osnovu vektora putanje ( Path vector )

U Tabeli 1. je prikazana klasifikacija protokola rutiranja.

INTERNI EKSTERNIDistance vector Link-state Path vector

RIP IS-IS BGPIGRP OSPF EGP

EIGRP

Tabela1. Klasifikacija protokola rutiranja

6

Page 7: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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.

2.2 Dinamičko rutiranje

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.

Karakteristike protokola rutiranja su:- Vreme konvergencije - za mrežu kažemo da je konvergentna kada su tabele rutiranja kod svih rutera unutar mreže, kompletne i ispravne. Vreme konvergencije je shodno tome, vreme za koje mreža iskonvergira nakon izvršene promene u topologiji (srazmerno je veličini mreže). U vreme konvergencije je uključeno:

- Razmena informacija- Obrada informacija, procena najboljih ruta- Unošenje izmena u tabele rutiranja

- Skalabilnost - definiše kolika mreža može da bude, u zavisnosti od protokola koji se koristi.- Klasnost - protokoli rutiranja mogu da budu klasni i bezklasni.

- Klasni su stariji protokoli (RIPv1 i IGRP) koji podrazumevaju da adresa pripada nekoj od klasa (A,B,C).

- Bezklasni, pri razmeni informacija uključuju podmrežnu masku uz adresu mreže.- Zauzetost resursa - protokoli rutiranja pri razmeni i obradi informacija zauzimaju hardverske resurse (memoriju, procesorsko vreme ili propusni opseg linka). Veća potrebna zauzetost resursa od strane protokola rutiranja zahteva jaču opremu unutar mreže.- Implementacija i održavanje - definiše nivo znanja koji je potrebno da ima administrator mreže, kako bi primenio i održavao mrežu koja radi sa određenim protokolima rutiranja.

7

Page 8: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

2.2.1 Distance vector protokoli

Protokoli rutiranja na osnovu vektora udaljenosti (engl. Distance Vector Routing Protocols) uključuju protokole kao što su: RIP, IGRP i EIGRP. Protokoli RIP i IGRP funkcionišu po principu Belman-Ford algoritma (engl. Bellman-Ford Algorithm), dok je EIGRP napredniji po tom pitanju i koristi (DUAL) (engl. Diffusing Update Algorithm). Kao što i samo ime govori, ruteri razmenjuju informacije kojima saznaju udaljenost (distancu) i pravac (interfejs ili ruter) ka nekoj od udaljenih mreža, pri čemu nemaju informaciju o samom putu do odredišne mreže. Razmenjivanje informacija se vrši tako što svaki od rutera periodično prosleđuje celu tabelu rutiranja susednim ruterima.

2.2.1.1 RIP

RIP (engl. Routing Information Protocol) je prvi razvijen i najjednostavniji protokol rutiranja. Zbog svoje jednostavnosti danas se još uvek koristi u mrežama sa malim brojem rutera. Prvobitno je opisan u RFC 1058 dokumentu, da bi kasnije nakon niza izmena izašla i druga, poboljšana verzija protokola RIPv2 definisana u dokumentu RFC 2453 (novembra 1998.). RIP je interni protokol rutiranja (engl. Interior Getaway Routing Protocols). Koristeći Belman-Fordov algoritam (engl. Bellman-Ford Algorithm) dinamički ažurira tabele rutiranja rutera unutar istog autonomnog sistema. Kao metriku uzima skok (engl. hop) to jest udaljenost od mreže, što ga svrstava u grupu protokola rutiranja na osnovu vektora udaljenosti (engl. Distance Vector Routing Protocols).

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.

RIPv1 ima sledeće ključne karakteristike:- Za metriku uzima udaljenost izraženu u broju rutera do odredišne rute (IP mreže): svaki pređeni ruter predstavlja jedan skok.- Najviše skokova do destinacije može biti 15, iznad čega se dotična mreža smatra nedosežnom.- RIPv1 informacije o rutama se šalju po svim interfejsima (kao broadkast poruke).- Poruke se šalju periodično na svakih 30 sekundi ili pri promeni topologije.- Kao adrese mreža, koristi klasne IP adrese (u porukama se ne šalje maska).Polja RIPv1 poruke su:- Komanda (8 bita): određuje tip poruke (da li je poruka zahtev ili odgovor na zahtev).- Verzija (8 bita): za prvu verziju RIP protokola uzima se vrednost 1.- Polje popunjeno nulama (16/32 bita): polja predviđena za dalju nadogradnju protokola.- Korišćena familija adresa (AFI) (engl. Address family identifier) (16 bita): Za IP protokol uzima se vrednost 1.- Adresa mreže (32 bita): klasna adresa mreže, adresa odredišne rute.- Metrika (32 bita): udaljenost izražena u broju rutera do odredišne rute.

8

Page 9: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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.

RIPng (engl. Routing Information Protocol next generation) definisan je u dokumentu RFC 2080, predstavlja jednostavan protokol rutiranja, kao i njegovi prethodnici on je isto interni protokol rutiranja na osnovu vektora udaljenosti. RIPng ima sledeće karakteristike:- Sličan je RIPv2, na njemu je baziran.- Koristi grupu multikast adresa FF02::9 za slanje paketa.- Koristi IPv6 za transport, sadrži pored IPv6 adrese mreže i prefiks.- Za slanje izmena uzima UDP port 521

2.2.1.2 IGRP i EIGRP

IGRP (engl. Interior Gateway Routing Protocol) je protokol na osnovu vektora udaljenosti, interni ruting protokol (IGP protokol) napravljen od strane kompanije Cisco. IGRP je napravljen delimično da prevaziđe ograničenja RIP-a kada se koristi u velikim mrežama (maksimalni broj skokova samo 15). IGRP podržava više metrika za svaku rutu, uključujući protok, kašnjenje, opterećenja, MULTICAST MTU i pouzdanosti. Maksimalan broj skokova IGRP paketima je 255 , kao i to da se tabele sa rutama emituju svakih 90 sekundi.

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

Page 10: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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

IS-IS (engl. Intermediate System to Intermediate System) je mrežni protokol rutiranja. Osnovna uloga ovog protokola je računanje najkraće putanje za mrežni paket unutar autonomnog sistema, a ne između autonomnih sistema. Zbog ovoga, IS-IS je interni protokol rutiranja IGP (engl. Interior Gateway Protocol). Zasniva se na Dajkstrinom algoritmu.

Začet od firme DEC (engl. Digital Equipment Corporation), prve specifikacije protokola su bile publikovane 1987. godine pod standardom ISO 10589. Ovaj dokument je nanovo publikovan u specifikaciji RFC 1142. Ovaj protokol je kroz vreme doživeo važna unapređenja. Od 1999. IETF je preuzeo odgovornost za njegovu standardizaciju. Dva glavna napretka koja potiču od ove grupe su: definicja strukture TLV (engl. Type-Lenght-Value) i precizna objašnjenja operacionih funkcija, koja su omogućila homogenije implemetacije protokola. Do tada su proizvođači imali veću slobodu za različite interpretacije. Osmišljen da se koristi u složenim mrežama koje se mogu dinamički razvijati. Iz tog razloga, autonomni sistem, to jest IS-IS mrežni domen, organizovan je hijerarhijski po zonama. To omogućava bolju kontrolu domena, manju tabelu ruta (mreža) i samim tim brže funkcionisanje rutera.

10

Page 11: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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

Većina implementacija ovog protokola podržava samo nivoe 1 i 2. IS-IS ruter komunicira isključivo sa ruterima koji su u njegovom nivou. Ruteri koji imaju ulogu da operišu u oba nivoa, označeni su sa N1-2.Funkcije N1 rutera su ograničene na jednu zasebnu zonu. Paketi koji su upućeni ka mreži van zone, usmereni su do prvog N1-2 rutera.Rutiranje među zonama vrši N2 ruter. On nema topološke detalje unutar jedne zone.N1-2 ruter je posrednik između rutera N1 i N2. On poseduje informacije oba nivoa, ima karakteristike i sposobnosti oba tipa rutera.Svi ruteri izgrađuju baze u kojima su zapisane informacije o topologiji mreže. Ruteri istog nivoa imaju identičnu "mapu" mreže. Kako bi se ove topološke baze izgradile, potrebno je prvo poznavanje neposrednih veza. Tako se IS-IS ruter uz pomoć HELLO protokola prvo upozna sa svojim direktno vezanim IS-IS susedima.Četiri metrike su definisane:- Osnovna, podrazumevana metrika (engl. Default)- Zakašnjenje (engl. Delay) : kašnjenje paketa u prenosu- Trošak (engl. Expense) : monetarna vrednost mrežnog prenosa- Greška (engl. Error) : verovatnoća pojavljivanja greške u prenosu podatakaOd ovih metrika, koristi se pre svega osnovna metrika. Ona se izražava u pozitivnom, celom broju i najčešće označava propusni kapacitet veze. Njena je vrednost proizvoljno dodeljena IS-IS vezama od strane administratora. Što je vrednost manja, to znači da je veza bolja.

2.2.2.2 OSPF

OSPF (engl. Open Shortest Path First) u informatici (mrežnim komunikacijama), predstavlja interni, protokol rutiranja stanja linka. OSPF je bezklasni protokol rutiranja koji je uveo koncept podele autonomnog sistema na zone zarad veće skalabilnosti. Razvoj OSPF protokola započet je 1987. godine kada je organizacija IEEE (engl. Institute of Electrical and Electronics Engineers) formirala radnu grupu koja već 1989. daje specifikacije prve verzije OSPFv1 objavljene u dokumentu RFC 1131. 1991. godine u vreme kada ISO radi na svojoj verziji protokola rutiranja stanja linka IS-IS, IEEE objavljuje tehnički poboljšanu verziju OSPFv2 da bi kasnije nakon niza izmena 1999. izašla i treća verzija OSPFv3 za IPv6 protokol ažurirana 2008. godine u dokumentu RFC 5340.

Baziran je na Dijkstra algoritmu i koristi bezklasno rutiranje. Za metriku koristi cenu putanje koja se pamti u 16- bitnom broju, što je cena manja to je bolja putanja. Ima bržu konvergenciju nego protokoli koji koriste distance vector algoritam. Podržava

11

Page 12: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

autentifikaciju korisnika, balansiranje saobraćaja (engl. load balancing) i koristi neadresirane interfejse za serijske linkove.Cena putanje je obrnuto proporcionalna protoku na linku (108 / 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 LSA5. 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 protokolaType –Tip paketa; ima 5 tipova paketaPacket Length–Ukupna dužina OSPF paketa u bajtovimaRouter ID - ID rutera koji je generisao paket; 32-bitni brojArea ID - 32-bitni broj koji identifikuje oblast (area) kojoj ovaj paket pripada; paket koji ide kroz virtuelni link uvek ima oznaku backbone oblastiChecksum - standardni IP checksum koji obuhvata kompletan OSPF paket osim 64 bita koji se koriste za autentifikacijuAuType - Identifikuje proceduru za autentifikaciju koja se koristi i može biti:

0 –Null authentication1 –simple password2 –cryptographic authentication3-...–buduća upotreba

Authentication–polje dužine 64 bita koje se koristi za autentifikaciju.

12

Page 13: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

3. BGP

3.1 Uvod u 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

Page 14: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

Slika 3. Online univerzum3

3.2 Autonomni sistemi

Autonomni sistem (AS) na Internetu je skup mreža u nadležnosti jednog administrativnog tela. Tipično, ovu odgovornost nose velike organizacija poput Internet servis provajdera (ISP). Prva definicija AS-a se pojavila u RFC 1771 i proširena je u RFC 1930. Svaki autonomni sistem mora imati svoj jedinstveni registracioni broj ASN (engl. Autonomous System Number). Dodeljuje ga Internet organizacija IANA (engl. Internet Assigned Numbers Authority). Sa pojavom RFC 4893 ovaj broj je 32 bitni (do tada je bio 16 bitni). AS brojevi od 64,512 do 65,535 su rezervisani za privatno korišćenje, a brojevi 0, 54272–64511 i 65535 su rezervisani od strane IANA i ne mogu se koristiti.

Postoji više tipova autonomnih sistema:- AS sa jednim izlazom (stub, single-homed)- AS sa više izlaza bez tranzita saobraćaja (multihomed nontransit)- AS sa više izlaza i tranzitom saobraćaja (multihomed transit)

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.

Slika 4. AS sa jednim izlazom

3 Izvor: www.technologyreview.com

14

Page 15: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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.

Slika 5. AS sa više izlaza bez tranzita saobraćaja

AS sa više izlaza i tranzitom saobraćaja prosleđuje sav saobraćaj (Slika 6.)

Slika 6. AS sa više izlaza i tranzitom saobraćaja

15

Page 16: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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.)

Slika 7. BGP susedi

Proces komunikacije između dva rutera se desava u nekoliko faza:1. Ruteri razmenjuju BGP poruke kojima se uspostavlja BGP konekcija (Open)2. Ako postoji neslaganje u konfiguracionim parametrima (AS brojevi, IP

adrese,...), BGP sesija se neće uspostaviti i šalju se odgovarajuće poruke (Notification)

3. Kada se uspostavi BGP sesija ruteri razmenjuju sve poznate rute (Update)4. Nakon toga rute se razmenjuju samo kada dođe do promene BGP ruta u ruting

tabelama (inkrementalno prosleđivanje poruka)5. BGP nekada razmenjuje i punu Internet ruting tabelu6. Update poruke se sastoje od: prefiksa, AS-patha i atributa AS-path-a kojima se

bliže određuje način tretiranja date rute7. BGP ruteri čuvaju broj verzije BGP ruting tabele susednih rutera.8. Broj verzije se inkrementira prilikom svake promene (ubacivanje ili izbacivanje

rute)9. Ako nema nikakvih promena razmenjuju se Keepalive poruke.10. Keepalive poruke se šalju svakih 60 sekundi i veličine su svega 19 bajta.

16

Page 17: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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.

3.3.1.1 Zaglavlje poruke

Zaglavlje poruke ima samo tri polja: 16-bajtni Marker, a 2-bajtno polje Length, i 1-bajtno polje Type. (Slika 8.)

Marker služi za autentikaciju BGP speaker-a ili za detekciju gubitka sinhronizacije– U Open poruci Marker = sve jedinice– U ostalim porukama može da bude MD5 hash, ako se taj mehanizam koristi za autentikaciju BGP speaker-a

Polje Lenght označava ukupnu dužinu poruke i može da ima vrednost od 19 – 4096.

PoljeType može da ima 4 vrednosti koje označavaju tipove poruka:– Open Poruka– Keepalive Poruka (samo BGP zaglavlje)– Notification Poruka– Update Poruka

Slika 8. Format zaglavlja poruke

17

Page 18: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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 bajtaHold 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 bajtaOpcioni parametri – svaki parametar mora da sadrži tip, dužinu i vrednost tog parametra.

18

Page 19: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

Slika 9. Format OPEN poruke3.3.1.3 Update poruka

UPDATE poruke se koriste za razmenu informacija o rutama, kako o onim koje su mu nove tako i o onima koje su izbrisane. Poruka uvek sadrži zaglavlje tačno određene dužine kao i sledeća polja (slika 10.):

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“

Atributi putanje - Popis BGP atributa koji odgovaraju prefiksima opisanima u narednom polju. Sastoji se iz tri dela, tip, dužina i vrednost atributa. Postoji u svakoj update poruci sem u onoj koja sadrži samo povučene rute

Network layer reachability information - Popis prefiksa koje pošiljalac najavljuje svome susedu.

19

Page 20: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

Slika 10. Format UPDATE poruke3.3.1.4 Keepalive poruka

Keepalive poruke služe da bi se ustanovilo da li postoji veza sa susedom. Uobičajeni interval između keepalive poruka iznosi 60 sekundi. Brojač vremena (hold timer) se resetuje po primanju keepalive ili update poruke. Keepalive poruka sadrži samo zaglavlje i dužine je 19 bajta.

3.3.1.5 Notification 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.

Kod greške Naziv greške1 Greška u zaglavlju poruke2 Greška u OPEN poruci3 Greška u UPDATE poruci

20

Page 21: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

4 Istekao hold timer5 Stanje sesije6 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

Vrednost – Koristi se da bi se dijagnosticiralo zasto je NOTIFICATION poruka poslata

Slika 11. Format NOTIFICATION poruke

3.3.2 Stanja uspostavljanja BGP sesije

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

Page 22: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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.

Idle stanje – Predstavlja inicijalno stanje konekcije. U ovom stanju pokušava da uspostavi TCP konekciju sa susedom ako se konekcija uspostavi prelazi u Conect stanje. Ako TCP port 179 nije otvoren, adresa suseda pogrešno upisana ili je pogrešan AS broj ostaje u Idle stanju.

Connect stanje – Kada je TCP konekcija uspostavljena šalje se OPEN poruka i konekcija prelazi u OpenSent stanje. Ako dođe do bilo kakve greške prelazi u Activ stanje

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

Page 23: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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.

3.3.3 Atributi putanje

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

Page 24: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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

3.3.3.1 Atributi važnosti (weight)

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.

Slika 13. Primer za weight atribut

Pojašnjenje gornje slike:Ruter 3 od rutera 2 prima obaveštenje za mrežu 172.16.1.0. Kada primi obaveštenje od rutera 2, pridružen weight rutera 2 je 50, a od rutera 3 je 100. Obe putanje će biti u BGP ruting tabeli sa svojim weight vrednostima, dok se ruta s najvećom vrednošću postavlja u IP ruting tabelu.3.3.3.2 Atributi lokalne prednosti (local-preference)

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

Page 25: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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.

Slika 14. Primer za local-preference atribut

Pojašnjenje gornje slike:AS 200 prima dva obaveštenja za mrežu 172.16.1.0 od AS 300. Kada ruter 1 primi obaveštenje, odgovarajući local-preference je 50, dok ruter 2 prima obaveštenje za istu mrežu sa vrednosti local-preference 100. Ove dve vrednosti će razmeniti ruteri 1 i 2. Ruter 2 ima veću vrednost nego ruter 1, pa će se ruter 2 koristiti kao izlazna tačka za AS 200 premi mreži 172.16.1.0 u AS 300.

3.3.3.3 Višeizlazni diskriminišući atributi (MED)

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.

3.3.3.4 Izvorni atributi (origin)

Origin atribut pokazuje kako BGP dobija podatke o ruti. Dužina atributa iznosi 1 bajt i kodiran je na sledeći način:

25

Page 26: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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.

3.3.3.5 Atributi puta (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 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

Slika 15. Primer za AS-path atribut

Pojašnjenje gornje slike:AS1 stvara rutu 172.16.1.0 i oglašava tu rutu prema AS2 i AS3 sa „AS_path 1“. AS3 će se javiti prema AS1 sa „AS_path atributom {3,1}“, dok će AS2 sa „AS_path atributom {2,1}“. AS1 će odbiti ove rute kada je detektovan njegov vlastiti AS broj u oglašavanju rute. BGP koristi ovaj mehanizam da bi našao petlju u rutiranju. AS2 i AS3 međusobno prenose rute sa AS brojevima označenim kao AS-path atributima. One neće biti postavljene u ruting tabelu, jer informaciju o ruti od AS1 sa kraćom „AS_path“ listom.

3.3.3.6 Atribut sledećeg koraka (next-hop)

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

Page 27: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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.

3.3.3.7 Community atributi

Community atribut određuje put grupnih destinacija, na koje se odnose upravljačke odluke.Predefinisani community atributi su :1) no-export - ne izveštavaj ovu rutu2) no-advertise - ne oglašavaj ovu rutu3) internet - oglašavaj ovu rutu internetu (svi ruteri u mreži joj pripadaju)

Slika 16. Primer za weight atribut

Pojašnjenje gornje slike:AS1 oglašava 176.16.1.0 prema AS2 sa atributom community oznake Internet. AS2 će prenositi rutu kroz ceo AS2 i kasnije prema AS3. Nema ograničenja za oglašavanje rute od AS2.

3.3.4 Redistribucija ruta

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

Page 28: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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).

Slika 17. Redistribucija ruta

3.3.5 Proces izbora najbolje rute u BGP-u

28

Page 29: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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šću3. Ako su Weight vrednosti iste, u ruting tabelu ulazi ruta sa najvećom vrednošću Local Preference4. Ako su Local Preference vrednosti iste, u ruting tabelu ulazi ruta koju je oglasio dati ruter5. Ako su prethodni kriterijumi isti, u ruting tabelu ulazi ruta sa kraćim AS-Path-om6. Ako su AS-Path dužine iste, ruter će odabrati rutu sa nižom vrednošću Origin atributa7. Ako je i to isto, Ruter će odabrati rutu sa nižom MED vrednošću8. Ako su i MED vrednosti iste, ruter će da odabere prvo rute čije putanje idu preko EBGP konekcija u odnosu na dobijene iz IBGP konekcija9. Bira se ruta čija je IGP metrika do BGP Next hopa niža10. 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.

3.4 Route reflectr i konfederacije

29

Page 30: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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 klijentiRedundansa 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_LISTORIGINATOR_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.

Slika 18. Route reflectorDrugi način za rešavanje problema velikog broja iBGP sesija su konfederacije (slika 19.). Unutar jednog AS se formira više privatnih pod-AS koji su u konfederaciji (za

30

Page 31: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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).

Slika 19. Konfederacije

3.5 Primer napada na sajt YouTube pomoću BGP-a

31

Page 32: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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.).

Slika 20. Pre napada

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.).

Slika 21. Oglašavanje rutera iz Pakistana

Odbrana od napada je uspela tako što su objavljene podmreže sa manjim prefiksima i sa manjim AS-path-om pošto je napad išao kroz dva autonomna sistema (slike 22., 23. i 24.)

32

Page 33: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

Slika 22. Oglasavanje podmreža sa manjim prefiksom

Slika 23. Oglašavanje podmreža sa još manjim prefiksom

Slika 24. Kraj napada

33

Page 34: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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.

3.6.1 Prikaz rutera, linkova i IP adresa

Slika 25. Prikaz rutera, linkova i IP adresa

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

Page 35: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

3.6.2 Konfiguracija BGP-a

Konfiguracia BGP-a na ruterima sa Mikrotik OS se radi kroz terminal konzolu ili pomoću programa Winbox. Na slici 26. prikazana je konfiguracija pomoću terminala, a na slici 27. korišćenjem Winbox-a.

Slika 26. Primer konfiguracije BGP-a iz terminala

Slika 27. Primer konfiguracije BGP-a iz Winbox-a

35

Page 36: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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.

3.6.3 Uspostavljanje BGP sesije i razmena ruta

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.

Slika 28. Tabela rutiranja pre uspostavljanja bgp sesije

Slika 29. Tabela rutiranja nakon uspostavljanja bgp sesije

36

Page 37: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

3.6.4 Prekid jednog od linkova

U sličaju prekida jednog od glavni linkova dolazi do promene tabele rutiranja. Na prethodnom primeru se vidi da ruter iz privatne mreze sa adresom 10.10.11.2 komunicira sa ruterom iz privatne mreze drugog provajdera koji ima adresu 10.10.10.2 preko rutera 192.168.12.1 direktno preko interfejsa ether2 (slika 30.)

Slika 30. Ruta ka mreži 10.10.10.0/24

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.

Slika 31. Prekid linka između provajdera ISP2 i ISP3

37

Page 38: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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

Page 39: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

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

Prednost BGP-a je u tome što ima više netehničkih (političkih i komercijalnih) kriterijuma za izbor ruta u odnosu na druge protokole za dinamićko rutiranje. Zbog ovoga je prihvaćen za globalni protokol rutiranja za povezivanje većih provajdera na Internet i kompletan Internet saobraća se razmenjuje pomoću njega.Kako IP adrese na internetu nisu hijerarhiski raspodeljene, ruteri razmenjuju informacije o nekoliko stotina hiljada IP prefiksa (slika 33). BGP je još uvek u stanju da izvrši taj zadatak što pokazuke njegovu veliku skalabilnost.

Slika 33. Porast broja IP prefiksa od 1994. do 2009. godine4

4 Izvor: http://bgp.potaroo.net/

39

Page 40: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

5. Spisak skraćenica korišćenih u tekstu

1. Adj-RIB-In - Adjacent Routing Information Base, Incoming2. Adj-RIB-Out - Adjacent Routing Information Base, Outgoing3. AFI - Address family identifier4. AS - Autonomous Systems5. ASN - Autonomous System Number6. AURP - AppleTalk Update Routing Protocol7. BGP - Border Gataway Protocol8. DEC - Digital Equipment Corporation9. DUAL - Diffusing Update Algorithm10. eBGP - Exterior Border Gateway Protocol11. EGRP - Exterior Gataway Routing Protocols12. GWINFO - Gateway Information Protocol13. IANA - Internet Assigned Numbers Authority14. iBGP - Interior Border Gateway Protocol15. IEEE - Institute of Electrical and Electronics Engineers16. IETF - Internet Engineering Task Force17. IGRP - Interior Gataway Routing Protocols18. IP - Internet Protocol19. IS-IS - Intermediate System to Intermediate System20. ISP - Internet Service Provider21. Loc-RIB - Local Routing Information Base22. LSP - Link-State Packet23. MED - Multi-exit discriminator24. NLSP - NetWare Link Services Protocol25. OSPF - Open Shortest Path First26. RFC - Request For Comments27. RIP - Routing Information Protocol28. RR - Route reflector29. SPF - Shortest Path First30. TCP - Transmission Control Protocol31. TLV - Type-Lenght-Value32. VLSM - Variable Length Subnet Masking

40

Page 41: Diplomski_rad_-_Ivana_Grek prtokol za dinamicko rutiranje-1

6. Literatura

1. mr Pavle Vuletić, „BGP“, prezentacija u elektronskom formatu2. Andrew S. Tenenbaum, „Computer Networks“, u elektronskom obliku3. James F. Kurose, Keith W. Ross, "Umrežavanje računara: Od vrha ka dnu",

prevod 4. izdanja, prvo poglavlje, u elektronskom obliku4. Berislav Todorović, Nenad Krajnović, „BGP Theory and Practice“, prezentacija

u elektronskom obliku5. Nenad Krajnović, „BGP Case Studies“, prezentacija u elektronskom obliku6. Nenad Krajnović, „Rutiranje - osnove“, prezentacija u elektronskom obliku7. http://www.ris.ripe.net 8. http://en.wikipedia.org 9. http://sr.wikipedia.org 10. http://www.bgp4.as/ 11. http://www.rfc-archive.org 12. http://www.ripe.net 13. http://www.academ.com 14. http://www.cisco.com 15. http://bgp.potaroo.net/

7. Prilozi

1. Virtuelne mašine svih korišćenih rutera na CD-u

41