2008, Edgard Jamhour IPv6 Internet Protocol – Versão 6 Edgard Jamhour

Preview:

Citation preview

2008, Edgard Jamhour

IPv6Internet Protocol – Versão 6

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

2008, Edgard Jamhour

Soluções Alternativas

• Previsão inicial de esgotamento:– 1994

• Soluções propostas no início dos anos 90:– 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

Problemas de Arquitetura

IXP

Internet Exchange Point

ISP

ISP

ISPISP

ISP

A criação do CIDR, provocou grande incremento no número

de rotas dos roteadores de borda (entradas BGP)

2008, Edgard Jamhour

Crescimento das Entradas BGP

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

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

Crescimento da Alocação IPv4

(www.nro.net)

2008, Edgard Jamhour

Alocação de Endereços IPv6

(www.nro.net)

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

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

Cabeçalho Extensão

Dados... Cabeçalho Extensão

tamanho fixo tamanho fixo ou variável

CabeçalhoCom todos as funções

IPv6

DADOSIPv4

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

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.

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.

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

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

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.

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.

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

2008, Edgard Jamhour

Roteamento

A C

D

E5-ABCDE-00000

4-ABCDE

3-ABCDE

2-ABCDE

1-ABCDE

0-ABCDE

3-ACE-111

2-ACE2-ACE

1-ACE1-ACE

0-ACE

strict routing

loose routing

B

A C E

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

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

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

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

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

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)

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

AC B

B

unicast

multicast

anycastOU

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

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

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

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

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

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.

Código

Corpo da Mensagem

8 8 16

Tipo Checksum

2008, Edgard Jamhour

Mensagens ICMP

Router Advertisement

Router Solicitation

Neighbor Solicitation

Neighbor Advertisement

Solicita MAC

Fornece MAC

Anuncia Prefixo

Solicita Prefixo

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

Dual Stack

• A forma mais simples de integração entre IPv4 e IPv6 é utilizar S.O. dual stack.

Aplicação Aplicação

TCP TCP

IPv4 IPv6

Enlace

Aplicação

TCP

IPv4

Enlace

Aplicação

TCP

IPv6

Enlace

Dual Stack Host

2008, Edgard Jamhour

Técnicas de Tunelamento

• Permite que hosts ou redes IPv6 isoladas se comunique pela Internet.

• Pacotes IPv6 são encapsulados como dados de pacotes IPv4.

SRC IPv4 payloadDST IPv4

Tunnel Endpoints

payloadSRC IPv6 DST IPv6

TIPO

2008, Edgard Jamhour

ISATAP

• ISATAP é um mecanismo para atribuição automática de endereço e configuração automática de túneis que permite que hosts IPv6 se comuniquem através da Internet.

FE80::5EFE:192.168.1.2 FE80::5EFE:10.32.1.2

IPv4

192.168.1.2 10.32.1.2 IPv6

2008, Edgard Jamhour

6to4 scheme

Tunelamento 6to4

1/65535

AGGR (1/8)

Reserved

Allocation

0000 0000 1/256

Prefix (binary) Fraction of

Address Space

Unassigned … …

NSAP Allocation 0000 001 1/128

IPX Allocation 0000 010 1/128

Unassigned … …

Aggregatable Global Unicast Addresses

001 1/8

Unassigned … …

. 1111 1110 10 1/1024

1111 1110 11 1/1024

Multicast Addresses 1111 1111 1/256

Site-Local Unicast Addresses

Link-Local Unicast Addresses

2008, Edgard Jamhour

Endereços 6to4

• Classe de endereços especiais definidas para o tunelamento 6to4 (RFC 2529)– 2002::/16

0 0000 0000 0010 V4ADDR001 SLA ID Interface ID

3 13 32 64

2002:

16

Site Address 80 bits

Interface externa do roteador que se conecta com a Internet.

2008, Edgard Jamhour

Example

Internet (IPv4 Network)

IPv6 host

IP6to4 router

