O IP atual (IPv4) • Extremamente bem sucedida • Dotou a Internet com a capacidade de: conectar redes heterogêneas suportar mudanças dramáticas de hardware suportar o crescimento em escala da rede Por que mudar? • Limitado espaço de endereçamento IP: 32 bits (acomoda milhões de rede) • Crescimento exponencial da Internet Encaminhamento cada vez mais difícil Tendência: esgotamento de endereços • Segurança não integrada Por que mudar? • IP atual não define um tipo de serviço que possa ser usado para entrega de áudio e vídeo em tempo real • Capacidade para novos tipos de endereçamento e de routing, que permitam implementar técnicas de colaboração, capazes de suportar comunicações entre um grupo de utilizadores análogos como por exemplo em teleconferências O nome e o número da versão IP atual: versão 4 novo IP: IP next generation (IPng) muitas propostas com este nome: ambiguidade Então Ipv5 já era o número da versão de um protocolo experimental ST Solução: IPv6 Objetivos do novo IP Suporte a bilhões de hosts Redução da tabela de roteamento Protocolo passível de expansão, através do uso de cabeçalhos de extensão Simplificação do cabeçalho do protocolo, diminuindo o tempo de processamento na análise dos cabeçalhos, por parte de roteadores e hosts Objetivos do novo IP Garantia de mais segurança (autenticação e privacidade) Criação de um campo que suporte mecanismos de controle de qualidade de serviço, gerando maior sensibilidade ao tipo de serviço, como, por exemplo, serviços de tempo real Melhorias no roteamento, inclusive no que tange a hosts móveis Objetivos do novo IP Permissão para máquinas wireless mudarem fisicamente de lugar sem mudança em seus endereços IP Habilitação de máquinas se auto configurarem (número IP, servidor de nome) ao serem ligadas na rede Endereços anycast ,multicast e unicast Coexistência das duas versões do protocolo por um bom tempo! IPv6 • Espaço de endereçamento muito maior (128 bits de endereço) • Endereçamento global, único e hierárquico • Mecanismo para auto-configuração de interfaces de rede • Classes de serviço • Encaminhamento mais eficiente • Segurança Nativa (IPSec: AH e ESP) • Mecanismos de autenticação e criptografia • Mecanismos de transição IPv4 - IPv6 • Coexistência com IPv4 Endereçamento • Número de endereços: 2128 ~ 3,40 x 1038 • Acredita-se que o espaço de endereçamento será suficientemente grande para, no futuro, responder à exigência de endereços: Se a atribuição de endereços for à taxa de 1 milhão em cada 1 microssegundo, serão necessários 1019 anos para atribuir todos os endereços possíveis • A superfície da terra tem aproximadamente 5,1x108 km2 , o que significa a existência de 6,6x1023 endereços por m2 (36.166 efetivos) Notação de Endereços IPv6 • Os endereços de 128-bit escritos numa notação decimal necessitam de 16 grupos separados por pontos, ou seja, quatro vezes mais em relação ao endereço IPv4 105.220.136.100.255.255.255.255.0.0.18.128.140.10.255.255 • Para facilitar usa-se uma notação hexadecimal com 8 grupos de 16 bits separados por “:” 8000:0000:0000:0000:0123:4567:89AB:CDEF Simplificações nos endereços IPv6 • Supressão de zeros à esquerda de cada grupo 1080:0:0:0:8:800:200C:417A 0:0:0:0:0:0:0:1 • Usa a notação “::” para representar múltiplos grupos de 16 bits com zeros, só pode ser usado uma vez em cada endereço 8000::123:567:89AB:CDEF 0:0:0:0:0:0:0:1 ou ::1 • Os endereços IPv6 que começam com 96 zeros são interpretados como contendo endereços IPv4 nos 32 bits de mais baixa ordem Endereçamento • Unicast: identifica uma única interface IPv6 • Anycast :especifica um conjunto de computadores com o mesmo prefixo; o datagrama é encaminhado pelo caminho mais curto para um deles • Multicast: identifica um conjunto de interfaces. Um pacote com um endereço de destino multicast é enviado para todas as interfaces identificadas por esse endereço multicast Endereçamento • Não existem endereços de broadcast em IPv6 • Todos as interfaces têm pelo menos um endereço unicast local • A uma interface podem ser atribuídos vários endereços IPv6 de qualquer tipo (unicast, anycast, multicast) Atribuição dos endereços IPv6 • Apenas 15% do espaço de endereçamento será inicialmente atribuído • Os restantes 85% são reservados para uso futuro Auto-configuração • Um terminal deve ser capaz de obter a sua informação de configuração automaticamente • Deve ser possível alterar elementos de configuração da rede e ter estas alterações propagadas por todos os terminais automaticamente Auto-configuração • Métodos de auto-configuração: Stateless: configuração é determinada pela rede, o endereço é gerado pelo terminal através informações locais (endereço MAC) e por informações dos roteadores (prefixo) Statefull: configuração é determinada pelo gestor de rede, modelo cliente-servidor que utiliza DHCPv6 para atribuir os endereços. • Processo: criação de um endereço link-local verificação de unicidade do endereço link-local determinação de informação a ser auto configurada (endereços, gateways, …) Pacote IPv6 O pacote IPv6 é composto por 3 partes: • Cabeçalho de base Tamanho fixo de 40 octetos com 8 campos de informação. • Cabeçalhos de extensão Campos de informações opcionais. • Informação Cabeçalho do IPv4 Cabeçalho de base do IPv6 Diferenças Hlength eliminado (fixo); Informação de fragmentação: cabeçalhos de extensão TTL mudou para hop limit Service Type mudou para Flow Label O campo protocolo passou a ser o campo next header (próximo header) Campo Checksum do cabeçalho eliminado,pois assumese que a detecção de erros é efetuada nas camadas superiores ou inferiores Campos do cabeçalho IPv6 Version: número da versão Priority: identifica a prioridade de entrega desejada de pacotes, relativos a outros pacotes do mesmo remetente Flow label: rotula os pacotes para que respondam a manipulações especiais dos roteadores e identifica os pacotes de um mesmo fluxo Campos do cabeçalho IPv6 Payload Length: tamanho do payload. O dado (sem o header) transportado Next header: se existir header de extensão especifica o seu tipo, caso contrário identifica o protocolo acima do IP, mesmos valores do IPv4 Hop Limit: Número máximo de hops pelos quais o pacote pode trafegar, descartado quando chega em 0 Source Address (128 bits) Destination Address (128 bits) Cabeçalhos de extensão Informação opcional do IPv6 - cabeçalhos separados, denominados por cabeçalhos de extensão Colocados entre o cabeçalho de base do IPv6 e o cabeçalho do protocolo de transporte Um pacote IPv6 pode transportar 0, 1, ou mais cabeçalhos de extensão Devem ser processados na ordem em que aparecem Cabeçalhos de extensão a) cabeçalho base + dados b) cabeçalho base + cab. Roteamento + dados Tipo de cabeçalhos de extensão Opções nó-a-nó Encaminhamento Fragmentação Opções de Destino Autenticação Privacidade Tipos de cabeçalho de extensão Hop-by-Hop (nó-a-nó):Usado para carregar informações opcionais que devem ser examinados por todos os nós até o destino (único que é processado por nós intermediários) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | . . . Next Header | Hdr Ext Len Options . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Tipos de cabeçalho de extensão Routing (encaminhamento): usado por um remetente para listar um ou mais nós intermediários para serem visitados no caminho +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Hdr Ext Len | Routing Type=0| Segments Left | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Strict/Loose Bit Map | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + | Address[1] | + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ . . . . . . . . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + | | Address[n] + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Tipo de cabeçalhos de extensão Fragment (fragmentação): usado por uma remetente para enviar pacotes maiores do que caberiam no MTU. A fragmentação é realizada pelos remetente, diferentemente do IPv4. Os roteadores só fazem descartar os datagramas maiores que o MTU Pacote Original +----------------+-------------+-------------+--//--+----------+ | Unfragmentable | | Part | first | second | fragment | fragment | last | | .... | fragment | +----------------+-------------+-------------+--//--+----------+ Pacotes do Fragmento +------------------+--------+--------------+ | Unfragmentable |Fragment| | Part | Header | first | fragment | +------------------+--------+--------------+ +------------------+--------+--------------+ | Unfragmentable |Fragment| second | | Part | Header | fragment | +------------------+--------+--------------+ o +------------------+--------+----------+ | Unfragmentable | Part |Fragment| last | | Header | fragment | +------------------+--------+----------+ MTU no IPv6 O transporte do IPv6 requer que todas as ligações ao longo de um percurso, tenham um MTU mínimo de 1280 octectos Um pacote que exceda o MTU de uma ligação é descartado e uma mensagem ICMP é enviada para o nó de origem O nó de origem precisa determinar o MTU mínimo do percurso até ao destino (Path MTU Discovery – RFC 1981) Fragmentação dos pacotes efetuada apenas no nó de origem Os nós que não implementam Path MTU Discovery usam o MTU=1280 O Propósito de vários headers Economia não é necessário que o header contenha todas as informações de todas as potencialidades isso reduz consumo de largura de banda Capacidade de Expansão IPv4: header fixo - mudanças “caras” IPv6: novas funções facilmente “adicionáveis”. Basta criar um novo header p/ ela. Desempenho nos Roteadores • Não há cálculo do tamanho do cabeçalho • Não há cálculo do checksum do cabeçalho • Não há procedimentos de fragmentação/montagem 6Bone - o que é? Rede internacional de testes IPv6 Operacional desde Julho de 1996, hoje participam mais de 53 países Serve de suporte a testes de implementação do protocolo IPv6 em diversas plataformas No Brasil, foi criado o BR-6Bone, um backbone IPv6 ligado ao 6bone coordenado pela RNP 6Bone - Objetivos • Introdução dos mecanismos de transporte e encaminhamento na rede global Internet, através da rede 6Bone. • Geração de RFC’s informativos sobre os conhecimentos obtidos com a experimentação e utilização de diversas tecnologias IPv6. • Colaboração com os grupos IETF ligados ao IPv6. • Desenvolvimento de técnicas e mecanismos de transição para IPv6. • Desenvolvimento de técnicas e mecanismos de encaminhamento sobre IPv6.