网络地址转换NAT原理解析

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。

1.3 应用

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

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

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

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

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

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

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的同时对源端口也要做相应的转换,如下图所示。(这里的理解灰常重要)

时间: 2024-10-14 09:46:42

网络地址转换NAT原理解析的相关文章

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

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

网络地址转换NAT

一.网络地址转换NAT: 在专用网内部的一些主机本来已经分配到了本地IP地址,但现在想和Internet上的主机进行通信,最简单的办法就是再申请一些全球的IP地址,但是全球的IPv4的地址已经不多了,所以采用了一种方法是网络地址转换. 在专用网连接到Internet的路由器上安装NAT软件,把装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址,才能和Internet连接.所有使用本地地址的主机和Internet进行通信时,都要在NAT路由器上经本地地址转换成全球的IP地址

第11章 拾遗1:网络地址转换(NAT)和端口映射

1. 网络地址转换(NAT) 1.1 NAT的应用场景 (1)应用场景:允许将私有IP地址映射到公网地址,以减缓IP地址空间的消耗 ①需要连接Internet,但主机没有公网IP地址 ②更换了一个新的ISP,需要重新组织网络时,可使用NAT转换 ③需要合并两个具有相同网络地址的内网 (2)NAT的优缺点 优点 缺点 ①节约合法的公网IP地址 ②减少地址重叠现象 ③增加连接Internet的灵活性 ④增加内网的安全性 ①地址转换产生交换延迟,也就是消耗路由器性能. ②无法进行端到端的IP跟踪 ③某

Packet Tracer 5.2实验(十四) 网络地址转换NAT配置

Packet Tracer 5.2实验(十四) 网络地址转换NAT配置 一.实验目标 理解NAT网络地址转换的原理及功能: 掌握静态NAT的配置,实现局域网访问互联网: 二.实验背景 公司欲发布WWW服务,现要求将内网Web服务器IP地址映射为全局IP地址,实现外部网络可访问公司内部Web服务器. 三.技术原理 网络地址转换NAT(Network Address Translation),被广泛应用于各种类型Internet接入方式和各种类型的网络中.原因很简单,NAT不仅完美解决了IP地址不足

代理服务器和网络地址转换NAT

一.代理服务器 1.代理服务器的基本概念 代理服务器是网络信息的中转站,简单来说就是个人网络和因特网服务商之间的代理机构,它负责转发合法的网络信息,并对转发进行控制和登记. 在使用网络浏览器浏览网络信息的时候,如果使用代理服务器,浏览器就不是直接到web服务器中取回网页,而是向代理服务器发出请求,由代理服务器取回浏览器所需要的信息. 目前使用的因特网是一个典型的客户机/服务器结构,当用户的本地机与因特网连接时通过本地机的客户程序如浏览器或者软件下载工具发出请求,远端的服务器会在接收到请求之后提供

网络地址转换NAT概念

网络地址转换NAT NAT的作用:增加IPv4的地址数量,解决私网地址不能上网的问题. NAT的概念:通过将内部网络的私网IP地址翻译成全球唯一的公网IP地址. 原理 原理:就是将内部本地转换为内部全局的地址,即将私网地址转换为公网地址去上网. NAT术语:内部本地(局部) 在内部网络中分配给主机使用的私有ip地址内部全局 该地址通常是从全球统一可寻址的地址空间中分配的,一般由互联网服务同上(ISP)提供外部全局 外部网络上的主机分配的ip地址.该地址也是从全球统一可寻址的地址空间中分配的外部本

linux 网络地址转换NAT

网络地址转换NATNAT的作用:增加IPv4的地址数量,解决私网地址不能上网的问题. NAT的概念:通过将内部网络的私网IP地址翻译成全球唯一的公网IP地址. 原理 原理:就是将内部本地转换为内部全局的地址,即将私网地址转换为公网地址去上网. NAT术语:内部本地(局部) 在内部网络中分配给主机使用的私有ip地址内部全局 该地址通常是从全球统一可寻址的地址空间中分配的,一般由互联网服务同上(ISP)提供外部全局 外部网络上的主机分配的ip地址.该地址也是从全球统一可寻址的地址空间中分配的外部本地

2016.7.9 计算机网络复习要点第四章之虚拟专用网VPN和网络地址转换NAT

1.虚拟专用网VPN (1)一个机构内,对于那些仅在本机构内部使用的计算机就可以由本季候自行分配其IP地址,让这些计算机使用仅在本机构有效的IP地址(本地地址),不需要申请全球唯一的IP地址(全球地址): (2)专用地址:这些地址只能用于一个机构的内部通信,而不能用于和因特网上的主机通信,换言之,专用地址只能用作本地地址而不能用作全球地址: (3)在因特网中的路由器,对目的地址是专用地址的数据报一律不转发: (4)三个专用地址: **10.0.0.0到10.255.255.255(或10.0.0

Ubuntu搭建ssh连接(连接方式:桥接网卡、网络地址转换(NAT))

操作系统:Ubuntu Server 16.04.2 SSH软件:Putty(远程连接工具,视本机操作系统选择对应版本的putty) ----------------------------------网络连接方式:桥接网卡----------------------------------- 第一步: 1)安装openssh-server,命令如下: sudo apt install openssh-server 因为我本机已经安装过openssh-server,所以截图与首次安装截图不一致(