NAT – Network Address Translation

18:49 em Redes por Artigos Online

Universidade Estadual do Piauí (UESPI)
Pró-­Reitoria de Pesquisa e Pós­-Graduação (PROP)
Coordenação Geral da Pós­-Graduação (CGPG) ­
Pós-­Graduação em Lato Sensu ­Especialização em Redes de Computadores
Teresina-­Piauí – Brasil – 2009

Abstract. The NAT protocol is responsible for validation of local IP’s (non­valid) into global IP’s (valid) on the traffic between private network (local network) and external network (Internet). This article  shows the performance of the protocol in the edge  routers and how you can make the translation of the router’s internal IP, or inside the network. Therefore, there is congestion at the edge router. The tests were performed in  scenarios of a Base Station for Internet Service Transmission to the Community. All the  local network services were configured through the  MikroTik RouterOStm, a versatile software   for  router   configuration   that   presents  Ethernet  support,  Wireless  support, Static and Dynamic Routers, among other features. Based on the results found figures and  tables were generated. Data were analyzed through the minimum,  average and maximum delays and through sent, received and lost packets.

Keywords: Internet, IP address, local network, external network, local IP, global IP,  router, NAT, packets.

Resumo. O protocolo NAT é responsável pela validação de IP’s locais (não­-válidos)  para IP’s globais (válidos) no tráfego entre rede privada (rede local) e rede externa (Internet).  Este artigo mostra o desempenho do protocolo em roteadores de borda e como é possível fazer a tradução dos IP’s nos roteadores internos, ou seja, dentro da  própria rede. Com isso, há um descongestionamento no roteador de borda.  Os testes  foram realizados em cenários de uma Estação Base para Transmissão de Serviços de Internet para a Comunidade. Todos os serviços da rede local foram configurados através de MikroTik RouterOStm. Um software versátil para configuração de roteadores,  com suporte Ethernet, Wireless, Roteamento Estático e Dinâmico, entre várias outras  funcionalidades. Com base nos resultados encontrados, foram gerados figuras e tabelas, sendo analisados os dados através dos atrasos mínimos, médios, máximos e pacotes enviados, recebidos e perdidos.

Palavras­-Chaves: Internet, endereço IP, rede local, rede externa, IP local, IP global,  roteador, NAT, pacotes.

1. Introdução

A grande rede mundial de computadores: a Internet, são redes interligadas em redes formando uma grande teia. Este serviço vem sendo utilizado por novos milhares de computadores a cada dia. No surgimento não havia proporções de ganhar tantas conexões simultâneas como nos dias de hoje.
Naquela década eram poucas máquinas ligadas a grande rede. A cada máquina conectada é  gerado um endereço único que classificamos de IP (Internet Protocol).
Um endereço IP é composto de uma sequência de 32 bits [6], divididos em quatro grupos de 8 bits cada, onde esses grupos recebem o nome de  octeto.  Atualmente  utilizamos a versão de protocolo IPv4 para tráfego dos pacotes na rede. Existem números de IP’s suficientes para atender a demanda atual, mas com o aumento de novos milhares de computadores se conectando a cada dia, não  teremos  mais IP’s suficientes para atender a demanda mundial. Novos estudos estão sendo realizados para solução desse problema.
O surgimento da versão IPv6 é uma dessas soluções. Este novo protocolo será capaz de suprir a demanda de números  de IP’s nas próximas décadas, pois ele aumenta o espaço de endereçamento para 128 bits [6]. Como esse protocolo ainda não está em operação, pois requer tempo e muitos testes para empregar algo com tanta importância. Os problemas de IP’s do protocolo atual (IPv4)  estão sendo resolvidos de duas maneiras, através de Proxy e NAT.
A saber, o Proxy [4][6]  é  o termo utilizado para definir os intermediários entre o computador do usuário e o servidor de acesso. Desempenha a função de conexão do computador privado (rede local) à Internet (rede externa). Como os endereços locais dos computadores não são válidos para acessos externos, cabe ao proxy enviar a solicitação do endereço local para o servidor de acesso, traduzindo e repassando­o para o computador. Todas as requisições feitas ao servidor passarão pelo proxy. Ao chegar as informações, o IP do proxy fica registrado no cache do destino e não no computador que solicitou a informação. Neste caso, tem­se o acesso a Internet com o gasto de um IP global (IP válido) para um n­números de IP’s locais (IP’s não­-válidos).
O NAT [4][6], objeto deste estudo, é uma técnica que consiste em reescrever o endereço IP de origem de um pacote que passa sobre um roteador ou firewall de maneira que um computador de uma rede local tenha acesso a uma rede externa. Além de fazer economia de endereços IP’s, ele é responsável por manter a rede local transparente. O NAT está definido na RFC 1631 [5].
Este artigo mostra a tradução de IP’s em roteadores internos, muito útil em redes pequenas com apenas uma saída externa. Nas pequenas redes, normalmente o NAT fica configurado em um roteador de borda ou firewall. O estudo apresentado,  demonstra   que é possível criar rotas específicas entre roteador de borda e roteador interno para determinados hosts dentro da rede ou para uma sub­-rede. Com isso, pode­se reduzir o congestionamento nos roteadores de borda.

2. Fundamentação Teórica

Sendo uma das soluções que existem para a economia de endereços IP’s, o NAT é um tradutor de endereços de redes locais que visa minimizar a escassez dos endereços IP’s na  Internet. Para o tradutor funcionar é preciso usar endereços IP’s privados, tais endereços só podem ser utilizados em redes locais, pois não são propagados pela Internet.
A tradução pode ocorrer de forma estática, onde se estabelece uma relação entre endereços locais e endereços da Internet; ou dinâmica, onde o mapeamento de endereços locais e endereços da Internet são feitos conforme a necessidade de uso.

2.1. Traduções Estáticas com NAT

É feita quando disponibilizamos serviços na rede local, como exemplo, um website. Nesse caso, quando o pedido de conexão chega ao roteador, o NAT consulta a tabela de endereços e transcreve para o IP interno correspondente, permitindo assim, que seja possível fazer uma conexão no sentido da Internet para a rede local.

Figura 1. Tradução de IP válido (rede externa) para IP inválido (rede local)

2.2. Traduções Dinâmicas com NAT

É feita quando se pretende dar acesso aos computadores no sentido da rede local para Internet. O computador da rede local faz uma requisição que passa pelo roteador, o mesmo aloca em sua tabela o endereço do computador interno que requisitou a informação e o endereço de Internet configurado no roteador (esse endereço pode ser único ou uma faixa de endereços), e quando os dados retornam da Internet, o NAT consulta a tabela de traduções e responde ao computador que fez a requisição.

Figura 2. Tradução de IP inválido (rede local) para IP válido (rede externa).

3. Cenários e Simulação

Os testes foram realizados em uma rede local com transmissão de serviços de Internet. A rede local era composta por duas sub­redes, uma Ethernet e outra Wireless. Todos os serviços da rede local foram configurados através de MikroTik RouterOStm [1]. Um software versátil para configuração de roteadores, com suporte Ethernet, Wireless, Roteamento Estático e Dinâmico, entre várias outras funcionalidades.

Figura 3. Arquitetura da Rede Local (cenários das simulações).

Foram gerados dois cenários dentro da rede local para realização dos testes. O primeiro cenário com uma sub­rede Ethernet interligada a rede principal através de um Roteador. Os pacotes eram enviados para o roteador interno que os encaminhava para o MikroTik RouterOStm (roteador de borda),  responsável por todo o controle de acesso a rede externa (Internet). Assim, os  pacotes enviados para fora da rede local, passavam pelo MikroTik RouterOStm. O mesmo analisava os pacotes e fazia a tradução dos endereços IP’s dos hots através do protocolo NAT configurado no Firewall. Sendo possível o tráfego dos pacotes da sub­-rede Ethernet com a rede exterior.
A grande mudança realizada neste cenário foi a configuração de uma nova rota entre o roteador de borda (MikroTik RouterOStm) e o roteador interno, sendo autenticada no Firewall do MikroTik RouterOStm. O host da sub­-rede ethernet  faz uma requisição   que  passa pelo roteador interno, o mesmo aloca em sua tabela o endereço do  host  local que requisitou a informação e o endereço de destino na Internet. Em seguida o endereço do host local é mascarado com o gateway do roteador de borda, que se encontra mascarado com o IP válido. Os pacotes são encaminhados ao MikroTik RouterOStm  que os envia para a rede externa. Os dados ao retornarem da  Internet, são aceitos pelo MikroTik RouterOStm  e o NAT consulta a tabela de traduções no roteador interno e os encaminha ao host local que fez a requisição.

