Professional Documents
Culture Documents
RM1.07. Protokoli Rutiranja
RM1.07. Protokoli Rutiranja
Autor:
dr Slavko Gajin
2009. god
1
ETF, Katedra za računarsku tehniku i informatiku
Protokoli rutiranja
• Statičko rutiranje
– ručno se definišu rute do podmreža
• Dinamičko rutiranje
– ruteri razmenjuju informacije i automatski određuju rute do podmreža
• Protokoli rutiranja
– ne služe za rutiranje poruka
– služe da ruteri nauče kako da rutiraju poruke – uspostavljaju ruting tabele
• Osnovne funkcije protokola rutiranja koje sprovode ruteri:
– prikupljaju informacije o drugim podmrežama od drugih rutera (prikupljaju rute)
– obaveštavaju druge rutere o podmrežama za koje oni imaju informacije
(oglašavaju rute)
– ako postoje više ruta do neke podmreže, biraju najbolju rutu na bazi određene
metrike i upisuju je u ruting tabele
– ako dođe do promene topologije (promene stanja linkova), oglašavaju drugim
ruterima novo stanje i ponovo biraju najbolju rutu na bazi metrike
2
ETF, Katedra za računarsku tehniku i informatiku
1
Podela protokola rutiranja
3
ETF, Katedra za računarsku tehniku i informatiku
4
ETF, Katedra za računarsku tehniku i informatiku
2
Distance Vector & Link State
• Distance Vector
– susedni ruteri razmenjuju informacije o podmrežama, na osnovu kojih saznaju:
• Distancu (metriku) do određene podmreže
• Vektor (next-hop) koji vodi do određene podmreže
– ruteri poznaju samo susedne rutere, ali ne i celu topologiju
– rute se periodično razmenjuju
• Link State
– tokom razmene informacija ruteri spoznaju celu topologiju mreže
– informacije se ne razmenjuju periodično, već samo pri promeni topologije
5
ETF, Katedra za računarsku tehniku i informatiku
3
Metrika
• Metrika
– vrednost koja se koristi da bi se odlučilo
koja je ruta bolja u slučaju da imamo
više različitih ruta do određene
podmreže
• Mogu se koristiti sledeći parametri
– Hop count – broj koraka (rutera) do
podmreže
– Bandwidth – brzina veze, kapacitet,
propusni opseg
– Cost – cena koja se definiše
– Delay – kašnjenje koje veza unosi (npr.
satelitske veze imaju veće kašnjenje od
zemaljskih veza nezavisno od
kapaciteta)
– Load – opterećenje linka
– Reliability – pouzdanost veze koja se
posebno može konfigurisati
7
ETF, Katedra za računarsku tehniku i informatiku
Load Balancing
• Load Balancing
– mogućnost slanja paketa na više odlaznih linkova sa istom metrikom prema nekoj
podmređi
– ravnomerno opterećivanje linkova
– bolje iskorišćenje ukupnog propusnog opsega
8
ETF, Katedra za računarsku tehniku i informatiku
4
Administrativna distanca
• Administrativna distanca
– dodeljuje se različitim protokolima rutiranja
– određuje preferencu (prioritet) ruta dobijene od različitih protokola rutiranja
– manja vrednost – veći prioritet
– ima veću težinu u odnosu na metriku
Connected 0
Static 1
EIGRP summary 5
BGP external 20
EIGRP internal 90
IGRP 100
OSPF 110
RIP 120
EIGRP external 170
BGP internal 200 9
ETF, Katedra za računarsku tehniku i informatiku
10
ETF, Katedra za računarsku tehniku i informatiku
5
Distance Vector protokoli rutiranja
• Bira se SAMO jedna, najbolja ruta i ona se upisuje u ruting tabelu
(sem u slučaju kada je podržan load balansing između više ruta iste težine
– administrativna distanca i metrika)
• Subnet X, Metric 2: R1 – R7 – R8
11
ETF, Katedra za računarsku tehniku i informatiku
12
ETF, Katedra za računarsku tehniku i informatiku
6
Distance Vector protokoli rutiranja
• Konvergencija - stanje kada ruting tabele SVIH rutera u mreži postignu:
– stabilno stanje – ne menjaju se sa novim routing update-ima
– konzistentno stanje – sve rute su valjane, nema protivrečnosti
• Konvergencija zavisi od:
– brzine propagacije ruting update-a
– brzine računanja ruta i uspostavljanja ruting tabela
• Cilj - što brža konvergencija !
13
ETF, Katedra za računarsku tehniku i informatiku
Ruting petlje
• Tokom konvergencije može nastati nekonzistentno stanje ruting tabela
rutera koje mođe izazvati petlje pri rutiranju – ruting petlje (routing loops)
• Primer – korak 1:
– Interfejs Fa0/0 na ruteru R3 je “pao” (stanje DOWN, npr. ne izvučen UTP kabl)
– mreža 10.4.0.0 više nije connected, i briše se iz ruting tabele na R3
– R2 šalje routing update pre nego što R3 pošalje svoj routing update
• R2 obaveštava R3 da ima rutu do mreže 10.4.0.0 sa metrikom 1
14
ETF, Katedra za računarsku tehniku i informatiku
7
Ruting petlje
• Primer – korak 2:
– R3 prima routing update o mreži 10.4.0.0 sa metrikom 1
– R3 veruje da R2 ima ispravnu rutu do mreže 10.4.0.0 i upisuje je u ruting tabelu
sa metrikom 2
15
ETF, Katedra za računarsku tehniku i informatiku
Ruting petlje
• Primer – korak 3, 4, 5... :
– od R1 pristiže paket za odredište 10.4.0.1
– R2 ima rutu od mreže 10.4.0.0 preko interfejsa S0/0/1 i paket rutira do R3
– R3 ima rutu od mreže 10.4.0.0 interfejsa S0/0/1 i paket rutira do R2
– R2 ima rutu od mreže 10.4.0.0 preko interfejsa S0/0/1 i paket rutira do R3
– ...
16
ETF, Katedra za računarsku tehniku i informatiku
8
Ruting petlje
• Istovremeno se nastavlja sa razmenom ruoting update-a između R2 i R3
• U svakom koraku metrika se naizmenično povećava za po 2 na svakom
ruteru
• Posle određenog vremena (više minuta), rute u obe tabele će dostići
maksimalni broj hopova, tj. maksimalna metrika “infinity” (npr. 16 za RIP)
• Rute su nevalidne i brišu se iz tabele, petlja je prekinuta (konačno)
• Count-to-Infinity – efekat koji izazivaju ruting petlje kod distance vector
ruting protokola
– paketi se rutiraju po petlji – broj koraka odgovara TTL vrednosti
– više minuta je ovaj deo mreže neoperativan
1, 3, 5, 7... 0, 2, 4, 6...
17
ETF, Katedra za računarsku tehniku i informatiku
18
ETF, Katedra za računarsku tehniku i informatiku
9
Triggered update
• Triggered update
– ne čeka se sledeći periodični routing update
– kada ruta “padne”, istog trenutka se oglašava da je nedostupna (unreachible)
– oglašava se samo na ruta, a ne cela ruting tabela, kao što je to slučaj sa
periodičnim oglašavanjem
– konvergencija se značajno ubrzava
19
ETF, Katedra za računarsku tehniku i informatiku
Route Poisoning
• Kada ruter detektuje da je pripadajuća mreža u padu (korak 1)
– ruta se briše iz ruting tabele (korak 2)
– ruta se oglašava sa “beskonačnom” metrikom - nevalidna, nedostupna
(unreachable) (korak 3)
• Kada ostali ruteri dobiju rutu sa “beskonačnom” metrikom
– upisuju ovu rutu u ruting tabelu - ruta je nevalidna (korak 4)
– čuvaju je u ruting tabeli određeno vreme
• Oglašava se “unreachable route”
20
ETF, Katedra za računarsku tehniku i informatiku
10
Split Horizon
• Split Horizont
– Ruter nikada ne oglašava rutu na interfejse preko kojih je ta ruta pristigla
21
ETF, Katedra za računarsku tehniku i informatiku
22
ETF, Katedra za računarsku tehniku i informatiku
11
Redundantne veze - stabilno stanje
• Split Horizont sprečava oglašavanje mreže 172.30.22.0 do R1 i R3 do R2
• R1 i R3 međusobno ipak razmenjuju rutu do mreže 172.30.22.0
23
ETF, Katedra za računarsku tehniku i informatiku
24
ETF, Katedra za računarsku tehniku i informatiku
12
Holddown timer
• Ideja - kada ruter sazna da je neka ruta “pala”, čeka se određene vreme da bi
ova informacija propagirala do svih rutera
• Holddown timer za mrežu se uključuje kada se dobije nevalidna ruta (poisoned)
• Tokom Holddown vremena ignorušu se sve nove rute za tu mrežu
25
ETF, Katedra za računarsku tehniku i informatiku
26
ETF, Katedra za računarsku tehniku i informatiku
13
RIPv1
• Routing update
– ne sadrži masku, već samo mrežu
• Ipak su podržane podmreže
– ako routing update i interfejs na
koji se routing update prima
pripadaju istoj mreži:
• u ruting tabelu se upisuje
podmreža sa maskom interfejsa
• sve podmreže pripadajuće classful
mreže moraju da imaju istu masku
– ako routing update i interfejs na
koji se routing update prima
pripadaju različitim mrežama:
• u ruting tabelu se upisuje classful
mreža sa maskom 8, 16 ili 24
• nije podržana VLSM
27
ETF, Katedra za računarsku tehniku i informatiku
RIPv1
• Automatska sumarziacija ruta
– ruter na granici RIP domena automatski agregira podmreže u classful mrežu
RIP domen
172.30.0.0/16
28
ETF, Katedra za računarsku tehniku i informatiku
14
RIPv2
• Razlike u odnosu na RIPv1
– Classless Distance Vector ruting protokol
– Maska i Next hop uključeni u ruting update
– Ruting update se prenosi multikastom, a ne brodkastom
– Autenifikacija je opciona
• Sličnosti sa RIPv1
– Koristi se holddown timer
– Koristi se split horizon ili split horizon sa poison reverse mehanizmom
– triggered update
– Metrika je broj rutera (hop count), maksimalno 16 - unreachable
29
ETF, Katedra za računarsku tehniku i informatiku
30
ETF, Katedra za računarsku tehniku i informatiku
15
Link-State protokoli rutiranja
• Distance Vector ruting protokoli
– Ruting updates – ruteri oglašavaju rute iz ruting tabela
• Link-State ruting protokoli
– LSA (Link-State Advertisements) - ruteri oglašavaju lokalne informacije o
povezanim mrežama, stanju linkova, povezanim ruterima itd.
• Svaki ruter nezavisno sprovodi sledeće:
– kreira se baza informacija o mreži na osnovu LSA – LSDB (Link-State
Database), koje su identične za sve rutere
– računa se SPF algoritam (Shortest Path First)
– nalazi se najkraći put do svake mreže – SPF Tree
(prema odgovarajućoj metrici)
– kreira se ruting tabela
31
ETF, Katedra za računarsku tehniku i informatiku
• “Neighbors”
direktno povezani ruteri
32
ETF, Katedra za računarsku tehniku i informatiku
16
Hello protokol
• Hello protokol
– razmenjuju se Hello paketi na zajedničkim segmentima (point-to-point ili deljeni)
– otkrivaju se direktno povezani ruteri na linku (Neighbors)
– ako se usaglase svi parametri između direktno povezanih rutera, oni postaju
direktni susedi – adjacent neighbors
– adjacent neighbors nastavljaju da razmenjuju hello pakete - keepalive funkcija
33
ETF, Katedra za računarsku tehniku i informatiku
34
ETF, Katedra za računarsku tehniku i informatiku
17
Link-State Database
• Ruteri kada dobiju LSP od svih rutera kreiraju LSDB (Link-State Database)
35
ETF, Katedra za računarsku tehniku i informatiku
36
ETF, Katedra za računarsku tehniku i informatiku
18
Shortest Path First (SPF) Tree
• Primer: ruter R1
– R3 LSP
– R4 LSP
– R5 LSP
37
ETF, Katedra za računarsku tehniku i informatiku
38
ETF, Katedra za računarsku tehniku i informatiku
19
Kreiranje ruting tabele
• Iz stabla najkraćih puteva (SPF tree), koje je jedinstveno za svaki ruter,
kreira se ruting tabela
– putanje ka svim mrežama
39
ETF, Katedra za računarsku tehniku i informatiku
Osobine
• Brza konvergencija:
– Flooding – intenzivno slanje LSP kroz mrežu
• inicijalno po uključivanju rutera
• prilikom promene topologije – pad postojećih ili uključenje novih veza
• periodično, ali mnogo ređe nego kod Distance Vector (npr. na 30 minuta)
– svi ruteri saznaju istu topologiju mreže, iz čega kreiraju različita stabla najkraćih
puteva, a zatim i različite ruting tabele
• Performanse pri konvergenciji:
– zahtevaju više memorije – koriste više informacija
– zahtevaju više CPU vremena – prilikom računanja najkraćih puteva (Dijsktra
algoritam)
– zahtevaju više propusnog opsega – zbog flooding-a
• Performanse u stabilnom stanju
– nisu zahtevni, prenose se samo hello paketi i periodičan flooding u dužim
vremenskim intervalima
40
ETF, Katedra za računarsku tehniku i informatiku
20
Skalabilnost
• Area – oblasti u kojima se sprovodi flooding
• Podela mreža na više oblasti omogućava veću skalabilnost
• Pad linka u jednoj oblasti ne izaziva konvergenciju u ostalim oblastima
41
ETF, Katedra za računarsku tehniku i informatiku
42
ETF, Katedra za računarsku tehniku i informatiku
21
OSPF - Open Shortest Path First
• OSPF istorijat
OSPF poruke
• 5 različitih tipova
enkapsulirane u IP
• na L3 nivou:
– protocol type: 89
– multikast: dst adrese
224.0.0.5 i 224.0.0.6
• na L2 nivou:
– multikast: dst adrese
01-00-5E-00-00-05 i
01-00-5E-00-00-06
43
ETF, Katedra za računarsku tehniku i informatiku
OSPF poruke
Tipovi OSPF poruka
• Hello
– otkrivanje suseda i uspostavljanje direktnih suseda (adjecency)
• DBD – Database Description
– služi za usaglašavanja (sinhronizaciju) LS baza podataka (LS database) između
direktnih suseda
• LSR – Link-State Request
– zahteva specificirani Link-State podatak iz LS baze podataka
• LSU – Link-State Update
– šalje Link-State podatak iz LS baze podataka, zahtevan putem LSR poruke
• LSAck – Link-State Acknowledgement
– potvrđuje prijem ostalih tipova poruka
44
ETF, Katedra za računarsku tehniku i informatiku
22
Hello poruke
• RID (Ruter ID) – jedinstveni identifikator rutera koji će se javljati u LSA i
LSDB
– najveća IP adresa interfejsa, ako nije konfigurisan loopback (logički) interfejs
– najveća IP adresa loopback interfejsa, u suprotnom
• Hello poruke – uspostavljanje susedstva između rutera
45
ETF, Katedra za računarsku tehniku i informatiku
Hello poruke
• Da bi ruteri postali susedi, moraju da oglašavaju iste parametre:
– IP adrese mreža (IP broj i masku)
– hello interval – period oglašavanja Hello poruka
• default:
10 sek na serijskim i broadcast multi-access vezama,
30 sek na NBMA (Non-Broadcast Media Access), npr. Frame Relay
– dead interval – vreme za koje izostanu
Hello poruke, nakon čega se raskida
susedstvo i veza proglašava
neoperativno (down)
• default: 4 x Hello interval
– Area ID – broj oblasti
– Autentifikacija (ako se koristi)
– ostali parametri
stab area flag
46
ETF, Katedra za računarsku tehniku i informatiku
23
Uspostavljanje susedstva
Bidirekciono uspostavljanja susedstva putem Hello poruka
Prolazi se kroz sledeća stanja:
• Down - početno stanje
• Init – nakon podizanja interfejsa, spremni za slanje Hello poruka
• 2-way – uspostavljeno susedstvo, uz sledeće uslove:
– ruter koji je primio Hello poruku prepoznao je svoj RID u polju koje lista sve susede
(List of Neighbors)
– usaglašeni su svi parametri – isti su na obe strane
47
ETF, Katedra za računarsku tehniku i informatiku
24
Razmena informacija o mrežama
• Primer
49
ETF, Katedra za računarsku tehniku i informatiku
50
ETF, Katedra za računarsku tehniku i informatiku
25
Uspostavljanje susedstva u multiaccess
mrežama
• Svi ruteri učestvuju u razmeni Hello poruka
• Svako-sa-svakim ?
• Problemi:
– skalabilnost - broj parova suseda raste sa kvadratom broja rutera - n(n-1)/2
– intenzivna komunikacija - flooding
51
ETF, Katedra za računarsku tehniku i informatiku
52
ETF, Katedra za računarsku tehniku i informatiku
26
Izbor DR i BDR u multiaccess mrežama
• “Prioritet” – vrednost koja predstavlja prioritet pri izboru DR i BDR
– broj od 0 do 255
– dodeljuje se interfejsu rutera
– veća vrednost označava veći prioritet
– vrednost 0 označava da ruter ne učestvuje u izboru za DR i BDR
• Pravila izbora DR i BDR
– ruteri u Hello poruke, pored RID, postavljaju i svoje prioritete
– ruter sa najvećim prioritetom postaje DR
– ruter sa sledećim najvećim prioritetom postaje BDR
– u slučaju da su prioriteti isti, gleda se najveći RID za izbor DR i BDR
53
ETF, Katedra za računarsku tehniku i informatiku
komanda
show ip ospf neighbor
54
ETF, Katedra za računarsku tehniku i informatiku
27
Izbor DR i BDR u multiaccess mrežama
• DR i BDR prestaju da vrše ove funkcije jedino u sledećim slučajevima:
– ruter prestane da radi (“padne”)
– multiaccess interfejs rutera prestane da radi
– OSPF na ruteru prestane da radi
• Novododati ruteri neće izazvati promenu DR i BDR bez obzira na njihove
prioritete ili IP adrese
• Kako uticati na izbor DR i BDR (treba da budu ruteri većih performnasi) ?
– najpre njih uključiti, a zatim sve ostale
– ugasiti multiaccess interfejse na svim ruterima, a zatim najpre uključiti interfejse
na željenom DR i BDR, a zatim sve ostale
55
ETF, Katedra za računarsku tehniku i informatiku
56
ETF, Katedra za računarsku tehniku i informatiku
28
Razmena informacija u multiaccess
mrežama
• DROthers ruteri šalju LSA na
multikast adresu 224.0.0.6 (AllDRouters)
(na slici ruter R1)
• DR i BDR ruteri “slušaju” saobraćaj na
AllDRouters multikast adresi i primaju LSA
• DR šalje unikast LSAck do rutera koji je
poslao LSA (R1) (nije prikazano)
57
ETF, Katedra za računarsku tehniku i informatiku
OSPF metrika
• Cena (Cost)
– metrika OSPF ruting protokola
– izvedena iz propusnog opsega veze - bandwidth
cena = 108 / bandwidth
– manja cena, veći prioritet
– propusni opseg se definiše na interfejsu rutera
• ona ne utične na stvarnu brzinu veze
• služi samo za određivanje cene veze
58
ETF, Katedra za računarsku tehniku i informatiku
29
OSPF metrika
• default vrednost za serijske interfejse je 1544 kbps (T1 linija) nezavisno od
toga na kojoj brzini je veza uspostavljena
59
ETF, Katedra za računarsku tehniku i informatiku
OSPF metrika
• Da bi se uspostavila željena metrika u OSPF mreži, potrebno je:
– definisati stvarne brzine na interfejsima, ili
60
ETF, Katedra za računarsku tehniku i informatiku
30
OSPF metrika
• Cena putanje do mreže – kumulativna cena svih linkova na putanji
61
ETF, Katedra za računarsku tehniku i informatiku
62
ETF, Katedra za računarsku tehniku i informatiku
31
OSPF vrste rutera
Vrste rutera prema mestu i ulozi u oblasti
• ABR – Area Border Router – granični ruter između oblasti (centralne i periferne)
• ASBR – Autonomous System Border Router – granični ruter između OSPF
domena i nekog drugog ruting domena (npr. RIP2, ili eksterni ruting protokol)
• Internal Router – interni ruter koji pripada samo jednoj oblasti
• Backbone router – interni ruter koji pripada backbone oblasti
63
ETF, Katedra za računarsku tehniku i informatiku
32
OSPF vrste LSA
65
ETF, Katedra za računarsku tehniku i informatiku
33
OSPF vrste oblasti
67
ETF, Katedra za računarsku tehniku i informatiku
Virtualni linkovi
• Virutualni linkovi – mogućnost stvaranja logičkih veza (tunela) do ABR-a
kroz neku drugu oblast (transit area)
• Dve vrste primene:
– povezivanje periferne oblasti na backbone oblast kada ne postoji direktna fizička
veza
68
ETF, Katedra za računarsku tehniku i informatiku
34
OSPF – primer konfiguracije
1. korak - Konfigurisanje OSPF procesa na Cisco ruteru:
R(config)#router ospf process-id
– process-id – broj od 1 do 65535, lokalno značenje samo na tom ruteru,
nezavisno od drugih rutera (može biti različito na drugim ruterima)
69
ETF, Katedra za računarsku tehniku i informatiku
70
ETF, Katedra za računarsku tehniku i informatiku
35
OSPF – primer konfiguracije
Listanje ruting tabele:
R1#show ip route
71
ETF, Katedra za računarsku tehniku i informatiku
Redistribucija ruta
• Redistribucija ruta
– razmena ruta između različitih protokola rutiranja
• Kada postoji redistribucija
– jedan ruting domen učitava rute iz drugog
– ruteri u jednom ruting domenu znaju putanje do mreža iz drugog ruting domena
– postoji konektivnost i razmena saobraćaja
• Kako se sprovodi redistribucija za različite vrste ruta:
– connected rute
• automatski se redistribuiraju ako su konfigurisane unutar ruting domena (komanda
network kod cisco rutara)
• manuelno konfigurisanje redistirbucije
– sve ostale rute zahtevaju manuelno konfigurisanje redistirbucije iz jednog u drugi
ruting domen
• statičke rute, RIP, OSPF, IS-IS, BPG, EIGRP itd.
72
ETF, Katedra za računarsku tehniku i informatiku
36
Distribucija ruta
Primer bez distribucije ruta
• nema razmena ruta
između različitih
ruting domena
• nema konektivnosti
i razmene saobraćaja
73
ETF, Katedra za računarsku tehniku i informatiku
Literatura
• CCENT/CCNA ICND1,
official exam certification guide,
Wendell Odom, Cisco Press, 2008
• www.wikipedia.org
74
ETF, Katedra za računarsku tehniku i informatiku
37