Com o World IPv6 Launch chegando, pensamos que seria uma boa ideia observar o trabalho feito no Windows 8 Release Preview que dá suporte ao IPv6. Christopher Palmer da equipe de gerenciamento de programa de rede principal criou esta postagem.
--Steven


O IPv4 é o Protocolo de Internet que tem sido usado para conectividade de Internet por décadas. Entretanto, o IPv4 nunca foi projetado para tal carga e escala, e ele está começando a mostrar sinais de desgaste, conforme a Internet cresce - embora a incrível previsão dos designers originais continue a impulsionar a Internet em uma escala massiva. Os provedores de serviço de Internet estão considerando o IPv4 incrivelmente custoso de manter; ele vai requerer uma revisão para que possa aguentar a futura invasão de PCs e dispositivos conectados.

Durante vários anos, o setor, incluindo a Microsoft, tem trabalho para distribuir uma versão completamente nova do Protocolo de Internet – IPv6 – entre vários dispositivos, serviços e infraestrutura de rede. As versões do Windows desde o Windows XP SP3 têm suporte a IPv6, o que torna a transição para IPv6 possível. Criamos o Windows 8 para mantê-lo (e a seus aplicativos) conectados de forma confiável, quando essa transição dramática acontecer.

As limitações do IPv4

Primeiro, vamos falar sobre os fundamentos básicos. Toda vez que você navega para um site como www.bing.com, esse nome amigável se transforma em um endereço IP, algo como 23.3.105.97. Um endereço IP é conceitualmente semelhante a um número de telefone. Assim como todos os seus contatos têm números de telefone, tudo o que se conecta à Internet possui um ou mais endereços IP. A “lista telefônica” da Internet é o Sistema de Nome de Domínio (DNS). Dado um nome, o DNS resolve o mesmo em um conjunto de endereços IP.

O IPv4 fornecia apenas em torno de 4 bilhões de endereços IP. Isso parecia muita coisa nos anos 1970. Mas em 2015, uma estimativa de 15 bilhões de dispositivos estarão conectados (PCs, telefones, aparelhos domésticos, carros, até mesmo móveis!). O IPv4 simplesmente não possui os endereços necessários para conectar tantos dispositivos à Internet.

Conforme a demanda por endereços IPv4 cresceu nos anos recentes, a comunidade da Internet encontrou formas de “compartilhar” esses recursos vitais. A forma mais comum de compartilhar um endereço IPv4 é usar conversão de endereço de rede (NAT). Essa funcionalidade em muitos lares é realizada por roteadores, o que permite que computadores e outros dispositivos em uma casa compartilhem um único endereço IPv4 público.

Convencionalmente, os provedores de serviço de Internet fornecem um único endereço IP para cada casa. Entretanto, isso está se tornando cada vez mais difícil. Devido à diminuição de endereços IP, endereços IPv4 exclusivos simplesmente não estão disponíveis para cada casa. Em breve, cidades ou países inteiros podem ficar atrás na conversão de endereços de rede em larga escala. Os provedores de serviço de Internet precisam desenvolver uma infraestrutura custosa e complexa para dar suporte a IPv4. Para os usuários finais, a exaustão de endereços IP significa que serviços baseados em locais, tais como o Bing, não funcionarão corretamente, e aplicativos ponto a ponto sofrerão degradação de desempenho.

IPv6 é o futuro

A Microsoft, junto com outras empresas de tecnologia, tem trabalhado no desenvolvimento do IPv6 para garantir que os usuários finais continuem a ter acesso à Internet de alta qualidade, independentemente das limitações de desempenho e de conectividade causadas pela exaustão de endereços IPv4.

O benefício mais imediato do IPv6 é que ele fornece mais de 3×1038 endereços IP, o suficiente para cada pessoa ter bilhões de endereços para si mesma, ou suficiente para dar a cada estrela do universo um endereço único. Isso permitirá que a Internet cresça e se desenvolva. O IPv6 também fornece muitas melhorias de segurança e de desempenho, como suporte interno a IPsec. (O que aconteceu com o IPv5, você deve estar se perguntando? O Bing pode ajudá-lo a descobrir por que ele está sendo “ignorado”.)

Atualizar a Internet inteira para o IPv6 não é algo que possa ser feito instantaneamente. Passaram-se muitos anos para chegarmos onde estamos hoje em dia, e ainda temos muitos anos de trabalho pela frente. Atualmente, em torno de 1% dos dispositivos pode se conectar à Internet usando apenas o IPv6.

