gpt4 book ai didi

c++ - 点对点实际上如何在网络/端口方面工作?

转载 作者:太空狗 更新时间:2023-10-29 21:37:17 25 4
gpt4 key购买 nike

所以我一直在研究套接字和其他东西,主要是 C++。我已经学会了(还没有执行因为我很懒)non-blocking IO ,一旦我真正开始处理我的项目,我可能只有一个非常好的服务器整体结构来容纳很多客户端。

对于服务器,它总是给定的,我必须转发。客户不需要。但这让我开始思考。一般来说,Torrent 客户端似乎不需要路由器端口转发,而且它们是点对点的。那它是如何工作的?在客户端周围多次看到“端口转发”。但那是什么样的端口转发?

我是不是漏掉了一些非常明显的东西,或者只是问错了问题?我似乎无法找到任何答案。

那么点对点的端口转发是如何工作的呢?如果那是正确的事情,甚至可以问。

感谢您的宝贵时间!

最佳答案

好的,所以 pay提到打洞,这似乎是 NAT 穿越技术之一,基本上“绕过”或“通过”NAT(因此进行端口转发)。

我现在已经阅读了一些这方面的内容。基本上 NAT 使得流量被路由到端口打开的网络内部的特定系统。由于打洞等技术不会通过该系统,因此无法真正了解它来自内部网络中的哪个系统以及来自哪个系统。人们可以只做一些事情,比如使用 key 和加密流量,这样网络中只有一台拥有该 key 的计算机才能解密它(有点像 CA)。或者,如果它不是敏感信息,您也可以使用随机端口连接到每个不同的系统。一个相当大的问题是路由器之间的 NAT 可能不同,因此您可能必须使用不同的技术并且不能保证兼容性。

好的,所以 Hasturkun提到了UPNP。我也读过一点,基本上它是一个协议(protocol),允许你的应用程序/程序与路由器通信并为自己设置特定的 NAT 规则,所以它基本上是为你做端口转发。这也意味着与遍历技术不同,它将流量直接驱动到所需的系统。一个缺点是默认情况下它可能不会在您的路由器上处于事件状态,因此您根本无法使用它。从我读过的内容来看,它相当“全局”,也不同于遍历。

在 IMO 周围,你应该将两者作为保险政策,在我看来,这将是大量工作的 hell ,但无论如何,一如既往,懒惰无济于事。

我希望这可以帮助别人,因为它帮助了我,祝你有美好的一天 :D

关于c++ - 点对点实际上如何在网络/端口方面工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38056203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com