NAT穿透原理及代码(Java)
1.什么是NAT?
NAT是一种网络地址翻译技术,将内部私有IP地址改变成可以在公网上使用的:公网IP。
NAT技术出现的原因:
IPV4 公网IP地址太少了不够用,才使NAT技术兴起。
2.NAT的方式:
1)静态地址转换:一个公网IP对应一个内部IP,一对一转换;
2)动态地址转换:N个公网IP对应M个内部Ip,不固定的一对一IP转换关系.同一时间,有M-N个主机无法联网;
3)端口多路复用:对外只有一个公网IP,通过端口来区别不同内部IP主机的数据;
3.NAT穿透原理:
1)UDP打洞:
2)TCP打洞: