0% acharam este documento útil (0 voto)
13 visualizações259 páginas

Slides Do Capítulo 6

Enviado por

isacmartins.1225
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
13 visualizações259 páginas

Slides Do Capítulo 6

Enviado por

isacmartins.1225
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

CAP 6.

CAMADA DE REDE
AULA 1: INTRODUÇÃO E ENDEREÇOS IP
INE5422 REDES DE COMPUTADORES II
P ROF. ROBE RTO W I L L R I CH ( I N E /U FSC)
ROBE RTO.WIL LRI CH@U FSC. BR
HT T P S://MOODL E.U FSC. BR
Capítulo 2
Camada de aplicação
Nota sobre o uso destes slides ppt:
Estamos disponibilizando estes slides gratuitamente a todos
(professores, alunos, leitores). Eles estão em formato do
PowerPoint para que você possa incluir, modificar e excluir
slides (incluindo este) e o conteúdo do slide, de acordo com
suas necessidades. Eles obviamente representam muito
trabalho da nossa parte. Em retorno pelo uso, pedimos apenas
o seguinte:
 Se você usar estes slides (por exemplo, em sala de aula)
sem muita alteração, que mencione sua fonte (afinal, gostamos
que as pessoas usem nosso livro!).
Se você postar quaisquer slides sem muita alteração em um
site Web, que informe que eles foram adaptados dos (ou talvez
idênticos aos) nossos slides, e inclua nossa nota de direito
autoral desse material.

Obrigado e divirta-se! JFK/KWR

Todo o material copyright 1996-2009


J. F Kurose e K. W. Ross, Todos os direitos reservados.

slide 2 INE5422 - CAMADA DE REDE © 2010 Pearson Prentice Hall. Todos os direitos reservados. 2
Pilha de protocolos Internet
Aplicação: dá suporte às aplicações de rede
◦ HTTP, FTP, SMTP, ...
Transporte: transferência de dados host-a-host aplicação
(processo-a-processo)
◦ TCP, UDP transporte

Rede: roteamento de datagramas da origem até o rede


destino
◦ IP, protocolos de roteamento enlace
Enlace: transferência de dados entre elementos de rede
vizinhos física
◦ Ethernet
Física: bits “no fio”
INE5422 - CAMADA DE REDE 3
Cap 6. Camada de rede
Plano do capítulo
◦ Introdução: funções básicas da camada de rede
◦ Camada de rede da Internet
◦ Endereçamento IP
◦ Mapeamento de endereços: ARP e RARP
◦ Atribuindo endereços IP
◦ NAT
◦ Formato do datagrama IP
◦ Fragmentação e remontagem de datagramas IP
◦ ICMP Internet Control Message Protocol
◦ Protocolos de roteamento
◦ Arquitetura do Roteador
◦ IP Multicast
◦ IPv6

INE5422 - CAMADA DE REDE 4


Introdução: Camada de rede
dado
◦ Encaminha segmentos de transporte aplicação
transporte
pacote
do hosp. emissor ao receptor rede
enlace
física

◦ Camada distribuída: no emissor, rede rede


enlace enlace
receptor e nós intermediários rede
enlace
física física
física rede rede
◦ Lado emissor encapsula segmentos enlace
física
enlace
física

em datagramas rede
rede
enlace enlace
◦ Roteador examina campos de física
rede
física
enlace
cabeçalho em todos os datagramas física
aplicação
dado
IP que passam por ele rede
enlace rede
transporte
rede
rede física enlace enlace
enlace física física
física

INE5422 - CAMADA DE REDE 5


Duas importantes funções da camada de rede
Repasse (Comutação)
◦ mover pacotes da entrada do roteador para a saída apropriada do
roteador
◦ Analogia: processo de passar por um único cruzamento
Roteamento Modelo de um roteador
◦ determinar rota seguida pelos
pacotes da origem ao destino via
algoritmos de roteamento
◦ Analogia: processo de planejar
uma viagem da origem ao destino

INE5422 - CAMADA DE REDE 6


Redes de datagrama
Roteamento de pacotes pela rede WAN/Internet

INE5422 - CAMADA DE REDE 7


Introdução: Camada de Rede
Algoritmos de roteamento determinam valores em tabelas de
rotas

INE5422 - CAMADA DE REDE 8


Tabela
Tabela de de comutação
comutação
4 bilhões de entradas possíveis
Faixa de Endereços de Destino Interface de Enlace

11001000 00010111 00010000 00000000


até 0
11001000 00010111 00010111 11111111

11001000 00010111 00011000 00000000


até 1
11001000 00010111 00011000 11111111

11001000 00010111 00011001 00000000


até 2
11001000 00010111 00011111 11111111

senão 3

INE5422 - CAMADA DE REDE 9


Encontro de prefixos maiores

Prefixo do endereço Interface de Enlace


11001000 00010111 00010 0
11001000 00010111 00011000 1
11001000 00010111 00011 2
senão 3

Exemplos

DA: 11001000 00010111 00010110 10100001 Qual interface?

DA: 11001000 00010111 00011000 10101010 Qual interface?

INE5422 - CAMADA DE REDE 10


Camada de Rede da Internet
Funções da camada de rede de roteadores e hosts:
Camada de Transporte: TCP, UDP

Prot. de Roteamento Protocolo IP


•Seleção do caminho •Convenções de endereçamento
•RIP, OSPF, BGP •Formato do datagrama
Camada •Convenções de manip. do
de Rede datagrama
Tabela de
Resolução de roteamento Protocolo ICMP
endereços •Reporta erros
•ARP, RARP •Sinalização de rotas

Camada Enlace

Camada Física

INE5422 - CAMADA DE REDE 11


Tipos de Endereçamento
Endereçamento Horizontais
◦ O endereço não tem relação alguma com o lugar onde estão as entidades
dentro da rede
◦ Exemplo: endereços globalmente administrados (IEEE 802)
◦ Constituído do número de assinatura do usuário
◦ Exemplo: endereço MAC da placa de rede (camada de enlace)

◦ Dificulta o roteamento
◦ Não tem informações explícita sobre a localização da entidade
◦ Facilita a mobilidade
◦ Não necessita uma renumeração da entidade

INE5422 - CAMADA DE REDE 12


Tipos de Endereçamento
Endereçamento Hierárquico
◦ O endereço de uma entidade é constituído de acordo com os endereços
correspondentes aos vários níveis de hierarquia de que ela faz parte
◦ Exemplo: Redes Públicas de Pacote (recom. X.121)
◦ Endereços são números decimais formados por três campos: código do país, código
para a rede e um campo para endereçamento dentro da rede
◦ Exemplo: Endereço IP (Internet Protocol)
◦ Identificação do host é formado pelo endereço da rede e pelo endereço do
hospedeiro

INE5422 - CAMADA DE REDE 13


Endereçamento IP
Como Roteadores e Hosts são ligados a rede
◦ Host típico tem apenas uma conexão para a rede (interface)
◦ IP envia/recebe datagramas por esta interface
◦ Tem um endereço IP
◦ Roteador tem geralmente diversas interfaces
◦ Recebe datagramas de enlaces de entrada e envia para enlaces de saída
◦ Tem vários endereços IP

INE5422 - CAMADA DE REDE 14


Endereçamento IPv4
Notação Decimal Pontuada
◦ Exemplo:

32 bits

1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0

128 . 10 . 2 . 30

INE5422 - CAMADA DE REDE 15


Endereçamento IPv4
Capacidade de Endereçamento
◦ Palavra de 32 bits (4 bytes)
◦ Por exemplo: 150.162.60.200
◦ Permite endereçar mais de 4 bilhões de máquinas
◦ 232 = 4.294.967.296
◦ Mas diversos endereços são reservados

INE5422 - CAMADA DE REDE 16


Endereçamento IPv4
Endereçamento “class-full”:
◦ Redes de classe A, B, C, D e E
◦ Pelo fato que as redes da Internet variarem muito de tamanho
Classe NetID InterfaceID

INE5422 - CAMADA DE REDE

17
Endereços IP
Endereçamento “class-full”:
Classe
1.0.0.0 to
A 0 rede host 127.255.255.255
27-1 (127) redes de grande porte com 224-2 hosts (16777214)

B rede 128.0.0.0 to
10 host
191.255.255.255
214 (16384) redes com 216-2 hosts (65534)

192.0.0.0 to
C 110 rede host
223.255.255.255
221 (2097152) redes pequenas com 28-2 hosts (254)

224.0.0.0 to
D 1110 multicast address
239.255.255.255

32 bits

INE5422 - CAMADA DE REDE 18


Endereços Especiais

Prefixo Sufixo Exemplo Tipo de endereço Propósito


Todos 0´s Todos 0´s 0.0.0.0 Este computador Usado durante o boot
Rede Todos 0´s 200.200.200.0 Rede Identifica a rede
Rede Todos 1´s 200.200.200.255 Broadcast direto Broadcast para uma rede
específica
Todos 1´s Todos 1´s 255.255.255.255 Broadcast limitado Broadcast na rede local
127 Qualquer 127.0.0.0 Loopback Identifica o próprio host

INE5422 - CAMADA DE REDE 19


Endereçamento IP
Como Roteadores e Hosts são ligados a rede
◦ Endereços IP são associados às interfaces
◦ Endereços IP podem também identificar uma rede
◦ Campo de host com todos bits iguais a 0

INE5422 - CAMADA DE REDE 20


Endereçamento “class-full”
Endereço IP: Rede 223.1.1.0 Rede 223.1.2.0

◦ Parte rede (bits mais significativos)


◦ Parte host (bits menos significativos)
O que é uma rede? (da
perspectiva de endereço IP)
◦ Dispositivos com interface com o
mesma parte rede do endereço IP
◦ Pode alcançar fisicamente outro
Rede 223.1.3.0
dispositivo sem intervenção do
roteador
223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 1 1

INE5422 - CAMADA DE REDE 21


Endereçamento “class-full”
Quantas redes?

223.1.2.1

INE5422 - CAMADA DE REDE 22


Pontos Importantes

Endereçamento IP

• Endereçamento horizontal e hierárquico


• Endereçamento class full

INE5422 - CAMADA DE REDE 23


CAP 6. CAMADA DE REDE
AULA 2: ENDEREÇAMENTO IP (CIDR) E DHCP
INE5422 REDES DE COMPUTADORES II
P ROF. RO BE RTO W I L L R I CH ( I N E /U FSC)
ROBE RTO.W IL LRI CH@U FSC. BR
HT T P S://M OODL E.U FSC. BR
Endereçamento IPv4
Endereçamento “class-full”:
◦ Redes de classe A, B, C, D e E
◦ Pelo fato que as redes da Internet variarem muito de tamanho

Classe NetID InterfaceID

INE5422 - CAMADA DE REDE

25
Endereços IP
Endereçamento “class-full”:
Classe
1.0.0.0 to
A 0 rede host 127.255.255.255
27-1 (127) redes de grande porte com 224-2 hosts (16777214)

B rede 128.0.0.0 to
10 host
191.255.255.255
214 (16384) redes com 216-2 hosts (65534)

192.0.0.0 to
C 110 rede host
223.255.255.255
221 (2097152) redes pequenas com 28-2 hosts (254)

224.0.0.0 to
D 1110 multicast address
239.255.255.255

32 bits

INE5422 - CAMADA DE REDE 26


Endereçamento “class-full”
Problemas do endereçamento “class-full”
◦ Com o crescimento de uma empresa o números de hosts possíveis
de uma classe pode ser insuficiente
◦ Se uma empresa tiver mais de 254 hosts e tiver um endereço classe
C?
◦ Desperdício de blocos de endereços
◦ Uma rede de Classe B aloca endereços para 65K hosts, mesmo se
só existem 2000 hosts naquela rede

INE5422 - CAMADA DE REDE 27


Endereçamento IP: CIDR
Endereçamento “Classfull”:
◦ Uso ineficiente do espaço de endereçamento, exaustão do espaço de
endereços
CIDR: classless interdomain routing
◦ A porção de endereço de rede tem tamanho arbitrário
◦ Formato do endereço: A.B.C.D/x, onde x é o número de bits na parte de
rede do endereço

parte de parte de
rede host
11001000 00010111 00010000 00000000
200.23.16.0/23
INE5422 - CAMADA DE REDE 28
Endereçamento IP: CIDR com a rede wireless.ufsc.br
Endereço IP de uma interface:
◦ 150.162.147.188
◦ Máscara de sub-rede: 255.255.254.0 (/23) => 23 bits iniciais identificam a rede e
o restante a interface de rede (host)
Qual é o endereço da rede wireless.ufsc.br?
◦ 150.162.10010011.188/23 => endereço de uma interface
◦ 150.162.10010010.0 => endereço da rede tem todos os bits identificado a interface zerados
◦ 150.162.146.0 é a interface de rede

Broadcast na rede wireless.ufsc.br


◦ Broadcast limitado: 255.255.255.255
◦ Broadcast direto: todos os bits da parte de host são setados:
◦ 150.162.10010011.255 => 150.162.147.255

INE5422 - CAMADA DE REDE 29


Atribuindo endereços
Como um host obtém seu endereço IP?
◦ Endereço de rede é fixo para uma rede
◦ Existem duas formas para atribuir um endereço de host
Configuração Manual
◦ O endereço IP é configurado no computador pelo administrador do
sistema
Uso do DHCP
◦ Dynamic Host Configuration Protocol (DHCP)
◦ Um servidor DHCP na rede recebe pedidos DHCP de um cliente e aloca um
endereço IP para o cliente

INE5422 - CAMADA DE REDE 30


Atribuindo endereços
Configuração Manual

INE5422 - CAMADA DE REDE 31


DHCP
DHCP: Dynamic Host Configuration Protocol (RFC 2131)
◦ é um protocolo que oferece configuração dinâmica de terminais
◦ com concessão de endereços IP de host e outros parâmetros de configuração para clientes de
rede.
◦ é o sucessor do BOOTP.
◦ DHCP utiliza UDP e a porta 67
Baseia-se no modelo cliente-servidor:
◦ Um cliente solicita informações de configuração (endereço IP, máscara de rede,
gateway, servidores DNS,..)
◦ Servidor DHCP mantém o gerenciamento centralizado dos endereços IP usados
na rede
◦ Mais de um por rede (aumento da confiabilidade)

INE5422 - CAMADA DE REDE 32


DHCP
Mantém pool de endereços
◦ Pool de endereços (ex: 192.168.1.20 até 192.168.1.254) disponíveis para “alugar” por um
determinado período de tempo (lease time) para os clientes

O tempo do “alocação” dos endereços é configurável


◦ Se o tempo de alocação do endereço for muito longo...
◦ ... faz com que o endereço que foi alocado para o cliente esteja impossibilitado de ser usado
por outro host nesse período de tempo
◦ Se o tempo de alocação do endereço for muito curto...
◦ ... faz com que o cliente tenha que solicitar com frequência a “renovação” do alocação

Para configurar o lease time


◦ deve ser levado em consideração a quantidade de hosts que a rede possui e o quão dinâmico é o
ambiente

INE5422 - CAMADA DE REDE 33


DHCP
Ilustração de informações obtidas por um cliente DHCP
◦ Comando ipconfig /all (no command do windows)

INE5422 - CAMADA DE REDE 34


DHCP
Lease Life Cycle (ciclo de vida de alocação)
◦ Alocação (allocation):
◦ O cliente não possui um endereço e então faz a requisição por alocação
◦ Re-alocação (reallocation):
◦ Se o cliente já possui um endereço alocado, quando ele ligar ou reinicializar o host, ele irá
contatar o servidor para confirmar a alocação
◦ Renovação (renewal):
◦ Depois que um certo período do lease time tiver passado, o cliente contata o servidor para
renovar a locação
◦ Liberação (release):
◦ O cliente pode decidir a qualquer momento que não deseja mais utilizar o endereço que lhe
foi alocado, e pode encerrar a locação

INE5422 - CAMADA DE REDE 35


DHCP
Alocação (allocation) – figura no próximo slide
◦ Cliente envia uma mensagem broadcast “DHCP discover” para encontrar
servidores DHCP
◦ Caso haja um servidor DHCP na rede (ou até mais de um) o mesmo responde
com uma mensagem “DHCP offer”, ofertando alocação de um endereço para o
cliente
◦ Entre a(s) oferta(s) recebidas(s) – de acordo com o número de servidores que
responderam – o cliente solicita uma das ofertas (normalmente a primeira
recebida – depende da implementação do sistema operacional) com uma
mensagem “DHCP request”
◦ O servidor que recebeu a requisição pela oferta então
confirma o alocação através da mensagem “DHCP ack”

INE5422 - CAMADA DE REDE 36


DHCP

INE5422 - CAMADA DE REDE 37


DHCP
Re-alocação (reallocation)
◦ Se um cliente é inicializado e ele já possui o alocação de um endereço, ele
não precisa passar por todo o processo de alocação
◦ O cliente envia uma mensagem para encontrar o servidor que possui as
informações sobre sua alocação “DHCP request”
◦ O servidor responde ao cliente confirmando que o alocação ainda é válido
“DHCP ack”

INE5422 - CAMADA DE REDE 38


DHCP
Renovação (renewal)
◦ Cada cliente tem associado com seu endereço um renewal timer (T1),
normalmente setado para 50% do tempo do alocação
◦ Quando T1 esgotar, o cliente tentará renovar seu alocação com seu
servidor DHCP antes que o mesmo expire
◦ Caso não consiga efetuar a renovação até que o tempo do alocação
expire, o cliente entrará no processo de rebinding
◦ Aqui, irá disparar um broadcast para ver se algum servidor será capaz de
renovar seu endereço atual
◦ Por fim, caso nenhum servidor faça a renovação, o cliente terá que refazer
o processo de alocação

INE5422 - CAMADA DE REDE 39


DHCP
Liberação (release)
◦ Por alguma razão, um usuário pode decidir terminar com o alocação de
um determinado IP
◦ O cliente envia então uma mensagem DHCPRelease ao servidor DHCP que
mantém seu contrato
◦ O servidor libera o endereço IP para que o mesmo possa então ser
utilizado por outro cliente

INE5422 - CAMADA DE REDE 40


DHCP
Configuração Manual x Configuração Automática
Configuração Manual Configuração Automática

Endereço IP atribuído manualmente Endereço IP atribuído dinamicamente


em cada computador para cada computador

Possibilidade de atribuir endereços Clientes sempre terão configurações


inválidos ou conflitantes de endereçamento corretas

Diminui a sobrecarga de trabalho


Sobrecarga de trabalho aos
dos administradores de rede /
administradores da rede
Administração centralizada

Pouco amigável com usuários móveis Mais amigável com usuários móveis

INE5422 - CAMADA DE REDE 41


Pontos Importantes

Endereçamento IP

• Entender endereçamento sem classes e máscaras de sub-rede


• Conhecer o protocolo DHCP

INE5422 - CAMADA DE REDE 42


CAP 6. CAMADA DE REDE
AULA 3: MAPEAMENTO PARA ENDEREÇOS DE LAN E
ATRIBUINDO BLOCOS DE ENDEREÇOS
I N E 5 4 2 2 Re d e s D e C o m p u ta d o r e s I I
P r o f. R o b e r t o W i l l r i c h ( I N E / U F S C )
R o b e r t o .W i l l r i c h @ u f s c . B r
Https://Moodle.Ufsc.Br
Mapeamento de Endereços
Mapeamento do endereço de um host em um endereço de sub-
rede (muitas vezes o endereço de enlace-Endereço Físico)
◦ Problema a ser resolvido pelo nível de rede
ARP (Address Resolution Protocol)
◦ Endereços IP: virtuais (software)
◦ Hardware não consegue localizar host utilizando o endereço IP
◦ ARP
◦ Resolução de Endereço: mapear endereço físico para endereço lógico

INE5422 - CAMADA DE REDE 44


Como fazer ?
2) Troca de Mensagens. Qual é o endereço
Ethernet do Host
x.y.w.z?

Sou eu
abcd:efgh:ijkl:mopq

INE5422 - CAMADA DE REDE 45


Enviando uma mensagem ARP

Mensagem ARP encapsulada dentro de um quadro Ethernet

INE5422 - CAMADA DE REDE 46


Mapeamento de Endereços
ARP define a tradução de endereços IP em endereços físicos ETHERNET:
◦ Cada adaptador ETHERNET possui endereço único na LAN;
◦ ARP utiliza uma tabela de tradução:
Endereço IP Endereço Ethernet
150.162.60.60 08:00:20:11:FD:25
150.162.60.12 08:00:20:11:FD:25
150.162.60.50 08:00:20:11:FE:F9

◦ Se o endereço procurado não está na tabela, então difunde um pacote, para toda a
rede física, perguntado pelo endereço;
◦ Se alguém responde, então o endereço é inserido na tabela.

INE5422 - CAMADA DE REDE 47


Mapeamento de Endereços
1) Pesquisa em tabelas.

INE5422 - CAMADA DE REDE 48


Atribuindo endereços
Obtendo um endereço de rede
◦ O administrador da rede da organização deve contactar a provedora de serviços
internet (ISP)
◦ Que poderia fornecer endereços a partir de um grande bloco de endereços que teria sido
alocado para a ISP
◦ Se ISP tem alocado o bloco de endereço 200.23.16.0/20
◦ ISP poderia dividir o bloco de endereço em 8 blocos menores de endereços para cada uma das
organizações suportadas pela ISP
◦ Bloco da ISP 11001000 00010111 00010000 00000000 200.23.16.0/20
◦ 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

INE5422 - CAMADA DE REDE 49


Atribuindo endereços
Como uma ISP obtém seu bloco de endereços?
◦ Endereços IP são gerenciados pela Internet
Corporation for Assigned Names and Numbers (ICANN)
◦ Aloca não apenas endereços IP, mas também gerenciam servidores raiz DNS
◦ Atualmente endereços são gerenciados por registradores Internet regionais

INE5422 - CAMADA DE REDE 50


Atribuindo endereços
ICANN aloca bloco de endereços para registradores Internet
regionais

INE5422 - CAMADA DE REDE 51


Atribuindo endereços
Alocação dos blocos IPv4:
◦ http://www.iana.org/assignments/ipv4-address-space/ipv4-address-
space.xml

INE5422 - CAMADA DE REDE 52


Atribuindo endereços
Blocos de Endereços IPv4 esgotados
◦ https://www.potaroo.net/tools/ipv4/

LACNIC

INE5422 - CAMADA DE REDE 53


Atribuindo endereços
Como um ISP obtém seus blocos de endereço IPv4?
◦ Via a representação nacional do órgão regional

INE5422 - CAMADA DE REDE 54


Atribuindo endereços
Como um ISP obtém seus blocos de endereço IPv4?
◦ Recursos de Numeração distribuídos pelo Registro.br:
◦ ASN (Autonomous System Number)
◦ Blocos de endereços IPv4
◦ Regras em http://registro.br/tecnologia/provedor-acesso.html?secao=numeracao
◦ Blocos de endereços IPv6

INE5422 - CAMADA DE REDE 55


Atribuindo endereços
Custos para ISPs: https://registro.br/tecnologia/numeracao/custos/

INE5422 - CAMADA DE REDE 56


Atribuindo endereços
Custos para Usuário Final: https://registro.br/tecnologia/numeracao/custos/

INE5422 - CAMADA DE REDE 57


Pontos Importantes

Protocolo ARP e obtendo blocos de endereços IP

• Entender os objetivos e funcionamento do protocolo ARP


• Entender como os blocos de endereçamento IP são atribuídos a ISPs e usuários
finais

INE5422 - CAMADA DE REDE 58


CAP 6. CAMADA DE REDE
AULA 4: NAT (NETWORK ADDRESS TRANSLATOR)
INE5422 Redes De Computadores II
Pro f. Ro b e rto W i l l ric h ( I N E /U FSC)
Ro b e rto.Willri ch@ ufsc .Br
Htt ps : //Mo odle.U fsc .Br
NAT (Network Address Translator)
Tecnologia que permite ligar uma rede com endereços IP privados (não
utilizáveis na Internet) à Internet através de um servidor de NAT
◦ Contornar o problema de falta de números IP
◦ Traduz endereço válido em privado e vice-versa
Endereços Privados
◦ Faixas de endereços privados são definidas na RFC 1597:
◦ 10.0.0.0 -> 10.255.255.255
◦ 172.16.0.0 -> 172.31.255.255
◦ 192.168.0.0 -> 192.168.255.255
◦ Qualquer empresa pode utilizar estas faixas

INE5422 - CAMADA DE REDE 60


NAT (Network Address Translator)
Exemplo de uso
◦ Rede com 100 computadores com esquema de endereçamento
10.10.0.0/255.255.0.0
◦ Pode ter acesso à Internet usando um único endereço IP válido: o endereço IP da interface
externa do NAT.
◦ Uma grande economia de endereços IP!

Duas formas de tradução


◦ NAT Básico: a tradução simples de endereço IP global para endereço IP privado
(sem mapeamento de portas)
◦ NAPT/PAT (Port Address Translation): Envolve a tradução de endereços IP e de
número de portas

INE5422 - CAMADA DE REDE 61


NAT: Exemplo

restante da rede local


Internet (ex.: rede doméstica)
10.0.0.4
10.0.0.0/24
10.0.0.1
10.0.0.2
138.76.29.7

10.0.0.3

todos os datagramas que saem da rede


datagramas com origem ou destino
local possuem o mesmo e único
nesta rede possuem endereço
endereço IP do NAT de origem:
10.0.0.0/24 para origem, destino
138.76.29.7,
(usualmente)
números diferentes de portas de
origem

INE5422 - CAMADA DE REDE 62


NAT (Network Address Translator)
Servidor NAT
◦ Pode-se usar um equipamento específico (router com capacidade de
NAT), um servidor Linux, ou uma máquina Windows com ICS (Internet
Conection Sharing) ou outro software como Wingate ou Winroute
Configuração
◦ IP da interface interna: 10.10.0.1 ou 192.168.0.1 ou outro reservado
◦ IP da interface externa: Um ou mais endereços válidos na Internet
◦ obtidos a partir da conexão com o provedor de Internet

INE5422 - CAMADA DE REDE 63


NAPT
1: hospedeiro 10.0.0.1
2: roteador NAT
envia datagrama
substitui end. origem
para 128.119.40, 80
do datagram de
10.0.0.1, 3345 para
138.76.29.7, 5001,
atualiza a tabela

4: roteador NAT
3: resposta chega substitui o endereço de
endereço de destino: destino do datagrama
138.76.29.7, 5001 de 138.76.29.7, 5001
para 10.0.0.1, 3345

INE5422 - CAMADA DE REDE 64


NAPT
Quando um cliente acessa a Internet
◦ Pacote contém o endereço IP da rede interna.
◦ Ex.: 10.10.0.10.
◦ Pacote não pode ser enviado à Internet pois endereço é privado

