PRÁTICA DE ENSINO
DE REDES E SISTEMAS
INTERNET
Background em roteamento
Roteiro
• Visão geral de algoritmos de roteamento • Caminho mais curto
• Inundação
• Vetor de distância • Estado de enlace
• Roteamento hierárquico
Algoritmos de Roteamento
•
Função básica
Qual a linha de saída a ser
usada na transmissão do pacote de entrada?
•
Quando esta decisão é tomada?
• Rede de datagramas decisão por pacote!
• Rede de circuitos virtuais quando um circuito é criado!
•
Não confundir roteamento x encaminhamento!
Algoritmos de Roteamento
(a) Uma sub-rede. (b) Uma arvore de escoamento para o roteador B. Figura adaptada de (Tanembaum, 2003).
Algoritmos de Roteamento
•
Representação de rede por meio de um grafo:
• G = <V, A>
onde:
V = conjunto de vértices (um roteador) A = conjunto de arestas (um link - enlace)
• Noção de pesos nas arestas
•
Algoritmos para caminhar em grafos
•
Representação em árvore útil em algumas
Roteamento pelo caminho mais curto
Inundação
• Inundação (flooding)
• Contador de hops no cabeçalho do pacote • Inundação seletiva
• Aplicações: militares, bancos de dados distribuídos, redes
sem fio
• Questões
Roteamento com vetor de distância
• Roteamento dinâmico!
• Os roteadores mantém uma tabela (vetor) com:
• A linha de saída preferencial
• A melhor distância conhecida para cada destino
• Outros nomes: Bellman- Ford e Ford-Fulkerson. É o RIP
da Internet
• Métricas usadas: número de hops, retardo (ms), número
Roteamento com vetor de distância
Roteado r
Novo retardo esperado de J
Vetores recebidos dos 4 vizinhos de J
Nova tabela de
roteamento de J Para Linha
é é é é
Roteamento com vetor de distância
O problema da contagem ate infinito. Figura adaptada de (Tanembaum, 2003).
Inicialmente Inicialmente
Depois de 1 troca Depois de 2
trocas Depois de 3
trocas Depois de 4
trocas
Depois de 1 troca Depois de 2
trocas Depois de 3
trocas Depois de 4
trocas Depois de 5
trocas Depois de 6
Roteamento por estado de enlace
• Tentativa de resolver problema do roteamento por vetor
de distância contagem até o infinito (convergência lenta)
• Muito usado atualmente
Roteamento por estado de enlace
•
Cada roteador deve fazer o seguinte:
1. Descobrir seus vizinhos e aprender seus endereços
de rede.
2. Medir o retardo ou o custo até cada um de seus
vizinhos.
3. Criar um pacote que informe tudo o que ele acabou
de aprender.
4. Enviar esse pacote a todos os outros roteadores. 5. Calcular o caminho mais curto até cada um dos
Conhecendo os vizinhos
•
Enviar pacote especial de HELLO e esperar
resposta!
(a) Nove roteadores e uma LAN. (b) Um modelo de grafo de (a). Figura adaptada de (Tanembaum, 2003).
Como medir o custo da linha
•
Enviar pacote de ECHO e calcular tempo (ida +
volta)/2
Uma sub-rede em que as partes Leste e Oeste estão conectadas por duas linhas. Figura adaptada de (Tanembaum, 2003).
Como criar pacotes de estado de enlace
•
Estrutura de um pacote de estado:
• Identidade do transmissor • Número de seqüência
• Idade
Como criar pacotes de estado de enlace
(a) Uma sub-rede. (b) Os pacotes de estado de enlace correspondentes a essa sub-rede. Figura adaptada de (Tanembaum, 2003).
Pacotes de estado de enlace
enlace
•
Quando criar/distribuir?
• A cada x segundos
• Quando um evento importante ocorre
•
Quando o pacote chega:
• O roteador passa a frente se o seqüencial for novo • Descarta se o seqüencial for antigo
• Campo idade também é usado para descartar pacotes
Como calcular novas rotas?
• Lembre-se!
• O roteamento por estado de enlace é apenas uma
forma de atualizar o estado da rede!
• É necessário usar um algoritmo para calculo das rotas,
como Dijkstra
• Muito usado em redes reais exemplos:
Roteamento hierárquico
• Problemas de roteamento em redes grandes: • Tabelas de roteamento crescem muito
• Maior consumo de memória nos roteadores
• Maior tempo de processamento para percorrer as tabelas
• Mais largura de banda para enviar os relatórios de status
• Solução roteamento hierárquico! • Dividir os roteadores em regiões
Roteamento hierárquico
Roteamento hierárquico. Figura adaptada de (Tanembaum, 2003).
Região 1
Região 2
Região
3 Região 4 Região 5
Tabela Completa de 1A
Roteamento para hosts móveis
•
Modelo de WAN:
• Contém roteadores e hosts (fixos e móveis)
• A WAN conecta LANs, MANs e células sem fios
Agente extern o Agente local Célula sem fio Host móvel LAN externa LAN local
Roteamento para hosts móveis
•
Objetivo de roteamento com hosts móveis:
• Permitir o envio de pacotes de hosts móveis que
estejam usando seus endereços locais
• Fazer os pacotes chegarem de forma eficiente
• Resolver o problema de localizar os hosts móveis
•
Quando um host móvel entra na área remota
precisa se registrar!
Roteamento para hosts móveis
•
Controle dos hosts móveis
–
tipos de agentes:
• Agente externo processos que controlam os hosts que visitam sua área
• Agente local processos que controlam os hosts cuja base se encontram na sua área, mas que no momento estão fora
Roteamento para hosts móveis
• Passo 1:
• Um agente externo envia um pacote anunciando seu endereço - o host móvel recém-chegado pode aguardar uma dessas
mensagens
• Se nenhuma mensagem chegar rápido, o host móvel poderá enviar
(por difusão) uma mensagem: Há algum agente externo por aí?
Roteamento para hosts móveis
• Passo 2:
• O host móvel se registra com o agente externo, fornecendo:
• Seu endereço local
• Algumas informações de segurança.
Agente externo Agente local Célula sem fio Host móvel LAN externa LAN local
Roteamento para hosts móveis
• Passo 3:
• O agente externo entra em contato o agente local do host móvel e
diz: “Um de seus hosts está por aqui”
• A mensagem contém: o endereço de rede do agente externo e as
informações de segurança (para convencer o agente local de que o host móvel está lá)
Roteamento para hosts móveis
• Passo 4:
• O agente local examina as informações de segurança (que contêm hora), para provar que foi gerado há alguns segundos
• Se tudo estiver ok, o agente local diz ao agente externo para
prosseguir.
Agente externo
Agente local Célula
sem fio
Host móvel
LAN externa
Roteamento para hosts móveis
• Passo 5:
• Quando o agente externo obtém a confirmação do agente
local, ele cria uma entrada em suas tabelas e informa ao host móvel que agora ele está registrado.
Agente externo
Agente local Célula
sem fio
Host móvel
LAN externa
Roteamento em redes ad hoc
•
E se os próprios roteadores são moveis?
• Veículos militares em um campo de batalha sem
qualquer infra-estrutura.
• Uma frota de navios no mar.
• Trabalhos de emergência em calamidades que
destroem a infra-estrutura.
• Um grupo de pessoas com notebooks em uma área
que não tem instalações 802.11.
Roteamento em redes ad hoc
(a) Alcance da difusão de A. (b) Depois de B e D receberem a difusão de A. (c)Depois
de C, F e G receberem a difusão de A. (d) Depois de E, H e I receberem a difusão de A. Os nos sombreados são novos destinatários. As setas mostram as rotas inversas possíveis. Figura
adaptada de (Tanembaum, 2003).
PRÁTICA DE ENSINO
DE REDES E SISTEMAS
INTERNET
Background em roteamento