Anda di halaman 1dari 6

Algoritmos de roteamento

Redes de Computadores ! Um rede é modelada através de um grafo direcionado onde os nós


Instituto de Informática - UFRGS

representam roteadores e as arestas ligações entre estes


! Cada aresta é caracterizada por um custo
Algoritmos de roteamento ! O custo de um caminho é a soma dos custos das arestas deste caminho
! Algoritmo de roteamento deve encontrar o menor caminho
! São derivados da teoria dos grafos

Instituto de Informática - UFRGS


! Algoritmos
! Estáticos: caminho mais curto
! Dinâmicos: vetor de distância (distance vector) , estado de enlace (link state)

A. Carissimi -19-nov-09
Aula 23
Redes de Computadores 2

Princípio da otimização de uma rota Algoritmo estático: caminho mais curto

! “Se o roteador J está no caminho ótimo do Roteador I para K, então ! Mais simples
a rota ótima de I para J e de J para K também estão contidos nesta ! Considera uma topologia da rede (fixa)
mesma rota” ! Matriz de conexões, nó i é conectado ao nó j a um custo c
Rik ! O custo associado a um arco pode ter várias interpretações
! e.g.: número de saltos (hops), menor atraso, largura de banda, etc...
! Consiste basicamente em encontrar uma seqüência de nós a serem
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS

I J K
percorridos para “ir” de um nó i a um nó j
R1 R2 ! Algoritmo global, isto é, se tem o conhecimento completo do grafo
! Calculado de forma centralizada e distribuída para os roteadores
A. Carissimi -19-nov-09

A. Carissimi -19-nov-09

R1
I J
R2
K ! Vários algoritmos da teoria de grafos
! Mais conhecido é o Algoritmo de Dijkstra (1959)

Redes de Computadores 3 Redes de Computadores 4


Algoritmo dinâmico: vetor de distância Algoritmo Bellman-Ford

! Algoritmo local, i.e., não tem visão global da rede ! Cada nó x mantém um vetor de:
! Cada roteador contém uma tabela, indexada por roteador, que ! Custo para seus vizinhos imediatos (Cx)
possui: ! Custo c que estima a distância de x até v ( Cx(v) custo de x a v )
! Linha de saída (next-hop ou próximo salto) para atingir o destino ! Cada nó é responsável por estimar a distância a seus vizinhos imediatos
! Uma métrica de custo (“distância”) até o destino ! Rx (d, (c, r) ): o próximo roteador r para atingir d a um custo c
! Rota selecionada é aquela que possui a menor “distância” ! Periodicamente os nós trocam o vetor Cx com seus vizinhos, e com
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS


! Algoritmo “fofoqueiro”: roteadores aprendem informações de outros base nas informações contidas avaliam Dx e Rx:
roteadores a partir de terceiros (seus vizinhos imediatos)
Dx(d, v ) = Cx(v) + Cv(d)
! Bellman-Ford e Ford-Fulkerson
A. Carissimi -19-nov-09

A. Carissimi -19-nov-09
Rx (d, (c, r)) → d é o destino final
! São algoritmos distribuídos c é o custo para atingir d via r
r = v onde c é o minimo[ Cx(v) + Cv(d)]

Redes de Computadores 5 Redes de Computadores 6

Exemplo: roteamento por vetor de distância Problema: contagem até infinito


7
B F
2 2 3 3 ! Exemplo:
2
A D E H ! Métrica é a distância entre nós ( 1 entre todos)
6 1 2 2 ! “A” está inativo, se torna ativo e novamente passa a inativo
4 G Tabela de
C
Roteamento E
CE(v) CD (d) CF (d) CG (d) DE(d,v) D F G Dst custo, via

D 2 A 4 A 9 A 9 A 6 12 11 A 6,D
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS

F 3 B 2 B 7 B 7 B 4 10 9 B 4,D

G 2 C 1 C 9 C 4 C 3 12 6 C 3,D
D 0 D 9 D 5
Custo do D 2 12 7 D 2,D
enlace E 2 E 3 E 2
E - - - E -,-
A. Carissimi -19-nov-09

A. Carissimi -19-nov-09

F 9 F 0 F 5
F 11 3 7 F 3,F
G 5 G 5 G 0
G 7 8 2 G 2,G
H 7 H 4 H 2
H 9 7 4 H 4,G
Vetores de distância
vizinhos imediatos
CE(D)+CD (d) CE(F)+CF(d) CE(G)+CG (d)
Redes de Computadores 7 Redes de Computadores 8
Soluções para contagem até o infinito Algoritmo: Estado de enlace

! Horizonte dividido ! Um nó informa apenas atualizações das redes que ele é


! Não envia informação na direção (interface) em que a rota foi aprendida diretamente responsável
! Não funciona na presença de laços envolvendo mais de três roteadores ! Informa sempre a origem dos dados, ou seja, se identifica
! Inversão envenenada ! Nó repassa aos vizinhos as atualizações que recebe
! Responde a todas direções (interfaces) porém, para aquela em que ! Ao receber informações de todos os nós, monta o grafo e calcula o
“aprendeu” a informação divulga a rota com distância “infinita” menor caminho (algoritmo de Dijkstra)
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS


! Definir “um valor” para infinito ! Considerando que todos os nós recebem as mesmas mensagens e executam
! Definição de um limite para ser considerado como o “infinito” o mesmo algoritmo, eles “enxergam” a mesma rede
! e.g.: protocolo RIP emprega 16 (diâmetro da rede) ! Algoritmo global
A. Carissimi -19-nov-09

A. Carissimi -19-nov-09
Origem do problema:
Quando um nó X informa a Y que tem caminho para um nó Z, Y
não tem como saber se ele próprio está no caminho.

