Quem sou eu

Minha foto
Salvador, BA, Brazil
Analista de sistemas, expert em telecom, formado em Eng. Elétrica e nerd assumido

terça-feira, 8 de novembro de 2011

IPv6 e as redes de acesso HSPA/HSPA+

Eu sei que ainda estou devendo para vocês o exemplo prático do algoritmo de planejamento de capacidade, mas a notícia que eu vi hoje, falando da preparação da TIM para o uso do protocolo IPv6, me causou uma preocupação: até que ponto o pessoal de marketing está consciente do que está fazendo ao usar este tipo de migração da rede como argumento para fazer posicionamento?

Migrar o serviço de acesso à internet de uma operadora celular 3G para IPv6 tem uma série de aspectos peculiares, além daqueles que afetam a migração de qualquer ISP para o IPv6. Talvez o maior deles seja o problema dos PDP contexts.

Para entender este problema temos que entender antes como funciona o acesso de um dispositivo móvel à Internet através de uma rede celular 3G. A figura abaixo dá um sumário disso.


Uma conexão PSD (Packet-Switching Domain) ocorre entre o UE (user equipment) e o GGSN (Gateway GPRS Support Node - eu sei... embora estejamos falando de HSPA e HSPA+, o nome do gateway ainda refere-se ao velho GPRS). Fisicamente essa conexão é mediada pelo Node-b onde o UE estiver concectado e pela RNC (Radio Network Controller) onde o Node-b estiver registrado. Como o UE é móvel, tanto o Node-B quanto a RNC que atendem o UE podem mudar ao longo da duração da conexão. Faz parte do processo de handover manter a conexão física UE-GGSN estável durante as trocas de Node-b e/ou RNC.

Logicamente a conexão UE-GGSN é associada a uma entidade chamada PDP (Packet Data Protocol) context. Na prática o PDP context funciona como um túnel lógico, e se comporta como se fosse uma interface de nível 2 para cada um dos equipamentos nas extremidades.

E isto é um problema por quê? Porquê, até que se complete a transição de todos os sites, serviços e aplicações da Internet para IPv6, nós teremos que conviver com duas Internet separadas logicamente: A Internet "clássica" IPv4 e a nova Internet IPv6. O processo de transição vai passar por duas etapas distintas, e nós estamos começando a entrar na primeira delas. E não tem prazo definido para a duração de cada fase.



A única forma prática (e recomendada pela IETF - Internet Engineering Task Force) para conviver com este processo de migração é que todos os hosts conectados possuam as duas pilhas de protocolos, IPv4 e IPv6 funcionando simultaneamente. Esta estratégia é chamada de dual-stack, e funciona da seguinte forma (para entender a figura você tem que ter familiaridade com o modelo TCP/IP)..


Desta forma cada host pode ter acesso às duas "Internets" enquanto durar a transição. Mas continua a regra: uma aplicação v4 não consegue dialogar diretamente com uma aplicação v6, e vice-versa. Vejamos as consequências disso para o modelo operacional da nossa rede de acesso 3G HSPA ou HSPA+.

Cada PDP context só pode estar associado a um único protocolo de nível 3. Portanto se o UE e o GGSN tem que funcionar em modo dual-stack, cada conexão PSD vai precisar de dois PDP contexts: um para o IPv4 e outro para o IPv6. Isto vai ter consequências em termos de memória e capacidade de processamento da platafoma que suporta o GGSN, e vai resultar em mais sinalização entre UE / Node-b / RNC / GGSN, o que pode ser problemático na HMM de algumas células. Portanto o planejamento de capacidade da interface aérea e do backhaul dos cell-sites tem que considerar esta carga extra.

Outra coisa é que, em geral, os fornecedores de soluções de GGSN cobram da operadora por número máximo de PDP contexts abertos (ativos ou dormentes), então tem que haver uma briga comercial feia aqui, senão o preço do GGSN vai quase dobrar de uma hora para outra.

E, como dizem os anúncios das Organizações Tabajara (do Casseta e Planeta), não é só  somente isso: ainda é muito incipiente a disponibilidade de UEs (exceto notebooks e desktops) capazes de funcionar em modo dual-stack. Mesmo que a operadora tenha todo o seu lado preparado e testado, poucos UEs estão prontos para desfrutar disso.

Por último temos a questão de como será a conexão, física e lógica, do GGSN às duas Intenets, v4 e v6. A solução mais básica é: duas interfaces físicas separadas (ou, pelo menos, duas interfaces lógicas separadas sobre a mesma interface física), cada uma delas conectada a roteadores diferentes (ou portas físicas ou lógicas diferentes de um mesmo roteador), cada uma delas servindo como uplink para uma das Internets.

