【问题标题】:P2P messaging over internet互联网上的 P2P 消息传递
【发布时间】:2019-03-10 13:50:01
【问题描述】:

我正在想象手机上的主流消息传递应用程序,但没有集中式服务器。

不知何故,通过移动网络连接到互联网的两部手机被匹配并在它们之间建立了连接。然后电话 A 移出当前网络并更改其 IP。电话 B 的 IP 地址仍然相同,因此电话 A 尝试创建连接。电话 B 很可能在 NAT 之后,那么这个连接是如何创建的呢?电话 A 只知道电话 B 的公共 IP,而“路由器”在其 NAT 表中没有电话 A 和 B 之间的连接。所以我怎么看,是不可能的,但希望有出路。

【问题讨论】:

    标签: mobile messaging p2p nat


    【解决方案1】:

    在可用时使用 IPv6,它不会受到 NAT 的影响。

    对于 IPv4,您要查找的关键字是 NAT traversal,存在许多方法。大多数都需要某种形式的集合点,它可以是双方都知道的第三对等点。但也存在其他方法,例如基于时间的协调。

    带有endpoint independent mappings(也称为full cone NAT)的NAT 根本不需要协调,只要每个对等方通过定期ping 保持映射打开。这是 UDP CGNAT 的推荐实现。

    一些 CGNAT 实现还支持PCP,您可以通过它请求显式端口映射。

    【讨论】:

    • 感谢您的回复,抱歉回复晚了。 IPv6 个人似乎不太可能,因为这里的移动运营商目前还没有实施它们。我认为可以安全地假设 MO 没有启用任何可以使我的工作更轻松的配置,因此它们也被排除在外。 Rendezvous 方法让我想起了 torrent 跟踪器,我将对其进行研究,或者我将停止追求总 P2P 目标并首先从 C/S 程序开始。
    猜你喜欢
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-07
    相关资源
    最近更新 更多