Você está na página 1de 45

EE/ET

EE218 - Redes de Telecomunicações III

06 – Protocolo IPv6

Prof. Edson J. C. Gimenez


soned@inatel.br

2020/Sem2
2

Referências:
• NIC.br/IPv6.br. Curso IPv6 Básico.
Disponível: http://ipv6.br/media/arquivo/ipv6/file/60/ApostilaIPv62012.zip
• Equipe IPv6.br. Laboratório de IPv6: Aprenda na prática usando um
emulador de redes.
Disponível: http://ipv6.br/media/arquivo/ipv6/file/64/livro-lab-ipv6-nicbr.pdf
• BRITO, Samuel H. B.. IPv6 – O Novo Protocolo da Internet. São Paulo:
Novatec Editora Ltda, 2003.
• FARREL, Adrian. A Internet e seus Protocolos: uma análise comparativa.
Rio de Janeiro, RJ: Elsevier, 2005.
• COMER, Douglas E. Interligação de Redes com TCP/IP, vol.1 –
princípios, protocolos e arquitetura, 5a ed. Rio de Janeiro: Elsevier, 2006.
• KUROSE, J. F. e Ross, K. W. Redes de Computadores e a Internet: uma
abordagem top-down, 6a ed. São Paulo: Pearson, 2013.
3

IP versão 6 - IPv6 (IPng - IP Next Generation)


• Porque utilizar o IPv6?

http://www.futuretimeline.net/subject/computers-internet.htm
4

IP versão 6 - IPv6 (IPng - IP Next Generation)


• Porque utilizar o IPv6?

https://www.mesh-net.co.uk/what-is-the-internet-of-things-iot/
5

IP versão 6 - IPv6 (IPng - IP Next Generation)


• Porque utilizar o IPv6?

https://datareportal.com/global-digital-overview
6

IP versão 6 - IPv6 (IPng - IP Next Generation)

• Porque utilizar o IPv6?


Com isso, a demanda por endereços IPv4 também cresce:
• O estoque de blocos IPv4 dos RIRs (regional Internet registry) estão se
acabando.
Fonte: CGI.BR

Endereços IPv4 disponíveis: http://ipv6.he.net/statistics/


7

IP versão 6 - IPv6 (IPng - IP Next Generation)

Necessidade  devido ao esgotamento de endereços IPv4

Endereço IPv4: 32 bits


232 endereços = 4.294.967.296 endereços

•Divisão em classes ineficiente:


– Poucas redes muito grandes (classe A), com 16.777.216 milhões de endereços
cada.
– Ex.: IBM, Xerox, AT&T, HP, Apple, Ford, etc.

•Desperdício de endereços
– Ex.: para 300 hosts necessidade de uma rede classe B (65536 endereços)
– Ex.: para 2 hosts (ponto a ponto) necessidade de uma rede classe C (256
endereços)
8

IP versão 6 - IPv6 (IPng - IP Next Generation)

Soluções paliativas:
Em 1992 - IETF cria o grupo de trabalho ROAD (ROuting and ADdressing).

• CIDR (RFC 1519 / Set.1993)


• Fim do uso de classes = blocos de tamanho apropriado.
• Endereço de rede = prefixo/comprimento.
• Agregação das rotas = reduz o tamanho da tabela de rotas.

• DHCP (RFC 1531 / Out.1993)


• Alocações dinâmicas de endereços.

• NAT (RFC 1631 / Mai.1994)


• Conectar toda uma rede de computadores usando apenas um endereço válido
na Internet, porém com várias restrições.
9

IP versão 6 - IPv6 (IPng - IP Next Generation)

Soluções paliativas:

Redução de apenas 14% na quantidade de blocos de endereços solicitados


ao IANA.
10

IP versão 6 - IPv6 (IPng - IP Next Generation)

Solução definitiva:
• Em 1992 o IETF cria o grupo IPng (IP Next Generation)

• Principais Requisitos:
− Escalabilidade;
− Segurança;
− Configuração e administração de rede;
− Suporte a QoS;
− Mobilidade;
− Políticas de roteamento;
− Transição.
11

IP versão 6 - IPv6 (IPng - IP Next Generation)


Apresentado inicialmente na RFC 1883 (Dezembro/1995)
Atualizado nas RFC 2460 (Dezembro/1998) e RFC 8200 (Julho/2017).

