NAT类型的判断(RFC3489)

一、NAT网络分为4大类型:

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

2、Restricted Cone NAT(限制锥形):所有内网的IP和端口的请求,都会被映射成同一个外网IP和端口,但是只有内网主动通讯过的外网主机可访问内网主机。

3、Port Restricted Cone NAT(端口限制锥形):类似于限制锥形,不同之处还限定了端口,只有内网主机发过包给外网的地址 I 和端口 P,外网的地址I和端口P才能发数据包给内网主机。

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

 二、判断

【Full Cone NAT】当STUN客户端收到捆绑响应消息之后,它会将自己发送捆绑请求时绑定的本地IP地址和端口号同捆绑响应消息中的IP地址和端口号进行比较,如果不匹配,就表示客户端正处于一个或者多个NAT的前面;如果匹配则是Full Cone NAT,Full-Cone NAT的情况下,在捆绑响应消息中的IP地址和端口是属于公网的,公网上的任何主机都可以使用这个IP地址和端口号向这个应用程序发送数据包。

【Symmetric NAT】客户端再发送一个捆绑请求,这次发往另一个IP地址,但是使用的是跟上一次同一个源IP地址和源端口号,如果返回的数据包里面的IP地址和端口号和第一次返回的数据包中的不同,客户端就会知道它是在一个对称NAT的前面。

【Restricted Cone NAT】与【Port Restricted Cone NAT】 STUN协议允许客户端请求服务器从收到捆绑请求的IP地址往回发捆绑响应,但是要使用不同的端口号。这可以用来检查客户端是否在Port Restricted Cone NAT的前面还是在Restricted Cone NAT的前面。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RFC 5780是一个关于TCP NAT网络地址转换)检测的标准文档。在网络通信中,TCP NAT检测用于确定通信中是否存在网络地址转换设备,并帮助通信双方适应这种网络环境。 TCP NAT检测是通过比较通信双方的IP地址和端口号来进行的。在正常情况下,TCP连接的两端具有唯一的IP地址和端口号。然而,当存在网络地址转换时,可能会出现多个TCP连接共享相同的公共IP地址,但具有不同的端口号。 RFC 5780定义了两种方法来进行TCP NAT检测:Endpoint-Independent Mapping和Endpoint-Dependent Mapping。 Endpoint-Independent Mapping意味着两端的TCP连接可以使用任意的IP地址和端口号进行通信。这种情况下,可以通过发送特定的TCP报文并检查返回的报文中的IP地址和端口号来判断是否存在网络地址转换。 Endpoint-Dependent Mapping意味着两端的TCP连接必须使用相同的IP地址和端口号进行通信。这种情况下,可以通过在TCP连接中传输特定的数据并观察返回数据中的IP地址和端口号的变化来判断是否存在网络地址转换。 RFC 5780还提供了一种方法来检测TCP NAT的IP映射的生存时间。此方法通过测试数据包传输过程中IP映射的变化频率来确定网络地址转换设备的性能和对连接的影响。 总之,RFC 5780定义了一套方法和机制来帮助检测TCP连接中的网络地址转换,并提供了对现有TCP连接进行适应的指导。这对于确保网络通信的正常运行和可靠性非常重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值