eMule協议规范.docVIP

  • 5
  • 0
  • 约3.51万字
  • 约 42页
  • 2016-12-06 发布于重庆
  • 举报
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)

1亿VIP精品文档

相关文档