Servidor NAT:
◦ Datagramas que saem:
◦ Substitue (endereço IP de origem, porta #) de cada datagrama para (endereço IP do NAT, nova porta #)
◦ Clientes/servidores remotos responderão usando (endereço IP do NAT, nova porta #) como endereço de
destino.
◦ Mantem a tabela de tradução do NAT
◦ Cada (endereço IP de origem, porta #) para o par de tradução (endereço IP do NAT, nova porta #).
◦ Datagramas que chegam
◦ substitue (endereço IP do NAT, nova porta #) nos campos de destino de cada datagrama pelos
correspondentes (endereço IP de origem, porta #) armazenados da tabela NAT

INE5422 - CAMADA DE REDE 65


NAPT
Tarefas e comportamentos
◦ Modificar o endereço IP de acordo com a tabela NAT
◦ Modificar o checksum do IP e TCP
◦ Modificar pacotes ICMPs
◦ Modificações nos campos do FTP, NetBIOS sobre TCP/IP, SNMP, DNS,
Kerberos, X-Windows, SIP, H.323, IKE...)
◦ Pacotes emitidos e recebidos deveriam não ter ciência da existência do
NAT

INE5422 - CAMADA DE REDE 66


NAPT
Campo número de porta com 16 bits:
◦ 65.535 conexões simultâneas com um único endereço de LAN
NAT é controverso:
◦ Roteadores deveriam processar somente até a camada 3
◦ Violação do argumento fim-a-fim
◦ A possibilidade de NAT deve ser levada em conta pelos
desenvolvedores de aplicações, ex., aplicações P2P
◦ A escassez de endereços deveria ser resolvida pelo IPv6

INE5422 - CAMADA DE REDE 67


NAT (Network Address Translator)
Traduções estáticas
◦ Úteis quando disponibilizamos serviços na rede
interna, como exemplo, um site Web
◦ quando o pedido de conexão chega ao
roteador, o NAT consulta a tabela de endereços
e transcreve para o IP interno correspondente,
permitindo assim, que seja possível fazer uma
conexão no sentido da Internet para a rede
interna.

INE5422 - CAMADA DE REDE 68


NAT (Network Address Translator)
Traduções Dinâmicas
◦ úteis quando se pretende dar acesso aos
computadores no sentido da rede corporativa
para Internet
◦ Endereço válido pode ser único ou uma faixa de
endereços
◦ No retorno do pedido: NAT consulta a tabela de
traduções e responde a máquina que fez a
requisição.

INE5422 - CAMADA DE REDE 69


NAT (Network Address Translator)
Outras aplicações
◦ Balanceamento de carga
◦ Uso de um IP global representando
um “servidor virtual”
◦ Na forma de várias máquinas com
IPs locais
◦ Servidor NAT traduz endereço global
em local de acordo com um algoritmo
de distribuição
◦ Alta disponibilidade
◦ Se uma máquina falhar, o servidor virtual ainda continua operando
(com os outros servidores)

INE5422 - CAMADA DE REDE 70


Pontos Importantes

NAT

• Entender seu funcionamento

INE5422 - CAMADA DE REDE 71


CAP 6. CAMADA DE REDE
AULA 5: PROTOCOLO IP E SEUS SERVIÇOS
I N E 5 4 2 2 R E D E S D E C O M P U TA D O R ES I I
P R O F. R O B E R TO W I L L R I C H ( I N E / U F S C )
R O B E R TO .W I L L R I C H @ U F S C . B R
HTTPS://MOODLE.UFSC.BR
Protocolo IP: Serviços
Protocolo IP não garante confiabilidade (não possui controle de
perda de pacotes)
◦ Não é usado reconhecimentos
◦ Possui checagem de pacotes que chegam usando checksum do cabeçalho
◦ Garante que as informações usadas pelos roteadores estão corretas
Não existe controle de fluxo e de congestionamento
Fornece um serviço de segmentação e remontagem de
datagramas longos
◦ Para que eles possam ser transferidos através de redes onde o tamanho
máximo (MSS) permitido para os pacotes é pequeno

INE5422 - CAMADA DE REDE 73


Formato do Datagrama IP
Formato do Datagrama IP
Tamanho do Cabeçalho
Versão do (em palavras de 32 bits)
protocolo IP (=4)

0 Byte 1 8 Byte 2 16 Byte 3 24 Byte 4 32

VERS HLEN DS Total Lenght


Identification Flags Fragment Offset
Time to Live Protocol Header Checksum
Source IP Address
Destination IP Address
IP Options (If any) Padding
Data
••••••

INE5422 - CAMADA DE REDE 74


Formato do Datagrama IP
Formato do Datagrama IP
0 Byte 1 8 Byte 2 16 Byte 3 24 Byte 4 32

VERS HLEN DS Total Lenght


Identification Flags Fragment Offset
Time to Live Protocol Header Checksum
Source IP Address
Differentiated Services: Armazena o tamanho do datagrama
Identifica a Qualidade de Destination IP Address
medido em bytes
16 = 65536 bytes
Serviço a ser fornecidaIP Options
para o (If any) Tam. Max. 2Padding
pacote
Data
Usados para fragmentação e
••••••
remontagem

INE5422 - CAMADA DE REDE 75


Formato do Datagrama IP
Usado para limitar o “tempo” de transmissão dos
Formato
datagramas:
do Datagrama IP
- Recebe um valor inicial
- Decrementado quando passa por um roteador
- Quando0chega a zero datagrama é descartado
Byte 1 8 Byte 2
16 Byte 3 24 Byte 4 32

VERS HLEN DS Total Lenght


Indica o protocolo de transporte que
gerou e que irá receber no destino
Identification Flags Fragment Offset
Time to Live Protocol Header Checksum
Source IP Address
Destination IP Address
IP Options
Usado(If any)
pelos roteador para verificarPadding
se as
Data
informações do cabeçalho estão corretas
••••••

INE5422 - CAMADA DE REDE 76


Formato do Datagrama IP
Formato do Datagrama IP
0 Byte 1 8 Byte 2 16 Byte 3 24 Byte 4 32

VERS HLEN DS Garante tamanho do


Total Lenght
header como múltiplo de
Identification Flags Fragment
32 bits Offset
Endereço da Fonte
Time to Live Protocol Header Checksum
Source IP Address
Endereço do destino Destination IP Address
IP Options (If any) Padding
Data
Usado para informações de segurança,
••••••
roteamento, relatório de erro, depuração,
fixação de hora, etc.

INE5422 - CAMADA DE REDE 77


Encapsulamento de Datagramas
cabeçalho área de dados do
Pacote TCP TCP TCP

cabeçalho área de dados do


Datagrama IP Datagrama (20) Datagrama (1480

cabeçalho área de dados


Quadro (14B) do quadro (1500B)
Quadro Ethernet

Máximo payload: 1514 bytes


Tamanho do cabeçalho TCP
 20 bytes do TCP
 20 bytes do IP
= 40 bytes + cabeçalho da camada
de aplicação + dados
INE5422 - CAMADA DE REDE 78
IP Fragmentação e Remontagem
Enlaces de rede têm MTU (max.transfer size)
◦ corresponde ao maior frame que pode ser
transportado pela camada de enlace.
◦ tipos de enlaces diferentes possuem MTU
diferentes (ethernet: 1500 bytes)
Datagramas IP grandes devem ser divididos
dentro da rede (fragmentados)
◦ um datagrama dá origem a vários datagramas
◦ “remontagem” ocorre apenas no destino final
◦ O cabeçalho IP é usado para identificar e ordenar
datagramas relacionados

INE5422 - CAMADA DE REDE 79


Fragmentação de Datagramas

Host A Host B

Rede 1 Rede 3

MTU = 1500 MTU = 1500

Roteador 1 Roteador 2
Rede 2

MTU = 620
INE5422 - CAMADA DE REDE 80
Fragmentação de Datagramas

INE5422 - CAMADA DE REDE 81


Formato do Datagrama IP
Formato do Datagrama IP
0 Byte 1 8 Byte 2 16 Byte 3 24 Byte 4 32

VERS HLEN DS Total Lenght


Identification Flags Fragment Offset
Time to Live Protocol Header Checksum
Source IP Address
Destination IP Address
IP Options (If any) Padding
Data
Usados para fragmentação e
••••••
remontagem

INE5422 - CAMADA DE REDE 82


Fragmentação e Remontagem
Campo flags do cabeçalho IP (3 bits)
◦ 1 Bit reservado
◦ 1 Bit DF (don’t fragment)
◦ 1 indica que o pacote não pode ser fragmentado
◦ Pois receptor não pode remontar
◦ Roteadores tentam encontrar caminho sem fragmentação
◦ Se não conseguir o pacote é descartado
◦ 1 Bit MF (more fragments)
◦ 1 indica que existem mais fragmentos

INE5422 - CAMADA DE REDE 83


IP Fragmentação e Remontagem
tamanho ID fragflag offset (4000-20=3980 bytes
=4000 =x =0 =0 de dados)

Um grande datagrama se torna


vários datagramas menores

tamanho ID fragflag offset


(1500-20=1480
=1500 =x bytes de dados)
=1 =0

tamanho ID fragflag offset (1500-20=1480


=1500 =x =1 =1480 bytes de dados)

tamanho ID fragflag offset (1040-20=1020


=1040 =x =0 =2960 bytes de dados)

INE5422 - CAMADA DE REDE 84


Fragmentação e Remontagem
Remontagem
◦ Módulo IP destinatário combina os datagramas IP que possuem o
mesmo valor para os campos identification, protocol, source address e
destination address
◦ Feita através da colocação da porção de dados de cada fragmento na posição
relativa indicada pelo valor de fragment-offset
◦ Primeiro fragmento possui o fragment-offset igual a 0
◦ Último fragmento tem um flag more fragments igual a 0

INE5422 - CAMADA DE REDE 85


Pontos Importantes

Protocolo IP

• Entender os serviços oferecidos pelo protocolo

INE5422 - CAMADA DE REDE 86


CAP 6. CAMADA DE REDE
AULA 6: ICMP E TRACEROUTE
I N E 5 4 2 2 R E D ES D E CO M P U TA D O R ES I I
P R O F. R O B E R TO W I L L R I C H ( I N E / U F S C )
R O B E R TO .W I L L R I C H @ U F S C . B R
HT TPS://MOODLE.UFSC.BR
ICMP: Internet Control Message Protocol
Usado por hosts, routers, para comunicações a Type Code description
0 0 echo reply (ping)
nível de rede 3 0 dest. network unreachable
◦ Relato de erros: protocolo, porta, rede, host não 3 1 dest host unreachable
3 2 dest protocol unreachable
encontrado 3 3 dest port unreachable
◦ echo request/reply (usado pelo ping) 3 6 dest network unknown
3 7 dest host unknown
4 0 source quench (congestion
Msgs ICMP control - not used)
◦ são transportados em pacotes IP 8 0 echo request (ping)
9 0 route advertisement
10 0 router discovery
Mensagens ICMP: type, code mais primeiros 8 11 0 TTL expired
bytes do datagrama IP causando erro 12 0 bad IP header

INE5422 - CAMADA DE REDE 88


ICMP: Internet Control Message Protocol
Msgs ICMP
◦ são transportados em pacotes IP
Mensagens ICMP:
◦ type, code mais primeiros 8
bytes do datagrama IP causando
erro

INE5422 - CAMADA DE REDE 89


Traceroute e ICMP
O transmissor envia uma série de segmentos UDP para o destino
(ICMP Echo Request)
◦ 1o possui TTL = 1, 2o possui TTL = 2 ... Incrementa TTL em cada tentativa até encontrar o destino

Quando o enésimo datagrama chega ao enésimo roteador:


◦ O roteador descarta o datagrama
◦ E envia à origem uma mensagem ICMP (type 11, code 0)
◦ A mensagem inclui o nome do roteador e o endereço IP

Quando a mensagem ICMP chega, a origem calcula o RTT


◦ O traceroute faz isso três vezes

Critério de interrupção
◦ O segmento UDP finalmente chega ao hospedeiro de destino
◦ O destino retorna o pacote ICMP “Echo Reply” (type 0, code 0)

INE5422 - CAMADA DE REDE 90


Traceroute e ICMP

INE5422 - CAMADA DE REDE 91


Traceroute e ICMP

INE5422 - CAMADA DE REDE 92


Pontos Importantes

Protocolo ICPM e Traceroute

• Entender os objetivos do protocolo ICMP


• Conhecer o funcionamento do traceroute

INE5422 - CAMADA DE REDE 93


CAP 6. CAMADA DE REDE
AULA 7: ARQUITETURA DE UM ROTEADOR
I N E 5 4 2 2 R E D ES D E CO M P U TA D O R ES I I
P R O F. R O B E R TO W I L L R I C H ( I N E / U F S C )
R O B E R TO .W I L L R I C H @ U F S C . B R
HT TPS://MOODLE.UFSC.BR
Arquitetura de um Roteador
Duas funções chaves do roteador:
◦ Executar algoritmos/protocolos de roteamento (RIP, OSPF, BGP)
◦ Comutar datagramas de enlaces de entrada para enlaces de saída

Elemento
de
Comutação

INE5422 - CAMADA DE REDE 95


Funções da porta de entrada

Camada Física: Comutação descentralizada:


Recepção a nível de  Dado o destino do datagrama, procura a porta de saída
bit usando a tabela de roteamento na memória da porta
de entrada
Camada de Enlace:  Objetivo: completar o processamento da porta de
(ex.:Ethernet) entrada na ‘velocidade do enlace’
 Fila: se os datagramas chegam mais rápido do que a
taxa de comutação do elemento de comutação

INE5422 - CAMADA DE REDE 96


Funções da porta de entrada
Funções da fila de entrada
◦ Consulta tabela de roteamento e encaminha pacote para porta de saída
◦ Escolha da porta de saída é feita usando a tabela de roteamento
◦ Tabela de roteamento é computada pelo processador de roteamento e cada
porta de entrada mantém uma cópia
◦ Com cópias locais a decisão de comutação pode ser feita localmente sem
invocar o processador centralizado
◦ Tal comutação descentralizada evita a ocorrência de um gargalo de processamento
em um único ponto

INE5422 - CAMADA DE REDE 97


Funções da porta de entrada
Em roteadores com capacidades de processamento limitadas
◦ A porta de entrada pode simplesmente encaminhar o pacote para o processador
de roteamento central
◦ Processador central consulta a tabela e encaminha pacote para a porta de saída
apropriada
◦ Abordagem realizada quando uma estação de trabalho ou servidor atua como
roteador
◦ Processador de roteamento é a própria CPU da máquina
◦ Porta de entrada é a placa de interface de rede

INE5422 - CAMADA DE REDE 98


Funções da porta de entrada
Uma vez determinada a porta de saída apropriada
◦ O pacote pode ser encaminhado via o elemento de comutação
◦ Mas pacote pode ter a entrada temporariamente bloqueada
◦ Se o elemento de comutação estiver ocupada enviando outro pacote
◦ Pacotes bloqueado são colocados em uma fila na porta de entrada
Pacotes de controle (RIP, OSPF ou BGP)
◦ São encaminhados para o processador de roteamento

INE5422 - CAMADA DE REDE 99


Três tipos de Elementos de Comutação

INE5422 - CAMADA DE REDE 100


Comutação Via Barramento
Comutação
◦ Datagrama é encaminhado da memória da porta de entrada para a memória da
porta de saída via barramento compartilhado
Contenção no barramento
◦ Velocidade de comutação limitada
pela velocidade do barramento
◦ Barramento de 1 Gbps é suficiente
para roteadores de acesso e de
empresas (Não para regional ou
backbones)
◦ Cisco 1900 é de 1 Gbps
◦ 3Com CoreBuilder 5000 systems é de 2 Gbps

INE5422 - CAMADA DE REDE 101


Comutação Cross-bar (rede ou matriz de interconexão)
Supera as limitações de largura de
banda do barramento
Redes de Banyan
◦ interconexão inicialmente desenvolvidas para
conectar processadores em multiprocessamento
Portas interconectadas
◦ 2N barramentos que conectam N portas de entrada a
N portas de saída
◦ Portas podem se comunicar ao mesmo tempo
(com paralelismo)

INE5422 - CAMADA DE REDE 102


Comutação Cross-bar (rede ou matriz de interconexão)

Comutação
◦ Pacote que chega na porta de entrada atravessa o
barramento horizontal ligado a porta de entrada até
a intersecção com o barramento vertical levando
a porta de saída
◦ Se o barramento vertical é livre o pacote é transmitido
para a porta de saída
◦ Se ocupado o pacote é bloqueado e deve ser enfileirado na
porta de entrada

INE5422 - CAMADA DE REDE 103


Portas de Saída
Bufferização é necessária quando datagramas chegam do elemento de
comutação mais rápido que a taxa de transmissão
◦ Enfileiramento (atraso) e perda devido ao overflow de buffers de saída
Disciplinas de escalonamento escolhem entre datagramas na fila para
transmissão

INE5422 - CAMADA DE REDE 104


Pontos Importantes

Arquitetura de um roteador

• Entender o funcionamento de um roteador

INE5422 - CAMADA DE REDE 105


CAP 6. CAMADA DE REDE
AULA 8: ROTEAMENTO
INE5422 REDES DE COMPUTADORES II
P ROF. ROBE RTO W I L L R I CH ( I N E /U FSC)
ROBE RTO.W IL LRI CH@U FSC. BR
HT T P S://MOODLE.UFSC. BR
Roteamento
Roteamento inter-redes é a principal função do protocolo IP
◦ Protocolo IP assume que um host sabe enviar datagramas para
qualquer host da mesma rede local
A 223.1.1.1
◦ Roteador entra em ação no momento 223.1.2.1
que um datagrama tem destino fora 223.1.1.2
da rede local 223.1.1.4 223.1.2.9
B
◦ Host origem envia o datagrama para 223.1.2.2
223.1.1.3 223.1.3.27 E
o gateway (roteador)
223.1.3.1 223.1.3.2

INE5422 - CAMADA DE REDE 107


Roteamento e Tabelas de Roteamento
Como manter informações sobre rotas de A para qualquer outro host?
◦ A  R1  R2  R3  B
Cada nó armazena endereço de rede e próximo hop
N1, - N1, - N1, R1 N1, R2 N1, R3
N2, R1 N2, R2 N2, R4 N2, R2 N2, R3
N3, R1 N3, R2 N3, R4 N3, R2 N3, R3
N4, R1 N4, R2 N4, R3 N4, - N4, -
A R1 R3 B
R2

N1 N4
R4
N2 N3

C D E F

INE5422 - CAMADA DE REDE 108


Tipos de Roteamento
Estático
◦ Configurado pelo administrador no roteador
◦ Não se adapta a mudanças na topologia da rede
◦ Informação não é trocada com outros roteadores, por default (+ segurança)
N1, - N1, - N1, R1 N1, R2 N1, R3
N2, R1 N2, R2 N2, R4 N2, R2 N2, R3
N3, R1 N3, R2 N3, R4 N3, R2 N3, R3
N4, R1 N4, R2 N4, R3 N4, - N4, -
A R1 R3 B
R2

N1 N4
R4
N2 N3

C D E F

INE5422 - CAMADA DE REDE 109


Tipos de Roteamento
Dinâmico
◦ Administrador configura parâmetros iniciais
◦ Protocolos de roteamento são usados para trocar informações entre roteadores
◦ Adaptação automática em caso de mudança de topologia
N1, - N1, - N1, R1 N1, R2 N1, R3
N2, R1 N2, R2 N2, R4 N2, R2 N2, R3
N3, R1 N3, R2 N3, R4 N3, R2 N3, R3
N4, R1 N4, R2 N4, R3 N4, - N4, -
A R1 R3 B
R2

N1 N4
R4
N2 N3

C D E F

INE5422 - CAMADA DE REDE 110


Protocolos de Roteamento
Objetivos
◦ Gerenciar a tabela de roteamento dinamicamente, com rota para
“todas” as redes
◦ Se há mais de uma rota para uma rede, a com o menor custo é
colocada na tabela de roteamento
◦ Adicionar novas rotas, trocar por melhores naquele momento
◦ Prevenir loops de roteamento

INE5422 - CAMADA DE REDE 111


Roteamento IP
Estratégia de roteamento:
◦ Se host destino está na mesma rede => envia datagrama diretamente
(endereço MAC)
◦ Verifica pelo End. IP de destino e máscara
◦ Senão => envia a um gateway local (endereço MAC)

INE5422 - CAMADA DE REDE 112


Levando um Datagrama da Fonte ao Destino
Datagrama IP: tabela de roteamento em A

Rede destino próx. roteador Núm. saltos


outros endereço endereço
IP origem IP destino dados 223.1.1 1
campos
223.1.2 223.1.1.4 2
 os endereços do 223.1.3 223.1.1.4 2
datagrama não mudam ao
viajar da fonte ao destino A 223.1.1.1
223.1.2.1
223.1.1.2
223.1.1.4 223.1.2.9
B 223.1.2.2
223.1.1.3 223.1.3.27 E

223.1.3.1 223.1.3.2

INE5422 - CAMADA DE REDE 113


Roteamento IP
Comando “route print” no host 192.168.0.194

INE5422 - CAMADA DE REDE 114


Levando um Datagrama da Fonte ao Destino
Rede destino Próx. roteador Núm. saltos

outros 223.1.1 1
dados
campos 223.1.1.1 223.1.1.3 223.1.2 223.1.1.4 2
223.1.3 223.1.1.4 2
A envia datagrama IP para B:
 examine endereço de rede de B A 223.1.1.1
 descobre que B está na mesma rede
de A 223.1.2.1
223.1.1.2
 camada de enlace envia datagrama 223.1.1.4 223.1.2.9
diretamente para B num quadro da B
camada de enlace 223.1.2.2
223.1.1.3 223.1.3.27 E
 Se necessário descobre endereço
físico de B (usando ARP) 223.1.3.2
223.1.3.1

INE5422 - CAMADA DE REDE 115


Levando um Datagrama da Fonte ao Destino
outros Rede destino Próx. roteador Núm. saltos
dados
campos 223.1.1.1 223.1.2.2
223.1.1 1
A envia datagrama IP para E: 223.1.2 223.1.1.4 2
 examina endereço de rede de E
223.1.3 223.1.1.4 2
 E está numa rede diferente
 A, E não estão diretamente
A 223.1.1.1
conectados
 tabela de roteamento: próximo 223.1.1.2 223.1.2.1
roteador para E é 223.1.1.4 223.1.1.4 223.1.2.9
 encontra endereço físico de B 223.1.2.2
223.1.1.4 e envia o datagrama 223.1.1.3 223.1.3.27 E
num quadro de enlace
 datagrama chega em 223.1.1.4 223.1.3.1 223.1.3.2

 continua…..

INE5422 - CAMADA DE REDE 116


Levando um Datagrama da Fonte ao Destino
Próx. Núm. Endereço
outro Rede destino roteador saltos Interface
dados
campos 223.1.1.1 223.1.2.2
223.1.1 - 1 223.1.1.4
Chegando em 223.1.1.4, 223.1.2 - 1 223.1.2.9
destinado para 223.1.2.2 223.1.3 - 1 223.1.3.27
 examina endereço de rede de E
 E está na mesma rede da A 223.1.1.1
interface 223.1.2.9 do roteador
223.1.1.2
 roteador e E estão 223.1.2.1
diretamente ligados 223.1.1.4 223.1.2.9
 descobre endereço físico de B 223.1.2.2
223.1.2.2 e envia o datagrama 223.1.1.3 223.1.3.27 E
num quadro da camada de enlace
 datagrama chega em 223.1.2.2!!! 223.1.3.1 223.1.3.2
(ufa!)

INE5422 - CAMADA DE REDE 117


Roteamento
Algoritmos de roteamento são descritos por grafos:
◦ Nós do grafo são roteadores 5
◦ Arestas do grafo são enlaces 3
B C 5
◦ Custo do enlace: atraso, preço ou nível de 2
congestionamento A 2 1 F
3
1 2
D E
1

Protocolo de Roteamento  “Bons” caminhos:


OBJ: determinar “bons” caminhos  tipicamente corresponde
(sequência de roteadores) através da aos caminhos de menor
rede da fonte ao destino. custo
 caminhos redundantes

INE5422 - CAMADA DE REDE 118


Abstração da Rede: Grafo
Grafo: G = (N,E)
◦ N = conjunto de roteadores
= { u, v, w, x, y, z }
◦ E = conjunto de enlaces
={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }

INE5422 - CAMADA DE REDE 119


Abstração da Rede: Custo

 c(x,x’) = custo do enlace (x,x’)


 ex., c(w, z) = 5
 Custo poderia ser sempre 1, ou
proporcional ao congestionamento,
ou inversamente relacionado à
largura de banda

Custo do caminho (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)

Questão: Qual é o caminho de menor custo entre u e z ?


Algoritmo de roteamento: algoritmo que encontra o caminho de menor custo

INE5422 - CAMADA DE REDE 120


Roteamento
Algoritmos de roteamento
◦ Definem os algoritmos que determinarão as melhores rotas
◦ Tipos: Link state, Distance vector
◦ Roteamento hierárquico
Protocolos de Roteamento: Definem formato das mensagens
trocadas entre roteadores
◦ Para a execução dos algoritmos de roteamento
◦ Exemplos: RIP, OSPF, BGP

INE5422 - CAMADA DE REDE 121


Classificação dos algoritmos de roteamento
Com Informação Global:
◦ Todos os roteadores têm informações completas da topologia e dos custos
dos enlaces
◦ Algoritmos “link state”
Com Informação Descentralizada:
◦ Roteadores só conhecem informações sobre seus vizinhos e os enlaces
para eles
◦ Processo de computação iterativo
◦ troca de informações com os vizinhos
◦ Algoritmos “distance vector”

INE5422 - CAMADA DE REDE 122


Pontos Importantes

Roteamento

• Entender o funcionamento geral de roteamento e uso de tabelas de


roteamento
• Entender principalmente como são encaminhados pacotes para um
destino na rede local e fora dela.

INE5422 - CAMADA DE REDE 123


CAP 6. CAMADA DE REDE
AULA 9: ALGORITMOS DE ROTEAMENTO:
LINK STATE E DISTANCE VECTOR
INE5422 REDES DE COMPUTADORES II
P ROF. ROBE RTO W I L L R I CH ( I N E /U FSC)
ROBE RTO.W IL LRI CH@U FSC. BR
HT T P S://MOODLE.UFSC. BR
Algoritmos de roteamento
Algoritmos “link state”. Com Informação Global:
◦ Todos os roteadores têm informações completas da topologia e dos custos
dos enlaces
Algoritmos “distance vector”. Com Informação Descentralizada:
◦ Roteadores só conhecem informações sobre seus vizinhos e os enlaces
para eles
◦ Processo de computação iterativo
◦ troca de informações com os vizinhos

INE5422 - CAMADA DE REDE 125


Algoritmo de roteamento Link-State
Algoritmo de Dijkstra
◦ Topologia de rede e custo dos enlaces são conhecidos por todos os
nós
◦ Implementado via “link state broadcast”
◦ Todos os nós (roteadores) têm a mesma informação
◦ Cada nó computa caminhos de menor custo deste nó para todos os
outros nós
◦ Fornece uma tabela de roteamento para aquele nó
◦ Convergência: após k iterações conhece o caminho de menor custo
para k destinos (nós no grafo)

INE5422 - CAMADA DE REDE 126


Algoritmo de roteamento Link-State
Notação no algoritmo de Dijkstra
◦ C(i,j): custo do enlace do nó i ao nó j.
◦ Custo é infinito se não houver ligação conhecida entre i e j
◦ D(v): valor atual do custo do caminho da fonte ao destino v
◦ P(v): nó predecessor ao longo do caminho da fonte ao nó v, isto é,
antes do v
◦ N’: conjunto de nós cujo caminho de menor custo é definitivamente
conhecido

INE5422 - CAMADA DE REDE 127


Algoritmo de Dijkstra 2. N’={u}
3-6: D(a)=2; D(b)= 1; D(c)= ;
9: w=b
10: N’={u, b}
1 Inicialização (rodando em um nó u): 11-12: D(c)=min(,1+3)=4
9: w=a
2 N’ = {u} a 10: N’={u, b, a}
3 para todos os nós v 11: a não tem adjacente
c 9: w=c
4 se v é adjacente a u 3
2 10: N’={u, b, a, c}
b
5 então D(v) = c(u,v) 1 No roteador u:
6 senão D(v) =  u - D(u)=0;D(a)=2;D(b)=1;
7 D(c)=4
8 Loop
9 ache w não em N’ tal que D(w) é um mínimo
10 acrescente w a N’
11 atualize D(v) para todo v adjacente a w e não em N’:
12 D(v) = min( D(v), D(w) + c(w,v) )
13 /* novo custo para v é ou o custo anterior para v ou o menor
14 custo do caminho conhecido para w mais o custo de w a v */
15 até que todos os nós estejam em N’

INE5422 - CAMADA DE REDE 128


Exemplo: Algoritmo de Dijkstra
Passo N’ D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F)
0 A 2,A 5,A 1,A  
1 AD 2,A 4,D 2,D 
2 ADE 2,A 3,E 4,E
3 ADEB 3,E 4,E
4 ADEBC 4,E
5 ADEBCF

INE5422 - CAMADA DE REDE 129


Algoritmo de Dijkstra: exemplo
Passo N D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F)
0 A 2,A 5,A 1,A  
1 AD 2,A 4,D 2,D 
2 ADE 2,A 3,E 4,E
3 ADEB 3,E 4,E
4 ADEBC 4,E
5 ADEBCF
Árvore de caminhos mínimos Tabela de encaminhamento resultante em A:
resultante originada em A: destino enlace
B (A,B)
B C C (A,D)
D (A,D)
A
F
E (A,D)
D E F (A,D)
INE5422 - CAMADA DE REDE 130
Discussão do algoritmo de Dijkstra
Complexidade do algoritmo: n nós
◦ Cada iteração: precisa verificar todos os nós w, que não estão em N’
◦ 1a interação n nós, 2a iteração n-1 nós, 3a iteração n-2 nós,…
◦ Número de nós buscados em todas as interações: n(n+1)/2
◦ Complexidade: O(n2)
◦ Implementações mais eficientes: O(nlogn)

Oscilações possíveis:
◦ Ex.: custo do enlace= quantidade de tráfego transportado

INE5422 - CAMADA DE REDE

131
Discussão do algoritmo de Dijkstra
Oscilações possíveis:
◦ Ex.: custo do enlace= quantidade de tráfego transportado

INE5422 - CAMADA DE REDE 132


Discussão do algoritmo de Dijkstra
Oscilações possíveis:
◦ Ex.: custo do enlace= quantidade de tráfego transportado

INE5422 - CAMADA DE REDE 133


Algoritmo vetor de distância (1)
Equação de Bellman-Ford (programação dinâmica)
◦ Define
◦ dx(y) = custo do caminho de menor custo de x para y
◦ Então
◦ dx(y) = minv{c(x,v) + dv(y) }
◦ Em que minv é calculado para todos os vizinhos de x
◦ No exemplo: dx (y) = minv{c(x,v1) + dv1(y) , c(x,v2) + dv2 (y) }

v1
c(x,v1)=3 dv1(y)=7
dx(y) =10 y
x
v2 dv2(y)=12
c(x,v2)=1

INE5422 - CAMADA DE REDE 134


Exemplo:
Exemplo: Bellman-Ford
Bellman-Ford (2) (2)
Exemplo: custo entre o nó u e o nó z

U recebe a informação dos vizinhos:


dw(z) dv(z) = 5, dx(z) = 3, dw(z) = 3

A equação B-F diz que:


dv(z) du(z) = min { c(u,v) + dv(z),
dx(z) c(u,x) + dx(z),
c(u,w) + dw(z) }
= min {2 + 5,
1 + 3,
5 + 3} = 4
Caminho mínimo du(z) = 4
passando por x

O nó que atinge o mínimo é o próximo salto no caminho mais curto


➜ tabela de roteamento

INE5422 - CAMADA DE REDE 135


Algoritmo vetor de distância (3)
Define a forma de comunicação de vizinho para vizinho
◦ Atualizando a tabela de roteamento para que o pacote seja enviado para o
vizinho no caminho de menor custo
Cada nó x mantém os seguintes dados de roteamento
◦ Para cada vizinho v, ele mantém o custo c(x,v)
◦ O vetor de distâncias do nó x
◦ Dx = [Dx (y): y є N ]
◦ Os vetores de distância de seus vizinhos
◦ Para cada vizinho v, x mantém Dv = [Dv (y): y є N ]

INE5422 - CAMADA DE REDE 136


Algoritmo vetor de distância (4)
Idéia básica:
◦ Cada nó envia periodicamente sua própria estimativa de vetor de
distâncias aos vizinhos
◦ Quando o nó x recebe nova estimativa de DV do vizinho, ele atualiza seu
próprio DV usando a equação B-F:
◦ Dx(y) = minv {c(x,v) + Dv(y)} para cada nó y ∊ N
◦ Ao menos em condições naturais, a estimativa Dx (y) converge para o
menor custo atual dx (y)

INE5422 - CAMADA DE REDE 137


Algoritmo vetor de distância

DV do Nó

DVs dos vizinhos

DV do Nó

DVs dos vizinhos

DVs dos vizinhos

DV do nó

INE5422 - CAMADA DE REDE 138


Algoritmo vetor de distância
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

INE5422 - CAMADA DE REDE 139


Algoritmo vetor de distância

INE5422 - CAMADA DE REDE 140


Algoritmo vetor de distância (5)
Iterativo, assíncrono: cada iteração local é Cada nó:
causada por: espera por (mudança no custo
◦ Mudança no custo do enlace local do enlace local na mensagem
do vizinho)
◦ Mensagem de atualização DV do vizinho
Distribuído: recalcula estimativas
◦ Cada nó notifica os vizinhos apenas quando seu
DV mudar
se o DV para qualquer destino
◦ Os vizinhos então notificam seus vizinhos, se mudou, notifica os vizinhos
necessário

INE5422 - CAMADA DE REDE 141


Vetor de distância: mudanças no custo do enlace
Mudanças no custo do enlace:
 Nó detecta mudança no custo do enlace local
 Atualiza informações de roteamento,
recalcula o vetor de distância
 Se o DV muda, notifica vizinhos

Até Até
x y z x y z
x 0 4 5 x 0 4 5
De Y 4 0 1 De Y 4 0 1
z 5 1 0 z 5 1 0
Nó X (inicial) Nó y (inicial)

INE5422 - CAMADA DE REDE 142


Vetor de distância: mudanças no custo do enlace
Mudanças no custo do enlace:
 Nó detecta mudança no custo do enlace local
 Atualiza informações de roteamento,
recalcula o vetor de distância
 Se o DV muda, notifica vizinhos

Até Até
x y z x y z Dy(x)=min{c(y,x)+Dx(x),
c(y,z)+Dz(x)}
x 0 4 5 x 0 4 5 =min {1+0 , 1+50} = 1
De Y 4 0 1 De Y 1 0 1
z 5 1 0 z 5 1 0
Nó X (inicial) Nó y (custo reduzido)

INE5422 - CAMADA DE REDE 143


Vetor de distância: mudanças no custo do enlace
Mudanças no custo do enlace:
 Nó detecta mudança no custo do enlace local
 Atualiza informações de roteamento, recalcula
o vetor de distância Novo DV
 Se o DV muda, notifica vizinhos

Até Até
x y z x y z
x 0 4 5 x 0 4 5
De Y 1 0 1 De Y 1 0 1
z 5 1 0 z 5 1 0
Nó X (recebe novo custo) Nó y (custo reduzido)

INE5422 - CAMADA DE REDE 144


Vetor de distância: mudanças no custo do enlace
Mudanças no custo do enlace:
 Nó detecta mudança no custo do enlace local
 Atualiza informações de roteamento,
recalcula o vetor de distância
 Se o DV muda, notifica vizinhos

“boas notícias viajam depressa”


Até Até
x y z x y z Dx(y)=min{c(x,y)+Dy(y),
c(x,z)+Dz(y)}
x 0 1 2 x 0 4 5 =min{1+0,50+1} = 1
De Y 1 0 1 De Y 1 0 1
Dx(z)=min{c(x,y)+Dy(z),
z 5 1 0 z 5 1 0 c(x,z)+Dz(z)}
=min{1+1,50+0} = 2
Nó X (recalcula DV) Nó y (custo reduzido)

INE5422 - CAMADA DE REDE 145


Vetor de distância: mudanças no custo do enlace
Mudanças no custo do enlace:
◦ Boas notícias viajam rápido
◦ Más notícias viajam devagar — problema da “contagem ao
infinito”!

No início (antes da mudança do custo)


◦ Dy(x)=4, Dy(z)=1,Dz(y)=1,Dz(x)=5 Dy(x) = min{c(y,x) +Dx(x),
c(y,z)+Dz(x)}
= min{60+0, 1+5)
= 6 passando por z
Até Até Até
x y z x y z x y z
x 0 4 5 x 0 4 5 x 0 4 5
De Y 4 0 1 De Y 4 0 1 De Y 4 0 1
z 5 1 0 z 5 1 0 z 5 1 0
Nó x (inicial) Nó y (inicial) Nó z (inicial)

INE5422 - CAMADA DE REDE 146


Vetor de distância: mudanças no custo do enlace
Y detecta a mudança de custo
◦ Dy(x) = min{c(y,x) +Dx(x), c(y,z)+Dz(x)} = min{60,6}=6
◦ Um equivoco! Gera um loop de roteamento
Até Até Até
x y z x y z x y z
x 0 4 5 x 0 4 5 x 0 4 5
De Y 4 0 1 De Y 6 (z) 0 1 De Y 4 0 1
z 5 1 0 z 5 (y) 1 0 z 5 (y) 1 0
Nó x (inicial) Nó y (detecta mudança) Nó z (inicial)
Pacote para x

INE5422 - CAMADA DE REDE 147


Vetor de distância: mudanças no custo do enlace
Atualizando DV, y informa a z
◦ Y informa que Dy(x)=6 e como z sabe que c(z,y)=1, então Dz(x)=7
◦ Z informa novo DV a y
Até Até Até
x y z x y z x y z
x 0 4 5 x 0 4 5 x 0 4 5
De Y 4 0 1 De Y 6 (z) 0 1 De Y 6 (z) 0 1
z 5 1 0 z 5 1 0 z 7 (y) 1 0
Nó x (inicial) Nó y (detecta mudança) Nó z (atualizando)
Pacote para x

INE5422 - CAMADA DE REDE 148


Vetor de distância: mudanças no custo do enlace
Atualizando DV, z informa a y
◦ z informa que Dz(x)=7 e como y sabe que c(y,z)=1, então Dy(x)=8
◦ y informa novo DV a z
Até Até Até
x y z x y z x y z
x 0 4 5 x 0 4 5 x 0 4 5
De Y 4 0 1 De Y 8 (z) 0 1 De Y 6 (z) 0 1
z 5 1 0 z 7 (y) 1 0 z 7 (y) 1 0
Nó x (inicial) Nó y (atualizando) Nó z (atualizado)
Pacote para x

INE5422 - CAMADA DE REDE 149


Vetor de distância: mudanças no custo do enlace
44 iterações antes de o algoritmo estabilizar!!!
Até Até Até
x y z x y z x y z
x 0 4 5 x 0 4 5 x 0 4 5
De Y 4 0 1 De Y 8 (z) 0 1 De Y 8 (z) 0 1
z 5 1 0 z 7 (y) 1 0 z 7 (y) 1 0
Nó x (inicial) Nó y (atualizado) Nó z (atualizando)

INE5422 - CAMADA DE REDE 150


Vetor de distância: mudanças no custo do enlace
44 iterações antes de o algoritmo estabilizar!!!
Até Até Até
x y z x y z x y z
x 0 51 50 x 0 51 50 x 0 51 50
De Y 51 0 1 De Y 51 0 1 De Y 51 0 1
z 50 1 0 z 50 1 0 z 50 1 0
Nó x (inicial) Nó y (atualizado) Nó z (atualizando)

INE5422 - CAMADA DE REDE 151


Vetor de distância: mudanças no custo do enlace
Solução: Reversão envenenada:
◦ Se Z roteia por Y para alcançar X :
◦ Z diz a Y que sua distância (de Z) para X é infinita (então Y não roteará até X via Z)
Isso resolverá completamente o problema da contagem ao infinito?
◦ Não é solução geral para loops envolvendo três ou mais nós

INE5422 - CAMADA DE REDE 152


Comparação dos algoritmos LS e VD
Complexidade
◦ LS: com n nós, E links, O(NE) mensagens enviadas
◦ DV: trocas somente entre vizinhos - Tempo de convergência varia
Tempo de convergência
◦ LS: algoritmo O(N2) exige mensagens O(NE)
◦ Pode ter oscilações
◦ DV: tempo de convergência varia
◦ Pode haver loops de roteamento durante a convergência
◦ Problema da contagem ao infinito

INE5422 - CAMADA DE REDE 153


Comparação dos algoritmos LS e VD
Robustez: o que acontece se um roteador funciona mal?
◦ LS:
◦ Nós podem informar custos de link incorretos
◦ Cada nó calcula sua própria tabela de roteamento: aumenta a robustez
◦ DV:
◦ Nó DV pode informar custo de caminho incorreto
◦ Tabela de cada nó é usada por outros
◦ Propagação de erros pela rede

INE5422 - CAMADA DE REDE 154


Pontos Importantes

Algoritmo Link State e Distance Vector

• Entender princípios gerais


• Saber comparar algoritmos: vantagens e deficiências

INE5422 - CAMADA DE REDE 155


CAP 6. CAMADA DE REDE
AULA 10: PROTOCOLOS RIP E OSPF
INE5422 REDES DE COMPUTADORES II
P ROF. ROBE RTO W I L L R I CH ( I N E /U FSC)
ROBE RTO.W IL LRI CH@U FSC. BR
HT T P S://M OODL E.U FSC. BR
RIP ( Routing Information Protocol)
RIP-1 (RFC 1058), RIP-2 (RFC 1388)
◦ Utiliza o algoritmo Distance Vector
◦ Métrica do custo é a distância: calculada através da soma do número de
roteadores existentes no caminho (# de hops, max=15 hops)
◦ 1: Diretamente conectado
◦ 16: infinito
◦ RIP não pode suportar redes com diâmetro > 15.

INE5422 - CAMADA DE REDE 157


RIP: Vetor de Distância
N1 1 -
N2 1 -
N1
N3 1 -
N5 2 B

N2 1 - A N6 2 B
N4
N5 1 -
N2 N3
N6 1 -
B C E
Resposta RIP N7 N4 1 -
N7 1 -
N5 N8
N5 1 - N6
N9 1 -
D F
N8 1 -
N3 1 -
N10 1 -
N6 1 -
N7 1 -
N8 1 -
N9 N10
N1 2 A
N2 2 A
N5 3 A

INE5422 - CAMADA DE REDE 158


Vetor Distância
N1 1 -
N2 1 -
N1
N3 1 -
N5 2 B

N2 1 - A N6 2 B
N4
N5 1 -
N2 N3
N6 1 -
B C E
Resposta RIP N7 N4 1 -
N7 1 -
N5 N8
N5 1 - N6
N9 1 -
D F
N8 1 -
N3 1 -
N10 1 -
N6 1 -
N7 1 -
N8 1 -
N9 N10
N1 2 A
N2 2 A
Note, N2 não é atualizada: custo igual
N5 2 B

INE5422 - CAMADA DE REDE 159


Vetor Distância - Convergido N1 1 -
N2 1 -
N1 2 A N3 1 -
N2 1 - N4 3 C
N3 2 A
N4 3 C
N1 N5
N6 2
2 B
B
N1 3
N2 3
C
C
N5 1 - N7 2 C N3 2 C
N6 1 - N8 2 C N4 1 -
N7 2 C A N9 3 B
N4 N5 3 C
N8 2 C N10 3 C N6 2 C
N9 2 D N2 N3 N7 1 -
N1 3 B N10 3 C B C E N8 2 C
N2 2 B N7 N9 4 C
N3 3 B
N10 3 C
N4 4 B
N5 1 - N5 N8
N6 2 B
N6 N1 2 A
N7 3 B
D N2 2 A
F
N1 3 C
N8 3 B N3 1 -
N2 3 C
N9 1 - N4 2 E
N3 2 C
N10 4 B N5 2 B
N4 3 C
N6 1 -
N5 3 C
N7 1 -
N6 2 C
N9 N8 1 - N10 N7 2 C
N9 3 B
N8 1 -
N10 2 F
N9 4 C
N10 1 -

INE5422 - CAMADA DE REDE 160


RIP
RIP usa vetor de distâncias
◦ Todo nó envia suas tabela de rotas para seus vizinhos
◦ A cada 30 segundos via Response Message (anúncio)
◦ Contendo a rota e o custo (número de hops)
◦ Informações de rota gradualmente se espalham através da rede
◦ Todo nó seleciona a rota com a menor métrica
Mensagens rip são enviadas via datagramas UDP
◦ IP Multicast (RIP-2) or Broadcast (RIP-1)

INE5422 - CAMADA DE REDE 161


RIP: falha de enlaces e recuperação
Se não há um aviso depois de 180 s, --> o vizinho e o enlace são
declarados mortos
◦ Rotas através do vizinho são anuladas
◦ Novos anúncios são enviados aos vizinhos
◦ Os vizinhos por sua vez devem enviar novos anúncios (se suas tabelas de
rotas foram alteradas)
◦ A falha de um enlace se propaga rapidamente para a rede inteira
◦ Reversão envenenada é usada para prevenir loops,
(distância infinita = 16 saltos)

INE5422 - CAMADA DE REDE 162


Problemas do RIP
Uso de contagem de hosts pode não ser a métrica adequada para
definir a rota de menor custo
◦ Nem sempre traz bons resultados
◦ # saltos = 3 passando por Ethernets
◦ # saltos = 2 passando por linhas seriais lentas!
◦ Muitas implementações do RIP permitem que o gerenciador sete
artificialmente os custos
ethernet
ethernet
ethernet

Linha serial
N1 N2

INE5422 - CAMADA DE REDE 163


Problemas do RIP
Após a falha de uma rota ou link
◦ RIP pode levar minutos para estabilizar
◦ Cada vizinho fala apenas todo 30s
◦ O tempo para a informação propagar por vários hops é na ordem
de minutos N1

A N4
N2 N3
B C
N7 E
N5
D N6 N8
F

N9 N10
INE5422 - CAMADA DE REDE 164
Problemas do RIP
A métrica máxima útil é 15
◦ Diâmetro da rede dever ser menor ou igual a 15
RIP usa muita largura de banda
◦ Ele envia tabelas de roteamento completas para atualizações

INE5422 - CAMADA DE REDE 165


OSPF: Open Shortest Path First
Protocolo recomendado pela IETF
◦ Desenvolvido para substituir o RIP (1988-1991)
◦ OPEN por ser um padrão aberto
◦ Utiliza Link State (Algoritmo de Dijkstra)
OSPF usa IP diretamente (Campo Protocol = 89)
◦ Não usa UDP ou TCP.
◦ Usa multicast

INE5422 - CAMADA DE REDE 166


OSPF: Protocolo Link-State (SPF)
No SPF, todo roteador faz o seguinte:
◦ Testa periodicamente o status de todos os vizinhos
◦ Constrói um pacote Link State (LSP) com esta informação e
propaga para todos os outros roteadores
◦ Usando LSPs vindo de todos os outros roteadores, cada
roteador computa uma árvore de envio de caminho de menor
custo usando o algoritmo de Dijkstra.

Vantagens (sobre o vetor de distância):


◦ Mais funcionalidade devido ao cálculo na origem do dado e
não dependência dos roteadores intermediários
◦ Conhecimento da topologia completa
◦ Facilidade de recuperação de falhas SLP
◦ Convergência rápida

INE5422 - CAMADA DE REDE 167


OSPF : Protocolo Link-State (SPF)
Especifica que toda troca de informações entre roteadores seja
autenticada
◦ Apenas roteadores confiáveis difundem as informações sobre o
roteamento
Desvantagem
◦ Usa mais memória

INE5422 - CAMADA DE REDE 168


OSPF: Open Shortest Path First
Fornece balanceamento de carga
◦ Se o gerenciador especificar várias rotas para determinado destino ao
mesmo custo
◦ OSPF distribui o tráfego por todas as rotas igualmente
◦ RIP calcula uma rota por destino

INE5422 - CAMADA DE REDE 169


OSPF: Open Shortest Path First
Permite que um domínio particione suas redes e roteadores em
subconjuntos chamados de áreas
◦ Permite o crescimento e faz com que as redes sejam
fáceis de gerenciar

INE5422 - CAMADA DE REDE 170


OSPF Hierarquia
Hierarquia de dois nível: local area, backbone.
◦ Avisos de estado dos links apenas na área
◦ Cada nó conhece a topologia da área; apenas conhece a direção (caminho
mais curto) para as outras áreas

INE5422 - CAMADA DE REDE 171


OSPF Hierarquia
Roteadores na borda da área
◦ “resumem” distâncias para redes na sua própria área, avisa outros
roteadores de borda
Roteadores Backbone:
◦ executam o roteamento OSPF
limitado no backbone
Roteadores fronteira:
◦ conecta a outras ASs.

INE5422 - CAMADA DE REDE 172


Pontos Importantes

Protocolos de Roteamento RIP e OSPF


• Entender princípios gerais
• Saber comparar os dois protocolos

INE5422 - CAMADA DE REDE 173


CAP 6. CAMADA DE REDE
AULA 11: ROTEAMENTO HIERÁRQUICO E O PROTOCOLO BGP
INE5422 REDES DE COMPUTADORES II
P RO F. ROBE RTO W I L L R I CH ( I N E /U FSC)
RO BE RTO.W IL LRI C H @U FSC . B R
HT T P S://M O O DL E.U FSC . B R
Roteamento hierárquico
Nosso estudo até aqui foi uma idealização
◦ Roteadores são todos idênticos (executam o mesmo algoritmo de roteamento)
◦ … na prática, isso não é verdade
Na prática existem mais problemas
◦ Escala: com mais de 200 milhões de destinos:
◦ Não é possível armazenar todos os destinos numa única tabela de rotas!
◦ As mudanças na tabela de rotas iriam congestionar os enlaces!
◦ Autonomia administrativa
◦ Internet = rede de redes
◦ Cada administração de rede pode querer controlar o roteamento na sua própria rede

INE5422 - CAMADA DE REDE 175


Roteamento hierárquico
Agrega roteadores em regiões: “Sistemas Autônomos” (AS)
◦ Roteadores no mesmo AS rodam o mesmo protocolo de roteamento
◦ Protocolo de roteamento “intra-AS”
◦ Roteadores em diferentes AS podem rodar diferentes protocolos de roteamento
◦ AS são identificadas por ASNs (AS Numbers)
◦ http://www.iana.org/assignments/as-numbers/as-numbers.xhtml
◦ http://lacnic.net/cgi-bin/lacnic/whois?lg=EN
◦ AS28573 é Claro S.A., AS263300 é UFSC

Roteador de Borda (Gateway)


◦ Link direto para um roteador em outro AS
◦ Protocolo de roteamento “inter-AS”

INE5422 - CAMADA DE REDE 176


Internet como Hierarquia
Roteador (gateway exterior) Inter-AS

Roteador (gateway interior) Intra-AS

INE5422 - CAMADA DE REDE 177


ASs interconectadas
Tabela de roteamento é configurada por ambos os algoritmos, intra e
inter-AS
◦ Intra-AS estabelece entradas na tabela de roteamento para destinos internos
◦ Inter-AS e intra-AS estabelecem entradas na tabela para destinos externos

INE5422 - CAMADA DE REDE 178


Tarefas Inter-AS
Suponha que o roteador 1d no AS1 receba um datagrama cujo destino seja fora do
AS1
◦ O roteador deveria encaminhar o pacote para os roteadores de borda, mas qual deles?
◦ AS1 precisa:
◦ 1. Aprender quais destinos são alcançáveis através de AS2 e através de AS3.
◦ 2. Propagar suas informações de alcance para todos os roteadores em AS1.
◦ Tarefa para o roteamento inter-AS!

INE5422 - CAMADA DE REDE 179


Tarefas Inter-AS
Exemplo: Ajustando a tabela de roteamento no roteador 1d
◦ Suponha que AS1 aprende pelo protocolo inter-AS que a sub-rede x é alcancável através de AS3
(gateway 1c) mas não através de AS2
◦ O protocolo inter-AS propaga informações de alcance para todos os roteadores internos
◦ Baseado nas informações de roteamento intra-AS, o roteador 1d determina que sua interface I
está no caminho de menor custo para 1c
◦ Coloca na tabela de roteamento a entrada (x,I)
X

I
I

INE5422 - CAMADA DE REDE 180


Tarefas Inter-AS
Exemplo: Escolhendo entre múltiplas Ass
◦ Agora suponha que AS1 aprende pelo protocolo inter-AS que a sub-rede x é alcançável através
de AS3 e através de AS2.
◦ Para configurar a tabela de roteamento, o roteador 1d deve determinar por qual gateway ele
deve encaminhar os pacotes para o destino x.
◦ Roteamento de “batata quente”: envia o pacote para o mais próximo de dois roteadores
◦ Para o roteador com o caminho de menor custo na AS1 (via informações do protocolo intra-AS)
X

INE5422 - CAMADA DE REDE 181


Roteamento na Internet: Intra-AS
Também conhecidos como IGP (Interior Gateway Protocols)
◦ atuam dentro de um único domínio de roteamento, um único Autonomous
System (AS)
IGPs comuns:
◦ RIP: Routing Information Protocol: Distance Vector
◦ OSPF: Open Shortest Path First: Link State
◦ IGRP: Interior Gateway Routing Protocol (Cisco):
Distance Vector
◦ EIGRP: Enhanced IGRP (Cisco): Distance Vector + Link State
◦ IS-IS: Integrated Intermediate System - Intermediate System:
Link State

INE5422 - CAMADA DE REDE 182


Roteamento na Internet: Inter-AS
Também conhecidos como EGP (External Gateway Protocols)
◦ atuam entre Autonomous System (AS)
Protocolo único
◦ EGP (Obsoleto)
◦ BGP-4

INE5422 - CAMADA DE REDE 183


Roteamento Internet inter-AS: BGP
BGP (Border Gateway Protocol): é o padrão de fato para uso na
Internet
◦ BGP provê a cada AS meios para:
◦ 1. Obter informações de alcance de sub-rede dos ASs vizinhos
◦ 2. Propagar informações de alcance para todos os roteadores internos ao AS
◦ 3. Determinar “boas” rotas baseado em informações de alcance e política
◦ Permite que uma subrede comunique sua existência para o resto da Internet:
“Estou aqui”

INE5422 - CAMADA DE REDE 184


BGP: conceitos básicos
Pares de roteadores (BGP peers)
◦ trocam informações de roteamento por conexões TCP semi-permanentes:
sessões BGP
◦ Quando AS2 comunica um prefixo ao AS1, AS2 está prometendo que
encaminhará todos os datagramas destinados a esse prefixo

INE5422 - CAMADA DE REDE 185


Distribuindo informações de alcance
Em cada sessão eBGP entre 3a e 1c, AS3 envia informações de alcance de prefixo
para AS1
◦ 1c pode então usar iBGP para distribuir essa nova informação de alcance de prefixo para todos
os roteadores em AS1
◦ 1b pode recomunicar essa nova informação para AS2 por meio da sessão eBGP 1b-para-2a.
◦ Quando um roteador aprende um novo prefixo, ele cria uma entrada para o prefixo em sua
tabela de roteamento.

INE5422 - CAMADA DE REDE 186


Roteamento Internet inter-AS: BGP
Protocolo Path Vector
◦ Similar ao protocolo Distance Vector
◦ Cada Border Gateway difunde para seus vizinhos (pares) o caminho completo
(sequência de ASs) para o destino: AS-PATH
◦ contém os ASs (AS number) pelos quais o comunicado para o prefixo passou: AS 67 - AS 17 - ...

Quando um roteador gateway recebe um comunicado de rota


◦ ele usa política de importação para aceitar/rejeitar.

(A,W)

(C,A,W)

INE5422 - CAMADA DE REDE 187


BGP: seleção de rota
Um roteador pode aprender mais de uma rota para o mesmo
prefixo. O roteador deve selecionar uma rota
Regras de eliminação:
◦ Decisão de política
◦ AS-PATH (caminho) mais curto
◦ Roteamento da “batata quente”

(B,A,W)

(A,W)

INE5422 - CAMADA DE REDE 188


BGP: política de roteamento
Legenda
◦ A, B, C são redes de provedores
◦ X, W, Y são clientes (das redes dos provedores)
X é dual-homed: anexados a duas redes
◦ X não quer rotear de B para C
◦ … então X não comunicará ao B uma rota para C

INE5422 - CAMADA DE REDE 189


BGP: política de roteamento (2)
Anúncios
◦ A comunica ao B o caminho AW
◦ B comunica ao X o caminho BAW
◦ B deveria comunicar ao C o caminho BAW?
◦ De jeito nenhum! B não obtém nenhum “rendimento” em rotear CBAW pois nem
W nem C são seus clientes
◦ B quer rotear somente de/para seus clientes!
◦ B quer forçar C a rotear para W via A
◦ Não anuncia esta rota

BAW
INE5422 - CAMADA DE REDE

190
Porque protocolos Intra- e Inter-AS são diferentes ?
Autonomia Administrativa
◦ Internet = rede de redes
◦ Cada administração de rede pode querer controlar o roteamento na sua
própria rede
◦ Problemas do mundo real: roteadores não são todos idênticos
◦ as redes não são “flat” na prática
Escala: com 200 milhões de destinos:
◦ Não é possível armazenar todos os destinos numa única tabela de rotas!
◦ As mudanças na tabela de rotas iriam congestionar os enlaces!

INE5422 - CAMADA DE REDE 191


Porque protocolos Intra- e Inter-AS são diferentes ?
Políticas:
◦ Inter-AS: a administração quer ter controle sobre como seu tráfego é
roteado e sobre quem roteia através da sua rede.
◦ Intra-AS: administração única: as decisões políticas são mais simples
Escalabilidade
◦ O roteamento hierárquico poupa espaço da tabela de rotas e reduz o
tráfego de atualização
Desempenho:
◦ Intra-AS: preocupação maior é desempenho
◦ Inter-AS: regras de mercado podem ser mais importantes que
desempenho

INE5422 - CAMADA DE REDE 192


Pontos Importantes

Roteamento Hieráquico e BGP


• Entender princípios gerais
• Porque existem protocolos intra e inter-AS

INE5422 - CAMADA DE REDE 193


CAP 6. CAMADA DE REDE
AULA 12: IPV6 – MOTIVOS DA SUBSTITUIÇÃO DO IPV4
INE5422 REDES DE COMPUTADORES II
P ROF. ROBE RTO W I L L R I CH ( I N E /U FSC)
ROBE RTO.W IL LRI CH@U FSC. BR
HT T P S://M OODL E.U FSC. BR
IPv6
Uma “nova versão” do protocolo Internet IP
◦ IETF decidiu desenvolver uma nova versão do IP pois o espaço de endereçamento disponível do
IPv4 provavelmente terminaria no início do século 21
◦ RFC 2460 (Dezembro de 1998), RFC8200 (2017) tornou Internet Standard
◦ Baseado nos principais paradigmas IPv4
◦ sem conexão, sem controle de erro e de fluxo na camada de rede
◦ Projetado para ser um passo evolucionário do IPv4
◦ Aumento do espaço de endereçamento, autenticação e criptografia
◦ Extensões para fluxos de dados multimídia
◦ Mais suporte à mobilidade

Compatível com IPv4


◦ Uma importante meta de projeto do IPv6 é a compatibilidade com IPv4
◦ novos hosts e roteadores executando IPv6 são capazes de coexistir com hosts IPv4
◦ habilitando assim uma migração gradativa da Internet

INE5422 - CAMADA DE REDE 195


Motivos que levam à substituição do IPv4
O espaço de endereçamento do IPv4 é insuficiente
(32 bits)
◦ 232 = 4.294.967.296
(4 bilhões de endereços)
◦ Menos vários endereços não utilizados
O crescimento da Internet é exponencial

INE5422 - CAMADA DE REDE 196


Motivos que levam à substituição do IPv4
O espaço de endereçamento do IPv4 é insuficiente (32 bits)
◦ Estoque IANA esgotou em 31/01/2011
◦ E os estoques das RIRs estão no final

INE5422 - CAMADA DE REDE 197


Motivos que levam à substituição do IPv4
Medidas Paliativas: CIDR
◦ A política de alocação inicial não foi favorável a uma utilização racional dos mesmos. Dividiu-se
esse espaço em 3 classes:
◦ Classe A: com 128 segmentos atribuídos individualmente às entidades que deles
necessitassem, com 16 milhões de endereços cada. Ela utilizava o espaço compreendido entre
os endereços 00000000.*.*.* (0.*.*.*) e 01111111.*.*.* (127.*.*.*).
◦ Classe B: com 16 mil segmentos de 64 mil endereços cada. Essa classe era classificada como
/16. Ela utilizava o espaço compreendido entre os endereços 10000000.0000000.*.*
(128.0.*.*) e 10111111.11111111.*.* (191.255.*.*).
◦ Classe C: 2 milhões de segmentos de 256 endereços cada. Essa classe era classificada como
/24. Ela utilizava o espaço compreendido entre os endereços 11000000.0000000.00000000.*
(192.0.0.*) e
11011111.11111111.11111111.* (213.255.255.*).
◦ Além disso, 32 blocos /8 restantes foram reservados para Multicast e para a IANA.

INE5422 - CAMADA DE REDE 198


Motivos que levam à substituição do IPv4
Medidas Paliativas: CIDR
◦ CIDR (de Classless Inter-Domain Routing) RFC 1519, 1993.
◦ Permitindo flexibilidade quando dividindo margens de endereços IP em redes
separadas
◦ Usa máscaras de comprimento variável - VLSM (de Variable Length Subnet
Masks)
◦ para alocar endereços IP em subredes de acordo com as necessidades individuais e
não nas regras de uso generalizado em toda a rede
◦ a divisão de rede/host pode ocorrer em qualquer fronteira de bits no endereço
◦ Promoveu assim um uso mais eficiente para os endereços IP cada vez mais
escassos.

INE5422 - CAMADA DE REDE 199


Motivos que levam à substituição do IPv4
Medidas Paliativas:
◦ RFC 1918 (endereços privados)
◦ Permite o uso de endereços não válidos na Internet nas redes corporativas
◦ NAT (tradução de endereços)
◦ Permite que com um endereço válido na Internet apenas, toda uma rede de
computadores usando endereços privados seja conectada (mas com restrições)
◦ DHCP (alocação dinâmica de endereços IP)
◦ Permite que provedores reutilizem endereços Internet para conexões não
permanentes

INE5422 - CAMADA DE REDE 200


Motivos que levam à substituição do IPv4
Medidas Paliativas:
◦ ... mas também colaborando para a demora em sua adoção!
◦ Alguns questionam porque não utilizar o NAT indefinidamente, mas ele foi
concebido como uma solução provisória!
◦ O NAT acaba com o modelo de funcionamento fim a fim, trazendo
complicações ou impedindo o funcionamento de uma série de aplicações.
◦ O NAT tem alguns problemas técnicos:
◦ Não é fácil manter o estado do NAT no caso de falha em um dos hosts.
◦ O NAT não funciona bem com o IPsec.
◦ O NAT não escala bem

INE5422 - CAMADA DE REDE 201


A razão principal para o IPv6 é, então...
A necessidade de mais endereços Internet!
◦ Para suportar seu crescimento:
◦ Possibilitando a interligação de mais redes, de forma que a expansão da
economia, com novas empresas, novos negócios seja suportada.
◦ A fim de que todos possam ser incluídos digitalmente, em especial nos países
em desenvolvimento
◦ Com o uso de novas aplicações, como sua utilização em dispositivos móveis
com tecnologia 4G/5G, por exemplo, ou em eletrodomésticos e outros
aparelhos com eletrônica embarcada
◦ Com a eliminação de tecnologias como o NAT, que dificultam o funcionamento
de várias aplicações

INE5422 - CAMADA DE REDE 202


A razão principal para o IPv6 é, então...
Um endereço IPv4 é formado por 32 bits.
◦ 232 = 4.294.967.296 endereços aproximadamente 4 bilhões de endereços
◦ Muitos endereços são reservados
Um endereço IPv6 é formado por 128 bits.
◦ 2128 = 340.282.366.920.938.463.463.374.607.431.768.211.456 endereços
◦ ~ 79 trilhões de trilhões de vezes mais que no IPv4.
◦ ~ 5.6 x 1028 endereços IP por ser humano.
◦ Distribuídos na terra: 665,570,793,348,866,943,898,599/m2
◦ Estimativa pessimista com hierarquias: ~1,564 endereço/m2

INE5422 - CAMADA DE REDE 203


Outras Razões
Além dessa quantidade quase ilimitada de endereços IPs, o novo
formato dos endereço permite:
◦ Definir uma arquitetura hierárquica na Internet, possibilitando um
encaminhamento mais eficiente dos pacotes
◦ Fornecer endereços válidos na Internet para todos os dispositivos nela
conectados;
◦ Utilizar arquitetura fim-a-fim;
◦ Eliminar os problemas associados ao NAT

INE5422 - CAMADA DE REDE 204


Outras razões

INE5422 - CAMADA DE REDE 205


Outras razões

INE5422 - CAMADA DE REDE 206


Outras razões

INE5422 - CAMADA DE REDE 207


Outras razões
Protocolo de Descoberta de Vizinhanças
◦ Utilizado por hosts e roteadores para os seguintes fins:
◦ Divulgar o endereço MAC dos nós da rede;
◦ Encontrar roteadores vizinhos;
◦ Autoconfiguração de endereços.
◦ Determinar prefixos e outras informações de configuração de rede;
◦ Detectar endereços duplicados;

INE5422 - CAMADA DE REDE 208


Outras razões

INE5422 - CAMADA DE REDE 209


IPv6 está sendo adotado!
http://v6asns.ripe.net/v/6, https://www.pop-sc.rnp.br/monitoramento/ipv6/
http://ix.br/trafego/agregado/sp/v6, http://ipv6.br/

INE5422 - CAMADA DE REDE 210


Pontos Importantes

Protocolo IPv6

• Razões da substituição do IPv4

INE5422 - CAMADA DE REDE 211


CAP 6. CAMADA DE REDE
AULA 13: IPV6 – PROTOCOLO
INE5422 REDES DE COMPUTADORES II
P ROF. ROBE RTO W I L L R I CH ( I N E /U FSC)
ROBE RTO.W IL LRI CH@U FSC. BR
HT T P S://M OODL E.U FSC. BR
Cabeçalho IPv6
Cabeçalho IPv4 => Cabeçalho IPv6

INE5422 - CAMADA DE REDE 213


Cabeçalho IPv6
Formato dos cabeçalhos fixos
◦ Usa cabeçalho de extensão em vez de options
Remove o header checksum
◦ Confiabilidade da camada de enlace e camadas mais altas para verificar a
integridade dos dados
Remove segmentação hop-a-hop
◦ Sem fragmentação devido a descoberta do MTU do caminho

INE5422 - CAMADA DE REDE 214


Cabeçalho IPv6
Mais simples
◦ 8 campos (40 bytes) => IPv4 tem normalmente 20 bytes

Mais flexível
◦ Prevê sua extensão, através do uso cabeçalhos adicionais

INE5422 - CAMADA DE REDE 215


Cabeçalho IPv6
0 15 16 31
4-bit 8-bit 20-bit Flow Label
Version Class

16-bit Payload Length 8-bit 8-bit


Next Header Hop Limit
40 bytes
128-bit Source Address

128-bit Destination Address

Version Único campo idêntico ao IPv4. Código é 6 em IPv6


Class Facilita manipulação do tráfego tempo real
Flow Label Distingue pacotes requerendo o mesmo tratamento
Payload Length Substitui campo length do IPv4. Dá o tamanho do dado seguindo o cabeçalho IPv6
Next Header Substitui campo protocol do IPv4. Cabeçalhos de extensão pode ser usado.
Hop Limit Substitui campo TTL do IPv4. Limite de hop reflete melhor o uso.
Src Address 128 bits no IPv6 vs 32 bits no IPv4.
Dst Address 128 bits no IPv6 vs 32 bits no IPv4.

216
Formato do cabeçalho IPv6
Campo flow label
◦ Permite a identificação de todos os pacotes de um mesmo fluxo de
dados
◦ fluxo é uma sequência de pacotes enviados por um host para um endereço
unicast ou multicast
◦ todos os roteadores no caminho podem identificar os pacotes de um fluxo e
tratar eles de um modo específico ao fluxo
◦ Por exemplo, eles podem escalonar pacotes de um fluxo de áudio com uma
mais alta prioridade que aqueles pertencente a um fluxo de transferência de
arquivo

INE5422 - CAMADA DE REDE 217


Cabeçalhos de extensão
Dá mais funcionalidade ao IP Vers Class Flow label

◦ Vários cabeçalhos de extensão do IPv6 são Payload length Next hdr: 43 Hop limit

opções no IPv4 (campo option do cabeçalho Source IP address

IPv4)
◦ Cabeçalhos de extensão são colocados Destination IP address

entre o cabeçalho base IPv6 e o cabeçalho Nxt hdr: 51 Header length

do nível de transporte (TCP/UDP) Routing Information

Nxt hdr: 6 Header length


Authentication Data

TCP Header and data

INE5422 - CAMADA DE REDE 218


Cabeçalhos de extensão
Cada cabeçalho tem um tamanho múltiplo de 8 bytes
Os seguintes cabeçalhos já foram definidos:

INE5422 - CAMADA DE REDE 219


Endereços IPv6
Notação decimal em coluna com oito inteiros hexadecimais de 16 bits
◦ 68E8:1480:0022:0000:ABC1:0000:0000:01FE
Zeros podem ser resumidos
◦ 68E8:1480:22:0:ABC1:0:0:1FE
Compressão de zeros: zeros podem ser substituído por “::”
◦ 68E8:1480:22:0:ABC1:0:0:1FE substituído por 68E8:1480:22:0:ABC1::1FE
◦ Só pode ser realizada uma única vez, caso contrário poderia haver
ambiguidade:
◦ 2001:0000:0000:0058:0000:0000:0000:0320 poderia ser anotado:
◦ 2001::58:0:0:0:320 ou 2001:0:0:58::320
◦ Mas nunca 2001::58::320

INE5422 - CAMADA DE REDE 220


Endereços IPv6
Não há classes de endereço
◦ A rede é indicada por um prefixo

Exemplos de nós com 64 bits superiores indicando a rede:


◦ FE80:2B00:23:201::1/64
◦ FE80:2B00:23:201::2/64
Ambos pertencem a rede:
◦ FE80:2B00:23:201::/64

INE5422 - CAMADA DE REDE 221


Endereços IPv6
Endereço de Rede
◦ Similar ao IPv4: parte de host é 0
◦ Exemplo: endereço de sub-rede 2001:0000:0004:CFE, possui 60 bits de
prefixo pode ser representado das seguintes formas:
◦ 2001:0000:0004:CFE0:0000:0000:0000:0000/60
◦ Retirando os zeros a esquerda: 2001:0:4:CFE0:0:0:0:0/60
◦ Abreviando: 2001:0:4:CFE0::/60

INE5422 - CAMADA DE REDE 222


Endereços IPv6
Alguns prefixos alocados
Alocação Prefixo (Binário)
Reservado 0000 0000
Reservado para Alocação NSAP (Network 0000 001
Service Access Point address)
Reservado para Alocação IPX (Internetwork 0000 010
Packet Exchange)
Aggregatable Global Unicast Address 001
Site-local Unicast Address 1111 1110 10
Link -local Unicast Address 1111 1110 11
Multicast Address 1111 1111

INE5422 - CAMADA DE REDE 223


Endereços IPv6
IPv6 tem três categorias de endereçamento:
◦ unicast – identifica uma interface

◦ multicast – identifica um grupo; pacote é transmitido para todos os


membros do grupo

◦ anycast – identifica um grupo; pacote normalmente é transmitido ao


membro mais próximo do grupo, respeitando os critérios de roteamento

INE5422 - CAMADA DE REDE 224


Endereços IPv6 Unicast
Identifica apenas uma única interface
Foram definidos pela RFC 2374 vários tipos de endereços Unicast :
◦ Agregatable Global Unicast Address
◦ Loopback Address (::1)
◦ Unspecified Address (::)
◦ NSAP Address: suporte para endereçamento OSI NSAP (prefixo 0000001)
◦ IPX Address (prefixo 0000010)
◦ Site-local Unicast Address
◦ Link-local Unicast Address
◦ IPv4-compatible IPv6 Address (::172.16.1.2)

INE5422 - CAMADA DE REDE 225


Endereços IPv6 Unicast
Agregatable Global Unicast Address (visão simplificada)
◦ Equivalente ao endereço global unicast usado em IPv4
◦ Estrutura de endereços globais permite uma agregação de prefixos de roteamento que limitam
o número de entradas nas tabelas de rotas

◦ FP – Format Prefix, indica que se trata de um endereço do tipo Global Unicast.


◦ Global Routing Prefix, destina a identificação dos ISP´s – Internet Service Provider
◦ Subnet ID, o campo Site ID da estrutura de hierarquização do endereço IPv6
◦ Interface ID, identifica a interface do host destino.

INE5422 - CAMADA DE REDE 226


Endereço IPv6 Unicast
Exemplo de agregação
◦ um ISP pode dividir o seu prefixo pelos seus clientes agregando-os quando
os anuncia na Internet

Apenas anuncia
o prefixo /35

INE5422 - CAMADA DE REDE 227


Endereços IP Unicast
Estrutura hierárquica de roteamento:
Pontos de troca de tráfego
(exchanges): grandes provedores
TOP TOP de distribuição do mundo, que
são os pontos mais altos da
hierarquia

Next level Next level


Next level

Site
Link
Host
INE5422 - CAMADA DE REDE 228
Endereços IPv6 Unicast
Endereços unicast globais agregáveis (Aggregatable Global
Unicast Addresses)
◦ Estrutura hierárquica existem 4 níveis:
◦ TLA ID - Identificador Top-Level Aggregation;
TOP TOP
◦ NLA ID - Identificador Next-Level Aggregation;
◦ SLA ID - Identificador Site-Level Aggregation;
Next level Next level
◦ Interface ID - Identificador de Interface Next level

Site
Link
Host

INE5422 - CAMADA DE REDE 229


Endereços IPv6 Unicast
Top-Level Aggregation ID
◦ Os identificadores TLA são o topo da hierarquia de roteamento.
◦ Suporta 8.192 ou (213) identificadores TLA.
◦ Esse campo pode ser aumentado através de um espaço previamente reservado
◦ Administrados pela IANA e atribuídos a registros de Internet locais
(NIC.br) que, por sua vez, atribuem IDs de TLA individuais a
TOP TOP
fornecedores de serviços Internet (ISP, Internet Service Provider)
globais de grandes dimensões
◦ Os roteadores devem ter uma entrada na tabela de roteamento Next level Next level
Next level
para cada TLA ID ativo

Site
Link
Host

INE5422 - CAMADA DE REDE 230


Endereços IPv6 Unicast
Next-Level Aggregation ID
◦ Organização que recebe um TLA ID tem um espaço de endereçamento de 24 bits para o campo
NLA
◦ 16.777.216 ou 224 endereços
◦ Permite a um ISP criar vários níveis de hierarquia de endereçamento para organizar o
endereçamento e encaminhamento e para identificar locais.
◦ Endereços alocados: http://www.iana.org/assignments/ipv6-unicast-address-assignments/ipv6-
unicast-address-assignments.xhtml
◦ Endereço LACNIC 2800::/12
◦ Endereço UFSC 2801:0084::/32 (https://rdap-web.lacnic.net/ip/2801:84::%2F32%20)
◦ Endereço www.ufsc.br 2801:84:0:2:0:0:0:10 (http://ipv6.br)
001 0100000000001 00000000 100001000000000000000000 0000000000000010 00000000000000000000000000000000000000000000000000000000 00010000

231
Endereços IPv6 Unicast
Site-Level Aggregation ID
◦ Utilizado por uma organização individual para identificar sub-redes no
respectivo local
◦ Organização pode utilizar estes 16 bits no respectivo
local para criar 65.536 sub-redes ou vários níveis de TOP TOP
hierarquia de endereçamento
◦ Equivalente a uma rede Classe A no IPv4 Next level
Next level Next level

Site
Link
Host

232
Endereços IPv6 Unicast
Endereços de enlace local
◦ Automaticamente configurado em qualquer host IPv6
◦ Utilizados pelos nós ao comunicar com nós vizinhos no mesmo enlace
◦ Numa rede IPv6 de um único enlace sem roteador, os endereços locais de ligação
são utilizados para comunicar entre nós do enlace
◦ Equivalentes aos endereços IPv4 de endereçamento IP privado automático
◦ Um endereço local de enlace é necessário para os processos de identificação de
vizinhança
◦ Um roteador do IPv6 nunca reencaminha o tráfego local de ligação para além
da ligação.

INE5422 - CAMADA DE REDE 233


Endereços IPv6 Multicast
Flags: 000T
◦ T=0: indica endereço multicast reservado pela IANA
◦ T=1: indica endereço multicast não permanente

Valor Scope limita o escopo do grupo multicast

INE5422 - CAMADA DE REDE 234


Pontos Importantes

Protocolo IPv6

• Conhecer características apresentadas

INE5422 - CAMADA DE REDE 235


CAP 6. CAMADA DE REDE
AULA 14: ICMPV6, MOBILIDADE E SEGURANÇA
INE5422 REDES DE COMPUTADORES II
P ROF. ROBE RTO W I L L R I C H ( I N E /U FSC )
ROBE RTO.W IL LRI CH@U FSC. BR
HT T P S://MOODL E.U FSC. BR
ICMPv6
ICMPv6
◦ Inclui as mesmas funções básicas do ICMPv4
◦ Informar características da rede
◦ Diagnósticos
◦ Informar erros no processamento e envio dos pacotes

◦ Dois tipos (classes) de mensagens


◦ Mensagens de informação
◦ Mensagens de erro

INE5422 - CAMADA DE REDE 237


ICMPv6
Apresenta uma quantidade maior de mensagens que a versão
ICMP v4
◦ Além das funções básicas do ICMP são incluídas:
◦ Descoberta de vizinhança
◦ Incorporadas funções dos protocolos ARP/RARP
◦ Gerenciamento de grupo Multicast
◦ IGMP (Internet Group Management Protocol)
◦ Mobilidade IPv6
◦ Descoberta do Path MTU

INE5422 - CAMADA DE REDE 238


ICMPv6
Algumas mensagens de erro :

INE5422 - CAMADA DE REDE 239


ICMPv6
Algumas mensagens de informação:

INE5422 - CAMADA DE REDE 240


ICMPv6
Algumas mensagens de informação:

INE5422 - CAMADA DE REDE 241


ICMPv6
Descoberta de vizinhança
◦ Descoberta de endereços da camada de enlace
◦ Determina o endereço MAC dos vizinhos do mesmo enlace.
◦ Neighbor Solicitation (tipo 135): mensagem multicast enviada pelos nós para determinar
endereço MAC e acessibilidade de um vizinho. Também pode detectar endereços duplicados.
◦ Neighbor Advertisement (tipo 136): é uma mensagem unicast enviada como resposta a uma
Neighbor Solicitation. Pode ser enviada periodicamente em multicast para todos os demais.
◦ Substitui o protocolo ARP do IPv4, utilizando um endereço multicast como destino

INE5422 - CAMADA DE REDE 242


ICMPv6
Path MTU Discovery
◦ Assume que o MTU é o mesmo MTU do enlace inicial
◦ Se, no caminho, o tamanho de qualquer pacote for maior que o MTU
informado pelo roteador do próximo enlace, o roteador descarta o
pacote, e retorna um ICMPv6 packet too big
◦ Este mecanismo continua até que o tamanho do pacote seja igual ou
menor ao menor MTU do caminho, realizando quantas reduções forem
necessárias

INE5422 - CAMADA DE REDE 243


ICMPv6
Assim, diminui-se o overhead dos roteadores, pois a
fragmentação é realizada na origem

Fragmentação somente na origem!!


Host A Host B

Roteador

MTU = x MTU = x/4

INE5422 - CAMADA DE REDE 244


Mobilidade IPv6
Necessidades, Metas e Aplicações
◦ Suporte a mobilidade no IPv6 provê mecanismos para que um nó possa
mudar de uma rede para outra de forma transparente ao usuário.
◦ Estas redes não precisam necessariamente ser homogêneas: pode ocorrer do
host mudar de rede e de forma de acesso.
◦ Nó ligado num momento a um segmento Ethernet, e em um próximo instante estar
conectado via ondas de rádio

INE5422 - CAMADA DE REDE 245


Mobilidade IPv6
Protocolo deve manter a comunicação com outros
nós após a mudança de sub-rede do nó móvel
◦ O mobile node deve sempre ser
acessível através de seu endereço de
origem (home address)
◦ Um endereço permanente
◦ os pacotes enviados para este endereço
devem ser repassados para a posição atual
do mobile node.
◦ Home Agent: roteador que age como um registrador de dispositivos
móveis e mantém informações sobre todos os nós móveis (seus Home
Address e seu IP atual)

INE5422 - CAMADA DE REDE 246


Mobilidade IPv6
A mudança de sub-rede do host deve ser transparente para a camadas de transporte e superiores.
Quando nó móvel se desloca para fora de sua rede de origem
◦ Obtêm um care-of address
◦ Para que os pacotes cheguem neste novo endereço é necessária uma associação entre o home address e o
care-of address
◦ Associação chamada de binding
◦ Feita por um Home Agent (roteador na rede de origem)

INE5422 - CAMADA DE REDE 247


Segurança IPv6
Segurança IPv4
◦ IPv4 foi projetado para redes acadêmicas, que após utilizada como
estrutura de comunicação comercial produziu problemas de segurança
◦ IPSec
◦ Protocolo que implementa criptografia e autenticação no IPv4, garantindo:
◦ Que a mensagem recebida não tenha sido adulterada;
◦ A identidade do remetente;
◦ A confidencialidade da mensagem, criptografando seu conteúdo
◦ Mecanismo de autenticação não pode ser utilizado em conexões que estejam
atrás de NAT

INE5422 - CAMADA DE REDE 248


Segurança IPv6
Segurança IPv6
◦ Implantação do IPSec é mais simples e tem as mesmas funções do IPv4:
◦ Não há necessidade de se usar NAT permitindo que o IPSec funcione sem
restrições;
◦ Mecanismos de autenticação e encapsulamento do IPSec fazem parte do
protocolo
◦ Seu suporte é obrigatório em todos os nós (que não ocorre no IPv4)

INE5422 - CAMADA DE REDE 249


Transição de IPv4 para IPv6
Impossível atualizar todos os roteadores/hosts
simultaneamente
◦ Impossível marcar uma data para a troca de IPv4 por IPv6
◦ Como as redes operam mixando IPv4 e IPv6?
◦ Via migração suave do IPv4 ao IPv6

INE5422 - CAMADA DE REDE 250


Transição de IPv4 para IPv6

INE5422 - CAMADA DE REDE 251


Transição de IPv4 para IPv6

INE5422 - CAMADA DE REDE 252


Transição de IPv4 para IPv6
Pilha Dual: Serviço DNS
◦ É preciso configurar os novos endereços IPv6, usando registros do tipo
AAAA (quad-A), que armazenam seus endereços.
◦ Ao receber endereços IPv6 e IPv4 como resposta a uma consulta no DNS a
aplicação decide qual protocolo usar.
◦ Normalmente a preferência é pelo protocolo IPv6 e, em caso de falha, tenta-se
o IPv4.
◦ Mais recentemente têm sido experimentadas técnicas que implicam em
tentativas simultâneas de conexão IPv6 e IPv4 e optam pela que for mais
rápida

INE5422 - CAMADA DE REDE 253


Pilha Dual
Os equipamentos funcionam com IPv4 e IPv6 simultaneamente
◦ Permite que a implantação do IPv6 seja feita sem mudar a topologia da
rede IPv4
◦ Pode ser implementada com ou sem conectividade IPv6 à Internet.
◦ Pode utilizar endereços válidos IPv6, em conjunto com NAT para IPv4

INE5422 - CAMADA DE REDE 254


Abordagem Pilha Dual

INE5422 - CAMADA DE REDE 255


Transição de IPv4 para IPv6
Túneis (conectando ilhas IPv6 entre si)
◦ O IPv6 pode ser encapsulado dentro de conexões IPv4
◦ Os pacotes IPv6 podem ser transmitidos dentro de pacotes IPv4
◦ IPv6-over-IPv4 / Tunnel Broker / 6to4 / ISATAP / Teredo

INE5422 - CAMADA DE REDE 256


Tunelamento

INE5422 - CAMADA DE REDE 257


Túneis
Permitem que
◦ Hoje: Ilhas IPv6 conectem-se através de redes IPv4
◦ No futuro: Ilhas IPv4 conectem-se através de redes IPv6

INE5422 - CAMADA DE REDE 258


Pontos Importantes

Alguns aspectos do IPv6


• Conhecer aspectos relacionados à fragmentação,
mobilidade e segurança

INE5422 - CAMADA DE REDE 259

Você também pode gostar