SlideShare uma empresa Scribd logo
1 de 137
4: Camada de Rede 4a-1
Chapter 4
Network Layer
Computer Networking:
A Top Down Approach
Featuring the Internet,
2nd edition.
Jim Kurose, Keith Ross
Addison-Wesley, July
2002.
A note on the use of these ppt slides:
We’re making these slides freely available to all (faculty, students, readers).
They’re in powerpoint form so you can add, modify, and delete slides
(including this one) and slide content to suit your needs. They obviously
represent a lot of work on our part. In return for use, we only ask the
following:
 If you use these slides (e.g., in a class) in substantially unaltered form,
that you mention their source (after all, we’d like people to use our book!)
 If you post any slides in substantially unaltered form on a www site, that
you note that they are adapted from (or perhaps identical to) our slides, and
note our copyright of this material.
Thanks and enjoy! JFK/KWR
All material copyright 1996-2002
J.F Kurose and K.W. Ross, All Rights Reserved
4: Camada de Rede 4a-2
Capítulo 4: Camada de Rede
Metas do capítulo:
entender os princípios em que se
fundamentam os serviços de rede:
roteamento (seleção de caminhos)
escalabilidade
como funciona um roteador
tópicos avançados: IPv6, mobilidade
instanciação e implementação na
Internet
4: Camada de Rede 4a-3
Capítulo 4: Camada de Rede
(Estrutura do Capítulo na 3ª edição)
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-4
Capítulo 4: Camada de Rede
(Diferenças em relação à 1ª edição)
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
[antiga 4.6]
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6 [antiga 4.7]
 4.5 Algoritmos de
roteamento [antigas
4.2 e 4.3]
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet [antiga 4.5]
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
[antiga 4.8]
4: Camada de Rede 4a-5
Capítulo 4: Camada de Rede
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-6
Camada de rede
 transporta segmentos da
estação remetente à receptora
 no lado remetente, encapsula
segmentos dentro de
datagramas
 no lado receptor, entrega os
segmentos para a camada de
transporte
 protocolos da camada de rede
em todos os sistemas finais e
roteadores
 roteadores examinam campos de
cabeçalho de todos os
datagramas IP que passam por
eles
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
aplicação
transporte
rede
enlace
física
aplicação
transporte
rede
enlace
física
4: Camada de Rede 4a-7
Funções principais da camada de
rede
 encaminhamento: move
pacotes de uma
entrada do roteador
para a saída
apropriada
 roteamento:
determina a rota a ser
seguida pelos pacotes
da fonte até o destino
 Algoritmos de
roteamento
analogia:
 roteamento: processo
de planejar uma
viagem da origem até
o destino
 encaminhamento:
processo de
atravessar uma
encruzilhada durante
a viagem
4: Camada de Rede 4a-8
1
2
3
0111
valor no cabeçalho
do pacote que está
chegando
Algoritmo de
roteamento
tabela encaminhamento local
valor cabeçalho link saída
0100
0101
0111
1001
3
2
2
1
Relacionamento entre roteamento e
encaminhamento
4: Camada de Rede 4a-9
Estabelecimento de conexão
 3ª função importante em algumas
arquiteturas de rede:
 ATM, frame relay, X.25
 Antes dos datagramas fluírem, dois hosts e
roteadores intermediários estabelecem
uma conexão virtual
 Roteadores são envolvidos
 Serviço de conexão das camadas de
transporte e de rede:
 Rede: entre dois hosts
 Transporte: entre dois processos
4: Camada de Rede 4a-10
Modelo de serviço de rede
Q: Qual é o modelo de serviço para o “canal” que
transporta pacotes do remetente ao receptor?
Exemplos de serviços
para datagramas
individuais:
 Entrega garantida
 Entrega garantida com
atraso menor que 40
mseg
Exemplos de serviços
para fluxos de
datagramas:
 Entrega ordenada
 Banda mínima
garantida para o fluxo
 Restrições quanto a
alterações no
espaçamento entre os
pacotes
4: Camada de Rede 4a-11
Modelos de serviço da camada de rede:
Arquitetura
de Rede
Internet
ATM
ATM
ATM
ATM
Modelo de
serviço
melhor
esforço
CBR
VBR
ABR
UBR
Banda
nenhuma
taxa
constante
taxa
garantida
mínima
garantida
nenhuma
Perdas
não
sim
sim
não
não
Ordem
não
sim
sim
sim
sim
Tempo
não
sim
sim
não
não
Informa s/
congestion.?
não (inferido
via perdas)
sem
congestion.
sem
congestion.
sim
não
Garantias ?
4: Camada de Rede 4a-12
Capítulo 4: Camada de Rede
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-13
Serviços da camada de rede
com e sem conexão
 Rede datagrama provê um serviço de
camada de rede não orientado a conexões
 Rede CV provê um serviço de camada de
rede orientado a conexões
 Análogos aos serviços da camada de
transporte, mas:
 Serviço: host-a-host
 Sem escolha: rede provê ou um ou o outro
 Implementação: no núcleo da rede
4: Camada de Rede 4a-14
Circuitos virtuais
 estabelecimento de cada chamada antes do envio dos
dados
 cada pacote tem ident. de CV (e não endereços
origem/dest)
 cada roteador no caminho da-origem-ao-destino
mantém “estado” para cada conexão que o atravessa
 recursos de enlace, roteador (banda, buffers) podem
ser alocados ao CV
“caminho da-origem-ao-destino se comporta como um
circuito telefônico”
 em termos de desempenho
 em ações da rede ao longo do caminho da-origem-ao-destino
4: Camada de Rede 4a-15
Implementação de CV
Um CV consiste de:
1. Caminho da origem para o destino
2. Números (identificadores) de CV, um número
para cada enlace ao longo do caminho
3. Entradas nas tabelas de encaminhamento dos
roteadores ao longo do caminho
 Pacote que pertence a um CV carrega o
número do CV
 Número do CV deve ser trocado a cada
enlace
 Novo número do CV vem da tabela de
encaminhamento
4: Camada de Rede 4a-16
Tabela de encaminhamento
12 22 32
1
2
3
Número do CV
número da
interface
Interface de entrada # CV de entrada Interface de saída # CV de saída
1 12 3 22
2 63 1 18
3 7 2 17
1 97 3 87
… … … …
Tabela de encaminhamento
no roteador noroeste:
Roteadores mantêm informação sobre o estado da
conexão!
4: Camada de Rede 4a-17
Circuitos virtuais:
protocolos de sinalização
 usados para estabelecer, manter, destruir CV
 usados em ATM, frame-relay, X.25
 não usados na Internet de hoje
aplicação
transporte
rede
enlace
física
aplicação
transporte
rede
enlace
física
1. inicia chamada 2. chegada de chamada
3. chamada aceita
4. conexão completa
5. começa fluxo de dados 6. dados recebidos
4: Camada de Rede 4a-18
Rede de datagramas: o modelo da
Internet
 não requer estabelecimento de chamada na camada de rede
 roteadores: não guardam estado sobre conexões fim a fim
 não existe o conceito de “conexão” na camada de rede
 pacotes são roteados tipicamente usando endereços de destino
 2 pacotes entre o mesmo par origem-destino podem seguir
caminhos diferentes
aplicação
transporte
rede
enlace
física
aplicação
transporte
rede
enlace
física
1. envia dados 2. recebe dados
4: Camada de Rede 4a-19
Tabela de
encaminhamento
Faixa de Endereços de Destino Interface de Saída
11001000 00010111 00010000 00000000
a 0
11001000 00010111 00010111 11111111
11001000 00010111 00011000 00000000
a 1
11001000 00010111 00011000 11111111
11001000 00010111 00011001 00000000
a 2
11001000 00010111 00011111 11111111
caso contrário 3
4 bilhões de
entradas possíveis
4: Camada de Rede 4a-20
Casamento com o prefixo mais
longo
Casamento com o prefixo Interface de Saída
11001000 00010111 00010 0
11001000 00010111 00011000 1
11001000 00010111 00011 2
caso contrário 3
ED: 11001000 00010111 00011000 10101010
Exemplos
ED: 11001000 00010111 00010110 10100001 Qual interface?
Qual interface?
4: Camada de Rede 4a-21
Rede de datagramas ou CVs: por quê?
Internet
 troca de dados entre
computadores
 serviço “elástico”, sem
reqs. temporais estritos
 sistemas terminais
“inteligentes” (computadores)
 podem se adaptar, exercer
controle, recuperar de
erros
 núcleo da rede simples,
complexidade na “borda”
 muitos tipos de enlaces
 características diferentes
 serviço uniforme difícil
ATM
 evoluiu da telefonia
 conversação humana:
 temporização estrita,
requisitos de
confiabilidade
 requer serviço
garantido
 sistemas terminais “burros”
 telefones
 complexidade dentro da
rede
4: Camada de Rede 4a-22
Capítulo 4: Camada de Rede
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-23
Sumário de Arquitetura de Roteadores
Duas funções chave de roteadores:
 usam algoritmos/protocolos de roteamento
(RIP, OSPF, BGP)
 comutam datagramas do enlace de entrada para a saída
4: Camada de Rede 4a-24
Funções da Porta de Entrada
Comutação descentralizada:
 dado o dest. do datagrama, procura porta
de saída usando tab. de rotas na memória
da porta de entrada
 meta: completar processamento da porta
de entrada na ‘velocidade da linha’
 filas: se datagramas chegam mais rápido
que taxa de re-envio para matriz de
comutação
Camada física:
recepção de bits
Camada de enlace:
p.ex., Ethernet
veja capítulo 5
4: Camada de Rede 4a-25
Três tipos de matriz de comutação
4: Camada de Rede 4a-26
Comutação via Memória
Roteadores da primeira geração:
 pacote copiado pelo processador (único) do sistema
 velocidade limitada pela largura de banda da
memória (2 travessias do barramento por datagrama)
Porta de
Entrada
Porta de
Saída
Memória
Barramento do Sistema
Roteadores modernos:
 processador da porta de entrada consulta tabela,
copia para a memória
 Cisco Catalyst 8500
4: Camada de Rede 4a-27
Comutação via
Barramento
 datagrama da memória da porta de
entrada à memória da porta de saída
via um barramento compartilhado
 contenção pelo barramento: taxa de
comutação limitada pela largura de
banda do barramento
 Barramento de 1 Gbps, Cisco 1900:
velocidade suficiente para
roteadores de acesso e corporativos
(mas não regionais ou de backbone)
4: Camada de Rede 4a-28
Comutação via uma Rede de
Interconexão
 supera limitações de banda dos barramentos
 Redes Banyan, outras redes de interconexão
desenvolvidas inicialmente para interligar
processadores num multiprocessador
 Projeto avançado: fragmentar datagrama em
células de tamanho fixo, comutar células através
da matriz de comutação.
 Cisco 12000: comuta N Gbps pela rede de
interconexão.
4: Camada de Rede 4a-29
Porta de Saída
 Buffers necessários quando datagramas chegam da
matriz de comutação mais rapidamente que a taxa de
transmissão
 Disciplina de escalonamento escolhe um dos
datagramas enfileirados para transmissão
4: Camada de Rede 4a-30
Filas na Porta de Saída
 usa buffers quando taxa de chegada através do
comutador excede taxa de transmissão de saída
 enfileiramento (retardo), e perdas devidas ao
transbordo do buffer da porta de saída!
4: Camada de Rede 4a-31
Filas na Porta de Entrada
 Se matriz de comutação for mais lenta do que a soma
das portas de entrada juntas -> pode haver filas nas
portas de entrada
 Bloqueio cabeça-de-linha : datagrama na cabeça da
fila impede outros na mesma fila de avançarem
 retardo de enfileiramento e perdas devido ao
transbordo do buffer de entrada!
4: Camada de Rede 4a-32
Capítulo 4: Camada de Rede
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-33
A Camada de Rede na Internet
Tabela de
encam.
Funções da camada de rede em estações, roteadores:
Protocolos de rot.
•seleção de rotas
•RIP, OSPF, BGP
protocolo IP
•convenções de endereços
•formato do datagrama
•convenções de manuseio do pct
protocolo ICMP
•relata erros
•“sinalização” de roteadores
Camada de transporte: TCP, UDP
Camada de enlace
Camada física
Camada
de rede
4: Camada de Rede 4a-34
Capítulo 4: Camada de Rede
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-35
Formato do datagrama IP
ver comprimento
32 bits
dados
(comprimento variável,
tipicamente um segmento
TCP ou UDP)
ident. 16-bits
checksum
Internet
sobre-
vida
endereço IP de origem 32 bits
número da versão
do protocolo IP
comprimento do
cabeçalho (bytes)
número máximo
de enlaces restantes
(decrementado a
cada roteador)
para
fragmentação/
remontagem
comprimento total
do datagrama
(bytes)
protocolo da camada
superior ao qual
entregar os dados
comp.
cab
tipo de
serviço
“tipo” dos dados (DS)
bits
início do
fragmento
camada
superior
endereço IP de destino 32 bits
Opções (se tiver) p.ex. marca de
tempo,
registrar rota
seguida, especificar
lista de roteadores
a visitar.
Quanto overhead
com o TCP?
 20 bytes do TCP
 20 bytes do IP
 = 40 bytes +
overhead cam. aplic.
4: Camada de Rede 4a-36
IP: Fragmentação & Remontagem
 cada enlace de rede tem MTU
(max.transmission unit) -
maior tamanho possível de
quadro neste enlace.
 tipos diferentes de enlace
têm MTUs diferentes
 datagrama IP muito grande
dividido (“fragmentado”)
dentro da rede
 um datagrama vira vários
datagramas
 “remontado” apenas no
destino final
 bits do cabeçalho IP
usados para identificar,
ordenar fragmentos
relacionados
fragmentação:
entrada: um datagrama
grande
saída: 3 datagramas
menores
remontagem
4: Camada de Rede 4a-37
IP: Fragmentação & Remontagem
ID
=x
início
=0
bit_frag
=0
compr
=4000
ID
=x
início
=0
bit_frag
=1
compr
=1500
ID
=x
início
=185
bit_frag
=1
compr
=1500
ID
=x
início
=370
bit_frag
=0
compr
=1040
um datagrama grande vira
vários datagramas menores
Exemplo
 Datagrama de
4000 bytes
 MTU = 1500 bytes
1480 bytes de
dados
início =
1480/8
4: Camada de Rede 4a-38
Capítulo 4: Camada de Rede
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-39
Endereçamento IP: introdução
 endereço IP: ident.
de 32-bits para
interface de estação,
roteador
 interface: conexão
entre estação,
roteador e enlace
físico
 roteador típico tem
múltiplas interfaces
 estação pode ter
múltiplas interfaces
 endereço IP associado
à interface, não à
estação ou roteador
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2
223.1.3.1
223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 1
1
4: Camada de Rede 4a-40
Sub-redes
 endereço IP:
 parte de rede (bits de
mais alta ordem)
 parte de estação (bits
de mais baixa ordem)
 O que é uma subrede
IP? (da perspectiva do
endereço IP)
 interfaces de
dispositivos com a
mesma parte de rede
nos seus endereços IP
 podem alcançar um ao
outro sem passar por
um roteador
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2
223.1.3.1
223.1.3.27
Esta rede consiste de 3 redes IP
LAN
4: Camada de Rede 4a-41
Sub-redes 223.1.1.0/24
223.1.2.0/24
223.1.3.0/24
Máscara da
sub-rede: /24
Receita
 desassociar cada
interface do seu
roteador, estação
 criar “ilhas” de redes
isoladas
 cada rede isolada é
uma sub-rede
4: Camada de Rede 4a-42
Sub-redes
Quantas sub-redes? 223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.2
223.1.2.1
223.1.2.6
223.1.3.2
223.1.3.1
223.1.3.27
223.1.1.2
223.1.7.1
223.1.7.2
223.1.8.2
223.1.8.1
223.1.9.1
223.1.9.2
4: Camada de Rede 4a-43
parte de
estação
Endereçamento IP: CIDR
CIDR: Classless InterDomain Routing
 parte de rede do endereço de comprimento
arbitrário
 formato de endereço: a.b.c.d/x, onde x é no. de
bits na parte de rede do endereço
11001000 00010111 00010000 00000000
parte
de rede
200.23.16.0/23
4: Camada de Rede 4a-44
Endereços IP: como conseguir um?
Q: Como o host obtém um endereço IP?
codificado pelo administrador num arquivo
Windows: Painel de controle->Rede-
>Configuração>tcp/ip->propriedades
UNIX: /etc/rc.config
DHCP: Dynamic Host Configuration Protocol:
obtém endereço dinamicamente de um servidor
“plug-and-play”
(mais no próximo capítulo)
4: Camada de Rede 4a-45
Endereços IP: como conseguir um?
Bloco do 11001000 00010111 00010000 00000000 200.23.16.0/20
provedor
Organização 0 11001000 00010111 00010000 00000000 200.23.16.0/23
Organização 1 11001000 00010111 00010010 00000000 200.23.18.0/23
Organização 2 11001000 00010111 00010100 00000000 200.23.20.0/23
... ….. …. ….
Organização 7 11001000 00010111 00011110 00000000 200.23.30.0/23
Q: Como a rede obtém a parte de rede do
endereço IP?
A: Recebe uma porção do espaço de endereços
do seu ISP
4: Camada de Rede 4a-46
Endereçamento hierárquico:
agregação de rotas
“mande-me qq coisa
com endereços que
começam com
200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Provedor A
Organização 0
Organização 7
Internet
Organização n 1
Provedor B
“mande-me qq coisa
com endereços que
começam com
199.31.0.0/16”
200.23.20.0/23
Organização 2
.
.
.
.
.
.
Endereçamento hierárquico permite anunciar
eficientemente informação sobre rotas:
4: Camada de Rede 4a-47
Endereçamento hierárquico: rotas
mais específicas
Provedor B tem uma rota mais específica para a Organização 1
“mande-me qq coisa
com endereços que
começam com
200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Provedor A
Organização 0
Organização 7
Internet
Organização 1
Provedor B
“mande-me qq coisa
com endereços que
começam com 199.31.0.0/16
ou 200.23.18.0/23”
200.23.20.0/23
Organização 2
.
.
.
.
.
.
4: Camada de Rede 4a-48
Endereçamento IP: a última palavra...
P: Como um provedor IP consegue um bloco de
endereços?
A: ICANN: Internet Corporation for Assigned
Names and Numbers
 aloca endereços
 gerencia DNS
 aloca nomes de domínio, resolve disputas
(no Brasil, estas funções foram delegadas ao
NIC.br pelo Comitê Gestor Internet BR –
www.cg.org.br)
4: Camada de Rede 4a-49
NAT: Network Address Translation
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
138.76.29.7
rede local
(e.x., rede caseira)
10.0.0/24
resto da
Internet
Datagramas com origem ou
destino nesta rede usam
endereços 10.0.0/24 para
origem e destino (como usual)
Todos os datagramas deixando a
rede local têm o mesmo único
endereço IP NAT origem:
138.76.29.7, e diferentes
números de porta origem
4: Camada de Rede 4a-50
NAT: Network Address Translation
 Motivação: a rede local usa apenas um endereço IP, no
que concerne ao mundo exterior:
 não há necessidade de alocar faixas de endereços do
ISP:
• apenas um endereço IP é usado para todos os dispositivos
 pode modificar endereços de dispositivos na rede
local sem notificar o mundo exterior
 pode trocar de ISP sem mudar os endereços dos
dispositivos na rede local
 dispositivos dentro da rede local não são
