免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1344 | 回复: 0
打印 上一主题 下一主题

DHT 的差错处理 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-13 14:28 |只看该作者 |倒序浏览

                进入DHT的节点都是很自由的。 很难保证每个节点都遵守DHT的游戏规则。
所以很难保证以下情况不会出现:
1、多个主机争用同一个ID。
以下属于正常情况:
1) 一个客户端的网络断开(ADSL重新拨号), 然后重新进入DHT网络。
2) 两个客户端随机生成了两个相同的ID。
3) 一个恶意客户端不断使用不同的ID, 试图跟其他节点产生冲突, 因为可以知道每个ID是否存在于网络。
2、同一个主机使用多个不同的ID。
1) 客户端的重新启动, 生成了不同的ID。
2) 客户端进行恶意攻击, 故意产生不同的ID。
产生的后果:
与正常情况的ID与主机一一对应的相比, 多少将会造成问题。
对于情况1: 将会产生坏节点, 由于路由表保存的是旧的节点。所以客户端试图想该节点发送请求的时候将
失去响应。所以碰到该情况时(发现出现该问题时), 应该向旧的节点发送ping请求, 如果节点没有响应则替换
为新的节点否则使用旧的节点(根据DHT的游戏规则, 应该这样做)。不过正常情况下(非攻击)只是简单的替换成新的节点应该不会
有什么大的问题, 毕竟1-2)的情况发生的可能性很少(微乎其微, 除非随机函数有问题)。
对于情况2: 由于每个DHT包都会包含发送者ID, 所以直接更新ID即可。不过假如为恶意客户端, 故意每次
产生比上次更接近目标节点的ID话, 将需要浪费大量的带宽用于请求。特别是不对返回的内容进行过滤的话,
那么将会产生无休止的请求。直到所有的ID都被用完(1-2^160)。所以假如使用, 而不是id对返
回的处理进行标记,那么就可以避免这种情况。
由此可见, 恶意客户端的共同行为是同一个host节点, 不断虚报, 占用不同的ID(冲突, 或者不存在), 所以发
现该类节点, 应该把它给MASK掉。 至于如何尽快发现, 处理的方法是:
PS: IE该淘汰了, 用IE打开gmail总是一卡一卡, 总没有firefox那么流畅。
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/69656/showart_1287721.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP