NAT类型与检测

NAT类型与检测

一、NAT分类
Full Cone NAT(完全圆锥型)
Address Restricted Cone NAT(地址限制圆锥型)
Port Restricted Cone NAT(端口限制圆锥型)
Symmetric NAT(对称型)

1.Full Cone NAT
完全锥形NAT,所有从同一个内网IP和端口号发送过来的请求都会被映射成同一个外网IP和端口号,并且任何一个外网主机都可以通过这个映射的外网IP和端口号向这台内网主机发送包。

2.Address Restricted Cone NAT
地址限制锥形NAT,它也是所有从同一个内网IP和端口号发送过来的请求都会被映射成同一个外网IP和端口号。与完全锥形不同的是,外网主机只能够向先前已经向它发送过数据包的内网主机发送包。

3.Port Restricted Cone NAT
端口限制锥形NAT,与限制锥形NAT很相似,只不过它包括端口号。也就是说,一台IP地址X和端口P的外网主机想给内网主机发送包,必须是这台内网主机先前已经给这个IP地址X和端口P发送过数据包。

4.Symmetric NAT

对称型NAT,所有从同一个内网IP和端口号发送到一个特定的目的IP和端口号的请求,都会被映射到同一个IP和端口号。如果同一台主机使用相同的源地址和端口号发送包,但是发往不同的目的地,NAT将会使用不同的映射。此外,只有收到数据的外网主机才可以反过来向内网主机发送包。

二、使用STUN服务器检测设备所处网络的NAT类型
STUN服务器需要两个公网IP,下面client是要检测的设备,server是STUN服务器,并假设server的两公网SOCKET的IP地址和端口号分别是IP1:port和IP2:port。
-- STEP1 --
client向server IP1:port发送请求,server使用IP1:port将收到请求的源IP和port(即设备的公网IP地址和端口号)回复给client,如果得到的公网IP和设备自身的IP一样,则判断设备自身处在公网,无NAT,检测结束,否则进行下一步STEP2。
-- STEP2 --
client向server IP1:port发送请求,server使用IP2:port来回复,如果设备能收到回复,则判断为Full Cone NAT,检测结束,否则进行下一步STEP3。
-- STEP3 --
client向server IP2:port发送请求,server使用IP2:port将收到的源IP和port回复给client,client判断此port和STEP1得到的port是否一样,如果不一样,则为Symmetric NAT,检测结束;如果一样,则为Restricted Cone NAT,进行下一步STEP4继续检测是哪种Restricted Cone NAT。
-- STEP4 --
client向server IP2:port发送请求,要求server使用该IP的另一个端口来回复,server使用IP2:port2回复请求,如果client能收到回复,则判断为 Address Restricted Cone NAT,否则为Port Restricted Cone NAT。

参阅:http://blog.csdn.net/yu_xiang/article/details/9227023



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值