Chinaunix首页 | 论坛 | 博客
  • 博客访问: 446053
  • 博文数量: 750
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 4970
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-09 12:36
文章分类

全部博文(750)

文章存档

2011年(1)

2008年(749)

我的朋友
最近访客

分类:

2008-09-09 15:25:18


  小编附言:有关网络地址转换(NAT)的文章,搜索一下,到处都是。如:但是,到底网络地址转换(NAT)如何工作的呢?下面我们详细讲解一下网络地址转换(NAT)的工作原理,再附带说一下它的类型。
  -------------------------
  
  网络地址转换 (NAT) 是指符合 RFC 1631 标准的 IPv4 器,它能够在发送前解析数据包 IP 地址以及 TCP/UDP 端口号。例如,设想一个由多台计算机组成的,连接到 Internet 的小型商务网。通常需要为每台连接到 Internet 的电脑从 Internet 服务提供商 (ISP) 处得到一个 IP 地址。但是通过 NAT,这个小型的商务网就可以使用私有地址 (如 RFC 1918 所述) ,然后通过 NAT 将专用地址映射到单个或者多个 IP 公用地址。
  
  NAT 是针对以下各项要求的常见解决方案:
  
  • 你想利用一条连接访问 Internet,而不是将多台电脑连接到 Internet 上。
  • 你想使用私有地址。
  • 你想在不部署代理的情况下使用 Internet 资源。
  
  网络地址转换的工作原理
  当一台小型商务企业的内部网计算机用户连接到 Internet 资源时,该用户的 TCP/IP 产生一个 IP 数据包,该数据包包含以下值,这些值位于 IP 和 TCP 或 UDP 标头中:(粗体内容表示受 NAT 影响的项目):
  
  • 目标 IP 地址:Internet 资源 IP 地址
  • 源 IP 地址:私有 IP 地址
  • 目标端口:Internet 资源 TCP 或 UDP 端口
  • 源端口: 源应用程序 TCP 或 UDP 端口
  
  请求源主机或者其它路由器将此 IP 数据包发送给 NAT, 然后由 NAT 将向外发送的数据包的地址解析如下:
  
  • 目标IP地址:Internet 资源 IP 地址
  • 源IP 地址:ISP 分配的公用地址
  • 目标端口:Internet 资源 TCP 或 UDP 端口
  • 源端口:重新映射的源应用程序 TCP 或 UDP 端口
  
  NAT 将重新映射的 IP 数据包发送到 Internet 。响应计算机将向 NAT 返回一个响应。当 NAT 接收到此响应时,该数据包将包含以下地址信息:
  
  • 目标IP 地址:ISP 分配的公用地址
  • 源IP地址:Internet 资源 IP 地址
  • 目标端口:重新映射的源应用程序 TCP 或 UDP 端口
  • 源端口:Internet 资源的 TCP 或者 UDP 端口
  
  当 NAT 完成映射和解析地址后,将向 Internet 客户端发送数据包,此数据包包含以下地址信息:
  
  • 目标 IP 地址:私有 IP 地址
  • 源 IP 地址:Internet 资源 IP 地址
  • 目标端口:源应用程序 TCP 或者 UDP 端口
  • 源端口:Internet 资源 TCP 或 UDP 端口
  
  对于向外发送的数据包,源 IP 地址和 TCP/UDP 端口号将被映射到一个公用源 IP 地址和一个可能变化的 TCP/UDP 端口号。对于接收的数据包,目标 IP 地址和 TCP/UDP 端口号将被映射到私有 IP 地址和初始 TCP/UDP 端口号。
  
  例如,一个小型办公网络使用 192.168.0.0/24 作为企业内部网络私有 ID 并且其 Internet 网络服务提供商分配的单一公用IP地址为131.107.0.1。当此小型内部网中一台内部私有地址为 192.168.0.99 的客户访问 IP 地址为 157.60.0.1的网站时,此用户机的 TCP/IP 产生一个包含以下在 IP 和 TCP 或者 UDP 标头中的数值的 IP 数据包:
  
  • 目标IP地址:157.60.0.1
  • 源IP地址: 192.168.0.99
  • 目标端口:80
  • 源端口:1025
  
  
  请求源主机将此 IP 数据包发送给 NAT 设备,然后由 NAT 设备解析向外发送数据包的地址如下:
  
  • 目标 IP 地址:157.60.0.1
  • 源 IP 地址:131.107.0.1
  • 目标端口:80
  • 源端口:5000
  
  NAT 将重新映射后的 IP 数据包发送到 Internet。网站服务器向 NAT 返回一个响应。当 NAT 接受到此响应时,数据包包含以下地址信息:
  
  • 目标IP地址:131.107.0.1
  • 源IP地址:157.50.0.1
  • 目标端口:5000
  • 源端口:80
  
  当 NAT 完成地址的映射和解析后,它将此数据包发送给 Internet 客户端,数据包包含以下地址信息:
  
  • 目标IP地址:192.168.0.99
  • 源IP地址:157.60.0.1
  • 目标端口:1025
  • 源端口:80
  
  

  
展示了此例子的配置方式。

  
  从私用流量到公共流量的映射储存在一个 NAT 转换表中,包括两种类型的条目:
  
  1. 动态映射
  在专用网络用户开始通信时产生。除非被与 NAT 转换表相对应的流量所刷新,否则动态映射在指定的时间后将从 NAT 转换表中删除。
  
  2. 静态映射
  通过手动设置,使 Internet 客户进行的通信能够映射到某个特定的私有网络地址和端口。如果想让连接在 Internet 上的计算机能够使用某个私有网络上的服务器(如网站服务器)以及应用程序(如游戏),那么静态映射是必需的。静态映射不会从 NAT 转换表中删除。
  
  如果在 NAT 转换表中存在某个映射,那么 NAT 只是单向地从 Internet 向私有网络传送数据。这样,NAT 就为连接到私有网络部分的计算机提供了某种程度的保护。但是,如果考虑到 Internet 的性,NAT 就要配合全功能的一起使用。
  
  NAT 的类型
  以下各类 NAT 的定义:
  
  • Cone(Cone) NAT
  完全 NAT 是指在 NAT 转换表中了内部地址和端口号与外部地址和端口号之间映射关系的一类 NAT。一旦 NAT 转换表开始工作,来自任何源地址和端口通往外部地址和端口的入站数据包都将被转换。
  
  • 受限 NAT
  受限 NAT是指在 NAT 转换表中了内部地址和端口号与外部地址和端口号之间的映射,无论是特定的源地址或者特定源地址与端口号。如果从某个未知外部地址或者端口到外部目标地址和端口的入站数据包与 NAT 转换表吻合,那么此数据流将被自动放弃。
  
  • 对称 NAT
  对称 NAT 是指根据外部目标地址(适用于出站数据包)将相同的内部地址和端口号映射到不同的外部地址和端口号的 NAT。
【责编:admin】

--------------------next---------------------

阅读(251) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~