IPv6 – 4rd
O 4rd é uma solução similar ao DS-Lite, no sentido de que usa túneis 4in6 para fornecer IPs versão 4 compartilhados para usuários que já têm IPv6 nativo. Mas, de forma análoga às técnicas de tradução dIVI e 464XLAT, o 4rd é stateless e usa compartilhamento de IPs com restrição de portas.
A técnica foi desenvolvida com base no 6rd, que será estudado mais à frente, e está em processo de padronização, definida atualmente no draft-despres-intarea-4rd-01. Existe uma implementação pública que funciona no vyatta e pode ser encontrada no seguinte URL: http://bougaidenpa.org/masakazu/archives/176. Produtos da linha SEIL do provedor japonês IIJ também implementam o protocolo.
A figura a seguir ilustra uma situação típica de uso do 4rd.
Figura 35: 4rd
É importante considerar que o 4rd, além de distribuir IPs versão 4 compartilhados com A+P, pode também distribuir IPs válidos sem restrição de portas, para cada CPE, além de subredes IPv4.
A figura abaixo representa a forma como os endereços IPv4 e IPv6 são mapeados 1:1, para o caso em que os endereços IPv4 são compartilhados com A+P. Perceba que o mapeamento é stateless:
Figura 36: Tradução de endereços feita pelo 4rd
Para o mapeamento das portas, regras simples foram estabelecidas. As portas baixas, de 0 a 4096, nunca são designadas a um cliente. O tamanho do port-set-ID pode ir de 1 a 15 bits. Os clientes podem receber de 1 a 4 blocos diferentes de portas, de tamanhos variados, conforme o tamanho do port-set-ID. Os 16 bits de cada porta disponível são definidos da seguinte forma:
- 1o. bloco: 0001 + port-set-ID (n=1 a 12 bits) + sufixo (que varia de 0 a 12-n)
- 2o. bloco: 001 + port-set-ID (n=1 a 13 bits) + sufixo (que varia de 0 a 13-n)
- 3o. bloco: 01 + port-set-ID (n=1 a 14 bits) + sufixo (que varia de 0 a 14-n)
- 4o. bloco: 1 + port-set-ID (n=1 a 15 bits) + sufixo (que varia de 0 a 15-n)
Note que se o port-set-ID tiver 15 bits, apenas um bloco estará disponível, se tiver 14 bits, 2 blocos, se tiver 13 bits, 3 blocos, e se tiver de 1 a 12 bits, 4 blocos de portas estarão disponíveis.
A tabela a seguir mostra a quantidade de CPEs possível para cada escolha, assim como a quantidade de portas disponíveis para cada uma, para um mesmo IPv4 compartilhado.
tamanho doport set (bits) | qtd de ID’s(CPEs) | Head=00011o. bloco | Head=0012o. bloco | Head=013o. bloco | Head=14o. bloco | totalde portas | portasnão utilizadas |
1 | 2 | 2048 | 4096 | 8192 | 16384 | 30720 | 4096 |
2 | 4 | 1024 | 2048 | 4096 | 8192 | 15360 | 4096 |
3 | 8 | 512 | 1024 | 2048 | 4096 | 7680 | 4096 |
4 | 16 | 256 | 512 | 1024 | 2048 | 3840 | 4096 |
5 | 32 | 128 | 256 | 512 | 1024 | 1920 | 4096 |
6 | 64 | 64 | 128 | 256 | 512 | 960 | 4096 |
7 | 128 | 32 | 64 | 128 | 256 | 480 | 4096 |
8 | 256 | 16 | 32 | 64 | 128 | 240 | 4096 |
9 | 512 | 8 | 16 | 32 | 64 | 120 | 4096 |
10 | 1024 | 4 | 8 | 16 | 32 | 60 | 4096 |
11 | 2048 | 2 | 4 | 8 | 16 | 30 | 4096 |
12 | 4096 | 1 | 2 | 4 | 8 | 15 | 4096 |
13 | 8192 | – | 1 | 2 | 4 | 7 | 8192 |
14 | 16384 | – | – | 1 | 2 | 3 | 16384 |
15 | 32768 | – | – | – | 1 | 1 | 32768 |
Figura 37: Modos de compartilhamento de portas
A configuração dos CPEs pode ser feita manualmente, mas a proposta também define uma opção de configuração via DHCPv6, que pode ser utilizada.
Assim como as técnicas dIVI e dIVI-pd, a técnica 4rd tem características praticamente ideais para uso por provedores de acesso, por isso seu desenvolvimento e padronização devem ser acompanhados com muita atenção:
- opera com base em redes somente IPv6, que é para onde caminha a Internet;
- utiliza traduções stateless, que são simples de implementar e baratas do ponto de vista computacional, permitindo boa escalabilidade;
- permitem conexões em ambos os sentidos, mantendo a conectividade de fim a fim;
- quando necessário o uso de técnicas statefull, para restrição de portas e compartilhamento via NAT44, isso é feito no lado do usuário, mantendo o princípio de que a complexidade na Internet deve estar na extremidades e não próxima ao core da rede;