什么是吸血,如何定义吸血行为,如何对抗吸血行为

前言
吸血行为对ed2k网络的危害是很严重的,这一点得到了广泛的认同。但是,我们总是在这个概念上迷惑:什么是吸血,哪些行为属于吸血行为?如何对抗吸血行为?
SO,我们来讨论一下

1wikipedia对“吸血(leecher)”的定义

In most P2P-networks, leeching can be defined as behavior consisting of downloading more data, over time, than the individual is uploading to other clients, thus draining speed from the network. The term is used in a similar way for shared FTP directories. Mainly, leeching is taking without giving.

摘自http://en.wikipedia.org/wiki/Leecher

通常,吸血驴(吸血骡)的行为被定义成“上传全是为了下载”而特别订制的特点都可以叫做吸血行为,它是违反共享精神的。用通俗的话来说,就是“私驴,自私的驴”。

http://zh.wikipedia.org/wiki/吸血驴

eMule/eDonkey 采用的是基于P2P网络的共享原理,拥有排队机制。这种机制可以保证“分享给我最多的人获得最优先的下载权”,同时保持资源的长期有效性。但是吸血驴(吸血骡)破坏了这种机制,下载完毕后并不提供给其他人,这种潜在的对P2P共享精神的摒弃,可能将最终导致P2P网络效率下降,直至崩溃

http://zh.wikipedia.org/wiki/吸血驴

个人认为,Taking without giving,和中文定义中的“上传全是为了下载”,这两点是一致的。
首先确立一点,吸血行为为什么是不好的?因为违反共享精神。
在P2P的世界里,任何一个客户端能够下载到数据,都是因为有其他的客户端上传了等量的数据。而作为对p2p网络的回馈,接收数据的客户端应当在其他客户端需要这些数据的时候将这些数据上传。这样才能保证该p2p网络的存续性。换句话说,共享精神是ed2k这个p2p网络生存的根源,一旦被颠覆,那么ed2k将不复存在。
也正是因此,ed2k有积分系统和回馈模式,依据某客户端的上传量来分配其获得下载的权利。

2什么是吸血行为

既然确定了吸血行为具有怎样的特性,那么可以归纳出一些典型的吸血行为。
wikipedia中文认为:http://zh.wikipedia.org/wiki/吸血驴

吸血驴(吸血骡)通常具备以下行为:
每次启动时变换自己的UserHash(用户切细值)和安全认证。(让其他用户看起来此用户是新手)
只上传自己可以交换到对方下载的数据。(这就是著名的Credit Shaping,相当于用软件实现“下了就跑”)
没有自己的Mod String的称为Ghost Mod,是一种纯粹的欺骗行为。(因为它冒充官方版本)
正常工作时不断变换自己的UserHash(用户识别码)、以及假冒不同的IP+Port下同一个文件。
另外,过分的(滥用)社区加速和好友加速也属于“集体吸血”行为。(因为,社区之外的客户将受到歧视,无法体现公平性)

另外,个人认为,频繁向服务器发送请求(增加ed2k服务器负担,影响其他用户使用),盗用MOD String(这显然是不正常的),虚假的MOD String(如果是好人,为什么不亮明身份),盗用用户昵称和UserHash(会被emule加入到放行队列),传播坏块(用坏的换好的,骗取上传),伪造队列排名(严重影响公平)也都属于吸血行为。
留待补充。
总而言之,个人认为,影响ed2k网络公平性的行为,都属于吸血行为。

3吸血行为与吸血骡

