IPv6
(Protocolo e Serviços Básicos)
2008, Edgard Jamhour
Problemas do IP Versão 4
• Crescimento do IPv4
– 07/2007 490 milhões de hosts
– 01/2008 542 milhões de hosts
– IPv4 permite endereçar 32 bilhões de hosts.
PREVISÃO DE
ESGOTAMENTO
= 1994
2008, Edgard Jamhour
Previsão do Esgotamento IPv4
• A análise da alocação de endereços IPv4 é feita em
blocos /8
• Todo o espaço de endereçamento da Internet pode ser
dividido em 256 blocos /8.
2008, Edgard Jamhour
Previsão de Esgotamento
• Novas alocações da IANA: 2012
• Esgotamento de todos os endereços já alocados: 2018
2008, Edgard Jamhour
Soluções Alternativas
• Esgotamento do espaço de endereçamento pelo uso de
classes.
– CIDR (Classless Inter Domain Routing)
• Reduziram a pressão por IP´s mas aumentam em demasia as tabelas de
roteamento dos backbones na Internet.
– Endereços IPv4 privados podem ser utilizados apenas por
clientes.
• Novas aplicações estão aumentando a necessidade de mais endereços
IPv4 para servidores.
2008, Edgard Jamhour
Exemplo de Roteador de Borda
• Roteadores de borda atuais precisam suportar aproximadamente:
– 222.000 rotas (junho 2007)
– Mais 50% para rotas privadas de clientes
• A fim de processar essas rotas sem grande atraso na propagação
dos pacotes os roteadores precisam:
– Muita memória de acesso rápido
– Alta capacidade de processamento
• Roteadores com essa capacidade podem ter custos superiores a U$
50K.
2008, Edgard Jamhour
IPv6
•
IPv6: Internet Protocolo, versão 6.
–
•
Também denominado IPng (ng: next generation)
Características:
1. Endereçamento hierárquico, baseados em prefixos, permite
manter as tabelas de roteamento pequenas e roteamento
eficiente no backbone.
2. Mecanismos de autoconfiguração de interfaces de rede.
3. Suporte ao encapsulamento de si mesmo e dos outros
protocolos.
2008, Edgard Jamhour
Características do IPv6
4. Classe de serviço para distinguir o tipo de dados.
5. Suporte a roteamento multicast aperfeiçoado.
6. Autenticação e criptografia embutidas.
7. Métodos de transição para migrar para IPv4.
8. Métodos de compatibilidade para coexistir e comunicar com IPv4.
2008, Edgard Jamhour
Datagrama IPv6
• IPv6 utiliza um formato de datagrama completamente diferente do
IPv4.
• O cabeçalho do IPv6 é composto de duas partes:
– um cabeçalho de tamanho fixo
– zero ou mais cabeçalhos de extensão
Cabeçalho
Base
tamanho fixo
Cabeçalho
Extensão
...
Cabeçalho
Extensão
Dados
IPv6
tamanho fixo ou variável
Cabeçalho
Com todos as funções
DADOS
IPv4
2008, Edgard Jamhour
Cabeçalho IPv6
• A figura abaixo mostra a porção fixa do cabeçalho IP.
– O cabeçalho IPv6 tem menos campos que o IPv4
– No total, o IPv6 utiliza um cabeçalho de 40 bytes.
byte 1
Version
byte 2
byte 3
Byte DS
Payload length
byte 4
Flow Label
Next Header
Hop Limit
Source Address
(16 bytes)
Destination Address
(16 bytes)
2008, Edgard Jamhour
Cabeçalho IPv6
• Version (4 bits)
– Contém o número fixo 6.
– Será utilizado pelos roteadores e demais hosts para determinar
se eles podem ou não transportar o pacote.
IPv4
IPv6
O roteador analisa o campo de
versão para determinar como o
restante do cabeçalho deve ser
interpretado.
2008, Edgard Jamhour
Cabeçalho IPv6
• O campo TOS (8bits) foi renomeado para:
– byte DS.
• Este campo é formado da seguinte maneira:
– DSCP (Differentiated Services CodePoint)
• 6 bits (classe de tráfego para o pacote)
– ECN: Explicit Congestion Notification (experimental)
• 2 bits (reservado)
BYTE DS
DSCP
ENC
(6 bits)
(2 bits)
2008, Edgard Jamhour
Controle de Fluxo
• Flow Label (20 bits)
– Permite identificar 1 milhão de conexões entre 2 pares de IP.
– Permite controlar a banda associada a uma conexão.
– O tratamento dado a uma conexão deverá ser pré-definido em
cada roteador que participar da rota do datagrama, previamente a
comunicação.
No IPv6 os roteadores podem diferenciar as conexões.
FL=1
IPB
IPA
FL=2
2008, Edgard Jamhour
Cabeçalho IPv6
• Payload Lenght (16 bits)
– Indica quantos bytes seguem o cabeçalho fixo de 40 bytes.
– O valor é zero no caso do jumbograma.
• Next Header (8bits)
– Se houver cabeçalhos de extensão, indica o seu tipo.
• Atualmente são definidos 6 tipos de cabeçalho de extensão
– Se não houverem, indica o cabeçalho de transporte.
• Hop Limit (8 bits)
– Equivalente ao Time to Live do IPv4.
2008, Edgard Jamhour
Cabeçalhos de Extensão
• 6 tipos de cabeçalhos de extensão estão definidos atualmente:
– Hop-by-hop options (0):
• informações para analisadas pelos roteadores
– Routing (43)
• rota completa ou parcial que a mensagem deve seguir
– Fragmentation (44)
• Gerenciamento de fragmentos de datagrama
– Authentication (51)
• Verificação da identidade do transmissor
– Encrypted security payload (50)
• Informação sobre o conteúdo criptografado
– Destination options (60)
• Analisadas apenas pelos computadores.
– Sem próximo cabeçalho (59)
2008, Edgard Jamhour
Comparação com IPv4
• Os seguintes campos do IPv4 foram eliminados do
cabeçalho básico IPv6:
– Identificação, Flags de Fragmentação e Deslocamento de
Fragmento.
• O TCP tende a eliminar a fragmentação de datagramas.
• Quando necessário pode ser definido num cabeçalho de extensão.
• O IPv6 especifica uma MTU de 576 bytes ou mais.
– Checksum de Cabeçalho
• Eliminado para reduzir a carga na CPU dos roteadores.
• Pode ser implementado pelo TCP ou pelo cabeçalho de autenticação.
– Tipo de Serviço (TOS)
• Substituído pelo conceito de fluxo
2008, Edgard Jamhour
Cabeçalhos de Extensão
• Os datagramas IPv6 podem ter 0 ou vários cabeçalhos de extensão,
conforme mostra o exemplo abaixo:
cabeçalho base
NEXT = IPv6 (41)
Cabeçalho
IPv6
cabeçalho base
NEXT = TCP
segmento
TCP
cabeçalho base
NEXT = ROUTE
cabeçalho ROUTE
NEXT=TCP
segmento
TCP
cabeçalho base
NEXT = ROUTE
cabeçalho ROUTE
NEXT=AUTH
cabeçalho AUTH
NEXT=TCP
segmento
TCP
2008, Edgard Jamhour
Hop-by-hop Header
•
Define opções sobre o datagrama transportado, que todos os roteadores
devem analisar (todos os nós IPv6, incluindo o destino).
•
Formato dos cabeçalhos de extensão: T-L-V (Type – Length – Value)
– Tamanho variável
•
Type (8 bits): XX – Y – ZZZZZ
– XX: indica como um nó IPv6 que não reconhece a opção deve proceder.
•
Ignorar, Descartar em Silêncio, Descartar enviando ICMP
– Y: se a opção muda ou não ao longo do trajeto .
•
Se muda, não incluir no checksum
– ZZZZZ: bits que definem a opção
•
E.G. Exemplo de opção: 194 (Jumbograma)
– Suportar datagramas com mais de 64K
2008, Edgard Jamhour
Exemplo: Jumbograma
indica o tipo de cabeçalho de extensão (hop by hop)
indica o tamanho do cabeçalho de extensão
(menos 8 bytes que são mandatários)
indica a opção “jumbograma”
1 byte
1 byte
1 byte
1 byte
Next
Header
0
194
4
Tamanho do campo valor, em
bytes.
Jumbo payload length
tamanho do datagrama,
valor superior a 64k (até 4 Gbytes)
2008, Edgard Jamhour
Destination Options Header
• Permite passar informações que devem ser interpretadas apenas
pelo destinatário.
– É destinado para suportar o desenvolvimento de novos softwares sem
causar problemas com os roteadores existentes.
– Essa opção permitirá a criação flexível de novos protocolos de
roteamento (para os roteadores) e novos protocolos entre usuários finais.
1 byte
1 byte
2 bytes
Next
Header
Length
opcoes
opcões
seqüência de opções
individuais.
2008, Edgard Jamhour
Routing Header
• Indica um ou mais roteadores que devem compor o caminho do
pacote até o destinatário.
– o caminho completo pode ser especificado (strict routing)
– o caminho parcial pode ser especificado (loose routing)
Número de saltos restantes
(máximo de 23)
1 byte
Próximo
Cabeçalho
1 byte
Tamanho do
Cabeçalho
1 byte
Tipo
(0)
Bit map
1 – 24 endereços
1 byte
Endereços
Restantes
indica se cada
endereço
pertence a uma
rota “strict” ou
“loose”.
2008, Edgard Jamhour
Roteamento
strict routing
B
A
4-ABCDE
3-ABCDE
C
D
2-ABCDE
1-ABCDE
E
0-ABCDE
5-ABCDE-00000
B
loose routing
A
3-ACE-111
2-ACE
2-ACE
C
D
1-ACE
1-ACE
E
0-ACE
2008, Edgard Jamhour
Fragmentation Header
• A fragmentação no IPv6 funciona de maneira similar ao IPv4.
– Ao contrário do IPv4, o IPv6 só permite efetuar a fragmentação na
origem.
– Os roteadores não podem fragmentar os pacotes. Se o pacote for muito
grande para ser colocado num quadro, ele é descartado pelo roteador e
uma mensagem ICMP é enviada de volta ao cliente.
1 byte
Next
Header
1 byte
13 bits
Reservado
Fragment Offset
1 bit 1 bit
res
MF
Datagram Identification
indica se
é o último
fragmento
ou não.
indica a posição do fragmento (múltiplo
de 8 bytes).
2008, Edgard Jamhour
Autenticação e Criptografia
• A especificação do IPv6 determina que as extensões de
segurança IPsec são mandatórias.
• Essas extensões de segurança permitem:
– Autenticar quem enviou o pacote para o receptor.
– Gerenciar a criptografia dos dados.
• Adicionalmente, o IPsec determina a utilização do IKE
(Internet Key Exchange) para criação automática de
associações de segurança entre hosts IPv6.
2008, Edgard Jamhour
Tipos de IPSec
• IP Autentication Header (AH)
– Protocolo 51
– Oferece recursos de:
• Autenticação
• Integridade
• IP Encapsulating Security Payload (ESP)
– Protocolo 50
– Oferece recursos de:
• Confidencialidade
• Autenticação
• Integridade
2008, Edgard Jamhour
Protocolo AH
• Definido pelo protocolo IP tipo 51
• Utilizando para criar canais seguros com autenticação e
integridade, mas sem criptografia.
• Permite incluir uma “assinatura digital” em cada pacote
transportado.
• Protege a comunicação pois atacantes não conseguem
falsificar pacotes assinados.
2008, Edgard Jamhour
AH e Modo Túnel e Modo Transporte
IPv6
IP
TCP/UDP DADOS
IP Normal
IPv6 com autenticação
IP
AH TCP/UDP DADOS
Modo Transporte
IPv6com autenticação e tunelamento
IP AH IP TCP/UDP DADOS
Modo Tunel
Especifica os Computadores
Especifica os Gateways nas Pontas do Tunnel
2008, Edgard Jamhour
Authentication Header
• Provê serviços de autenticação e Integridade de Pacotes.
1 byte
Next Header
1 byte
Length
1 byte
reserved
1 byte
reserved
SPI: Security Parameter Index
Sequence Number
Authentication Data
(ICV: Integrity Check Value)
Campo de Tamanho Variável, depende do protocolo de autenticação
utilizado
2008, Edgard Jamhour
Authentication Header
•
Permite identificar para o receptor de um datagrama quem foi que o enviou.
– Length:
•
comprimento do cabeçalho em múltiplos de 32.
– Security Parameter Index:
•
identificador de 32 bits, com a SA compartilhada pelo transmissor e pelo receptor.
– Authentication Data:
•
Checksum de 32 bits gerado pelo MD5 (ou outro protocolo)
1 byte
Next Header
1 byte
Length
1 byte
reserved
1 byte
reserved
Security Parameter Index
Authentication Data
More Data
2008, Edgard Jamhour
Campos do IPsec AH
• Next Header:
– Código do protocolo encapsulado pelo IPsec, de acordo com os
códigos definidos pela IANA (UDP, TCP, etc ...)
• Length:
– comprimento do cabeçalho em múltiplos de 32.
• Security Parameter Index:
– identificador de 32 bits, com a SA compartilhada pelo transmissor
e pelo receptor.
• Authentication Data:
– Código de verificação de integridade (ICV) de tamanho variável,
depende do protocolo utilizado.
2008, Edgard Jamhour
Authentication Data
•
Para enviar um pacote:
1. O transmissor constrói um pacote com todos os campos IP e
protocolos das camadas superiores.
2. Ele substitui todos os campos que mudam ao longo da
transmissão com 0’s (por exemplo, o TTL)
3. O pacote é completado com 0’s para se tornar múltiplo de 16 bits.
4. Um checksum criptográfico é computado para concatenação:
–
Algoritmos: HMAC-MD5 ou HMAC-SHA-1
– MAC: Message Authentication Code
2008, Edgard Jamhour
Autenticação
•
Para receber um pacote:
1. O receptor utiliza o SPI para determinar qual o algoritmo a ser
utilizado para validar o pacote recebido.
2. O receptor substitui os campos mutáveis por “0” e calcula o
checksum criptográfico do pacote.
3. Se ele concordar com o checksum contido no cabeçalho do
pacote de autorização, ele é então aceito.
Algoritmo de Integridade
IP
AH
TCP/UDP
ICV
iguais?
DADOS
ICV
2008, Edgard Jamhour
HMAC
• h = função de hashing (MD5 ou SHA1)
• k = chave secreta
• ipad = 0x363636 ... 3636
• opad = 0x5c5c5 ... c5c5c
2008, Edgard Jamhour
Security Association
• Uma vez definida uma política comum a ambos os
computadores, uma associação de segurança (SA) é
criada para “lembrar” as condições de comunicação entre
os hosts.
• Isso evita que as políticas sejam revistas pelo IPsec a
cada novo pacote recebido ou transmitido.
• Cada pacote IPsec identifica a associação de segurança
ao qual é relacionado pelo campo SPI contido tanto no
IPsec AH quanto no IPsec ESP.
2008, Edgard Jamhour
Associação de Segurança
• SA: Associação de Segurança
– Contrato estabelecido após uma negociação que estabelece
como uma comunicação IPsec deve ser realizada.
• Algoritmo de Autenticaçã/Criptografia
• Chave de Sessão
• SPI: Secure Parameter Index
• Número inteiro (32 bits) que identifica um SA.
• É transmitido junto com os pacotes IPsec para permitir ao destinatário
validar/decriptografar os pacotes recebidos.
2008, Edgard Jamhour
Security Association (SA)
•
Dois computadores podem possuir um conjunto amplo de políticas para
transmissão e recepção de pacotes.
•
É necessário encontrar uma política que seja comum ao transmissor e ao
receptor.
Eu transmito para qualquer rede sem IPsec
Eu transmito para qualquer rede em IPsec AH MD5
Eu aceito pacotes de qualquer rede em com IPsec AH MD5
A
B
Eu transmito para qualquer rede em IPsec AH MD5
Eu transmito para qualquer rede em IPsec AH SHA1
Eu aceito pacotes de qualquer rede em com IPsec AH MD5
Eu aceito pacotes de qualquer rede em com IPsec AH SHA1
2008, Edgard Jamhour
Campos do IPsec AH
• Sequence Number:
– Numero incremental, que começa a contagem quando o SA é criada.
– Permite que apenas 232-1 pacotes sejam transmitidos na mesma SA.
Após esse número, uma nova SA deve ser criada.
SPI=deAparaB
SPI=deBparaA
negociam SA e definem SPI
SPI=deBparaA
SPI=daAparaB.
SPI=deAparaB e SN=1
Host A
SPI=deAparaB e SN=2
Host B
SPI=deBparaA e SN=1
...
2008, Edgard Jamhour
Transmissão dos Dados
comparação
SPI=5 assinatura
Algo SHA1
DADOS
IP AH
A
Quando transmitir para B
use SPI=5
SPI=5
algo. SHA1
chave: xxxx
SPI=5 assinatura
IP AH
assinatura
Algo SHA1
DADOS
B
SPI=5
algo. SHA1
chave: xxxx
2008, Edgard Jamhour
AH Modo Tunel e Transporte
IPsec AH
SA
IPsec AH
IPsec AH
IPsec AH
IPsec AH
SA
INTERNE
T
Conexão IPsec em modo Transporte
IPsec AH
IP
SA
IPsec AH
IP
IPsec AH
INTERNET
SA
IP
IP
Conexão IPsec em modo Túnel
2008, Edgard Jamhour
Protocolo ESP
• Definido pelo protocolo IP tipo 50
• Utilizando para criar canais seguros com autenticação,
integridade e criptografia.
• Além da criptografia, permite incluir uma “assinatura
digital” em cada pacote transportado.
• Protege a comunicação pois atacantes não conseguem
falsificar pacotes assinados e criptografados.
2008, Edgard Jamhour
ESP IPSec : Tunel e Transporte
MODO TRANSPORTE
autenticado
criptografado
IP
IP
ESP
HEADER
TCP
UDP
DADOS
IP
TCP
UDP
DADOS
ESP
HEADER
IP
TCP
UDP
DADOS
ESP
TRAILER
ESP
AUTH
ESP
TRAILER
ESP
AUTH
criptografado
autenticado
MODO TUNNEL
2008, Edgard Jamhour
Encrypted Security Payload Header
• ESP provê recursos de autenticação, integridade e
criptografia de pacotes.
1 byte
1 byte
1 byte
1 byte
Security Parameter Index
HEADER
Sequence Number
Encrypted Payload
(dados criptografados)
Pad (0 – 255 bytes)
Pad Length
Authentication Data
(tamanho variável)
Next Header
TRAILER
AUTH
2008, Edgard Jamhour
Encrypted Security Payload Header
• A transmissão de dados criptografados pelo IPv6 é feita
através do cabeçalho Encrypted Security Payload.
– a chave de criptografia utilizada é definida pelo campo Security
Parameter Index.
– o algoritmo de criptografia pode ser qualquer, mas o DES CipherBlock Chainin é o default.
1 byte
Next Header
1 byte
Length
1 byte
reserved
1 byte
reserved
Security Parameter Index
Encrypted Payload
(dados criptografados)
2008, Edgard Jamhour
Campos do IPsec ESP
• Header:
– SPI e Sequence Number: Mesmas funções do AH
– O algoritmo de criptografia pode ser qualquer, mas o DES Cipher-Block
Chaining é o default.
• Trailler:
– Torna os dados múltiplos de um número inteiro, conforme requerido pelo
algoritmo de criptografia.
– O trailler também é criptografado.
• Auth:
– ICV (Integrity Check Value) calculado de forma idêntica ao cabeçalho AH.
Este campo é opcional.
2008, Edgard Jamhour
Transmissão dos Dados
DES com
chave yyyy
DES com
chave yyyy
SPI=6
SPI=6
IP
ESP
DADOS CRIPTO.
A
Quando transmitir para C
use SPI=6
SPI=6
algo. DES
chave: yyyyy
ESP
enchimento
IP
DADOS CRIPTO.
ESP
C
ESP
enchimento
SPI=6
algo. DES
chave: yyyy
2008, Edgard Jamhour
ESP Modo Tunel e Transporte
IPsec ESP
SA
IPsec ESP
IPsec ESP
IPsec ESP
IPsec ESP
SA
INTERNE
T
Conexão IPsec em modo Transporte
IPsec ESP
IP
SA
IPsec ESP
IP
IPsec ESP
INTERNET
SA
IP
IP
Conexão IPsec em modo Túnel
2008, Edgard Jamhour
Configuração do IPsec
• Cada dispositivo de rede (Host ou Gateway) possui uma
política de segurança que orienta o uso de IPsec.
• Uma política IPsec é formada por um conjunto de regras,
muito semelhantes as regras de um firewall.
• As políticas IPsec são definidas de maneira distinta para
os pacotes transmitidos e para os pacotes recebidos.
2008, Edgard Jamhour
Estrutura Geral do IPsec
Administrador
configura
Base de
Políticas
refere
Solicita criação
do SA
IKE
Aplicação
Protocolo Aplicação
Sockets
consulta
Transporte (TCP/UDP)
IP/IPsec(AH,ESP)
Base de
SAs
consulta
Enlace
2008, Edgard Jamhour
Endereços IPv6
• Definido pela RFC 2373
– IPv6 Addressing Architecture
• Exemplo de Endereço IPv6:
– FE80:0000:0000:0000:68DA:8909:3A22:FECA
• endereço normal
– FE80:0:0:0:68DA:8909:3A22:FECA
• simplificação de zeros
– FE80 ::68DA:8909:3A22:FECA
• omissão de 0’s por :: (apenas um :: por endereço)
– 47::47:192:4:5
• notação decimal pontuada
– ::192:31:20:46
• endereço IPv4 (0:0:0:0:0:0:0:0:192:31:20:46)
2008, Edgard Jamhour
Categorias de Endereço IPv6
• Unicast:
– O destinatário é um único computador.
• Anycast:
– O endereço de destino define um grupo de hosts. O
pacote é entregue para qualquer um deles (o mais
próximo)
• Multicast:
– O destinatário é um grupo de computadores,
possivelmente em redes físicas distintas.
2008, Edgard Jamhour
Categorias de Endereço
unicast
OU
anycast
multicast
2008, Edgard Jamhour
Classes de Endereço IPv6
Prefix (hexa)
Fraction of
Address Space
Reserved
0::/8
1/256
Unassigned
NSAP Allocation
…
200::/7
…
1/128
IPX Allocation
400::/7
1/128
Unassigned
…
…
Aggregatable Global Unicast
2000::/3
1/8
Unassigned
Addresses
…
…
Link Local Unicast
. Addresses
FE80::/10
1/1024
Site Local Unicast Addresses
FEC0::/10
1/1024
Allocation
Multicast Addresses
Total Alocado
FF00::/8 1
1/256
15%
2008, Edgard Jamhour
Endereços Unicast Especiais
•
Loopback:
– ::1
•
Não especificado (todos os bits iguais a ‘0’)
– ::
•
Compatível com IPv4 (prefixo de 96 bits ‘0’)
– ::AB:CD equivalente a A.B.C.D (e.g. ::0102:0304)
•
Mapeado (prefixo de 80 bits ‘0’)
– ::FFFF:<IPv4>
– Permite que hosts IPv6 falem com servidores IPv4 (eg. ::FFFF:0102:0304)
•
Local ao Enlace:
– Endereços de rede física ou enlace (privado não roteáveis)
•
Local ao Site:
– Endereços de redes privada (privado roteáveis)
2008, Edgard Jamhour
Aggregatable Global Unicast
• Especificado pela RFC 2374
• Endereçamento com três níveis hierárquicos
Topologia Pública
Topologia Site
Interface
Rede Organização
Individual
Site
2008, Edgard Jamhour
Aggregatable Global Unicast
FP:
3
FP
001
13
13
TLA ID
Sub -TLA
TLA
BACKBONE
AGGR
NLA
SLA
SITE
Organização
SITE
Organização
BACKBONE
Format Prefix (AGGR)
TLA ID:
Top Level Aggregation Identifier
NLA ID:
Next Level Aggregation Identifier
SLA ID:
Site Level Aggregation Identifier
Interface ID:
Link Level Host Identifier
19
16
NLA ID SLA ID
64
Interface ID
global routing prefix
2008, Edgard Jamhour
Arquitetura Internet IPv4 X IPv6
• O IPv6 prevê 8192 TLA, correspondentes as entradas
nas tabelas de roteamento dos roteadores de mais alto
nível.
• A alocação de endereços está sendo feita através de
blocos menores, denominados sub-TLAs
• Cada sub-TLA pode controlar até 219 organizações
(524288 organizações).
• Cada organização pode ter até 216 sites (64K sub-redes).
2008, Edgard Jamhour
Backbone IPv6
6bone
www.6bone.net
Backbone
experimental,
Organizado pelo
IETF.
Conta com
participantes do
mundo todo.
TLA:
3FFE::/16
2008, Edgard Jamhour
Endereços de Multicast IPv6
• O formato de endereços Multicast IPv6:
– PF: valor fixo (FF)
– Flags:
• 0000 endereço de grupo dinâmico
• 1111 endereço de grupo permanente
– Escopo:
• 1: nó local, 2: enlace local, 5: site local, 8: organização
• 14: global.
8
PF
4
Flags
4
112
Escopo
ID de Grupo
2008, Edgard Jamhour
Endereços Multicast Especiais
• RFC 2375
– FF01::1: todas as interfaces do nó (host)
– FF02::1: todos os nós do enlace (rede local)
– FF01::2 todos os roteadores locais ao nó
– FF05::2 todos os roteadores do site
– FF02::B agentes móveis locais ao enlace
– FF02::1:2 agentes DHCP do enlace
– FF05::1:3 servidores DHCP do site
– FF02::1::FFxx:xxxx endereço de nó solicitado (formado com os 24 bits de
endereço unicast do host).
2008, Edgard Jamhour
ICMPv6
• As funções do protocolo ICMP foram estendidas no IPv6.
• O ICMPv6 (RFC 1885: Internet Control Message Protocol
for IPv6) recebeu também as funções:
– De controle das informações de grupos Multicast (feitas pelo
IGMPv4)
– Da resolução de endereços IPv6 (feitas pelo ARP)
• As funções do ICMPv6 também estão descritas na RFC
2461 (Neighbor Discovery for IPv6)
2008, Edgard Jamhour
Mensagens ICMP
• Identificadas como Next Header = 58
– Tipo:
• 0 a 127: erro
– Destino inalcançável, pacote muito grande, TTL excedido,
problema de parâmetro
• 128 a 362: informativas
– Echo request, Echo response, Consulta de Adesão ao Grupo,
Relatório de Adesão a Grupo, Redução de Adesão ao Grupo,
Solicitação de Roteador, Anúncio de Roteador, Solicitação de
Vizinho, Mensagem de Redirecionamento, etc.
8
Tipo
8
Código
16
Checksum
Corpo da Mensagem
2008, Edgard Jamhour
Descoberta de Vizinho
• O ICMPv6 permite ao host IPv6 descobrir outros hosts
IPv6 e roteadores em seu enlace.
• Esse mecanismo permite também ao roteador
redirecionar o host para outro roteador caso ele não seja
a melhor escolha para rota.
– Essa função também existe no IPv4.
• A descoberta de vizinhos permite também ao host
determinar a cada instante se o destinatário continua
acessível (NUD: neighbor unreachability detection).
2008, Edgard Jamhour
Resolução de Endereços
Host A
Host B
IP FE80::0800:5A12:3456
IP FE80::0800:5A12:3458
MAC 08005A123456
MAC 08005A123458
Ethernet
Host C
Host D
IP FE80::0800:5A12:3457
IP FE80::0800:5A12:3459
MAC 08005A123457
MAC 08005A123459
2008, Edgard Jamhour
Neighbor Solicitation
• Comunicação de A para B
– A envia uma mensagem de “neighbor solicitation”
• Campos do IP
– Próximo 58 (ICMP)
– Saltos (255)
– IP Destino (endereço de nó solicitado: multicast)
• ICMP
– Tipo 135 (Neighbor Solicitation)
– Endereço Alvo: IP do destinatário
– MAC de origem
2008, Edgard Jamhour
Neighbor Adverstisement
– B envia para A um Neigbor Adverstisement
• Campos do IP
– Próximo 58 (ICMP)
– Saltos (255)
– IP Destino (endereço de nó A)
• ICMP
–
–
–
–
Tipo 136 (Neighbor Adverstisement)
Endereço Alvo: IP de B
MAC de origem (o MAC de B)
Flags RSO (3 bits)
» R Flag Roteador: A resposta foi de um roteador
» S Flag Solicitado: O anúncio é resposta a uma solicitação.
» 0 Flag SobreEscrito: Solicitação de Atualização da Cache
de MAC enviada espotaneamente pelo HOST B.
2008, Edgard Jamhour
Descoberta de Roteador e Prefixo
• Os roteadores enviam mensagens periodicamente
mensagens ICMP denominadas “Router Advertisements”
(configurado no roteador)
• Essas mensagens permitem:
– Descoberta de Prefixo
• Permite ao host determinar qual o intervalo de endereços IP dos hosts
da mesma LAN que ele.
– Descoberta de Roteador
• Permite ao host determinar, quando o destinatário não pertence a sua
rede, para qual roteador o pacote deve ser enviado.
2008, Edgard Jamhour
Router Advertisement
• Campos do IP:
– Next Header: 58 (ICMP)
– Saltos: 255
– Endereço de Destino:
• Multicast Especial (todos os nós do enlace): FF02:1
• Campos do ICMP:
– Tipo:
• 134 (router adverstisement)
– Flags:
• M e O: Utilizados na configuração de endereços sem estado.
– Tempo de Vida do Roteador
• Tempo em ms que o roteador deve ser considerado disponível sem
outra mensagem de router adverstisement.
2008, Edgard Jamhour
Router Advertisement
• Campos do ICMP (continuação):
– Tempo de Vida do Roteador
• Tempo em ms que o roteador deve ser considerado disponível sem outra
mensagem de router adverstisement.
– Tempo Atingível
• Configura os hosts com o tempo em ms que os hosts podem guardar as respostas
de vizinhos na cache.
– Tempo de Restransmissão
• Configura os hosts com o tempo em ms que eles devem aguardar para retransmitir
as mensagens de solicitação de vizinho quando não há resposta.
– Opção 1:
• MAC do roteador
– Opção 2:
• MTU do enlace
– Opção 3:
•
Prefixo para o Enlace
2008, Edgard Jamhour
Router Solicitation
• Um host que queira descobrir um roteador acessível no enlace sem
aguardar a próxima mensagem de router advertisement pode enviar
uma mensagem de router solicitation.
• Essa mensagem ICMP (tipo 133) é enviada ao endereço de
multicast:
– Todos os roteadores do enlace: FF02::2
• O roteador que recebe a mensagem responde com uma mensagem
de router advertisement diretamente para o nó solicitante.
2008, Edgard Jamhour
Redirecionamento
•
Pelas mensagens de “router advertisement” um host pode aprender sobre a
existência de mais de um roteador na rede.
•
Nesse caso, quando ele envia a mensagem ele pode escolher o roteador
errado (como gateway default).
•
Se o roteador não for o melhor posicionado para fazer a entrega ele envia
uma mensagem Redirect (ICMP tipo 137) informando ao host sobre a
existência de uma rota melhor para o destino.
•
Ao receber a mensagem, o host atualiza sua tabela de roteamento.
1
2
A
B
Router adverstisement
2008, Edgard Jamhour
Autoconfiguração de IP sem Estado
• Atribuição automática de IP na inicialização de uma
interface pode ser feita de duas formas.
– Stateful: via DHCP
– Stateless: via ICMPv6 (RFC 1971)
• O processo stateless envolve os seguintes passos:
– 1. O host cria um endereço de enlace local:
• FE80::/10 combinando com seu endereço MAC
– 2. O host verifica se o endereço já existe com uma mensagem de
neighbor advertisement. Se já existir, a autoconfiguração falhou.
– 3. O host envia mensagens de solicitação de roteador, se
nenhum responder, o host tenta DCHP, se nenhum responder,
ele se comunica apenas no interior do enlace.
2008, Edgard Jamhour
Autoconfiguração de IP sem Estado (continuação)
– 4. Se o host receber uma mensagem de router advertisement:
• Se o flag M estiver setado (endereço gerenciado):
– O nó deve solicitar seu endereço via DHCP
• Se o flag O estiver setado (outras configuração de estado):
– O nó deve obter também as demais informações de
configuração de rede via DHCP.
• Se o flag A estiver setado
– O host autoconfigura seu endereço sem DHCP
• Opção de Prefixo:
– Se o flag A estiver setado, o host reconstrói seu endereço
utilizando o prefixo recebido e seu endereço MAC.
2008, Edgard Jamhour
DNS no IPv6
• Foram definidas extensões no DNS para suportar IPv6
(RFC 1886).
• As extensões definem:
– Um registro AAAA para mapear host IPv6 em nomes de domínio.
– Um novo domínio para consultas do tipo endereço-domínio (zona
reversa – registros PTR).
– Mudança nas consultas existentes para efetuar processamento
correto das consultas A e AAAA.
2008, Edgard Jamhour
Zona IPv6 Reversa
• Por exemplo,
• se o host
– www6.ppgia.pucpr.br
• possui o endereço:
– 222:0:1:2:3:4:5678:9ABC
• A entrada no arquivo de zona reversa será:
C.B.A.9.8.7.6.5.4.0.0.0.3.0.0.2.0.0.1.0.0.0.0.0.0.0.2.2.2.2.IPv6.INT
PTR
www6.ppgia.pucpr.br.
2008, Edgard Jamhour
Mudança no Formato dos Registros
• O formato hierárquico de endereços IPv6 permite que uma
organização troque de prefixo de público (TLA ou NLA) sem grandes
alterações na rede.
• Todavia, utilizando a construção dos arquivos de zona padrão, a
atualização das entradas dos arquivos de zona no caso da mudança
de prefixo seria muito grande.
• Por isso uma nova proposta de representação de nomes de domínio
associada a prefixos foi definida para o IPv6 :
• RFC 2874: DNS Extensions to Support IPv6 Address Aggregation and
Renumbering
2008, Edgard Jamhour
Definição do Registro AAAA
• Um entrada de registro AAAA seria definida da seguinte maneira:
– Dominío do Host
– AAAA
– Endereço IPv6
– P
– Nome de Domínio do Prefixo
• Onde:
– O endereço IPv6 contém apenas os bits de menor ordem que
independem do prefixo.
– P é o tamanho do prefixo.
2008, Edgard Jamhour
Exemplo
(ip6.top1.com)
TLA: 2111/16
(ip6.top2.com)
TLA: 2122
(ip6.prov1.com)
NLA: 00AB/32
(ip6.prov2.com)
NLA: 00BC
Mudança
de
Provedor
(ip6.ppgia.pucpr.br)
00A1/16
(ip6.ppgia.pucpr.br)
00B1/16
(www6)
Interface: 0000:1000:5A12:3456
(www6)
Interface: 0000:1000:5A12:3456
2111:00AB:00A1::1000:5A12:3456
3
FP
001
13
TLA ID
13
19
SUB – TLA ID
NLA ID
16
SLA ID
64
Interface ID
2008, Edgard Jamhour
Configuração do Arquivo de Zonha
•
Antes da mudança de provedor
•
www6.ppgia.pucpr.br AAAA ::1000:5A12:3456 80 ip6.ppgia.pucpr.br
•
ip6.ppgia.pucpr.br AAAA 0:0:00A1:: 32 ip6.prov1.com
•
ip6.prov1.com AAAA 0:00AB:: 16 ip6.top1.com
•
ip6.top1.com AAAA 2111::
•
ip6.prov2.com AAAA 0:00BC:: 16 ip6.top2.com
•
ip6.top2.com AAAA 2122::
•
Para efetuar a mudança de provedor basta mudar um único registro:
•
ip6.ppgia.pucpr.br AAAA 0:0:00A1:: 32 ip6.prov2.com
2008, Edgard Jamhour
Download

IPv6 - fabianosabha.com.br