NAT(NAPT)地址转换过程

整理自NAT地址转换过程


注:本文实质讲的是NAPT(Network Address Port Translation),即网络端口地址转换。NAPT与动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的TCP端口号。NAPT算得上是一种较流行的NAT变体,通过转换TCP或UDP协议端口号以及地址来提供并发性。除了一对源和目的IP地址以外,这个表还包括一对源和目的协议端口号,以及NAT盒使用的一个协议端口号。
        说简单点就是在NAT的基础上增加了一个端口号,使原来单纯的IP地址之间的映射转变为端口的映射,可以使一个公网IP对应多个内网IP,这样内网IP的数量就可以不受限制了。

过程:

客户机将数据包发给运行NAT的计算机。NAT主机将数据包中的源端口号和源私有IP地址转换成自己的端口号和公网的IP地址,然后将数据包发给外部网络的目的主机。NAT主机记录一条跟踪信息在地址转换映像表中,以便向客户机发送响应信息。外部网络发送回送信息给NAT主机。NAT主机根据映像表中的记录,将所收到数据包的端口号和公用IP地址转换成目标主机的端口号和内部网络中目标主机的专用IP地址,并转发给目标主机。

举例:

内网机器(192.168.0.5) 访问目标主机(220.181.28.42)


1、客户机发送数据包

目的主机 220.181.28.42
目的端口 80
源主机 192.168.0.5         (内网的私有IP)
源端口 1025                  (随机打开)

  
2、进行地址转换

目的主机 220.181.28.42

目的端口 80

源主机 218.22.192.21  (NAT服务器的公网IP)

源端口 5000                (随机打开)

  
3、记录映像

192.168.0.5 tcp 1025 —– 218.22.192.21 tcp 5000

  
4、外部网络主机向NAT主机发送响应信息

目的主机 218.22.192.21

目的端口 5000

源主机 220.181.28.42

源端口 80

  
5、查找映像关系将数据包发给客户机

目的主机 192.168.0.5

目的端口 1025

源主机 220.181.28.42

源端口 80

Published by

风君子

独自遨游何稽首 揭天掀地慰生平