`
tiandirensoon
  • 浏览: 594146 次
文章分类
社区版块
存档分类
最新评论

Proxy与NAT有什么区别

 
阅读更多
在internet共享上网技术上,一般有两种方式,一种是proxy代理型,一种是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方式相当于一个软路由器,在中小访问量的情况下,速度也不错,资源占用少,所以适用普遍使用.
从安全方面来说,二者并不差别.
nat和proxy都是一台接入互联网的服务器上的服务软件.

proxy的优势在客户端管理上,拿ISA2004来说吧,装了Firewall客户端的机器.服务器上可以进行更细的管理,限制客户端对某种协议及端口的访问.
<!-- post 4708147 popup menu --> <!-- / post 4708147 popup menu --><!-- / post #4708147 --><!-- post #4708885 -->
分享到:
评论

相关推荐

    openstack_proxy_nat_controller

    openstack_proxy_nat_controller

    xproxy代理

    运行XP.exe,增加监听器,并在右边配置一些信息,其中插件是必选项,内置的插件有:NAT插件、加密插件、反向代理、直接代理、间接代理。 配置好以后,不要忘了点击保存。配置信息附带在Proxy.xml文件中,也可手工...

    NGN业务穿越NAT/FW的解决方案

    NGN网络最大的好处就是能为用户提供丰富的业务,但是像H.323、SIP、MGCP、H....本文主要探讨了NGN软终端和IAD的NAT问题,介绍了ALG、MidCom、STUN、协议修改、Proxy等几种私网穿越方法,并分析了方案的可行性和适用性

    back-proxy:在NAT或动态WAN ip之后,将代理反向转换为小工具或家庭http服务器。 需要两个“服务器”

    在从任何设备到public设备的新连接上server.js将数据发送到pipe , client.js打开与shared相同连接(因此在下一个连接上连接一个)。 当连接被任意端断开时-在server.js或client.js -另一端断开连接。 设想 您想在...

    端口转换代理proxy

    端口转换代理proxy 里面有配置文件,简单易用。自己用的,上传上来备份,也希望大家能用到。

    Proxy Server serves FTP clients

    Proxy Server functionality - RFC 1919.Actually FTP clients can connect to FTP servers directly and can transmit and receive files or data directly through direct sockets connections, but in some cases...

    esp32_nat_router:ESP32的简单NAT路由器

    ESP32 NAT路由器这是使用ESP32作为WiFi NAT路由器的固件。 可以用作适用于现有WiFi网络的简单范围扩展器为访客或物联网设备设置具有不同SSID /密码的其他WiFi网络它可以实现超过15mbps的带宽。 该代码基于和 。表现...

    ISA2004安装说明

    全面介绍ISA2004的安装使用。包括做PROXY,NAT,对外发布应用等,详情请看内容!

    nat-tunnel:NAT隧道:轻松从NAT后面进行服务

    NAT隧道v0.01 如果您可以访问具有公共IP和未过滤端口的服务器,则可以在该服务器上运行NAT隧道(NT)服务器,并在NAT后面的框中运行NT客户端。 服务器需要2个开放的端口:一个用于与NT客户端(--admin)进行通信,...

    PushProx:允许Prometheus通过NAT抓取的代理

    PushProx PushProx是客户端和代理,允许Prometheus穿越NAT和其他类似的网络拓扑,同时仍然遵循拉模型。 尽管这在实践中相当可靠,但这是一项正在进行的工作。跑步首先构建代理和客户端: git clone ...

    rtsp-simple-proxy是一个简单,易于使用且零依赖的RTSP代理-Golang开发

    rtsp-simple-proxy是一种简单,易于使用且零依赖的RTSP代理,该软件可接收一个或多个现有RTSP流并将其提供给其他用户。 通常在以下情况之一中部署代理:rtsp-simple-proxy rtsp-simple-...当str之间有NAT /防火墙时

    transparent-relay-proxy

    docker build -rm -t proxy ./ 中继代理 docker run --net=host -v `pwd`/PAC:/mnt/PAC --rm proxy pac+file:///mnt/PAC all_proxy=localhost:3128 curl http://google.fr all_proxy=localhost:3128 curl ...

    aws-metadata-proxy:AWS Metadata Proxy可防止SSRF

    创建一个iptable规则,该规则可防止直接与AWS Metadata Service对话,但特定示例中的特定用户proxy_user除外。 这是您在服务器上运行代理的用户。 /sbin/iptables -t nat -A OUTPUT -m owner ! --uid-owner proxy_...

    论文研究-一种用P2P实现媒体流穿越NAT的方案 .pdf

    一种用P2P实现媒体流穿越NAT的方案,贾姗姗,,基于IP的语音、数据、视频等业务在NGN网络中所面临的一个实际困难就是如何有效地穿透各种NAT的问题。现有的解决方案有ALG、Media Proxy��

    Transparent HTTP Proxy-开源

    Transproxy与FreeBSD(ipfw和ipnat)或Linux透明代理功能(ipfwadm,ipchains和iptables)结合使用,可以透明地代理HTTP请求。

    GoProxy:golang实现的高性能代理服务器-开源

    GoProxy是一款高性能的http代理、https代理、socks5代理、ss代理、websocket代理、tcp代理、udp代理、游戏盾、游戏代理。 支持正向代理、反向代理、透明代理、internet nat 代理、https 代理负载均衡、http 代理负载...

    Obelisk SIP Proxy-开源

    该项目包含一个SIP堆栈和在该堆栈顶部构建的服务器应用程序,其示例包括:无状态代理,注册器,NAT Keepalive,MWI通知程序服务器。 服务器应用程序被设计为与Asterisk一起工作。

    kubernetes-iptables-proxy:使用iptables快速实现Kubernetes代理

    设置: iptables -t nat -I PREROUTING -j my-dnatiptables -t nat -I OUTPUT -j my-dnatiptables -t nat -I POSTROUTING -j my-snat/usr/bin/docker run --name kube-iptables-proxy --privileged --...

    netty-nat:基于netty实现的TCPHttp请求转发的代理程序,可用做内网穿透工具

    净资产 ...简介 在特定的网络环境或安全审核要求下,我们可能会面临网络被... 客户端对应的属性配置: internal.server.port代理程序服务端端口internal.server.host代理程序服务端地址proxy.client.port被代理程序的端口p

Global site tag (gtag.js) - Google Analytics