Instrutor: Nesta
lição, apresentaremos os conceitos relacionados ao IPv6,
ou Protocolo de Internet versão 6.
Até este ponto, falamos
apenas sobre o IPv4, mas um dos problemas
que temos com o IPv4 é que ele é limitado em
seu espaço de endereço.
Isso ocorre porque há apenas
32 bits que compõem um endereço
IPv4, o que nos dá apenas 4. 2 bilhões de combinações possíveis de endereços.
Agora, eu sei 4. 2 bilhões parece uma grande quantidade
de IPs, mas quando retiramos partes inteiras de coisas,
como endereços APIPA, endereços de host local, IPs privados,
e depois houve uma enorme quantidade de desperdício
antes mesmo de começarmos a usar a sub-rede,
isso levou a um grande problema, e começamos
a ficar sem endereços de rede dentro do IPv4.
Isso é conhecido como exaustão de endereço, e é algo real.
Na verdade, em novembro de 2019, o RIPE
NCC, o Registro Regional da Internet
para a Europa, Ásia Ocidental e a antiga URSS, e
a NASA já esgotaram
todo o seu pool de endereços IPv4.
Felizmente, porém, a Internet Engineering
Task Force, ou IETF, já havia começado a
olhar para o futuro e desenvolveu
o IPv6 como um padrão em 1995, com uma RFC que
documentava sua visão para o IPv6, que eles chamaram
de IP Next Generation ou IPNG.
Como você pode ver, o IPv6 é, na verdade, um grande avanço em relação ao IPv4 em termos
do número de endereços disponíveis.
Em vez de usar um endereço de 32 bits, como fazemos
no IPv4, o IPv6 usará um endereço de 128 bits.
Isso lhe dará um espaço de endereço muito maior.
Na verdade, ele lhe dará uma possibilidade
de 340 undecilhões de endereços IP.
Isso representa endereços IP
suficientes para cada homem, mulher e criança do planeta.
Isso é dois elevado à 128ª potência.
De fato, há muitos, muitos endereços IP para cada
homem, mulher e criança no planeta, porque
há muitos endereços IP disponíveis.
Agora, você deve estar se
perguntando: ei, passamos do IPv4 para o IPv6.
O que aconteceu com a versão 5?
Por que passamos direto para a versão 6?
Bem, a versão 5 foi criada, mas nunca foi totalmente adotada como
um protocolo ou padrão oficial.
Portanto, ele nunca entrou em produção.
Em vez disso, muitos desses conceitos
que foram desenvolvidos na versão
5, por se tratar de um protocolo experimental,
foram trazidos para o IPv6 quando ele se tornou
um padrão oficial.
Então, vamos falar sobre os benefícios do IPv6.
Um dos maiores benefícios
é o espaço de endereço muito maior devido
a esses endereços de 128 bits.
Além disso, o IPv6 também
aumentou a eficiência de nossas redes ao remover
o tipo de fluxo de dados de transmissão do IPv4.
Agora, o IPv6 também é mais seguro porque
não há fragmentação de pacotes ou datagramas
no padrão IPv6.
Também não há unidades máximas de transmissão
para descoberta em cada sessão, ao contrário do IPv4, que contém
um MTU com um determinado tamanho para cada pacote.
No IPv4, se eu lhe enviasse um pacote maior
que o tamanho máximo da unidade de transmissão, ele
o fragmentaria e o enviaria
pela rede.
E, quando chegasse ao seu destino,
seria remontado e lido.
Isso era de fato um risco à segurança.
Isso também exigia processamento extra e poderia,
na verdade, tornar suas redes mais lentas, pois
se tornou uma maneira muito ineficiente de fazer as coisas em
nossas redes modernas com velocidades
de conexão à Internet mais altas.
Portanto, com o IPv6, eles decidiram acabar completamente
com a fragmentação.
Agora, além de oferecer todos esses novos benefícios,
os criadores do IPv6 também foram muito inteligentes
e perceberam que, para ser adotado e aceito totalmente, o IPv6
teria que ser compatível com o IPv4 e permitir que
tanto o IPv6 quanto o IPv4 coexistissem na mesma rede.
Afinal, já era final da década de 1990 quando o IPv6
estava sendo desenvolvido e lançado, e muitas
redes de computadores já
estavam instaladas em todo o mundo.
Portanto, não seria viável
para nós simplesmente mudar tudo em um único dia.
Pense nisso como a migração atual que estamos
fazendo de veículos movidos a gasolina para
veículos movidos a eletricidade.
Isso está acontecendo durante toda a
década de 2020 e até 2030.
Agora, seria impossível dizer: "ei, todo mundo,
em 1º de janeiro de 2025, ninguém mais poderá usar veículos
movidos a gasolina".
Todos eles serão substituídos
por veículos elétricos a partir dessa data.
Se um governo tentasse fazer
isso, provavelmente teria uma revolução em
suas mãos, porque muitas pessoas já possuem carros movidos a gasolina
e gastaram muito dinheiro e investiram nesses carros e na infraestrutura
para apoiá-los.
Agora, por esse motivo, não vamos simplesmente substituir todos os
carros movidos a gasolina da noite para o dia.
Em vez disso, haverá uma transição lenta
da energia a gás para a elétrica até 2030 ou talvez 2040, pois
cada vez mais carros novos vendidos no mundo serão
vendidos como elétricos e deixarão
de ser vendidos veículos a gás.
Bem, exatamente a mesma coisa está acontecendo com o IPv6.
Portanto, o IPv6 permite que tanto o IPv4 quanto o IPv6 coexistam nas
mesmas redes, e o equipamento que executa
essas redes passa a ser conhecido como
pilha dupla, o que significa simplesmente
que eles podem executar simultaneamente
os protocolos IPv4 e IPv6 nos mesmos dispositivos de
rede.
Com dispositivos de pilha dupla, se um cliente for compatível com
o IPv6, o switch do roteador preferirá usar o IPv6
e conversará com esse método.
Agora, se um dispositivo não for compatível com o IPv6,
ele volta atrás e diz: "Tudo bem,
vou falar com você usando o protocolo IPv4 mais antigo".
Dessa forma, ainda posso apoiá-lo.
Outro método que usamos é conhecido como tunelamento.
É aqui que o IPv6 será encapsulado em um dispositivo IPv4.
Isso permite que seus roteadores IPv4 mais
antigos ainda transportem tráfego IPv6.
Essencialmente, o IPv6 será encapsulado
como um mecanismo para encapsular os pacotes IPv6 em
cabeçalhos IPv4 e transportar esses dados IPv6 pelos roteadores
IPv4 e outras infraestruturas já
existentes.
Ele faz isso criando um túnel ponto a ponto entre
a origem e o destino e, em seguida, encapsulando
essas informações.
Isso permite que clientes e servidores IPv6 isolados possam se
comunicar sem a necessidade de atualizar
todos os roteadores e a infraestrutura de switches
que ainda usam IPv4 que possam existir entre eles.
Agora, um dia, poderemos ver o IPv4 totalmente aposentado.
Mas, até o momento, isso não aconteceu.
E, pessoalmente, não estou prendendo a respiração.
De acordo com alguns
artigos que li, as previsões são de que o
IPv4 permanecerá conosco até pelo menos 2040, portanto,
você terá que saber como trabalhar com IPv4 e IPv6
em um futuro próximo como técnico de rede.
Outro benefício do IPv6 é que ele tem um cabeçalho simplificado.
Portanto, em vez dos 12 campos que tínhamos no IPv4,
temos apenas cinco campos no IPv6, o que torna o
cabeçalho mais fino e muito
mais eficiente para o envio em nossas redes.
Então, você deve estar se perguntando:
como é um cabeçalho IPv6?
Bem, vou mostrar a você, mas saiba que não é necessário
memorizar isso para o exame.
Em vez disso, isso serve apenas para mostrar a você
os diferentes campos do IPv4, que está na parte superior,
e do IPv6, que está na parte inferior.
E agora você pode ver como o IPv6
é realmente muito mais simples do que o IPv4.
Muito bem, vamos voltar a alguns aspectos
que você precisa entender para o exame.
Por exemplo, qual é a aparência real de um endereço IPv6?
Bem, eu já disse que ele tem 128 bits de comprimento,
o que significa que ele teria 128 uns ou zeros se o escrevêssemos
em binário, o que me parece
uma péssima ideia, portanto, não vamos
fazer isso.
Agora, poderíamos usar a notação decimal
pontilhada, como fizemos no
IPv4, mas ainda assim seriam muitos octetos para
escrever, pois precisaríamos de 16 octetos para representar todos os 128 bits.
Portanto, para resolver esse problema,
a IETF decidiu que deveríamos usar dígitos
hexadecimais.
Veja bem, hexadecimal é a base 16, que você pode
ou não lembrar das aulas
de álgebra do ensino médio.
Agora, em hexadecimal, cada
dígito hexadecimal é, na verdade, quatro bits.
E isso nos permitirá representar um endereço IPv6
combinando quatro dígitos hexadecimais para
formar o que chamamos de segmento.
Agora, um segmento terá 16 bits.
Isso é representado por esses quatro dígitos hexadecimais.
Em seguida, adicionaremos
dois pontos e continuaremos
a adicionar segmentos até chegarmos a 128 bits,
o que exigirá oito segmentos, cada
um com quatro dígitos hexadecimais.
Isso me dá um total de 32 dígitos hexadecimais,
o que ainda é bastante longo.
Agora, com 128 bits sendo representados em um endereço IPv6, isso significa
que não teremos mais do que 32 dígitos hexadecimais dentro de
todos esses segmentos.
Agora, por que eu disse que o total desses oito segmentos
não deve ter mais de 32 dígitos?
Por que não seriam apenas 32 dígitos hexadecimais,
já que 32 dígitos vezes quatro bits por dígito
nos daria 128 bits?
Bem, isso ocorre porque o IPv6 nos permite usar uma
abreviação para simplificar nossos
endereços IPv6 muito longos.
Agora, as regras de taquigrafia são realmente importantes
porque você pode ver perguntas de exames sobre elas.
Portanto, se você tiver quatro zeros em um
segmento, poderá colocar um zero em vez disso
e eliminar os zeros iniciais.
Por exemplo, vamos supor que eu tenha um endereço IPv6
muito longo de 2018:0000:0000:0000:0000:0000:0000:4815:54ae.
Usando a regra simples, posso
substituir todos os segmentos que têm vários zeros
por um único zero.
Isso me daria 2018:0:0:0:0:0:0:4815:54ae.
Muito bem, isso reduziu meu número de dígitos hexadecimais de
32 para apenas 17, o que significa que o comprimento é aproximadamente a metade.
Estamos melhorando, mas não vou parar por aqui.
Há outra regra que posso
usar no mundo da abreviação IPv6.
Essa regra diz que, se houver vários segmentos
com zeros e nenhum outro dígito
hexadecimal estiver sendo representado ali,
posso resumir isso usando dois pontos duplos e retirando
todos esses zeros.
Essa regra é especial
porque só é possível usar dois pontos duplos uma única
vez em um endereço IPv6.
Portanto, usando minha regra de dois
pontos duplos, posso resumir 2018:0:0:0:0:0:0:4815:54ae para remover todos
esses cinco conjuntos de zeros e substituí-los
por dois pontos duplos e obter
2018::4815::54ae.
Assim, passei de 32 dígitos hexadecimais
para 17 dígitos hexadecimais
e agora passei de 17 dígitos para 12
dígitos, muito menores e muito
mais fáceis de trabalhar.
Você pode ver como essa abreviação é realmente útil.
Então, como você vai reconhecer um endereço IPv6
em relação a um endereço IPv4?
Bem, a primeira maneira é ver o que é o IPv4.
O IPv4 sempre usará a notação decimal pontilhada
com quatro octetos.
Agora, o IPv6, por outro lado,
usará dois pontos entre os números e
será escrito em hexadecimal.
Muito bem, uma das perguntas que
você poderá ver no dia do teste
é identificar um endereço IPv6 quando vir um.
Por exemplo, você pode receber uma pergunta
como: qual dos seguintes é um endereço IPv6?
Essa é uma pergunta justa a ser feita a você.
Você terá algumas opções como 192. 168. 1. 1, que sabemos que
não é o endereço, pois é um endereço IPv4.
Você obterá 12:34:56:78:90:AB
ou 1234::5678::90AB.
Então, espere um pouco, os dois últimos que acabei de dizer
são muito parecidos, não são?
Sim, mas apenas um deles é um endereço IPv6 válido.
Você sabe qual é?
Porque a maioria dos alunos se confunde nesse ponto.
Agora, a segunda opção aqui não é de fato um endereço IPv6.
Em vez disso, é um endereço MAC.
Lembre-se de que os endereços
MAC, que são endereços físicos da camada
2, sempre terão 12 dígitos hexadecimais e serão separados
por dois pontos.
Normalmente, eles são
escritos como seis grupos de dois dígitos
cada e cada um deles é separado por dois pontos.
Um endereço IPv6, por outro lado, sempre deve ser escrito
em segmentos de quatro dígitos cada e
sempre deve ter 16 segmentos, a menos que você
veja dois pontos duplos.
Neste exemplo, temos dois pontos duplos entre o primeiro
e o segundo segmento em nossa terceira opção.
Portanto, essa é uma boa abreviação que podemos usar
e identificamos que se trata de um endereço IPv6 porque
removemos todos os zeros entre
o primeiro e o segundo segmento dentro desse endereço.
Portanto, se você contar
algo que se pareça com um endereço
IPv6 e tiver 12, exatamente 12 dígitos hexadecimais separados por
dois pontos simples, e não vir
dois pontos duplos em lugar algum,
esse é um endereço MAC, não um endereço IPv6.
Caso contrário, se for parecido
com este e incluir dígitos hexadecimais,
será um endereço IPv6 no dia do exame.
Para o exame, você só precisa ser capaz de
reconhecer a aparência de um endereço
IPv6 e deve ser capaz de resumir um deles retirando
os zeros e consolidando-os usando o truque
dos dois pontos.
Se você conseguir fazer essas duas
coisas, não terá problemas com o endereçamento IPv6 no dia do exame.
Agora, quando se trata de endereçamento IPv6,
há três tipos diferentes de endereços que você pode
usar: endereços unicast, endereços multicast
e endereços anycast.
Um dos aspectos interessantes do IPv6 que
realmente o distingue do IPv4 é que podemos
atribuir vários endereços IPv6 a uma única interface
em um cliente.
E essas atribuições podem ser uma mistura
de qualquer um desses três tipos diferentes:
unicast, multicast e anycast.
Portanto, mesmo que você tenha apenas uma placa de
interface de rede em sua estação
de trabalho ou laptop, poderá ter vários endereços
IPv6 e diferentes tipos de endereços IPv6
atribuídos a essa placa.
Os endereços unicast serão usados
para identificar uma única interface.
Eles são divididos em endereços unicast roteados globalmente
e endereços locais de link.
Um endereço unicast roteado globalmente
é semelhante ao que temos como endereço público com o IPv4
usando endereços unicast de classe A, B e C.
Agora, no IPv6, um endereço unicast roteado
globalmente sempre
começará com seu primeiro segmento contendo 2000-3999.
Agora, se você vir 2000-3999 como seu primeiro segmento, isso significa
que é um endereço unicast roteado globalmente.
Por exemplo, o endereço IPv6
de 2584:0db8:8583:1234:5678:882e:0370:7334 seria roteado
globalmente como um endereço unicast
porque seu primeiro segmento contém
2584, que está entre 2000 e 3999.
Agora, um endereço local de link, por
outro lado, também chamado de endereço
de uso local, é usado como um endereço IP privado era no IPv4.
Um endereço link-local no
IPv6 só pode ser usado em uma
rede local e sempre começará com FE80 como seu primeiro segmento
em um endereço IPv6.
Agora, sempre que um sistema IPv6 for iniciado, ele criará
um endereço local de link para cada interface
IPv6 desse sistema, mesmo que um endereço globalmente
roteável já tenha sido configurado
manualmente ou obtido por meio
de um protocolo de configuração como o DHCP.
Para fazer isso, ele usará algo conhecido
como SLAAC, a autoconfiguração de endereço sem estado ou S-L-A-A-C.
Com a configuração automática sem estado,
o host não precisa obter endereços ou outras
informações de configuração de
um servidor centralizado, como o DHCP.
Em vez disso, ele pode atribuir a si mesmo, de forma independente,
um endereço local de link, testar
a exclusividade desse endereço local de link, atribuir
o endereço local de link a si mesmo, entrar em
contato com o roteador e fornecer orientação ao nó sobre como proceder
com a configuração automática.
E ele pode até mesmo configurar o endereço unicast global
que deseja usar.
Voltaremos a esse conceito em alguns minutos, quando
nos aprofundarmos um pouco mais
nele e começarmos a falar sobre o EUI-64 e o protocolo de descoberta
de vizinhos, já que esses dois
processos são usados com o protocolo de autoconfiguração
de endereços sem estado conhecido como SLAAC.
Em seguida, temos os endereços multicast.
Agora, os endereços multicast são usados
para identificar um grupo de interfaces,
de modo que um pacote possa ser enviado a um endereço multicast
e depois entregue a todas as interfaces de um grupo.
No IPv6, um endereço multicast sempre conterá FF como os dois
primeiros dígitos no primeiro segmento.
Se você vir FF no início de um endereço IPv6, lembre-se
de que se trata de multicast.
O último tipo de endereço que
temos é conhecido como endereço anycast.
Os endereços anycast são usados para identificar um conjunto de interfaces,
de modo que um pacote possa ser enviado a qualquer membro do conjunto.
Os endereços anycast são, na verdade, alocados
do espaço de endereços unicast.
Portanto, não há realmente nenhuma
maneira de determinar se um endereço IPv6 é unicast ou anycast
apenas olhando para o endereço IPv6.
Agora, quando se trata de multicast ou link-local, você
tem uma maneira muito fácil de fazer
isso, mas não tem uma maneira fácil
de descobrir unicast versus anycast.
Muito bem, vamos voltar
e falar um pouco mais sobre o SLAAC, o processo
de autoconfiguração de endereços sem estado.
Como eu disse, no IPv6, há um processo
de autoconfiguração conhecido como SLAAC, que usamos
para descobrir a rede atual em que
a interface está localizada
e, em seguida, permitir que ela selecione seu próprio
ID de host com base em seu endereço MAC usando um processo conhecido como EUI-64.
Agora, esse processo de EUI-64 ou identificador exclusivo estendido permitirá
que um host atribua a si mesmo um identificador
de interface IPv6 exclusivo de 64 bits chamado EUI-64.
Agora, esse endereço no formato EUI-64 é obtido
usando o endereço MAC de 48 bits da interface.
O endereço MAC é primeiro separado em duas partes de 24 bits.
A primeira metade do endereço MAC conterá o OUI (Organizational Unique Identifier),
ou seja, o identificador exclusivo da organização.
E a segunda metade conterá a placa
de interface de rede específica.
Agora, entre eles, vamos
inserir um valor hexadecimal de 16 bits de FFFE.
Dessa forma, posso pegar 24 bits, 16 bits e 24 bits
e juntá-los para obter um endereço EUI de 64 bits.
Isso lhe dá os 64 bits necessários para
identificar a interface na rede.
Em seguida, a interface usará a descoberta
automática para determinar
a rede em que está e adicionará a parte da rede do endereço
IPv6, que será os primeiros 64 bits dentro dos nossos endereços.
Agora, vamos colocar os primeiros
64 bits para representar a rede na frente dos
64 bits do endereço EUI-64 que criamos a partir do nosso endereço
MAC para criar um endereço IPv6 unicast globalmente roteável
que podemos usar.
Assim, você pode ver como tudo isso funciona em conjunto
usando o endereço MAC para criar
esse endereço globalmente roteável.
Agora, o DHCP também pode ser usado no IPv6, se você
preferir usá-lo.
Se for o caso, você terá que usar o protocolo DHCPv6.
Isso permitiria que você fizesse
com que o DHCP atribuísse automaticamente coisas de um servidor DHCPv6.
Mas como o processo de configuração automática com EUI-64 já está incorporado
ao protocolo IPv6 por padrão, você realmente não precisa
usar o DHCPv6.
Mas se você quiser usar o DHCPv6, poderá fazê-lo, e ele permitirá
que você atribua os endereços
que cada interface receberá, em vez de permitir
que elas usem o protocolo
de configuração automática do SLAAC.
Agora, como eu disse, o IPv6 escolherá seu próprio endereço com
base em seu endereço MAC por padrão e, em seguida,
usará esse recurso conhecido como NDP ou protocolo
de descoberta de vizinhos para conhecer
os outros endereços da Camada 2 na rede com base em seus endereços MAC e, então, escolherá
seu próprio ID de host.
Agora, para o exame, você não precisa conhecer o NDP a fundo,
mas deve entender que o NDP, esse protocolo
de descoberta de vizinho, é usado no IPv6 e que ele assume muitas
das funções do anúncio de roteador
e da descoberta de vizinho e as manipula
para você.