为什么没有“什么是我的IP”知名端口/服务?

时间:2009-07-24 15:25:11

标签: sockets network-programming network-protocols

我知道有一些网站提供这项服务,但鉴于现在几乎每个人都生活在NAT背后,为什么这不是标准化的端口,并作为服务提供给任何想要运行它的人?它至少与回声,白天或“当天的报价”服务器一样有用,并且易于实现。

或者我知道一个存在吗?正在进行的任何提案/ RFC?

编辑:感谢大家的热烈讨论。

4 个答案:

答案 0 :(得分:4)

它与RFC 5389

中的STUN协议标准化

当然,供应商必须支持标准才能使它们变得有用。

StackOverflow上的相关主题。他们都提到了STUN:

答案 1 :(得分:1)

您真正需要的不仅仅是“立即知道”您的IP地址。你需要让它保持这种状态。

更重要的是,您需要知道您的IP地址的原因似乎是您需要告诉其他机器如何连接到您。那么,真正需要的不是低级别的黑客攻击,而是一些协议,它配置所有感兴趣的网络层设备以确保可以到达,并且连接保持打开(或者如果断开则可以重新连接)。

例如,您的路由器可能会丢失与ISP的连接。当它获得新连接时,它可能具有不同的IP地址。你需要解决这个问题。在企业环境中(是的,企业确实使用P2P),可能会发生任意数量的网络重新配置,所有这些都不会通知对等方IP地址的变化。这也需要解决。

总体问题是您依赖于网络层实体(IP地址)来保持对上层有用。这不是IP地址的工作 - 它只是为了让你的数据报到达目的地。知道你的IP地址并没有什么固有的说明他们明天仍会使用相同的地址到达目的地。

答案 2 :(得分:0)

如果存在这样的对等名称服务,您的NAT网关可以选择修改服务的响应,再次用内部地址替换外部地址。

另外,如果是双重系统:你会如何到达中间地址?

答案 3 :(得分:-1)

没有广泛的解决方案。 '如果/如果IPv6完全取代IPv4那么丰富的可用地址将使NAT成为现实,而这个问题已成为过去。