我知道有一些网站提供这项服务,但考虑到现在几乎每个人都生活在 NAT 后面,为什么不在端口上标准化并作为服务提供给任何想要运行它的人?它至少与 echo、daytime 或“quote of the day”服务器一样有用,并且易于实现。
或者是否存在我所知道的?任何提案/RFC 正在进行中?
编辑:感谢大家的热烈和深思熟虑的讨论。
我知道有一些网站提供这项服务,但考虑到现在几乎每个人都生活在 NAT 后面,为什么不在端口上标准化并作为服务提供给任何想要运行它的人?它至少与 echo、daytime 或“quote of the day”服务器一样有用,并且易于实现。
或者是否存在我所知道的?任何提案/RFC 正在进行中?
编辑:感谢大家的热烈和深思熟虑的讨论。
您真正需要的不仅仅是知道“现在”您的 IP 地址是什么。你需要让它保持这种状态。
更重要的是,您需要知道 IP 地址的原因似乎是您需要告诉其他机器如何连接到您。那么,真正需要的不是低级黑客攻击,而是一些协议,可以配置所有感兴趣的网络层设备,以确保可以联系到您,并且连接保持打开状态(或者如果断开连接可以重新连接)。
例如,您的路由器可能会失去与您的 ISP 的连接。当它获得新连接时,它可能有不同的 IP 地址。你需要解决这个问题。在企业环境中(是的,企业确实使用 P2P),可能会发生任意数量的网络重新配置,而所有这些都不会通知对等方 IP 地址的更改。这也需要解决。
总体问题是您依赖网络层实体(IP 地址)来保持对上层有用。这不是 IP 地址的工作——它只是为了让您的数据报到达目的地。知道您的 IP 地址并没有任何内在的东西可以说明他们明天仍然可以使用相同的地址到达目的地。
如果存在这样的 peername 服务,您的 NAT 网关可以选择修改服务的响应,再次将外部地址替换为内部地址。
此外,如果是双重网络系统:您将如何获得中间地址?
不会有广泛的修复。'当/如果 IPv6 完全取代 IPv4 时,大量可用地址将使 NAT 成为过去,因此这个问题将成为过去。