REDES E SISTEMAS
INTERNET
Camada de Rede
Roteiro
• Revisão
• Introdução
• Roteamento
• QoS
Revisão
• Paramos aqui...
Protocolo da camada 5
Protocolo da camada 4
Protocolo da camada 3
Protocolo da camada 2
Máquina de origem Máquina de destino
Revisão
• Estamos aqui...
Protocolo da camada 5
Protocolo da camada 4
Protocolo da camada 3
Protocolo da camada 2
Máquina de origem Máquina de destino
Introdução
• São usados vários elementos para interligação de redes em camadas diferentes!
Gateway de aplicação
Gateway de transporte
Roteador
Switch
Hub
Camada de aplicação
Camada de transporte
Camada de rede
Camada de enlace
Introdução
• Integração de várias LANs...
Switch Hub 1
Introdução
• Topologia física x topologia lógica conceito de VLANs
A/V A
A
A
A
V
V
V
V
A V V V
Introdução
• A camada de rede transporta pacotes da origem até o destino, podendo passar por vários roteadores (hops)!
Roteadores
Introdução
• Quais são os tipos de serviços que a camada de rede oferece?
• Funções:
• Roteamento e encaminhamento de pacotes.
• Controle de congestionamento.
• Controle de QoS.
Serviços oferecidos pela camada de rede
• O que é exatamente roteamento?
• Roteamento é o processo de encontrar boas rotas para que os pacotes trafeguem na rede.
• Uma rota é composta pela sequência de roteadores que o pacote precisa passar para chegar no destino
• Encaminhamento é o processo de pesquisar em uma tabela de roteamento e enviar o pacote para o próximo roteador da lista
Serviços oferecidos pela camada de rede
• Suponha que você quer ir de Recife até Caruaru:
• Roteamento ir no Google Maps e descobrir a melhor sequência de cidades.
• Encaminhamento com o mapa em mãos você pode se
Serviços oferecidos pela camada de rede
• Comutação de pacotes store-and-forward:
• Transmissão de 7 pacotes de A para B
1 2
3
4
5
6 7
Pacotes
Host A
Serviços oferecidos pela camada de rede
• A camada 3 pode oferecer dois tipos de serviços:
• Orientado a conexões conceito de circuito virtual.
• Antes de começar uma transmissão de vários pacotes é estabelecido um caminho completo da origem ao destino.
• O roteamento ocorre antes de qualquer envio de pacote.
• Não orientado a conexões conceito de datagramas.
• Uma transmissão de A para B com vários pacotes pode percorrer caminhos diferentes!
Serviço de datagramas
• Serviços sem conexões (datagramas):
Serviço de datagramas
1 2 3 4 5 6 7 Host A Host B 8 9 Destino Próximo B R3 C R2 ... ... Destino Próximo B R2 C R2 ... ... Host C R2 R1 R3Circtuitos virtuais x datagramas
Questão Sub-rede de datagramas Sub-rede de circuito virtual (CV)
Configuração de circuitos
Desnecessária Obrigatória
Endereçamento Cada pacote contém os endereços
de origem e destino completos Cada pacote contém um número de CV curto Informações sobre o
estado
Os roteadores não armazenam informações sobre o estado
Cada CV requer espaço adicional por conexão
Roteamento Cada pacote é roteado
independentemente
A rota é escolhida quando o CV é estabelecido
Efeito de falhas no roteador
Nenhum, com exceção dos
pacotes perdidos durante a falha
Todos os CV que passaram pelo roteador com falha serão
encerrados
QoS Difícil Fácil
O aplicativo ping
• Usa o protocolo ICMP para avaliar a conectividade entre equipamentos na rede
• É possível usar para identificar se um roteador ou mesmo um site está ativo, por exemplo
• Está disponível em todos os sistemas operacionais
• Exemplo de sintaxe básica para Windows:
O comando O destino
Prática de ping
• VISÃO GERAL:
• Usar o utilitário ping para determinar a alcançabilidade de um conjunto de computadores.
• PROCEDIMENTO E DETALHES:
1. Determine como executar o programa ping no seu computador local. 2. Encontre uma página de help que lista as flags e argumentos para o
programa ping.
3. Para determinar que o programa ping está funcionando, execute-o com o
argumento localhost; o programa deverá retornar que localhost está ativo.
4. Escolha pelo menos dois sites bem conhecido, como www.google.com e
www.facebook.com para determinar se estes sites estão acessíveis.
5. Use um site de busca para encontrar um domínio registrado em outro país
e execute o ping neste domínio. Qual é o maior round-trip que você consegue obter? Exemplo: teste o ping em algum site como o
O aplicativo tracert
• Ferramenta de diagnóstico que rastreia a rota de um pacote em uma rede IP
• Também disponível em vários SOs
• É baseado no campo TTL do protocolo IP
• O aplicativo tenta enviar o pacote para o destino usando um tempo máximo cada vez maior para saber até onde chega o pacote
• Exemplo de sintaxe no Windows:
O comando
O destino
Prática de tracert
• VISÃO GERAL:
• Usar o utilitário traceroute para determinar quais são os roteadores intermediários entre um conjunto de computadores.
• PROCEDIMENTO E DETALHES:
1. Determine como executar o programa traceroute no seu computador local
(alguns sistemas fornecem um aplicativo com o nome tracert).
2. Encontre uma página de help que lista as flags e argumentos para o
programa traceroute.
3. Para determinar que o programa traceroute está funcionando, execute-o
com o argumento localhost; o programa deverá retornar que localhost é alcançado em apenas 1 salto.
4. Escolha pelo menos dois sites bem conhecido, como www.google.com e
www.facebook.com para determinar quais são os roteadores intermediários entre o seu computador e o servidor destes domínios. Há roteadores em comum entre as rotas dos sites escolhidos?
5. Use um site de busca para encontrar um domínio registrado em outro país
e execute o traceroute neste domínio. Qual é o site com o maior número de saltos que você consegue descobrir? Exemplo: teste o traceroute em algum site como o www.jjapan.jp e compare a rota com a obtida para
Atividades práticas complementares
• Sobre ping:
1. Encontre uma sintaxe do programa ping que permita enviar
pacotes de testes repetidamente e faça o ping no site remoto 100 vezes.
2. Crie um relatório do número de pacotes perdidos como um
percentual do total de pacotes enviados.
• Sobre tracert:
1. Execute o programa traceroute para os mesmos sites usados
acima usando a sua conexão com a Internet em casa.
2. Compare as rotas descobertas na UFRPE e na sua casa e
Roteamento
•
Pergunta básica
Qual a linha de saída a ser
usada para cada destino?
•
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!
Roteamento
•
Divisão básica:
• Algoritmos para roteamento estático (não-adaptativos)
• Roteamento pelo caminho mais curto • Inundação
• Algoritmos para roteamento dinâmico (adaptativos)
• Roteamento com vetor de distância • Roteamento por estado do enlace
• Outros conceitos importantes:
• Algoritmos de roteamento hierárquico; por difusão; por multidifusão; para hosts móveis; em redes ad hoc
Roteamento: caminho mais curto
Roteamento: inundação
• Inundação (flooding)
Roteamento: 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: vetor de distância
• Faz 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
Roteamento: vetor de distância
(a) Uma sub-rede. (b) Entrada de A, I, H, K e a nova tabela de roteamento para J.
Roteador
Novo retardo esperado de J
Vetores recebidos dos 4 vizinhos de J
Nova tabela de roteamento
de J
Para Linha
Roteamento: vetor de distância
O problema da contagem ate infinito.
Inicialmente Inicialmente
Depois de 1 troca Depois de 2 trocas Depois de 3 trocas Depois de 4 trocas
Roteamento: estado de enlace
• Proposto para resolver o problema do roteamento por vetor de distância
• contagem até o infinito (convergência lenta)
• Muito usado atualmente
• OSPF usa este procedimento.
Roteamento: 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
Roteamento: estado de enlace
•
Estrutura de um pacote de estado:
• Identidade do transmissor
• Número de sequência
• Idade
Roteamento: estado de enlace
•
Criação de pacotes de estado:
(a) Uma sub-rede. (b) Os pacotes de estado de enlace correspondentes a essa sub-rede.
Pacotes de estado de enlace
Roteamento: estado de enlace
•
Quando criar/distribuir?
• A cada x segundos
• Quando um evento importante ocorre
•
Quando o pacote chega:
• O roteador passa a frente se o sequencial for novo
• Descarta se o sequencial for antigo
Roteamento: estado de enlace
• 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
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.
Região 1 Região 2
Região 3 Região 4 Região 5
Tabela Completa de 1A Tabela Hierárquica de 1A
Nada é de graça
Roteamento por difusão
• Necessidade de enviar pacotes para toda a rede em um ambiente ponto-a-ponto
• Exemplos: envio de relatórios com informações sobre o
tempo, cotações de ações, rádio
• Busca de métodos que não desperdicem largura de banda
• Duas opções óbvias: enviar individualmente ou fazer flooding (inundação)
• Melhoria algoritmo de roteamento para vários destinos:
• Copia para uma linha apenas os pacotes com melhor
caminho para aquela linha
• Depois de alguns hops cada linha conterá no pacote apenas
Roteamento por difusão
Encaminhamento pelo caminho inverso. (a) Uma sub-rede. (b) Uma árvore de escoamento. (c) A árvore construída por encaminhamento pelo caminho inverso.
Roteamento por multidifusão
•
Necessidade de enviar pacotes para um
subgrupo de toda a rede
•
Usar difusão?
• Exemplo: envio de pacotes para 1000 hosts de uma rede com 1 milhão de nós
• Ineficiente usar difusão neste caso!
•
Gerenciamento de grupos
• Permitir criar e destruir grupos
Roteamento por multidifusão
(a) Uma rede. (b) Uma árvore de amplitude correspondente ao roteador mais à esquerda. (c) Uma árvore de multidifusão correspondente ao grupo 1. (d) Uma
REDES E SISTEMAS
INTERNET
Camada de Rede