我的目的是制作一个P2P软件。首先,我做了一些测试。
通过pppoe连接到网络后,我访问了不同网站的phpinfo()页面,但_SERVER [“REMOTE_PORT”]的结果不同。
包括一些IP地址查找网站,如www.whatismyip.com,www.apnic.net等,gmail的ip位置查找列表都是不同的。为什么呢?
ISP是否在不同的网络资源上分配了这些不同的IP地址?是否更改了到不同Web资源的专用路由?
可能原因是我的ISP或网站的CDN?如果原因是ISP在不同的网络资源上分配的IP地址,网站访问者的IP地址可能不真实。
我的ISP有很少的IP地址,所以我在NAT下。即使在NAT下,公共IP地址也不应该随着不同的网络资源而改变。
但我可以使用一些p2p软件,为什么?如果IP地址随着访问不同的Web资源而改变,则P2P软件的NAT遍历可能非常困难。
答案 0 :(得分:0)
如果您的ISP没有静态IP,那么当您在Internet上访问不同的资源时,您可以预期“您的”公共传出IP会发生变化;您的ISP可能会使用各种公共IP进行出站连接,并且最终会根据其内部路由的工作方式使用其中一个。
您的P2P软件有效,因为它从不接收入站连接:它建立(同步 - > HTTP或全双工 - > websockets等等)出站到中央的连接服务器或中继,并在 return 频道上接收入站数据。