83
2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

Embed Size (px)

Citation preview

Page 1: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

IPv6(Parte 1: Protocolo e Serviços Básicos)

Edgard Jamhour

Page 2: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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

Page 3: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 4: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Distribuição da Alocação

• Uma parte dos endereços não pode ser utilizada no modo unicast.

• Endereços podem ter sido atribuídos, mas ainda não anunciados pelo BGP

Page 5: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Crescimento da Alocação IPv4

(www.nro.net)

Page 6: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Alocação de Endereços IPv6

(www.nro.net)

Page 7: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Previsão de Esgotamento

• Novas alocações da IANA: 2012

• Esgotamento de todos os endereços já alocados: 2018

Page 8: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 9: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Problemas de Arquitetura

A B

CD

EF G

IJ

H

EGP

SISTEMA AUTÔNOMO 1 SISTEMA AUTÔNOMO 2

IGP IGP

Conhece todas as rotas da

Internet

Conhece apenas as rotas no

interior do AS

ML

216.1.2.0/24

220.2.1.0/24

prefixo: 220.2.0.0/16prefixo: 216.1.2.0/16

CPE CPE

Page 10: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Crescimento das Entradas BGP

Page 11: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 12: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 13: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 14: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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

Cabeçalho Extensão

Dados... Cabeçalho Extensão

tamanho fixo tamanho fixo ou variável

CabeçalhoCom todos as funções

IPv6

DADOSIPv4

Page 15: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Version Byte DS Flow Label

Payload length Next Header Hop Limit

Source Address(16 bytes)

Destination Address(16 bytes)

byte 1 byte 2 byte 3 byte 4

Page 16: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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

IPv6O roteador analisa o campo de versão para determinar como o restante do cabeçalho deve ser

interpretado.

Page 17: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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)

DSCP

(6 bits)

ENC

(2 bits)

BYTE DS

Page 18: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

IPA IPB

FL=1

FL=2

No IPv6 os roteadores podem diferenciar as conexões.

Page 19: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 20: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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)

Page 21: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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

Page 22: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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 baseNEXT = TCP

segmento TCP

cabeçalho baseNEXT = ROUTE

cabeçalho ROUTENEXT=TCP

segmento TCP

cabeçalho baseNEXT = ROUTE

cabeçalho AUTHNEXT=TCP

segmento TCP

cabeçalho ROUTENEXT=AUTH

cabeçalho baseNEXT = IPv6 (41)

Cabeçalho IPv6

Page 23: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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

Page 24: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Exemplo: Jumbograma

Next Header

194

Jumbo payload length

1 byte 1 byte

0

1 byte

tamanho do datagrama, valor superior a 64k (até 4 Gbytes)

indica a opção “jumbograma”

indica o tamanho do cabeçalho de extensão (menos 8 bytes que são mandatários)

indica o tipo de cabeçalho de extensão (hop by hop)

4

1 byte

Tamanho do campo valor, em bytes.

Page 25: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Next Header

opcoes

opcões

1 byte 1 byte

Length

2 bytes

seqüência de opções individuais.

Page 26: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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)

Próximo Cabeçalho

Tipo(0)

1 byte 1 byte

Tamanho do Cabeçalho

Número de saltos restantes (máximo de 23)

Endereços Restantes

Bit map

1 – 24 endereços

1 byte 1 byte

indica se cada endereço pertence a uma rota “strict” ou “loose”.

Page 27: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Roteamento

A

B

C

D

E

5-ABCDE-00000

4-ABCDE

3-ABCDE

2-ABCDE

1-ABCDE

0-ABCDE

A

B

C

D

E

3-ACE-111

2-ACE

2-ACE

1-ACE

1-ACE

0-ACE

strict routing

loose routing

Page 28: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Next Header

Fragment Offset

1 byte 1 byte

Reservado res

Datagram Identification

13 bits 1 bit

indica se é o último fragmento ou não.

MF

1 bit

