有四种NAT转换模型可以涵盖当前NAT的基本应用。
在路由器上手工配置私有IP地址和公网IP地址的对应关系,一经配置,转换表永久存在。明显的例子是NAT路由器上配置外网用户访问内网的服务器:内网服务器依然使用私网地址,在NAT路由器上,分配一个公网地址并配置私网地址/公网地址的转换表,对外提供公网IP地址给外部网络用户访问。
NAT转换表:202.110.10.10 8080 ---> 10.110.10.10 80 (www)
路由器上保留一个合法地址列表,每当有转换需求的时候,从列表中选择一个进行转换。注意:动态转换依然是一对一的。
1)由于从列表中选择,每次转换采用的IP地址并不一定是同一个;
2)合法地址被采用后,其他的转换需求不能再使用这个合法IP。
在动态转换中,每个合法的IP地址只能在转换表中使用一次,在内部网络主机访问外部需求增多的情况下,合法地址列表中的IP地址会很快不够用。这时,可以利用上层协议标识,例如利用传输层TCP/UDP的端口号字段来协助建立NAT转换表项(ICMP报文的ICMP头中的Identifier字段也可以用来实现与端口号类似的功能)。这样,多个私有地址可以通过一个合法地址进行转换,这种类型的NAT转换也可以称为PAT(端口地址转换)。
转换表项例子:
10.10.1.1 100 202.110.10.1 100
10.10.1.1 101 202.110.10.1 101
10.10.1.2 102 202.110.10.1 102
......
理论上,1个公网地址可以提供的转换表项为2^16=65535个(尚未扣除知名端口数量)。这是INTERNET上NAT的典型应用。通过复用转换,还可以实现服务器负载分担的功能。
内部网使用的地址跟外部网重叠,这时需要把跟外部重叠的IP地址进行变换。在NAT路由器上,将外部网的重叠IP重新映射成不重叠的IP地址。这个方案可以解决使用相同私网网段的企业网络的合并问题。
|