Post on 13-Jan-2016
description
Redes de computadores: Redes de computadores: Camada de rede(2) Camada de rede(2)
Prof. Dr. Amine BERQIAProf. Dr. Amine BERQIA
bamine@ualg.pt bamine@ualg.pt
http://w3.ualg.pt/~bamine/http://w3.ualg.pt/~bamine/
Formato datagrama IPv4Formato datagrama IPv4
0
24 8
16 31
Tipo deServiço Comprimento total
Identificação Offset de fragmento
Endereço IP origem
Endereço IP Destino
Opções de IP (pode ser omitido)
4 VERS HLEN
19
Flags
Time to Live Tipo Checksum de cabeçalho
Padding
DADOS
bit
Datagramas IPDatagramas IP
Pode-se atrasar Duplicado Entregue fora de ordem Perdido Pode mudar rotas de pacote para pacote Sem conexão
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(1) IPv6(1)
IPv6(2) IPv6(2)
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.
IPv6(3) IPv6(3)
Transição De IPv4 Para Transição De IPv4 Para IPv6 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 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 Sumário Routing/Forwarding 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
Operações Básicas de Operações Básicas de Routing (1)Routing (1)
A.344321
A.243483
B.294923
B.564002
D.33984
D.901834
C.458732
C.886202
RouterD.1
A.1 B.1
C.1
Basic Routing
Operações Básicas de Operações Básicas de Routing (2)Routing (2)
Netw ork
A
B
Interface
0
1
C 2
D 3
Routing Table
Netw ork.Host
A.34
A.24
Layer 2
4321
3483
B.29 4923
B.56 4002
Layer 2 <--> Layer 3 Table
C.45 8732
C.88 6202
D.3 3948
D.90 1834
3012 JIP A8732 34 C 45 Data FCS
A 34 C 45 Data
4321 JIP A2398 34 C 45 Data FCS
From C.45 to A.34C.45 know s that A.34 isn't on the same net and sends it to router at C.1Note DA for layer 2
Inside the router the Layer 2 headers and trailers are removed leaving only thelayer 3 packet.The router looks up the packet's DA in the routing table and forw ards to theappropriate interface.
At the interface, layer 2 headers and trailers are added back.DA is the address of the destination host.SA is the address of the router.FCS is recalculated.
Operações Basicas de Operações Basicas de Routing (3)Routing (3)
Routing de TCP/IP Routing de TCP/IP
140.192.10.50060CA23BE45
140.192.10.250060CA34CD29
140.192.100.340060CA4AD2EE
140.192.100.80060CAAABBCC
140.192.201.220060CA3499CC
140.192.201.1260060CA3499DE
140.192.34.340060CA114499
140.192.34.350060CA7819AA
Router140.192.201.1
00C0C1AA3410
140.192.10.100C0C1AA3411
140.192.100.100C0C1AA3412
140.192.34.100C0C1AA3413
IP Routing
Routing TCP/IP (2) Routing TCP/IP (2)
Netw ork
140.192.10.0
140.192.100.0
Interface
0
1
140.192.201.0 2
140.192.34.0 3
Routing Table
Netw ork.Host
140.192.10.5
140.192.10.25
Layer 2
0060CA23BE45
0060CA34CD29
140.192.100.34 0060CA4AD2EE
140.192.100.8 0060CAAABBCC
Layer 2 <--> Layer 3 TableARP Table
140.192.201.22 0060CA3499CC
140.192.201.126 0060CA3499DE
140.192.34.34 0060CA114499
140.192.34.35 0060CA7819AA
TCP/IP Routing(3) TCP/IP Routing(3)
From 140.192.34.34 to 140.192.10.5140.192.34.34 know s that 140.192.10.5 isn't on the same net and sends it to router at 140.192.34.1Note DA for layer 2
Inside the router the Layer 2 headers and trailers are removed leaving only thelayer 3 packet.The router looks up the packet's DA in the routing table and forw ards to theappropriate interface.
At the interface, layer 2 headers and trailers are added back.DA is the address of the destination host.SA is the address of the router.FCS is recalculated.
00C0C1AA3413 IP 140.192.10.50060CA114499 Data FCS140.192.34.34
140.192.10.5 Data140.192.34.34
0060CA23BE45 IP 140.192.10.500C0C1AA3411 Data FCS140.192.34.34
Exemplo duma tabela de Exemplo duma tabela de Routing IPRouting IP
Tabela (b) é para router do centro (a)
O Conceito 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 Requisitos dum Protocolo de Routingde 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 Fonte de Informação da tabela de Rotas 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 Calcule Caminho melhor/mais curto melhor/mais curto
Métrica Possível• distância geográfica • custo económico • capacidade
Algoritmos para Calcular Algoritmos para Calcular Caminho mais Curto 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 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 Problema de Contagem Infinita 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 Resolver o Problema de Contagem Infinita 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 Outras Melhorias de Distance Vector 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 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.