260 likes | 351 Views
Redes de computadores: Camada de rede(2). Prof. Dr. Amine BERQIA bamine@ualg.pt http://w3.ualg.pt/~bamine/. Formato datagrama IPv4. bit. 0. 4. 8. 16. 19. 24. 31. Tipo deServiço. Comprimento total. VERS. HLEN. Identificação. Flags. Offset de fragmento. Time to Live.
E N D
Redes de computadores: Camada de rede(2) Prof. Dr. Amine BERQIA bamine@ualg.pt http://w3.ualg.pt/~bamine/
Formato datagrama IPv4 bit 0 4 8 16 19 24 31 Tipo deServiço Comprimento total VERS HLEN Identificação Flags Offset de fragmento Time to Live Tipo Checksum de cabeçalho Endereço IP origem Endereço IP Destino Opções de IP (pode ser omitido) Padding DADOS
Datagramas IP • Pode-se atrasar • Duplicado • Entregue fora de ordem • Perdido • Pode mudar rotas de pacote para pacote • Sem conexão
IPv6(1) Motivação: • Vamos ficar sem Classes B disponíveis (dentro de anos). • Eventualmente todo o espaço de endereçamento de 32 bits irá esgotar. Embora 32 bits representa 4 bilhões nos, o routing hierárquico não distribui endereços uniformemente. • Simplesmente não sabemos escalonar encaminhamentos para além de algumas dezenas de milhares de redes. Assim, aumentando o tamanho dos endereços IP resolve os problemas 1 e 2, mas não ajuda com o problema de escalonamento.
IPv6(3) • Este é um problema de engenharia no sentido que distribuir actualizações de rotas, calcular novas tabelas de routing, e guardar todas as rotas consome recursos de processador e memória. • Podemos faze-lo para 10,000 redes, talvez até mesmo 100,000, mas não para 1,000,000. Encontrar o equilíbrio certo entre estes custos é difícil. • A necessidade de mais endereços dá-nos uma oportunidade para melhorar em outros aspectos de actual IP (IPv4). • Repare no cabeçalho da Figura anterior, e a utilização do espaço de endereçamento. • Durante o período de transição, serão incluídos endereços de IPv4 em endereços de IPv6.
Transição De IPv4 Para IPv6 • Durante a transição, nem todos os routers serão actualizados para IPv6; Como irá a rede funcionar? • Duas aproximações propostas: Dual Stack e Tunneling • Dual Stack: • Alguns routers com pilha dupla (v6, v4); outros são só routers de v4 • Routers de pilha dupla traduzem o pacote a para um pacote v4 se o próximo router for só v4 • DNS pode ser usado para determinar se um router é pilha dupla ou não • Serão perdidas algumas informações e características de v6 se um pacote tiver que passar por qualquer router v4
Encaminhamento IP • Executado por routers • Baseado em tabelas • Encaminha numa base de pulo-por-pulo (hop-by-hop) • Endereço de destino é utilizado para determinação da rota
Sumário Routing/Forwarding • Retira cabeçalhos da camada 2 • Extrai o campo de endereço de destino, D, • Procura D na tabela de encaminhamento • Procura próximo endereço de salto, N, • Envia datagrama para N • Adiciona cabeçalhos da camada 2
Exemplo duma tabela de Routing IP • Tabela (b) é para router do centro (a)
O Conceito O endereço de destino num cabeçalho dum datagram refere-se sempre ao último destino. Quando um router remeter o datagrama a outro router, o endereço do próximo salto não aparece no cabeçalho do datagrama.
Requisitos dum Protocolo de Routing • Tamanho de tabela de encaminhamento eficiente • Mensagens de controlo de encaminhamento eficientes • Robustez e fiabilidade • prevenir loops • evite buracos negros • tempo de reconvergência é curto
Fonte de Informação da tabela de Rotas • Manual • Tabela criada à mão • Útil em redes pequenas • Útil se rotas nunca mudam • Automático • tabelas criada/actualizada por software • Necessário em redes grandes • Altera rotas de quando ocorrem falhas
Calcule Caminho melhor/mais curto • Métrica Possível • distância geográfica • custo económico • capacidade
Algoritmos para Calcular Caminho mais Curto • Distance Vector • Troca que tabelas de routing com routers vizinhos • por exemplo, RIP, RIPv2 • Estado de ligação • Routers trocam informação do estado de ligação • por exemplo, OSPF
Distance Vector • Routers anunciam periodicamente e aprendem sobre redes IP • Custo da rota está baseado em saltos até à rede (número de routers para passar) • Quando acontece falhas de ligações cálculos são feitos de novo
Problema de Contagem Infinita • O que acontece quando a ligação 1 < - >5 falha? • Será que 5 pensa que pode chegar lá através do 2?
Resolver o Problema de Contagem Infinita • Esperar • Espere por um período de tempo antes de trocar caminhos. Anunciar rota valida com custo infinito. Baseado em temporizadores. • Informar o caminho completo • Garante que não há loops, mas caro. • Horizonte dividido (split horizon) • Não anuncie rotas a vizinhos se a rota foi recebida daquele vizinho. Não é à prova de falha.
Outras Melhorias de Distance Vector • Actualizações despelotadas • Anuncia mudanças assim que as aprende. Pode ajudar a melhorar tempo de convergência. Pode criar instabilidade de encaminhamentos por agitar rotas. • Poison Reverse • Usado com Split Horizon. Anuncia custo infinito no lugar de nada. • Algoritmo de Actualização difusa (DUAL) • Parecido ao Esperar, mas routers são informados de caminhos quebrados. Complexo. Não popular.
Estado de ligação • Routers distribuem informação de custo de ligação e de topologia para todos os outros routers na sua área. • Todos os routers têm informação completa sobre a rede. • Cada router calcula o seu próprio caminho óptimo para os destinos. • Assegura ambientes livres de loops.