NAT技术是一种网络地址转换技术,网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
NAT技术的目的:解决IP地址不足的问题。
NAT技术的特点:NAT技术将私有地址的“内部“网络通过路 由 器发送数 据 包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求。
NAT技术的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat 和端口多路复用OverLoad。
静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。
动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。
端口多路复用(Port address Translation,PAT)是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。
代理服务器技术是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接,一些网关、路由器等网络设备具备网络代理功能。一般认为代理服务有利于保障网络终端的隐私或安全,防止攻击。
代理服务器分类:
(1) HTTP代理:www连接请求或在浏览网页上下载数据均采用HTTP代理,其通常绑定在代理服务器的80、3128和8080等端口上。
(2) SOCKS代理:采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器。Socks是个电路级的底层网关,是DavidKoblas在1990年开发的,此后就一直作为Internet RFC标准的开放标准。Socks 不要求应用程序遵循特定的操作系统平台,Socks 代理与应用层代理、HTTP层代理不同,Socks 代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以,Socks代理比其他应用层代理要快得多。它通常绑定在代理服务器的1080端口上。
(3) VPN代理:指在共用网络上建立专用网络的技术。之所以称为虚拟网主要是因为整个VPN网络的任意两个结点之间的连接并没有传统专网建设所需的点到点的物理链路,而是架构在公用网络服务商ISP所提供的网络平台之上的逻辑网络。用户的数据是通过ISP在公共网络(Internet)中建立的逻辑隧道(Tunnel),即点到点的虚拟专线进行传输的。通过相应的加密和认证技术来保证用户内部网络数据在公网上安全传输,从而真正实现网络数据的专有性。
(4) FTP代理:能够代理客户机上的FTP软件访问FTP服务器
(5)RTSP代理:代理客户机上的Realplayer访问Real流媒体服务器
(6)POP3代理:代理客户机上的邮件软件用POP3方式收发邮件(1)NAT技术工作在网络层,此方式下,客户端仅需设置一个网关地址,HTTP、FTP都可使用,而代理服务器工作在应用层,此方式下,需为每一种应用协议指定代理服务器;
(2)NAT大多数情况下,仅修改数据包中的地址和端口,后记录对应关系后把数据转发出去,而代理服务器会先分析数据包的内容,弄清楚要做什么,后以自己的身份来“代理”完成这个请求,并将结果发送回客户端;
(3)代理服务器在实现上具体到了应用层上的协议,会增加一些额外的管理功能和缓冲功能;
举例:NAT == 货运码头,管你是啥货,只管发就是了;
代理服务器 == 代理商,先要看你买啥,清楚了后再帮你买,可能直接从库房中提货,也可能去其它地方调货,也有可能不代理你要买的货;
(3)代理服务器在实现上具体到了应用层上的协议,会增加一些额外的管理功能和缓冲功能;
举例:
NAT == 货运码头,管你是啥货,只管发就是了。
代理服务器 == 代理商,先要看你买啥,清楚了后再帮你买,可能直接从库房中提货,也可能去其它地方调货,也有可能不代理你要买的货;
服务器端:
NAT技术适用于中小访问量的情形,速度快,资源占用少;
代理服务器需耗用资源要更多一些(内存/硬盘/缓冲),适用于大访问量的情形,性能更好;
客户端:
NAT设置简单,无需客户端软件;
代理服务器需耗用资源要更多一些(内存/硬盘/缓冲),适用于大访问量的情形,性能更好;
客户端:
NAT设置简单,无需客户端软件;
代理服务器技术会根据每一种应用设置代理服务器,或安装一个客户端软件,设置相对较复杂,且不一定支持所有的应用,如VPN客户端登录过多,代理服务器就无法代理应用。