Figura 4. Cenário 1 ­- Tradução com NAT na Sub­Rede Ethernet.

O segundo cenário composto por uma sub­-rede Wireless [2][7] interligada a rede principal através de Cartões MiniPCI (Wlan’s) [3], próprios para uso de roteadores com MikroTik RouterOStm.
Os pacotes ao chegarem  nos Cartões MiniPCI,  eram encaminhados ao roteador  MikroTik RouterOStm, responsável por todo o controle de acesso a rede externa (Internet). O mesmo analisava os pacotes e fazia a tradução dos endereços IP’s dos  hosts  através do protocolo NAT dentro do Firewall do roteador. Sendo possível o tráfego dos pacotes da sub­-rede Wireless com a rede exterior.
A mudança realizada neste cenário foi igual a do cenário anterior. Sendo criado uma outra rota entre o roteador de borda (MikroTik RouterOStm) e os Cartões MiniPCI (roteador interno) e sendo autenticada no Firewall do MikroTik RouterOStm. Os   precedimentos de validação dos endereços seguem o mesmo padrão do cenário anterior, onde o host da sub­-rede wireless que faz a requisição passa pelo roteador interno e o mesmo aloca em uma tabela o endereço do host local e o endereço de destino na Internet. Em seguida o endereço do host local é mascarado com o gateway do roteador de borda, que se encontra mascarado com o IP válido. Os pacotes são encaminhados ao MikroTik RouterOStm  que os envia para a rede externa. Os dados ao retornarem da  Internet, são aceitos pelo MikroTik RouterOStm  e o NAT consulta a tabela de traduções no roteador interno e os encaminha ao host local que fez a requisição.

Figura 5. Cenário 2 ­ – Tradução com NAT na Sub­Rede Wireless.

Em ambos os cenários, foram transmitidos Packet Count (Quantidade de Pacotes) iguais, considerando as mesmas configurações como Timeout (Tempo de Saída), Packet Size (Tamanho dos Pacotes) e TTL (Time To Live). Assim, pôde­-se comparar com exatidão a performance das transmissões e traduções dos IP’s pelo protocolo NAT à rede externa.
Baseados nos testes realizados, foram gerados figuras, tabelas e gráficos, sendo analisados os dados através dos atrasos mínimos, médios, máximos e pacotes enviados, recebidos, perdidos ou descartados.

4. Resultados

Os dados coletados após os testes realizados serviram para análise de desempenho da tradução de IP’s locais (não­-válidos) pelo protocolo NAT dentro das sub­-redes e no roteador de borda da rede principal para acesso a rede externa (Internet), tornando­-os IP’s globais (válidos).

Tabela 1. Transmissão de Pacotes da Sub­-Rede Ethernet com Tradução NAT no Roteador de Borda.

A Tabela 1 mostra os resultados encontrados na tradução dos pacotes no roteador de borda da sub­-rede Ethernet para acesso à rede externa.
Houve transmissão de 10 (dez) hosts da sub­-rede Ethernet. Os resultados médios são: 3,8 pacotes perdidos, atraso mínimo de 216,6ms, médio de 248,2ms e  máximo de 939,7ms.

Tabela 2. Transmissão de Pacotes da Sub­-Rede Ethernet com Tradução NAT no Roteador Interno.

A Tabela 2 mostra os resultados encontrados na tradução dos pacotes no roteador interno da sub­-rede Ethernet para acesso à rede externa.
Houve transmissão de 10 (dez) hosts da sub­-rede Ethernet. Os resultados médios são: 1,5 pacotes perdidos, atraso mínimo de 195,5ms, médio de 214,5ms e  máximo de 825,8ms.

Tabela 3. Transmissão de Pacotes da Sub­-Rede Wireless com tradução NAT no Roteador de Borda.