Principais características:
• 128 bits para endereçamento.
• Cabeçalho base simplificado.
• Cabeçalhos de extensão.
• Identificação de fluxo de dados (QoS).
• Realiza a fragmentação e remontagem dos pacotes apenas na origem e no
destino.
• Não requer o uso de NAT, permitindo conexões fim-a-fim.
• Mecanismos de IPSec incorporados ao protocolo.
• ....
12

IP versão 6 - IPv6 (IPng - IP Next Generation)


Cabeçalho IPv4 x Cabeçalho IP v6:

Características do cabeçalhoIPv4:
São 12 campos fixos.
Pode ou não conter opções.
Tamanho total pode variar entre 20 e 60 octetos

Características do cabeçalhoIPv6:
Maior simplicidade:
São apenas 8 campos fixos
Tamanho fixo: 40 octetos
Maior flexibilidade
Diversas funcionalidades implementadas por meio de cabeçalhos de
extensão
Maior eficiência
Reduz o tempo de processamento dos pacotes
13

IP versão 6 - IPv6
Formato Geral de um Datagrama IP v6:
Opcional
Cabeçalho Cabeçalho de Cabeçalho de
....... Dados
Básico Extensão 1 Extensão N

Formato do Cabeçalho Básico do IP v6:


Octeto 1 Octeto 2 Octeto 3 Octeto 4
Classe
VERS Rótulo de Fluxo
Tráfego
Limite de Saltos
Tamanho do Conteúdo Próximo Cabeçalho
no roteamento

Endereço de Origem

Endereço de Destino

Dados
.....
14

IP versão 6 - IPv6
Descrição dos Campos do Cabeçalho Básico do IP v6:

Versão (4 bits) - Identifica a versão do protocolo IP utilizado. No caso do IPv6 o valor desse
campo é 6.

Classe de Tráfego (8 bits) - Identifica e diferencia os pacotes por classes de serviços ou


prioridade. Ele continua provendo as mesmas funcionalidades e definições do campo Tipo de
Serviço do IPv4.

Rótulo de Fluxo (20 bits) - Identifica e diferencia pacotes de um mesmo fluxo na camada de
rede. Esse campo permite ao roteador identificar o tipo de fluxo de cada pacote, sem a
necessidade de verificar sua aplicação.

Tamanho do Conteúdo (16 bits) - Indica o tamanho, em bytes, apenas dos dados enviados
junto ao cabeçalho IPv6.
15

IP versão 6 - IPv6
Descrição dos Campos do Cabeçalho Básico do IP v6:

Próximo Cabeçalho (8 bits) - Identifica o cabeçalho que se segue ao cabeçalho IPv6. Este
campo foi renomeado (no IPv4 chamava-se Número do Protocolo) refletindo a nova
organização dos pacotes IPv6, pois agora este campo não contém apenas valores referentes a
outros protocolos, mas também indica os valores dos cabeçalhos de extensão.

Limite de Saltos (8 bits) - Indica o número máximo de roteadores que o pacote IPv6 pode
passar antes de ser descartado, sendo decrementado a cada salto.

Endereço de origem (128 bits) - Indica o endereço de origem do pacote.

Endereço de Destino (128 bits) - Indica o endereço de destino do pacote.


16

IP versão 6 - IPv6
Formato Geral de um Datagrama IP v6:

Opcional
Cabeçalho Cabeçalho de Cabeçalho de
....... Dados
Básico Extensão 1 Extensão N
17

IP versão 6 - IPv6
Cabeçalhos de extensão IP v6:

• Localizam-se entre o cabeçalho base e o cabeçalho da camada imediatamente


acima, não havendo nem quantidade, nem tamanho fixo para eles.
• Caso existam múltiplos cabeçalhos de extensão no mesmo pacote, eles serão
adicionados em série formando uma “cadeia de cabeçalhos”.
18

IP versão 6 - IPv6
Cabeçalhos de extensão IP v6:

