480 likes | 564 Views
IPv6 (IPng) IP de próxima geração. Material do curso. Endereço da sala virtual http://salasvirtuaisibta.universia.com.br/cursos/aplic/index.php?cod_curso=1028. Perspectiva. As redes IP “tradicionais” preenchem as necessidades das novas redes?
E N D
Material do curso • Endereço da sala virtual • http://salasvirtuaisibta.universia.com.br/cursos/aplic/index.php?cod_curso=1028
Perspectiva • As redes IP “tradicionais” preenchem as necessidades das novas redes? • Grande abrangência: muito maior do que a existente • Suporte a vários tipos de serviço, incluindo • Serviços de tempo real • Qualidade de serviço • Segurança intrínsica
Histórico A versão 4 do protocolo IP (a que usamos hoje) foi a primeira versão que permaneceu quase inalterada desde o seu surgimento no final da década de 1970. A longevidade da versão 4 mostra que o projeto é flexível e poderoso. A versão número 5 do protocolo foi descartada para evitar posteriores confusões e ambigüidade e pulada depois de uma série de erros e implementações mal-sucedidas. • Foram necessários vários anos para que o IETF pudesse projetar uma nova versão desse protocolo: a versão 6. No fim de um primeiro momento, o projeto ficou conhecido como SIP (Simple IP), porém hoje essa nomenclatura é usada para Session Initial Protocol, não mais se referenciando ao Simple IP. O Simple IP tornou-se base para uma proposta estendida, que incluía idéias de outras propostas que ficou conhecida como SIPP (Simple IP Plus). • Ao final dessa fase do projeto, o IETF decidiu atribuir à revisão do IP o nome de IPv6 (ele também é conhecido como IPng – IP The Next Generation).
Histórico • Embora a força motriz por trás desse fenômeno de crescimento esteja relacionada a aplicações de computadores, estamos verificando a demanda cada vez maior de vários outros mercados, como: • Dispositivos Pessoais de comunicação: PDAs, telefones celulares, e outros dispositivos de comunicação sem fio endereçáveis na rede. Todos esses dispositivos requerem um endereço único e devem ser capazes de reconfigurar-se automaticamente com um endereço correto quando passam de uma localidade remota para outra. • Entretenimento em rede: Vídeo sob demanda, som estéreo de alta qualidade e televisão interativa serão acessíveis via Internet. Por exemplo, no universo de televisão conectada à rede, toda TV torna-se uma máquina da Internet e precisa de um endereço IP. • Dispositivos controlados por rede: Uma gama de dispositivos de aplicações simples, tais como dispositivos eletrônicos de segurança, etc. controlados por chaveamento analógico atualmente, serão controlados via rede de pacotes e necessitam de endereçamento para acesso à rede. • Cada um desses por si só já representa um considerável número de terminais. • Além disso, outras necessidades estão surgindo: necessidade de roteamento em larga escala, configuração e reconfiguração automática, autenticação e encriptação de dados.
Histórico Com a demanda de crescimento exponencial ininterrupto do uso da Internet, temos enfrentado cada vez mais: • Problema de endereçamento IP: já vimos que “todos” os aparelhos eletrônicos vão se ligar à rede • Falta de suporte para as novas aplicações, que exigem: • Reserva de recursos • Atrasos controlados • Variação de atraso (jitter) dentro de parâmetros específicos O IPv4 foi criado em uma situação muito diferente... Assim, surgiu o IPv6
Histórico O que é IPv6 ? • IPv6 é uma nova geração do protocolo IP • Tem como principais objetivos: • Aumentar o número de endereços de rede e • Prover uma melhor eficiência na transmissão de pacotes nas redes de computadores, além de suprir deficiências do IPv4. • Características principais: • Capacidade de endereçamento expandida: de 32 bits para 128 bits; • Maior suporte para campos opcionais e extensões; • Capacidade para identificação de fluxo (QoS nativo no protocolo); • Autenticação e Privacidade baseada no IPSec; http://www.tcpipguide.com/free/t_InternetProtocolVersion6IPv6IPNextGenerationIPng.htm
IPv4 x IPv6 1 - Formato do cabeçalho:
IPv4 x IPv6 2 – Espaço do Endereçamento: • O novo espaço do endereço é a mudança mais evidente • O IPv6 representa um endereço usando 128 bits, contra os 32 bits usados no IPv4. • Assim, o espaço disponível, ou seja, o nro de endereços disponíveis, agora é proporcional a 2128
IPv4 x IPv6 3 – Fragmentação • A fragmentação de pacotes IPv4 é realizada, usualmente, pelos gateways. No caso do IPv6, isso é feito pela estação origem. • Vamos voltar a falar disso daqui a pouco
IPv4 x IPv6 4 – Outras diferenças • Três tipos de endereço (unicast, multicast e anycast) • Hierarquia de endereço estendida • Formato de cabeçalho flexível • Suporte para auto-reconfiguração e auto-endereçamento • Suporte para alocação de recursos • Segurança
Datagrama A figura abaixo mostra o conteúdo e o formato de um cabeçalho IPv6 básico (40 bytes) • V (Version) • TF (Traffic Class) • FL (Flow Label) • PL (Payload Length) • NH (Next Header) • HL (Hop Limit) • SA (Source Address) • DA (Destination Address) Formato e conteúdos de um cabeçalho básico IPv6. O tamanho de cada campo é dado em bits. Fonte: RFC 1752, RFC 1883, RFC 2373.
Datagrama – campos do cabeçalho • FL (Flow Label) – 24 bits • Implementa um mecanismo de reserva de recurso através da definição de “fluxos” • Um fluxo é um “grupo” de datagramas associados (por exemplo, os vários pacotes que pertencem a um vídeo) • O campo FL define um rótulo (um número) que é usado pelos roteadores, em conjunto com o endereço de origem, para associar o datagrama a um particular fluxo.
Datagrama – alguns campos do cabeçalho • TF (Traffic Class) – 4 bits • Especifica a prioridade do pacote de dados. • Define dois grupos de pacotes: • No primeiro (prioridade de 0 a 7), pacotes podem responder a controle de congestionamento, a exemplo das redes Frame Relay. Usado para pacotes que não sofrem com variações de tempo • O segundo (prioridade de 8 a 15) corresponde a pacotes que não podem sofrer controle de congestionamento ou seja, dados críticos como voz e vídeo. • NH (Next header)- 8 bits:indica o tipo do próximo cabeçalho do datagrama (protocolo de camada mais alta ou cabeçalho de extensão IP)
Datagrama – campos do cabeçalho Valores do Campo Next Header
Cabeçalhos de extensão • Na versão IPv4, as várias opções do protocolo estão disponíveis no cabeçalho padrão, tornando o processamento complexo (sempre) • O IPv6 usa um esquema mais flexível • Existe um cabeçalho obrigatório, presente em todos os datagramas • Opções são definidas através de cabeçalhos de EXTENSÃO, opcionais Formato geral do datagrama IPv6 - Fonte: RFC 1752, RFC 1883, RFC 2373.
Cabeçalhos de extensão Cada um dos cabeçalhos básico e de extensão contém um campo PRÓXIMO CABEÇALHO(NEXT HEADER) que os roteadores intermediários e o destino final utilizam para desmembrar o datagrama. O processamento é seqüencial – o campo PRÓXIMO CABEÇALHO em cada cabeçalho diz o que aparece em seguida. Fonte: http://www.tcpipguide.com
Os cabeçalhos de extensão • Os cabeçalhos de extensão podem ser • “salto-a-salto”: examinados em todos os saltos • ou “fim-a-fim”: significativo apenas para o último salto. • Existe uma ordem para a montagem dos cabeçalhos: • Para diminuir o tempo de processamento, o IPv6 exige que os cabeçalhos de extensão utilizados por roteadores intermediários sejam colocados antes dos cabeçalhos de extensão usados pelo destino final.
Os cabeçalhos de extensão: formato geral TIPO TAMANHO VALOR • Cada opção é descrita por um conjunto de três informações: • Tipo • Tamanho do campo de dados (o valor) • Valor (os dados em si)
Os cabeçalhos de extensão: formato geral Fonte: http://www.tcpipguide.com
Cabeçalho de Fragmentação No IPv6, a fragmentação é fim-a-fim, sendo que nenhuma fragmentação ocorre nos roteadores intermediários. • A origem, que é responsável pela fragmentação, tem duas escolhas: ela pode usar a MTU (*) mínima garantida de 1280 octetos ou realizar a descoberta de MTU do caminho (Path MTU Discovery) para identificar a menor MTU ao longo do caminho até o destino. • De qualquer forma, a origem fragmenta o datagrama de modo que cada fragmento seja menor que a MTU esperada do caminho. • CONSEQUENCIA: o IPv6 não suporta alterações de rota. (*)MTU – Maximum Transmit Unit
Cabeçalho de Roteamento • O cabeçalho de roteamento contém uma lista de um ou mais nodos que devem ser "visitados" no caminho para o destino. Os cabeçalhos de roteamento sempre começam com um bloco de 32 bits divididos em 4 campos de 8 bits cada < ENDEREÇO 1 > < ENDEREÇO 2>
Cabeçalho de Roteamento • Campos do cabeçalho de roteamento: • Next Header (8 bits): identifica o próximo cabeçalho; • Header extension length (8 bits): tamanho do header em unidades de 64 bits; • Routing type (8 bits): identifica um tipo de roteamento; • O único tipo definido até o momento é o “roteamento de origem não estrito” (Routing type = 0) • Segments left: (8 bits): número de nodos intermediários (listados explicitamente) que devem ainda ser visitados antes do destino.
Cabeçalho de Roteamento • O cabeçalho para o roteamento de origem não estrito tem mais 8 bits reservados e 24 bits de “strict/loose bit map”. Esses bits são numerados da esquerda para a direita, cada um correspondendo a um hop, indicando se o próximo destino deve ser um vizinho deste (1 = strict) ou não (0 = loose)
Endereçamento no IPv6 1030 endereços IP por habitante da Terra!
Endereçamento no IPv6 • Para fazer com que esse diagrama fique na escala correta, o retângulo do • espaço de endereçamento do IPv6 deveria ser representado por um quadrado • do tamanho do sistema solar!! Fonte: http://www.tcpipguide.com
Endereçamento - Notação Os endereços IPv6 possuem 128 bits (16 bytes) que são divididos em 8 blocos separados por ":” (dois pontos). Cada bloco possui 16 bits em notação hexadecimal. Forma Padrão: X:X:X:X:X:X:X:X, onde cada X representa um valorhexadecimal. Ex.: FE80:0000:0000:0000:0202:B3FF:FE1E:8329 Forma Abreviada: quando um endereço possui uma seqüência de zeros, existem duas possíveis formas de abreviação. A primeira simplificação é possível quando uma das divisões do endereço (16 bits) possui apenas zeros, neste caso não é necessário escrever todos os zeros apenas um:
Endereçamento - Notação A segunda é possível quando várias divisões consecutivas do endereço possuem apenas zeros, nestes casos usa-se o operador "::" para indicar grupos de 16 bits (divisões) contendo apenas zeros. Esta notação só pode ser utilizada uma vez no endereço para substituir uma seqüência de zeros iniciais e/ou finais deste:
Endereçamento - Notação Combinação IPv4/IPv6: Combinação de Endereços IPv4 e IPv6, em ambientes que utilizam simultaneamente endereços IPv4 e IPv6 pode-se utilizar uma notação onde os formatos dos endereços das duas versões são representados no mesmo endereço. O formato do endereço segue a seguinte sintaxe: X:X:X:X:X:X:d.d.d.d Ex.: 0000:0000:0000:0000:0000:0000:87.100.68.3 0000:0000:0000:0000:0000:FFFF:129.144.52.38
Endereçamento Tipos de Endereços: • Unicast: endereço utilizado para identificar uma interface IPv6. • Multicast: endereço utilizado para especificar um grupo de interfaces • Anycast:especifica um conjunto de computadores com o mesmo prefixo; o datagrama é encaminhado pelo caminho mais curto para um deles. • Observação: não existe endereço de broadcast em IPv6.
Alocação de espaços • Definida na RFC 3513 (substitui a 2373) • Diferentes “categorias” de endereço são codificadas nos primeiros bits do prefixo (do terceiro ao décimo) • Exemplos de alguns espaços já atribuídos pelo IETF: http://www.tcpipguide.com/free/t_IPv6AddressSpaceAllocation-2.htm
Alocação de espaços • Uma maneira mais simples de entender a alocação dos endereços IPv6 é considerar que o espaço de endereçamento foi dividido em oito partes (oitavas): • A que tem endereços que começam com “001” foi reservada para endereços Unicast • A que tem endereços que começam com “000” foi reservada para gerar blocos especiais menores (nem todos estão definidos) • A que tem endereços que começam com “111” foi reservada para sub-blocos de endereços locais e multicast (também, nem todos estão definidos) • Todos as outras cinco “oitavas” do espaço de endereçamento não foram ainda atribuídas (e não estão em uso). • RESULTADO: apenas 14% do espaço total de endereços está atualmente em uso!! 86% dos endereços ainda estão reservados para “uso futuro”.
Formato geral do endereço Unicast • Os endereços Unicast (a oitava que começa com “001”) são os endereços destinados às interfaces de sistemas como computadores e dispositivos genéricos • Como são os mais comuns, esses endereços têm uma estrutura bem definida, chamada de “Global Unicast Address Format”
Formato geral do endereço Unicast • Em teoria: “n” e “m” podem ter qualquer valor • Mas, na prática, adotou-se: • Prefixos têm 48 bits, ou seja, “n” = 48 • Subnet IDs têm 16 bits, ou seja, “m” = 16 • O formato geral de um endereço Unicast então fica 001 Os três primeiros bits são iguais a “001” Fonte: http://www.tcpipguide.com/free/t_IPv6GlobalUnicastAddressFormat-2.htm
Formato geral do endereço Unicast • Dada essa formatação, empresas “normais” receberão um bloco de endereços definido por um prefixo de 48 bits • O campo Subnet ID pode ser usado para segmentar suas subredes internas (casa haja necessidade) • O campo de Prefixo tem apenas uma restrição: os três primeiros bits são “001”. Houve muita discussão, inclusive com a publicação de uma RFC já obsoleta, sobre a estruturação dos 45 bits restantes. • Atualmente, não há um formato para o campo do Prefixo. Ele foi deixado em aberto para que organizações de distribuição nacional (como a Fapesp) e ISPs distribuam suas redes a seus clientes da maneira mais eficiente possível. • O mais importante é considerar que não há estruturas fixas (classes como no IPv4) para manter o esquema de endereçamento flexível.
Formato geral do endereço Unicast • Relembrando: usando 64 bits para o prefixo e o identificador de subrede, ainda “sobram” 64 bits para o identificador da interface. • No padrão IPv4, endereços IP não tinham nenhuma relação com os endereços de nível 2 (MAC). • Agora, no padrão IPv6, há espaço suficiente para se fazer um mapeamento direto entre esses dois endereços. • O formato EUI-64, ligeiramente modificado, (definido para endereços MAC pelo IEEE) está sendo sugerido como base para o identificador da interface. • Problema desse esquema: toda vez que o hardware mudar, o endereço IP da interface também mudará.
Endereços Unicast especiais • Além dos endereços padrão descritos até agora, foram definidos também endereços especiais para necessidades específicas. • Existem dois tipos de endereços especiais • Reservados e privados • Endereços Reservados: • prefixo iniciado por “0000 0000” • Usados para integração com endereços IPv4, para endereço de loopback e para definir um endereço “não especificado”
Endereços IPv6 mapeados em endereços IPv4: este tipo de endereço é utilizado para representar endereços de host que somente possuam endereçamento IPv4 e também quando um host IPv6 envia um pacote para um nó que só suporta IPv4. Endereços UNICAST reservados Endereços IPv6 compatíveis com IPv4: este tipo de endereço é utilizado para fazer tunelamento de pacotes IPv6 dinamicamente sobre uma infra-estrutura IPv4. Exemplo: ::200.1.10.25 Exemplo: ::FFFF:200.1.10.25
Endereços Unicast reservados • Endereço de loopback: • O endereço “0:0:0:0:0:0:0:1” ou “::1” foi reservado para testes de interface • Nenhuma interface pode ter esse endereço • Endereço “não especificado” • O endereço “0:0:0:0:0:0:0:0” ou “::” foi reservado para funções específicas nos protocolos de auto-endereçamento • Nenhuma interface pode ter esse endereço
Endereços UNICAST privados • Esses endereços não podem ser roteados fora da rede e portanto, são usados exclusivamente dentro dessa mesma rede O endereço de link localé utilizado em um único link para configuração de auto-endereçamento, descoberta de vizinhança ou quando nenhum roteador está presente. Os endereços deste tipo seguem a seguinte estrutura: O endereço de site local foi projetado para ser utilizado em um único site sem a necessidade de um prefixo global (similar aos endereços privados do IPv4). Este endereço possui a seguinte estrutura:
Endereços MULTICAST • Os endereços multicast são utilizados para identificar um conjunto de nós. • Um endereço multicast é identificado através do prefixo FF (1111 1111) nos bits • mais significativos do endereço. • O protocolo IPv4 já suportava o endereçamento multicast, • mas este foi redefinido e melhorado no IPv6. O formato de um endereço • multicast no IPv6 segue o formato:
Endereços MULTICAST • Os bits do campo “escopo” definem o alcance do endereço, que pode ir • de um segmento de rede à toda a Internet. Tabela dos bits do campo ESCOPO Fonte:http://www.tcpipguide.com/free/t_IPv6MulticastandAnycastAddressing.htm
Endereços MULTICAST Fonte:http://www.tcpipguide.com/free/t_IPv6MulticastandAnycastAddressing.htm
Endereços ANYCAST • Os endereços anycast são endereços atribuídos a um grupo interfaces de rede. • Definida pela RFC 1546 • A princípio, os endereços anycast possuem dois usos: • identificar um grupo de roteadores que provê acesso a um determinado • domínio; • identificar todos os roteadores da empresa que provêem acesso à Internet. • A diferença em relação ao Multicast é que o datagrama é entregue para apenas • uma interface (não todas)
Endereços ANYCAST • Os endereços Anycast não tem nenhum formato especial • Basta “atribuir” o mesmo endereço Unicast a mais de uma interface. • Os endereços anycast têm as seguintes restrições: • - Um endereço anycast não pode ser utilizado como endereço • de origem • - Um endereço anycast não pode ser assinalado a um host, • mas somente a um roteador IPv6 (pelo menos por enquanto)
Endereçamento - Autoconfiguração • A autoconfiguração de endereços permite uma operação plug-and-play de hosts na Internet. Quando a máquina for ligada, ela deve automaticamente associar um endereço IP à sua interface de rede. • Existem duas formas de autoconfiguração no IPv6: • configuração stateful:onde há um servidor de configuração, com o qual o host se comunica. • configuração stateless:onde o host constrói seu endereço IP a partir do seu endereço de interface de rede. Esse endereço é único, aplicado apenas para hosts e não para roteadores. Não necessita de configuração manual, mas não especifica os servidores de DNS, o prefixo, lifetime e default route. Assume que a interface tem um único interface ID. • Com base no seu endereço de placa de rede, resta, portanto, saber o prefixo ao qual o host pertencerá. Uma forma é se usar o prefixo de uso local, que atende essa necessidade. Para redes que não estão conectadas, é uma ótima solução. Para redes conectadas, o roteador dessa rede deve informar aos hosts o devido prefixo da rede. • Maiores informações, consulte a RFC 2462
Conclusão • Aumento no número de endereços (de 232 a 2128) • • Simplificação do header aumentando a eficiência • • Arquitetura hierárquica de rede aumentando eficiência de roteamento • • Suporte para a maioria dos protocolos de roteamento • • Suporte para autoconfiguração e plug-and-play • • Eliminação da necessidade de NAT • • Implementação de IPSec e QoS embutida no protocolo • • Suporte avançado para Mobile IP e dispositivos móveis • • Aumento no número de endereços multicast