Por que o IPv6 seria necessário para a IoT?


21

Recentemente, deparei com esta citação da Security Intelligence sobre a Internet das coisas e o IPv6:

Os analistas prevêem que haverá 30 bilhões de "coisas" conectadas até 2020, mas o espaço de endereços IPv4 acomoda apenas 4 bilhões e mudanças. Mesmo com a tradução de endereços de rede (NAT) e o espaço de endereços privado, o apetite da IoT por endereços superará a capacidade do IPv4 de satisfazê-lo.

Digite IPv6, que expande o espaço de endereço para 340 undecilhões ou 3,4 × 10 38 . Bem, tecnicamente é um pouco menos que isso, já que algumas combinações são reservadas; no entanto, ainda são endereços utilizáveis ​​suficientes para alocar cerca de 4.000 a todas as pessoas no planeta.

O que me intriga é por que a Internet das Coisas faria alguma diferença na necessidade de mudar para o IPv6. Parece-me que a grande maioria das coisas está conectada a um roteador, daí a necessidade apenas de um IP em todo o mundo .

Por exemplo, o IP do seu forno inteligente (ou qualquer outra coisa) é 192.168.0.52, que não impede que o Echo do seu vizinho tenha o mesmo IP, porque, para acessar esse IP de fora de sua casa, você deve passar pelo IP da sua casa. endereço, ex: 148.238.24.9.

Por que o advento da IoT exigiria a mudança para o IPv6?


5
Gostaria de saber como 340 undecilhões de endereços únicos (exceto alguns reservados) se resumem a apenas 4.000 para todas as pessoas no planeta?
Ghanima 27/01


Ele não vai exigir o interruptor da mesma forma que ter carros elétricos doe não necessitate ter "postos de gasolina" elétricos. Mas ambos com certeza o tornam muito mais conveniente.
precisa saber é o seguinte

1
O endereçamento IPv4 fornece 2 ^ 32 endereços, enquanto o IPv6 fornece 2 ^ 128 endereços (menos sobrecarga). Existem <2 ^ 33 pessoas, além de empresas, escolas, et al. Então, chame-o de 2 ^ 36 pessoas / locais. Isso deixa 2 ^ 92 endereços por pessoa / local, muito mais que 4000 (2 ^ 12) por pessoa / local. O IPv6 seria de ouro em 2 ^ 64 e adotado mais cedo.
ChuckCottrill

Consulte a RFC 7368 para saber como o IPv6 deve funcionar em uma rede doméstica.
Michael Hampton

Respostas:


19

Existem duas razões.

(1) O primeiro é a conectividade de ponta a ponta mais simples . Se a origem e o destino tiverem endereço IPv4 público (ou IPv6, é claro), eles poderão se conectar em qualquer direção a qualquer momento.

192.168.0.52Entretanto, sua IoT com IP privado pode usar o NAT SOMENTE para conectar-se a qualquer IP público na Internet sempre que desejar, mas o restante da Internet não pode se conectar a ele. Havia kludges como DNAT e uPNP que permitem especificar que algumas conexões de entrada estão ativadas, mas estão quebrando cada vez mais atualmente devido à implementação do CGNAT devido à falta de IPv4.

Uma "solução" comum (chamada) para esse problema é que todos os seus dispositivos (NAT) se conectam a algum local central com IP público (geralmente hospedado pelo fabricante do dispositivo). Isso faz com que funcione tecnicamente, mas envolve um problema de privacidade (você está fornecendo todos os dados de suas IoTs), um problema de segurança (como você está aberto a eles, funcionários violados ou descontentes podem fazer qualquer coisa que seu dispositivo IoT possa fazer e acessar ) e problema de confiabilidade (quando o fabricante encerra suas atividades ou decide parar de oferecer suporte a dispositivos antigos ou está sofrendo interrupções), todos os seus dispositivos perfeitamente funcionais (e todos os outros) deixam de funcionar.

(2) o segundo problema é que ele deixará de funcionar de qualquer maneira (mesmo para conexões de saída) em algum momento no futuro (não em um ano ou dois, mas ainda assim).

Isso ocorre porque o NAT permite que endereços privados gostem 192.168.0.52de acessar a Internet em geral. Ele faz isso alterando o endereço de origem 192.168.0.52para o IP público do seu roteador, mas substitui a porta de origem pela gratuita do pool.

Por exemplo, sua primeira conexão pode ser 192.168.0.52:1000pode ser (CG) -NATed para IP (público) 198.51.100.1:1000, e seu vizinho 192.168.0.77:1000pode ter NATed para 198.51.100.1:1001. Sua segunda conexão 192.168.0.52:1001seria então enviada para NAT 198.51.100.1:1002etc.

O problema é que mesmo coisas simples como abrir uma página da web provavelmente abrirão dezenas de conexões e usarão uma dúzia de portas (para consultas DNS, conexão HTTP (S) para diferentes elementos, análises JS em diferentes sites etc.).

Programas mais caros, como clientes de torrent, consumirão facilmente milhares de portas . E há apenas 65535 portas disponíveis para qualquer IP.

O que significa que vários de seus vizinhos que compartilham o mesmo IP CGNAT usam uma parcela maior de conexões (e mais IoTs significam mais conexões) e, de repente, todas as 65535 portas nesse IP público 198.51.100.1 são usadas. O que significa que nenhuma nova conexão pode ser estabelecida para você e seus vizinhos. O que em maior escala significa que muitas pessoas são cortadas de suas IoTs e a civilização como a conhecemos entra em colapso :-)