Durante o período de transição, a maioria das redes cairá em três categorias:

  • Redes somente IPv4. Isso provavelmente é o que você tem hoje em dia, já que a maioria dos Provedores de Serviço de Internet apenas começou a oferecer o suporte a IPv6. Muitos dispositivos que se conectam à Internet devem apenas oferecer suporte a IPv4 também.
  • Redes IPv4 e IPv6 (pilha dual). Isso significa que o seu Provedor de Serviço de Internet está configurando seu PC com endereços IPv4 e IPv6. Este modelo é comum em redes via cabo e dial-up que estão passando pela transição.
  • Somente redes IPv6. Isso significa que o seu Provedor de Serviço de Internet está configurando seu dispositivo com apenas endereços IPv6. Como muitos sites ainda estão apenas na Internet IPv4, os Provedores de Serviço de Internet devem usar um dispositivo de conversão para permitir o acesso a partir de sua rede IPv6 à Internet IPv4. Esse dispositivo é chamado de NAT64. Esse modo está se tornando popular no ambiente móvel, pois ter apenas um tipo de Protocolo de Internet entre o dispositivo móvel e a infraestrutura da operadora é mais simples de implantar e mais barato do que uma configuração de pilha dual. Além disso, operadoras móveis estão sentindo a exaustão de endereço IPv4 na pele de forma mais severa. Aqui está um diagrama básico dessa configuração:

O roteador de dispositivos apenas IPv6 se conecta à Internet IPv4 via NAT64

Você deve estar pensando no tipo de conexão que possui agora. Temos um widget na parte inferior desta postagem que pode mostrar para você.

O Windows 8 é projetado para garantir a conectividade entre todos os tipos de configurações de rede. No Windows 8, você pode iniciar pesquisas de DNS usando os cmdlets Resolve-DNSname no Windows PowerShell. Abra o PowerShell e execute o comando abaixo, e você verá o retorno de registros IPv6 e IPv4. Somente sites que dão suporte a IPv6 terão registros IPv6.

Registros IPv6 e IPv4

Windows 8 em redes somente IPv4

Em uma rede somente IPv4, os dispositivos são configurados somente com endereços IPv4. Este modelo continua a funcionar no Windows 8 como anteriormente. Além disso, o hosts do Windows também oferecem conectividade IPv6, encapsulando esse tráfego dentro de várias tecnologias de transição – um exemplo disso é o Teredo, onde os pacotes IPv6 são encapsulados em pacotes IPv4 UDP. Agora que estamos começando a ver a emergência de servidores e serviços somente IPv6, o Windows 8 tenta automaticamente a conectividade IPv6 quando o servidor não oferece um endereço IPv4. Observe que o Teredo é habilitado por padrão somente em redes sem domínio, e o Teredo pode não estar disponível se a sua rede bloqueia UDP.

Windows 8 em redes de pilha dual

Durante o período de transição, as redes de pilha dual serão o modelo de implantação comum. Em uma rede de pilha dual, os dispositivos serão configurados com endereços IPv4 e IPv6.

Nosso foco principal durante essa transição sempre foi minimizar o impacto da transição para os usuários diários. Não deve importar se a sua conexão é através de IPv4 ou IPv6. Você deve ter uma experiência de Internet que seja rápida e confiável, com pouca evidência da transição para IPv6, de forma que você possa apenas usufruir do conteúdo.

Ao mesmo tempo, também é prioridade para nós ajudar na transição para o IPv6. Para isso, o Windows prefere conectividade IPv6 nativa em vez de conectividade IPv4, se ambos os modos de conexão estiverem disponíveis.

Em resumo, temos o objetivo duplo de garantir uma experiência de usuário confiável e permitir a transição para o IPv6. Como você deve imaginar, isso pode, às vezes, envolver trocas sutis, o que foi assunto de muito debate na comunidade da Internet.

Em um esforço para resolver essas metas, às vezes, concorrentes, grandes sites em todo o mundo (incluindo Bing.com, Microsoft.com, e Xbox.com) organizaram um evento chamado World IPv6 Day no ano passado. Durante esse teste de um dia da Internet IPv6, os sites participantes ativaram o IPv6 além do IPv4.

A boa notícia é que a maior parte das coisas funcionou. Tudo o que tem a ver com o funcionamento correto da Internet - servidores, dispositivos de usuário final e redes de entrega de conteúdo - funcionou em escala sem problemas.

Entretanto, também observamos que um pequeno subconjunto da população (0,01% do mundo) foi configurado incorretamente com o IPv6, aparentemente devido a um problema de roteador ou de provedor de serviço de Internet. Isso não é nenhuma surpresa, pois o IPv6 é uma tecnologia relativamente nova, e erros acontecem. Mas para os usuários azarados, isso poderia causar um impacto significativo em experiências diárias com a Internet.

