Como implementar o IPv6 Marco Antônio Chaves Câmara LOGIC Engenharia Ltda [email protected] Quem é o Palestrante ? Marco Antônio Chaves Câmara – Engenheiro Eletricista (UFBA); – Professor • Universidade Católica do Salvador; • Universidade do Estado da Bahia. – Trabalha com redes desde 1987; – Certificações ? • CNE e CNI (Novell); • MCP (Microsoft); • Projetista e Instalador (Lucent Technologies) – Diretor técnico da LOGIC Engenharia Salvador - BA. ? ? ? ? ? Agenda • O que é o IPv6 ? • As mudanças principais • Implementação – Estratégias de Migração – O 6bone – Exemplos • Fontes de referência O que é IPv6 ? • Porque surgiu ? • O que oferece ? • Como surgiu ? O IPv6 vai decolar ? • Diferentes estratégias têm provocado uma sobrevida longa ao IPv4 – Subnets – proxies – CIDR (Classless InterDomain Routing) O IPv6 vai decolar ? • Diferentes estratégias têm provocado uma sobrevida longa ao IPv4 – Subnets – proxies – CIDR (Classless InterDomain Routing) • Esta não é a primeira tecnologia de que ouvimos falar, mas não vemos ... O IPv6 vai decolar ? • Diferentes estratégias têm provocado uma sobrevida longa ao IPv4 – Subnets – proxies – CIDR (Classless InterDomain Routing) • Esta não é a primeira tecnologia de que ouvimos falar, mas não vemos ... • No entanto, alguns problemas sérios acabarão provocando a implementação do IPv6 ! O IPv6 vai decolar ? • Problemas técnicos – Limites de endereçamento – Tamanho das tabelas de roteamento • Mudança de “paradigma” – Aplicações Internet no próximo milênio • Comunicação portátil, genérica e SEGURA para todos; • Multimídia interativa – A Internet será a nova TV ? • Além do tráfego multicast para milhões, temos o problema da capilaridade (principalmente levando-se em conta a interatividade). Objetivos • Mais endereços do que o necessário, mesmo em estimativas pessimistas; • Maior desempenho; • Suporte integrado a segurança e autenticação; • Redução dos requisitos de processamento na rede (roteadores); • Suporte a QoS; • Garantir expansão futura. Objetivos • Mais endereços do que o necessário, mesmo em estimativas pessimistas; Em estimativas conservadoras, o IPv6 suporta milhares de endereços por metro quadrado de superfície da terra ! Objetivos • Maior desempenho – Cabeçalho simplificado e de tamanho fixo; – Fragmentação apenas na origem; – Eliminação da checagem contra erros. Objetivos • Suporte integrado a segurança e autenticação – Extensão de cabeçalho específica para autenticação; – Idem para criptografia dos dados. Objetivos • Redução dos requisitos de processamento na rede (roteadores) – Valem os pontos já citados quanto ao desempenho • Simplificação do cabeçalho • Fragmentação apenas na origem • Eliminação da checagem de erros – Endereços hierárquicos globais reduzem a necessidade de armazenamento nas tabelas dos roteadores • Estratégia já utilizada no IPv4 através do CIDR (Classless InterDomain Routing) e ampliada no IPv6; – Com as extensões de roteamento, consegue-se ainda mais • Mobilidade • Auto re-endereçamento. Objetivos • Suporte a QoS – Separam-se pacotes sensíveis a atrasos dos outros; – Em cada classificação, é possível determinar níveis de prioridade; – Controle de fluxo permite tratar fluxos de dados como “pseudoconexões”, permitindo inclusive multiplicidade de fluxos entre um par emissor/receptor. Objetivos • Garantir expansão futura – Apenas 28% do espaço disponível para endereços foi alocado ... – Número de cabeçalhos de extensão pode crescer ... • Hoje são seis – Até mesmo o conceito de “escopo” para os endereços multicast não considera o planeta como nível mais alto (escopo 14 de 15) ... Como surgiu o IPv6 ? • IETF iniciou os trabalhos em 1990 – RFC1550 pedia propostas de solução • Após uma seleção inicial, uma versão modificada de duas das soluções (SIPP - Simple Internet Protocol Plus) foi selecionada em junho de 1994; • Foi dada a designação IPv6 (ou IPng), que é adotada hoje pela comunidade Internet. As mudanças principais • O novo cabeçalho – Formato básico – Extensões • Notação de endereços – Identificação básica – Regras de simplificação – Divisão do espaço de endereçamento IPv6 : evoluindo o IPv4 ... 32 bits Versão IHL Tipo de Serviço D M F F Identificação Time to live Comprimento Total Protocolo Fragment Offset Header Checksum Endereço de Origem Endereço de Destino ~ ~ Opções (0 ou mais palavras - comprimento variável) ~ ~ IPv6 : evoluindo o IPv4 ... 32 bits Versão de Serviço IHL Total Desaparece oTipo campo de “opções”, Comprimento que foi substituído com D M Fragment Offset vantagensIdentificação pelos “cabeçalhos de Fextensão”, que veremos melhor F posteriormente. Basicamente, são seisHeader diferentes tipos de extenTime to live Protocolo Checksum são admissíveis, cada qual com sua função. Endereço de Origem Endereço de Destino IPv6 : evoluindo o IPv4 ... 32 bits Ganhamos : 1)IHL Redução do Tipo de Serviço Comprimento Total tamanho; D M Identificação Fragment Offset F F 2) CompriTime to live Protocolo Header Checksum mento fixo, ou Endereço de Origem melhor ... para que o campo Endereço de Destino IHL? Versão IPv6 : evoluindo o IPv4 ... 32 bits Versão IHL Tipo de Serviço D M F F Identificação Time to live Comprimento Total Protocolo Fragment Offset Header Checksum Endereço de Origem Endereço de Destino IPv6 : evoluindo o IPv4 ... 32 bits Versão Tipo de Serviço D M F F Identificação Time to live Comprimento Total Protocolo Fragment Offset Header Checksum Endereço de Origem Endereço de Destino IPv6 : evoluindo o IPv4 ... 32 bits Os campos de endereço de origem e destino foram ampliados quatro vezes. Agora o espaço de endereçamento é muito maior ! No entanto, obviamente, isto aumentou o cabeçalho ... Versão Tipo de Serviço D M F F Identificação Time to live Comprimento Total Protocolo Fragment Offset Header Checksum Endereço de Origem Endereço de Destino IPv6 : evoluindo o IPv4 ... 32 bits Versão Tipo de Serviço D M F F Identificação Time to live Comprimento Total Protocolo Fragment Offset Header Checksum Endereço de Origem Endereço de Destino IPv6 : evoluindo o IPv4 ... 32 bits Ganhamos : Versão 1) Aumento doServiço Tipo de espaço de Identificação endereçamento; Time to live Protocolo Comprimento Total D M F F Fragment Offset Header Checksum Endereço de Origem Endereço de Destino IPv6 : evoluindo o IPv4 ... 32 bits Versão Tipo de Serviço D M F F Identificação Time to live Comprimento Total Protocolo Fragment Offset Header Checksum Endereço de Origem Com o fim da fragmentação, deixam de ser necessários todos os campos relacionados a esta característica, ou seja, toda a segunda linha do de cabeçalho !!! Endereço Destino IPv6 : evoluindo o IPv4 ... 32 bits Versão Tipo de Serviço D M F F Identificação Time to live Comprimento Total Protocolo Fragment Offset Header Checksum Endereço de Origem Endereço de Destino IPv6 : evoluindo o IPv4 ... 32 bits Versão Time to live Tipo de Serviço Comprimento Total Protocolo Header Checksum Endereço de Origem Endereço de Destino IPv6 : evoluindo o IPv4 ... 32 bits Versão Time to live Tipo de Serviço Comprimento Total Protocolo Header Checksum Endereço de Origem Endereço de Destino IPv6 : evoluindo o IPv4 ... 32 bits Ganhamos : 1) Redução do Tipo de Serviço Comprimento Total tamanho; Protocolo Time to live Header Checksum 2) Aumento de performance no Endereço de Origem roteamento ! Versão Endereço de Destino IPv6 : evoluindo o IPv4 ... 32 bits Versão Time to live Tipo de Serviço Comprimento Total Protocolo Header Checksum Endereço de Origem O IPv6 não checa mais a integridade do cabeçalho. Confia-se na melhoria de qualidade das redes e na capacidade de checagem Endereço de Destino de erros das camadas de enlace e transporte. IPv6 : evoluindo o IPv4 ... 32 bits Versão Time to live Tipo de Serviço Comprimento Total Protocolo Header Checksum Endereço de Origem Endereço de Destino IPv6 : evoluindo o IPv4 ... 32 bits Versão Time to live Tipo de Serviço Protocolo Endereço de Origem Endereço de Destino Comprimento Total IPv6 : evoluindo o IPv4 ... 32 bits Ganhamos : 1) Aumento Tipo dede Serviço performance Time to live Protocolo nos routers ! Versão Endereço de Origem Endereço de Destino Comprimento Total IPv6 : evoluindo o IPv4 ... 32 bits Versão Time to live Tipo de Serviço Comprimento Total Protocolo Endereço de Origem O campo TTL, que surgiu para medir tempo, sempre mediu HOP’s. Endereço de Destino No IPv6, ele mudou de nome e posição ... IPv6 : evoluindo o IPv4 ... 32 bits Versão Time to live Tipo de Serviço Protocolo Endereço de Origem Endereço de Destino Comprimento Total IPv6 : evoluindo o IPv4 ... 32 bits Versão Tipo de Serviço Protocolo Endereço de Origem Endereço de Destino Comprimento Total HOP limit IPv6 : evoluindo o IPv4 ... 32 bits Versão Tipo de Serviço Protocolo Comprimento Total HOP limit Endereço de Origem O campo protocolo trocou de posição e de nome, servindo no IPv6 Endereço de Destino também para indicar a presença de extensões de cabeçalho. IPv6 : evoluindo o IPv4 ... 32 bits Versão Tipo de Serviço Protocolo Endereço de Origem Endereço de Destino Comprimento Total HOP limit IPv6 : evoluindo o IPv4 ... 32 bits Versão Tipo de Serviço Comprimento Total Próximo Cabeçalho Endereço de Origem Endereço de Destino HOP limit IPv6 : evoluindo o IPv4 ... 32 bits Versão Tipo de Serviço Comprimento Total Próximo Cabeçalho HOP limit Endereço de Origem Com o cabeçalho de tamanho fixo, o “Comprimento Total” mudou de nome e conteúdo, passando Endereço de Destino a indicar o tamanho apenas dos dados, excluindo os 40 bytes fixos do cabeçalho. IPv6 : evoluindo o IPv4 ... 32 bits Versão Tipo de Serviço Comprimento Total Próximo Cabeçalho Endereço de Origem Endereço de Destino HOP limit IPv6 : evoluindo o IPv4 ... 32 bits Versão Tipo de Serviço Payload length Próximo Cabeçalho Endereço de Origem Endereço de Destino HOP limit IPv6 : evoluindo o IPv4 ... 32 bits Versão Tipo de Serviço Payload length Próximo Cabeçalho HOP limit Endereço de Origem O campo “Tipo de Serviço”, teoricamente criado para permitir o tratamento de QoS, na prática não é utilizado. No IPv6, este trabalho é realizado Endereço pelo campo “Prioridade”, com metade do tade Destino manho. Ele permite inclusive o descarte de pacotes, condição essencial para tráfego multimídia. IPv6 : evoluindo o IPv4 ... 32 bits Versão Tipo de Serviço Payload length Próximo Cabeçalho Endereço de Origem Endereço de Destino HOP limit IPv6 : evoluindo o IPv4 ... 32 bits Versão Prioridade Payload length Valores de 0 a 15 : 0 a 7 - Tráfego convencional (melhor atrasar do que descartar) Próximo Cabeçalho HOP limit 8 a 15 - Tráfego em tempo real (melhor desEndereço de Origem cartar do que atrasar) *Obs. Os valores mais altos são mais importantes. Endereço de Destino IPv6 : evoluindo o IPv4 ... 32 bits Ganhamos : 1) Prioridade Mais eficiência; Versão 2) Tratamento de Payload length tráfego multimídia. Próximo Cabeçalho Endereço de Origem Endereço de Destino HOP limit IPv6 : evoluindo o IPv4 ... 32 bits Versão Prioridade Payload length Próximo Cabeçalho HOP limit Endereço de Origem O espaço livre é utilizado para um novo campo, “Identificação de Fluxo”, que permite o gerenciamento de fluxo de dados entre determinado emissor e receptor, criando condições semelhantes Endereço de Destino a uma conexão, embora com a flexibilidade do IP. O campo ainda é experimental, para QoS. IPv6 : evoluindo o IPv4 ... 32 bits Versão Prioridade Payload length Próximo Cabeçalho Endereço de Origem Endereço de Destino HOP limit IPv6 : evoluindo o IPv4 ... 32 bits Versão Prioridade Payload length Identificação de Fluxo Próximo Cabeçalho Endereço de Origem Endereço de Destino HOP limit IPv6 : Formato definitivo 32 bits Versão Prioridade Payload length Identificação de Fluxo Próximo Cabeçalho Endereço de Origem Endereço de Destino HOP limit Extensões de Cabeçalho • Algumas características do IPv4 (nem sempre utilizadas), e também novas características (segurança e autenticação, por exemplo) foram implementadas em cabeçalhos de extensão; • Inicialmente foram definidos seis tipos (se mais de um, seguir seqüência) : – – – – – – – Hop-by-hop; Informações adicionais para os destinatários (opção 1); Routing; Fragmentação; Autenticação; Dados encriptados; Informações adicionais para o destinatário (opção 2). Cabeçalho Hop-by-hop • Carrega informações que todos os roteadores do caminho devem examinar; • Assim como todos os outros cabeçalhos de extensão, ele começa com o campo que identifica o próximo cabeçalho (se existir); • Alguns exemplos : – Definição de jumbograms, ou melhor, datagramas com mais do que 64 KBytes; – Router Alert - exige que todos os roteadores interpretem todo o pacote antes de re-encaminhá-lo. É utilizado por exemplo nas mensagens RSVP. Informações adicionais p/ destinatário • Primeiro tipo – Seqüencialmente, é apresentado logo após o cabeçalho hop-by-hop. • Segundo tipo – Incluirá campos que serão interpretados apenas pelo destinatário; – Inicialmente não foi utilizado; – Aparece como último cabeçalho de extensão na seqüência. Cabeçalho Routing • Permite identificar a rota a ser seguida • A RFC 1883 define o “Tipo 0” de cabeçalho, que permite até 24 hops. – No strict routing, os hops indicados devem ser consecutivos; – No loose routing, os hops indicados podem não ser consecutivos; – O endereço de destino indica sempre o próximo hop. Cabeçalho de Fragmentação • Garante o suporte à fragmentação que existia no IPv4; • Lembrar, no entanto, que a fragmentação do IPv6 só acontece na origem – Origem deve determinar o MTU fim-a-fim; – Desempenho aumenta com a redução do processamento nos pontos intermediários. Cabeçalho de Autenticação • Garante ao receptor certeza de quem é o emissor daquele pacote específico; • Não garante segurança quanto à leitura dos dados transmitidos, mas garante que os dados recebidos foram realmente enviados por determinado emissor, e que estes não foram alterados no caminho. Cabeçalho de Dados encriptados • Garante segurança contra a leitura não autorizada de dados transmitidos; • Permite a troca do algoritmo de criptografia – Algoritmo default é o DES-CBC As mudanças principais • O novo cabeçalho – Formato básico – Extensões • Notação de endereços – – – – Identificação básica Regras de simplificação Divisão do espaço de endereçamento Endereçamento automático Endereços : problemas no IPv4 • O esquema de classes do IPv4 permitia a divisão do endereço na identificação de redes, subredes e hosts; • O IPv4 no entanto não oferecia um esquema hierárquico em que um único endereço representasse diversos outros; • Esta característica provoca o aumento significativo das tabelas de roteamento. Endereços : novidades no IPv6 • São 16 bytes, escritos em oito grupos de 4 dígitos hexadecimais – Regras de simplificação tornam as coisas mais simples ... • No IPv6, além de aumentar significativamente o número de endereços disponíveis, foi disponibilizado : – Endereçamento hierárquico global • Divisão geográfica ou ... • Divisão por provedor. – Endereços unicast, multicast e ... Anycast(*1) – Grupos multicast especiais, como “todos os roteadores”, “todos os hosts”, “todos os servidores DHCP”, por exemplo. *1 Entrega ao primeiro endereço multicast disponível. Endereços : formato básico 8000:0000:0000:0000:0123:4567:89AB:CDEF • O exemplo acima é um endereço completo. Existem três regras para simplificação : – Zeros no início de um grupo não precisam ser representados; – Um ou mais grupos de 16 zeros podem ser trocados por uma seqüência de dois símbolos “:“; – Endereços IPv4 podem ser representados com a mesma seqüência acima seguida pelo formato convencional IPv4. • Com base nestas regras, o endereço ficaria assim : 8000::123:4567:89AB:CDEF Endereços : prefixos 0000 0000 - Endereços IPv4 0000 001 - Endereços OSI NSAP 0000 010 - Endereços Novell IPX 010x xxxx - Baseados em provedor (x=registro) 100 - Baseados em localização geográfica 1111 1111 - Endereços multicast 1111 1110 10 - Uso em links locais (uso interno !) 1111 1110 11 - Uso em site local (uso interno !) Outros - Não atribuídos (ainda !) Endereçamento Automático • O processo se inicia através do protocolo ND (Neighbor Discover) – O ND é um aperfeiçoamento do ARP e ICMP; – Estações se conectam temporariamente com endereços válidos localmente; – Após seleção do endereço local, a estação envia uma “ND router solicitation request”, baseado em multicast; • Apenas um roteador responde, oferecendo uma faixa de endereços utilizáveis de duas formas : – Diretamente estabelecidos pelos hosts (stateless) – Estabelecido por um servidor DHCP (stateful) Estratégias de Migração • • • • • Servidores DNS Pilhas duais Túneis Sistemas Operacionais suportados Roteadores suportados Servidores DNS • A RFC 1886 (DNS Extensions to Support IP Version 6) permite a criação do novo DNS; • O suporte ao IPv6 permite a localização dos novos hosts baseados na nova versão; • É o primeiro passo recomendado na migração de redes IPv4. Pilhas duais IPv6 IPv4 • Mantém o IPv6 como “mais um protocolo”; • As configurações de endereço podem (devem) usar métodos diferentes; • Podemos nos comunicar com hosts que utilizem ambas as versões; • Ao solicitar um endereço ao DNS IPv6, respostas em ambos os protocolos serão úteis ! Túneis Rede IPv6 Roteador IPV4 & IPv6 Rede IPv6 Rede IPv4 Roteador IPV4 & IPv6 • Se chama “túnel” pois o encapsulamento é gerado no meio do caminho (quando é fim-a-fim, é envelope); • O tipo de túnel depende do tipo de endereço IPv6 – Endereços IPv4 compatíveis geram túneis automáticos; – Outros endereços exigem configuração. • Todo o pacote IPv6 viaja como “dados” IPv4. Sistemas Operacionais Suportados Na sua maior parte, tratam-se de versões beta ou kits de desenvolvimento: – Sun Solaris – Microsoft Windows NT – Alpha DIGITAL UNIX and Alpha DIGITAL OpenVMS – HP-UX 11.0 – IBM RS6000 AIX 4.3 e S/390 MVS – Linux 2.1.8 ou superiores Obs. Maiores detalhes podem ser obtidos nas referências ao final. Roteadores Suportados Na sua maior parte, suportam grande parte das funções : – CISCO Systems IOS; – Nortel Networks versão 12.0 ou superiores; – IBM Obs. Maiores detalhes podem ser obtidos nas referências ao final. O 6bone • O que é 6bone ? • Desenho atual • Participantes no Brasil O 6bone • O que é 6bone ? – Coordenado pelo NGTrans, grupo de trabalho do IETF; – Iniciativa informal de criação de um backbone baseado no protocolo IPv6 para testes de implementação e estudos; – Possui sites em diversos locais do mundo, inclusive no Brasil. • Desenho atual • Participantes no Brasil O 6bone • O que é 6bone ? • Desenho atual – No site do 6bone (http://6bone.net), é possível conhecer o status atual do 6bone; – Pode-se também obter informações sobre sites participantes no mundo. • Participantes no Brasil O 6bone • O que é 6bone ? • Desenho atual • Participantes no Brasil – CEFET-BA (Centro Federal de Educação Tecnológica da Bahia) – POP-MG: POP Minas Gerais – RNP - Rede Nacional de Pesquisa 6bone no Brasil - CEFET • Início dos trabalhos em 1998; • A base para os trabalhos foram as RFCs e alguns sites específicos; • Possuem apenas duas estações, uma LINUX e outra Windows NT – A estação LINUX atua como roteador e implementa todos os serviços básicos • Sendmail, DNS, FTP, HTTP, Finger etc – A estação NT tem pilha dual, embora pudesse trabalhar apenas com a pilha IPv6. Possui também um HTTP Server em operação. • Próximos passos : – Implementar o freeBSD com dual boot na estação LINUX; – Desenvolver aplicações de sockets para testes IPv4 X IPv6. Fontes de Referência • Computer Networks - Third Edition Andrew S. Tanenbaum ISBN 0-13-349945-6 • Arquiteturas de Redes de Computadores OSI e TCP/IP - 2a. Edição BRISA ISBN 85-346-0694-3 • The Case for IPv6 Bay Networks - White Paper (disponível na Internet) • Administrando e Operando Redes TCP/IP em Ambientes Dinâmicos Wagner Zucchi - Seminário 9 / EXPONET’97 Fontes de Referência - Internet Gerais : • • • • • • • http://6bone.net/ http://www.imasy.org/~ichiro/v6/index.html http://www.v6.sfc.wide.ad.jp/6bone/link.html http://www.cefetba.br/ http://www.rnp.br/newsgen/ascii/n2.txt http://playground.sun.com/pub/ipng/html/INET-IPng-Paper.html http://www.hill.com/library/ipv6_exp.html Implementações • http://playground.sun.com/pub/ipng/html/ipng-implementations.html Fontes de Referência (+profundidade) • IPv6 The New Internet Protocol Christian Huitema Prentice Hall, 2. Edição • IPv6 Clearly Explained Pete Loshin Morgan Kaufman Publishers Fontes de Referência - Algumas RFCs RFC RFC 2460 RFC 2373 RFC 2463 RFC 1886 RFC 1933 RFC 2462 RFC 1981 RFC 2461 RFC 2464 RFC 2019 RFC 2080 RFC 2553 RFC 2292* RFC 2465 RFC 2466 RFC 2452 RFC 2454 RFC 2428** Description IPv6 Specification IPv6 Addressing Architecture Internet Control Message Protocol for IPv6 (ICMPv6) DNS Extensions to support IPv6 Transistion Mechanisms for IPv6 Hosts and Routers IPv6 Stateless Address Autoconfiguration Path MTU Discovery for IPv6 Neighbor Discovery for IPv6 A Method for the Transmission of IPv6 Packets over Ethernet Networks Transmission of IPv6 Packets Over FDDI RIPng for IPv6 Basic Socket Interface Extensions for IPv6 Advanced Sockets API for IPv6 Management Information Base for IP Version 6: Textual Conventions and General Group Management Information Base for IP Version 6: ICMPv6 Group IPv6 Management Information Base for the Transmission Control Protocol IPv6 Management Information Base for the User Datagram Protocol FTP Extensions for IPv6 and NATs Dúvidas ? Marco Antônio C. Câmara Tel. (071) 351-2127 FAX (071) 351-1460 email [email protected]