当外部端口不断变化时,natted 网络中对等点之间的 P2P
Posted
技术标签:
【中文标题】当外部端口不断变化时,natted 网络中对等点之间的 P2P【英文标题】:P2P between peers in natted networks when the external port changes constantly 【发布时间】:2021-01-15 16:25:18 【问题描述】:我正在阅读 WebRTC,这导致我开始研究 STUN(NAT 会话遍历实用程序),我看到的所有示例似乎都假设公共 ip 和端口在至少几秒钟或几分钟内是静态的时间。
但是,我的家庭互联网连接使用共享公共 ip 并放置以下 php 代码
<?php
echo $_SERVER['REMOTE_ADDR'] . ":" . $_SERVER['REMOTE_PORT'];
?>
在具有公共 IP 地址的服务器上会给出这样的结果
63.142.201.34:34850
63.142.201.34:34924
etc.
当页面被反复刷新时。我的手机在使用我的数据计划时也会发生同样的事情(只是使用不同的公共 IP)。
在这种情况下如何实现点对点连接?有人可以给我指出一个教程或一些我可以用来查找的关键字吗?
达斯汀·苏达克
【问题讨论】:
【参考方案1】:您看到不同的外部端口的原因是您使用不同的本地端口,每个 HTTP 请求一个。这在 TCP 中很常见。
UDP 作为一种无连接协议,可以更轻松地重用本地端口。 tailscale 项目最近写了一篇很棒的关于打孔的博文here
【讨论】:
感谢您使用 UDP 的建议和博文链接! 如果我要创建函数 Peer1IPandPort() 和 Peer2IPandPort(),我会在哪些 WebRTC 函数中使用它们?以上是关于当外部端口不断变化时,natted 网络中对等点之间的 P2P的主要内容,如果未能解决你的问题,请参考以下文章