Algoritmi Rutiranja - Zadaci

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Zadatak 1.

Za mrežu sa slike formirati tabelu rutiranja za ruter 1 koristeći:


a) Dijkstra algoritam
b) Bellman-Ford algoritam
7
3 4 5
5
2 3 5
1 2 3 4
3
2 1 2
1
5 6
1

Linkovi su dvosmjerni pri čemu je cijena ista za oba smjera.

Rješenje:

a) U prvom koraku koristimo samo rutere koji su susjed1 rutera 1, a to su ruteri 2, 5 i 7.


1(0)

2(2) 5(1) 7(3)

Pošto ovaj algoritam podrazumijeva da se sukcesivno proširuje skup koji sadrži rutere do kojih je nađen
najkraći put (označimo ga kao skup S), tj. da se dodaju najbliži (po cijeni) ruteri jedan po jedan, prvo se
dodaje ruter 5 kao najbliži ruteru 1.
1(0)

2(2) 5(1) 7(3)

Zatim se pridodaju susjedi rutera 5 da bi se utvrdilo da li postoji bolje rješenje do ostalih rutera u mreži.
Cijena pridodatih rutera je zbir cijene do rutera 5 i cijene linka od rutera 5 do njegovog odgovarajućeg
susjeda.
1(0)

2(2) 5(1) 7(3)

2(3) 3(4) 6(2)

Kao što vidimo pronađen je nov put do rutera 2, ali cijena tog puta je veća od onog koji je već bio
prethodno pronađen, pa se ovaj novi put odbacuje. Takođe, dijagramu su dodati ruteri 3 i 6, jer je sada
pronađen put do njih. Ponovo se proširuje skup S tj. određuje se koji je sljedeći najbliži ruter. Vidimo da
sada postoje dva kandidata ruteri 2 i 6. Svejedno je koji će se izabrati jer ionako će onaj drugi biti izabran u
sljedećem koraku. Izabraćemo ruter 2.
1(0)

2(2) 5(1) 7(3)

2(3) 3(4) 6(2)

Sada pridodajemo susjede rutera 2 stablu (ne pridodajemo rutere 1 i 5 jer je za njih već određeno rješenje
(pripadaju skupu S što znači da je za njih već određen najkraći put)):
1(0)

2(2) 5(1) 7(3)

3(5) 7(7) 3(4) 6(2)

Kao što vidimo oba nova puta do rutera 3 i 7 su odbačena kao nepovoljnija u odnosu na prethodno
pronađene puteve. Sada pridodajemo ruter 6 skupu S.
1(0)

2(2) 5(1) 7(3)

3(4) 6(2)

Opisana procedura se sada ponavlja.


1(0)

2(2) 5(1) 7(3)

3(4) 6(2)

3(3) 4(4)

Sada smo imali slučaj da je do rutera 3 pronađen povoljniji put, pa se prethodno određeni odbacuje, a
uključuje se u stablo novi put. Sada ćemo priključiti ruter 3 rješenju.
1(0)

2(2) 5(1) 7(3)

3(4) 6(2)

3(3) 4(4)
Priključujemo sada susjede rutera 3.
1(0)

2(2) 5(1) 7(3)

3(4) 6(2)

3(3) 4(4)

7(7) 4(8)

Rješenju sada dodajemo ruter 7.


1(0)

2(2) 5(1) 7(3)

3(4) 6(2)

3(3) 4(4)

Priključujemo novi put do rutera 4 (jedini koji još nije uključen u konačno rješenje).
1(0)

2(2) 5(1) 7(3)

4(8)
3(4) 6(2)

3(3) 4(4)

Sada još samo priključujemo ruter 4 u rješenje i time se završava postupak.


1(0)

2(2) 5(1) 7(3)

6(2)

3(3) 4(4)
Tabela rutiranja:

Odredište Sljedeći hop


ruter 1 self
ruter 2 2
ruter 3 5
ruter 4 5
ruter 5 5
ruter 6 5
ruter 7 7

b)
it. R2 R3 R4 R5 R6 R7
1 3 5 7 2 4 5 6 7 3 6 7 1 2 3 6 3 4 5 1 2 3 4
0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
1 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ ∞ ∞ ∞ ∞ 3 ∞ ∞ ∞
2 2 ∞ 3 8 5 ∞ 4 ∞ 7 ∞ ∞ 8 1 4 ∞ ∞ ∞ ∞ 2 3 7 ∞ ∞
3 2 7 3 8 5 13 4 3 7 9 4 8 1 4 8 3 5 10 2 3 7 8 13
4 2 6 3 8 5 9 4 3 7 8 4 8 1 4 6 3 4 6 2 3 7 7 9

Drugi red tabele predstavlja susjede odgovarajućeg rutera. Crvenom bojom je označena minimalna
udaljenost rutera proračunata u posmatranom koraku. Kao što vidimo inicijalno se svi ruteri sem rutera 1
postavljaju na beskonačnu udaljenost. U sljedećem koraku samo susjedni ruteri ruteru 1 će imati konačnu
udaljenost, a zatim će se postepeno priključivati i drugi ruteri. U svakom koraku nalaze se cijene za sve
potencijalne puteve, ali rješenje na kraju konvergira ka optimalnom rješenju, tj. ka rješenju najkraćih
puteva do svih čvorova u mreži. Algoritam se zaustavlja kada su određene cijene za sve putanje i kada se
najbolje rješenje u smislu najmanje cijene ne mijenja u dvije sukcesivne iteracije. Rješenje je isto kao i ono
kod Dijkstra algoritma, pa je i tabela rutiranja identična tabeli iz tačke a).