Hop-by-Hop Options
• Identificado pelo valor 0 no campo Próximo Cabeçalho, deve ser colocado
imediatamente após o cabeçalho base IPv6.
• Carrega informações que devem ser processadas por todos os nós ao longo do
caminho do pacote até o destino.
Dois tipos definidos para esse cabeçalho:
• Router Alert: utilizado para informar aos nós intermediários que a mensagem a ser
encaminhada exige tratamento especial. Está opção é utilizada pelos protocols
MLD (Multicast Listener Discovery) e RSVP (Resource Reservation Protocol).
• Jumbogram: utilizado para informar que o tamanho do pacote IPv6 é maior do que
64KB. Próximo Tam. cab. de
Cabeçalho extensão

Opções
19

IP versão 6 - IPv6
Cabeçalhos de extensão IP v6:

Routing
• Identificado pelo valor 43 no campo Próximo Cabeçalho.
• Inicialmente, usado para listar um ou mais nós intermediários que deveriam ser
visitados até o pacote chegar ao destino.
− Tipo de Routing = 0 / Saltos Restantes (Obsoleto).
• Atualmente, utilizado como parte do mecanismo de suporte a mobilidade do IPv6,
carregando o endereço de origem de um nó móvel
− Tipo de Routing = 2 / Endereço de Origem.
Próximo Tam. cab. de Tipo de
Cabeçalho Routing Saltos restantes
extensão
Reservado

Endereço de Origem
20

IP versão 6 - IPv6
Cabeçalhos de extensão IP v6:

Fragmentation
• Identificado pelo valor 44 no campo Próximo Cabeçalho
• Utilizado quando o pacote IPv6 a ser enviado é maior que o Path MTU,
carregando informações sobre os fragmentos do pacote IPv6.
• Campos do cabeçalho:
− Próximo Cabeçalho (1 byte): identifica o tipo de cabeçalho seguinte.
− Deslocamento do Fragmento (13 bits): indica, em unidades de oito bytes, a posição dos
dados transportados pelo fragmento atual em relação ao início do pacote original.
− Flag M (1 bit): Se M = 1, há mais fragmentos. Se M = 0, é o fragmento final.
− Identificação (4 bytes): valor único gerado pelo nó de origem, para identificar o pacote
original. É utilizado para detectar os fragmentos de um mesmo pacote.

Próximo Deslocamento do
Cabeçalho Reservado Fragmento Res M

Identificação
21

IP versão 6 - IPv6
Cabeçalhos de extensão IP v6:

Authentication Header
• Identificado pelo valor 51 no campo Próximo Cabeçalho.
• Utilizado pelo IPSec para prover autenticação e garantia de integridade aos
pacotes.

Encapsulating Security Payload


• Identificado pelo valor 52 no campo Próximo Cabeçalho.
• Também utilizado pelo IPSec para garantia de integridade e confidencialidade dos
pacotes.

Destination Options
• Identificado pelo valor 60 no campo Próximo Cabeçalho, carrega informações que
devem ser processadas pelo nó de destino do pacote.
• Este cabeçalho é utilizado no suporte a mobilidade do IPv6 através da opção
Home Address, que contem o Endereço de Origem do Nó Móvel quando este está
em transito.
22

IP versão 6 - IPv6
Cabeçalhos de extensão IP v6:

IMPORTANTE!
• Cabeçalhos importantes para todos os nós envolvidos no roteamento devem ser
colocados em primeiro lugar, cabeçalhos importantes apenas para o destinatário
final devem ser colocados no final da cadeia.
• Assim, recomenda-se que os cabeçalhos de extensão apareçam na seguinte
ordem:
− Hop-by-Hop Options
− Routing
− Fragmentation
− Authentication Header
− Encapsulating Security Payload
− Destination Options
23

IP versão 6 - IPv6
Endereços no IP v6:
Um endereço IPv4 é formado por 32 bits.
232 = 4.294.967.296

Um endereço IPv6 é formado por 128 bits.


2128 = 340.282.366.920.938.463.463.374.607.431.768.211.456
~ 44,2 octilhões (4,42 x 1028) de endereços IP por ser humano*.

~ 79,2 octilhões (7,92 x 1028) de vezes a quantidade de endereços IPv4.

População estimada em 7,7 bilhões de habitantes.


Fonte: https://www.worldometers.info/br/
24

IP versão 6 - IPv6
Endereços no IP v6:

A estrutura do endereço IPv6 é a seguinte: (RFC 1884 - Dez/1995 )