被认定为吸血骡的原因不只是因为吸血行为的存在,还有其他原因也会使得某mod/客户端程序被认定为吸血骡。
包括但不限于下面几项:
1对GPL协议的违反。(GPL协议参见http://zh.wikipedia.org/wiki/GNU通用公共许可证
mod和客户端程序(的ed2k部分)必须开源,否则是对GPL协议的违反。(此属于违法行为,这不是本帖讨论的重点)

GPL条款规定演绎作品也必须是GPL的。

(出处同上)
另外,不开源的mod和客户端程序是否存在一些不正常的代码无法得到判定,因此被视为吸血骡。
2不能主动生成ed2k链接
只能被动地接收ED2K链接,不能生成一个不在ED2K网络中的文件的ED2K链接从而将其分享至ED2K网络之中,称为消极共享。这虽然并非罪大恶极,但是因为不鼓励分享,这样的mod不会得到骡友的认可。而大部分有此特点的mod和客户端程序往往具备其他吸血特点,因此该条是一个表现(不积极共享),而不是一个判定原则(暂时性看法,留待讨论查证)。另外,大部分正常的eD2k网络客户端都能生成文件的eD2k链接。作为eD2k客户端,却不能生成eD2k链接,一般来说这是不容易想象的。
3包含恶意代码
这与第一条通常是伴生的。
留待补充

4如何对抗吸血

当前得到普遍认可的是DLP。本类下面的引用全部出自

http://zh.wikipedia.org/wiki/动态反吸血骡保护

DLP全称Dynamic Leecher Protection(动态反吸血骡保护)。是一个开源的用于eMule的类似插件的东西,主要用来辅助eMule检测并屏蔽吸血骡(Leecher)。

DLP全称Dynamic Leecher Protection(动态反吸血骡保护)。DLP最早是由eMule的Mod之一的Xtreme的开发者Xman开发,是一个开源的用于eMule的类似插件的东西,主要用来辅助eMule检测并屏蔽吸血骡(Leecher)。官方DLP原来由Xman开发并更新,现在主要由Stulle负责更新维护,自V34版本中国人zz_fly亦参与其中。

在官方版本的DLP之外,还有风之痕改写的DLP+可供选择。
其他如mod自带的反吸血(如Argos),本人不甚了解,留待讨论补充。

5官方对屏蔽吸血的态度

事实上Emule-Project对于屏蔽吸血骡的态度是严守中立,不支持也不反对。
然而事实上,正如wikipedia指出的那样:

吸血驴(吸血骡)会给eMule网络造成巨大危害,影响广大eMule使用者的使用体验,尤其在中国大陆地区,吸血驴(吸血骡)被广泛使用,严重破坏eMule网络的公平性原则。鉴于此,很多中国eMule爱好者通过加载DLP,达到屏蔽部分不良eMule客户端的目的。

http://zh.wikipedia.org/wiki/动态反吸血骡保护
请注意:“尤其在中国大陆地区,吸血驴(吸血骡)被广泛使用,严重破坏eMule网络的公平性原则。”正在被请求来源。
吸血骡对ed2k网络的危害是得到广大骡友承认的。而著名的mod大部分都有自己对抗吸血的方式(DLP,Argos==),从侧面说明了对抗吸血骡的重要性。
个人认为,如果不屏蔽吸血骡,那么正常的客户端就很难下载到数据了,更不用提ED2K的存续。

这是一篇长期讨论文章。

关于版权的声明:因引用了Wikipedia的内容,本篇文章的版权遵循GNU自由文档许可证

6条评论隐藏

  1. 2010年11月17日 周三 14:54 | 回复

    留爪,回头转载走……

  2. #2 viewfinder
    2011年4月5日 周二 22:11 | 回复

    非常好的普及文

  3. #3 sailias
    2012年2月3日 周五 23:52 | 回复

    学了很多,感谢作者

  4. #4 heibailief
    2012年2月13日 周一 21:41 | 回复

    谢谢编辑们的无私奉献,学了很多

  5. #5 记录
    2013年1月28日 周一 19:59 | 回复

    请问QQ旋风是不是吸血驴?我分享设定下载后持续上传时间是:手动停止,请问这样不算吸血了吧?另外听说迅雷是只给迅雷用户上传,不知道QQ旋风是不是也这样?请大神指教。

  6. #6 asp502010
    2013年1月28日 周一 20:47 | 回复

    @记录
    毫无疑问,同样是吸血驴。
    旋风(还有迅雷)根本就是为了下载而生的,根本没有完善的共享功能(即使你设置为手动停止)。

    根据我的测试,迅雷基本上还会给正规emule上传,是属于“为了下载而上传”。
    而旋风的emule模块更垃圾,几乎不会给正规emule上传。它的上传给谁了?可想而知……

    你可以继续看这篇https://www.emulefans.com/leech-leecher-behavior/

2条Trackback/Pingback显示

发表评论

您的Email将不会显示出来。头像请至Gravatar.com注册上传。*号标注项为必填。

*
*
*
标签用法
字数:0