设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 47|回复: 0

bt软件dht网络下每存储一个peer要消耗多少字节,ipv4要8,ipv6要21,通过Get_peers返回udp数据包时多少个值是安全mtu

[复制链接]
 成长值: 879

签到天数: 5279 天

[LV.Master]伴坛终老

发表于 2026/6/18 00:00 | 显示全部楼层 |阅读模式 |Google Chrome 149.0.0.0|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
bt软件dht网络下每存储一个peer要消耗多少字节,ipv4要8,ipv6要21,通过Get_peers返回udp数据包时多少个值是安全mtu

dht下每存储一个peer要求格式 6:+ip+端口,存储一个用户共8字节

dht本地回复对方Get_peers产生的协议头共93字节
等于存储5个peer需要93+8*5=133实际内容字节,133+8+20=161mtu

为了控制1352实际内容,1380的mtu可有效安全通过隧道软件
那么ipv4下一次最多返回157个peer
如果是ipv6那么每存储一个peer是消耗21字节,一次最多返回59个peer

比如存储500个,收到请求随机返回50个

如果对他人Get_peers请求后续打算加上返回8个nodes节点(每个26字节),那么ipv6下估计就不能返回50个了,要改成49个
当前协议头共93字节
预计加上8个nodes节点,那么协议头大小预计会从93字节变成320字节左右


帖子补充
回复其他人get_peers的时候,现在正常有nodes了
其它人在找到3个peer的同时可以进一步从得知的nodes其它节点继续查询获取更多peer

上一版协议头是93字节,这一版同时给对方请求包Get_peers回 nodes 节点的情况,协议头是312字节
等于存储5个peer需要312+8*5=352实际内容字节,352+8+20=380mtu

这就是说这一版本为了不超过1380的mtu(1352实际内容)
返回8个ipv6 nodes节点(每个38字节,和一个11字节前缀头)协议头是408字节,ip包为40字节(1332实际内容)
绝对安全值
ipv4最多返回130个
ipv6最多返回44个


如果ipv6返回50个那么就会发生分片,只有设置为44个才是安全的

ipv6返回4个节点的情况下,那么返回50个peer是安全的
(38x4+11+93-1332)/21=51

可以改成ipv6下返回peer的时候只返回4个节点,如果不存在peer字段才返回8节点
[发帖际遇]: 小樱 乐于助人,奖励 2 贡献. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2026/6/18 22:01 , Processed in 0.221484 second(s), 20 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表