n bits 128 - n bits

Network Prefix Interface ID

De acordo com a RFC 4291 (Fev.2006), as redes locais devem ser /64. Assim:

64 bits 64 bits

Network Prefix Interface ID


25

IP versão 6 - IPv6

Endereços no IP v6:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Os 128 bits são divididos em 8 grupos de 16 bits representados por números


hexadecimais, que variam de 0000 até FFFF, separados por dois pontos “:”.

Exemplos:
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210

1080:0:0:0:8:800:200c:417a

2001:db8:cafe:a001::1 (???)
26

IP versão 6 - IPv6

Endereços no IP v6:
Na representação de um endereço IPv6 é permitido:
• Utilizar caracteres maiúsculos ou minúsculos;
• Omitir os zeros à esquerda do campo;
• Representar zeros contínuos por “::”, uma única vez.

Exemplo: 2001:0db8:0000:0000:130f:0000:0000:140b

Pode ser escrito: 2001:db8:0:0:130f::140b ou 2001:db8::130f:0:0:140b

Obs.: Formato inválido  2001:db8::130f::140b


Formato inválido, pois gera ambiguidade, não sendo possível determinar se ele
corresponde a: 2001:db8:0:0:130f:0:0:140b, ou
2001:db8:0:0:0:130f:0:140b, ou
2001:db8:0:130f:0:0:0:140b.
27

IP versão 6 - IPv6

Endereços no IP v6:

A abreviação também pode ser feita no fim ou no início do endereço.

Exemplos:

0:0:0:0:0:0:0:1 ≡ ::1 (loopback address)


0:0:0:0:0:0:0:0 ≡ :: (unspecified address)
28

IP versão 6 - IPv6
Endereços no IP v6:
Existem no IPv6 três tipos de endereços definidos: (RFC 1884 - Dez/1995)

Unicast
• Utilizado para a identificação de uma única interface na rede. Comunicação de um
para um.

Anycast
• Utilizado para identificar um grupo de interfaces, porém, com a propriedade de
que um pacote enviado a um endereço anycast é encaminhado apenas à interface
pertencente ao grupo, que esteja mais próxima da origem do pacote.
Comunicação de um para um de muitos.

Multicast
• Utilizados para identificar um grupo de interfaces, sendo que cada interface pode
pertencer a mais de um grupo. Os pacotes enviados para esses endereço são
entregues a todos as interfaces que compõe o grupo. Comunicação de um para
muitos.
Não existe mais o endereço de Broadcast *
29

IP versão 6 - IPv6
Endereços no IP v6:

Endereços Unicast - Global Unicast

É equivalente ao endereço global unicast usado em IPv4.


Sendo assim, é o endereço que será usado globalmente na Internet (endereços IP
públicos).

Prefixo: 2000::/3 (001 em binário)  indica que se trata de um endereço do tipo Global Unicast.
Global Routing Prefix  identifica o tamanho do bloco atribuído à uma rede (um ISPs, por exemplo).
Subnet ID  estrutura de hierarquização do endereço IPv6, identifica um enlace (sub-rede) em uma rede,
Interface ID  identificação da interface local, dentro de um enlace (sub-rede).

Exemplo: /48 245 = 35.184.372.088.832 redes


216 = 65.536 sub-redes para cada prefixo global.
264 = 18.446.744.073.709.551.616 hosts por sub-rede.
30

IP versão 6 - IPv6
Endereços no IP v6:

Endereços Unicast - Link Local

Automaticamente configurado em qualquer host IPv6, através da conjugação do seu


prefixo FE80::/10 (1111111010 em binário).

Estes endereços são utilizados nos processos de configuração dinâmica automática


(autoconfiguração), sendo válidos apenas na rede que a interface se encontra
conectada (não será roteado para outra rede).

FE80 000...000 Identificador da interface


31

IP versão 6 - IPv6
Endereços no IP v6:
Endereços Unicast - Link Local - Identificador de Interface (IID)
Um IID baseado no formato EUI-64 é criado da seguinte forma:
• Caso a interface possua um endereço MAC de 64 bits (padrão EUI-64), basta complementar
o sétimo bit mais a esquerda (chamado de bit U/L – Universal/Local) do endereço MAC.
• Caso a interface utilize um endereço MAC de 48 bits (padrão IEEE802), primeiro adiciona-se
os dígitos hexadecimais FF FE entre o terceiro e quarto byte do endereço MAC,
transformando no padrão EUI-64, e em seguida, o bit U/L é complementado.
32

