p2p 协议如何在网络上路由

p2p 协议如何在网络上路由

我想知道 p2p 协议如何在网络上路由。(例如在 torrent 中)在客户端-服务器架构中,我们有一个有效的服务器 ip 地址,但在 p2p 中我们没有。当我们有本地 ip 地址时,数据包如何在互联网上路由?非常感谢。

答案1

“点对点”实际上意味着任何节点或对等点都可以在某种程度上充当客户端或服务器。因此,以这种方式工作的事物不需要单个中央节点即可工作。

对等点必须知道其他对等点的 IP 地址,才能成功完成对等协议所要完成的任务。因此,需要某种类型的发现机制或协议,并且确实需要某种类型的集中可用点,即使它只起引导作用。

Bittorrent 依赖跟踪器作为中心点 - 它只是一个 HTTP 服务器,当对等端请求该信息时,它会使用群中的其他 IP 进行响应。可以使用分布式哈希表等其他东西 - 这些在所有对等端之间进行交易,但依赖一些众所周知的 IP 地址进行“引导”。

答案2

对于最简单的 p2p 连接,连接的两侧之一必须具有端口转发(uPnP 或手动设置)才能建立 p2p 连接。

之后,您只需与设置了端口转发的路由器的 IP 对话,然后它会将这些数据包转发到充当 p2p 连接中的“服务器”的计算机(没有端口转发的“客户端”端是发起连接的端)

有一些解决方法,你可以使用第三方来做类似的事情NAT 打洞并且仅参与p2p通信的设置。

在建立 p2p 通信连接的过程中,始终必须至少有一台计算机能够在某个时刻接受传入连接。

答案3

对等网络,无论是作为物理网络配置的一部分,还是通过互联网实现,都是网状网络摘自维基百科文章:

使用路由技术时,消息会沿着路径传播,从一个节点跳到另一个节点,直到到达目的地。为了确保所有路径的可用性,路由网络必须使用自修复算法,允许连续连接和在损坏或阻塞的路径周围重新配置。

如果你对 BitTorrent 协议感兴趣(它比一般的 p2p 更具体一点),你可以阅读规范, 或者浏览 BitTorrent 的网站和论坛以获取更多信息。

相关内容