Por que temos NAT se pudéssemos apenas atribuir um endereço IP público?

6

Se o bloco de endereço privado for usado simplesmente para permitir que o roteador determine onde os pacotes podem e não podem ser encaminhados (porque os endereços privados precisam ser únicos em sua própria rede, mas podem se repetir em redes diferentes), por que você precisa de um serviço de tradução de endereços de rede?

Por que você simplesmente não ignora o endereço privado e atribui um endereço público se o host precisa se conectar a uma rede?

Obrigado a todos, a resposta é muito mais clara agora. O raciocínio para os endereços privados tinha me escapado, e eu estava confuso por que precisaríamos disso quando tantos endereços IP eram desperdiçados por meio de endereçamento de classes. Eu não entendi (e ainda não entendi) porque não poderíamos ter redesignado os IPs para fazer melhor uso dos endereços que já temos.

    
por Paul Wiklund 06.04.2012 / 19:51

4 respostas

8

Uma razão pela qual a NAT existe é porque, com o IPv4, há um número extremamente limitado de endereços disponíveis (um máximo teórico de cerca de 4,3 bilhões). Por esse motivo, na maioria das circunstâncias residenciais, um provedor de serviços de Internet fornece no máximo um endereço IP público para um assinante por vez. Se você gostaria de enviar e receber pacotes em várias máquinas, é necessário ter algum tipo de conversão local-pública, ou seja, NAT.

O IPv6 mudará tudo isso, pois deve haver algo como milhares ou milhões de endereços IP por metro quadrado da superfície da Terra.

    
por 06.04.2012 / 20:00
13

Why wouldn't you just skip the private address altogether and assign a public one if the host needs to connect to a network?

Porque não há endereços públicos suficientes no IP versão 4 para dar a cada dispositivo conectado à Internet um endereço exclusivo. É por isso que a versão 6 do IP usa mais bits para o intervalo de endereços e tem mais endereços.

Os blocos de endereços particulares não devem ser roteados pela Internet pública (isso é o que os torna "privados"). Como há apenas três blocos privados com um número relativamente pequeno de endereços dentro deles, eles têm a garantia de serem reutilizados por qualquer pessoa e todos que possuam uma rede privada (os endereços privados SÓ precisam ser unidos em uma rede privada, mas outra rede privada pode reutilize os mesmos endereços). Então você não pode simplesmente colocar os blocos de endereços privados "lá fora" - eles entrarão em conflito com alguém que esteja usando o mesmo bloco em outro lugar.

Então é por isso que o NAT é necessário.

Para responder diretamente à sua última declaração, se você tiver endereços públicos suficientes disponíveis para você, não será necessário NAT para enviar e receber tráfego. O NAT não é necessário por esse motivo se você não estiver tentando "salvar" endereços IP. Para completar, direi o seguinte: algumas pessoas confiam nos seguintes efeitos colaterais do NAT por motivos de segurança e isso pode ser um motivo para optar por usá-lo, mesmo se você tiver endereços IP públicos suficientes:

  • os usuários por trás de um NAT não podem receber conexões de entrada, a menos que o tráfego de entrada seja explicitamente encaminhado para eles pelo roteador
  • já que o tráfego de saída do NAT parece para sistemas externos que vem do IP do roteador, isso oculta detalhes das máquinas por trás do NAT de sistemas externos, ou seja, quantas máquinas, seus IPs privados, etc.

(Pessoalmente eu não confiaria em um NAT para segurança se eu não precisasse disso, mas YMMV)

    
por 06.04.2012 / 20:00
3

Não há uma quantidade infinita de endereços IPv4, o que, por sua vez, fez com que o ISP não quisesse fornecer vários endereços aos seus clientes (sem taxas extras). Assim, todos recebem um endereço IP público (muitas vezes nem estático, para também oferecer isso por um preço premium), e quando vários dispositivos domésticos se tornaram a norma, o roteamento NAT foi a solução que se tornou padrão . Fabricantes de hardware se alegraram :-).

Essa é a parte econômica do motivo pelo qual "precisamos" da tradução do NAT e, pelo menos em uma escala de usuários domésticos, acredito que tenha sido o motivo principal.

Quando o IPv6 atingir um grande número, tudo deverá ter um endereço único publicamente roteável. Isso vai acontecer em algum momento, definitivamente dentro de 10 anos, talvez dentro de 5. Se algo é certo, é que somos notoriamente ruins em prever o avanço disso :-).

    
por 06.04.2012 / 19:58
1

Além da falta de IP , há outro motivo importante: segurança.

Vamos imaginar uma grande empresa com 10k + computadores. Se todos eles usam IP real, todos os 10k + podem ser atacados de qualquer lugar, então admin ... oh, não: 1k + admins devem gastar seu tempo para consertar, consertar e dar um tapa nas mãos brincalhonas dos usuários.

Com IPs cinza, eliminamos metade do perigo ou talvez mais.

    
por 06.04.2012 / 21:27