Resiliência de engenharia em nossos algoritmos de conectividade para redes de pilha dual

Para que um dispositivo realmente ofereça suporte a redes de pilha dual, os aplicativos devem não somente ser capazes de enviar tráfego com IPv4 e IPv6, mas o sistema operacional devem ser inteligentes o suficiente para saber qual protocolo é apropriado para a tarefa a ser feita. Mais especificamente, como o seu dispositivo deve ter vários endereços IPv4 e IPv6, e como o destino que você está tentando alcançar também deve ter vários endereços IPv4 e IPv6, a pilha deve ser inteligente o suficiente para saber quais endereços de origem e de destino específicos devem ser usados para conectividade. Essa funcionalidade é chamada de classificação de endereços, e é uma área que aprimoramos no Windows 8. A ideia por trás da classificação de endereços é determinar qual par de endereços tem possibilidade de produzir a melhor conexão, de forma que o aplicativo não precise esperar.

Quando o Windows tenta se conectar a um site de pilha dual, o Windows classifica seus próprios endereços IP e os do site para decidir que par deve ser usado para fazer a conexão. (Para conjuntos de padrões, a classificação é padronizada no RFC 3484.)

Abaixo há um diagrama mostrando como o Windows usa a classificação de endereços.

1 - Conectividade de solicitações de aplicativo a www.xbox.com. 2 - O Windows envia consultas de DNS para resolver www.xbox.com em endereços IP. 3 - O Windows classifica as respostas do servidor DNS usando um algoritmo definido na RFC 3484. 4 - O Windows conecta-se ao servidor Web, usando o primeiro endereço na lista classificada.

     

Tradicionalmente, a classificação de endereços conta com o fato de o Windows estar configurado corretamente por seu roteador. O Windows analisa as informações de roteamento fornecidas pelo roteador e usa essas informações junto com a classificação de endereços para garantir a conectividade rápida para recursos nomeados. O padrão RFC 3484 especifica que o IPv6 deve ser preferido, caso ele esteja configurado por seu roteador.

O World IPv6 Day mostrou que alguns clientes foram configurados com as informações de roteamento IPv6, mas eles não possuem realmente a conectividade IPv6 com a Internet. Isso parece ser o resultado de uma configuração errada feita por alguns Provedores de Serviço de Internet ou roteadores domésticos com problemas. O Windows tenta se conectar a sites usando IPv6, esperando que ele funcione, mas não funcionará! Finalmente, o Windows detecta que a tentativa de conexão falhou e volta para a conectividade IPv4. Entretanto, para os usuários, a conectividade a sites de pilha dual pode ser atrasada em 10 a 15 segundos. Isso obviamente causa um problema para navegadores da Web, mas qualquer aplicativo conectado à rede enfrenta esse problema.

Quando procuramos criar uma solução para esse problema, tivemos que considerar dois problemas importantes. Primeiro, muitas empresas implementam topologias de roteamento complexas. Tivemos que garantir que nossa alteração não interromperia a conectividade nesses ambientes. Segundo, precisamos de uma solução que funcionasse não apenas para o Internet Explorer mas também para todos os outros aplicativos que estão contando com o Windows para ajudá-los a se conectar a recursos da rede. Esses aplicativos contam conosco para permanecer inteligentemente conectados durante a transição para o IPv6. Nossa solução precisava lidar com as necessidades dos aplicativos de área de trabalho existentes, assim como novos aplicativos estilo Metro.

O Windows 8 testa a conectividade IPv6 quando você se conecta a uma nova rede que anuncia a rotabilidade de IPv6, e ele apenas usará o IPv6 se a conectividade IPv6 estiver realmente funcionando. Esta abordagem é uma modificação de nossa implementação do RFC 3484. Em vez de classificar endereços como um resultado da política, usamos o estado real da rede como entrada para nosso algoritmo. Em uma rede configurada incorretamente, essa abordagem aprimora a experiência não apenas para navegadores, mas também para aplicativos que se conectam a destinos de pilha dual usando APIs do Windows padrão.

O Windows 8 realiza o teste de conectividade de rede quando você se conecta a uma nova rede pela primeira vez; ele armazena essas informações em caches e repete o teste a cada 30 dias. O teste real da conectividade é um simples HTTP GET para um servidor apenas IPv6 que é hospedado pela Microsoft. (Por padrão, a implementação é feita entre as regras 5 e 6 da classificação de endereços de destino em nossa implementação do RFC 3484.) O Windows realiza um teste de conectividade de rede semelhante da conectividade IPv4. Se o IPv4 e o IPv6 estiverem funcionando, o IPv6 será preferido.

