Adicionando suporte ao IPv6 no aplicativo cliente-servidor. É comum ter a pilha IPv4 desabilitada no nível do SO em servidores de produção “Pure IPv6”?

3

SO em considerações: Windows Server 2008+

Estamos adicionando suporte a IPv6 em um complexo aplicativo de rede cliente-servidor. O servidor abre muitas portas para escutar e diferentes tipos de clientes se conectam a portas diferentes.

Estamos considerando vários cenários, incluindo:

  • Servidor em IPv6 puro, cliente em IPv6 puro
  • Servidor em IPv4 puro, cliente em IPv4 puro
  • Servidor em pilha dupla pura, cliente em IPv6 puro
  • Servidor em pilha dupla pura, cliente em IPv4 puro (Tunneling ainda estamos para descobrir)

Relacionada à máquina do servidor, minha pergunta é: É seguro assumir que nas máquinas de produção, que são Pure IPv6 , ainda haverá IPv4 funcionando no nível do sistema operacional? Para reformular, se as máquinas de produção que são Pure IPv6 ainda terão IPv4 endereço de loopback funcionando no sistema?

Em relação a IPv6 , verifiquei que há aqui que é parte obrigatória do sistema operacional, e pelo menos não há como desativar IPv6 loopback. Mas é possível que IPv4 use o comando netsh .

Eu tenho duas preocupações aqui:

  1. Meu aplicativo do servidor está escrito em Java. E se eu desabilitar o IPv4 no nível do sistema operacional usando netsh interface ipv4 uninstall , a maioria das apis de rede do Java deixará de funcionar, pois elas ainda não suportam essa configuração. Link.

  2. No meu aplicativo de servidor, há poucas portas ouvindo em 127.0.0.1 , porque elas devem ser acessadas na mesma máquina. Então, eu deveria estar preocupado com isso se eu me certificar de que o código se conecta a esses soquetes usando 127.0.0.1 e não usando localhost ou ::1 ?

por Rahul D 05.03.2017 / 15:05

1 resposta

0

Raramente é possível suposições "seguras" sobre qualquer coisa. Entenda a rede e o software que você está implantando nele.

É muito incomum desabilitar o IPv4 ao nível de desinstalação. Isso é evidente quando isso acontece, quebra a pilha de rede de vários softwares completamente, onde as funções de rede não poderiam funcionar.

Você ainda pode tentar o seu software com o IPv6 somente endereçando para ver se alguma coisa quebra.

Para o listener de loopback, tente usar uma constante no ambiente de programação que suporte ambos. Para Java, isso pode ser InetAddress.getLoopbackAddress ()

    
por 05.03.2017 / 18:22