Chinaunix首页 | 论坛 | 博客
  • 博客访问: 61881
  • 博文数量: 18
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 210
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-26 16:04
文章分类

全部博文(18)

文章存档

2011年(1)

2009年(3)

2008年(14)

我的朋友

分类: 系统运维

2008-09-26 17:27:16

    因为是教研室的项目,所以对BitTorrent的论文,以及BitTorrent的源代码进行了一定的研究,现在将自己对于其中的节点的邻居选择算法的分析,拿出来跟大家交流讨论。
    在BitTorrent论文中,对于choking这部分,总共是四个部分,第一个是BitTorrent的choking algorithm,第二个是optimistic unchoking,第三个是anti-snubbing,第四个是upload only(即我们俗称的“做种”)。
    第一个BitTorrent的choking algorithm,是最基本的阻塞算法,论文里面也说了,based strictly on current download rate,严格基于下载速率进行选择,淘汰下载速率小的,其中每20秒计算一次下载速率,不然波动太大了,系统花销大,划不来不是?然后呢,每10秒进行一次这个choking算法,虽然你下载速率不好,但是还是可以让你混个10秒钟,感受下我的资源,嘎嘎。
    第二个optimistic unchoking,我翻译为尝试性疏通算法,不知道大家有什么好的翻译没有,有的话,请一定告知,我还没找到好的翻译,恩恩,他的意思是,每30秒执行一次这个,放弃已经连接上,但是choking的连接,去试一下没有连接的连接,因为可能这些连接有可能比当前的连接还要好,当然要榨取最多,最好的不是?
    第三个,anti-sunbbing,反不理睬算法,一分钟以上,没从对方节点接收到一个piece,当然就是对方把你阻塞了,你还痴痴呆呆的给他上传,直接卡擦了,你也不传了,要共享不是?这才是p2p的精神嘛,不能自己爽撒,哈哈。
    第四个,upload only,这个才是重头哦,下完了给人家做种,这时候,当然不能用自己从对方的下载速率作为判断标准,要选择之前从自己这里下载速率高的,尽快把自己这里的东西分发出去,在这个过程中,之前的几个算法,依然有效,注意区分细节,前面的速率是自己从对方的下载速率,后面的是对方从本机的下载速率。

    简单的分析告一段落了,欢迎大家跟我交流。下一阶段将会分析下BitTorrent的选片策略。
阅读(2406) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~