introduc˘~ao algoritmos de roteamento roteamento na internetbrivaldo/pdfs/courses/... ·...

63
Introdu¸ ao Algoritmos de Roteamento Roteamento na Internet Redes de Computadores Prof. Brivaldo Junior Universidade Federal de Mato Grosso do Sul [email protected] 20 de julho de 2017 Brivaldo Junior Redes de Computadores

Upload: others

Post on 16-Nov-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Redes de Computadores

Prof. Brivaldo Junior

Universidade Federal de Mato Grosso do Sul

[email protected]

20 de julho de 2017

Brivaldo Junior Redes de Computadores

Page 2: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Visao Geral

1 Introducao

2 Algoritmos de Roteamento

3 Roteamento na Internet

Brivaldo Junior Redes de Computadores

Page 3: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Camada de Rede

transporta segmentos do emissor para o receptor

no lado do emissor encapsula os segmentos em datagramas

no lado do receptor, entrega segmentos para a camada de transporte

camada de protocolos de rede em cada host, roteador

roteador examina os campos do cabecalho de todos os datagramas IP quepassam por ele

Brivaldo Junior Redes de Computadores

Page 4: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Duas Funcoes Chave da Camada de Rede

encaminhamento: movepacotes da entrada de umroteador para a saıdaapropriada do roteadorroteamento: determina a rotaa ser tomada pelos pacotes daorigem para o destino

algoritmos de roteamento

analogia

encaminhamento: processo depegar uma das rotas do caminho

roteamento: processo de planejaruma viagem da origem ao destino

Brivaldo Junior Redes de Computadores

Page 5: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Interacao entre Encaminhamento e Roteamento

Brivaldo Junior Redes de Computadores

Page 6: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Servicos Com e Sem Conexao

rede de datagramas fornece um servico de camada de rede sem conexao

uma rede de circuitos virtuais fornece um servico com conexaode forma analoga aos servicos orientados ou nao a conexao comoTCP/UDP, mas:

servico: host-a-hostsem escolha: a rede fornece um ou outroimplementacao: no core da rede

Brivaldo Junior Redes de Computadores

Page 7: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Circuitos Virtuais

O caminho entre a origem e o destino se comportam como um circuito telefonico

visa performance

necessaria acoes na rede ao longo do caminho entre a origem e o destino

necessita de uma configuracao inicial que ocorre antes que os dados possam trafegar

cada pacote transporta um indentificador VC (nao e o endereco do host destino)

cada roteador no caminho determinado entre a origem e o destino mantem um estado para cada

conexao que esta passando por ele.

enlaces, recursos do roteador (largura de banda, buffers) devem ser alocados para o VC (servicos

dedicados = servicos previsıveis)

Brivaldo Junior Redes de Computadores

Page 8: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Circuitos Virtuais: Implementacao

Um VC (Virtual Circuit) consiste de:

1 caminho da origem ao destino

2 numero do VC, um numero para cada enlace ao longo do caminho

3 entradas nas tabelas de encaminhamento nos roteadores ao longo docaminho

pacotes pertencentes a um VC transportam um numero de VC (ao invesde um endereco de destino)o numero de VC pode mudar em cada enlace

novos numeros de VC vem das tabelas de encaminhamento

Brivaldo Junior Redes de Computadores

Page 9: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Circuitos Virtuais: Tabela de Encaminhamento

Figura: Exemplo de tabela de encaminhamento para R1

Brivaldo Junior Redes de Computadores

Page 10: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Circuitos Virtuais: Protocolos de Sinalizacao

usado para configurar, manter e destruir um VC

usado em ATM, frame-relay, X.25

nao e mais usado na Internet hoje

Brivaldo Junior Redes de Computadores

Page 11: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Rede de Datagramas

nao precisa de uma configuracao inicial na camada de rederoteadores: sem estado sobre a conexao fim-a-fim

sem conceito na camada de rede de “conexao”

pacotes sao encaminhados usando o endereco do host destino

Brivaldo Junior Redes de Computadores

Page 12: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Rede de Datagramas: Tabela de Encaminhamento

Brivaldo Junior Redes de Computadores

Page 13: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Rede de Datagramas: Tabela de Encaminhamento

O que aconteceria se osintevalos nao se dividissem deforma tao comportada?

Brivaldo Junior Redes de Computadores

Page 14: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Longest Prefix Matching

Longest prefix matching: quando estiver olhando a tabela de encaminhamentopara um certo endereco de destino, use o maior prefixo de endereco que casarcom o endereco de destino.

