NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本 的NAT和NAPT(NetworkAddress/Port Translator)。
基本的NAT会改变IP包中的原IP地址,但是不会改变IP包中的端口,关于基本的NAT可以参看RFC1631
另外一种NAT叫做NAPT,从名称上我们也可以看得出,NAPT不但会改变经过这个NAT设备的IP数据报的IP地址,还会改变IP数据报的TCP/UDP端口。
由于NAPT 比较常见,这里只介绍NAPT
NATP原理:
NAPT(Network Address Port Translation)即网络端口地址转换,就是将多个内部地址映射为一个合法公网地址,但以不同的协议端口号与不同的内部地址相对应。也就是<内部地址+内部端口>与<外部地址+外部端口>之间的转换,内部端口与外部端口不一定相同,由端口映射规则决定。NAPT普遍用于接入设备中,它可以将中小型的网络隐藏在一个合法的IP地址后面。
NAPT使得一组主机可以共享唯一的外部地址,当位于内部网络中的主机通过NAT设备向外部主机发起会话请求时