Para garantir que o Windows 8 não cause problemas nas redes corporativas, a funcionalidade possui duas garantias:

  • Se a empresa tiver fornecido informações de roteamento específicas para um destino particular, então o Windows 8 honrará essa preferência, independentemente da conectividade determinada pelo Windows. Em ambientes corporativos, o Windows presume que os administradores de rede que configuraram tais rotas pensaram especificamente que era uma boa ideia usar essas rotas.
  • Essa alteração não foi implementada em redes com proxies da Web. Nessas redes, o proxy fornece conectividade à Internet; portanto, o teste de ponta a ponta da conectividade IPv6 não é útil. Em vez disso, o Windows 8 simplesmente abre as conexões ao proxy da forma mais eficaz possível.

Dessa forma, garantimos que os aplicativos e as experiências no Windows 8 podem continuar conectados de forma confiável e rápida à Internet durante a transição para o IPv6, mesmo que a sua rede local esteja mal configurada.

Pronto para o futuro das redes apenas IPv6

Em uma rede apenas IPv6, a melhor forma de aprimorar a experiência de um usuário é aumentar o número de serviços e experiências que estão disponíveis via IPv6. Em uma rede como essa, o acesso à Internet IPv4 é através de um NAT64. Esses dispositivos podem ser um ponto frágil de falha de conectividade, e podem ter limitações graves de desempenho que causam a remoção de pacotes. Eles também interrompem a conectividade ponto a ponto do IPv4, necessária para alguns jogos com vários jogadores.

Na Microsoft, tivemos muito trabalho para possibilitar o crescimento das implantações de IPv6, em configurações corporativas e de Internet. Um dos nossos esforços mais importantes é garantir que os nossos produtos de servidor deem suporte a IPv6. O suporte a IPv6 é parte de nossos Critérios de Engenharia Comuns (CEC). Isso é parte de um compromisso de toda a empresa com os clientes de que nossos produtos comerciais, tais como o Exchange Server e o SharePoint, dão suporte a IPv6 em configurações de pilha dual ou apenas IPv6. A maioria dos produtos da Microsoft criados desde 2007 oferecem suporte a IPv6, mas você pode descobrir sobre suporte a IPv6 em outros produtos da Microsoft no Technet. Através desse esforço, os desenvolvedores e os provedores de soluções podem dar suporte a IPv6 em seus próprios produtos.

World IPv6 Launch Logo

A Microsoft está trabalhando no suporte a IPv6 em nossos próprios serviços. No início deste ano, a Sociedade da Internet anunciou o World IPv6 Launch, uma etapa principal no processo de atualização da Internet para o IPv6. Em junho, o Bing e outros sites começarão a servir o tráfego via IPv6 de forma permanente. Os fornecedores de hardware estão trabalhando no suporte a IPv6 nos dispositivos de roteamento domésticos, e muitos Provedores de Serviço de Internet começarão as implantações em larga escala do IPv6. As CDNs (redes de entrega de conteúdo) também começaram a habilitar o suporte a IPv6 em suas redes.

Com o lançamento do Windows 8, alguns dos nossos serviços de infraestrutura implantarão o suporte a IPv6.

O Windows Update é um serviço crucial que oferece suporte contínuo e atualizações para milhões de usuários todos os dias. Cada vez mais PCs estarão conectados a redes de banda larga móveis, onde apenas o IPv6 é uma configuração popular. Temos que garantir que os downloads estejam disponíveis para você de forma confiável em nossas redes.

Por isso, o serviço Windows Update agora oferece suporte a IPv6 e IPv4. O Windows Update utiliza CDNs para distribuição internacional de atualizações e estamos fazendo parceria com elas para habilitar o suporte a IPv6. O Windows 8 usará IPv6, se disponível, para baixar atualizações do Windows Update de forma que os usuários sempre obtenham a melhor conectividade possível.

Estamos trabalhando com CDNs para estender o suporte a IPv6 além do Windows 8. Quando esse trabalho estiver concluído, inclusive o Windows 7 e o Windows Vista usarão automaticamente o IPv6, onde ele estiver disponível, para se conectar ao Windows Update.

Liderando o caminho

O Windows 8 está conectado e pronto para ser usado, e nosso suporte a IPv6 é fundamental para garantir essa conectividade pelos próximos anos. Como o IPv4 não foi projetado para lidar com a escala de conectividade de hoje em dia, a Internet está passando por uma mudança radical em suas bases. Cada conexão a cada site, cada jogo de vários jogadores e cada chamada de vídeo moverão gradualmente para o IPv6.

Como parte dessa transição, a Microsoft está liderando o caminho, garantindo que o Windows 8 forneça a conectividade mais resiliente à Internet enquanto fornece produtos e serviços prontos para IPv6.

- Chris