IP6to4 router

IPv6 Network 2002:C8C0:7801::/48

IPv6 host

V4ADDR C8.C0.78.1

(200.192.116.1)

V4ADDR C8.11.62.1

(200.17.98.1)

IPv6 Network 2002:C811:6201::/48

C8.C0.78.1 C8.11.62.1 2002:C8C0:7801… 2002:C811:6201… payload

IPv6 packet IPv4 header

C8.C0.78.1 C8.11.62.1 2002:C8C0:7801… 2002:C811:6201… payload

IPv4 header IPv6 packet

2008, Edgard Jamhour

Roteadores 6to4 Relay

• Roteadores Relay são utilizados para permitir a comunicação entre Hosts 6to4 através de backbones puramente IPv6. Os roteadores Relay são vistos como o verdadeiro “gateway default” para acessar redes puramente IPv6.

• Muitas instituições que participam dos projetos de backbones IPv6, como Microsoft e Cisco, oferecem roteadores relay.

2008, Edgard Jamhour

O endereço Anycast mágico

• A RFC 3068 definiu que o prefixo 192.88.99.0/24 é utilizado para anunciar o roteador relay mais próximo de uma rede utilizando BGP.

• O endereço IPv6 equivalente é 2002:c058:6301::".

BACKBONE IPv4

BACKBONE IPv6

roteadores relay

roteador 6to4tunel

Rede Privada

Rede Privada

2008, Edgard Jamhour

Exemplo

• A tabela abaixo ilustra as rotas criadas automaticamente pelo Windows XP para acessar redes IPv6.

• ::/0 -> 3/2002:c058:6301::1741 pref 1331

• ::/0 -> 3/2002:836b:213c::836b:213c pref 2147483647 (rota tornada obsoleta)

• ::/96 -> 2 pref 1000

• 2002::/16 -> 3 pref 1000

2008, Edgard Jamhour

6over4 Tunneling (Virtual Ethernet)

• Permite que hosts IPv6 isolados se comunique com roteadores IPv6 através de uma rede IPv4.

– RFC 2529: Transmission of IPv6 over IPv4 Domains without Explicit Tunnels

IPv6 HostHost IPv6

IPv4 IPv6

IPv4 Net IPv6 Net

IPv6 Application

6over4

Router

IPv6 Application

Multicast IPv6

2008, Edgard Jamhour

Formato dos Pacotes

• Pacotes IPv6 são encapsulados no interior de pacotes IPv4 utilizando o tipo de protocolo 41.

• Pelo menos um roteador da rede deve suportar o serviço IPv6over4.

SRC IPv4 payloadDST IPv4

payloadSRC IPv6 DST IPv6

41

2008, Edgard Jamhour

Mapeamento de Endereços Multicast

• Os serviços IPv6 são baseados em mensagens multicast:– Neighbor Discovering, Router Discovering and Prefix

Discovering

• IPv6over4 define um mapeamento entre mensagens multicast IPv4 e IPv6:– Pv4 multicast base address: 239.192.0.0/16

– 239 .192.< 2 bytes menos significativos do endereço multicast IPv6>

2008, Edgard Jamhour

Mapeamento de Endereços

• all-nodes multicast address: 239.192.0.1– FF02::1: all nodes of the link (link local)

• all-routers multicast address: 239.192.0.2– FF01::2 all link local routers

• solicited-node multicast address: 239.192.Y.Z– FF02::1::FFxx:xxxx

– xx:xxxx 24 less significant bits of the host unicast address.

2008, Edgard Jamhour

Conclusão

• O IPv6 é necessidade real para permitir a continuidade do crescimento dos serviços Internet devido:– Ao esgotamento de endereços IPv4 públicos

– Ao grande número de rotas dos roteadores de borda.

• A transição para IPv6 ocorrerá gradualmente.– Redes IPv4 e IPv6 podem e irão coexistir.

– Atualmente, já é possível utilizar endereços IPv6 e mecanismos de transição.

Recommended