Algoritmos de roteamento


                                                                             Redes de Computado...
Algoritmo dinâmico: vetor de distância                                                                                    ...
Soluções para contagem até o infinito                                                                                     ...
Medida de custo                                                                                                           ...
Comparação                                                                                                                ...
Exemplos: protocolos IRP e ERP na Internet                                                                                ...
Próximos SlideShares
Carregando em…5
×

Aula23

1.478 visualizações

Publicada em

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.478
No SlideShare
0
A partir de incorporações
0
Número de incorporações
15
Ações
Compartilhamentos
0
Downloads
65
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula23

  1. 1. 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
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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

×