IP versão 6 - IPv6
Endereços no IP v6:

Endereços Unicast - Unique-Local Address (ULA)

Prefixo globalmente único, utilizado apenas na comunicação dentro de uma rede ou


conjunto limitado de redes.

Endereços com significado equivalente aos endereços privados do IPv4, podendo


ser atribuídos e roteados num contexto local
• não é esperado que sejam roteados na Internet.

Dividido em dois blocos /8: (RFC 4193 – Out./2005)


• FC00::/8 – identificador local é atribuído por uma autoridade
• FD00::/8 – identificador local é atribuído localmente
33

IP versão 6 - IPv6
Endereços no IP v6 :

Endereços especiais: utilizados para fins específicos.

– Loopback - ::1/128 (0:0:0:0:0:0:0:1)


• Equivalente ao endereço IPv4 loopback 127.0.0.1)

– Não especificado - ::/128 (0:0:0:0:0:0:0:0)


• Equivalente ao end. IPv4 unspecified 0.0.0.0

– IPv4-mapeado - ::FFFF:wxyz
• Usado para mapear um endereço IPv4 em um endereço IPv6 de 128 bits,
onde wxyz representa os 32 bits do endereço IPv4, utilizando dígitos
decimais.
• Ex. ::FFFF:192.168.100.1
34

IP versão 6 - IPv6
Endereços no IP v6 :

• Faixas Especiais
– 2002::/16: prefixo utilizado no mecanismo de transição 6to4;
– 2001:0000::/32: prefixo utilizado no mecanismo de transição TEREDO;
– 2001:db8::/32: prefixo utilizado para representar endereços IPv6 em textos e
documentações

• Obsoletos
– Site local - FEC0::/10
– IPv4-compatível - ::wxyz
– 6Bone – 3FFE::/16 (rede de testes desativada em 06/06/2006)
35

IP versão 6 - IPv6
Endereços no IP v6 :
Endereços Multicast

Identifica um grupo de interfaces pertencente a diferentes hosts, mas um pacote


destinado a um endereço Multicast é enviado para todas as interfaces que fazem
parte deste grupo.

Derivam do bloco FF00::/8


• Prefixo FF identifica um endereço multicast, os próximos oito bits (flag e escopo)
identificam o escopo (interface, enlace, site), e os 112 bits restantes identificam o
grupo multicast. (RFC 2375 Jul./1998).
• Exemplos: FF01::1 - all nodes; FF02::5 – OSPFv3; FF02::9 - RIPng.
36

IP versão 6 - IPv6
Endereços no IP v6 :
Endereços Anycast

Identifica um grupo de interfaces, com a propriedade de que um pacote enviado a


um endereço anycast é encaminhado apenas à interface do grupo mais próxima da
origem do pacote (rota de menor custo).

Atribuídos a partir da faixa de endereços unicast, quando atribuído a mais de uma


interface, transforma-se em um endereço anycast.

Porém, na configuração dessas interfaces, deve-se deixar explicito que se trata de


um endereço anycast, e nos roteadores, este endereço deve ser configurado como
uma entrada separada (prefixo /128 – host route), cabendo a eles o encaminhamento
ao nó mais próximo (menor custo).
37

IP versão 6 - IPv6
Endereços no IP v6 :
Alocação de Endereços

IANA: /12 para os RIRs


 LACNIC
 NIC.br

No Brasil:
• NIC.br recebeu o prefixo 2801::/16

