网络地址转换NAT原理及其作用

标签: nat 网络地址转换
10人阅读 评论(0) 收藏 举报
分类:

1 概述

1.1 简介

NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。因此我们可以认为,NAT在一定程度上,能够有效的解决公网地址不足的问题。

1.2 分类

NAT有三种类型:静态NAT(Static NAT)、动态地址NAT(Pooled NAT)、网络地址端口转换NAPT(Port-Level NAT)

其中,网络地址端口转换NAPT(Network Address Port Translation)则是把内部地址映射到外部网络的一个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。

我们在没有理解NAT原理前当然理解不了上面所说的功能,我们先看下NAT的原理。

 

2 原理

2.1 地址转换

NAT的基本工作原理是,当私有网主机和公共网主机通信的IP包经过NAT网关时,将IP包中的源IP或目的IP在私有IP和NAT的公共IP之间进行转换。

如下图所示,NAT网关有2个网络端口,其中公共网络端口的IP地址是统一分配的公共 IP,为202.20.65.5;私有网络端口的IP地址是保留地址,为192.168.1.1。私有网中的主机192.168.1.2向公共网中的主机202.20.65.4发送了1个IP包(Dst=202.20.65.4,Src=192.168.1.2)。

当IP包经过NAT网关时,NAT Gateway会将IP包的源IP转换为NAT Gateway的公共IP并转发到公共网,此时IP包(Dst=202.20.65.4,Src=202.20.65.5)中已经不含任何私有网IP的信息。由于IP包的源IP已经被转换成NAT Gateway的公共IP,Web Server发出的响应IP包(Dst= 202.20.65.5,Src=202.20.65.4)将被发送到NAT Gateway。

这时,NAT Gateway会将IP包的目的IP转换成私有网中主机的IP,然后将IP包(Des=192.168.1.2,Src=202.20.65.4)转发到私有网。对于通信双方而言,这种地址的转换过程是完全透明的。转换示意图如下。

如果内网主机发出的请求包未经过NAT,那么当Web Server收到请求包,回复的响应包中的目的地址就是私网IP地址,在Internet上无法正确送达,导致连接失败。

2.2 连接跟踪

在上述过程中,NAT Gateway在收到响应包后,就需要判断将数据包转发给谁。此时如果子网内仅有少量客户机,可以用静态NAT手工指定;但如果内网有多台客户机,并且各自访问不同网站,这时候就需要连接跟踪(connection track)。如下图所示:

在NAT Gateway收到客户机发来的请求包后,做源地址转换,并且将该连接记录保存下来,当NAT Gateway收到服务器来的响应包后,查找Track Table,确定转发目标,做目的地址转换,转发给客户机。

2.3 端口转换

以上述客户机访问服务器为例,当仅有一台客户机访问服务器时,NAT Gateway只须更改数据包的源IP或目的IP即可正常通讯。但是如果Client A和Client B同时访问Web Server,那么当NAT Gateway收到响应包的时候,就无法判断将数据包转发给哪台客户机,如下图所示。

此时,NAT Gateway会在Connection Track中加入端口信息加以区分。如果两客户机访问同一服务器的源端口不同,那么在Track Table里加入端口信息即可区分,如果源端口正好相同,那么在执行SNAT和DNAT的同时对源端口也要做相应的转换,如下图所示。(这里的理解灰常重要)

现在就可以理解NAT协议的应用了吧。

3.NAT协议的应用

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

数据伪装: 可以将内网数据包中的地址信息更改成统一的对外地址信息,不让内网主机直接暴露在因特网上,保证内网主机的安全。同时,该功能也常用来实现共享上网。

端口转发: 当内网主机对外提供服务时,由于使用的是内部私有IP地址,外网无法直接访问。因此,需要在网关上进行端口转发,将特定服务的数据包转发给内网主机。

负载平衡: 目的地址转换NAT可以重定向一些服务器的连接到其他随机选定的服务器。(不是很明白)

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