Intervalo de Enderecos Destino Interface11001000 00010111 00010*** ******** 011001000 00010111 00011000 ******** 111001000 00010111 00011*** ******** 2padrao 3

Brivaldo Junior Redes de Computadores

Page 15: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Rede de Datagramas ou VC: por que?

Internet (datagrama)dados trocados entre computadores

servico “elastico”, sem restricao no

tempo de requisicao

varios tipos de enlaces

caracterısticas diferentes de cada um

dificuldade em mantes servicos

uniformes

sistemas finais “inteligentes”

podem se adaptar, realizar controle e

se recuperar de erros

nucleo de rede simples, complexidade

nas bordas

Circuito Virtual

evoluiu da telefoniasimilar a uma conversa humana:

tempo restrito, requisitos deconfiabilidade

sistemas finais “burros”telefonescomplexidade no nucleo da rede

Brivaldo Junior Redes de Computadores

Page 16: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Arquitetura do Roteador

duas funcoes chave dos roteadores:

executar algoritmos/protocolos de roteamento (RIP, OSPF, BGP)

encaminhamento de datagramas do enlace de entrada para o de saıda

Brivaldo Junior Redes de Computadores

Page 17: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Funcoes na Porta de Entrada

comutacao descentralizada

determina o destino do datagrama, olhando a porta de saıda na tabela deencaminhamento na memoria da porta de entrada (“casamento maisacao”)

objetivo: processametno da porta de entrada na “velocidade da linha”

enfileiramento: se os datagramas chegarem mais rapido que a taxa deencaminhamento no elemento de comutacao

Brivaldo Junior Redes de Computadores

Page 18: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Elemento de Comutacao

transfere um pacote do buffer de entrada

para o buffer de saıda apropriado

taxa de comutacao: taxa em que os

pacotes sao transferidos da entrada para

a saıda

geralmente mensurado como um

multiplo da velocidade de

entrada/saıda da linha

N entradas: taxa de comutacao N

vezes a velocidade da linha e

desejavel

tres tipos de elementos de comutacao

Brivaldo Junior Redes de Computadores

Page 19: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Comutacao via Memoriaprimeira geracao de roteadores:

computadores tradicionais com comutacao controlada diretamente pela CPU

o pacote e copiado para a memoria do sistema

velocidade limitada pela largura de banda da memoria (cada datagrama cruza o barramento duas

vezes)

Brivaldo Junior Redes de Computadores

Page 20: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Comutacao via Barramento

datagrama da memoria da porta de entrada para a memoria da porta de saıda via barramento

compartilhado

contencao barramento: velocidade de comutacao limitada pelo barramento

barramento de 32 Gbps do Cisco 5600: velocidade suficiente para acesso e roteadores enterprise

Brivaldo Junior Redes de Computadores

Page 21: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Comutacao por Rede de Interconexao

supera as limitacoes do barramento

redes banyan, barra cruzada, e outros

mecanismos de interconexao de rede

inicialmente desenvolvidos para conectar

processadores em multiprocessadores

design avancado: fragmenta datagramas

em celulas de tamanho fixo, comuta

celulas no elemento de comutacao

Cisco 12000: comuta 60 Gbps por uma

rede de interconexao

Brivaldo Junior Redes de Computadores

Page 22: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Enfileiramento na Porta de Saıda

buffering quando taxa de chegadaao comutador (switch) excede avelocidade da linha de saıda

enfileiramento (atraso) e perda porestouro de buffer na porta desaıda!

Brivaldo Junior Redes de Computadores

Page 23: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Quanto de buffer?

A regra geral da RFC 3439: a media de enfileiramento e igual ao RTT“tıpico” (digamos 250 mseg) vezes a capacidade do enlace C

C = 10 Gbps de enlace, logo: 2, 5 Gbit de buffer

recomendacao mais atual: com N fluxos, o buffer deve ser igual a:

RTT∗C√N

Brivaldo Junior Redes de Computadores

Page 24: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Enfileiramento na Porta de Entrada

elemento de comutacao maislento que as portas de entradacombinadas pode acabarcausando um enfileiramentonas filas de entrada

atraso do enfileiramento e perdapor overflow do buffer

Head-of-the-Line (HOL)blocking: datagramasenfileirados na frente da filapodem evitar que outros semovam para frente

Brivaldo Junior Redes de Computadores

Page 25: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Abstracao em Grafos

grafo G = (N,E), N = roteadores, E = enlaces

