如何在对等网络中确保每个节点的邻居都是延迟最小的邻居?目前在生产中是否有这样做的系统?例如Bittorrent,区块链
如果我要使用DHT,当前系统中是否使用某些技术来确保每个节点的邻居在网络跳数或延迟方面最接近?
答案 0 :(得分:1)
在不受监控的分散式(无许可)环境中。那几乎是不可能的。大多数现代的p2p网络都基于Small world networks,这意味着对等点连接到数量有限的邻居。它使用与这些对等方的连接在网络中传播消息或查找数据。由于所有对等点都在这样的网络中连接,因此应该有一条路径连接网络中的每个对等点。
您可以尝试使用消息等待时间之类的启发式方法来丢弃对等节点并连接新的对等节点,或者让其他新的对等节点连接您。但是除了您自己对认识的同龄人的探索之外,您无法知道哪个同龄人最适合您。
同样在分散的环境中,这将减少网络的随机性,并可能增加诸如eclipse attacks之类的攻击媒介。
在分布式(并非未经许可)环境中。 (数据中心,分布式数据库等。)这可以更轻松地实现,因为您可以监视和控制所有节点而不必担心对手。 编辑:是的,在分布式设置中,DHT确实可以用来减少网络延迟或用于传播消息或查找数据的跳数。
答案 1 :(得分:0)
如何在对等网络中确保每个节点的邻居 延迟最少的是什么?
本文概述了一些技巧:Sub-second lookups on a large-scale Kademlia-based overlay(全文本here)。
简而言之:
对响应时间短的对等方具有亲和力。希望将其添加到路由表中,从而有可能以更高的响应时间替换现有节点。
具有关联性,可以“散布”路由表存储桶中的节点ID。如果每个人都这样做,则每次往返距离您可以更接近目标3位,而不是1位。
使路由表存储桶更靠近“顶部”(覆盖一半,四分之一,八分之一等)大于8。iirc,本文建议顶部存储桶为128、64、32、16。这也可以从搜索中节省一些时间,从而节省往返行程。
当前是否有任何系统 生产那个吗?例如Bittorrent,区块链
是的,至少libtorrent和uTorrent实现了这些。我希望其他的torrent客户端也会这样做。
如果我要使用DHT,当前是否使用了一些技术 系统,以确保每个节点的邻居在网络跃点中最接近 或延迟?
网络跳;从来没听说过。潜伏;是。比特洪流。