eMule 协议说明书.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
eMule 协议说明书

eMule 协议说明书 Yoram Kulbak and Danny Bickson Email: {yorkol,daniel51}@cs.huji.ac.il Academic supervisor: Prof. Scott Kirkpatrick DANSS (Distributed Algorithms, Networking and Secure Systems) Lab School of Computer Science and Engineering The Hebrew University of Jerusalem, Israel January 20, 2005 Copyright (c) 2005 Yoram Kulbak and Danny Bickson, DANSS Lab, The Hebrew University of Jerusalem, Israel. http://www.cs.huji.ac.il/labs/danss/p2p/eMule/ Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitle ”GNU Free Documentation License”. 1 简介 1.1 目的 eMule 是一个如今非常流行的基于eDonkey协议的文件共享程序。 本文描述了eMule的网络行为并且解释了一些我们理解这个协议所需要的基本学术用语。 并且本文也是eMule网络协议的一个详尽的说明书,内容包括传送的消息的结构, 本文中所有的信息是基于一个开源的eMule的客户端[2]。 下文的目的是让读者有一个整体的概念去阅读和理解这些文档.一个关于eMule的巨大信息. [3]。 1.2 概述 eMule网络是由数百台eMule服务器和数百万的eMule客户端组成的[1]。为了进行网络通信客户端将连接到一个服务器,只要这个客户端还在这个系统当中这个服务器连接就一直存在。这些服务器集中执行这索引服务(就像在Napster中一样)并且不与其它的服务器进行交流。每一个eMule客户端都在其本体文件系统中预先配置了一个服务器列表和共享文件列表文件。客户端只使用TCP来连接服务端来加入网络,获得想要的信息和可以连接的客户。同时eMule的客户端也使用成百的TCP连接到其它的客户端来上传和下载文件。每一个eMule客户端为它的每一个共享文件维持一个上传队列。下载者刚加入队列的时候在队列的底部并且组建的前进,直到他们到达顶部才开始下载他们需要的文件。一个客户端可以从其它的几个客户端那里同时下载,取得他们所拥有的不同的文件片段。客户端同时也上传那些还没完全下载的文件。 最重要的是eMule对eDonkey 进行了扩充,允许客户端之间交换服务器信息,其它的客户端和文件信息.注意客户端与服务端的通信都是以TCP协议为基础的。服务器使用本身的数据库来存储用户和文件信息。一个eMule服务器不保存任何文件,它充当了文件位置索引表的功能.服务器的另外一个值得争议功能是透过防火墙连接两个客户端,并且不能够引入连接。桥连接函数急剧的增加了服务器的负载。eMule在客户端和服务端都使用UDP协议来提高客户的接受能力.客户端接收和发送UDP数据的能力不取决于客户的正确操作并且即使防火墙阻止发送和接受UDP数据也可以无差错的工作。 1.2.1 客户到服务器的连接 在启动客户端之前先使用TCP协议连接到一个eMule服务器。服务器提供给客户端一个客户端ID (1.3章节)这个ID在整个客户端服务端连接的生命周期都有效 (注意:拥有high ID的客户端在IP地址改变之前将从所有的服务端获得同等级的ID)。连接确立之后客户将自己的共享文件列表发送给服务器.服务器将这些列表存在它本身的的数据库 Figure 1.1: eMule high level network diagram 中,通常这些数据库包含了成百上千的共享文件清单和有效的客户端。eMule客户端同时也下载它想获得的文件的文件列表.第二章节详细的描述了eMule的客

文档评论(0)

zhuwenmeijiale + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档