注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

计算生物学实验室

http://www.bioms.net

 
 
 

日志

 
 

NAT(Network Address Translation)简介  

2011-09-23 22:12:49|  分类: Linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
NAT(Network Address Translation)是在IPv4地址日渐枯竭的情况下出现的一种技术,在RFC3022中定义,可将整个组织的内部IP都映射到一个合法IP上来进行Internet的访问,也可将外部对某IP的访问映射到内部的服务器上。与NAT相关的术语有IP伪装(IP Masquerade)、端口映射(Port Mapping)、端口地址转换(Port Address Translation)、透明代理(Transparent Proxy)等,它们都是NAT的某种表现形式。目前NAT功能基本上属于防火墙、路由器的标配功能之一。
 
    NAT分为源NAT和目的NAT两种,源NAT是指转换前源IP地址和转换后源IP地址不同,数据进入路由器或防火墙后,路由器将其源地址进行了转换后再将其发出,使外部看不到数据包原来的源地址,对于TCP/UDP协议的数据包,防火墙不仅修改地址,还通过修改源端口来区分不同内部地址的连接,因此NAT环境下一个合法IP最多可以有65535条TCP连接。例如我们访问新浪网,数据格式如下(假如我们的外网IP地址是202.112.13.151)
   源IP  源端口  目的IP  目的端口
 转换前  192.168.0.2

 10000

(该端口为1024-65532

之间随机生成)

 218.30.66.101  80
 转换后  202.112.13.151  20000(路由器随机)  218.30.66.101  80
 
    目的NAT是指转换前目的IP地址和转换后目的IP地址不同(对于TCP/UDP协议,也可以改变端口号),数据进入防火墙后,防火墙将其目的地址进行了转换后再将其发出,使看不到数据包原来的目的地址。例如上边新浪网回复我们的数据包格式如下
   源IP  源端口  目的IP  目的端口
 转换前  218.30.66.101

 80

 202.112.13.151  20000
 转换后  218.30.66.101

80

 192.168.0.2  10000
 
    以上NAT转换是路由器或者防火墙自动为我们转换的。不一定非要是10、172、192等三个私有网段才进行NAT转换,即便内用PC配置的公网IP,也可以进行NAT转换,这样可以起到隐藏内部网络结构,一定程度上防止网络攻击。在进行NAT时,如果是一个地址到一个地址的转换,称为一对一模式;如果是一个网段地址到一个地址的转换,称为多对一的转换;这个在我们的办公室内网比较多见。如果是一个网段地址到一个网段地址的转换,称为多对多的转换,比方说你有多个公网IP,那么数据出去的时候,会找一个连接比较少的IP转换,这样可以从一定程度上起到均衡负载的作用。
    上面的转换,端口都是随机的,而如果要将内网的一台服务器对外开放,就需要做端口映射了。即将访问外网IP的指定端口的数据包转发给我们需要开放的服务器上,这就是静态NAT了。
    NAT从另一个角度也可分为静态和动态两种,静态方式是明确指定了转换前后的地址和端口的情况,可以有一对一、一对多、多对一等方式,如果实际地址发生变化,NAT规则必须相应改变;而动态方式也就是IP伪装方式,是一种多到一的源NAT转换模式,一般只需指定转换前的地址,转换后地址则是防火墙的IP地址,此地址是可以动态改变的,而NAT规则可以不变。静态NAT一般用在防火墙IP地址都是固定的情况,而动态NAT用于防火墙IP地址不固定的场合,如ADSL拨号。动态情况下也可以进行目的NAT,但NAT规则是在获取了地址后才起作用。
 
    一般来说,源NAT多用于从内部网络到外部网络的访问,内部网络地址可以是保留IP地址;也可以是非保留地址。目的NAT多用于外部网络到内部服务器的访问,内部服务器可使用保留IP地址。当使用透明代理模式时,由内到外的访问实际上是一种目的NAT,是将访问的目的IP和目的端口转换为代理服务器的IP和代理端口。
 
    使用目的NAT功能时可实现负载均衡(Load Balance,LB)功能,假设防火墙外网卡上有一个合法IP,内部有多个服务器同时提供服务,当将访问防火墙外网卡IP的访问请求转换为这一组内部服务器的IP地址时,访问请求就可以在这一组服务器进行均衡。
 
    一般情况下的NAT或者修改源地址部分,或者修改目的地址部分,两者不同时修改。但在某些特殊情况下,有同时需要修改源和目的的需求,一种情况是同网段VPN的实现,同一个包在本地网关处修改源地址,在对方网关处修改目的地址;第二种情况是服务器和内部机器在相同的内部地址网段,但要求用服务器的外部合法地址访问服务器,即要将内部机器对防火墙外部地址的访问转为防火墙内部地址对服务器内部地址的访问,这种情况需要在防火墙上同时修改数据包的源和目的地址部分。
  评论这张
 
阅读(793)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018