Introdução Inst tituto de Info ormátic ca - UF FRGS Redes de Computadores Internet Protocol version 6 (IPv6) Aula 19 Problema de esgotamento dos endereços IPv4 Em 1996 : 100% dos endereços classe A, 62% dos endereços classe B, 37% dos endereços classe C alocados (Fonte: ARIN) Soluções para o problema do esgotamento Algo precisava ser feito!! Criação de um novo protocolo (IPv6) Paliativas: NAT e CIDR Sobrevida da capacidade de endereçamento (NAT e CIDR) Redução das tabelas de roteamento (CIDR) Efeito colateral (desvantagem): tiraram a pressão para adoção do IPv6 Entretanto, Internet continuou vítima de seu sucesso Esgotamento de endereçamento IPv4: 2011!! (Isso mesmo, 2011) Estoques da IANA distribuídos para as autoridades regionais (RIR) Não há como escapar: IPv6 é inevitável! Redes de Computadores 2 Internet Protocol version 6 (IPv6) Endereço IPv6 Solução para suprir a demanda de endereços IPs e de novos serviços Objetivos do IPv6 Suportar bilhões de nós (mesmo com desperdício) Reduzir tamanho de tabelas de roteamento Simplificar o protocolo (melhorar desempenho de roteadores) Oferecer autenticação e privacidade Suporte a qualidade de serviços Melhorar capacidade de multidifusão (multicast) Permitir evolução do protocolo Possibilitar a convivência i de protocolos novos com antigos Definido em uma série de RFCs 128 bits 2 128 = 340.282.366.920.938.463.374.607.431.768.211.456 endereços (340 undecilhões ou cerca de 3,4x10 27 end. IPv6 por pessoa no mundo 10 bi) Notação Hexadecimal: oito quartetos de quatro dígitos hexadecimais (32 nibbles) Ex.: 2001:0DB1:AB11:521E:1213:0FAC:6531:0AB1 Possível omitir zeros a esquerda em qualquer grupo (ex: 00FA FA) Quartetos com zeros consecutivos podem ser representados pela sequência :: (uma única vez) sempre tem que ter 8 quartetos Ex.: ::1 (loopback), 2001::DB8:1511, 2001::, 2011:DB8:1214:: Mista: empregada para endereços IPv4 em IPv6 Ex.: ::143.54.13.13 CIDR para identificar a parte do prefixo (Ex.: 2801:80:40::/48 = bloco IPv6 destinado d à UFRGS) Redes de Computadores 3 Redes de Computadores 4
Tipos de endereços IPv6 Endereços IPv6: formação Unicast Identifica uma única interface de rede (comunicação um-para-um) Multicast t Identifica um conjunto de interfaces (comunicação um-para-muitos) Suporte obrigatório em IPv6 Anycast Identifica um conjunto de interfaces (comunicação um-para-um-de-muitos). Critério de distância é caminho de menor custo (em termos de roteamento) IPv6 não tem conceito de classes, apenas de prefixo (blocos) 64 64 Prefixo* 32 16 16 Sufixo Não se usa para definir sub-redes!!! Prefixo Permite a existência de 2 64 redes distintas (18.446.744.073.709.551.616 ) Dividido idid em: provider id (/32), subscriber id (/48) e subnet id (/64) O sufixo é sempre de 64 bits Serve para identificar uma interface IPv6 em um enlace *Campos do prefixo depende do tipo de endereço IPv6 Redes de Computadores 5 Redes de Computadores 6 Sufixo IPv6 Espaço de endereçamento de IPv6 64 64 Prefixo* Sufixo Endereço MAC da placa de rede (EUI-64) 48 Identificador de interface Identifica uma interface em um enlace FFFE Tipicamente é um número de 64 obtido expandido MAC e para 64 bits (padrão EUI-64) manualmente automaticamente de forma randômica atribuído por DHCP (versão 6) Outros métodos no futuro (ex.: com auxílio de chave de cifragem pública) 24 16 24 Endereços com prefixo zerado (especiais) Loopback (::1/128) Não especificado (::/128) IPv4 mapeado em IPv6 (::FFFF/96) IPv4 compatível com IPv6 (::/96) Endereços com prefixo Global unicast (2000::/3) Link local (FE80::/10) Unique local (FC00::/7) Multicast t (FE80::/10) Redes de Computadores 7 Redes de Computadores 8
Resumo: espaço de endereçamento do IPv6 Endereços eços especiais: s não especificado, cado, rota padrão e loopback Dividido em vários blocos de tamanhos diferentes Cada bloco tem um objetivo especial Maioria dos blocos ainda estão não atribuídos (uso futuro) Prefixo IPv6 Alocação Porção 0000::/8 Endereços eços especiais s 1/256 0100::/8 Reserved by IETF 1/256 0200::/7 Reserved by IETF 1/128 0400::/6 Reserved by IETF 1/64 0800::/5 Reserved by IETF 1/32 1000::/4 Reserved by IETF 1/16 2000::/3 Global Unicast 1/8 4000::/3 Reserved by IETF 1/8 6000::/3 Reserved by IETF 1/8 8000::/3 Reserved by IETF 1/8 Prefixo IPv6 Alocação Porção A000::/3 Reserved by IETF 1/8 C000::/3 Reserved by IETF 1/8 E000::/4 Reserved by IETF 1/16 F000::/5 Reserved by IETF 1/32 F800::/6 Reserved by IETF 1/64 FC00::/7 Unique Local Unicast 1/128 FE00::/9 Reserved by IETF 1/512 FE80::/10 Link Local Unicast 1/1024 FEC0::/10 Reserved by IETF 1/1024 FF00::/8 Multicast 1/256 Derivados do bloco reservado 0000::/8 Endereço não especificado Sub-bloco de um único endereço (::0/128 ou ::/128) Usado na inicialização para indicar a ausência de um endereço atribuído Rota padrão: Endereço ::/0 (corresponde ao 0.0.0.0/0 do IPv4) Loopback Sub-bloco de um único endereço (::1/128 ou ::1) Redes de Computadores 9 Redes de Computadores 10 Endereços especiais: mapeado e documentação Link Local Address Transição de IPv4 a IPv6 Endereço mapeado: comunicação entre nós IPv4 e IPv6 Bloco 0000::FFFF/96 (ex.: 0000::FFFF:143.54.13.13/96) 13 13/96) Endereço compatível: comunicação de nós IPv4 sobre estrutura IPv6 Bloco 0000::/96 bits (ex: 0000::143.54.13.13/96) 13 13/96) Bloco 2001:DB8::/32 Reservado para ser usado em textos, documentos e aulas Objetivo é não expor nenhum endereço público em material técnico/didático Curiosidade: existe no IPv4 o endereço 203.0.113.0/32 com a mesma finalidade. Bloco FE80::/10 (prefixo) Sufixo é determinado diretamente através do MAC address (EUI-64) Endereço especial usado para comunicação apenas no enlace locall Interfaces no mesmo enlace (computadores ou roteadores) Não deve vazar para Internet Roteadores não repassam destinos com esse endereço Funcionalidade Autoconfiguração Descoberta de vizinhos Redes de Computadores 11 Redes de Computadores 12
Unique Local Address Global Unique Address Bloco FC00:/7 (prefixo) Equivalente aos endereços privativos do IPv4 Subdivido id em dois grupos FC00::/8: atribuídos por uma autoridade Internet Questionável: ainda está aberto no mundo IPv6 FD00::/8: atribuídos localmente Bloco 2000::/3 Equivale aos endereços públicos IPv4, isso é, roteáveis São os endereços atribuídos pelos RIRs (NIC) Divididos em 3 partes em função da politica de distribuição Entidades: prefixo global (48 bits), sub-rede (16 bits) e sufixo (64 bits) Usuários finais: prefixo global (56 bits), sub-redes (8 bits) e sufixo (64 bits) Atualmente dividido em 512 blocos /12, mas só seis são usados APNIC 2400::/12 ARIN 2600::/12 AfriNIC 2C00::/12 Há um sexto bloco para Diversos LACNIC 2800::/12 Ripe NCC 2A00::/12 Redes de Computadores 13 Redes de Computadores 14 Endereço multicast Endereços anycast Bloco FF00::/8 Endereço de multicast é dividido em quatro partes Prefixo (8 bits): F000::/8 Flag (4 bits): grupo permanente (0000) ou temporário (1111) Escopo (4 bits): local a nó, enlace, site, organização ou global Identificador do grupo (112 bits) Suporte obrigatório em nós IPv6 Grupos especiais Solicited node Multicast all-nodes Multicast all-routers Um mesmo endereço unicast atribuido a mais de uma interface São derivados do bloco de unicast Roteadores devem ter suporte a anycast (anycastt subnet-router) t ) Prefixo da sub-rede e identificador da interface zerado Roteadores selecionam a qual dos vários o pacote é encaminhado Critério de menor custo Nós devem ser configurados explicitamente e as rotas devem ser /128 Usos do anycast Descoberta de serviços na rede (DNS, proxy HTTP, etc) Localização de recursos na rede Balanceamento de carga Mobilidade IPv6 Redes de Computadores 15 Redes de Computadores 16
ICMPv6 ICMPv6: Descoberta de vizinhos Engloba as funcionalidades do ICMP, ARP e IGMP do IPv4 Mensagens são divididas em quatro grupos Relatórios de erro Informativas Descoberta de vizinhos Participação em grupo similar ao IPv4 novidades do IPv6 Permite encontrar roteadores IPv6 e endereços de enlace dos vizinhos Dividida em quatro subgrupos: Solicitação de roteador e anúncio de roteador Descoberta do roteador padrão (default gateway) Solicitação de vizinho e anúncio de vizinho Similar ao ARP (dado um IPv6, qual é o MAC associado) Solicitação reversa de vizinho e anúncio reverso de vizinho Dado um endereço MAC do vizinho, qual é o IPv6 associado Redirecionamento Funcionamento idêntico ao do IPv4 Redes de Computadores 17 Redes de Computadores 18 ICMPv6: Participação em grupo Autoconfiguração UFRGS rmática - U Similar ao IGMP do IPv4 Consulta a participação em grupo Relatório de participação i em grupo Usado em conjunto com os protocolos de multicast O IPv6 oferece suporte a auto-configuração Mecanismo que permite a atribuição de endereços unicast aos nós IPv6 com interferência mínima Dois tipos: Autoconfiguração stateless Autoconfiguração statefull Redes de Computadores 19 Redes de Computadores 20
Autoconfiguração stateless Autoconfiguração statefull Empregada nas seguintes situações Sem configuração manual dos nós (estações) Sem servidores adicionais (ex. DHCP) Procedimento Gera um unique link local address a partir do identificador da interface Prefixo FE80::/64 + identificador da interface Envia mensagem ICMPv6 (router solicitation) para o roteador do enlace local Mensagem para o grupo de multicast all-routers Roteador responde com mensagem ICMPv6 (router advertisement) Contém o prefixo da sub-rede Gera um global unicast address concatenando o prefixo com o identificador da interface Controle mais rígido dos endereços IPv6 atribuídos Fornecer opções de configuração da rede Definir endereços que não são baseados em MAC Definir políticas de atribuição de endereços Empregada quando Não é encontrado nenhum roteador para fornecer prefixo Mensagens router advertisement indicam esse método Baseado na existência de um servidor DHCPv6 Cliente se comunica com servidor usando um endereço link-local Servidor DHCP pertence ao grupo multicast FF02::1:2 ou FF05::1.3 Existência de relay DHCP, se servidor estiver fora do enlace Serviço diferente do DHCPv4 Redes de Computadores 21 Redes de Computadores 22 Mecanismos de transição IPv4 para IPv6 Políticas de alocação de endereços IPv6 Pilha dupla Máquinas possuem duas pilhas de protocolo: IPv4 e IPv6 Falam os dois protocolos dependendo d d do interlocutor t (IPv4 ou IPv6) Tunelamento Encapsula um datagrama IPv4 em um pacote IPv6 ou vice-versa versa Várias técnicas: 6to4 (RFC 3056), Teredo (RFC 4380), ISATAP (RFC 5214) Tradução de protocolo Transforma datagramas IPv4 em pacotes IPv6 ou vice-versa Várias técnicas: SIIT (RFC 2765), NAT-PT (RFC 2766, 4966), BIS (RFC 2767) e BIA (RFC 3338) mais extensões no DNS (RFC 3596) Já vem sendo atribuídos no mundo inteiro Cada RIR possui um bloco /12 LACNIC recebeu o bloco 2800::/12 e o NIC.br é um /16 deste bloco Utilização e demanda é medida em número de blocos e não por quantidade de endereços como no IPv4 Todas as redes (inclui sub-redes) acabam por ter um prefixo de 64 bits Abordagens One size fits all: baseada na atribuição de blocos /48 para todos usuários RFC 3177 dá uma série de recomendações Conservadora: blocos de /56 para usuários domésticos e PMEs Redes de Computadores 23 Redes de Computadores 24
Alocação de endereços IPv6 Leituras complementares Distribuição de forma hierárquica Solicitação no Brasil é para o NIC.br http://registro.br/info/cidr.html html UFRGS: 2801:80:40::/48 48 16 Permite 2 16 sub-redes 64 Bloco/48 Bloco/56 Prefixos alocados aos RIRs IANA Afrinic 2C00::/12 Bloco/12 APNIC 2400::/12 RIR ARIN 2600::/12 LACNIC: 2800::/12 Bloco/32 RIPE NCC: 2A00::/12 Provedor Permite 2 8 sub-redes 56 8 Bloco/64 Para uma única interface 64 Tanenbaum, A. Redes de Computadores (4 a ed.), bookman, 2003. Capítulo 5, seção 5.6.8 Carissimi, i i A.; Rochol, J; Granville, L.Z; Redes de Computadores. Série Livros Didáticos. Bookman 2009. Capítulo 5, seção5.5.3 Muito material da Internet, mas a referência de base é: http://www.ipv6.br http://curso.ipv6.br Redes de Computadores 25 Redes de Computadores 26