- 3
- 0
- 约3.43万字
- 约 40页
- 2017-02-09 发布于重庆
- 举报
eMule_协议
eMule 协议说明书
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的客户端和服务端的TCP信息交换。在连接确立之后,eMule服务器将发送给个客户端一份客户端列表,这个列表中的客户端中有下载者想下载的文件(这些客户端叫做“源”)。从此刻开始,eMule客户端像下面的1.2.2章节中描述的一样开始建立和他客户端的连接
注意客户端/服务端得TCP连接在整个客户端会话过程中持续开放。在初次握手协议之后的就主要是用户活动:客户端为了获得新的搜索结果不时地发送搜索请求,一个搜索通常紧跟着是一个对于特殊文件资源的查询,回复查询的清单是由能下载到该文件的资源(IP和端口)组成。UDP是用来与服务器端之间的信息交换而不是服务器端与它相连的客户端之间交流。UDP消息的目的是增加文件搜索,增加资源搜索,最终保持活跃性(确保客户端中的服务器列表中的服务器都是有效的)。您可以再第3章节中找到更多关于客户端-服务端UDP信息交换的详细资料.
1.2.2 客户端和客户端的连接
一个eMule客户端为了下载文件而连接到其他的eMule客户端(一个资源)。文件被分割为几个部分每个部分又是由更多的片段组成。一个客户端可以从许多(不同的)客户端下载同一个文件的获得不同的片断。当两个客户端连接时他们交换接受能力信息,然后商议开始下载(或者上传,取决于需求)。每一个客户端拥有一个下载队列来保存等待下载文件的客户端。当一个eMule客户端清空下载队列通常是由于要开始一个下载(例外,例如:这个请求着被禁止)。当下载队列不清空时将导致队列中请求客户的增加。在给定的时间内即便是每个客户用最小的带宽2.4kb/s也只能服务极少数的客户。如果在15分钟的下载过程队列中中有比正在下载的用户更高级的用户,该用户将抢占下载中的用户进行下载,这样做来防止长期等待。当一个下载中的客户端到达下在队列的最顶端,上传客户端就会发起一个连接来传输下在端需要的部分。一个eMule客户端或许同时在许多许多其它的客户端
您可能关注的文档
- EDTA是一种重要的络合剂.doc
- EEPO教案模板.doc
- Eeyvdqw我国高等学校精算教育的现状和关注的问题.doc
- EDS分析报告0418.doc
- Efbtyry我国期货市场现状问题及发展方向.doc
- EETrust统一身份管理及访问控制系统.doc
- EDS人体电刺激反馈仪,一种检测糖尿病风险的新技术.doc
- EfsFrame企业级框架设计原理分析.doc
- EGCG对多发性骨髓瘤细胞KM3促血管新生作用的抑制效应及机制初探.doc
- EDTA溶液的配制与标定和测水中硬度(P130132)预习要求.doc
- 《丝绸之路:一部全新的世界史》读后感7000字.pdf
- 农村创业创新项目创意大赛活动服务采购招投标书范本.pdf
- 2026上半年贵州事业单位联考贵州省住房和城乡建设厅招聘16人备考题库带答案详解(考试直接用).docx
- 海洋电子信息产业智能化发展路径研究.docx
- 智能监控与人力防护技术融合的协同机制研究.docx
- 2026上半年贵州事业单位联考湄潭县招聘93人备考题库及答案详解(易错题).docx
- 2026上半年贵州事业单位联考贵州省交通运输厅招聘84人备考题库附参考答案详解(满分必刷).docx
- 2026中国地质调查局烟台海岸带地质调查中心招聘工作人员28人备考题库(第一批)精选答案详解.docx
- 2026上半年贵州事业单位联考贵州省住房和城乡建设厅招聘16人备考题库带答案详解(满分必刷).docx
- 2026上半年贵州事业单位联考贵州农业职业学院招聘19人备考题库附答案详解(培优b卷).docx
原创力文档

文档评论(0)