NAT穿透(UDP打洞)

本文介绍了NAT的类型,包括基本NAT、NAPT,以及如何检测NAT类型,着重讲解了对称NAT的特点。此外,探讨了NAT映射老化时间和配置方法。针对UDP打洞,讨论了P2P通信的条件,解释了为什么UDP更适合打洞,并阐述了TCP打洞的挑战和解决方案,包括ALG、UPnP、STUN、TURN和ICE等技术的应用。
摘要由CSDN通过智能技术生成

1、NAT(Network Address Translator)介绍

在这里插入图片描述
NAT有两大类,基本NAT和NAPT。

1.1、基本NAT
静态NAT:一个公网IP对应一个内部IP,一对一转换
动态NAT:N个公网IP对应M个内部IP,不固定的一对一转换关系

1.2、NAPT(Network Address/Port Translator)
现在基本使用这种,又分为对称和锥型NAT。

锥型NAT,有完全锥型、受限制锥型、端口受限制锥型三种:

a)Full Cone NAT(完全圆锥型):从同一私网地址端口192.168.0.8:4000发至公网的所有请求都映射成同一个公网地址端口1.2.3.4:62000 ,192.168.0.8可以收到任意外部主机发到1.2.3.4:62000的数据报。
b)Address Restricted Cone NAT (地址限制圆锥型):从同一私网地址端口192.168.0.8:4000发至公网的所有请求都映射成同一个公网地址端口1.2.3.4:62000,只有当内部主机192.168.0.8先给服务器C 6.7.8.9发送一个数据报后,192.168.0.8才能收到6.7.8.9发送到1.2.3.4:62000的数据报。
c)Port Restricted Cone NAT(端口限制圆锥型):从同一私网地址端口192.168.0.8:4000发至公网的所有请求都映射成同一个公网地址端口1.2.3.4:62000,只有当内部主机192.168.0.8先向外部主机地址端口6.7.8.9:8000发送一个数据报后,192.168.0.8才能收到6.7.8.9:8000发送到1.2.3.4:62000的数据报。

对称NAT:

把所有来自相同内部IP地址和端口号,到特定目的IP地址和端口号的请求映射到相同的外部IP地址和端口。如果同一主机使用不同的源地址和端口对,发送的目的地址不同,则使用不同的映射。只有收到了一个IP包的外部主机才能够向该内部主机发送回一个UDP包。对称的NAT不保证所有会话中的(私有地址,私有端口)和(公开IP,公开端口)之间绑定的一致性。相反,它为每个新的会话分配一个新的端口号。

对称NAT是一个请求对应一个端口,非对称NAT是多个请求对应一个端口(象锥形,所以叫Cone NAT)。

1.3、检测NAT类型:
连接服务器为A,NAT检测服务器为B。

第一步:当一个接收客户端(Endpoint-Receiver ,简称 EP-R)需要接收文件信息时,在其向连接服务器发送文件请求的同时紧接着向检测服务器发送NAT检测请求。此处再次强调是“紧接着”,因为对于对称型NAT来说,这个操作可以直接算出其地址分配的增

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值