NAT与代理服务器

来源:互联网 发布:美津浓矩阵 编辑:程序博客网 时间:2024/05/20 21:48

什么是NAT?
NAT(Network Address Translation,网络地址转换):我们的主机的ip地址是运营商给我们分的ip,也就是在专用网内使用的专用地址,当我们要和因特网上的主机通信的时候路由器会把我们的ip地址改为路由ip。路由ip是全球有效的ip,当拿到我们需要的数据之后路由器再把数据交给我们,也就是说我们要访问外部网络是路由器帮我们拿数据的过程。
NAT网路地址转换是属于广域网技术,是将私有ip转为合法ip的转换技术,被广泛的应用在各种类型Internet接入方式和各种类型的网络中。它不仅可以解决ip不足的问题还能有效的避免来自网络外部的攻击,隐藏保护内部的计算机。
NAT的实现方式:
静态转换(Static Nat):
静态转换是将内部网络私有ip地址转换为公有ip地址,ip地址对是一对一的是一成不变的,某个私有ip地址某个共有ip地址。借助静态转换,可以实现外部网络对内部网络中某些特定设备(服务器)的访问。
动态转换(Dynamic Nat):
将私有ip地址转化为公有ip地址时,是不确定的只有被授权访问上Internet的私有ip地址才可以随机转化为任何指定的合法的ip地址。动态转换可以使用多个合法外部地址集。当ISP提供的合法ip地址少于网络内计算机数量可以采用动态转换。
端口多路复用:
是指改变外出数据包的源端口并进行端口转换,即端口地址转换采用端口多路复用的方式。内部所有主机均可共享一个合法的外部Ip地址实现对Internet的访问,从而可以最大限度的节约ip地址资源。同时可以隐藏网络内部的所有主机,有效避免来自iternet的攻击,因此目前网络中应用最多的就是端口多路复用技术。

网络地址端口转换NAPT(Network Address PortTranslation)则是把内部地址映射到外部网络的一个IP地址的不同端口上。它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT与 动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的端口号。
NAPT是使用最普遍的一种转换方式,在HomeGW中也主要使用该方式。它又包含两种转换方式:SNAT和DNAT。

(1)源NAT(Source NAT,SNAT):修改数据包的源地址。源NAT改变第一个数据包的来源地址,它永远会在数据包发送到网络之前完成,数据包伪装就是一具SNAT的例子。

(2)目的NAT(Destination NAT,DNAT):修改数据包的目的地址。Destination NAT刚好与SNAT相反,它是改变第一个数据懈的目的地地址,如平衡负载、端口转发和透明代理就是属于DNAT。

什么是代理服务器?
代理服务器(Proxy Server):其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。代理服务器就好象一个大的Cache,这样就能显著提高浏览速度和效率。更重要的是:Proxy Server(代理服务器)是Internet链路级网关所提供的一种重要的安全功能。
当客户端在浏览器中设置好Proxy服务器后,所有使用浏览器访问internet站点的请求都不会直接发给目的主机,而是首先发送至代理服务器,代理服务器接收到客户端的请求以后,由代理服务器向目的主机发出请求,并接收目的主机返回的数据,存放在代理服务器的硬盘,然后再由代理服务器将客户端请求的数据转发给客户端。

代理分类:
http代理 :
www连接请求就是采用的http协议,所以我们在浏览网页,下载数据(也可采用ftp协议)时就是用http代理。它通常绑定在代理服务器的80、3128、8080等端口上。

socks代理 :
Socks 不要求应用程序遵循特定的操作系统平台,Socks 代理与应用层代理、HTTP层代理不同,Socks 代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以,Socks代理比其他应用层代理要快得多。它通常绑定在代理服务器的1080端口上。

VPN代理 :
指在共用网络上建立专用网络的技术。之所以称为虚拟网主要是因为整个VPN网络的任意两个结点之间的连接并没有传统专网建设所需的点到点的物理链路,而是架构在公用网络服务商ISP所提供的网络平台之上的逻辑网络。

反向代理 :
反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量。

FTP代理 :
能够代理客户机上的FTP软件访问FTP服务器。

RTSP代理 :
代理客户机上的Realplayer访问Real流媒体服务器。

POP3代理 :
代理客户机上的邮件软件用POP3方式收发邮件

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

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

proxy不同于nat,proxy客户端需要访问互联网时,会先通知proxy服务器软件要做什么,然后proxy代理服务器去扮演客户请求而完成,然后将结果回传给客户端。Proxy服务器端先要分析数据包的内容,弄清楚要干什么,然后以自己的身份来 “代理”完成这个请求,并且将结果发送回客户端。
对客户端来说:
NAT设置简单,无需客户端软件
Proxy针对每一种应用设置代理服务器,或者安装一个客户端软件,设置相对复杂一些。并且并不一定支持所有的应用,如VPN客户端登录很多Proxy就无法代理应用.。


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

原创粉丝点击