N = u, v, w, x, y, z

E = (u, v), (u, x), (v, x), (v, w), (x,w), (x, y), (w, y), (w, z), (y, z)

Brivaldo Junior Redes de Computadores

Page 26: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Abstracao em Grafos: Custos

c(x, x′) = custo do enlace (x, x′),ex.: c(w, z) = 5

custo pode ser sempre 1 ouinversamente proporcional alargura de banda ou inversamenterelacionada ao congestionamento

Pergunta chave: qual e o menor custono caminho entre u e z?

Brivaldo Junior Redes de Computadores

Page 27: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Topologia Abstrata de Rede

Podemos classificar os algoritmos de roteamento como:

algoritmos de roteamento global: calculam o caminho de menor custoentre a origem e o destino usando conhecimento de toda a rede.

algoritmos de roteamento descentralizado: calculam o caminho demenor custo de forma iterativa e de uma maneira distribuıda. Cada nopossui apenas as informacoes dos enlaces conectados a ele.

Brivaldo Junior Redes de Computadores

Page 28: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Topologia Abstrata de Rede

Podemos ainda subclassificar os algoritmos como:

estaticos: quando as rotas mudam muito devagar e dependem deintervencao humana (para editar as tabelas de roteamento).

dinamicos: mudam o roteamento de acordo com a carga da rede oumudanca na topologia (um enlace e rompido ou fica sobrecarregado).

Brivaldo Junior Redes de Computadores

Page 29: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Algoritmo de Estado de Enlace

No algoritmo de estado de enlace, a topologia da rede e todos os custosdos enlaces sao conhecidos e fornecidos como entrada ao algoritmo LS(Link State).

Esse algoritmo de estado de enlace usa o conhecido algoritmo de caminhomınimo criado por Dijkstra que calcula o menor caminho de uma origem ua todos os outros destinos.

Brivaldo Junior Redes de Computadores

Page 30: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Algoritmo do Menor Caminho

Supondo essa topologia, qual o menor caminho de u ate todos os outros destinos?

Brivaldo Junior Redes de Computadores

Page 31: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Algoritmo de Dijkstra

topologia da rede e custos dos enlaces sao conhecidos por todos os nosresolvido com uma inundacao do estado do elancetodos os nos tem a mesma informacao

calcula o menor caminho de um no (origem) para todos os outrosfornecendo uma tabela de encaminhamento para este no

iterativo: apos k iteracoes, conhece o caminho de menor custo para kdestinos

Brivaldo Junior Redes de Computadores

Page 32: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Notacao

Seja a seguinte notacao:

D(v): o menor custo do no de origem ao destino v nesta iteracao.

p(v): no anterior (vizinho de v) ao longo do atual menor caminhopartindo da origem ate v.

N ′: um subconjunto de nos. v esta em N ′ se o menor caminho da origemate v e definitivamente conhecido.

Brivaldo Junior Redes de Computadores

Page 33: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Algoritmo de Estado de Enlace (LS) para o No Fonte u

Brivaldo Junior Redes de Computadores

Page 34: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Algoritmo de Estado de Enlace (LS): passos

Observem que a construcao e passo a passo e o conjunto N ′ vai aumentandoconforme o caminho final e alcancado.

Brivaldo Junior Redes de Computadores

Page 35: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Algoritmo de Estado de Enlace (LS): resultado

Brivaldo Junior Redes de Computadores

Page 36: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Algoritmo Vetor de Distancia

Vamos supor o seguinte cenario inicial entre os roteadores x, y e z:

Brivaldo Junior Redes de Computadores

Page 37: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Algoritmo Vetor de Distancia

Brivaldo Junior Redes de Computadores

Page 38: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Algoritmo Vetor de Distancia

Brivaldo Junior Redes de Computadores

Page 39: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Algoritmo Vetor de Distancia

Brivaldo Junior Redes de Computadores

Page 40: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Algoritmo Vetor de Distancia: Outro Exemplo

Estado inicial das tabelas das redes conectadas a cada roteador.

Brivaldo Junior Redes de Computadores

Page 41: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Algoritmo Vetor de Distancia: Outro Exemplo

Apos a estabilizacao e trocas das informacoes entre os vizinhos.

Brivaldo Junior Redes de Computadores

Page 42: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Algoritmo Vetor de Distancia

quando o custo do enlace muda:

no detecta que um enlace local mudou de custo

e feita uma atualizacao das informacoes de roteamento e o vetor dedistancia e recalculado

se o vetor de distancia mudar, notifique os vizinhos

“Boas notıcias correm rapido”

Brivaldo Junior Redes de Computadores

Page 43: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Algoritmo Vetor de Distancia

quando o custo do enlace muda:

neste caso, o algoritmo precisou de 44 iteracoes para estabilizar (veja olivro texto)

como as “mas notıcias” demoram para propagar, isso pode levar a umproblema de contagem infinito!

envenenamento reverso: se z tem rota para x por y, entao z informa yque a distancia para x e infinita (logo, y, nao vai tentar alcancar x por z)

“Mas notıcias correm devagar”

Brivaldo Junior Redes de Computadores

Page 44: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Comparacao dos Algoritmos de LS e DV

complexidade da mensagem:LS: n nos, E enlaces, O(nE) mensagens

enviadas

DV: troca mensagens entre os vizinhos

apenas (tempo de convergencia varia)

velocidade de convergencia:LS: algoritmo O(n2) precisa de O(nE)

mensagens

DV: tempo de convergencia varia, pode

ter lacos no roteamento e tem problemas

com contagem infinita

robustez: o que acontece se um roteador tiver

problemas de funcionamento?

LS:

no pode publicar custos de enlaces errados

cada no calcula apenas a sua tabela

DV:

nos podem publicar custos incorretos de

caminhos

cada tabela dos nos e usada pelos outros

(erros sao propagados)

Brivaldo Junior Redes de Computadores

Page 45: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Roteamento Hierarquico

nosso estudo de roteamento ate agora (idealizacao)

todos os roteadores sao identicos

a rede e “plana”

...nao e verdade na pratica

escalabilidade: mais de 600 milhoes de

destinos

impossıvel armazenar todas as tabelas de

roteamento de destino

trocas de tabelas de roteamento

inundariam os enlaces!

autonomia administrativa

Internet = rede de redes

cada administrador de rede vai querer

controlar o roteamento na sua propria rede

Brivaldo Junior Redes de Computadores

Page 46: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Roteamento Hierarquico

agrega roteadores em regioes,“sistemas autonomos” (AS)roteadores na mesma ASexecutam o mesmo protocolode roteamento

protocolo de roteamento“intra-AS”roteadores em direfentes ASpodem executar diferentesprotocolos de roteamentointra-AS

roteador interno:

na “borda” da sua propria AS

tem enlace para roteadores emoutras AS

Brivaldo Junior Redes de Computadores

Page 47: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Roteamento Intra-AS

tambem conhecido como protocolos de roteadores internos (IGP)protocolos de roteamento intra-AS mais comuns:

RIP: Routing Information ProtocolOSPF: Open Shortest Path FirstIGRP: Interior Gateway Routing Protocol (proprietario da Cisco)

Brivaldo Junior Redes de Computadores

Page 48: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

RIP (Routing Information Protocol)

incluıdo na distribuicaoBSD-UNIX em 1982algoritmo de vetor de distancia

metrica de distancia: #hops(maximo = 15 hops), cadaenlace com custo 1DVs trocadas com os vizinhos acada 30 segundos em resposta amensagens (anuncios)cada anuncio: lista com ate 25subredes de destino(enderecamento IP)

Brivaldo Junior Redes de Computadores

Page 49: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

RIP: exemplo

E a tabela de D:

Brivaldo Junior Redes de Computadores

Page 50: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

RIP: falha no enlace e recuperacao

se nenhum anuncio for recebido dentro de 180 segundos, um vizinho/enlace edeclarado como morto

rotas por esse vizinho sao invalidadas

novos anuncios enviados aos vizinhos

vizinhos da vez enviam novos anuncios (se suas tabelas tiverem mudado)

informacoes de falha no enlace se propagam rapidamente (?) por toda arede

o envenenamento reverso e usado para prevenir os lacos ping-pong(distancia infinita = 16 saltos)

Brivaldo Junior Redes de Computadores

Page 51: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

RIP: processamento da tabela

as tabelas de roteamento do RIP sao gerenciadas por processo na camadade aplicacao por um daemon chamado route-d

anuncios sao enviados por pacotes UDP e repetidos periodicamente

Brivaldo Junior Redes de Computadores

Page 52: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Exercıcio: RIP

Seja a figura a seguir. Suponha que cada no conheca os custos de cada um deseus vizinhos. Usando o algoritmo de vetor de distancia mostre a tabela deregistros para o no z.

Brivaldo Junior Redes de Computadores

Page 53: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Exercıcio: RIP