Zadatak 2. Za mrežu sa slike formirati tabelu rutiranja za ruter A koristeći:


a) Dijkstra algoritam
b) Bellman-Ford algoritam
10
7
A B

2 1
3 4

1 7 E 2 5

4 15
3 4

D C
1
5
Rješenje:
a)
A(0)

B(10) D(7) E(2)

A(0)

B(10) D(7) E(2)

A(0)

B(10) D(7) E(2)

B(3) C(17) D(5)

A(0)

E(2)

B(3) C(17) D(5)

A(0)

E(2)

B(3) C(17) D(5)

C(8)

A(0)

E(2)

B(3) D(5)

C(8)
A(0)

E(2)

B(3) D(5)

C(8) C(6)

A(0)

E(2)

B(3) D(5)

C(6)
Tabela rutiranja:

Odredište Sljedeći hop


ruter A self
ruter B E
ruter C E
ruter D E
ruter E E

b)
it. R_B R_C R_D R_E
A C E B D E A C E A B C D
0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
1 10 ∞ ∞ ∞ ∞ ∞ 7 ∞ ∞ 2 ∞ ∞ ∞
2 10 ∞ 3 15 8 17 7 ∞ 5 2 14 ∞ 11
3 10 10 3 8 6 17 7 13 5 2 7 12 9
4 10 10 3 8 6 17 7 13 5 2 7 12 9

Rješenje je identično onome iz tačke a).


Zadatak 3. Za mrežu sa slike formirati tabelu rutiranja za ruter 2 koristeći Bellman-Ford algoritam.

3 1
2

1 6
2
5

4 2
3
1 3

2 4
5
Rješenje:

it. R1 R3 R4 R5 R6
2 3 4 1 4 6 1 2 3 5 2 4 6 3 5
0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
1 3 ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 4 ∞ ∞ ∞ ∞
2 3 ∞ 6 5 3 ∞ 8 1 ∞ 7 4 4 ∞ ∞ 6
3 3 5 6 5 3 7 8 1 5 7 4 4 8 4 6
4 3 5 6 5 3 5 8 1 5 7 4 4 6 4 6

Tabela rutiranja:

Odredište Sljedeći hop


ruter 1 1
ruter 2 self
ruter 3 4
ruter 4 4
ruter 5 5
ruter 6 4

3 1

1 6
2

4
3
1

2 4
5

Scenario: šta se dešava kad dođe do prekida linka između rutera 2 i 4?


Ruteri detektuju da je došlo do prekida linka i šalju informacije svojim susjedima da je došlo do promjene u
topologiji mreže. Ruter 4 šalje informaciju susjedima o novom najkraćem putu do rutera 2.

it. R1 R3 R4 R5 R6
2 3 4 1 4 6 1 3 5 2 4 6 3 5
0 3 5 6 5 3 5 8 5 7 4 4 6 4 6
1 3 5 10 5 7 5 8 5 7 4 8 6 4 6
2 3 7 10 5 7 5 8 7 7 4 8 6 6 6
3 3 7 12 5 9 7 8 7 7 4 10 8 6 6

Napomena: kod rutera 4 i 6 moguće je izabrati i drugo rješenje.

Tabela rutiranja:

Odredište Sljedeći hop


ruter 1 1
ruter 2 self
ruter 3 1
ruter 4 4
ruter 5 5
ruter 6 1

3 1
2

1 6

4
3
3

2 4
5
Zadatak za vježbu

Zadatak. Za mrežu sa slike formirati tabelu rutiranja za ruter B koristeći:


a) Dijkstra algoritam
b) Bellman-Ford algoritam
10
7
A B

2 1
3 4

1 7 E 2 5

4 15
3 4

D C
1
5
Rješenje:
a)
B(0)

A(7) C(5) E(4)

B(0)

A(7) C(5) E(4)

B(0)

A(7) C(5) E(4)

A(7) C(19) D(7)

Kada se desi slučaj da novi put ima istu cijenu kao i prethodni, u suštini je svejedno koji put zadržati, pa
ćemo zadržati prethodno određeni put do rutera A.

B(0)

A(7) C(5) E(4)

D(7)
B(0)

A(7) C(5) E(4)

D(7)
D(10)

B(0)

A(7) C(5) E(4)

D(7)
B(0)

A(7) C(5) E(4)

D(14) D(7)

B(0)

A(7) C(5) E(4)

D(7)
Tabela rutiranja:

Odredište Sljedeći hop


ruter A A
ruter B self
ruter C C
ruter D E
ruter E E

b)
it. R_A R_C R_D R_E
B D E B D E A C E A B C D
0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
1 7 ∞ ∞ 5 ∞ ∞ ∞ ∞ ∞ ∞ 4 ∞ ∞
2 7 ∞ 7 5 ∞ 19 14 10 7 9 4 9 ∞
3 7 8 7 5 8 19 14 10 7 9 4 9 11
4 7 8 7 5 8 19 14 10 7 9 4 9 11

Tabela rutiranja je ista kao u tački a).

You might also like