如何增加分布式哈希表节点数量?
目前的数字约为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'] = {}发布于 2019-12-14 09:58:26
如果您有一个“扩展路由表”,并且深度为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_ips到falsedht_restrict_search_ips到false此外,如果您有多个外部IP,您可能希望确保启用侦听所有这些IP,因为libtorrent将为每个IP运行一个分布式哈希表节点。例如,如果你有机器人、hIPv4和IPv6。
https://stackoverflow.com/questions/59324441
复制相似问题