Estado Inicial:

Estado Final:

Brivaldo Junior Redes de Computadores

Page 54: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

OSPF: Open Shortest Path First

disponıvel publicamente (RFC 2328)usa o algoritmo de estado de enlace

dissemina pacotes LS (link state) por “inundacao”cada no constroi um mapa topologico de todo o sistemausa o algoritmo de Dijkstra para computar as rotas

O anuncio do OSPF transporta uma entrada por vizinhoanuncios sao inundados para todo o AS

mensagens OSPF sao transportadas diretamente pelo IP (ao inves de TCP ou UDP)

O protocolo de roteamento IS-IS e praticamente identico ao OSPF

Brivaldo Junior Redes de Computadores

Page 55: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Comunicacao por Inundacao

O processo de “inundacao” ocorre como na topologia da figura abaixo:

Brivaldo Junior Redes de Computadores

Page 56: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

OSPF: funcionamento do algoritmo

Na pratica, cada switch cacula sua tabela de roteamento diretamenteusando os dados coletados pelo pacotes LS usando uma versao doalgoritmo de Dijkstra chamada de algoritmo de busca encaminhada(forward search).

Alem disso, ele mantem duas listas conhecidas como Tentativa eConfirmado. Cada uma dessas listas possui um conjunto de entradas naforma (Destino, Custo, ProximoHop).

Brivaldo Junior Redes de Computadores

Page 57: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

OSPF: funcionamento do algoritmo

1 Inicialize a lista de Confirmados apenas com o no de origem com custo 0

2 Para cada no adicionado a lista de Confirmados no passo anterior, faca uma busca aos vizinhos

(chamados de Next)

3 Para cada vizinho de Next, calcule o custo (Cost) para chegar a esse vizinho como o seu custo

mais o custo para chegar ao vizinho.

1 Se o vizinho nao estiver nem na lista de Confirmados nem na de Tentativas, adicione uma

entrada (Vizinho, Custo, ProximoHop) a lista de Tentativas.

2 Se o vizinho estiver na lista de Tentativas e o seu Custo for menor do que o custo atual listado

para o vizinho, substitua a entrada atual por uma nova com (Vizinho, Custo, ProximoHop)

com o novo caminho.

4 Se a lista de Tentativas esta vazia, pare, caso contrario, selecione a entrada na lista de Tentativas

com menor custo e mova para a lista de Confirmados e volte a passo 2.

Brivaldo Junior Redes de Computadores

Page 58: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

OSPF: exemplo de execucao

Brivaldo Junior Redes de Computadores

Page 59: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

OSPF: funcionalidades avancadas (nao tem no RIP)

seguranca: todas as mensagens do OSPF sao autenticadas (o que prefineuma intrusao maliciosa)

varios caminhos com mesmo custo sao permitidos (somente um caminhono RIP)

para cada enlace, multiplas metricas de custo para diferentes TOS (Typeof Service) (ex.: enlace de satelite define melhor esforco para “baixo” etempo real para alto)suporte integrado a unicast e multicast:

OSPF Multicast (MOSPF) usa a mesma topologia base que o OSPF

Hierarquia do OSPF em grandes domınios.

Brivaldo Junior Redes de Computadores

Page 60: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Hierarquia do OSPF

Brivaldo Junior Redes de Computadores

Page 61: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Hierarquia do OSPF

hierarquia de dois nıveis: redes locais, backboneanuncios do estado do enlace somente na area localcada no tem informacoes detalhadas da topologia da area local; so conhece adirecao (menor caminho) para redes em outras areas.

roteador de borda de area: “sumariza” a distancia das redes dentro dapropria area e anuncıa para os outros roteadores de Area de Borda.

roteador do backbone: executa o roteamento OSPF limitando-se aobackbone.

roteadores de borda: conecta com outros AS’s.

Brivaldo Junior Redes de Computadores

Page 62: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Exercıcio: OSPF

Dada a rede fornecida na figura a seguir, mostre como o algoritmo de estadode enlace (link-state constroi a tabela de roteamento para o no D.

Brivaldo Junior Redes de Computadores

Page 63: Introduc˘~ao Algoritmos de Roteamento Roteamento na Internetbrivaldo/pdfs/courses/... · Roteamento na Internet Duas Fun˘c~oes Chave da Camada de Rede encaminhamento: move pacotes

IntroducaoAlgoritmos de Roteamento

Roteamento na Internet

Perguntas ?

Brivaldo Junior Redes de Computadores