indica a posição do fragmento (múltiplo de 8 bytes).

Page 29: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 30: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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

Page 31: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 32: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

AH e Modo Túnel e Modo Transporte

IP TCP/UDP DADOS

IP TCP/UDP DADOSAH

IP TCP/UDP DADOSAH IP

IPv6

IPv6 com autenticação

IPv6com autenticação e tunelamento

Especifica os Gateways nas Pontas do Tunnel

Especifica os Computadores

IP Normal

Modo Transporte

Modo Tunel

Page 33: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Authentication Header

Next Header reserved

1 byte 1 byte

Length reserved

SPI: Security Parameter Index

Authentication Data(ICV: Integrity Check Value)

Campo de Tamanho Variável, depende do protocolo de autenticação utilizado

1 byte 1 byte

• Provê serviços de autenticação e Integridade de Pacotes.

Sequence Number

Page 34: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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)

Next Header reserved

1 byte 1 byte

Length reserved

Security Parameter Index

Authentication Data

1 byte 1 byte

More Data

Page 35: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 36: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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

Page 37: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

IP TCP/UDP DADOSAH

Algoritmo de Integridade ICV

ICV

iguais?

Page 38: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

HMAC

• h = função de hashing (MD5 ou SHA1)

• k = chave secreta

• ipad = 0x363636 ... 3636

• opad = 0x5c5c5 ... c5c5c

Page 39: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 40: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 41: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

A B

Eu transmito para qualquer rede sem IPsecEu transmito para qualquer rede em IPsec AH MD5Eu aceito pacotes de qualquer rede em com IPsec AH MD5

Eu transmito para qualquer rede em IPsec AH MD5Eu transmito para qualquer rede em IPsec AH SHA1Eu aceito pacotes de qualquer rede em com IPsec AH MD5Eu aceito pacotes de qualquer rede em com IPsec AH SHA1

Page 42: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Host A Host B

negociam SA e definem SPI

SPI=deAparaB e SN=1

SPI=deAparaB e SN=2

...

SPI=deBparaASPI=daAparaB.

SPI=deAparaBSPI=deBparaA

SPI=deBparaA e SN=1

Page 43: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Transmissão dos Dados

A B

Quando transmitir para B use SPI=5

SPI=5algo. SHA1chave: xxxx

SPI=5algo. SHA1chave: xxxx

IP AH DADOS

SPI=5 assinatura Algo SHA1

IP AH DADOS

SPI=5 assinatura Algo SHA1

assinaturacomparação

Page 44: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

AH Modo Tunel e Transporte

SA

INTERNET

SA

SA INTERNET SA

Conexão IPsec em modo Túnel

IPsec AH IPsec AH IPsec AH IPsec AH IPsec AH

Conexão IPsec em modo Transporte

IPsec AH IPsec AH IPsec AH

IP

IPIP

IP

Page 45: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 46: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

ESP IPSec : Tunel e Transporte

TCPUDP

DADOSESP HEADER

ESPTRAILER

ESPAUTH

criptografado

autenticado

TCPUDP

DADOSIP

IP TCPUDP

DADOSESP HEADER

ESPTRAILER

ESPAUTH

criptografadoautenticado

IP

IP

MODO TRANSPORTE

MODO TUNNEL

Page 47: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Encrypted Security Payload Header

• ESP provê recursos de autenticação, integridade e criptografia de pacotes.

Next HeaderPad (0 – 255 bytes)

1 byte 1 byte

Pad Length

Security Parameter Index

Encrypted Payload(dados criptografados)

1 byte 1 byte

Sequence Number

Authentication Data(tamanho variável)

HEADER

TRAILER

AUTH

Page 48: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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 Cipher-Block Chainin é o default.

Next Header reserved

1 byte 1 byte

Length reserved

Security Parameter Index

Encrypted Payload(dados criptografados)

1 byte 1 byte

Page 49: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 50: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Transmissão dos Dados

A C

Quando transmitir para C use SPI=6

SPI=6algo. DES