透明代理: NAT可以把连接到因特网的HTTP连接重定向到一个指定的HTTP代理服务器以缓存数据和过滤请求。一些因特网服务提供商就使用这种技术来减少带宽的使用而不用让他们的客户配置他们的浏览器支持代理连接。(如何重定向的?)




查看评论

网络地址转换NAT原理(易于理解)

节选自:芷菁博客 http://www.stars625.com/nat.html 感谢人家的贡献,我转发到自己博客是为了以后温习方便。 这是做路由器的时候,学习网络地...
  • hzhsan
  • hzhsan
  • 2015-04-14 10:25:24
  • 8707

浅谈网络地址转换(NAT)技术与内网、外网

浅谈目前广泛使用的NAT(网络地址转换)技术,以及NAT在内网、外网之间工作的原理。...
  • SmalOSnail
  • SmalOSnail
  • 2016-11-03 09:23:55
  • 3933

网络扫盲——NAT(网络地址转换)

本篇博客只是为了记载自己在学习网路的过程中所遇到的问题,以便以后查阅!如果没有解决您的疑问,小编我深感抱歉。如果能后解决您出现的问题,小编我甚是激动。 言归正传: NAT(Network Addres...
  • duanxiong2014
  • duanxiong2014
  • 2016-05-13 16:59:58
  • 2941

virtual Box NAT网络地址转换 使用详解

需求是:1、不能占用公司IP。所以要使用NAT地址转换。                 2、还想要访问外网,由于公司使用了代理,虚拟机也得配置代理。                3、尽量占用空间小...
  • zhongjling
  • zhongjling
  • 2016-08-04 16:38:37
  • 4339

网络地址转换 NAT配置

网络地址转换NAT配置技术原理:网络地址转换NAT (NetworkAddress Translation),被广泛应用于各种类型Internet接入方式和各种类型的网络中。NAT不仅完美解决了IP地...
  • qq_16165487
  • qq_16165487
  • 2015-10-20 09:11:50
  • 2467

网络(三) 之 网络地址转换NAT(使用Cisco Packet Tracer模拟)

推荐书籍《奠基计算机网络》pkt文件链接: http://pan.baidu.com/s/1eSuyQHW应用场景NAT的最初目的是允许将私有IP地址映射到公网(合法的Internet IP) 地址...
  • m0_37681914
  • m0_37681914
  • 2017-06-04 21:45:37
  • 2186

vmware中的3种网络模式:桥接、NAT(地址转换)、host-only

不同虚拟交换机应用在不同的联网模式Bridged、NAT、host-only三种模式,下面分别介绍其具体分配: VMnet0:这是VMware用于虚拟桥接网络下的虚拟交换机; VMnet1...
  • pursuing0my0dream
  • pursuing0my0dream
  • 2015-12-13 21:18:52
  • 842

cisco 的网络地址转换技术(NAT)

下面给大家演示的实验是Cisco的网络地址转换技术(NAT) 此次我们使用的模拟器是Cisco packet tracer (动态NAT 实验) 下面是实验的拓扑图: 实验器材如图:pc 五台,...
  • valecalida
  • valecalida
  • 2017-04-18 19:45:19
  • 981

计算机网络之——虚拟专用网VPN和网络地址转换NAT

虚拟地址转换VPN 产生原因:IP地址不足,机构内部采用专用IP地址,不接入Internet。 专用地址是规定,因特网中路由器对目的地址是专用地址的数据报一律不转发,直接丢弃。 专用地址: ...
  • TommyZht
  • TommyZht
  • 2015-09-08 10:01:40
  • 1016

H3CNE-网络地址转换(NAT)

PS:本篇仅挑选作者认为重要的模块,并不全面,仅供复习参考,具体请自行查阅相关书籍。网络地址转换华三上私网(inside)—————路由器————-公网(internet)(思科叫global)Bas...
  • CSerwangjun
  • CSerwangjun
  • 2018-02-27 10:53:11
  • 76
    个人资料
    等级:
    访问量: 5528
    积分: 278
    排名: 30万+