1-NAT概述
NAT的实现方式
- 静态转换(Static Translation)
- 动态转换(Dynamic Translation)
- 端口多路复用(Port Address Translation ,PAT)
NAT的术语和转换表
内部网络中的PC使用私有地址192.168.1.2访问Internet上的服务器203.51.23.55.
- PC向服务器发送数据包时,数据包经过一台运行NAT的路由器。NAT将数据包中的私有地址(192.168.1.2)转换成一个公用地址(125.25.65.3),并将数据包转发出去。
- 服务器收到PC发送的数据包后,给PC发送应答时,数据保重的目的地址是125.25.65.3(NAT转换后的公用地址)。数据包再次经过路由时,NAT将目的地址转换成PC使用的私有地址(192.168.1.2)
NAT对于地址转转中的终端设备时透明的。
内部局部IP地址(Inside Local IP Address)
在内部网络中分配给主机的私有IP地址。
该地址是从RFC1918(私有互联网空间地址分配)所定义的私有地址空间中分配的,或者随机挑选的。
内部全局地址(Inside Global IP Address)
一个合法的IP地址(有NIC或者网络服务提供商分配)。它对外代表一个或多个内部局部IP地址。
该地址通常是从全球统一可选址的地址空间中分配的,一般由互联网服务提供商(ISP)提供。
外部全局IP地址(Outside Global IP Address)
由其所有者给外部网络上的主机分配的IP地址。该地址通常也是从全球统一可寻址的地址空间中分配的。
外部局部地址(Outside Local IP Address)
外部主机表现在内部网络的IP地址。这一地址是从内部可寻址的地址空间中分配的,
很可能是从注入RFC1918中所定义的保留地址空间中分配的。
简单转换条目(Simple Translation Entry)
将一个IP地址映射到另一个IP地址的转换条目。
扩展转换条目(Extended Translation Entry)
映射IP地址和端口到另一对IP地址和端口的条目
NAT实现方法的工作过程
1.静态转换和动态转换
使用NAT转换内部局部地址,就是在内部局部地址和内部全局地址之间建立一个映射关系。下图中,内部局域网网段的地址10.1.1.0/24 经过NAT,转成192.168.2.0/24的内部全局地址。
(1)网络内部主机10.1.1.1上的用户建立到外部主机B的一条链路。
(2)边界路由器从主机10.1.1.1接收到第一个数据包时,将检查NAT转换表
(3)如果已为改地址配置了静态地址转换,或者,该地址的动态地址转换已经建立,那么,路由器将继续进行步骤“4”。否则,路由器会决定对地址10.1.1.1进行转换。路由器将为其从动态地址集中分配一个合法地址,并建立从内部局部地址10.1.1.1到内部全局地址(例如192.168.2.2)的映射。这种类型的转换条目成为简单转换条目。
(4)边界路由器所选的内部全局地址192.168.2.2来替换内部局部IP地址10.1.1.1,并转发该数据包。
(5)主机B收到该数据包,并且用目的地址192.168.2.2对内部主机10.1.1.1进行应答。
(6)当边界路由器接收到目的地址为内部全局地址的数据包时,路由器将用该内部全局地址通过NAT转换表查找出内部局部地址。然后,路由器将数据包中的目的地址替换成10.1.1.1的内部局部地址,并将数据包转发到内部主机10.1.1.1.主机10.1.1.1接收该数据包,并继续该会话。对于每个数据包,路由器都将执行步骤(2)到(5)的操作。
2.PAT
复用内部的全局地址,就是通过准许对TCP连接或UDP会话的端口进行转换,从而节省内部全局地址集中的合法地址。
(1)网络内部主机10.1.1.1上的用户建立到外部主机B的一条连接。
(2)边界路由器从内部主机10.1.1.1接收到第一个数据包时,会检查其NAT转换表
(3)如果还没有改内部地址建立地址转换映射,路由器会决定对该地址进行转换。路由器会为内部全局地址10.1.1.1尽力到内部全局合法地址(如192.168.2.2)的映射。
(4)如果启用了地址复用功能,而且已经有其他地址转换映射存在,那么,路由器将再次启用内部全局地址192.168.2.2,为该内部局部地址建立映射。同时为该映射与其他转换条目进行区分并保留足够的信息。这种类型的转换条目(包含IP地址和端口号)称为扩展转换条目。
(5)边界路由器所选的内部全局地址192.168.2.2来替换内部局部IP地址10.1.1.1,并转发该数据包。
(6)主机B收到该数据包,并且用目的地址192.168.2.2来对内部主机10.1.1.1进行应答。
(7)当边界路由器接收到目的地址为内部全局IP地址的数据包时,路由器将用内部全局地址及协议端口号和外部地址及端口号,从NAT转换表中查找出对应的内部局部地址和端口号。然后将目的地址转换成内部局部地址10.1.1.1,并将数据包转发到内部主机。主机10.1.1.1接收数据包,并继续该会话。对于每个数据包,路由器都将执行步骤(2)到步骤(5)。
NAT的特性
1.NAT的优势和缺点
- NAT的优点
- 节省公有合法IP地址
- 处理地址重叠
- 增强灵活性
- 安全性
- NAT的缺点
- 延迟增大
- 配置和维护的复杂性
- 不支持某些应用
2.NAT支持的数据流
支持的业务类型和应用 | 支持在数据流中有IP地址的业务类型 | 不支持的业务类型 |
---|---|---|
任何应用数据流中不承载源/目的IP地址的TCP/UDP业务 | ICMP | 路由表更新 |
HTTP | FTP(包括PORT和PASV) | DNS区域传送 |
TFTP | TCP/IP上的NetBIOS(数据报、名称和会话服务) | BOOTP |
Telnet | DNS | talk,ntalk |
NTP | H.323/NetMeeting | SNMP |
NFS | IP多播(只转换源地址) | Netshow |