IPv6 Por onde comecar: mudanças entre as edições
Sem resumo de edição |
Sem resumo de edição |
||
Linha 17: | Linha 17: | ||
=== '''NAT444''' === | === '''NAT444''' === | ||
Nessa técnica temos o '''CPE''' na residência ou empresa, nele é feito o primeiro '''NAT (Network Address Translation)''', endereçando toda a rede interna do cliente e | Nessa técnica temos o '''CPE''' na residência ou empresa, nele é feito o primeiro '''NAT (Network Address Translation)''', endereçando toda a rede interna do cliente e traduzindo para IP recebido na '''WAN''' da CPE, que hoje já seria um IP privado do range '''100.64.0.0/10'''. O pacote com IP do range '''100.64.0.0/10''' que vem do cliente, chega no '''Provedor de Internet''' e passa por um novo '''NAT''' e dessa vez traduzindo para um '''IP público''' antes de seguir para a Internet. Essa técnica economiza o recurso '''IPv4''' mas também destrói toda comunicação fim a fim entre o cliente e o conteúdo acessado. | ||
Abaixo um | Abaixo um desenho bem simples de '''CGNAT''' ('''Carrier Grade NAT''') '''determinístico''' onde o cliente residencial recebe um IP '''100.64.0.x''' na '''WAN''' da '''CPE'''. Esse tráfego ao chegar no '''BNG''' do Provedor, é encaminhado para a caixa de '''CGNAT''', onde um novo '''NAT''' traduz IP '''100.64.0.x''' para IP público '''203.0.113.0''' e seguirá para a Internet. Nesse modelo atenderíamos 32 clientes com o mesmo IP público utilizando algo em torno de '''2000 portas TCP/UDP por cliente'''. | ||
[[Arquivo:Diagrama_cgnat.png]] | [[Arquivo:Diagrama_cgnat.png]] | ||
=== '''NAT64/DNS64''' === | === '''NAT64/DNS64''' === | ||
Essa técnica de transição necessita que a rede e os aplicativos do cliente suportem IPv6. Dessa forma o acesso se dá em IPv6 nativamente na rede do cliente e quando existe a necessidade de acessar algum sistema em IPv4, é utilizado o '''NAT64/DNS64''' para fazer a tradução do endereço IPv6 para IPv4 antes deste sair para Internet. O grande problema dessa técnica é a falta de compatibilidade de muitos aplicativos com IPv6. Sistemas Operacionais como '''GNU/Linux''', '''Microsoft Windows''', '''MacOS''', '''iOS''', '''BSD'''s, '''Android''' e muitos outros já suportam IPv6 mas ainda existem muitas aplicações que rodam nesses sistemas que ainda não tem esse suporte. | |||
=== '''464XLAT''' === | === '''464XLAT''' === |
Edição das 22h11min de 24 de dezembro de 2022
Introdução
Embora o protocolo IPv6 seja considerado por muitos como algo novo, ele é relativamente antigo e foi pensado para que a Internet pudesse continuar seu crescimento antes que esgotasse o protocolo legado, que conhecemos como IPv4. Infelizmente não conseguimos implantá-lo 100% antes do início do esgotamento do IPv4. Para termos uma ideia o IPv6 foi lançado mundialmente em 06/06/2012 e um ano depois, em 06/06/2013, o NIC.br nos apresentou a grande novidade através desta live.
No início não tínhamos conteúdos relevantes em IPv6, algo que nos fizesse se interessar por esse novo protocolo, que em primeira vista, parecia um tanto complicado devido a sua notação não ser em decimal mas sim em hexadecimal. Como bem sabemos a Internet não é um lugar mas a interconexão de milhares de lugares espalhados pelo mundo, de um lado nós seres humanos que desejamos consumir algum conteúdo, comprar algo, consultar, pesquisar, enfim, algo que a Internet consiga nos entregar e do outro lado aqueles que querem disponibilizar seus conteúdos, serviços, mostrar seus produtos, alcançar o seu futuro cliente esteja ele onde estiver no nosso globo terrestre. Percebam que temos 2 atores principais envolvidos: aquele que disponibiliza algo na Internet e aquele que consome algo pela Internet e ambos são importantes para que a Internet continue sendo atrativa.
Mas Internet evoluiu assim como qualquer tecnologia e além de nós seres humanos, passamos a compartilhar a Internet com as máquinas, a IoT (Internet das Coisas, em português). Isso nos levou ao extremo esgotamento do IPv4, porque cada dispositivo que se conecta à Internet necessita de um IP único, para que ele possa se comunicar fim a fim com outros dispositivos pela Internet.
Agora mais do que nunca, embora muito atrasado, o mundo precisa entender que IPv6 não é algo opcional, é uma necessidade para que a Internet continue crescendo e trazendo novas tecnologias para as nossas vidas. Para tanto escrevi este artigo com o intuito de ajudar e orientar aqueles que estão iniciando o IPv6 em suas operações.
Motivação
Sempre me considerei interessado por novas tecnologias, ainda mais uma que viria para expandir a Internet. Foi então que em 25/09/2013 eu e minha equipe iniciamos a implantação do IPv6 no AS53135 (Nettel Telecomunicações Ltda), ainda era esse o nome na época. Em 2013 era complicadíssimo encontrar uma operadora de trânsito IP fornecendo uma sessão BGP IPv6, assim como era difícil encontrar CPEs que suportassem o IPv6 corretamente. Mesmo com toda a dificuldade, entendíamos a importância que isso teria em alguns anos na frente e sabíamos que aos poucos os grandes conteúdos viriam, fortalecendo ainda mais a mudança.
Algumas Técnicas de Transição para o IPv6 mais conhecidas
NAT444
Nessa técnica temos o CPE na residência ou empresa, nele é feito o primeiro NAT (Network Address Translation), endereçando toda a rede interna do cliente e traduzindo para IP recebido na WAN da CPE, que hoje já seria um IP privado do range 100.64.0.0/10. O pacote com IP do range 100.64.0.0/10 que vem do cliente, chega no Provedor de Internet e passa por um novo NAT e dessa vez traduzindo para um IP público antes de seguir para a Internet. Essa técnica economiza o recurso IPv4 mas também destrói toda comunicação fim a fim entre o cliente e o conteúdo acessado.
Abaixo um desenho bem simples de CGNAT (Carrier Grade NAT) determinístico onde o cliente residencial recebe um IP 100.64.0.x na WAN da CPE. Esse tráfego ao chegar no BNG do Provedor, é encaminhado para a caixa de CGNAT, onde um novo NAT traduz IP 100.64.0.x para IP público 203.0.113.0 e seguirá para a Internet. Nesse modelo atenderíamos 32 clientes com o mesmo IP público utilizando algo em torno de 2000 portas TCP/UDP por cliente.
NAT64/DNS64
Essa técnica de transição necessita que a rede e os aplicativos do cliente suportem IPv6. Dessa forma o acesso se dá em IPv6 nativamente na rede do cliente e quando existe a necessidade de acessar algum sistema em IPv4, é utilizado o NAT64/DNS64 para fazer a tradução do endereço IPv6 para IPv4 antes deste sair para Internet. O grande problema dessa técnica é a falta de compatibilidade de muitos aplicativos com IPv6. Sistemas Operacionais como GNU/Linux, Microsoft Windows, MacOS, iOS, BSDs, Android e muitos outros já suportam IPv6 mas ainda existem muitas aplicações que rodam nesses sistemas que ainda não tem esse suporte.
464XLAT
(falta de CLAT por fabricantes de CPEs), mais usado em Operadoras de Telefonia Móvel.
A realidade hoje em muitos ISPs/ITPs: NAT444 sem IPv6. Isso é muito mas muito ruim e veremos porque.
Precisamos mudar nossa realidade para pelo menos NAT444 com IPv6.
Recurso finito de portas TCP/UDP no CGNAT causam problemas de conexão para empresas com muitos pontos de acesso simultâneos: 65k portas.
Onde o IPv6 pode ajudar na minha Operação?
- Redução de custos com caixas de CGNAT.
- Mais qualidade na entrega de conteúdos fim a fim. IoT já é uma realidade.
- O cliente sente menos efeitos colaterais de uma mitigação DDoS quando está sob ataque.
- Melhora a experiência no acesso à Internet. (sem o limite de 65k portas imposto no CGNAT).
Tempo de espera na fila do LACNIC por bloco IPv4 hoje em 2022: 5 anos.