Como gostaríamos de adiar o colapso da civilização o máximo possível, estamos migrando para o IPv6 . Por favor, apoie a existência contínua dessa civilização usando o IPv6, se possível . Obrigado!


1
"E existem apenas 65535 portas disponíveis para qualquer IP." mas as conexões são identificadas pelas quatro tuplas de IP de origem, porta de origem, IP de destino e porta de destino. Assim, o NAT pode usar a mesma porta de origem pública para vários destinos (se ele realmente vai ou não depende da implementação)
Peter Green

2
@ PeterGreen está correto, pois há dois IPs (src e dst), existem dois conjuntos de portas. Eu já estava começando a técnica, então não cheguei em profundidade lá. E a implementação pode reutilizar a mesma porta de origem para destinos diferentes (ou não, pois aumentaria a carga nos roteadores devido à pesquisa de listas). No entanto, observe que o destino geralmente seria fixado para algum objetivo - por exemplo, você sempre se conectaria para 8.8.8.8:53obter o resolvedor DNS do Google ou a porta 80 (ou 443) para conectar-se ao HTTP (s) de algum servidor da Web. Mas o NAT só tem o luxo de mudar as portas de origem, não as de destino.
Matija Nalis 27/01

3
@ PeterGreen Já houve relatos de falhas no hardware da CGNAT da maneira descrita aqui. Isso se mostra como conexões estranhamente não confiáveis, sem causa óbvia. Veja, por exemplo, este relatório da Ofcom . De qualquer forma, o CGNAT está apenas dando um bom dinheiro depois do mal, mantendo o IPv4 funcionando quando a implantação do IPv6 está atrasada.
Michael Hampton

3
Eu já vi o NAT dos roteadores de plástico simplesmente tentar resolver alguns nomes DNS do zero, ou seja, sem usar um servidor de nomes DNS recursivo no DNS público, mas fazendo a recursão localmente.
Jonas Schäfer

2
@ v7d8dpo4 não necessariamente ruim - é verdade, mas no caso de dispositivos IoT na maioria das vezes é ruim - o dispositivo IoT geralmente envia seus dados (às vezes até criptografados, mas nem sempre) ao fabricante, que em quase todos os casos descriptografa os dados para mostrar uma boa página HTML (ou qualquer outra coisa). Assim, o fabricante (ou quem executa esse IP público) tem todos os seus dados à disposição e pode comandar seu dispositivo IoT à vontade. Agora, em alguns casos, você pode instruir o dispositivo a se conectar ao seu próprio IP público e executar o software do servidor de código-fonte aberto fornecido a você lá, mas isso é muito raro :(
Matija Nalis

14

O IPv6 é uma necessidade agora ; já estamos quase sem endereços IPv4 . À medida que mais e mais pessoas ficam on-line, estamos começando a chegar ao ponto em que os IPs precisam ser compartilhados entre várias pessoas, não apenas uma família ( NAT de classe de operadora ), o que é inaceitável e não apenas um problema para a IoT.

O IPv6 nos permite passar para uma representação mais semântica em que um IP = um dispositivo , com várias vantagens. Se você conseguir endereçar diretamente seu dispositivo inteligente (seja uma torradeira, forno, lâmpada, TV ou outra coisa), basta enviar seus comandos diretamente para o dispositivo , em vez de precisar acessar um hub. No momento, o NAT torna isso difícil de configurar, porque requer especificamente o encaminhamento de porta de seus dispositivos IoT (e isso pode não funcionar de maneira alguma para o NAT da operadora).

Pode valer a pena ler 'Mudar para IPv6 implica abandonar o NAT. Isso é uma coisa boa?' da falha do servidor se você estiver preocupado com as implicações de segurança; ter todos os seus dispositivos IoT com um endereço IPv6 público não é realmente uma grande falha de segurança; é algo que ainda causaria um problema em uma rede habilitada para NAT.

Este artigo do IEEE tem alguns pontos positivos:

O próximo passo lógico das redes de dispositivos móveis para as redes de "Coisas" em comunicação é a Internet das coisas. O próximo passo espelhará a sequência de eventos experimentados pelas redes móveis. Os protocolos proprietários vieram primeiro, porque os lucros de uma empresa individual geralmente vêm antes da consideração do bem comum. Mas o uso de IP e transparência (ou seja, protocolos de código aberto) é fundamental para o desenvolvimento da IoT, assim como a facilidade de uso e a invisibilidade da tecnologia são importantes para os usuários finais. Nossa visão, com base em nossa pesquisa, é que o valor da transparência e facilidade de uso, e ainda mais importante a necessidade de interoperabilidade, favorecerão a adoção do IPv6 pelo mercado de IoT.

Então, resumindo:

  • No momento, 1 endereço IPv4 representa ... quem sabe? Às vezes, um dispositivo, às vezes um roteador, às vezes uma rede inteira de clientes diferentes.

  • O uso de um IPv6 permite atribuir um nome a cada dispositivo IoT na Internet.

  • A capacidade de endereçar seus dispositivos permite controlá-los e simplifica a configuração e o gerenciamento.


3
É melhor que isso. Um dispositivo pode ter vários endereços IPv6 e é esperado.
Michael Hampton
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.