Roteamento
Roteador default:
Roteador ligado diretamente a um hospedeiro
Roteador da fonte:
Roteador default do hospedeiro de origem
Roteador de destino:
Roteador default do hospedeiro de destino
Objetivo do Roteamento:
eterminar um !bom" caminho entre o roteador da fonte e o roteador de destino para um dado conjunto de roteadores conectados por enlaces.
Abstrao da Rede
Grafo: G = (N,E) N = conjunto de roteadores = { u, v, w, x, y, z } E = conjunto de enlaces ={(u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z)}
.lgoritmo de Roteamento
escentrali,ado:
Roteadores s0 conhecem informa*1es sobre seus vi,inhos e os enlaces para eles Computa*+o iterativa e distribu'da 2roca de informa*1es com os vi,inhos Conhecidos como Algoritmos de Vetores de Distncia
.lgoritmo de
ij7stra:
Calcula caminho de menor custo entre um n0 5fonte6 e todos os outros n0s da rede 8ornece tabela de roteamento para a3uele n0 .lgoritmo iterativo Converg4ncia: .p0s k itera*1es& conhece o caminho de menor custo para k destinos
Algoritmo de "i#$stra
9ota*+o: "%v&:
Custo do caminho de menor custo entre o n0 da fonte e o destino v at) essa itera*+o do algoritmo:
'%v&:
90 antecessor 5predecessor6 a v ao longo do caminho de menor custo atual desde a fonte at) v:
():
;ubconjunto de n0s: v 9< se o caminho de menor custo entre a fonte e v for inequivocamente conhecido;
Algoritmo de "i#$stra
= Incio: > 9< # ?u@ A para todos os n0s v: B se v ) adjacente a u C ent+o 5v6 # c5u&v6 D sen+o 5v6 # E F *oop G $ncontre + () tal 3ue 5H6 ) um m'nimo =I .dicione H a 9< == .tuali,e 5v6 para todo v ad#acente a + e n+o em 9<: => 5v6 # min5 5v6& 5H6 J c5H&v6 6 =A KL novo custo para v ) o custo anterior para v ou o menor =B custo de caminho conhecido para H mais o custo de H a v LK =C at, -ue todos os n.s este#am em ()
o!!! t s u c r Meno
Continuo no conectado a z
Oscila*1es poss'veis:
$%: custo do enlace # 3uantidade de tr(fego transportado
Cada n0 recebe alguma informa*+o de um ou mais vi,inhos ligados a ele& reali,a c(lculos e& em seguida& distribui os resultados para seus vi,inhos. Processo continua at) 3ue mais nenhuma informa*+o seja trocada entre vi,inhos: 9+o re3uer 3ue todos os n0s e%ecutem o algoritmo simultaneamente.
!/emplo: Bellman23ord
/o $ra0o, o%te os dv(z) = 5, dx(z) = +, dw(z) = + 1 e2& de 3ell an.4ord d"z 2ue: du(z) = "n {c(u,v) - dv(z), c(u,x) - dx(z), c(u,w) - dw(z)} = "n {* - 5, ! - +, 5 - +} = 5
6 n7 2ue at"n$e o 8n" o ser9 o pr7x" o salto no ca "n)o ta%ela de rotea ento
a"s curto na
enor custo
= </x(y): y = N >
6 n7 x ta %? seus v"z"n)os
ant?
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2 node x table Dx(z) = min{c(x,y) + cost to cost to Dy(z), c(x,z) + Dz(z)} x y z x y z = min{2+1 , 7+0} = 3 x 0 2 7 y z node y table cost to x y z x 0 2 3 y 2 0 1 z 7 1 0
from
from
y
7
from from
x y z 7 1 0
time
24
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2 cost to x y z x 0 2 3 y 2 0 1 z 7 1 0 cost to x y z x 0 2 7 y 2 0 1 z 7 1 0 cost to x y z x 0 2 7 y 2 0 1 z 3 1 0 cost to x y z x 0 2 3 y 2 0 1 z 3 1 0 cost to x y z x 0 2 3 y 2 0 1 z 3 1 0 cost to x y z
from
from from
from
y
7
from from
from
x y z 7 1 0
x 0 2 3 y 2 0 1 z 3 1 0 time 2
from
from
No te po t0, y detecta a udanCa no custo do enlace, atual"za seu /: e "n0or a seus v"z"n)os& No te po t1, z rece%e a atual"zaCDo de y e atual"za sua ta%ela& Ele calcula o enor custo novo para x e env"a seu /: para os v"z"n)os& No te po t2, y rece%e a atual"zaCDo de z a atual"za sua ta%ela de d"st;nc"a& 6s enores custos de y nDo udara , e entDo y no env"a nen)u a ensa$e para z&
9o tempo tI& N detecta mudan*a no custo do enlace para % 5B para DI6 S calcula novo custo do caminho para %:
N5%6 # min?c5N&%6 J %5%6& c5N&,6 J ,5%6@ # # min?DI J I& = J C@ # D S assume 3ue , proporciona caminho com menor custo& o 3ue n+o ) verdadeT Para chegar a %& N fa, a rota atrav)s de ,& 3ue por sua ve, fa, a rota atrav)s de NTTT
$m t=& , recebe vetor de N& 3ue indica 3ue custo m'nimo para % ) D U calcula novo custo:
,5%6 # min?CI J I& = J D@ # E U informa a S novo vetor de distPncia para N