A Tabela 3 mostra os resultados encontrados na tradução dos pacotes no roteador de borda da sub­-rede Wireless para acesso à rede externa.
Houve transmissão de 8 (oito) hosts da sub­r-ede Wireless. Os resultados médios são: 23,3 pacotes perdidos, atraso mínimo de 235,6ms, médio de 274,0ms e  máximo de 982,2ms.

Tabela 4. Transmissão de Pacotes da Sub­-Rede Wireless com tradução NAT no Cartão MiniPCI (Wlan’s).

A Tabela 4 mostra os resultados encontrados na tradução dos pacotes no Cartão MiniPCI (Wlan’s) da sub­-rede Wireless para acesso à rede externa.
Houve transmissão de 8 (oito) hosts da sub­-rede Wireless. Os resultados médios são: 16,8 pacotes perdidos, atraso mínimo de 196,6ms, médio de 259,5ms e  máximo de 876,0ms.

5. Conclusão sobre os Testes

Os resultados obtidos foram todos apresentados no item 4 e serviram para análise final do estudo.
Todos os pacotes tiveram seus parâmetros de configuração iguais nas transmissões dos dois cenários. Abaixo é apresentado uma tabela resumo com os resultados obtidos.

Tabela 5. Médias dos Resultados Obtidos nas Transmissões dos Dois Cenários.

Comparando os resultados de ambos os cenários, observa­-se que a sub­-rede Wireless tem um desempenho menor que a sub­-rede Ethernet. Isso é esperado por se tratar de conexões sem fio, onde há uma interferência maior no meio, ocasionando uma perda maior de pacotes.
Deve­-se analisar os desempenhos comparando a utilização do NAT no roteador de borda e no roteador interno de cada sub­-rede.   No Cenário 1, quando a tradução é feita internamente (roteador interno) temos um melhoramento na taxa de transmissão, onde há uma média melhor no aproveitamento dos pacotes recebidos. O mesmo acontece no Cenário 2, onde há também uma média melhor no recebimentos dos pacotes.

Gráfico 1. Visualização do ambiente gráfico do MikroTik RouterOStm início das transmissões.

Gráfico 2. Visualização do ambiente antes do  gráfico do MikroTik RouterOStm  durante as transmissões.

Os gráficos acima, mostram as transmissões de alguns pacotes em um dos cenários. Nota­-se que no Gráfico 1 não há transmissão. No Gráfico 2 há alterações durante a transmissão. Percebe­-se ainda a quantidade de pacotes enviados e recebidos por segundos, além da quantidade de bytes.

6. Conclusões Finais

Conclui­-se que a tradução  dos  pacotes  nos  rotadores  internos  de  cada sub­-rede reduz   a sobrecarga do roteador de borda, fazendo com que haja um melhoramento na transmissão. Com isso, o roteador de borda fica isento da responsabilidade em controlar os pacotes que entram e saem da rede local para rede externa ou vice­-versa.

7. Trabalhos Futuros

Desenvolver e implementar novas técnicas de desempenho com o protocolo NAT em diferentes ambientes.
Realizar estudos e simulações de testes com o protocolo IPv6, além de fazer implementações do NAT com esse protocolo.

8. Bibliografia

[1] Ankaa – Wireless Solutions, disponível em http://www.ankaa.com.br/, acessado em dezembro de 2008.

[2] CORRÊA, U. et al. Redes Locais Sem Fio: Conceitos e Aplicações. In: IV Escola Regional de Redes de Computadores. Passo Fundo, Brasil. 2006.

[3] FUSCO, Vincent F. “Teoria e técnicas de antenas: princípios e prática”;  1a edição – Porto Alegre: Bookman, 2006.

[4] MORIMOTO, Carlos E. “Redes e Servidores Linux: guia prático”. 2a edição – Porto Alegre: Sul Editores, 2006.

[5] Normes  internet – Les standards qui font internet, disponível em http://www.normes­internet.com/normes.php?rfc=rfc1631&lang=pt, acessado em dezembro de 2008.

[6] TANENBAUM, Andrew S. “Redes de Computadores”. Tradução da 4a edição, 8a tiragem – Rio de Janeiro: Editora Campus, 2003.

[7] Wireless IP, disponível em http://www.wirelessip.com.br/wirelessip/, acessado em dezembro de 2008.