Recomendação:
• Operadoras de Telecom.  /32
• Empresas  /48
• Usuários residenciais  /56 (ou /64) IPv6 – O novo protocolo da Internet
NRO – Number Resource Organization (https://www.nro.net/)

Conforme RFC 4291, prefixos IPv6 não podem ultrapassar o /64, ficando no mínimo
64 bits para interface_id.
 Quantas sub-redes /64 podem ser criadas?
38

IP versão 6 - IPv6
Cálculo de sub-rede em IPv6:

Exemplo 5: Uma operadora de telecomunicações pretende dividir ao meio


seu bloco de endereços 2001:db8:0000::/32, criando dois novos prefixos /33
(dois novos blocos de endereços).
Quais serão os dois novos prefixos gerados?
Indique o endereço inicial e final de cada prefixo (de cada bloco)?

Resposta:
SR1 2001:db8:0000::/33 (2001:db8:0000:: até 2001:db8:7fff:ffff:ffff:ffff:ffff:ffff)
SR2 2001:db8:8000::/33 (2001:db8:8000:: até 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff)
39

IP versão 6 - IPv6
Cálculo de sub-rede em IPv6:

Exemplo 6: Uma operadora de telecomunicações pretende criar quatro


novos prefixos a partir de um prefixo 2001:db8:c000::/34, para usar em
quatro novas unidades regionais.
Quais serão os quatro novos prefixos gerados?
Indique o endereço inicial e final de cada prefixo?
Resposta:
SR1 2001:db8:c000::/36 (2001:db8:c000:: até 2001:db8:cfff:ffff:ffff:ffff:ffff:ffff)
SR2 2001:db8:d000::/36 (2001:db8:d000:: até 2001:db8:dfff:ffff:ffff:ffff:ffff:ffff)
SR3 2001:db8:e000::/36 (2001:db8:e000:: até 2001:db8:efff:ffff:ffff:ffff:ffff:ffff)
SR4 2001:db8:f000::/36 (2001:db8:f000:: até 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff)
40

IP versão 6 - IPv6
Transição do IPv4 para o IPv6

Os mecanismos de transição podem ser classificados nas seguintes


categorias:

Pilha Dupla
• Provê o suporte a ambos os protocolos no mesmo dispositivo.
Tunelamento
• Permite o tráfego de pacotes IPv6 sobre a estrutura da rede IPv4 já
existente.
Tradução
• Permite a comunicação entre nós com suporte apenas a IPv6 com nós
que suportam apenas IPv4.

Período de Transição? Pode durar indefinidamente...


41

IP versão 6 - IPv6
Transição do IPv4 para o IPv6

Pilha dupla

Os nós são capazes de enviar e receber pacotes tanto


para o IPv4, quanto para o IPv6.

Esse nó, ao se comunicar com um nó IPv6, se


comporta-se como um nó IPv6, e na comunicação com
um nó IPv4, como nó IPv4.

Precisa de pelo menos um endereço para cada pilha


(endereços IPv4 e IPv6).

Utiliza mecanismos IPv4 para adquirir endereços IPv4,


e mecanismos do IPv6 para endereços IPv6.
IPv4: DHCP;
IPv6: autoconfiguração e/ou DHCPv6
42

IP versão 6 - IPv6
Transição do IPv4 para o IPv6

Tunelamento

Permite transmitir pacotes IPv6 através da infraestrutura IPv4 já existente, sem a


necessidade de realizar qualquer mudança nos mecanismos de roteamento,
encapsulando o conteúdo do pacote IPv6 em um pacote IPv4.
43

IP versão 6 - IPv6
Transição do IPv4 para o IPv6

Técnicas de tunelamento:

Pacotes IPv6 encasulado em pacotes IPv4;


• Protocolo 41.
• 6to4
• ISATAP
• Tunnel Brokers.

Pacotes IPv6 encapsulado em pacotes GRE;


• Protocolo GRE (protocolo proprietário da Cisco).

Pacotes IPv6 encapsulados em pacotes UDP;


• TEREDO.
44

IP versão 6 - IPv6
Transição do IPv4 para o IPv6
Tradução:

Possibilitam um roteamento transparente na comunicação entre nós de uma


rede IPv6 com nós em uma rede IPv4 e vice-versa.
• Nós que suportam apenas uma pilha ou utilizam pilha dupla.
Podem atuar de diversas formas e em camadas distintas:
• Traduzindo cabeçalhos IPv4 em cabeçalhos IPv6 e vice-versa;
• Realizando conversões de endereços;
• Conversões de APIs (Application Programming Interface) de programação;
• Atuando na troca de tráfego TCP ou UDP.

Técnicas:
• SIIT (RFC-2765), BIS (RFC-2767), BIA (RFC-3338), TRT (RFC-3142).
45

Lista de Exercícios 06:

Você também pode gostar