chave: yyyyy

SPI=6algo. DES

chave: yyyy

IP ESP DADOS CRIPTO.

SPI=6

DES com chave yyyy

ESP

enchimento

IP ESP DADOS CRIPTO.

SPI=6

DES com chave yyyy

ESP

enchimento

Page 51: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

ESP Modo Tunel e Transporte

SA

INTERNET

SA

SA INTERNET SA

Conexão IPsec em modo Túnel

IPsec ESP IPsec ESP IPsec ESP IPsec ESP IPsec ESP

Conexão IPsec em modo Transporte

IPsec ESP IPsec ESP IPsec ESP

IP

IPIP

IP

Page 52: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 53: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Estrutura Geral do IPsec

Enlace

IP/IPsec(AH,ESP)

Transporte (TCP/UDP)

Sockets

Protocolo Aplicação

AplicaçãoIKE

Base de SAs

Base de Políticas

consultarefere

consulta

Administrador

configura

Solicita criação do SA

Page 54: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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)

Page 55: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 56: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Categorias de Endereço

unicast

anycast

multicast

OU

Page 57: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Reserved

Allocation

0::/8 1/256

Prefix (hexa) Fraction of Address Space

Unassigned … …

NSAP Allocation 200::/7 1/128

IPX Allocation 400::/7 1/128

Unassigned … …

Aggregatable Global Unicast

Addresses

2000::/3 1/8

Unassigned … …

Link Local Unicast Addresses. FE80::/10 1/1024

Site Local Unicast Addresses

FEC0::/10

1/1024

Multicast Addresses FF00::/8 1 1/256

Total Alocado 15%

Classes de Endereço IPv6

Page 58: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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)

Page 59: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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

Site

Rede Organização Individual

Page 60: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

TLA ID NLA ID SLA ID Interface ID

3 13

19 16 6413

FP 001

Sub -TLA

Aggregatable Global Unicast

FP: 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

AGGR

Organização

BA

CK

BO

NE SITE

SITE

TLA

BA

CK

BO

NE

NLA

Organização

SLA

global routing prefix

Page 61: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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).

Page 62: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Backbone IPv6

6bonewww.6bone.net

Backbone experimental,

Organizado pelo IETF.

Conta com participantes do

mundo todo.

TLA:3FFE::/16

Page 63: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Flags ID de Grupo

8 4 4PF Escopo

112

Page 64: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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).

Page 65: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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)

Page 66: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Código

Corpo da Mensagem

8 8 16

Tipo Checksum

Page 67: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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).

Page 68: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Resolução de Endereços

Host A

IP FE80::0800:5A12:3456

MAC 08005A123456

Host B

IP FE80::0800:5A12:3458

MAC 08005A123458

Host C

IP FE80::0800:5A12:3457

MAC 08005A123457

Host D

IP FE80::0800:5A12:3459

MAC 08005A123459

Ethernet

Page 69: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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

Page 70: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 71: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 72: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 73: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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

Page 74: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 75: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

A

1 2

B

Router adverstisement

Page 76: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 77: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 78: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 79: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 80: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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

Page 81: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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.

Page 82: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

2008, Edgard Jamhour

Exemplo

(ip6.top1.com)TLA: 2111/16

(ip6.prov1.com)NLA: 00AB/32

(ip6.ppgia.pucpr.br)00A1/16

TLA ID NLA ID SLA ID Interface ID

3 13 19 16 6413

FP 001

SUB – TLA ID

(www6)Interface: 0000:1000:5A12:3456

(ip6.top2.com)TLA: 2122

(ip6.prov2.com)NLA: 00BC

(ip6.ppgia.pucpr.br)00B1/16

(www6)Interface: 0000:1000:5A12:3456

Mudança de

Provedor

2111:00AB:00A1::1000:5A12:3456

Page 83: 2008, Edgard Jamhour IPv6 (Parte 1: Protocolo e Serviços Básicos) Edgard Jamhour

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