6.3.3 端口映射NAT

目前广泛采用的NAT技术是通过TCP和UDP协议端口号以及IP地址来提供地址转换的映射,这种方案称为网络地址端口转换NAPT(Network Address Port Translation)。它将NAT转换表扩展为包含附加的端口等信息,从而实现通过单一的全局IP地址,为多台内部主机同时访问外部主机提供支持。

如下图所示为一个NAPT使用的转换表的例子。表中的表项分别对应于4台内部计算机,它们在访问Internet上的目的主机。由于源IP地址和源端口的唯一性不能保证,即可能出现同一内部主机的使用不同端口,或不同主机使用同一端口访问Internet的目的主机,因此,NAT给用于Internet的每个通信分配一个独特的端口号。以图中的第一项为例,TCP的连接对应的四元组为(10.0.0.5,13023,128.10.19.20,80)。经过NAPT转换后Internet中接收数据报的计算机表示的四元组为(G,14003,128.10.19.20,80)。

可见,NAPT的优势在于采用单一的全局IP地址实现了多台内部主机同时的外部访问,并保证了访问的普适性;其局限性在于必须采用UDP或TCP协议,因为需要根据这两个协议的端口号来实现映射。