eMule协议的连接建立

网络 网络管理
下面我们主要讲述了eMule协议的建立连接以及客户端服务器的TCP交流情况。两外,例举了三种建立连接出现的典型情况。

下载是从服务器到客户端的一个交流。这也就要用到TCP协议的交流了。那么在eMule协议中是如何规定这样的交流呢?那么它整个的协议建立流程优势如何呢?其实并不难于理解,下面我们就来详细介绍一下。

客户端服务器的TCP交流

每个客户端用TCP精确地连接到一个服务器。服务器分配给客户端一个ID,在与服务器其余 的会话中标识该客户端(高ID客户端总是根据它的IP地 址分 配)。eMule GUI客户端需要建立 一个服务器连接来用于操作。客户端不能同时与几个服务器连接,也不能在没有用户干涉的 情况下动态更换服务器。

eMule协议建立连接

在准备建立与服务器的连接时,客户端会尝试并行地连接到几个服务器,根据成功的登陆顺 序放弃其他的。

有下面几个可能的连接建立个案:

1、高ID连接-服务器分配一个高ID给正在连接的客户端

2、低ID连接-服务器分配一个低ID给正在连接的客户端

3、拒绝会话-服务器拒绝客户端

当然,也有不重要的个案-服务器崩溃或者不可连接。

图1 高ID连接的信息顺序  

图1 高ID连接的信息顺序

图1描述了导致高ID连接的信息顺序。在这种情况下,客户端建立一个TCP连接到服务器,然后发送一个登录信息到服务器。服务器用另一个TCP连接到客户端,执行一个客户端-客户端的握手来保证连接的客户端有能力接收来自其他eMule协议客户端的连接。在完成客户端握 手后,服务器关闭第二个连接,通过发送ID更改信息来完成客户端-服务器的握手。你可能 注意到eMule信息消息是灰色的。这是因为这个消息是eMule协议扩展的一个部分。

图2 导致低ID连接的信息顺序 

2 导致低ID连接的信息顺序#p#

图2描述了导致低ID连接的信息顺序。在这种情况下,服务器不能连接到发送请求的客户 端,分配一个低ID给客户端。服务器消息一般包含警告信息,就像“警告[服务器细节] -  你是低ID。请察看你的网络配置和/或你的设置”低ID和高ID握手都是通过随着ID更改消息完成 的,这个ID更改消息分配客户端一个客户端ID,用在与服务器的下一个会话。

 图3 被拒绝的会话顺序

图3 被拒绝的会话顺序

图3描述了被拒绝的会话顺序。因为eMule协议的客户端拥有一个低ID或者到达了服务器硬件的容量限制,服务器就可能拒绝会话。服务器消息会包含一个短字符串描述拒绝的理由。

责任编辑:佟健 来源: 赛迪网
相关推荐

2010-06-23 15:08:18

2010-06-23 15:43:08

2010-07-02 12:02:11

eMule协议

2010-06-28 21:33:17

eMule协议

2010-07-13 15:36:33

2010-06-23 14:20:06

eMule协议

2010-06-23 14:55:04

eMule协议

2010-06-23 14:32:20

eMule协议

2010-06-23 15:28:22

2010-07-12 21:14:09

UDP协议

2010-07-01 16:38:18

Linux TCP I

2010-07-08 12:42:34

UDP协议

2010-09-06 13:57:38

2010-06-24 14:20:30

FTP协议

2010-07-07 10:45:22

TCP UDP协议

2010-06-13 14:08:17

IP无连接协议

2019-07-02 08:24:07

HTTPHTTPSTCP

2010-06-28 10:46:57

JBossIPv6协议

2010-01-06 10:04:55

2009-12-30 16:06:08

LDP协议
点赞
收藏

51CTO技术栈公众号