红联Linux门户
Linux帮助

让你更了解路由器的工作原理,PROXY与NAT的原理和区别

发布时间:2011-09-26 15:57:07来源:红联作者:crossbitter
现在越来越多的家庭拥有两台或两台以上的电脑,一般家庭只有一条宽带网接入,如何让多台电脑共享上网,是很多人不得不考虑的问题,家用宽带路由器的出现很好的解决了这个问题.

在internet共享上网技术上,一般有两种方式,一种是proxy代理型,一种是NAT网关型,一般家用路由器(包括我们腾达的路由器)都属于NAT网关型,关于两者的区别与原理,身边很多人都不是很明白,下面我来讲讲我的理解.

1.先说应用例子:
服务器端,用wingate就是Proxy,用sygate和家用路由器就是NAT,
客户端,需要在IE中设置代理服务器的就是用Proxy,客户端只需设置网关即可就是用NAT

2.再说工作原理:

NAT工作在网络层,而Proxy工作在应用层

正因为如此,NAT方式下客户端只需要设定一个网关地址,HTTP,QQ,FTP都可以使用.而Proxy方式下,需要为每一种应用协议指定代理服务器,如IE中需要设定,QQ中需要设定,MSN需要设定,FTP也需要设定,增加了客户端使用的复杂性.


NAT绝大部分情况下只是修改数据包中的地址和端口,然后记录对应关系后把数据转发出去。

proxy不同于nat,proxy客户端需要访问互联网时,会先通知proxy服务器软件要做什么,然后proxy代理服务器去扮演客户请求而完成,然后将结果回传给客户端。Proxy服务器端先要分析数据包的内容,弄清楚要干什么,然后以自己的身份来 “代理”完成这个请求,并且将结果发送回客户端。

比如http,解析出请求 的方向,然后以proxy主机的身份,把这个请求发送给远端的web服务器,远端数据返回以后,它又以主机的身份把数据传送给客户端。同时,还把这些数据放到CACHE中,如果其它客户有相同的内容请求,就直接从CACHE中拿数据,不用现向互联网上的服务器请求数据.

因为proxy在实现上具体到了应用层上的协议,因此带来了一些额外的管理功能和cache功能。

这样打个比方

nat=货运码头,管你是啥货,只管发就是了
proxy=代理商,先要看你买啥,清楚了后再帮你买,可能直接从库房中提货,也可能去其它地方调货,也有可能不代理你要买的货.

3.最后说优缺点

对客户端来说:
NAT设置简单,无需客户端软件
Proxy针对每一种应用设置代理服务器,或者安装一个客户端软件,设置相对复杂一些.并且并不一定支持所有的应用,如VPN客户端登录很多Proxy就无法代理应用.

对服务器来说:
Proxy需要耗用的资源更多一些(内存,硬盘等),以存CACHE内容,正因如此,在大量用户的情况下,获得的性能更高一些.
NAT方式相当于一个软路由器,在中小访问量的情况下,速度也不错,资源占用少,所以适用普遍使用
文章评论

共有 2 条评论

  1. crossbitter 于 2011-09-26 16:55:42发表:

    iptables各种链我也正在研究,刚入门。不过小型网络不值得用透明代理,路由就KO了。

  2. luodeke 于 2011-09-26 16:46:38发表:

    我用想用netfilter+proxy,但是netfilter一直不成功,就只用了proxy