调研NAT技术和代理服务器

来源:互联网 发布:db2数据库怎么连接 编辑:程序博客网 时间:2024/06/15 05:00

NAT技术

———-——————————

1.简介

Network address translation (NAT)网络地址转换是一种将一组IP地址空间映射到另一组IP地址空间的技术,通过修改IP协议数据报报头中的地址信息来实现,并且通过流量路由设备进行传输。


2. 为什么需要转换

由于保密原因或 IP 在外网不合法,网络的内部 IP 地址无法在外部网络使用,就产生了 IP 地址转换的需求。局域网络以外的网络的拓扑结构能以多种方式改变:公司更换供应商;重组公司主干网络或者供应商合并或散伙。一旦外部拓扑结构改变,本地网络的地址分配也必须改变以反映外部变化。通过将这些变化集中在单个地址转换路由器中,局域网用户并不需知道这些改变。基本地址转换允许主机从内部网络中透明地访问外部网络,并容许从外部访问选定的本地主机。对于一个机构其网络主要用于内部服务而仅有时用于外部访问, 这种配置是很适用的。

因此也可以说NAT技术是一种将私有(保留)地址转化为合法IP地址的转换技术。

这里写图片描述


3. 分类

NAT的实现方式有三种,即静态转换(Static Nat)、动态转换(Dynamic Nat)和端口多路复用(OverLoad)

这里写图片描述

1)静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。

2)动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。

3)端口多路复用(Port address Translation,PAT)是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。


4. 转换过程

例:内网机器(192.168.0.5) 访问 目标主机(220.181.28.42)
  
  1)客户机发送数据包
  目的主机 220.181.28.42
  目的端口 80
  源主机 192.168.0.5 (内网的私有IP)
  源端口 1025 (随机打开)
  
  2)进行地址转换
  目的主机 220.181.28.42
  目的端口 80
  源主机 218.22.192.21 (NAT服务器的公网IP)
  源端口 5000 (随机打开)
  
  3)记录映像
  192.168.0.5 tcp 1025 —– 218.22.192.21 tcp 5000
  
  4)外部网络主机向NAT主机发送响应信息
  目的主机 218.22.192.21
  目的端口 5000
  源主机 220.181.28.42
  源端口 80
  
  5)查找映像关系将数据包发给客户机
  目的主机 192.168.0.5
  目的端口 1025
  源主机 220.181.28.42
  源端口 80


5. 应用

NAT主要可以实现以下几个功能:数据包伪装、平衡负载、端口转发和透明代理。

数据伪装: 可以将内网数据包中的地址信息更改成统一的对外地址信息,不让内网主机直接暴露在因特网上,保证内网主机的安全。同时,该功能也常用来实现共享上网。例如,内网主机访问外网时,为了隐藏内网拓扑结构,使用全局地址替换私有地址。

端口转发: 当内网主机对外提供服务时,由于使用的是内部私有IP地址,外网无法直接访问。因此,需要在网关上进行端口转发,将特定服务的数据包转发给内网主机。例如公司小王在自己的服务器上架设了一个Web网站,他的IP地址为192.168.0.5,使用默认端口80,现在他想让局域网外的用户也能直接访问他的Web站点。利用NAT即可很轻松的解决这个问题,服务器的IP地址为210.59.120.89,那么为小王分配一个端口,例如81,即所有访问210.59.120.89:81的请求都自动转向192.168.0.5:80,而且这个过程对用户来说是透明的。

负载平衡:目的地址转换NAT可以重定向一些服务器的连接到其他随机选定的服务器。例如1.2.3所讲的目的NAT的例子。

失效终结:目的地址转换NAT可以用来提供高可靠性的服务。如果一个系统有一台通过路由器访问的关键服务器,一旦路由器检测到该服务器当机,它可以使用目的地址转换NAT透明的把连接转移到一个备份服务器上,提高系统的可靠性。

透明代理:例如自己架设的服务器空间不足,需要将某些链接指向存在另外一台服务器的空间;或者某台计算机上没有安装IIS服务,但是却想让网友访问该台计算机上的内容,这个时候利用IIS的Web站点重定向即可轻松的帮助我们搞定。

代理服务器

———-——————————


1.简介

在计算机网络中,代理服务器(Proxy Server)是一个服务器(一个计算机系统或一个应用程序),用作来自寻求其他服务器资源的客户的请求的中介。 客户端连接到代理服务器,请求一些服务,例如文件,连接,网页或其他来自不同服务器的资源,代理服务器将该请求作为简化和控制其复杂性的方式进行评估。 代理的发明是为了增加分布式系统的结构和封装。


2.分类

代理服务器可以驻留在用户的本地计算机上,或者驻留在因特网上的用户的计算机和目的地服务器之间的各个点处。传递请求和响应未经修改的代理服务器通常称为网关或有时是隧道代理。

  • 1.HTTP代理:能够代理客户机的HTTP访问,主要是代理浏览器访问网页。

  • 2.SOCKS代理:SOCKS代理与其他类型的代理不同,它只是简单地传递数据包,而并不关心是何种应用协议,既可以是HTTP请求,所以SOCKS代理服务器比其他类型的代理服务器速度要快得多。

  • 3.转发代理是一种面向Internet的代理,用于从广泛的源(大多数情况下在互联网上的任何地方)检索。

  • 4.反向代理通常是一个面向内部的代理,用作前端来控制和保护对私有网络上的服务器的访问。反向代理通常还执行负载平衡,身份验证,解密或缓存等任务。

  • 5.VPN代理:指在共用网络上建立专用网络的技术。之所以称为虚拟网主要是因为整个VPN网络的任意两个结点之间的连接并没有传统专网建设所需的点到点的物理链路,而是架构在公用网络服务商ISP所提供的网络平台之上的逻辑网络。用户的数据是通过ISP在公共网络(Internet)中建立的逻辑隧道(Tunnel),即点到点的虚拟专线进行传输的。通过相应的加密和认证技术来保证用户内部网络数据在公网上安全传输,从而真正实现网络数据的专有性。

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

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

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


3.流程

这里写图片描述

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

———-——————————

在内部局域网络使用私有 IP 的客户端,不论透过 Proxy 或者 NAT 均可以直接取得 WWW 的服务,那么 NAT 与 Proxy 的区别在哪?

NAT 服务器的功能: Linux 的 NAT 功能主要透过封包过滤的方式, 并使用 iptables 的 nat 表格进行 IP 伪装 (SNAT) ,让客户端自行前往因特网上的任何地方的一种方式。主要的运作行为是在 OSI 七层协议的二、三、四层。由于是透过封包过滤与伪装,因此客户端可以使用的端口口号码 (第四层) 较弹性;

Proxy 服务器的功能:主要透过 Proxy 的服务程序 (daemon) 提供网络代理的任务,因此 Proxy 能不能进行某些工作,与该服务的程序功能有关。 举例来说,如果你的 Proxy 并没有提供邮件或 FTP 代理,那么你的客户端就是无法透过 Proxy 去取得这些网络资源。 主要运作的行为在 OSI 七层协议的应用层部分(所谓的比较“高阶”之意)。

NAT 服务器是由较底层的网络去进行分析的工作,至于通过 NAT 的封包是干嘛用的, NAT 不去管他!至于 proxy 则主要是由一个daemon 的功能达成的,所以必需要符合该 daemon 的需求,才能达到某些功能。

原创粉丝点击