explicitamente endereçáveis, i.e., visíveis do mundo
exterior (um incremento de segurança)
4: Camada de Rede 4a-51
NAT: Network Address Translation
Implementação: um roteador NAT deve:
 datagramas saindo: trocar (IP origem, # porta ) de
cada datagrama saindo para (IP NAT, novo # porta)
. . . clientes/servidores remotos vão responder
usando (IP NAT, novo # porta) como endereço destino.
 lembrar (na tabela de tradução NAT) cada par de
tradução (IP origem, # porta ) para (IP NAT, novo #
porta)
 datagramas entrando: trocar (IP NAT, novo # porta)
nos campos de destino de cada datagrama entrando
para o (IP origem, # porta) correspondente
armazenado na tabela NAT
4: Camada de Rede 4a-52
NAT: Network Address Translation
10.0.0.1
10.0.0.2
10.0.0.3
O: 10.0.0.1, 3345
D: 128.119.40.186, 80
1
10.0.0.4
138.76.29.7
1: host 10.0.0.1
envia datagrama p/
128.119.40.186, 80
Tabela de tradução NAT
end. lado WAN end. lado LAN
138.76.29.7, 5001 10.0.0.1, 3345
…… ……
O: 128.119.40.186, 80
D: 10.0.0.1, 3345
4
O: 138.76.29.7, 5001
D: 128.119.40.186, 80
2
2: roteador NAT
muda end. origem
do datagrama de
10.0.0.1, 3345 p/
138.76.29.7, 5001,
e atualiza tabela
O: 128.119.40.186, 80
D: 138.76.29.7, 5001 3
3: Resposta chega
p/ end. destino:
138.76.29.7, 5001
4: roteador NAT
muda end. destino
do datagrama de
138.76.29.7, 5001 p/ 10.0.0.1, 3345
4: Camada de Rede 4a-53
NAT: Network Address Translation
 campo do número de porta com 16-bits:
 60.000 conexões simultâneas com um único
endereço no lado WAN!
 NAT é controverso:
 roteadores deveriam processar somente até a
camada 3
 viola o argumento fim-a-fim
• possibilidade do uso de NAT deve ser levado em conta
pelos projetistas de aplicações (p.e., P2P)
 escassez de endereços, por outro lado, deveria
ser resolvida com o IPv6
4: Camada de Rede 4a-54
Capítulo 4: Camada de Rede
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-55
ICMP: Internet Control Message Protocol
 usado por estações,
roteadores para comunicar
informação s/ camada de rede
 relatar erros: estação,
rede, porta, protocolo
inalcançáveis
 pedido/resposta de eco
(usado por ping)
 camada de rede “acima de” IP:
 msgs ICMP transportadas
em datagramas IP
 mensagem ICMP: tipo, código
mais primeiros 8 bytes do
datagrama IP causando erro
Tipo Código descrição
0 0 resposta de eco (ping)
3 0 rede dest. inalcançável
3 1 estação dest. inalcançável
3 2 protocolo dest. inalcançável
3 3 porta dest. inalcançável
3 6 rede dest. desconhecida
3 7 estação dest. desconhecida
4 0 abaixar fonte (controle de
congestionamento - ñ usado)
8 0 pedido eco (ping)
9 0 anúncio de rota
10 0 descobrir roteador
11 0 TTL (sobrevida) expirada
12 0 erro de cabeçalho IP
4: Camada de Rede 4a-56
Traceroute e ICMP
 Origem envia uma série de
segmentos UDP para o
destino
 Primeiro tem TTL =1
 Segundo tem TTL=2, etc.
 Número de porta
improvável
 Quando n-ésimo datagrama
chega ao n-ésimo roteador:
 Roteador descarta
datagrama
 Envia p/ origem uma
mensagem ICMP (tipo 11,
código 0)
 Mensagem inclui nome e
endereço IP do roteador
 Quando a mensagem ICMP
chega, origem calcula RTT
 Traceroute faz isto 3
vezes
Critério de parada
 Segmento UDP
eventualmente chega à
estação destino
 Destino retorna pacote
ICMP “porta inalcançável”
(tipo 3, código 3)
 Quando origem recebe este
pacote ICMP, pára.
4: Camada de Rede 4a-57
Capítulo 4: Camada de Rede
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-58
IPv6
 Motivação inicial: espaço de endereços de 32-
bits em breve completamente alocado.
 Motivação adicional:
 formato do cabeçalho facilita acelerar
processamento/re-encaminhamento
 mudanças no cabeçalho para facilitar QoS
 novo endereço “anycast”: rota para o “melhor” de
vários servidores replicados
 formato do datagrama IPv6:
 cabeçalho de tamanho fixo de 40 bytes
 não admite fragmentação
4: Camada de Rede 4a-59
Cabeçalho IPv6
Prioridade: identifica prioridade entre datagramas no fluxo
Rótulo do Fluxo: identifica datagramas no mesmo “fluxo”
(conceito de “fluxo” mal definido).
Próximo cabeçalho: identifica protocolo da camada superior
para os dados
4: Camada de Rede 4a-60
Outras mudanças em relação ao
IPv4
 Checksum: removido completamente para
reduzir tempo de processamento a cada
roteador
 Opções: permitidas, porém fora do
cabeçalho, indicadas pelo campo “Próximo
Cabeçalho”
 ICMPv6: versão nova de ICMP
 tipos adicionais de mensagens, p.ex. “Pacote
Muito Grande”
 funções de gerenciamento de grupo multiponto
4: Camada de Rede 4a-61
Transição de IPv4 para IPv6
 Nem todos os roteadores podem ser
atualizados simultaneamente
 “dias de mudança geral” inviáveis
 Como a rede pode funcionar com uma mistura de
roteadores IPv4 e IPv6?
 Tunelamento: datagramas IPv6 carregados
em datagramas IPv4 entre roteadores IPv4
4: Camada de Rede 4a-62
Tunelamento
IPv6 dentro de IPv4 quando necessário
4: Camada de Rede 4a-63
Capítulo 4: Camada de Rede
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-64
1
2
3
0111
valor no cabeçalho
do pacote que está
chegando
Algoritmo de
roteamento
tabela encaminhamento local
valor cabeçalho link saída
0100
0101
0111
1001
3
2
2
1
Relacionamento entre roteamento e
encaminhamento
4: Camada de Rede 4a-65
u
y
x
w
v
z
2
2
1
3
1
1
2
5
3
5
Grafo: G = (N,E)
N = conj. de roteadores = { u, v, w, x, y, z }
E = conj. de enlaces ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }
Abstraindo com grafos
Comentário: a abstração com grafos é útil em outros contextos da rede
Exemplo: P2P, onde N é o conj. dos pares e E é o conj. das conexões TCP
4: Camada de Rede 4a-66
Abstraindo com grafos: custos
u
y
x
w
v
z
2
2
1
3
1
1
2
5
3
5 • c(x,x’) = custo do enlace (x,x’)
- p.e., c(w,z) = 5
• custo poderia também ser 1, ou
inversamente relacionado à banda,
ou inversamente relacionado ao
congestionamento
Custo do caminho (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)
Q: Qual o caminho de menor custo entre u e z?
Algoritmo de roteamento: algoritmo que encontra o
caminho de menor custo
4: Camada de Rede 4a-67
Classificação de Algoritmos de
Roteamento
Informação global ou
descentralizada?
Global:
 todos roteadores têm info.
completa de topologia, custos
dos enlaces
 algoritmos “estado de enlaces”
Decentralizada:
 roteador conhece vizinhos
diretos e custos até eles
 processo iterativo de cálculo,
troca de info. com vizinhos
 algoritmos “vetor de distâncias”
Estático ou dinâmico?
Estático:
 rotas mudam lentamente
com o tempo
Dinâmico:
 rotas mudam mais
rapidamente
 atualização periódica
 em resposta a
mudanças nos custos
dos enlaces
4: Camada de Rede 4a-68
Capítulo 4: Camada de Rede
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-69
Um algoritmo de roteamento de
“estado de enlaces” (EE)
Algoritmo de Dijkstra
 topologia da rede, custos dos
enlaces conhecidos por todos os
nós
 realizado através de “difusão
do estado dos enlaces”
 todos os nós têm mesma info.
 calcula caminhos de menor custo
de um nó (“origem”) para todos os
demais
 gera tabela de rotas para
aquele nó
 iterativo: depois de k iterações,
sabemos menor custo p/ k
destinos
Notação:
 c(i,j): custo do enlace do nó
i ao nó j. custo é infinito se
não forem vizinhos diretos
 D(V): valor corrente do
custo do caminho da origem
ao destino V
 p(V): nó antecessor no
caminho da origem ao nó V,
imediatamente antes de V
 N’: conjunto de nós cujo
caminho de menor custo já
foi determinado
4: Camada de Rede 4a-70
O algoritmo de Dijkstra
1 Inicialização:
2 N’ = {u}
3 para todos os nós v
4 se v for adjacente ao nó u
5 então D(v) = c(u,v)
6 senão D(v) = ∞
7
8 Repete
9 determina w não contido em N’ tal que D(w) é o mínimo
10 adiciona w ao conjunto N’
11 atualiza D(v) para todo v adjacente ao nó w e ainda não em N’:
12 D(v) = min( D(v), D(w) + c(w,v) )
13 /* novo custo ao nó v ou é o custo velho a v ou o custo do
14 menor caminho ao nó w, mais o custo de w a v */
15 até que todos nós estejam em N’
4: Camada de Rede 4a-71
Algoritmo de Dijkstra: exemplo
Step
0
1
2
3
4
5
N'
u
ux
uxy
uxyv
uxyvw
uxyvwz
D(v),p(v)
2,u
2,u
2,u
D(w),p(w)
5,u
4,x
3,y
3,y
D(x),p(x)
1,u
D(y),p(y)
∞
2,x
D(z),p(z)
∞
∞
4,y
4,y
4,y
u
y
x
w
v
z
2
2
1
3
1
1
2
5
3
5
4: Camada de Rede 4a-72
Algoritmo de Dijkstra: exemplo
u
y
x
w
v
z
Árvore de caminhos mínimos resultante originada em u:
v
x
y
w
z
(u,v)
(u,x)
(u,x)
(u,x)
(u,x)
destino enlace
Tabela de encaminhamento resultante em u:
4: Camada de Rede 4a-73
Algoritmo de Dijkstra, discussão
Complexidade algoritmica: n nós
 a cada iteração: precisa checar todos nós, w, não em N’
 n*(n+1)/2 comparações => O(n2)
 implementações mais eficientes possíveis: O(nlogn)
Oscilações possíveis:
 p.ex., custo do enlace = carga do tráfego carregado
A
D
C
B
1 1+e
e
0
e
1 1
0 0
A
D
C
B
2+e 0
0
0
1+e 1
A
D
C
B
0 2+e
1+e
1
0 0
A
D
C
B
2+e 0
e
0
1+e 1
inicialmente
… recalcula
rotas
… recalcula … recalcula
4: Camada de Rede 4a-74
Capítulo 4: Camada de Rede
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-75
Algoritmo Vetor de Distâncias
Equação de Bellman-Ford (programação
dinâmica)
Define
dx(y) := custo do caminho de menor custo entre x
e y
Então
dx(y) = min {c(x,v) + dv(y) }
onde min é tomado entre todos os vizinhos v de x
v
4: Camada de Rede 4a-76
Exemplo com Bellman-Ford
u
y
x
w
v
z
2
2
1
3
1
1
2
5
3
5 Claramente, dv(z) = 5, dx(z) = 3, dw(z) = 3
du(z) = min { c(u,v) + dv(z),
c(u,x) + dx(z),
c(u,w) + dw(z) }
= min {2 + 5,
1 + 3,
5 + 3} = 4
O nó que leva ao custo mínimo é o próximo passo
ao longo do caminho mais curto➜ tab. de encaminhamento
A equação B-F diz:
4: Camada de Rede 4a-77
Algoritmo Vetor de Distâncias
 Dx(y) = estimativa do menor custo entre x e y
 Vetor de distâncias: Dx = [Dx(y): y є N ]
 Nó x sabe o custo para cada vizinho v: c(x,v)
 Nó x mantém Dx = [Dx(y): y є N ]
 Nó x mantém ainda os vetores de distâncias
dos seus vizinhos
 Para cada vizinho v, x mantém
Dv = [Dv(y): y є N ]
4: Camada de Rede 4a-78
Algoritmo Vetor de Distâncias (4)
Idéia básica:
 Cada nó envia periodicamente o seu próprio vetor
de distâncias estimado para os vizinhos
 Quando um nó x recebe um novo VD estimado de
um vizinho, ele atualiza o seu VD usando a eq. B-F:
Dx(y) ← minv{c(x,v) + Dv(y)} p/ cada nó y ∊ N
 Sob condições mínimas, naturais, a estimativa Dx(y)
converge para o menor custo real dx(y)
4: Camada de Rede 4a-79
Algoritmo Vetor de Distâncias (5)
Iterativo, assíncrono: cada
iteração local causada por:
 mudança do custo do enlace
local
 mensagem do vizinho: mudança
de caminho de menor custo
para algum destino
Distribuído:
 cada nó avisa a seus vizinhos
apenas quando muda seu
caminho de menor custo para
qualquer destino
 os vizinhos então avisam a seus
vizinhos, se for necessário
espera (mudança no custo
de mensagem do vizinho)
recalcula tabela de
distâncias
se mudou o caminho de
menor custo para qq.
destino, avisa vizinhos
Cada nó:
4: Camada de Rede 4a-80
x y z
x
y
z
0 2 7
∞ ∞ ∞
∞ ∞ ∞
origem
custo para
origem
origem
x y z
x
y
z
0 2 3
origem
custo para
x y z
x
y
z
0 2 3
origem
custo para
x y z
x
y
z
∞ ∞
∞ ∞ ∞
custo para
x y z
x
y
z
0 2 7
origem
custo para
x y z
x
y
z
0 2 3
origem
custo para
x y z
x
y
z
0 2 3
origem
custo para
x y z
x
y
z
0 2 7
origem
custo para
x y z
x
y
z
∞ ∞ ∞
7 1 0
custo para
∞
2 0 1
∞ ∞ ∞
2 0 1
7 1 0
2 0 1
7 1 0
2 0 1
3 1 0
2 0 1
3 1 0
2 0 1
3 1 0
2 0 1
3 1 0
tempo
x z
1
2
7
y
tabela nó x
tabela nó y
tabela nó z
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}
= min{2+0 , 7+1} = 2
Dx(z) = min{c(x,y) +
Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3
4: Camada de Rede 4a-81
Vetor de Distâncias: mudança no custo
dos enlaces
Mudança no custo dos enlaces:
 nó detecta mudança no custo do enlace
local
 atualiza tabela de distâncias
 se mudou o VD, avisa aos vizinhos
X Z
1
4
50
Y
1
“boas
notícias
chegam
logo”
No tempo t0, y detecta a mudança no custo do enlace, atualiza o
seu VD e informa os vizinhos.
No tempo t1, z recebe a atualização de y e atualiza a sua tabela.
Computa o novo menor custo p/ x e envia o seu VD p/ os vizinhos.
No tempo t2, y recebe a atualização de z e atualiza a sua tabela.
Os custos mínimos de y não mudam e portanto y não envia
nenhuma mensagem para z.
4: Camada de Rede 4a-82
Vetor de Distâncias: mudança no custo
dos enlaces
Mudança no custo dos enlaces:
 boas notícias chegam logo
 más notícias demoram para chegar -
problema da “contagem ao infinito”!
 44 iterações antes do algoritmo
estabilizar: veja texto
Reverso envenenado:
 Se z roteia via y p/ chegar a
x:
 z informa p/ y que sua distância p/
x é infinita (p/ que y não roteie p/ x
via z)
 será que isto resolve
completamente o problema da
contagem ao infinito?
x z
1
4
50
y
60
4: Camada de Rede 4a-83
Comparação dos algoritmos EE e VD
Complexidade de mensagens
 EE: com n nós, E enlaces, O(nE)
mensagens enviadas
 VD: trocar mensagens apenas
entre vizinhos
 varia o tempo de
convergência
Rapidez de Convergência
 EE: algoritmo O(n2) requer
O(nE) mensagens
 podem ocorrer oscilações
 VD: varia tempo para convergir
 podem ocorrer rotas cíclicas
 problema de contagem ao
infinito
Robustez: o que acontece se
houver falha do roteador?
EE:
 nó pode anunciar valores
incorretos de custo de
enlace
 cada nó calcula sua própria
tabela
VD:
 um nó VD pode anunciar um
custo de caminho incorreto
 a tabela de cada nó é usada
pelos outros nós
• um erro propaga pela rede
4: Camada de Rede 4a-84
Capítulo 4: Camada de Rede
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-85
Roteamento Hierárquico
escala: com 200 milhões
de destinos:
 impossível guardar todos
destinos na tabela de rotas!
 troca de tabelas de rotas
afogaria os enlaces!
autonomia administrativa
 internet = rede de redes
 cada admin de rede pode
querer controlar roteamento
em sua própria rede
Neste estudo de roteamento fizemos uma
idealização:
 todos os roteadores idênticos
 rede “não hierarquizada” (“flat”)
… não é verdade, na prática
4: Camada de Rede 4a-86
Roteamento Hierárquico
 agregar roteadores em
regiões, “sistemas
autônomos” (SAs)
 roteadores no mesmo SA
usam o mesmo protocolo de
roteamento
 protocolo de roteamento
“intra-SA”
 roteadores em SAs
diferentes podem usar
diferentes protocolos de
roteamento intra-SA
Roteador de borda
 Enlace direto para
roteador em outro SA
4: Camada de Rede 4a-87
SAs interconectados
3b
1d
3a
1c
2a
SA3
SA1
SA2
1a
2c
2b
1b
Algoritmo de
roteamento
intra-AS
Algoritmo de
roteamento
intra-AS
Tabela de
encaminhamento
3c
 Tab. de encaminhamento
é configurada pelos
algoritmos intra-SA e
inter-SA
 Intra-SA define entradas
p/ dest. internos
 Inter-SA e Intra-SA
define entradas p/ dest.
externos
4: Camada de Rede 4a-88
3b
1d
3a
1c
2a
SA3
SA1
SA2
1a
2c
2b
1b
3c
Tarefas do roteamento inter-SA
 Suponha que um
roteador em SA1
recebe um datagrama
cujo destino está fora
de SA1
 Roteador deveria
encaminhar o pacote p/
um dos roteadores de
borda, mas qual?
SA1 precisa:
1. aprender quais destinos
são alcançáveis via SA2
e quais são alcançáveis
via SA3
2. propagar estas info. de
alcançabilidade para
todos os roteadores em
SA1
Tarefas do rot. inter-SA!
4: Camada de Rede 4a-89
Exemplo: definindo a tabela de
encaminhamento no roteador 1d
 Suponha que SA1 aprende através do
protocolo inter-SA que a sub-rede x é
alcançável via SA3 (rot. de borda 1c) mas
não via SA2.
 Protocolo Inter-SA propaga info. de
alcançabilidade para todos os roteadores
internos.
 Roteador 1d determina através de info. de
roteamento intra-SA que sua interface I
está no caminho mínimo para 1c.
 Coloca par (x,I) na tab. de encaminhamento.
4: Camada de Rede 4a-90
Aprende através do
protocolo inter-SA
que a sub-rede x é
alcançável via
múltiplos roteadores
de borda
Usa info. de
roteamento do
protocolo intra-SA
p/ determinar os
caminhos mínimos
p/ cada rot. de borda
Roteamento batata
quente: escolhe o
roteador de borda
que tem o caminho
de menor custo
Determina da tab. de
encaminhamento a
interface I que leva ao
rot. de borda de menor
custo. Insere (x,I) na
tab. de encaminhamento
Exemplo: escolhendo entre múltiplos
SAs
 Suponha agora que SA1 aprende através do protocolo inter-SA
que a sub-rede x é alcançável via SA3 e via SA2.
 Para configurar a tabela de encaminhamento, o roteador 1d
deve determinar para qual roteador de borda ele deve enviar
pacotes com destino x .
 Isto também é tarefa do protocolo de roteamento inter-SA!
 Roteamento batata quente (hot potato): envia pacote para o
roteador de borda mais próximo.
4: Camada de Rede 4a-91
Capítulo 4: Camada de Rede
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-92
Roteamento Intra-SA
 Também conhecidos como Interior Gateway
Protocols (IGP)
 Os protocolos de roteamento Intra-SA mais
comuns são:
 RIP: Routing Information Protocol
 OSPF: Open Shortest Path First
 IGRP: Interior Gateway Routing Protocol
(proprietário da Cisco)
4: Camada de Rede 4a-93
Capítulo 4: Camada de Rede
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-94
RIP (Routing Information Protocol)
 Algoritmo vetor de distâncias
 Incluído na distribuição do BSD-UNIX em 1982
 Métrica de distância: # de enlaces (máx = 15 enlaces)
D
C
B
A
u v
w
x
y
z
destino saltos
u 1
v 2
w 2
x 3
y 3
z 2
Do roteador A p/ sub-redes:
4: Camada de Rede 4a-95
Anúncios RIP
 Vetores de distâncias: trocados a cada 30
seg via Mensagem de Resposta (também
chamada de anúncio)
 Cada anúncio: rotas para até 25 redes
destino dentro do SA
4: Camada de Rede 4a-96
Exemplo RIP
Rede Destino Próximo Roteador No. de enlaces ao destino
w A 2
y B 2
z B 7
x -- 1
…. …. ....
w x y
z
A
C
D B
Tabela de rotas em D
...
4: Camada de Rede 4a-97
Exemplo RIP
Rede Destino Próximo Roteador No. de enlaces ao destino
w A 2
y B 2
z B A 7 5
x -- 1
…. …. ....
w x y
z
A
C
D B
Tabela de rotas em D
...
Dest Prox Saltos
w - 1
x - 1
z C 4
…. … ...
Anúncios de
A para D
4: Camada de Rede 4a-98
RIP: Falha e Recuperação de Enlaces
Se não for recebido anúncio novo durante 180 seg -->
vizinho/enlace declarados mortos
 rotas via vizinho invalidadas
 novos anúncios enviados aos vizinhos
 na sua vez, os vizinhos publicam novos anúncios (se
foram alteradas as suas tabelas)
 informação sobre falha do enlace rapidamente
propaga para a rede inteira
 reverso envenenado usado para impedir rotas
cíclicas (ping-pong) (distância infinita = 16 enlaces)
4: Camada de Rede 4a-99
RIP: Processamento de tabelas
 Tabelas de roteamento RIP gerenciadas por
processo de nível de aplicação chamado route-d
(routing daemon)
 anúncios enviados em pacotes UDP, repetidos
periodicamente
4: Camada de Rede 4a-100
Capítulo 4: Camada de Rede
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-101
OSPF (Open Shortest Path First)
 “open” (aberto): publicamente disponível
 Usa algoritmo do Estado de Enlaces
 disseminação de pacotes EE
 mapa da topologia a cada nó
 cálculo de rotas usando o algoritmo de Dijkstra
 Anúncio de OSPF inclui uma entrada por roteador
vizinho
 Anúncios disseminados para SA inteiro (via inundação)
 Carregados em mensagens OSPF diretamente sobre IP (ao
invés de TCP ou UDP)
4: Camada de Rede 4a-102
OSPF: características “avançadas”
(não existentes no RIP)
 Segurança: todas mensagens OSPF autenticadas (para
impedir intrusão maliciosa)
 Caminhos Múltiplos de custos iguais permitidos (o RIP
permite e usa apenas uma rota)
 Para cada enlace, múltiplas métricas de custo para
TOS diferentes (p.ex, custo de enlace de satélite
colocado como “baixo” para melhor esforço; “alto”
para tempo real)
 Suporte integrado para ponto a ponto e multiponto:
 OSPF multiponto (MOSPF) usa mesma base de
dados de topologia usado por OSPF
 OSPF hierárquico em domínios grandes.
4: Camada de Rede 4a-103
OSPF Hierárquico
4: Camada de Rede 4a-104
OSPF Hierárquico
 Hierarquia de dois níveis: área local, backbone.
 Anúncios de EE disseminados apenas na mesma área
 cada nó possui topologia detalhada da área; apenas
sabe a direção (caminho mais curto) para redes em
outras áreas.
 Roteador de fronteira de área: “sumariza”
distâncias às redes na sua própria área, anuncia a
outros roteadores de fronteira de área.
 Roteadores do backbone: realizam roteamento OSPF
limitado ao backbone.
 Roteadores de fronteira: ligam a outros SAs.
4: Camada de Rede 4a-105
Capítulo 4: Camada de Rede
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-106
Roteamento inter-SA na Internet: BGP
 BGP (Border Gateway Protocol): o padrão de fato
 BGP provê para cada SA meios de:
1. Obter informação de alcançabilidade de sub-redes a
partir de SAs vizinhos.
2. Propagar informação de alcançabilidade para todos os
roteadores internos ao SA.
3. Determinar “boas” rotas para sub-redes a partir de
informação de alcançabilidade e políticas.
 Permite que uma sub-rede anuncie a sua existência
para o resto da Internet: “Estou aqui!”
4: Camada de Rede 4a-107
Fundamentos do BGP
 Par de roteadores (pares BGP) trocam info. de roteamento
através de conexões TCP semi-permanentes TCP: sessões BGP
 Note que sessões BGP não correspondem a enlaces físicos.
 Quando um SA2 anuncia um prefixo para SA1, SA2 está
prometendo que vai enviar àquele prefixo quaisquer
datagramas destinados ao mesmo.
 SA2 pode agregar prefixos nos seus anúncios
3b
1d
3a
1c
2a
SA3
SA1
SA2
1a
2c
2b
1b
3c
eBGP session
iBGP session
4: Camada de Rede 4a-108
Distribuindo informação de
alcançabilidade
 Com a sessão eBGP 3a-para-1c, SA3 envia informação de
alcançabilidade de prefixos para SA1.
 1c pode usar iBGP para distribuir esta nova informação de
alcance de prefixo para todos os roteadores em SA1.
 1b pode então re-anunciar a nova informação de alcance para
SA2 através da sessão eBGP 1b-para-2a.
 Quando um roteador aprende sobre um novo prefixo, ele cria
uma entrada para o prefixo na sua tabela de
encaminhamento.
3b
1d
3a
1c
2a
SA3
SA1
SA2
1a
2c
2b
1b
3c
eBGP session
iBGP session
4: Camada de Rede 4a-109
Atributos de caminho & Rotas BGP
 Quando um prefixo é anunciado, o anúncio inclui
atributos BGP.
 prefixo + atributos = “rota”
 Dois atributos importantes:
 AS-PATH: contém os SAs pelos quais o anúncio para o
prefixo passou: AS 67 AS 17
 NEXT-HOP: indica o roteador específico, interno ao SA,
que leva ao SA do próximo salto. (Pode haver múltiplos
enlaces do SA atual para o SA do próximo salto)
 Quando um roteador de borda recebe um anúncio
de rota, usa a política de importação para
aceitar/declinar.
4: Camada de Rede 4a-110
Seleção de rota do BGP
 Roteador pode aprender sobre mais de 1
rota para algum prefixo. Ele deve
selecionar a rota.
 Regras de eliminação:
1. Valor do atributo preferência local associado à
rota: decisão política
2. Menor AS-PATH
3. Roteador NEXT-HOP mais próximo:
roteamento batata quente
4. Critérios adicionais
4: Camada de Rede 4a-111
Mensagens BGP
 Mensagens BGP trocadas usando TCP.
 Mensagens BGP:
 OPEN: abre conexão TCP ao roteador par e
autentica remetente
 UPDATE: anuncia caminho novo (ou retira velho)
 KEEPALIVE mantém conexão viva na ausência de
UPDATES; também reconhece pedido OPEN
 NOTIFICATION: reporta erros na mensagem
anterior; também usada para fechar conexão
4: Camada de Rede 4a-112
Políticas de roteamento BGP
 A,B,C são redes de provedores
 X,W,Y são clientes (das redes de provedores)
 X com duas interfaces: conectadas a duas redes
 X não quer rotear de B para C
 .. então X não vai anunciar para B a rota para C
A
B
C
W
X
Y
legenda:
rede
cliente
rede
provedor
4: Camada de Rede 4a-113
Políticas de roteamento BGP (2)
 A anuncia para B o caminho AW
 B anuncia para X o caminho BAW
 Deveria B anunciar para C o caminho BAW?
 Nem pensar! B não obtém “rendimento” pelo roteamento
CBAW, já que nem W ou C são clientes de B
 B quer forçar C a rotear para W via A
 B quer rotear apenas para/dos seus clientes!
A
B
C
W
X
Y
legenda:
rede
cliente
rede
provedor
4: Camada de Rede 4a-114
Por quê há diferenças entre
roteamento Intra- e Inter-SA?
Políticas:
 Inter-SA: administração quer controle sobre como
tráfego roteado, quem transita através da sua rede.
 Intra-AS: administração única, logo são
desnecessárias decisões políticas
Escalabilidade:
 roteamento hierárquico economiza tamanho de tabela
de rotas, reduz tráfego de atualização
Desempenho:
 Intra-AS: pode focar em desempenho
 Inter-AS: políticas podem ser mais importantes do
que desempenho
4: Camada de Rede 4a-115
Capítulo 4: Camada de Rede
 4. 1 Introdução
 4.2 Redes baseadas em
circuitos virtuais e
datagramas
 4.3 O que existe
dentro de um roteador
 4.4 IP: Internet
Protocol
 Formato do datagrama
 Endereçamento IPv4
 ICMP
 IPv6
 4.5 Algoritmos de
roteamento
 Estado de enlaces
 Vetor de distâncias
 Roteamento hierárquico
 4.6 Roteando na
Internet
 RIP
 OSPF
 BGP
 4.7 Roteamentos
broadcast e multicast
4: Camada de Rede 4a-116
R1
R2
R3 R4
duplicação
na fonte
R1
R2
R3 R4
duplicação
dentro da rede
criação/transmissão
duplicada
duplicação
Roteamento Broadcast
 Envia pacotes de uma para todos os outros nós
 Duplicação na fonte é ineficiente:
 Duplicação na fonte: como a fonte determina
os endereços dos receptores
duplicação
4: Camada de Rede 4a-117
Duplicação dentro da rede
 Inundação: quando nó recebe pacotes de
broadcast, envia cópia para todos os vizinhos
 Problemas: ciclos e tempestades de broadcast
 Inundação controlada: nó somente faz broadcast
com o pacote se já não tiver feito antes com o
mesmo pacote
 Nó mantém registro sobre ids dos pacotes para os quais
já fez broadcast
 Ou adota envio pelo caminho reverso (Reverse Path
Forwarding - RPF): só encaminha pacote se chegou pelo
caminho mínimo entre o nó e a fonte
 Árvores geradoras (spanning trees)
 Nenhum pacote redundante recebido por nenhum nó
4: Camada de Rede 4a-118
A
B
G
D
E
c
F
A
B
G
D
E
c
F
(a) Broadcast iniciado em A (b) Broadcast iniciado em D
Árvore Geradora
 Primeiro construa uma árvore geradora
 Nós encaminham cópias somente ao longo
da árvore geradora
4: Camada de Rede 4a-119
A
B
G
D
E
c
F
1
2
3
4
5
(a) Construção passo-a-
passo da árvore geradora
A
B
G
D
E
c
F
(b) Árvore geradora
construída
Árvore Geradora: criação
 Nó central
 Cada nó envia mensagem de junção ponto-a-ponto
(unicast) para o nó central
 Mensagem encaminhada até que chegue em um nó já
pertencente à árvore geradora
Roteamento Multicast: definição do
problema
 Meta: achar uma árvore (ou árvores) conectando todos
os roteadores com membros locais do grupo mcast
 árvore: nem todos os caminhos entre roteadores são usados
 baseada na origem: árvore distinta de cada fonte p/
receptores
 compartilhada: mesma árvore usada por todos os membros do
grupo
Árvore compartilhada Árvores baseadas na origem
Abordagens para a construção de
árvores mcast
 Abordagens:
 baseada na origem: uma árvore por fonte
 árvores de caminhos mínimos
 envio pelo caminho reverso
 compartilhada: grupo usa uma árvore única
 árvore de custo mínimo (Steiner)
 árvore baseada em um centro
…primeiro olharemos as abordagens básicas, e depois
protocolos específicos que adotam estas abordagens
Árvore de Caminhos Mínimos
 Árvore de encaminhamento mcast: árvore composta
pelos caminhos mínimos da fonte para todos os
receptores
 Algoritmo de Dijkstra
R1
R2
R3
R4
R5
R6 R7
2
1
6
3 4
5
i
roteador com membro do
grupo atrelado
roteador sem membro do
grupo atrelado
enlace usado p/ envio,
i indica a ordem de adição
do enlace pelo algoritmo
LEGENDA
S: fonte
Envio pelo Caminho Reverso
se (datagrama mcast recebido por um enlace de
entrada no caminho mínimo de volta para a fonte)
então inunda o datagrama por todos os enlaces de
saída
senão ignora o datagrama
 Baseia-se no conhecimento do roteador
sobre caminhos mínimos unicast dele para a
fonte
 cada roteador tem um comportamento de
envio simples:
Envio pelo Caminho Reverso: exemplo
• resultado é uma árvore de caminho mínimo reversa
específica para a fonte
- pode ser uma escolha ruim para enlaces
assimétricos
R1
R2
R3
R4
R5
R6 R7
datagrama vai ser
encaminhado
LEGENDA
S: fonte
datagrama não vai ser
encaminhado
roteador com membro do
grupo atrelado
roteador sem membro do
grupo atrelado
Envio pelo Caminho Reverso: poda
 Árvore de encaminhamento contém sub-árvores sem
nenhum membro do grupo multicast
 não há necessidade de enviar datagramas pelas
sub-árvores
 mensagens de “poda” enviadas para trás pelo
roteador sem nenhum membro do grupo pra frente
R1
R2
R3
R4
R5
R6 R7
mensagem de poda
LEGENDA
S: fonte
enlace com envio mcast
P
P
P
roteador com membro do
grupo atrelado
roteador sem membro do
grupo atrelado
Árvore de Steiner
 Árvore de Steiner: árvore de custo mínimo
conectando todos os roteadores com
membros locais do grupo mcast
 problema NP-completo
 existem excelentes heurísticas
 não é usada na prática:
 complexidade computacional
 necessita informações sobre a rede inteira
 monolítica: recalculada sempre que um roteador
precisa ser acrescentado/retirado
Árvores baseadas em centros
 árvore de envio única compartilhada por todos
 um roteador eleito como “centro” da árvore
 para juntar-se:
 roteador de fora envia msg-junção unicast
endereçada ao roteador central
 msg-junção é “processada” pelos roteadores
intermediários e encaminhada para o centro
 msg-junção ou chega a um ramo da árvore já
existente para este centro, ou chega ao centro
 caminho seguido por msg-junção se torna novo ramo
da árvore para este roteador
Árvores baseadas em centros:
exemplo
Suponha que R6 foi escolhido como centro:
R1
R2
R3
R4
R5
R6 R7
ordem em que as
mensagens de junção são
geradas
LEGENDA
2
1
3
1
roteador com membro do
grupo atrelado
roteador sem membro do
grupo atrelado
Roteamento Multicast na Internet:
DVMRP
 DVMRP: distance vector multicast routing
protocol, RFC1075
 inundação e poda: envio pelo caminho reverso
(RPF), árvore baseada na fonte
 árvore RPF baseada em tabelas de roteamento
próprias do DVMRP, construídas por meio da
comunicação entre roteadores DVMRP
 nada assume sobre o roteamento unicast subjacente
 datagrama inicial para o grupo mcast é inundado por
todo lugar via RPF
 roteadores sem membros: mensagens de poda para
cima
DVMRP: continuando…
 estado soft : roteador DVMRP “esquece”
periodicamente (1 min.) que ramos estão podados:
 dados mcast novamente fluem pelos ramos não podados
 roteador de baixo: refaz a poda ou continua a receber
dados
 roteadores podem rapidamente se enxertar na
árvore
 seguindo junção IGMP na folha
 considerações finais
 comumente implementado em roteadores comerciais
 roteamento Mbone feito através do DVMRP
Tunelamento
Q: Como conectar “ilhas” de roteadores multicast em
um “oceano” de roteadores unicast?
 datagrama mcast encapsulado dentro de um datagrama
“normal” (sem endereço multicast)
 datagrama IP normal enviado através de um “túnel” via IP
unicast regular para o roteador mcast receptor
 roteador mcast receptor desencapsula para obter datagrama
mcast
Topologia física Topologia lógica
PIM: Protocol Independent Multicast
 não depende de nenhum algoritmo de roteamento
unicast subjacente (trabalha com todos)
 Dois cenários de distribuição multicast diferentes:
Denso:
 membros do grupo
densamente
empacotados, em
“estreita proximidade”
 maior disponibilidade
de banda
Esparso:
 # de redes com membros
do grupo pequeno em
relação ao # de redes
interconectadas
 membros do grupo
“amplamente dispersos”
 menor disponibilidade de
banda
Conseqüências da Dicotomia Esparso-Denso:
Denso
 participação dos
roteadores nos grupos
assumida até que os
roteadores se podem
explicitamente
 construção da árvore
mcast ditada pelos dados
(e.x., RPF)
 uso da banda e
processamento no
roteador não participante
do grupo perdulários
Esparso:
 sem participação até que
os roteadores se juntem
explicitamente
 construção da árvore
mcast ditada pelos
receptores (e.x., baseada
em centro)
 uso da banda e
processamento no
roteador não participante
do grupo criteriosos
PIM- Modo Denso
RPF com inundação e poda, similar ao
DVMRP mas
 Protocolo de roteamento unicast subjacente
provê as informações referentes ao datagrama
chegando, necessárias ao RPF
 inundação menos complicada (menos eficiente)
que a do DVMRP reduz a dependência em
relação ao algoritmo de roteamento subjacente
 possui mecanismo no protocolo para que o
roteador detecte que é um nó folha
PIM – Modo Esparso
 abordagem baseada em
centro
 Roteador envia msg. de
junção para o ponto de
encontro (rendezvous point -
RP)
 Roteadores intermediários
atualizam estado e
encaminham msg. de junção
 após se juntar via RP,
roteador pode mudar p/
árvore baseada na fonte
 performance melhorada:
menos concentração,
caminhos menores
R1
R2
R3
R4
R5
R6
R7
junção
junção
junção
multicast dos dados
a partir do ponto
de encontro (RP)
ponto de
encontro
PIM – Modo Esparso
fonte(s):
 dados via rot. unicast
para o RP, que os
distribui ao longo da
árvore com raiz no RP
 RP pode estender
árvore mcast para
cima até a fonte
 RP pode enviar msg.
pare p/ fonte se não
houver receptores
atrelados
 “ninguém está ouvindo!”
R1
R2
R3
R4
R5
R6
R7
junção
junção
junção
multicast dos dados
a partir do ponto
de encontro (RP)
ponto de
encontro
4: Camada de Rede 4a-137
Camada de Rede: resumo
Próxima parada:
A camada de
Enlace de
Dados!
O que nós cobrimos:
 Serviços da camada de rede
 Princípios de roteamento: estado
dos enlaces e vetor de distâncias
 roteamento hierárquico
 IP
 protocolos de roteamento
Internet RIP, OSPF, BGP
 O que tem dentro de um
roteador?
 IPv6

Mais conteúdo relacionado

Semelhante a O que existe dentro de um roteador

S2 B 2007 Infra Aula 01 V1.00
S2 B 2007   Infra   Aula 01 V1.00S2 B 2007   Infra   Aula 01 V1.00
S2 B 2007 Infra Aula 01 V1.00doctorweb
 
Modelo de camadas TCP/IP
Modelo de camadas TCP/IPModelo de camadas TCP/IP
Modelo de camadas TCP/IPEvandro Júnior
 
Gestão de Redes de Computadores e Serviços.pptx
Gestão de Redes de Computadores e Serviços.pptxGestão de Redes de Computadores e Serviços.pptx
Gestão de Redes de Computadores e Serviços.pptxHJesusMiguel
 
3ª Unidade Modelo OSI e TCP/IP
3ª Unidade Modelo OSI e TCP/IP3ª Unidade Modelo OSI e TCP/IP
3ª Unidade Modelo OSI e TCP/IPCleiton Cunha
 
Downloads telecom com_dados_exercicios_exercicio_parte 1 geral
Downloads telecom com_dados_exercicios_exercicio_parte 1 geralDownloads telecom com_dados_exercicios_exercicio_parte 1 geral
Downloads telecom com_dados_exercicios_exercicio_parte 1 geralRonaldo Souza
 
Redes De Computadores Internet
Redes De Computadores   InternetRedes De Computadores   Internet
Redes De Computadores InternetMario Bittencourt
 
Exercício protocolos de redes julho 2013
Exercício protocolos de redes julho 2013Exercício protocolos de redes julho 2013
Exercício protocolos de redes julho 2013Kundan Narendra
 
Aula5.ppt
Aula5.pptAula5.ppt
Aula5.pptCidrone
 
Glossario ethernet baumier v1
Glossario ethernet baumier   v1Glossario ethernet baumier   v1
Glossario ethernet baumier v1Mersao52
 
Modelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAModelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAwolkartt_18
 

Semelhante a O que existe dentro de um roteador (20)

Rui simao
Rui simaoRui simao
Rui simao
 
UD6042-10.ppt
UD6042-10.pptUD6042-10.ppt
UD6042-10.ppt
 
S2 B 2007 Infra Aula 01 V1.00
S2 B 2007   Infra   Aula 01 V1.00S2 B 2007   Infra   Aula 01 V1.00
S2 B 2007 Infra Aula 01 V1.00
 
Aula 1
Aula 1Aula 1
Aula 1
 
Modelo de camadas TCP/IP
Modelo de camadas TCP/IPModelo de camadas TCP/IP
Modelo de camadas TCP/IP
 
Frame Relay
Frame RelayFrame Relay
Frame Relay
 
Gestão de Redes de Computadores e Serviços.pptx
Gestão de Redes de Computadores e Serviços.pptxGestão de Redes de Computadores e Serviços.pptx
Gestão de Redes de Computadores e Serviços.pptx
 
3ª Unidade Modelo OSI e TCP/IP
3ª Unidade Modelo OSI e TCP/IP3ª Unidade Modelo OSI e TCP/IP
3ª Unidade Modelo OSI e TCP/IP
 
TCP/IP
TCP/IPTCP/IP
TCP/IP
 
Downloads telecom com_dados_exercicios_exercicio_parte 1 geral
Downloads telecom com_dados_exercicios_exercicio_parte 1 geralDownloads telecom com_dados_exercicios_exercicio_parte 1 geral
Downloads telecom com_dados_exercicios_exercicio_parte 1 geral
 
Lista04
Lista04Lista04
Lista04
 
Exercicio parte1
Exercicio parte1Exercicio parte1
Exercicio parte1
 
Redes De Computadores Internet
Redes De Computadores   InternetRedes De Computadores   Internet
Redes De Computadores Internet
 
Exercício protocolos de redes julho 2013
Exercício protocolos de redes julho 2013Exercício protocolos de redes julho 2013
Exercício protocolos de redes julho 2013
 
Aula5.ppt
Aula5.pptAula5.ppt
Aula5.ppt
 
Questoes
QuestoesQuestoes
Questoes
 
Glossario ethernet baumier v1
Glossario ethernet baumier   v1Glossario ethernet baumier   v1
Glossario ethernet baumier v1
 
Modelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAModelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNA
 
Camadasrede
CamadasredeCamadasrede
Camadasrede
 
Camadas rede
Camadas redeCamadas rede
Camadas rede
 

Mais de JoberthSilva

AULA 1 - Classes e Objetos com codigicação Java.ppt
AULA 1 - Classes e Objetos com codigicação Java.pptAULA 1 - Classes e Objetos com codigicação Java.ppt
AULA 1 - Classes e Objetos com codigicação Java.pptJoberthSilva
 
Curso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CCurso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CJoberthSilva
 
8 - ATIVIDADE DE OPERADORES TERNÁRIOS E IF.pdf
8 - ATIVIDADE DE OPERADORES TERNÁRIOS E IF.pdf8 - ATIVIDADE DE OPERADORES TERNÁRIOS E IF.pdf
8 - ATIVIDADE DE OPERADORES TERNÁRIOS E IF.pdfJoberthSilva
 
A função scanf na programção para dispositivos embarcados
A função scanf na programção para dispositivos embarcadosA função scanf na programção para dispositivos embarcados
A função scanf na programção para dispositivos embarcadosJoberthSilva
 
A CRIAÇÃO DO UNIVERSO.ppt
A CRIAÇÃO DO UNIVERSO.pptA CRIAÇÃO DO UNIVERSO.ppt
A CRIAÇÃO DO UNIVERSO.pptJoberthSilva
 
Apocalipse - Cartas as Igrejas.pptx
Apocalipse - Cartas as Igrejas.pptxApocalipse - Cartas as Igrejas.pptx
Apocalipse - Cartas as Igrejas.pptxJoberthSilva
 
5 - Resistores.ppt
5 - Resistores.ppt5 - Resistores.ppt
5 - Resistores.pptJoberthSilva
 
Problemas de Carater.pptx
Problemas de Carater.pptxProblemas de Carater.pptx
Problemas de Carater.pptxJoberthSilva
 
Mapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.pptMapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.pptJoberthSilva
 
Herança e Polimorfismo.ppt
Herança e Polimorfismo.pptHerança e Polimorfismo.ppt
Herança e Polimorfismo.pptJoberthSilva
 
Materiais Semicondutores
Materiais SemicondutoresMateriais Semicondutores
Materiais SemicondutoresJoberthSilva
 
Algoritmos - Modificado.ppt
Algoritmos - Modificado.pptAlgoritmos - Modificado.ppt
Algoritmos - Modificado.pptJoberthSilva
 
actividade1-140709100755-phpapp02.pdf
actividade1-140709100755-phpapp02.pdfactividade1-140709100755-phpapp02.pdf
actividade1-140709100755-phpapp02.pdfJoberthSilva
 
Rede sem fio 2.ppt
Rede sem fio 2.pptRede sem fio 2.ppt
Rede sem fio 2.pptJoberthSilva
 

Mais de JoberthSilva (20)

AULA 1 - Classes e Objetos com codigicação Java.ppt
AULA 1 - Classes e Objetos com codigicação Java.pptAULA 1 - Classes e Objetos com codigicação Java.ppt
AULA 1 - Classes e Objetos com codigicação Java.ppt
 
Curso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CCurso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação C
 
8 - ATIVIDADE DE OPERADORES TERNÁRIOS E IF.pdf
8 - ATIVIDADE DE OPERADORES TERNÁRIOS E IF.pdf8 - ATIVIDADE DE OPERADORES TERNÁRIOS E IF.pdf
8 - ATIVIDADE DE OPERADORES TERNÁRIOS E IF.pdf
 
A função scanf na programção para dispositivos embarcados
A função scanf na programção para dispositivos embarcadosA função scanf na programção para dispositivos embarcados
A função scanf na programção para dispositivos embarcados
 
A CRIAÇÃO DO UNIVERSO.ppt
A CRIAÇÃO DO UNIVERSO.pptA CRIAÇÃO DO UNIVERSO.ppt
A CRIAÇÃO DO UNIVERSO.ppt
 
Apocalipse - Cartas as Igrejas.pptx
Apocalipse - Cartas as Igrejas.pptxApocalipse - Cartas as Igrejas.pptx
Apocalipse - Cartas as Igrejas.pptx
 
PHP.ppt
PHP.pptPHP.ppt
PHP.ppt
 
Aula_1.pptx
Aula_1.pptxAula_1.pptx
Aula_1.pptx
 
5 - Resistores.ppt
5 - Resistores.ppt5 - Resistores.ppt
5 - Resistores.ppt
 
Problemas de Carater.pptx
Problemas de Carater.pptxProblemas de Carater.pptx
Problemas de Carater.pptx
 
Mapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.pptMapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.ppt
 
capacitores1.ppt
capacitores1.pptcapacitores1.ppt
capacitores1.ppt
 
Herança e Polimorfismo.ppt
Herança e Polimorfismo.pptHerança e Polimorfismo.ppt
Herança e Polimorfismo.ppt
 
Materiais Semicondutores
Materiais SemicondutoresMateriais Semicondutores
Materiais Semicondutores
 
Algoritmos - Modificado.ppt
Algoritmos - Modificado.pptAlgoritmos - Modificado.ppt
Algoritmos - Modificado.ppt
 
Fibra Óptica
Fibra ÓpticaFibra Óptica
Fibra Óptica
 
actividade1-140709100755-phpapp02.pdf
actividade1-140709100755-phpapp02.pdfactividade1-140709100755-phpapp02.pdf
actividade1-140709100755-phpapp02.pdf
 
50524(1).ppt
50524(1).ppt50524(1).ppt
50524(1).ppt
 
Rede sem fio 2.ppt
Rede sem fio 2.pptRede sem fio 2.ppt
Rede sem fio 2.ppt
 
bom-1.pdf
bom-1.pdfbom-1.pdf
bom-1.pdf
 

O que existe dentro de um roteador

  • 1. 4: Camada de Rede 4a-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 2nd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2002. A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers). They’re in powerpoint form so you can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following:  If you use these slides (e.g., in a class) in substantially unaltered form, that you mention their source (after all, we’d like people to use our book!)  If you post any slides in substantially unaltered form on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Thanks and enjoy! JFK/KWR All material copyright 1996-2002 J.F Kurose and K.W. Ross, All Rights Reserved
  • 2. 4: Camada de Rede 4a-2 Capítulo 4: Camada de Rede Metas do capítulo: entender os princípios em que se fundamentam os serviços de rede: roteamento (seleção de caminhos) escalabilidade como funciona um roteador tópicos avançados: IPv6, mobilidade instanciação e implementação na Internet
  • 3. 4: Camada de Rede 4a-3 Capítulo 4: Camada de Rede (Estrutura do Capítulo na 3ª edição)  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 4. 4: Camada de Rede 4a-4 Capítulo 4: Camada de Rede (Diferenças em relação à 1ª edição)  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador [antiga 4.6]  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6 [antiga 4.7]  4.5 Algoritmos de roteamento [antigas 4.2 e 4.3]  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet [antiga 4.5]  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast [antiga 4.8]
  • 5. 4: Camada de Rede 4a-5 Capítulo 4: Camada de Rede  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 6. 4: Camada de Rede 4a-6 Camada de rede  transporta segmentos da estação remetente à receptora  no lado remetente, encapsula segmentos dentro de datagramas  no lado receptor, entrega os segmentos para a camada de transporte  protocolos da camada de rede em todos os sistemas finais e roteadores  roteadores examinam campos de cabeçalho de todos os datagramas IP que passam por eles rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física aplicação transporte rede enlace física aplicação transporte rede enlace física
  • 7. 4: Camada de Rede 4a-7 Funções principais da camada de rede  encaminhamento: move pacotes de uma entrada do roteador para a saída apropriada  roteamento: determina a rota a ser seguida pelos pacotes da fonte até o destino  Algoritmos de roteamento analogia:  roteamento: processo de planejar uma viagem da origem até o destino  encaminhamento: processo de atravessar uma encruzilhada durante a viagem
  • 8. 4: Camada de Rede 4a-8 1 2 3 0111 valor no cabeçalho do pacote que está chegando Algoritmo de roteamento tabela encaminhamento local valor cabeçalho link saída 0100 0101 0111 1001 3 2 2 1 Relacionamento entre roteamento e encaminhamento
  • 9. 4: Camada de Rede 4a-9 Estabelecimento de conexão  3ª função importante em algumas arquiteturas de rede:  ATM, frame relay, X.25  Antes dos datagramas fluírem, dois hosts e roteadores intermediários estabelecem uma conexão virtual  Roteadores são envolvidos  Serviço de conexão das camadas de transporte e de rede:  Rede: entre dois hosts  Transporte: entre dois processos
  • 10. 4: Camada de Rede 4a-10 Modelo de serviço de rede Q: Qual é o modelo de serviço para o “canal” que transporta pacotes do remetente ao receptor? Exemplos de serviços para datagramas individuais:  Entrega garantida  Entrega garantida com atraso menor que 40 mseg Exemplos de serviços para fluxos de datagramas:  Entrega ordenada  Banda mínima garantida para o fluxo  Restrições quanto a alterações no espaçamento entre os pacotes
  • 11. 4: Camada de Rede 4a-11 Modelos de serviço da camada de rede: Arquitetura de Rede Internet ATM ATM ATM ATM Modelo de serviço melhor esforço CBR VBR ABR UBR Banda nenhuma taxa constante taxa garantida mínima garantida nenhuma Perdas não sim sim não não Ordem não sim sim sim sim Tempo não sim sim não não Informa s/ congestion.? não (inferido via perdas) sem congestion. sem congestion. sim não Garantias ?
  • 12. 4: Camada de Rede 4a-12 Capítulo 4: Camada de Rede  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 13. 4: Camada de Rede 4a-13 Serviços da camada de rede com e sem conexão  Rede datagrama provê um serviço de camada de rede não orientado a conexões  Rede CV provê um serviço de camada de rede orientado a conexões  Análogos aos serviços da camada de transporte, mas:  Serviço: host-a-host  Sem escolha: rede provê ou um ou o outro  Implementação: no núcleo da rede
  • 14. 4: Camada de Rede 4a-14 Circuitos virtuais  estabelecimento de cada chamada antes do envio dos dados  cada pacote tem ident. de CV (e não endereços origem/dest)  cada roteador no caminho da-origem-ao-destino mantém “estado” para cada conexão que o atravessa  recursos de enlace, roteador (banda, buffers) podem ser alocados ao CV “caminho da-origem-ao-destino se comporta como um circuito telefônico”  em termos de desempenho  em ações da rede ao longo do caminho da-origem-ao-destino
  • 15. 4: Camada de Rede 4a-15 Implementação de CV Um CV consiste de: 1. Caminho da origem para o destino 2. Números (identificadores) de CV, um número para cada enlace ao longo do caminho 3. Entradas nas tabelas de encaminhamento dos roteadores ao longo do caminho  Pacote que pertence a um CV carrega o número do CV  Número do CV deve ser trocado a cada enlace  Novo número do CV vem da tabela de encaminhamento
  • 16. 4: Camada de Rede 4a-16 Tabela de encaminhamento 12 22 32 1 2 3 Número do CV número da interface Interface de entrada # CV de entrada Interface de saída # CV de saída 1 12 3 22 2 63 1 18 3 7 2 17 1 97 3 87 … … … … Tabela de encaminhamento no roteador noroeste: Roteadores mantêm informação sobre o estado da conexão!
  • 17. 4: Camada de Rede 4a-17 Circuitos virtuais: protocolos de sinalização  usados para estabelecer, manter, destruir CV  usados em ATM, frame-relay, X.25  não usados na Internet de hoje aplicação transporte rede enlace física aplicação transporte rede enlace física 1. inicia chamada 2. chegada de chamada 3. chamada aceita 4. conexão completa 5. começa fluxo de dados 6. dados recebidos
  • 18. 4: Camada de Rede 4a-18 Rede de datagramas: o modelo da Internet  não requer estabelecimento de chamada na camada de rede  roteadores: não guardam estado sobre conexões fim a fim  não existe o conceito de “conexão” na camada de rede  pacotes são roteados tipicamente usando endereços de destino  2 pacotes entre o mesmo par origem-destino podem seguir caminhos diferentes aplicação transporte rede enlace física aplicação transporte rede enlace física 1. envia dados 2. recebe dados
  • 19. 4: Camada de Rede 4a-19 Tabela de encaminhamento Faixa de Endereços de Destino Interface de Saída 11001000 00010111 00010000 00000000 a 0 11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 a 1 11001000 00010111 00011000 11111111 11001000 00010111 00011001 00000000 a 2 11001000 00010111 00011111 11111111 caso contrário 3 4 bilhões de entradas possíveis
  • 20. 4: Camada de Rede 4a-20 Casamento com o prefixo mais longo Casamento com o prefixo Interface de Saída 11001000 00010111 00010 0 11001000 00010111 00011000 1 11001000 00010111 00011 2 caso contrário 3 ED: 11001000 00010111 00011000 10101010 Exemplos ED: 11001000 00010111 00010110 10100001 Qual interface? Qual interface?
  • 21. 4: Camada de Rede 4a-21 Rede de datagramas ou CVs: por quê? Internet  troca de dados entre computadores  serviço “elástico”, sem reqs. temporais estritos  sistemas terminais “inteligentes” (computadores)  podem se adaptar, exercer controle, recuperar de erros  núcleo da rede simples, complexidade na “borda”  muitos tipos de enlaces  características diferentes  serviço uniforme difícil ATM  evoluiu da telefonia  conversação humana:  temporização estrita, requisitos de confiabilidade  requer serviço garantido  sistemas terminais “burros”  telefones  complexidade dentro da rede
  • 22. 4: Camada de Rede 4a-22 Capítulo 4: Camada de Rede  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 23. 4: Camada de Rede 4a-23 Sumário de Arquitetura de Roteadores Duas funções chave de roteadores:  usam algoritmos/protocolos de roteamento (RIP, OSPF, BGP)  comutam datagramas do enlace de entrada para a saída
  • 24. 4: Camada de Rede 4a-24 Funções da Porta de Entrada Comutação descentralizada:  dado o dest. do datagrama, procura porta de saída usando tab. de rotas na memória da porta de entrada  meta: completar processamento da porta de entrada na ‘velocidade da linha’  filas: se datagramas chegam mais rápido que taxa de re-envio para matriz de comutação Camada física: recepção de bits Camada de enlace: p.ex., Ethernet veja capítulo 5
  • 25. 4: Camada de Rede 4a-25 Três tipos de matriz de comutação
  • 26. 4: Camada de Rede 4a-26 Comutação via Memória Roteadores da primeira geração:  pacote copiado pelo processador (único) do sistema  velocidade limitada pela largura de banda da memória (2 travessias do barramento por datagrama) Porta de Entrada Porta de Saída Memória Barramento do Sistema Roteadores modernos:  processador da porta de entrada consulta tabela, copia para a memória  Cisco Catalyst 8500
  • 27. 4: Camada de Rede 4a-27 Comutação via Barramento  datagrama da memória da porta de entrada à memória da porta de saída via um barramento compartilhado  contenção pelo barramento: taxa de comutação limitada pela largura de banda do barramento  Barramento de 1 Gbps, Cisco 1900: velocidade suficiente para roteadores de acesso e corporativos (mas não regionais ou de backbone)
  • 28. 4: Camada de Rede 4a-28 Comutação via uma Rede de Interconexão  supera limitações de banda dos barramentos  Redes Banyan, outras redes de interconexão desenvolvidas inicialmente para interligar processadores num multiprocessador  Projeto avançado: fragmentar datagrama em células de tamanho fixo, comutar células através da matriz de comutação.  Cisco 12000: comuta N Gbps pela rede de interconexão.
  • 29. 4: Camada de Rede 4a-29 Porta de Saída  Buffers necessários quando datagramas chegam da matriz de comutação mais rapidamente que a taxa de transmissão  Disciplina de escalonamento escolhe um dos datagramas enfileirados para transmissão
  • 30. 4: Camada de Rede 4a-30 Filas na Porta de Saída  usa buffers quando taxa de chegada através do comutador excede taxa de transmissão de saída  enfileiramento (retardo), e perdas devidas ao transbordo do buffer da porta de saída!
  • 31. 4: Camada de Rede 4a-31 Filas na Porta de Entrada  Se matriz de comutação for mais lenta do que a soma das portas de entrada juntas -> pode haver filas nas portas de entrada  Bloqueio cabeça-de-linha : datagrama na cabeça da fila impede outros na mesma fila de avançarem  retardo de enfileiramento e perdas devido ao transbordo do buffer de entrada!
  • 32. 4: Camada de Rede 4a-32 Capítulo 4: Camada de Rede  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 33. 4: Camada de Rede 4a-33 A Camada de Rede na Internet Tabela de encam. Funções da camada de rede em estações, roteadores: Protocolos de rot. •seleção de rotas •RIP, OSPF, BGP protocolo IP •convenções de endereços •formato do datagrama •convenções de manuseio do pct protocolo ICMP •relata erros •“sinalização” de roteadores Camada de transporte: TCP, UDP Camada de enlace Camada física Camada de rede
  • 34. 4: Camada de Rede 4a-34 Capítulo 4: Camada de Rede  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 35. 4: Camada de Rede 4a-35 Formato do datagrama IP ver comprimento 32 bits dados (comprimento variável, tipicamente um segmento TCP ou UDP) ident. 16-bits checksum Internet sobre- vida endereço IP de origem 32 bits número da versão do protocolo IP comprimento do cabeçalho (bytes) número máximo de enlaces restantes (decrementado a cada roteador) para fragmentação/ remontagem comprimento total do datagrama (bytes) protocolo da camada superior ao qual entregar os dados comp. cab tipo de serviço “tipo” dos dados (DS) bits início do fragmento camada superior endereço IP de destino 32 bits Opções (se tiver) p.ex. marca de tempo, registrar rota seguida, especificar lista de roteadores a visitar. Quanto overhead com o TCP?  20 bytes do TCP  20 bytes do IP  = 40 bytes + overhead cam. aplic.
  • 36. 4: Camada de Rede 4a-36 IP: Fragmentação & Remontagem  cada enlace de rede tem MTU (max.transmission unit) - maior tamanho possível de quadro neste enlace.  tipos diferentes de enlace têm MTUs diferentes  datagrama IP muito grande dividido (“fragmentado”) dentro da rede  um datagrama vira vários datagramas  “remontado” apenas no destino final  bits do cabeçalho IP usados para identificar, ordenar fragmentos relacionados fragmentação: entrada: um datagrama grande saída: 3 datagramas menores remontagem
  • 37. 4: Camada de Rede 4a-37 IP: Fragmentação & Remontagem ID =x início =0 bit_frag =0 compr =4000 ID =x início =0 bit_frag =1 compr =1500 ID =x início =185 bit_frag =1 compr =1500 ID =x início =370 bit_frag =0 compr =1040 um datagrama grande vira vários datagramas menores Exemplo  Datagrama de 4000 bytes  MTU = 1500 bytes 1480 bytes de dados início = 1480/8
  • 38. 4: Camada de Rede 4a-38 Capítulo 4: Camada de Rede  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 39. 4: Camada de Rede 4a-39 Endereçamento IP: introdução  endereço IP: ident. de 32-bits para interface de estação, roteador  interface: conexão entre estação, roteador e enlace físico  roteador típico tem múltiplas interfaces  estação pode ter múltiplas interfaces  endereço IP associado à interface, não à estação ou roteador 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1
  • 40. 4: Camada de Rede 4a-40 Sub-redes  endereço IP:  parte de rede (bits de mais alta ordem)  parte de estação (bits de mais baixa ordem)  O que é uma subrede IP? (da perspectiva do endereço IP)  interfaces de dispositivos com a mesma parte de rede nos seus endereços IP  podem alcançar um ao outro sem passar por um roteador 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 Esta rede consiste de 3 redes IP LAN
  • 41. 4: Camada de Rede 4a-41 Sub-redes 223.1.1.0/24 223.1.2.0/24 223.1.3.0/24 Máscara da sub-rede: /24 Receita  desassociar cada interface do seu roteador, estação  criar “ilhas” de redes isoladas  cada rede isolada é uma sub-rede
  • 42. 4: Camada de Rede 4a-42 Sub-redes Quantas sub-redes? 223.1.1.1 223.1.1.3 223.1.1.4 223.1.2.2 223.1.2.1 223.1.2.6 223.1.3.2 223.1.3.1 223.1.3.27 223.1.1.2 223.1.7.1 223.1.7.2 223.1.8.2 223.1.8.1 223.1.9.1 223.1.9.2
  • 43. 4: Camada de Rede 4a-43 parte de estação Endereçamento IP: CIDR CIDR: Classless InterDomain Routing  parte de rede do endereço de comprimento arbitrário  formato de endereço: a.b.c.d/x, onde x é no. de bits na parte de rede do endereço 11001000 00010111 00010000 00000000 parte de rede 200.23.16.0/23
  • 44. 4: Camada de Rede 4a-44 Endereços IP: como conseguir um? Q: Como o host obtém um endereço IP? codificado pelo administrador num arquivo Windows: Painel de controle->Rede- >Configuração>tcp/ip->propriedades UNIX: /etc/rc.config DHCP: Dynamic Host Configuration Protocol: obtém endereço dinamicamente de um servidor “plug-and-play” (mais no próximo capítulo)
  • 45. 4: Camada de Rede 4a-45 Endereços IP: como conseguir um? Bloco do 11001000 00010111 00010000 00000000 200.23.16.0/20 provedor Organização 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organização 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organização 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. …. Organização 7 11001000 00010111 00011110 00000000 200.23.30.0/23 Q: Como a rede obtém a parte de rede do endereço IP? A: Recebe uma porção do espaço de endereços do seu ISP
  • 46. 4: Camada de Rede 4a-46 Endereçamento hierárquico: agregação de rotas “mande-me qq coisa com endereços que começam com 200.23.16.0/20” 200.23.16.0/23 200.23.18.0/23 200.23.30.0/23 Provedor A Organização 0 Organização 7 Internet Organização n 1 Provedor B “mande-me qq coisa com endereços que começam com 199.31.0.0/16” 200.23.20.0/23 Organização 2 . . . . . . Endereçamento hierárquico permite anunciar eficientemente informação sobre rotas:
  • 47. 4: Camada de Rede 4a-47 Endereçamento hierárquico: rotas mais específicas Provedor B tem uma rota mais específica para a Organização 1 “mande-me qq coisa com endereços que começam com 200.23.16.0/20” 200.23.16.0/23 200.23.18.0/23 200.23.30.0/23 Provedor A Organização 0 Organização 7 Internet Organização 1 Provedor B “mande-me qq coisa com endereços que começam com 199.31.0.0/16 ou 200.23.18.0/23” 200.23.20.0/23 Organização 2 . . . . . .
  • 48. 4: Camada de Rede 4a-48 Endereçamento IP: a última palavra... P: Como um provedor IP consegue um bloco de endereços? A: ICANN: Internet Corporation for Assigned Names and Numbers  aloca endereços  gerencia DNS  aloca nomes de domínio, resolve disputas (no Brasil, estas funções foram delegadas ao NIC.br pelo Comitê Gestor Internet BR – www.cg.org.br)
  • 49. 4: Camada de Rede 4a-49 NAT: Network Address Translation 10.0.0.1 10.0.0.2 10.0.0.3 10.0.0.4 138.76.29.7 rede local (e.x., rede caseira) 10.0.0/24 resto da Internet Datagramas com origem ou destino nesta rede usam endereços 10.0.0/24 para origem e destino (como usual) Todos os datagramas deixando a rede local têm o mesmo único endereço IP NAT origem: 138.76.29.7, e diferentes números de porta origem
  • 50. 4: Camada de Rede 4a-50 NAT: Network Address Translation  Motivação: a rede local usa apenas um endereço IP, no que concerne ao mundo exterior:  não há necessidade de alocar faixas de endereços do ISP: • apenas um endereço IP é usado para todos os dispositivos  pode modificar endereços de dispositivos na rede local sem notificar o mundo exterior  pode trocar de ISP sem mudar os endereços dos dispositivos na rede local  dispositivos dentro da rede local não são explicitamente endereçáveis, i.e., visíveis do mundo exterior (um incremento de segurança)
  • 51. 4: Camada de Rede 4a-51 NAT: Network Address Translation Implementação: um roteador NAT deve:  datagramas saindo: trocar (IP origem, # porta ) de cada datagrama saindo para (IP NAT, novo # porta) . . . clientes/servidores remotos vão responder usando (IP NAT, novo # porta) como endereço destino.  lembrar (na tabela de tradução NAT) cada par de tradução (IP origem, # porta ) para (IP NAT, novo # porta)  datagramas entrando: trocar (IP NAT, novo # porta) nos campos de destino de cada datagrama entrando para o (IP origem, # porta) correspondente armazenado na tabela NAT
  • 52. 4: Camada de Rede 4a-52 NAT: Network Address Translation 10.0.0.1 10.0.0.2 10.0.0.3 O: 10.0.0.1, 3345 D: 128.119.40.186, 80 1 10.0.0.4 138.76.29.7 1: host 10.0.0.1 envia datagrama p/ 128.119.40.186, 80 Tabela de tradução NAT end. lado WAN end. lado LAN 138.76.29.7, 5001 10.0.0.1, 3345 …… …… O: 128.119.40.186, 80 D: 10.0.0.1, 3345 4 O: 138.76.29.7, 5001 D: 128.119.40.186, 80 2 2: roteador NAT muda end. origem do datagrama de 10.0.0.1, 3345 p/ 138.76.29.7, 5001, e atualiza tabela O: 128.119.40.186, 80 D: 138.76.29.7, 5001 3 3: Resposta chega p/ end. destino: 138.76.29.7, 5001 4: roteador NAT muda end. destino do datagrama de 138.76.29.7, 5001 p/ 10.0.0.1, 3345
  • 53. 4: Camada de Rede 4a-53 NAT: Network Address Translation  campo do número de porta com 16-bits:  60.000 conexões simultâneas com um único endereço no lado WAN!  NAT é controverso:  roteadores deveriam processar somente até a camada 3  viola o argumento fim-a-fim • possibilidade do uso de NAT deve ser levado em conta pelos projetistas de aplicações (p.e., P2P)  escassez de endereços, por outro lado, deveria ser resolvida com o IPv6
  • 54. 4: Camada de Rede 4a-54 Capítulo 4: Camada de Rede  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 55. 4: Camada de Rede 4a-55 ICMP: Internet Control Message Protocol  usado por estações, roteadores para comunicar informação s/ camada de rede  relatar erros: estação, rede, porta, protocolo inalcançáveis  pedido/resposta de eco (usado por ping)  camada de rede “acima de” IP:  msgs ICMP transportadas em datagramas IP  mensagem ICMP: tipo, código mais primeiros 8 bytes do datagrama IP causando erro Tipo Código descrição 0 0 resposta de eco (ping) 3 0 rede dest. inalcançável 3 1 estação dest. inalcançável 3 2 protocolo dest. inalcançável 3 3 porta dest. inalcançável 3 6 rede dest. desconhecida 3 7 estação dest. desconhecida 4 0 abaixar fonte (controle de congestionamento - ñ usado) 8 0 pedido eco (ping) 9 0 anúncio de rota 10 0 descobrir roteador 11 0 TTL (sobrevida) expirada 12 0 erro de cabeçalho IP
  • 56. 4: Camada de Rede 4a-56 Traceroute e ICMP  Origem envia uma série de segmentos UDP para o destino  Primeiro tem TTL =1  Segundo tem TTL=2, etc.  Número de porta improvável  Quando n-ésimo datagrama chega ao n-ésimo roteador:  Roteador descarta datagrama  Envia p/ origem uma mensagem ICMP (tipo 11, código 0)  Mensagem inclui nome e endereço IP do roteador  Quando a mensagem ICMP chega, origem calcula RTT  Traceroute faz isto 3 vezes Critério de parada  Segmento UDP eventualmente chega à estação destino  Destino retorna pacote ICMP “porta inalcançável” (tipo 3, código 3)  Quando origem recebe este pacote ICMP, pára.
  • 57. 4: Camada de Rede 4a-57 Capítulo 4: Camada de Rede  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 58. 4: Camada de Rede 4a-58 IPv6  Motivação inicial: espaço de endereços de 32- bits em breve completamente alocado.  Motivação adicional:  formato do cabeçalho facilita acelerar processamento/re-encaminhamento  mudanças no cabeçalho para facilitar QoS  novo endereço “anycast”: rota para o “melhor” de vários servidores replicados  formato do datagrama IPv6:  cabeçalho de tamanho fixo de 40 bytes  não admite fragmentação
  • 59. 4: Camada de Rede 4a-59 Cabeçalho IPv6 Prioridade: identifica prioridade entre datagramas no fluxo Rótulo do Fluxo: identifica datagramas no mesmo “fluxo” (conceito de “fluxo” mal definido). Próximo cabeçalho: identifica protocolo da camada superior para os dados
  • 60. 4: Camada de Rede 4a-60 Outras mudanças em relação ao IPv4  Checksum: removido completamente para reduzir tempo de processamento a cada roteador  Opções: permitidas, porém fora do cabeçalho, indicadas pelo campo “Próximo Cabeçalho”  ICMPv6: versão nova de ICMP  tipos adicionais de mensagens, p.ex. “Pacote Muito Grande”  funções de gerenciamento de grupo multiponto
  • 61. 4: Camada de Rede 4a-61 Transição de IPv4 para IPv6  Nem todos os roteadores podem ser atualizados simultaneamente  “dias de mudança geral” inviáveis  Como a rede pode funcionar com uma mistura de roteadores IPv4 e IPv6?  Tunelamento: datagramas IPv6 carregados em datagramas IPv4 entre roteadores IPv4
  • 62. 4: Camada de Rede 4a-62 Tunelamento IPv6 dentro de IPv4 quando necessário
  • 63. 4: Camada de Rede 4a-63 Capítulo 4: Camada de Rede  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 64. 4: Camada de Rede 4a-64 1 2 3 0111 valor no cabeçalho do pacote que está chegando Algoritmo de roteamento tabela encaminhamento local valor cabeçalho link saída 0100 0101 0111 1001 3 2 2 1 Relacionamento entre roteamento e encaminhamento
  • 65. 4: Camada de Rede 4a-65 u y x w v z 2 2 1 3 1 1 2 5 3 5 Grafo: G = (N,E) N = conj. de roteadores = { u, v, w, x, y, z } E = conj. de enlaces ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) } Abstraindo com grafos Comentário: a abstração com grafos é útil em outros contextos da rede Exemplo: P2P, onde N é o conj. dos pares e E é o conj. das conexões TCP
  • 66. 4: Camada de Rede 4a-66 Abstraindo com grafos: custos u y x w v z 2 2 1 3 1 1 2 5 3 5 • c(x,x’) = custo do enlace (x,x’) - p.e., c(w,z) = 5 • custo poderia também ser 1, ou inversamente relacionado à banda, ou inversamente relacionado ao congestionamento Custo do caminho (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp) Q: Qual o caminho de menor custo entre u e z? Algoritmo de roteamento: algoritmo que encontra o caminho de menor custo
  • 67. 4: Camada de Rede 4a-67 Classificação de Algoritmos de Roteamento Informação global ou descentralizada? Global:  todos roteadores têm info. completa de topologia, custos dos enlaces  algoritmos “estado de enlaces” Decentralizada:  roteador conhece vizinhos diretos e custos até eles  processo iterativo de cálculo, troca de info. com vizinhos  algoritmos “vetor de distâncias” Estático ou dinâmico? Estático:  rotas mudam lentamente com o tempo Dinâmico:  rotas mudam mais rapidamente  atualização periódica  em resposta a mudanças nos custos dos enlaces
  • 68. 4: Camada de Rede 4a-68 Capítulo 4: Camada de Rede  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 69. 4: Camada de Rede 4a-69 Um algoritmo de roteamento de “estado de enlaces” (EE) Algoritmo de Dijkstra  topologia da rede, custos dos enlaces conhecidos por todos os nós  realizado através de “difusão do estado dos enlaces”  todos os nós têm mesma info.  calcula caminhos de menor custo de um nó (“origem”) para todos os demais  gera tabela de rotas para aquele nó  iterativo: depois de k iterações, sabemos menor custo p/ k destinos Notação:  c(i,j): custo do enlace do nó i ao nó j. custo é infinito se não forem vizinhos diretos  D(V): valor corrente do custo do caminho da origem ao destino V  p(V): nó antecessor no caminho da origem ao nó V, imediatamente antes de V  N’: conjunto de nós cujo caminho de menor custo já foi determinado
  • 70. 4: Camada de Rede 4a-70 O algoritmo de Dijkstra 1 Inicialização: 2 N’ = {u} 3 para todos os nós v 4 se v for adjacente ao nó u 5 então D(v) = c(u,v) 6 senão D(v) = ∞ 7 8 Repete 9 determina w não contido em N’ tal que D(w) é o mínimo 10 adiciona w ao conjunto N’ 11 atualiza D(v) para todo v adjacente ao nó w e ainda não em N’: 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* novo custo ao nó v ou é o custo velho a v ou o custo do 14 menor caminho ao nó w, mais o custo de w a v */ 15 até que todos nós estejam em N’
  • 71. 4: Camada de Rede 4a-71 Algoritmo de Dijkstra: exemplo Step 0 1 2 3 4 5 N' u ux uxy uxyv uxyvw uxyvwz D(v),p(v) 2,u 2,u 2,u D(w),p(w) 5,u 4,x 3,y 3,y D(x),p(x) 1,u D(y),p(y) ∞ 2,x D(z),p(z) ∞ ∞ 4,y 4,y 4,y u y x w v z 2 2 1 3 1 1 2 5 3 5
  • 72. 4: Camada de Rede 4a-72 Algoritmo de Dijkstra: exemplo u y x w v z Árvore de caminhos mínimos resultante originada em u: v x y w z (u,v) (u,x) (u,x) (u,x) (u,x) destino enlace Tabela de encaminhamento resultante em u:
  • 73. 4: Camada de Rede 4a-73 Algoritmo de Dijkstra, discussão Complexidade algoritmica: n nós  a cada iteração: precisa checar todos nós, w, não em N’  n*(n+1)/2 comparações => O(n2)  implementações mais eficientes possíveis: O(nlogn) Oscilações possíveis:  p.ex., custo do enlace = carga do tráfego carregado A D C B 1 1+e e 0 e 1 1 0 0 A D C B 2+e 0 0 0 1+e 1 A D C B 0 2+e 1+e 1 0 0 A D C B 2+e 0 e 0 1+e 1 inicialmente … recalcula rotas … recalcula … recalcula
  • 74. 4: Camada de Rede 4a-74 Capítulo 4: Camada de Rede  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 75. 4: Camada de Rede 4a-75 Algoritmo Vetor de Distâncias Equação de Bellman-Ford (programação dinâmica) Define dx(y) := custo do caminho de menor custo entre x e y Então dx(y) = min {c(x,v) + dv(y) } onde min é tomado entre todos os vizinhos v de x v
  • 76. 4: Camada de Rede 4a-76 Exemplo com Bellman-Ford u y x w v z 2 2 1 3 1 1 2 5 3 5 Claramente, dv(z) = 5, dx(z) = 3, dw(z) = 3 du(z) = min { c(u,v) + dv(z), c(u,x) + dx(z), c(u,w) + dw(z) } = min {2 + 5, 1 + 3, 5 + 3} = 4 O nó que leva ao custo mínimo é o próximo passo ao longo do caminho mais curto➜ tab. de encaminhamento A equação B-F diz:
  • 77. 4: Camada de Rede 4a-77 Algoritmo Vetor de Distâncias  Dx(y) = estimativa do menor custo entre x e y  Vetor de distâncias: Dx = [Dx(y): y є N ]  Nó x sabe o custo para cada vizinho v: c(x,v)  Nó x mantém Dx = [Dx(y): y є N ]  Nó x mantém ainda os vetores de distâncias dos seus vizinhos  Para cada vizinho v, x mantém Dv = [Dv(y): y є N ]
  • 78. 4: Camada de Rede 4a-78 Algoritmo Vetor de Distâncias (4) Idéia básica:  Cada nó envia periodicamente o seu próprio vetor de distâncias estimado para os vizinhos  Quando um nó x recebe um novo VD estimado de um vizinho, ele atualiza o seu VD usando a eq. B-F: Dx(y) ← minv{c(x,v) + Dv(y)} p/ cada nó y ∊ N  Sob condições mínimas, naturais, a estimativa Dx(y) converge para o menor custo real dx(y)
  • 79. 4: Camada de Rede 4a-79 Algoritmo Vetor de Distâncias (5) Iterativo, assíncrono: cada iteração local causada por:  mudança do custo do enlace local  mensagem do vizinho: mudança de caminho de menor custo para algum destino Distribuído:  cada nó avisa a seus vizinhos apenas quando muda seu caminho de menor custo para qualquer destino  os vizinhos então avisam a seus vizinhos, se for necessário espera (mudança no custo de mensagem do vizinho) recalcula tabela de distâncias se mudou o caminho de menor custo para qq. destino, avisa vizinhos Cada nó:
  • 80. 4: Camada de Rede 4a-80 x y z x y z 0 2 7 ∞ ∞ ∞ ∞ ∞ ∞ origem custo para origem origem x y z x y z 0 2 3 origem custo para x y z x y z 0 2 3 origem custo para x y z x y z ∞ ∞ ∞ ∞ ∞ custo para x y z x y z 0 2 7 origem custo para x y z x y z 0 2 3 origem custo para x y z x y z 0 2 3 origem custo para x y z x y z 0 2 7 origem custo para x y z x y z ∞ ∞ ∞ 7 1 0 custo para ∞ 2 0 1 ∞ ∞ ∞ 2 0 1 7 1 0 2 0 1 7 1 0 2 0 1 3 1 0 2 0 1 3 1 0 2 0 1 3 1 0 2 0 1 3 1 0 tempo x z 1 2 7 y tabela nó x tabela nó y tabela nó z Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2 Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)} = min{2+1 , 7+0} = 3
  • 81. 4: Camada de Rede 4a-81 Vetor de Distâncias: mudança no custo dos enlaces Mudança no custo dos enlaces:  nó detecta mudança no custo do enlace local  atualiza tabela de distâncias  se mudou o VD, avisa aos vizinhos X Z 1 4 50 Y 1 “boas notícias chegam logo” No tempo t0, y detecta a mudança no custo do enlace, atualiza o seu VD e informa os vizinhos. No tempo t1, z recebe a atualização de y e atualiza a sua tabela. Computa o novo menor custo p/ x e envia o seu VD p/ os vizinhos. No tempo t2, y recebe a atualização de z e atualiza a sua tabela. Os custos mínimos de y não mudam e portanto y não envia nenhuma mensagem para z.
  • 82. 4: Camada de Rede 4a-82 Vetor de Distâncias: mudança no custo dos enlaces Mudança no custo dos enlaces:  boas notícias chegam logo  más notícias demoram para chegar - problema da “contagem ao infinito”!  44 iterações antes do algoritmo estabilizar: veja texto Reverso envenenado:  Se z roteia via y p/ chegar a x:  z informa p/ y que sua distância p/ x é infinita (p/ que y não roteie p/ x via z)  será que isto resolve completamente o problema da contagem ao infinito? x z 1 4 50 y 60
  • 83. 4: Camada de Rede 4a-83 Comparação dos algoritmos EE e VD Complexidade de mensagens  EE: com n nós, E enlaces, O(nE) mensagens enviadas  VD: trocar mensagens apenas entre vizinhos  varia o tempo de convergência Rapidez de Convergência  EE: algoritmo O(n2) requer O(nE) mensagens  podem ocorrer oscilações  VD: varia tempo para convergir  podem ocorrer rotas cíclicas  problema de contagem ao infinito Robustez: o que acontece se houver falha do roteador? EE:  nó pode anunciar valores incorretos de custo de enlace  cada nó calcula sua própria tabela VD:  um nó VD pode anunciar um custo de caminho incorreto  a tabela de cada nó é usada pelos outros nós • um erro propaga pela rede
  • 84. 4: Camada de Rede 4a-84 Capítulo 4: Camada de Rede  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 85. 4: Camada de Rede 4a-85 Roteamento Hierárquico escala: com 200 milhões de destinos:  impossível guardar todos destinos na tabela de rotas!  troca de tabelas de rotas afogaria os enlaces! autonomia administrativa  internet = rede de redes  cada admin de rede pode querer controlar roteamento em sua própria rede Neste estudo de roteamento fizemos uma idealização:  todos os roteadores idênticos  rede “não hierarquizada” (“flat”) … não é verdade, na prática
  • 86. 4: Camada de Rede 4a-86 Roteamento Hierárquico  agregar roteadores em regiões, “sistemas autônomos” (SAs)  roteadores no mesmo SA usam o mesmo protocolo de roteamento  protocolo de roteamento “intra-SA”  roteadores em SAs diferentes podem usar diferentes protocolos de roteamento intra-SA Roteador de borda  Enlace direto para roteador em outro SA
  • 87. 4: Camada de Rede 4a-87 SAs interconectados 3b 1d 3a 1c 2a SA3 SA1 SA2 1a 2c 2b 1b Algoritmo de roteamento intra-AS Algoritmo de roteamento intra-AS Tabela de encaminhamento 3c  Tab. de encaminhamento é configurada pelos algoritmos intra-SA e inter-SA  Intra-SA define entradas p/ dest. internos  Inter-SA e Intra-SA define entradas p/ dest. externos
  • 88. 4: Camada de Rede 4a-88 3b 1d 3a 1c 2a SA3 SA1 SA2 1a 2c 2b 1b 3c Tarefas do roteamento inter-SA  Suponha que um roteador em SA1 recebe um datagrama cujo destino está fora de SA1  Roteador deveria encaminhar o pacote p/ um dos roteadores de borda, mas qual? SA1 precisa: 1. aprender quais destinos são alcançáveis via SA2 e quais são alcançáveis via SA3 2. propagar estas info. de alcançabilidade para todos os roteadores em SA1 Tarefas do rot. inter-SA!
  • 89. 4: Camada de Rede 4a-89 Exemplo: definindo a tabela de encaminhamento no roteador 1d  Suponha que SA1 aprende através do protocolo inter-SA que a sub-rede x é alcançável via SA3 (rot. de borda 1c) mas não via SA2.  Protocolo Inter-SA propaga info. de alcançabilidade para todos os roteadores internos.  Roteador 1d determina através de info. de roteamento intra-SA que sua interface I está no caminho mínimo para 1c.  Coloca par (x,I) na tab. de encaminhamento.
  • 90. 4: Camada de Rede 4a-90 Aprende através do protocolo inter-SA que a sub-rede x é alcançável via múltiplos roteadores de borda Usa info. de roteamento do protocolo intra-SA p/ determinar os caminhos mínimos p/ cada rot. de borda Roteamento batata quente: escolhe o roteador de borda que tem o caminho de menor custo Determina da tab. de encaminhamento a interface I que leva ao rot. de borda de menor custo. Insere (x,I) na tab. de encaminhamento Exemplo: escolhendo entre múltiplos SAs  Suponha agora que SA1 aprende através do protocolo inter-SA que a sub-rede x é alcançável via SA3 e via SA2.  Para configurar a tabela de encaminhamento, o roteador 1d deve determinar para qual roteador de borda ele deve enviar pacotes com destino x .  Isto também é tarefa do protocolo de roteamento inter-SA!  Roteamento batata quente (hot potato): envia pacote para o roteador de borda mais próximo.
  • 91. 4: Camada de Rede 4a-91 Capítulo 4: Camada de Rede  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 92. 4: Camada de Rede 4a-92 Roteamento Intra-SA  Também conhecidos como Interior Gateway Protocols (IGP)  Os protocolos de roteamento Intra-SA mais comuns são:  RIP: Routing Information Protocol  OSPF: Open Shortest Path First  IGRP: Interior Gateway Routing Protocol (proprietário da Cisco)
  • 93. 4: Camada de Rede 4a-93 Capítulo 4: Camada de Rede  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 94. 4: Camada de Rede 4a-94 RIP (Routing Information Protocol)  Algoritmo vetor de distâncias  Incluído na distribuição do BSD-UNIX em 1982  Métrica de distância: # de enlaces (máx = 15 enlaces) D C B A u v w x y z destino saltos u 1 v 2 w 2 x 3 y 3 z 2 Do roteador A p/ sub-redes:
  • 95. 4: Camada de Rede 4a-95 Anúncios RIP  Vetores de distâncias: trocados a cada 30 seg via Mensagem de Resposta (também chamada de anúncio)  Cada anúncio: rotas para até 25 redes destino dentro do SA
  • 96. 4: Camada de Rede 4a-96 Exemplo RIP Rede Destino Próximo Roteador No. de enlaces ao destino w A 2 y B 2 z B 7 x -- 1 …. …. .... w x y z A C D B Tabela de rotas em D ...
  • 97. 4: Camada de Rede 4a-97 Exemplo RIP Rede Destino Próximo Roteador No. de enlaces ao destino w A 2 y B 2 z B A 7 5 x -- 1 …. …. .... w x y z A C D B Tabela de rotas em D ... Dest Prox Saltos w - 1 x - 1 z C 4 …. … ... Anúncios de A para D
  • 98. 4: Camada de Rede 4a-98 RIP: Falha e Recuperação de Enlaces Se não for recebido anúncio novo durante 180 seg --> vizinho/enlace declarados mortos  rotas via vizinho invalidadas  novos anúncios enviados aos vizinhos  na sua vez, os vizinhos publicam novos anúncios (se foram alteradas as suas tabelas)  informação sobre falha do enlace rapidamente propaga para a rede inteira  reverso envenenado usado para impedir rotas cíclicas (ping-pong) (distância infinita = 16 enlaces)
  • 99. 4: Camada de Rede 4a-99 RIP: Processamento de tabelas  Tabelas de roteamento RIP gerenciadas por processo de nível de aplicação chamado route-d (routing daemon)  anúncios enviados em pacotes UDP, repetidos periodicamente
  • 100. 4: Camada de Rede 4a-100 Capítulo 4: Camada de Rede  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 101. 4: Camada de Rede 4a-101 OSPF (Open Shortest Path First)  “open” (aberto): publicamente disponível  Usa algoritmo do Estado de Enlaces  disseminação de pacotes EE  mapa da topologia a cada nó  cálculo de rotas usando o algoritmo de Dijkstra  Anúncio de OSPF inclui uma entrada por roteador vizinho  Anúncios disseminados para SA inteiro (via inundação)  Carregados em mensagens OSPF diretamente sobre IP (ao invés de TCP ou UDP)
  • 102. 4: Camada de Rede 4a-102 OSPF: características “avançadas” (não existentes no RIP)  Segurança: todas mensagens OSPF autenticadas (para impedir intrusão maliciosa)  Caminhos Múltiplos de custos iguais permitidos (o RIP permite e usa apenas uma rota)  Para cada enlace, múltiplas métricas de custo para TOS diferentes (p.ex, custo de enlace de satélite colocado como “baixo” para melhor esforço; “alto” para tempo real)  Suporte integrado para ponto a ponto e multiponto:  OSPF multiponto (MOSPF) usa mesma base de dados de topologia usado por OSPF  OSPF hierárquico em domínios grandes.
  • 103. 4: Camada de Rede 4a-103 OSPF Hierárquico
  • 104. 4: Camada de Rede 4a-104 OSPF Hierárquico  Hierarquia de dois níveis: área local, backbone.  Anúncios de EE disseminados apenas na mesma área  cada nó possui topologia detalhada da área; apenas sabe a direção (caminho mais curto) para redes em outras áreas.  Roteador de fronteira de área: “sumariza” distâncias às redes na sua própria área, anuncia a outros roteadores de fronteira de área.  Roteadores do backbone: realizam roteamento OSPF limitado ao backbone.  Roteadores de fronteira: ligam a outros SAs.
  • 105. 4: Camada de Rede 4a-105 Capítulo 4: Camada de Rede  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 106. 4: Camada de Rede 4a-106 Roteamento inter-SA na Internet: BGP  BGP (Border Gateway Protocol): o padrão de fato  BGP provê para cada SA meios de: 1. Obter informação de alcançabilidade de sub-redes a partir de SAs vizinhos. 2. Propagar informação de alcançabilidade para todos os roteadores internos ao SA. 3. Determinar “boas” rotas para sub-redes a partir de informação de alcançabilidade e políticas.  Permite que uma sub-rede anuncie a sua existência para o resto da Internet: “Estou aqui!”
  • 107. 4: Camada de Rede 4a-107 Fundamentos do BGP  Par de roteadores (pares BGP) trocam info. de roteamento através de conexões TCP semi-permanentes TCP: sessões BGP  Note que sessões BGP não correspondem a enlaces físicos.  Quando um SA2 anuncia um prefixo para SA1, SA2 está prometendo que vai enviar àquele prefixo quaisquer datagramas destinados ao mesmo.  SA2 pode agregar prefixos nos seus anúncios 3b 1d 3a 1c 2a SA3 SA1 SA2 1a 2c 2b 1b 3c eBGP session iBGP session
  • 108. 4: Camada de Rede 4a-108 Distribuindo informação de alcançabilidade  Com a sessão eBGP 3a-para-1c, SA3 envia informação de alcançabilidade de prefixos para SA1.  1c pode usar iBGP para distribuir esta nova informação de alcance de prefixo para todos os roteadores em SA1.  1b pode então re-anunciar a nova informação de alcance para SA2 através da sessão eBGP 1b-para-2a.  Quando um roteador aprende sobre um novo prefixo, ele cria uma entrada para o prefixo na sua tabela de encaminhamento. 3b 1d 3a 1c 2a SA3 SA1 SA2 1a 2c 2b 1b 3c eBGP session iBGP session
  • 109. 4: Camada de Rede 4a-109 Atributos de caminho & Rotas BGP  Quando um prefixo é anunciado, o anúncio inclui atributos BGP.  prefixo + atributos = “rota”  Dois atributos importantes:  AS-PATH: contém os SAs pelos quais o anúncio para o prefixo passou: AS 67 AS 17  NEXT-HOP: indica o roteador específico, interno ao SA, que leva ao SA do próximo salto. (Pode haver múltiplos enlaces do SA atual para o SA do próximo salto)  Quando um roteador de borda recebe um anúncio de rota, usa a política de importação para aceitar/declinar.
  • 110. 4: Camada de Rede 4a-110 Seleção de rota do BGP  Roteador pode aprender sobre mais de 1 rota para algum prefixo. Ele deve selecionar a rota.  Regras de eliminação: 1. Valor do atributo preferência local associado à rota: decisão política 2. Menor AS-PATH 3. Roteador NEXT-HOP mais próximo: roteamento batata quente 4. Critérios adicionais
  • 111. 4: Camada de Rede 4a-111 Mensagens BGP  Mensagens BGP trocadas usando TCP.  Mensagens BGP:  OPEN: abre conexão TCP ao roteador par e autentica remetente  UPDATE: anuncia caminho novo (ou retira velho)  KEEPALIVE mantém conexão viva na ausência de UPDATES; também reconhece pedido OPEN  NOTIFICATION: reporta erros na mensagem anterior; também usada para fechar conexão
  • 112. 4: Camada de Rede 4a-112 Políticas de roteamento BGP  A,B,C são redes de provedores  X,W,Y são clientes (das redes de provedores)  X com duas interfaces: conectadas a duas redes  X não quer rotear de B para C  .. então X não vai anunciar para B a rota para C A B C W X Y legenda: rede cliente rede provedor
  • 113. 4: Camada de Rede 4a-113 Políticas de roteamento BGP (2)  A anuncia para B o caminho AW  B anuncia para X o caminho BAW  Deveria B anunciar para C o caminho BAW?  Nem pensar! B não obtém “rendimento” pelo roteamento CBAW, já que nem W ou C são clientes de B  B quer forçar C a rotear para W via A  B quer rotear apenas para/dos seus clientes! A B C W X Y legenda: rede cliente rede provedor
  • 114. 4: Camada de Rede 4a-114 Por quê há diferenças entre roteamento Intra- e Inter-SA? Políticas:  Inter-SA: administração quer controle sobre como tráfego roteado, quem transita através da sua rede.  Intra-AS: administração única, logo são desnecessárias decisões políticas Escalabilidade:  roteamento hierárquico economiza tamanho de tabela de rotas, reduz tráfego de atualização Desempenho:  Intra-AS: pode focar em desempenho  Inter-AS: políticas podem ser mais importantes do que desempenho
  • 115. 4: Camada de Rede 4a-115 Capítulo 4: Camada de Rede  4. 1 Introdução  4.2 Redes baseadas em circuitos virtuais e datagramas  4.3 O que existe dentro de um roteador  4.4 IP: Internet Protocol  Formato do datagrama  Endereçamento IPv4  ICMP  IPv6  4.5 Algoritmos de roteamento  Estado de enlaces  Vetor de distâncias  Roteamento hierárquico  4.6 Roteando na Internet  RIP  OSPF  BGP  4.7 Roteamentos broadcast e multicast
  • 116. 4: Camada de Rede 4a-116 R1 R2 R3 R4 duplicação na fonte R1 R2 R3 R4 duplicação dentro da rede criação/transmissão duplicada duplicação Roteamento Broadcast  Envia pacotes de uma para todos os outros nós  Duplicação na fonte é ineficiente:  Duplicação na fonte: como a fonte determina os endereços dos receptores duplicação
  • 117. 4: Camada de Rede 4a-117 Duplicação dentro da rede  Inundação: quando nó recebe pacotes de broadcast, envia cópia para todos os vizinhos  Problemas: ciclos e tempestades de broadcast  Inundação controlada: nó somente faz broadcast com o pacote se já não tiver feito antes com o mesmo pacote  Nó mantém registro sobre ids dos pacotes para os quais já fez broadcast  Ou adota envio pelo caminho reverso (Reverse Path Forwarding - RPF): só encaminha pacote se chegou pelo caminho mínimo entre o nó e a fonte  Árvores geradoras (spanning trees)  Nenhum pacote redundante recebido por nenhum nó
  • 118. 4: Camada de Rede 4a-118 A B G D E c F A B G D E c F (a) Broadcast iniciado em A (b) Broadcast iniciado em D Árvore Geradora  Primeiro construa uma árvore geradora  Nós encaminham cópias somente ao longo da árvore geradora
  • 119. 4: Camada de Rede 4a-119 A B G D E c F 1 2 3 4 5 (a) Construção passo-a- passo da árvore geradora A B G D E c F (b) Árvore geradora construída Árvore Geradora: criação  Nó central  Cada nó envia mensagem de junção ponto-a-ponto (unicast) para o nó central  Mensagem encaminhada até que chegue em um nó já pertencente à árvore geradora
  • 120. Roteamento Multicast: definição do problema  Meta: achar uma árvore (ou árvores) conectando todos os roteadores com membros locais do grupo mcast  árvore: nem todos os caminhos entre roteadores são usados  baseada na origem: árvore distinta de cada fonte p/ receptores  compartilhada: mesma árvore usada por todos os membros do grupo Árvore compartilhada Árvores baseadas na origem
  • 121. Abordagens para a construção de árvores mcast  Abordagens:  baseada na origem: uma árvore por fonte  árvores de caminhos mínimos  envio pelo caminho reverso  compartilhada: grupo usa uma árvore única  árvore de custo mínimo (Steiner)  árvore baseada em um centro …primeiro olharemos as abordagens básicas, e depois protocolos específicos que adotam estas abordagens
  • 122. Árvore de Caminhos Mínimos  Árvore de encaminhamento mcast: árvore composta pelos caminhos mínimos da fonte para todos os receptores  Algoritmo de Dijkstra R1 R2 R3 R4 R5 R6 R7 2 1 6 3 4 5 i roteador com membro do grupo atrelado roteador sem membro do grupo atrelado enlace usado p/ envio, i indica a ordem de adição do enlace pelo algoritmo LEGENDA S: fonte
  • 123. Envio pelo Caminho Reverso se (datagrama mcast recebido por um enlace de entrada no caminho mínimo de volta para a fonte) então inunda o datagrama por todos os enlaces de saída senão ignora o datagrama  Baseia-se no conhecimento do roteador sobre caminhos mínimos unicast dele para a fonte  cada roteador tem um comportamento de envio simples:
  • 124. Envio pelo Caminho Reverso: exemplo • resultado é uma árvore de caminho mínimo reversa específica para a fonte - pode ser uma escolha ruim para enlaces assimétricos R1 R2 R3 R4 R5 R6 R7 datagrama vai ser encaminhado LEGENDA S: fonte datagrama não vai ser encaminhado roteador com membro do grupo atrelado roteador sem membro do grupo atrelado
  • 125. Envio pelo Caminho Reverso: poda  Árvore de encaminhamento contém sub-árvores sem nenhum membro do grupo multicast  não há necessidade de enviar datagramas pelas sub-árvores  mensagens de “poda” enviadas para trás pelo roteador sem nenhum membro do grupo pra frente R1 R2 R3 R4 R5 R6 R7 mensagem de poda LEGENDA S: fonte enlace com envio mcast P P P roteador com membro do grupo atrelado roteador sem membro do grupo atrelado
  • 126. Árvore de Steiner  Árvore de Steiner: árvore de custo mínimo conectando todos os roteadores com membros locais do grupo mcast  problema NP-completo  existem excelentes heurísticas  não é usada na prática:  complexidade computacional  necessita informações sobre a rede inteira  monolítica: recalculada sempre que um roteador precisa ser acrescentado/retirado
  • 127. Árvores baseadas em centros  árvore de envio única compartilhada por todos  um roteador eleito como “centro” da árvore  para juntar-se:  roteador de fora envia msg-junção unicast endereçada ao roteador central  msg-junção é “processada” pelos roteadores intermediários e encaminhada para o centro  msg-junção ou chega a um ramo da árvore já existente para este centro, ou chega ao centro  caminho seguido por msg-junção se torna novo ramo da árvore para este roteador
  • 128. Árvores baseadas em centros: exemplo Suponha que R6 foi escolhido como centro: R1 R2 R3 R4 R5 R6 R7 ordem em que as mensagens de junção são geradas LEGENDA 2 1 3 1 roteador com membro do grupo atrelado roteador sem membro do grupo atrelado
  • 129. Roteamento Multicast na Internet: DVMRP  DVMRP: distance vector multicast routing protocol, RFC1075  inundação e poda: envio pelo caminho reverso (RPF), árvore baseada na fonte  árvore RPF baseada em tabelas de roteamento próprias do DVMRP, construídas por meio da comunicação entre roteadores DVMRP  nada assume sobre o roteamento unicast subjacente  datagrama inicial para o grupo mcast é inundado por todo lugar via RPF  roteadores sem membros: mensagens de poda para cima
  • 130. DVMRP: continuando…  estado soft : roteador DVMRP “esquece” periodicamente (1 min.) que ramos estão podados:  dados mcast novamente fluem pelos ramos não podados  roteador de baixo: refaz a poda ou continua a receber dados  roteadores podem rapidamente se enxertar na árvore  seguindo junção IGMP na folha  considerações finais  comumente implementado em roteadores comerciais  roteamento Mbone feito através do DVMRP
  • 131. Tunelamento Q: Como conectar “ilhas” de roteadores multicast em um “oceano” de roteadores unicast?  datagrama mcast encapsulado dentro de um datagrama “normal” (sem endereço multicast)  datagrama IP normal enviado através de um “túnel” via IP unicast regular para o roteador mcast receptor  roteador mcast receptor desencapsula para obter datagrama mcast Topologia física Topologia lógica
  • 132. PIM: Protocol Independent Multicast  não depende de nenhum algoritmo de roteamento unicast subjacente (trabalha com todos)  Dois cenários de distribuição multicast diferentes: Denso:  membros do grupo densamente empacotados, em “estreita proximidade”  maior disponibilidade de banda Esparso:  # de redes com membros do grupo pequeno em relação ao # de redes interconectadas  membros do grupo “amplamente dispersos”  menor disponibilidade de banda
  • 133. Conseqüências da Dicotomia Esparso-Denso: Denso  participação dos roteadores nos grupos assumida até que os roteadores se podem explicitamente  construção da árvore mcast ditada pelos dados (e.x., RPF)  uso da banda e processamento no roteador não participante do grupo perdulários Esparso:  sem participação até que os roteadores se juntem explicitamente  construção da árvore mcast ditada pelos receptores (e.x., baseada em centro)  uso da banda e processamento no roteador não participante do grupo criteriosos
  • 134. PIM- Modo Denso RPF com inundação e poda, similar ao DVMRP mas  Protocolo de roteamento unicast subjacente provê as informações referentes ao datagrama chegando, necessárias ao RPF  inundação menos complicada (menos eficiente) que a do DVMRP reduz a dependência em relação ao algoritmo de roteamento subjacente  possui mecanismo no protocolo para que o roteador detecte que é um nó folha
  • 135. PIM – Modo Esparso  abordagem baseada em centro  Roteador envia msg. de junção para o ponto de encontro (rendezvous point - RP)  Roteadores intermediários atualizam estado e encaminham msg. de junção  após se juntar via RP, roteador pode mudar p/ árvore baseada na fonte  performance melhorada: menos concentração, caminhos menores R1 R2 R3 R4 R5 R6 R7 junção junção junção multicast dos dados a partir do ponto de encontro (RP) ponto de encontro
  • 136. PIM – Modo Esparso fonte(s):  dados via rot. unicast para o RP, que os distribui ao longo da árvore com raiz no RP  RP pode estender árvore mcast para cima até a fonte  RP pode enviar msg. pare p/ fonte se não houver receptores atrelados  “ninguém está ouvindo!” R1 R2 R3 R4 R5 R6 R7 junção junção junção multicast dos dados a partir do ponto de encontro (RP) ponto de encontro
  • 137. 4: Camada de Rede 4a-137 Camada de Rede: resumo Próxima parada: A camada de Enlace de Dados! O que nós cobrimos:  Serviços da camada de rede  Princípios de roteamento: estado dos enlaces e vetor de distâncias  roteamento hierárquico  IP  protocolos de roteamento Internet RIP, OSPF, BGP  O que tem dentro de um roteador?  IPv6