Libtorrent中的dht节点

问题描述 投票:0回答:1

如何增加dht节点的数量?

当前数量约为240:

app['lt_session'].status().dht_nodes)

虽然uTorrent说它有大约500个。

这里是设置:

async def lt_session(app):
    ses = app['lt_session'] = lt.session({
        'active_downloads': 50,
    })
    ses.listen_on(6881, 6881)
    # ses.set_max_connections(3)
    ses.add_extension('ut_metadata')
    ses.add_extension('smart_ban')
    ses.add_extension('ut_pex')
    ses.add_extension('metadata_transfer')
    ses.add_dht_router("router.utorrent.com", 6881)
    ses.add_dht_router("router.bittorrent.com", 6881)
    ses.add_dht_router("dht.transmissionbt.com", 6881)
    ses.add_dht_router("dht.aelitis.com", 6881)
    ses.add_dht_router("router.bitcomet.com", 6881)
    ses.start_dht()
    ses.start_lsd()
    app['torrents'] = {}
libtorrent
1个回答
0
投票

[如果您有一个“扩展的路由表”,并且深度为19(我相信这与网络的大小有关),那么您最终将在常规路由表存储桶中拥有128+64+32+16+(15*8) = 360个节点(一旦填满向上)。在除此之外,每个级别都有8个替换桶,因此+(19 * 8)。

libtorrent的node_count仅计算主路由表存储桶中使用的节点数。如果您也要计算替换节点,请添加dht_node_cache

如果要确保您的路由表适合尽可能多的节点,并且对允许添加哪些节点的限制最小:

请确保将dht_extended_routing_table设置为true。如果要删除有关允许哪些节点进入路由表的限制,可以设置:

  • [dht_restrict_routing_ipsfalse
  • [dht_restrict_search_ipsfalse

此外,如果您有多个外部IP,您可能要确保启用监听所有这些IP,因为libtorrent将为每个IP运行DHT节点。例如,如果您拥有机器人hIPv4和IPv6。

© www.soinside.com 2019 - 2024. All rights reserved.