Sašo Asked: 2012-05-09 05:47:25 +0800 CST2012-05-09 05:47:25 +0800 CST 2012-05-09 05:47:25 +0800 CST 双(或更多)NAT/PAT 有多普遍? 772 背景:我正在用UDP做一个打洞服务,为了区分同一个公网IP下的用户,我想过让用户也发送他们的本地IP。这样,我用 1 块石头杀死了 2 只鸟:客户端被唯一标识,同时还使服务器为用户提供建立直接连接(如果可能),而不是发夹连接。 一切看起来都很完美(尤其是唯一标识),直到我意识到这是可能的: 所以这里是真正的问题:这种情况有多普遍,如果它们被使用,以及在哪里? nat pat 3 个回答 Voted Best Answer mulaz 2012-05-09T05:53:45+08:002012-05-09T05:53:45+08:00 这种情况在中国这样的国家很常见,而在其他国家则有较小的 ISP(尤其是 wifi ISP)。他们获得相对较小范围的IP,然后为他们的用户做一个大规模的NAT。 当然,这些用户中的大多数购买了便宜的 SOHO 路由器,并落在 192.168.1.0/24 范围内的内部 NAT。 Sibster 2012-05-09T06:06:38+08:002012-05-09T06:06:38+08:00 当用户在他们的 ISP 提供的 4 端口路由器上用完端口时,我看到了类似的设置,其中 2 个端口已经用于电视,他们只是为楼上的有线 pc 插入一个便宜的 soho。所以我认为这并不罕见 Marwan 2013-06-11T01:53:04+08:002013-06-11T01:53:04+08:00 如果我理解正确的话,您想使用公共 IP 地址和客户端本地 IP 地址的组合来生成唯一的客户端标识符。但这种组合并不能保证是唯一的。 您应该考虑使用公共 IP 地址和连接端口号。这将唯一标识客户端。
这种情况在中国这样的国家很常见,而在其他国家则有较小的 ISP(尤其是 wifi ISP)。他们获得相对较小范围的IP,然后为他们的用户做一个大规模的NAT。
当然,这些用户中的大多数购买了便宜的 SOHO 路由器,并落在 192.168.1.0/24 范围内的内部 NAT。
当用户在他们的 ISP 提供的 4 端口路由器上用完端口时,我看到了类似的设置,其中 2 个端口已经用于电视,他们只是为楼上的有线 pc 插入一个便宜的 soho。所以我认为这并不罕见
如果我理解正确的话,您想使用公共 IP 地址和客户端本地 IP 地址的组合来生成唯一的客户端标识符。但这种组合并不能保证是唯一的。
您应该考虑使用公共 IP 地址和连接端口号。这将唯一标识客户端。