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
• Algo que “ainda” não discutimos como interligar 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
• 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
• A camada de rede transporta pacotes da origem até o
destino, podendo passar por vários roteadores (hops)!
Roteadores
Empresas de
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 • O roteamento encontra rotas, o encaminhamento diz qual é o próximo
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 9Destino Próximo
B R3
C R2
... ...
Destino Próximo
B R2
C R2
... ...
Host C
R2
R1 R3
Circtuitos 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
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!
•
Os algoritmos podem ser adaptativos ou
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
• 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)
• 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
• 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: 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
• Tentativa de resolver 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
• Campo idade também é usado para descartar pacotes
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
• 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.
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 um por um ou inundação • Melhoria algoritmo de roteamento para vários
destinos:
• Copia para uma linha apenas os pacotes com melhor
caminho para aquela linha
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