nat (Network Address Translation)是一种吧内网ip端口转换为外网地址端口的网络设备。
一般作为局域网内网的网关。
nat有几种不同的类型
1 full clone 全克隆,一个内网ip,端口映射一组外网ip,端口
2 地址限制型克隆,一组内网ip,端口也对应一组外网ip,端口,但是只有内网ip和端口先向另一个外网ip和端口发送数据包之后,才能正常相互通信。发出去包之后,nat登记了外网的ip地址。
3 比第二种要求更严格一些,就是除了限制了外网的ip,同时也限制了外网的端口
4 对称型nat, 每次会话不保证内网ip和端口映射到同一个ip和地址
p2p 打洞,一般指的是udp打洞,1,2,3都可以打洞 4 不行,因为ip地址在变化
1 很简单,内网ip端口直接往外发包,然后外网三方服务器回应
2 内网机器A,B先向外网服务器C发送包,然后C记录A,B的外网ip和端口。 然后C告诉A,B的外网ip和端口,告诉B,A的外网ip和端口,然后A向B的外网地址和端口发包,同样B也这样发包,这样虽然包没能发送出去,但是相互在自己的nat上登记了对方的ip和端口,下一次发包就能通信了。
3 打洞方式和2一样。
4 不能打洞