NAT技术与代理服务器的区别

一.NAT技术

1. NAT技术简介

(1)NAT技术(Network Address Translation)——网络地址转化技术。属接入广域网技术,是一种将私有IP地址转化为合法的公网IP地址。
(2)NAT技术被广泛的应用于各种类型的网络转化中,解决了IP地址不足的问题,有效的避免了来自外部网络的攻击,保护了内部的计算机。
(3)NAT技术是路由器的一个重要功能。
注:不同局域网的私有IP地址可以相同,但是公有IP地址是唯一的。

2. NAT技术的目的,特点及实现方式

(1)目的
解决了IP地址不足的问题。
(2)特点
NAT技术将私有的IP地址(内部网络)通过路由器发送数据包时,将私有IP地址转换为合法的IP地址。
(3)NAT技术的实现方式
静态转化(static NAT) :
是指将内部网络的私有IP地址转化为公有的IP地址,IP地址的转化是一成不变的。可以实现对内部网络中某些特定设备(如服务器)的访问。
动态转化(dynamic NAT):
是指将内部网络的私有IP地址转化为公有的IP地址时,IP地址的转化是随机的。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。
端口多路复用(post address translation,PAT):
改变外出数据包的源端口号并进行端口转换。在这种方式下,所有的内部网络主机可以共享一个合法的外部IP地址,以实现对Internet的访问,从而可以最大限度的节省IP资源。同时,又可以隐藏网络内部的主机,有效避免来自Internet的攻击。这是目前采用最多的一种方式。

3. 三种方式下IP转化过程

这里写图片描述
NAT服务器有两个网卡,一个连接内部网络,一个连接外部网络,只有在内部网络访问外部网络时,会进行地址转换。在NAT服务器内部有一张NAT转换表,里面存储着个IP地址之间的对应信息。
(1)静态转换

  1. 首先,当内网终端要访问外网服务器时,会先将请求发送给NAT服务器;
  2. NAT服务器接收到请求后,根据接收到的数据包检查NAT表;
  3. 如果已为该地址配置了静态地址转换,NAT服务器就使用对应的公网IP地址转发数据包,否则,NAT服务器不对地址进行转换,直接将数据包丢弃;
  4. Internet主机接收到请求之后,会将应答信息返回给端口NAT服务器;
  5. 当NAT服务器接收到来自Internet上的主机返回的数据包后,检查静态NAT表。如果NAT表中存在匹配的映射项,则将目标地址转换为相应的内网IP,并将数据包转发给内网主机。如果不存在匹配映射项,则将数据包丢弃;

(2)动态转换

动态转换的过程和静态转换差不多,只是其转换成对应的合法公有IP地址是不确定的,也就是随机分配的;

(3)端口多路复用

  1. 当内网主机需要与Internet建立连接时,首先将请求发送到端口NAT服务器。NAT服务器接收到请求后,根据接收到的数据包,检查端口NAT映射表;如果还没有为该内网主机建立地址转换映射项,则NAT服务器会创建一个会话,并给该会话分配一个端口。之后将源地址及端口改为企业公网IP地址及相应的端口,发送数据包到Internet主机上;
  2. Internet主机接收到信息后,将应答信息返回给端口NAT服务器;
  3. 当端口NAT服务器接收到应答信息后,检查端口NAT映射表。如果端口NAT表存在匹配的映射项,则将目标地址及端口转换为对应的内网IP及端口,将数据包转发给内网主机。如果不存在匹配映射项,就将数据包丢弃;

4. NAT技术的缺陷

  1. 由于NAT 依赖这个转换表, 所以有诸多限制
  2. 无法从NAT 外部向内部服务器建立连接
  3. 转换表的生成和销毁都需要额外开销
  4. 通信过程中一旦NAT 设备异常, 即使存在热备, 所有的TCP连接也都会断开

二. 代理服务器

1. 代理服务器简介

代理服务器是一种特殊的网络服务,允许一个网络终端(一般为客户端)与另一个网络终端(一般为服务器)进行非直接的连接。一些网关,路由器具备网络代理功能。

2. 代理服务器工作原理

  1. 客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或者获得目标服务器的指定资源(如:文件)。
  2. 在后一种情况中,代理服务器可能对目标服务器的资源下载至本地缓存,如果客户端所要获取的资源在代理服务器的缓存之中,则代理服务器并不会向目标服务器发送请求,而是直接返回缓存了的资源。
  3. 一些代理协议允许代理服务器改变客户端的原始请求、目标服务器的原始响应,以满足代理协议的需要。

3. 代理服务器的分类

HTTP代理:
www连接请求或在浏览网页上下载数据均采用HTTP代理,其通常绑定在代理服务器的80、3128和8080等端口上。
socks代理:
采用socks协议的代理服务器就是socks服务器。socks 不要求应用程序遵循特定的操作系统平台,socks 代理与应用层代理、HTTP层代理不同,socks 代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以,socks代理比其他应用层代理要快得多。它通常绑定在代理服务器的1080端口上。
VPN代理:
指在共用网络上建立专用网络的技术。称为虚拟网主要是因为整个VPN网络的任意两个结点之间的连接并没有传统专网建设所需的点到点的物理链路,而是架构在公用网络服务商ISP所提供的网络平台之上的逻辑网络。
用户的数据是通过ISP在公共网络(Internet)中建立的逻辑隧道(Tunnel),即点到点的虚拟专线进行传输的。通过相应的加密和认证技术来保证用户内部网络数据在公网上安全传输,从而真正实现网络数据
FTP代理:
能够代理客户机上的FTP软件访问FTP服务器
POP3代理:
代理客户机上的邮件软件用POP3方式收发邮件

4. 代理服务器的功能

  1. 突破自身IP访问的限制:访问一些国外的站点,比如Google,Facebook等。
  2. 提高访问速度:通常代理服务器有一个很大的磁盘缓冲区,当有其他客户端访问相同的信息时,直接在缓冲区中取出信息。
  3. 隐藏真实IP:上网者可以通过这种方式隐藏自己的IP地址免受攻击。
  4. 充当防火墙:因为所有的内部网的用户访问外网时,只映射一个IP地址,所以外界不能直接访问内部网络。
  5. 节省IP地址开销:但使用代理服务器后,只需代理服务器上有一个合法的IP地址,LAN内其他用户可以使用10…*这样的私有IP地址,这样可以节约大量的IP,降低网络的维护成本;
  6. 设置用户验证和记账功能:可按用户进行记账,没有登记的用户无权通过代理服务器访问Internet网。并对用户的访问时间、访问地点、信息流量进行统计;

三. NAT技术和代理服务器的区别

1. 区别

(1) 在工作层面上讲:
NAT技术工作在网络层,在此方式下,客户端只需设置自己的网关就可以使用。代理服务器工作在应用层,需要为每个协议指定代理服务器。
(2)在应用层面上讲:
NAT技术是网络基础设备之一,解决的是IP不足的问题;代理服务器则具体到了应用层上的协议,会增加一些额外的管理功能和缓冲功能;
(3)在使用范围上讲:
NAT做局域网的出口部署,而代理服务器则可以应用于局域网,广域网,也可以跨网。
(4)在工作方式上讲:
NAT大多数情况下,仅修改数据包中的地址和端口,后记录对应关系后把数据转发出去,而代理服务器会先分析数据包的内容,弄清楚要做什么,后以自己的身份来“代理”完成这个请求,并将结果发送回客户端;
注:NAT == 货运码头,管你是啥货,只管发就是了;
代理服务器 == 代理商,先要看你买啥,清楚了后再帮你买,可能直接从库房中提货,也可能去其它地方调货,也有可能不代理你要买的货;

2. 各自的优缺点

服务器端
NAT技术适用于中小访问量的情形,请求速度快,资源占用少。
代理服务器耗费资源较多一些。
客户端
NAT设置简单,无需客户端软件。
代理服务器会根据每一种应用设置代理服务器。需要安装客户端软件,比较复杂,且不一定支持所有的应用。如VPN客户端登录过多,代理服务器就无法代理应用。

猜你喜欢

转载自blog.csdn.net/qq_37954088/article/details/80914953