通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索
查看: 5462|回复: 1
打印

NAT原理 [复制链接]

军衔等级:

  上等兵

注册:2013-1-17
跳转到指定楼层
1#
发表于 2013-2-27 14:41:40 |只看该作者 |倒序浏览

NAT原理
仅供内部使用
  
版  本  号:
  
V0.1
保 密 等 级:
秘密  □机密  □绝密
制:
核:

修订记录
  
日期
  
版本号
描述
作者
2010-11-23
0.1
初稿完成
钟勇生
2010-11-30
0.2
补充外网访问内网详细过程
钟勇生

目录
       3.1内网用户访问外网过程--------------------------------------------------------------------------------------2
       3.2外网用户访问内网服务器过程-----------------------------------------------------------------------------2


关键词:
NAT 网络地址转换
摘 要:
网络地址转换(NAT)作为一种接入广域网(WAN)技术,是目前企业中使用最频繁的一种技术,对于掌握它的工作原理是非常有必要的。

1      NAT概述
网络地址转换(NAT , Network Address Translation)
功能:将私网IP地址转化为合法公网IP地址。
目的:完美地解决了lPv4地址不足的问题。
附带优势:有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
2      NAT类型
第一种:静态转换Static Nat
第二种:动态转换Dynamic Nat
第三种:端口多路复用OverLoad
第四种:动态转换+端口多路复用
Static Nat一对一的关系,是将一个私网IP地址转变成一个公网IP地址,主要是用于发布内网服务器,如:WEB、FTP、MAIL、BBS等
Dynamic Nat多对少的关系,比如内网有3个用户,外网地址池中定义了2个公网IP,第一个用户访问外网时可以拿到第一个公网IP,第二个用户访问外网可以拿到第二个公网IP,此时第三个用户就无法访问外网了,只能当前两个用户中的一个停止访问外网时,也就是释放了公网IP时,第三个用户才可以利用前用户释放的公网IP访问外网,因此这种也是最不常用的一种。     
OverLoad多对一的关系,指内网所有用户访问外网,都使用同一个公网IP地址访问,它的弊端在于,当内网用户非常多时,就会出现非常卡的情况,也就是网速非常慢,因为一个IP地址,只支持1024-65535(理论值)条会话数,当一个内网用户访问一个163的网站时,差不多就有上百条TCP或UDP会话。
Dynamic+Overload多对少的关系,这种关系完全不同于动态转换,它是可以指定特定一部分内网IP地址访问外网时,使用一个公网IP,另外一部分内部IP地址访问外网时,使用另外一个公网IP地址,第三部分用户访问外网时,使用第三个外网IP地址,这样就有效的规避了Dynamic NatOverLoad 的缺点,因此这种是使用频率最高的一种。
3      NAT工作原理
3.1内网用户访问互联网工作过程
我们以上图中局域网内计算机B的用户, 要通过NAT服务器连接外部的网站为例 ,来介绍NAT的工作过程。
I计算机B将上网的数据包传送给NAT服务器。此数据包包头内的源IP地址为172.16.1.3,端口为1024(此端口由服务器动态产生从1024-65535);而目的IP地址为117.41.161.100,目的端口为80。
IINAT服务器收到数据包后,会将数据包包头内的源IP地址与端口改变成NAT服务器的IP地址与端口,IP地址就是public IP 218.242.10.178,而端口就是动态产生的,我们假设是1025。NAT不会改变此数据包的目的IP地址与端口。
同时,NAT会建立一个如下所示的对照表,以便后面可以按照此表,正常地将从网站得到的网页内容回传给计算机B(这个对照表被称为“NAT table”)。
来源IP地址
来源端口
变更后的来源IP地址
变更后的来源端口
192.168.1.3
1024
218.242.10.178
1025
III网站收到浏览网页的数据包后,会根据数据包内的来源IP地址与端口将所需网页传送给NAT服务器。所传送网页的数据包中的源IP地址为117.41.161.100,端口为80;目标IP地址为218.242.10.178,端口为1025。
IVNAT服务器收到网页数据包后,会根据其内的NAT table,将数据包中的目的IP地址变更为192.168.1.3,目的端口变更为1024,但是不会变更来源IP地址与端口。然后将网页数据包传送给计算机B的浏览器来处理。
3.2外网用户访问内网服务器过程
通过在TCP/UDP端口映射功能,就可以让使用私网 IP 的网站、FTP站点、电子邮件服务器来对外提供服务,以上图为例来说,首先我们在NAT服务器里定义如下Static端口映射
协议类型
内部全局地址
内部局部地址
tcp
218.242.10.178:80
172.16.1.2:80
tcp
218.242.10.178:20
172.16.1.3:20
tcp
218.242.10.178:21
172.16.1.3:21
注:不同设备建立上表的方法不同,如在CISCO路由器里建立上表,可用如下三条命令
ip nat inside source static tcp 172.16.1.2 80218.242.10.178 80
ip nat inside source static tcp 172.16.1.3 20218.242.10.178 20
ip nat inside source static tcp 172.16.1.3 21218.242.10.178 21
在windows 2003上用图形画界面,点几下就可以了。但不管用何种平台,原理都是一样的。
上图Static端口映射完整的意思为:外网传送给IP 218.242.10.178端口为80的TCP数据包,NAT都会将其转送给IP地址为 172.16.1.2机器里的,端口为80的程序(也就是网站)处理。网站将所需的网页传送给NAT服务器,再由NAT服务器根据static端口映射表将其传送给外部用户的计算机。
外网传送给IP 218.242.10.178端口为21的TCP数据包,NAT都会将其转送给IP地址为 172.16.1.3机器里的,端口为21的程序(也就是FTP站点)处理。FTP将所需的文件传送给NAT服务器,再由NAT服务器根据static端口映射表将其传送给外部用户的计算机。
以下是上图中外网用户,要通过NAT服务器访问内网的网站和FTP服务器的全过程。
假设外网用户IP117.41.161.100
I、当有外网用户通过http:// 218.242.10.178 /路径来连接网站时,立即产生如图1-1IP数据包
IP
源端口
目标IP
目标端口
117.41.161.100
1024
218.242.10.178
80
1-1
IINAT接受到此数据包后,会根据static端口映射表,将数据包的目标IP地址替换为内网网站IP地址,
数据包的结构如图1-2
IP
源端口
目标IP
目标端口
117.41.161.100
1024
172.16.1.2
80
1-2
III、该数据包被路由到内网网站后,网站程序立即会产生一个应答数据包,其包结构如图1-3
IP
源端口
目标IP
目标端口
172.16.1.2
80
117.41.161.100
1024
1-3
IV、当该数据包被路由到NAT后,NAT程序又会根据static端口映射表,替换其数据包内的源IP地址,包结构如图1-4
IP
源端口
目标IP
目标端口
218.242.10.178
80
117.41.161.100
1024
1-4
最终该数据包会被路由到外网用户
外网用户,要通过NAT服务器访问内网的FTP服务器过程和以上过程是一样的,把80替换为2021即可
4      总结
a、通过以上文字分析,主要目的是为了让大家能了解NAT的基本原理,不论用何种方式实现NAT,其原理都是相同的。
b、当前我们公司使用的为ISA防火墙,里边集成了NAT功能,不需要管理员配置。只要定义相关防火墙策略规则就默认让所有内网客户机被NAT,我们公司在定义策略时,是只允许特定的IP地址被NAT,所以如果客户机想通过NAT上网,必须让管理员把自己的IP地址,添加到ISA的规则中。

举报本楼

本帖有 1 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

版规|手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2025-8-22 02:35 , Processed in 0.533578 second(s), 17 queries , Gzip On.

Copyright © 1999-2025 C114 All Rights Reserved

Discuz Licensed

回顶部