Redes de Computadores 9 Redes de Computadores 10

Roteamento por estado de enlace Descoberta dos vizinhos

! Baseado em 5 passos realizado em cada nó i (Roteador) ! Envio no momento de boot de um pacote especial (HELLO) a todas
! Descoberta dos vizinhos interfaces de redes. Em resposta a um HELLO o nó recebe a
! Medição do custo para atingir seus vizinhos diretos identificação de seu vizinho
! Construção de tabela de distância (custo) a seus vizinhos ! Nomes únicos
! Divulgação das informações aos vizinhos
! Avaliação do menor caminho (Dijkstra)
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS

! Como realizar cada um destes 5 passos? G

HELLO
E F
A. Carissimi -19-nov-09

A. Carissimi -19-nov-09

F
F
H

Redes de Computadores 11 Redes de Computadores 12


Medida de custo Construção de tabela de custo

! Através de pacotes especias (ECHO/REPLY) ! Cada roteador constrói um vetor com as informações que obteve
! Tempo de ida e volta → round trip-time (RTT) durante a medida de custo
! Latência = RTT/2 ! Quando esses pacotes devem ser construídos?
! Possível considerar “carga” considerando como início do tempo de ! Periodicamente
envio de um pacote de ECHO o momento em que ele é inserido em ! Na ocorrência de eventos considerados importantes
uma fila de transmissão
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS


! Pode provocar problemas de oscilações
A. Carissimi -19-nov-09

A. Carissimi -19-nov-09
Redes de Computadores 13 Redes de Computadores 14

Divulgação de informações Avaliação do menor caminho

! Enviar informações através de flooding ! Após receber informações dos vizinhos um roteador constrói dois
! Problema é que nós podem ter visões diferentes da topologia grafos (um para cada direção)
! Os primeiros a receber as informações já podem usá-las ! Emprego do algoritmo de Dijkstra
! Melhorias: ! Resultado é armazenado em tabelas internas de roteamento
! Número de seqüência: saber se uma informação é nova ou não
! Método atualmente bastante difundido
! Se novo, é considerado e reenviado para as saídas, senão, é descartado
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS

! Idade: dupla função


! Eliminar pacotes de laços de roteamento
! Dizer por quanto tempo aquela informação deve ser armazenada no nó
! e.g.: decrementar esse valor uma vez por segundo, ao chegar em
A. Carissimi -19-nov-09

A. Carissimi -19-nov-09

zero, “limpa” a entrada referente ao nó

Redes de Computadores 15 Redes de Computadores 16


Comparação Problemas com protocolos

Vetor de distância Estado de enlace ! “Enxergam” a rede como um conjunto de roteadores homogêneos
Cada nó envia informações para seus Cada nó envia informações para todos os (executando o mesmo algoritmo), o que é simplista
vizinhos imediatos. outros nós. ! Problema de escalabilidade
! Aumento da tabela implica em maior banda passante ocupada para troca de
A informação enviado é o custo A informação enviada é o custo do nó
tabelas, memória e processamento para cálculo das rotas
(estimado) para todos os nós . para cada um de seus vizinhos imediatos.
! Problema administrativo
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS


A informação é enviada periodicamente. A informação é enviada sempre que uma
! Necessidade de independência de organizações
troca ocorrer na rede.

Um nó determina o next-hop usando o Um nó constrói a topologia completa da


A. Carissimi -19-nov-09

A. Carissimi -19-nov-09
algoritmo distribuído (e.g. Bellman-Ford) rede (segundo sua visão) e usa um
sobre os custos recebidos. algoritmo qualquer de caminho mínimo
entre dois pontos.

Redes de Computadores 17 Redes de Computadores 18

Sistemas autônomos (autonomous systems - AS) Exemplo de emprego de IRP e ERP

! Resolvem o problema de escalabilidade e de administração


agrupando roteadores por regiões
! Roteadores dentro de um AS executam o mesmo protocolo de
roteamento
! Protocolo de roteamento interior (Interior Router Protocol - IRP)
! Gerenciado por uma organização (autonomia administrativa)
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS

! Necessidade de interconectar AS entre si


! Um ou mais roteadores executam essa função
! Roteadores de borda (gateways routers)
A. Carissimi -19-nov-09

A. Carissimi -19-nov-09

! Executam um mesmo protocolo


! Protocolo de roteamento exterior (Exterior Router Protocol - ERP)

Redes de Computadores 19 Redes de Computadores 20


Exemplos: protocolos IRP e ERP na Internet Leituras complementares

! Interior Router Protocol (IRP) ! Stallings, W. Data and Computer Communications (6th edition),
! RIP (v1 e v2), OSPF, IGRP. Prentice Hall 1999.
! Exterior Router Protocol (ERP) ! Capítulo 10, seção 10.2 e anexo 10.A
! BGP (Border Gateway Protocol) ! Capítulo 16, seção 16.1
! Tanenbaum, A. Redes de Computadores (4a edição), Campus2003.
! Usam um algoritmo diferente dos visto até agora,o path-vector ! Capítulo 5, seções 5.2.2, 5.2.4, 5.2.5 e 5.2.6
Instituto de Informática - UFRGS

Instituto de Informática - UFRGS


routing, onde não há informação de custo ! Carissimi, A.; Rochol, J; Granville, L.Z; Redes de Computadores.
! Mais detalhes na disciplina de protocolos!! Série Livros Didáticos. Bookman 2009.
! Capítulo 5, seções 5.2.3, 5.2.4 e 5.3
A. Carissimi -19-nov-09

A. Carissimi -19-nov-09
Redes de Computadores 21 Redes de Computadores 22

Anda mungkin juga menyukai