Mas, como os diagramas da transição mostram, cada etapa é formada por "ilhas" de uma das Internets conectadas via tunelamento através do "mar" da outra internet (neste momento o IPv4 é o mar, e o IPv6 as ilhas, depois os papéis se invertem). Então existe a questão de quem vai prover o tunelamento do tráfego IPv6  da operadora (na fase 1)?

A resposta mais simples é: o fornecedor do(s) uplinks cuida disso. Neste caso, a depender do grau de separação física e lógica entre as interfaces e uplinks de acesso às Internets, a operadora pode não ter que fazer nada ou pode ter que configurar seu(s) roteadores de borda com as Internets - ou o próprio GGSN, e isso vai ter que ser outro item de negociação com o fornecedor - para fazer o tunelamento do tráfego IPv6 sobre pacotes IPv4. O mecanismo de tunelamento recomendado no momento é o Teredo (RFC 4380, RFC 5991 e RFC 6081).

A figura abaixo mostra o caso onde o tuelamento Teredo é implementado no roteador de borda com a Internet v4.


Esta figura é apenas uma visão simplificada. Ainda teriam que ser acrescentados os inevitáveis Firewalls e servidores DPI (Deep Packet Inspection) e, caso a arquitetura de serviços da operadora os use, servidores CDN (Content Delivery Network).

vocês percebem que isto é apenas um arranhão no problema completo de projetar a migração do acesso aos serviços de acesso a Internet (e aos serviços internos da operadora) para IPv6. E este é o motivo pelo qual achei engraçado a TIM ficar tocando tambores em público. Será que ela já resolveu dodos estes aspectos? Se algum dos leitores tiver conhecimento sobre o assunto e quiser entrar em contato comigo para conversar sobre isso eu agradeço.

7 comentários:

  1. Smolka, a referência de Teredo ser o mecanismo recomendado é do 3GPP ? Porque no mundo IP o Teredo é um mecanismo de transição muito criticado.

    A estratégia que para mim faz mais sentido numa celular é NAT64; a conexão na rede 3G/4G seria v6 apenas, e dali ela seguiria inalterada pelo GGSN para destinos v6, e teria NAT64 no GGSN ou fora dele para ir para a Internet v4.

    ResponderExcluir
  2. Rubens, a questão do que o 3GPP recomenda ou não é mais complicada do que parece. Uma estratégia v6-only nos UEs com NAT64 na saída do GGSN também tem seus problemas.

    Seguinte: este assunto é grande (e suculento) o suficiente para merecer outro post. Deixa eu organizar meus alfarrábios aqui, e logo em seguida publico o que se anda discutindo sobre a migração das redes celulares 3G (no 3GPP eno IETF) ok?

    ResponderExcluir
  3. NAT64 é a melhor solução. Nenhum mistério até aqui.

    ResponderExcluir
  4. Juliano, não tenho certeza se é uma questão de "melhor" ou "menos ruim". Mais sobre isso no próximo post

    ResponderExcluir
  5. Acredito que estejam planejando migrar é a "rede privada" de comunicação, isto é, a comunicação das NodeB até a RNC e talvez da RNC com a MGW e o GG. O serviço para o usuário final permanecerá IPv4.

    ResponderExcluir
  6. Não é só isso não Stefan. Até porque nestes trechos da rede interna o endereçamento IPv4 privado (RFC 1918) dá conta do recado. Não há pressão no address space aí.

    Fato: não existe disponibilidade de endereços IPv4 públicos para atender à demanda crescente de usuários simultaneamente conectados.

    Fato: o GTP (GPRS Tunneling Protocol) pode tranquilamente ser usado para transportar tráfego IPv6 dos usuários encapsulado sobre IPv4 na rede interna entre a RNC e o GGSN. E o mesmo acontece no tráfego entre o UE / Node-b / RNC, só que a pilha de protocolos é mais complexa.

    Fato: o resto do mundo está indo (devagar ou não) para IPv6. Mais cedo ou mais tarde ocorrerá de algum conteúdo altamente desejável para os usuários só ser oferecido em v6. Imagine o dia que o YouTube e/ou o Facebook avisarem: a partir do dia X só aceitaremos tráfego IPv6. Vai acontecer. É só questão de tempo.

    Como não tem endereços v4 públicos suficientes, a saída é atribuir aos usuários endereços v4 privados - um bom chute é o range 10.0.0.0/8, mas aí você vai ter a dor de cabeça de fazer NATv4 sem resolver nada do acesso a conteúdo v6.

    Portanto não adianta se esconder. É melhor levar logo todos os usuários que puderem para v6. O artigo a seguir a esse discute as opções, mas adianto o seguinte: DS-Lite (dual-stack + NATv4) potencialmente é a melhor idéia, se for tecnica e comercialmente possível. Se não, NAT64 + NATv4.

    Parado é que não dá para ficar. Seria burrice, além de causar mal-estar na comunidade dos administradores de AS, já que as operadoras estariam atrasando o ritmo da migração global para o IPv6.

    ResponderExcluir