Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmi Rutiranja
Algoritmi Rutiranja
network layer)
- Algoritmi rutiranja -
1. 1 Uvod 1.5 Algoritmi rutiranja
1.2 Mreže sa virtuelnim ◦ Link state
kolima i datagramima ◦ Distance Vector
1.3 Funkcije rutera ◦ Hijerarhijsko rutiranje
v 3 w
2 5
u 2 z
1
3
1
x y 2
1
Graf: G = (N,E)
E = skup linkova={(u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z)}
Grafička abstrakcija: cijena (cost)
Informacije se ne razmjenjuju
periodično, već samo pri
promjeni topologije
Dijkstra algoritam
1 Inicijalizacija:
2 N' = {u}
3 for all nodes v
4 if v adjacent to u
5 then D(v) = c(u,v)
6 else D(v) = ∞
7
8 Petlja
9 find w not in N' such that D(w) is a minimum
10 add w to N'
11 update D(v) for all v adjacent to w and not in N' :
12 D(v) = min( D(v), D(w) + c(w,v) )
13 /* nova cijena za v ili stara cijena za v ili poznata cijena najkraće
14 putanje za w + cijena od w do v */
15 until all nodes in N'
Dijkstra algoritam: primjer
v 3 w
2 5
u 2 z
1
3
1
x y 2
1
Dijkstra algoritam
Kompleksnost algoritma: n čvorova
svaka iteracija: provjera svih čvorova
n(n+1)/2 poređenja: O(n2)
moguće su efikasnije implementacije: O(nlogn)
Moguće su promjene:
Npr. cijena linka = intenzitetu saobraćaja
A A A A
1 1+e 2+e 0 0 2+e 2+e
D 0
B D B D B D B
0 0 1+e 1 0 0 1+e 1
0 C e 0 0 1 e
C C 1+e 0 C
1 1
e … ponovni … ponovni … ponovni
početna proračun proračun proračun
rute rute rute
1. 1 Uvod 1.5 Algoritmi rutiranja
1.2 Mreže sa virtuelnim ◦ Link state
kolima i datagramima ◦ Distance Vector
1.3 Funkcije rutera ◦ Hijerarhijsko rutiranje
Definiše se:
dx(y) := cijena min cost path od x do y
Tada je:
Dinamički algoritam
recompute estimates
Distribuirani:
svaki čvor obavještava susjedne
čvorove samo kada se if DV to any dest has
promijeni njegov DV changed, notify neighbors
◦ susjedi tada obavještavaju svoje
susjedne čvorove (ako je
potrebno)
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} Dx(z) = min{c(x,y) +
= min{2+0 , 7+1} = 2 Dy(z), c(x,z) + Dz(z)}
čvor x - tabela = min{2+1 , 7+0} = 3
cijena do cijena do cijena do
x y z x y z x y z
x 0 2 7 x 0 2 3 x 0 2 3
y ∞∞ ∞ y 2 0 1
od
od
y 2 0 1
od
z ∞∞ ∞ z 7 1 0 z 3 1 0
čvor y - tabela
cijena do cijena do cijena do
x y z x y z x y z y
2 1
x ∞ ∞ ∞ x 0 2 7 x 0 2 3 x z
y 2 0 1 y 2 0 1
od
y 2 0 1 7
od
od
z ∞∞ ∞ z 7 1 0 z 3 1 0
čvor z - tabela
cijena do cijena do
cijena do
x y z x y z x y z
x ∞∞ ∞ x 0 2 7 x 0 2 3
y 2 0 1 y 2 0 1
od
od
y ∞∞ ∞
od
z 71 0 z 3 1 0 z 3 1 0
vrijeme
Distance Vector: promjene cijene linka
Promjene cijene linka:
Čvor detektuje promjene cijene
1
lokalnog linka y
Update-uje info o rutama, 4 1
x z
proračunava vektor udaljenosti
50
Ako postoje promjene DV, čvor
obavještava susjede
3c
3a 2c
3b 2a
AS3 2b
1c AS2
1a 1b
1d AS1
Tabela usmjeravanja se
konfiguriše na osnovu
intra- i inter-AS algoritma
Intra-AS
algoritam
Inter-AS
algoritam rutiranja
rutiranja rutiranja
◦ Intra-AS određuje ulaze za
Tabela interna odredišta
usmjeravanja
◦ Inter-AS i intra-AS određuju
ulaze za vanjska odredišta
Inter-AS funkcije
Neka ruter iz AS1 primi AS1 treba:
datagram čije je odredište 1. naučiti koja su odredišta
izvan AS1 dostupna kroz AS2 i AS3
◦ ruter treba usmjeriti paket
2. proslijediti info o
do jednog od gateway rutera.
Koji izabrati? dostupnosti do svih
rutera u AS1
3c
3a 2c
3b 2a
AS3 2b
1c AS2
1a 1b
1d AS1
Primjer: uspostavljanje tabele rutiranja u
ruteru1d
Određuje se
Uči od inter-AS Koristi routing info tabela rutranja
protokola da je od intra-AS Hot potato rutiranje: interfejsa I koja
x dostupan preko protokola da bi utvrdio bira se gateway obezbjeđuje least-cost
više gateway-a min cost putanju sa min cost gateway.
do svakog gateway-a Unosi se (x,I) u tabelu
rutiranja.
Protokoli rutiranja
Autonomni sistem je skup mreža koje imaju zajednički
domen upravljanja (eng. administrative domain).
• U autonomnom sistemu se primjenjuje IGP (Interior
Gateway Protocol).
• Povezivanje autonomnih sistema se vrši preko EGP
(Exterior Gateway Protocol).
Intra-AS rutiranje
Poznato i kao Interior Gateway Protocols (IGP)
Standardni Intra-AS protokoli rutiranja:
u odredište hopovi
v
u 1
A B w v 2
w 2
x 3
x y 3
z C D z 2
y
RIP advertisements
z
w x y
A D B
C
Odredišna mreža Sljedeći ruter Broj hopova do odred.
w A 2
y B 2
z B 7
x -- 1
…. …. ....
Tabela rutiranja u D
RIP: Primjer
Odred. Sljedeći hopovi
w - - Advertisement
x - - od A do D
z C 4
…. … ...
z
w x y
A D B
C
Odredišna mreža Sljedeći ruter Broj hopova do odredišta
w A 2
y B 2
z B A 7 5
x -- 1
…. …. ....
Tabela rutiranja u D
RIP: otkazi i oporavak linkova
Ako advertisement info ne stigne u periodu do180 s -->
deklariše se neighbor/link otkaz:
routed routed
Transprt Transprt
(UDP) (UDP)
network forwarding forwarding network
(IP) table table (IP)
link link
physical physical
1. 1 Uvod 1.5 Algoritmi rutiranja
1.2 Mreže sa virtuelnim ◦ Link state
kolima i datagramima ◦ Distance Vector
1.3 Funkcije rutera ◦ Hijerarhijsko rutiranje
3c
3a 2c
3b 2a
AS3 2b
1c AS2
1a 1b
AS1 1d
eBGP session
iBGP session
Distribucija reachability info
Sa eBGP sesijom između 3a i 1c, AS3 šalje prefix reachability info do
AS1.
1c koristi iBGP za distribuciju ovog novog prefix reach info do svih
rutera u AS1
1b može ponovo oglasiti novi reach info do AS2 preko 1b-to-2a eBGP
session
Kada ruter nauči novi prefix, kreira ulaz za prefiks u svojoj tabeli
rutiranja.
3c
3a 2c
3b 2a
AS3 2b
1c AS2
1a 1b
AS1 1d
eBGP session
iBGP session
Atributi putanje (Path attributes) i
BGP rute
Pri oglašavanju prefix-a, info sadrži BGP atribute.
◦ prefix + atributi = “route”
provajder
B mreže
X
W A
korisnik
C mreže
Pravila:
Inter-AS: više administratora, potrebna su pravila usmjeravanja
kroz mreže.
Intra-AS: jedan administrator, nisu neophodna pravila
Skaliranje:
Hijerarhijsko rutiranje smanjuje veličinu tabela, smanjuje
saobraćaj update poruka
Performanse:
Intra-AS: fokus je na performansama
Inter-AS: pravila su dominantnija u odnosu na performanse
1. 1 Uvod 1.5 Algoritmi rutiranja
1.2 Mreže sa virtuelnim ◦ Link state
kolima i datagramima ◦ Distance Vector
1.3 Funkcije rutera ◦ Hijerarhijsko rutiranje
R3 R4 R3 R4
(a) (b)
B
c
D
F E
B B
c c
D D
F E F E
G G
Pristupi:
“source-based” stablo: jedno stablo po izvoru
◦ minimal spanning
◦ center-based stabla
Shortest Path stablo
mcast forwarding stablo: stablo sa rutama
najkraće putanje od izvora do svih prijemnika
◦ Dijkstra’s algoritam
S: izvor
R1 2
1 R4
ruter sa pridruženim
članom grupe
R2 5
router bez pridruženog
3 4
R5 člana grupe
R3 6 i link se koristi za usmjeravanje,
R6 R7 i ukazuje na red linka
koji pridružuje algoritam
Reverse Path Forwarding