2

Question title describes itself clearly

1
  • 1
    Have they anything in common? :p
    – EBAGHAKI
    Dec 9, 2009 at 0:40

3 Answers 3

3

The simplest answer is that port-forwarding (as in NAT) is generally transparent to the client, while a SOCKS (or HTTP) proxy requires the client to explicitly use the proxy protocol.

2

I agree with the above definitions, though I'd add that NAT and Proxies have a very different purpose. NAT is simply routing: there is no caching, and there is no real "oversight" for lack of a better word. Proxies are put in place for caching, monitoring, traffic shaping. They are very much about control.

So NAT has very little overhead, but doesn't offer many options, while proxies have a much higher overhead (sometimes massively higher), but allow a lot of control.

1

A NAT device performs "address translation" (tuple [TCP/UDP port:IP address] to another tuple) whereas a proxy terminates (in networking terms) a protocol layer, performs adaptation (again in networking terms) and rebuilds another a connection towards the destination.

In other words, a NAT tries to be as "transparent" to the client protocol as can be whereas a PROXY is really "two connections back-to-back" (same or different protocols on each side).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .