eMule协议的基本功能

网络 网络管理
eMule协议是我们常用的下载协议。那么现在我们来对这个协议进行一下解说。那么介绍了这个协议的一些基本功能,那么本文还介绍了客户端到服务器的连接。

eMule协议与BT协议一样,同样都是文件传输协议。那么与BT协议有什么差别呢?现在我们就来详细介绍一下这个协议的基本功能。eMule网络是由上百个eMule服务器和几百万个eMule客户端组成。客户端必须连接到一个服 务器来取得网络服务,只要该客户端在系统中,服务器连接保持打开状态。这些服务器主要 执行集聚索引服务(好像在Napster),相互间不联系。

每个eMule客户端都预配置了一个服务器列表和当地文件系统的共享文件列表。客户端用单 独的TCP连接到一个eMule服务器登录到网络中,获得想得到的文件信息和客户端。eMule客户端也用几百个TCP连接到其他客户端进行上传和下载文件。

每个eMule协议客户端对它的每 个共享文件都维护着一个上传队列。要下载的客户端先加入到队列的底部,然后逐渐前进直 到到达队列的顶部并开始下载它的文件。一个客户端可以从几个不同的eMule客户端中下载 同一个文件的不同的文件块。

客户端也可以上传它还没有完成的文件的文件块。***,eMule协议扩展了eDonkey的能力,允许客户端之间交换关于服务器、其他客户端和文件的信息。注意 , 客户端和服务器的交流都是基于TCP的。

服务器使用了一个内部数据库,用来存储关于客户端和文件的信息。一个eMule服务器不存 储任何文件,它为关于文件位置的存储信息作集聚索引。服务器的另一个功能,开始变得被 抗议,是连接由于通过防火墙连接而无法接收到连接的两个客户端。这个连接功能增加了服 务器的负载。

相对于服务器和其他客户端,eMule协议使用UDP来增强客户端的能力。客户端发 送和接收UDP信息的能力在日常使用中不是强制使用的,当有防火墙阻止它收发UDP信息时也能无瑕疵的运行。

客户端到服务器的连接

在开始启动时,客户端用TCP连接到一个eMule服务器。服务器提供一个客户ID给客户端, 在整个客户端-服务器连接的生命周期里,它是有效的(注意,如果客户端有一个高ID,它 会从所有的服务器中接收到相同的ID,直到它的IP地址改变)。在连接建立之后,客户端发 送它的共享文件列表到服务器中。服务器把这个列表存储到它的内部数据库中,这个数据库

通常包含了成百上千有效的文件和活动的客户端。eMule客户端也发送它的下载列表,包含 着它想下载的文件。第二章提供了eMule客户端和服务器TCP信息交换的详细描述。

建立连接之后,eMule服务器给客户端发送用有它想下载的文件的其他客户端列表(这些客 户端称作“ 源” )。从这点起,eMule协议客户端开始与其他客户端建立连接,如 1.2.2所述。

注意,在整个客户端会话期间,客户/服务TCP连接一直保持连接状态。初次握手后主要是 用 户活动激发事务:有时,客户端发送文件搜索需求,由搜索结果回应,一个搜索事务一般在对源中指定文件查询之后,用源(IP和端口)列表来回答这个查询,查询者可以从这列表中 下载文件。

客户端和它没有连接的服务器的交流是用UDP。UDP信息的目的是增强文件搜索,增强源搜 索,***保持连接状态(确保客户端服务器列表中的eMule协议服务器有效)。

责任编辑:佟健 来源: blog.163.com
相关推荐

2012-10-22 16:47:45

IBMdw

2020-10-19 10:16:02

AWSDynamoDB功能

2010-04-16 09:06:18

WPF 4

2019-04-16 08:21:46

2010-03-02 17:43:31

WCF框架处理流程

2010-01-05 15:27:04

.NET Framew

2019-09-16 08:22:12

特权访问管理PAM网络安全

2021-06-03 09:20:33

微服务架构代码

2015-07-07 14:17:56

物联网操作系统

2023-05-11 08:59:43

Nginx配置服务器

2010-01-20 18:20:50

2010-01-04 10:47:08

智能交换机

2009-12-03 09:08:21

路由器基本功能

2017-01-15 17:15:27

Java基本功能

2011-04-29 14:04:56

一体机

2009-12-03 14:10:22

路由器基本功能

2015-11-09 10:34:54

iOS 9.1 iPhone

2010-02-03 09:59:18

2009-12-08 13:58:12

Linux操作系统垃圾邮件

2009-11-24 17:35:59

路由器基本功能
点赞
收藏

51CTO技术栈公众号