Como um proxy HTTP é diferente de uma caixa NAT?

2

Um host em uma LAN com IP (porta TCP 10.0.0.1 8888) se conecta a um servidor sem saber que há uma caixa NAT na borda da rede. A caixa NAT é burra e apenas traduz a porta 8888 para alguma outra porta 5555 e muda o IP para o endereço IP público (digamos 205.209.96.96) e salva em um dicionário a chave, par de valores: (5555,10.0.0.1: 8888) .

Quando recebe uma resposta, faz a tradução reversa e encaminha o pacote de volta ao host. Como a operação de um proxy HTTP é diferente disso? Eu entendo que o proxy pode fazer outras coisas como filtragem, armazenamento em cache, etc, mas como a operação básica do proxy é diferente de uma caixa NAT?

    
por Bruce 04.11.2011 / 06:17

3 respostas

2

O proxy HTTP não funciona para nada, exceto HTTP.

Não funcionará para conexões OpenVPN, não funcionará para tráfego P2P, jogos 3D multiplayer, etc.

O NAT é bom para todos os tipos de TCP do tráfego. Muitos deles também lidam com UDP e ICMP (de maneira limitada, já que o ICMP não tem portas).

    
por 04.11.2011 / 07:55
2

O NAT funciona em um nível de protocolo mais baixo - está apenas reescrevendo o endereço IP e a porta; ele não interrompe a conexão TCP (e, portanto, é mais transparente para os protocolos de nível superior).

Um proxy HTTP faz algo bem diferente: primeiro, a conexão TCP termina aí e abre uma conexão completamente diferente para o host de destino. Segundo, ele faz seu próprio processamento e transformações nas solicitações e respostas HTTP.

    
por 04.11.2011 / 08:50
1

Eles são semelhantes em muitos aspectos, são ambos Gateways. Um proxy HTTP opera no nível de uma solicitação HTTP. Um roteador que executa o NAT opera no nível de conexão TCP / IP. Muitos roteadores de rede também executam ambas as funções.

    
por 04.11.2011 / 06:33