[CS]NAT和NATP的区别


网络

    NAT的基本工作原理是,当私有网主机和公共网主机通信的IP包经过NAT网关时,将IP包中的源IP或目的IP在私有IP和NAT的公共IP之间进行转换。

    由于NAT实现是私有IP和NAT的公共IP之间的转换,那么,私有网中同时与公共网进行通信的主机数量就受到NAT的公共IP地址数量的限制。为了克服这种限制,NAT被进一步扩展到在进行IP地址转换的同时进行Port的转换,这就是网络地址端口转换NAPT(Network Address Port Translation)技术。

    NAPT与NAT的区别在于,NAPT不仅转换IP包中的IP地址,还对IP包中TCP和UDP的Port进行转换。这使得多台私有网主机利用1个NAT公共IP就可以同时和公共网进行通信。

    NAT的特点是在NAT网关上建立一个NAT映射表,里面记录了每个公网IP对应的私网IP的转换。     NAT的局限就是每个公网IP只能映射到一个私网IP上,所以有多少私网IP要上网,就必须用对应数量的公网IP来转换,所以就限制了数量了

    而PAT(NAPT)增加了端口的概念,每个私网IP对应同一个公网IP的不同端口号,这样子就能实现多个私网IP共用一个公网IP了。

    外网要访问你这个内网主机,目的地址就是公网IP和代表你的端口号(这里也涉及一个映射回去的问题,也就是端口映射)