问题描述
我试图弄清楚如何在互联网上找到特定机器/服务的IP地址。
一些背景。
我正在构建一个智能门铃。它由连接到集线器的门铃制成。集线器实现了各种“高级”功能。 (门铃和集线器)都位于同一局域网中,因此它们可以通过Zeroconf / mDNS相互发现。
现在,我想要的是能够通过智能手机应用程序查看门铃视频流,发送/接收语音以及命令开门的功能,即使我的智能手机“在路上”,通过移动网络或第三方无线网络。
问题是如何找到集线器?我不能使用Zeroconf,因为它是为本地网络制作的。 DNS是唯一的方法吗?在这种情况下,我应该设置一个无IP(或其他类似服务)帐户。
我已经看到商用相机和其他IoT设备与作为中继的制造商服务器“对话”。但是我想要一个分散的,无间谍的解决方案(我不信任他们)。
DNS是否是发现中心IP的唯一方法?显然,我需要设置NAT来允许传入连接(可能是UPnP !!!)。但这是另一个故事。
您有什么建议?
p.s。 IPFS是否可能解决?也许我可以在IPFS上发布中心IP
解决方法
实际上,我认为您至少需要一台服务器才能找到其他对等方,用于分散式下载的类似解决方案是DHT,其工作原理如下所示。
- DHT引导程序:连接到公共服务器以获取其他对等方的信息
- DHT查找:使用该信息查找其他对等方
- 对等连接:连接对等并更改信息
在提到NAT和Upnp时,您可以首先检查Nat-Pmp或Upnp是否在您的设备中工作,否则,也许您需要使用ICE。