实现 p2p 消息广播网络的最新技术是什么?
What is the state of art on implementing a p2p message-broadcast network?
我知道快速 Google 会产生大量结果,并且关于该主题的文献非常丰富,而这正是问题所在。在众多可能的解决方案中,我不确定哪个是最适合我的特定需求的最新选择。
我正在尝试在 Internet 上实现一个 p2p 网络,其唯一的一个功能是向在线节点广播消息。为了连接到网络,您必须能够指向现有 IP。当你这样做时,你会发现一些同伴并与他们保持积极的联系。然后您可以将消息发送到每个其他节点。没有直接通信,发送的每条消息都会被其他人接收。我希望这个网络尽可能高效,并在 UDP 之上工作。
在此处指定的形状上解决此问题的一些最先进算法的名称是什么?
通过 Internet 在 覆盖网络 中广播单个消息是一件相当简单的事情。您加入网络,构建邻居的随机或结构化路由 table,用消息淹没邻居,他们对邻居做同样的事情,减去一些修剪以避免转发循环。
复杂性源于因网络而异的额外限制和要求。例如。匿名设置中的信任问题、延迟优化、优化 high-bandwidth 许多消息流(p2p 辅助视频直播)等
如果您想了解设置去中心化 P2P 架构的概念,可以查看 Dat Foundation, who provide an ecosystem of modules for P2P data sharing over the internet, such as Hypercore (raw P2P streams) and Hyperdrive(超核心之上的文件传输)。
他们有一些关于技术概念、挑战以及他们如何解决这些问题的很好的文档。
P2P设计中的一些挑战:
- NAT 路由器和防火墙:通过实施 NAT 遍历和 UDP 打孔来克服(参见:The State of NAT Traversal by ZeroTier)
- 发现对等点:Dat 项目使用 Gossiping 作为一群对等点在网络上找到彼此的有效方式,并且用于通信的简单 (protobuf) 有线协议(参见:Hyperdiscovery and Hypercore Protocol)。
- P2P 数据通信/同步:Hypercore 在每个节点上实现仅附加日志,以及用于聚合和去重数据块的 Merkle 树来自其他同行的正确顺序
Dat 项目支持 TCP、UDP、WebRTC 和 BittorrentDHT。
请阅读他们的一些规范文档以深入了解这些概念和协议设计:
我知道快速 Google 会产生大量结果,并且关于该主题的文献非常丰富,而这正是问题所在。在众多可能的解决方案中,我不确定哪个是最适合我的特定需求的最新选择。
我正在尝试在 Internet 上实现一个 p2p 网络,其唯一的一个功能是向在线节点广播消息。为了连接到网络,您必须能够指向现有 IP。当你这样做时,你会发现一些同伴并与他们保持积极的联系。然后您可以将消息发送到每个其他节点。没有直接通信,发送的每条消息都会被其他人接收。我希望这个网络尽可能高效,并在 UDP 之上工作。
在此处指定的形状上解决此问题的一些最先进算法的名称是什么?
通过 Internet 在 覆盖网络 中广播单个消息是一件相当简单的事情。您加入网络,构建邻居的随机或结构化路由 table,用消息淹没邻居,他们对邻居做同样的事情,减去一些修剪以避免转发循环。
复杂性源于因网络而异的额外限制和要求。例如。匿名设置中的信任问题、延迟优化、优化 high-bandwidth 许多消息流(p2p 辅助视频直播)等
如果您想了解设置去中心化 P2P 架构的概念,可以查看 Dat Foundation, who provide an ecosystem of modules for P2P data sharing over the internet, such as Hypercore (raw P2P streams) and Hyperdrive(超核心之上的文件传输)。 他们有一些关于技术概念、挑战以及他们如何解决这些问题的很好的文档。
P2P设计中的一些挑战:
- NAT 路由器和防火墙:通过实施 NAT 遍历和 UDP 打孔来克服(参见:The State of NAT Traversal by ZeroTier)
- 发现对等点:Dat 项目使用 Gossiping 作为一群对等点在网络上找到彼此的有效方式,并且用于通信的简单 (protobuf) 有线协议(参见:Hyperdiscovery and Hypercore Protocol)。
- P2P 数据通信/同步:Hypercore 在每个节点上实现仅附加日志,以及用于聚合和去重数据块的 Merkle 树来自其他同行的正确顺序
Dat 项目支持 TCP、UDP、WebRTC 和 BittorrentDHT。
请阅读他们的一些规范文档以深入了解这些概念和协议设计: