百科生活 投稿
关于【电驴服务器列表】:电骡服务器列表(Emule电骡工作原理浅析),今天小编给您分享一下,如果对您有所帮助别忘了关注本站哦。
- 内容导航:
- 1、电驴服务器列表:电骡服务器列表(Emule电骡工作原理浅析)
- 2、用过那些号称媲美迅雷的下载神器,发现没一个能打的
1、电驴服务器列表:电骡服务器列表(Emule电骡工作原理浅析)
电骡服务器列表(Emule电骡工作原理浅析)电动骡服务器列表(Emule电动骡工作原理分析)
一.概述
Emule是一款基于p2p技术的文件共享软件。它与传统文件共享的不同之处在于:
共享文件分散在所有参与者的硬盘上,而不是等待客户端在集中式服务器上下载。所有参与者组成一个虚拟网络,每个客户端都可以从这个虚拟网络中的任何客户端机器下载文件。同时,每个客户也可以与任何其他客户共享自己的文件。Emule系统中有一些服务器,但是这些服务器不再存储文件,而是存储这些共享文件的目录或地址。每个客户端从服务器获取或搜索共享文件的地址,然后自动从其他客户端下载。客户端参与越多,下载速度越快。Emule基于多点文件传输协议。Emule网络由服务器和客户端组成。服务器端是客户端连接的桥梁,可以下载用户以便搜索和查找。服务器列表像电话簿一样排列,客户可以通过浏览获得自己需要的文件所有者的客户端信息。在下载文件的真实过程中,没有下载的文件通过服务器。其架构如下图所示:
图1 Emule架构
搜索:每个客户端连接到一个作为其主服务器的服务器。连接时,客户端告诉主服务器他有哪些文件共享,以及其他信息,如IP地址。因此,每台服务器将记录登录到其他服务器的所有上述信息。当服务器搜索时,它将通过匹配记录的已知信息将搜索结果反馈给搜索客户端。当客户在搜索列表中选择所需文件并开始下载时,Emule将根据文件内容哈希记录文件大小、文件名和另一个特殊值。当Emule获得这些信息时,它将向所有添加的服务器发送请求,以获得具有相同哈希值的文件。服务器返回持有该文件的用户的信息。
下载:当客户端选择要下载的文件时,它首先收集拥有该文档的客户端列表。它将首先查询主服务器的所有登录用户是否拥有该文件。然后连接并检查其他服务器的登录用户拥有的文件的客户端列表。一旦它找到拥有该文件的其他客户端,它将请求每个客户端发送文件的不同部分。直到最后的文件被不同的部分组合成一个完整的文件。找到下载源(其他客户端)后,下载意味着客户端和客户端通过P2P直接对话。在此期间,没有数据流通过服务器。emule客户端可以使用许多tcp连接来与其他客户端连接,以相互上传或下载数据。下载文件时,客户端可能同时连接到许多不同的客户端,并从它们那里获得文件的不同片段。即使客户端没有下载完文件,他也可以在下载的同时将下载的片段上传到其他客户端。emule中的服务器使用内置的数据库来存储客户端及其文件的信息。它不存储要下载或上传的文件,而是充当客户端拥有的许多文件的中央索引。
二.客户端/服务器传输控制协议通信
2.1连接建立
在Emule体系结构中,客户端只能与一台服务器建立连接。建立后,服务器给客户端一个客户端id,用于唯一标识该客户端。客户端/服务器的这个tcp连接在客户端的整个会话期间始终存在。客户端标识可以分为高标识和低标识。当客户端不能接受外部连接时,它将被赋予一个低id。一种可能是客户端在NAT或代理服务器后面。如果一台机器可以让其他客户端自由连接到它的tcp端口(默认为4662),那么它将被赋予一个高id。
计算高标识的公式:
假设ip是x.y.z.w,
Id=x+2^8*y+2^16*z+2^24*w
低标识始终小于16777216(0x1000000)。
下面分别描述高标识和低标识的客户端和服务器之间的连接过程:
高id连接过程:
客户端与服务器建立tcp连接,并发送登录消息。服务器使用第二个tcp连接与客户端握手。目的是检查客户端是否有能力接受其他客户端发起的连接。客户端到客户端的握手完成后,服务器关闭第二个连接,然后发送一个客户端和一个id更改消息来完成客户端到服务器的握手。流程如下图所示:
图2高id登录序列
低id连接过程:客户端也与服务器建立连接,但当服务器与客户端建立连接时,将会失败。通常,会以“Waring你有一个降低”的形式向客户发回一条消息。请检查您的网络配置”。最后,服务器仍然会发送id更改消息,如下图所示:
图3低id登录序列
注意Emule中的服务器配置有两个限制:硬限制和软限制;
硬限制> =软限制。当连接到服务器的客户端数量达到软限制时,服务器停止接受低id客户端的连接;当达到硬限制时,服务器停止连接任何客户端。此时的连接过程如下图所示:
图4拒绝会话序列
2.2连接启动消息交换:
当cs连接成功建立时,客户端和服务器交换一些setupmessages。客户端向服务器提供列表,记录其共享文件,然后请求更新服务器列表。然后服务器发回它的状态和版本信息。以及自己维护的知名服务器列表。最后,客户端将请求下载一些文件,然后服务器将找出哪些其他客户端拥有所请求的文件,然后将这些客户端的列表发送回请求客户端。下图:
图3连接启动顺序
回调机制:
该机制的目的是克服低id客户端不能接受外部连接的缺点。实现原理很简单:假设A和B连接到同一个服务器,A需要一个文件,文件存储在B中,但是B的id很低。于是A向服务器发送回调请求,要求服务器通知B主动连接A,服务器再向B发送回调请求,提供A的ip和端口,然后B就可以在没有服务器介入的情况下与A建立连接。
图4回调序列
客户端/服务器UDP通信
3.1服务器保持活动和状态信息
客户端定期检查其服务器列表中服务器的状态。这是通过客户端发送UDP服务器状态请求消息和UDP服务器描述请求消息来完成的。服务器状态请求包括一个随机数。。这个数字反映在服务器的回复中。如果反射值与原始值不一致,服务器回复中的信息将被丢弃。客户端维护一个计数器,每次发送状态请求时该计数器递增1,从服务器收到的任何消息都将重置该计数器。当此计数器的值达到预设的上限时,服务器被视为不可用,因此将其从客户端的服务器列表中删除。服务器状态请求的回复包括当前用户数量、服务器中索引的文件以及服务器的软/硬。
极限。服务器描述回复包括服务器名称和一个简短的描述字符串。整个过程如下图所示:
。
图5 UDP保持活动序列
3.2增强的文件搜索
Emule的客户端可以使用UDP服务来增强其文件搜索功能。当一个客户端试图下载一个文件,但他获得的源数量小于一个可配置的值(默认值为100)时,它将定期向其服务器列表中的所有服务器发送UDP get sources数据包,以尝试使用该文件查找更多的源。
四.客户端到客户端的传输控制协议通信
客户端与服务器成功建立连接,并从服务器获取想要的文件的来源信息后,clinet需要与来源列表中的其他客户端进行交互,即分别与这些来源建立tcp连接。当套接字中没有事件(没有读或写)或任何客户端在一定时间内关闭连接(默认为40秒)时,tcp连接将无效。
4.1初次握手
这种握手是对称的:双方都向对方发送相同的信息。该信息包括标识、版本和能力信息。发送的信息有两种,一种是hello消息,它实际上是eDonkey协议的一部分,另一种是Emule info消息,它是Emule协议本身特有的一部分。握手过程如图:
图6 eMule客户端初始握手
4.2信用体系
信用系统旨在鼓励用户之间共享更多的文件。当客户端为其对等体上传文件时,下载对等体根据接收的数据量更新信用值。这种信用不是全球性的。特定的传输过程对应于特定的信用值,该信用值由下载客户端保存。只有当为该客户端提供上载的对等方请求从该客户端下载文件时,此信用才有效。
信用取下列值中的最小值:
1.上传总数* 2/下载总数
当downloaded _ total为0时,整个表达式设置为10。
2.sqrt(上传总数+2):
当上传总量
注意,credit的取值范围:1
2、用过那些号称媲美迅雷的下载神器,发现没一个能打的
说起下载工具,差友们可能第一时间想到的就是迅雷。
托尼平时下载用的最多的也是迅雷,它的下载速度还是可以的,不像百度云那样变态的给你限速到几十 KB ,一般情况下确实能够满足日常使用。
不过迅雷里边那臃肿的功能界面和频繁的弹窗广告,难免还是会让人用着有些不爽。

特别是当你将辛苦搜寻到的链接满怀欣喜地放进迅雷,却遇到资源因为各种原因无法下载的情况,简直会让人抓狂。

俗话说做人不能在一棵树上吊死,下载也一样,没准有其他更好用的软件呢?
托尼在网上搜了一下好像貌似还真有,而且软件的数量貌似还不少。

本着怀疑的态度,托尼特意将这些下载软件全给下载了,看它们是否真的能够替代迅雷。
首先找到的是这款 FDM( Free Download Manager )下载软件。

它是一款经典免费纯粹的下载器,开源无广告,支持 BT、FTP、FTTP 下载以及批量多线程下载等功能。
可以说迅雷拥有的功能它差不多都有了,关键是它的界面还特别简洁,清爽无广告。

但当托尼尝试下载几个资源之后,发现这下载速度,emmm。。。不是比迅雷慢了一点,而是慢了好几倍。

在同一台电脑使用同一个网络的场景下,迅雷里即使不登账号,不开会员,下载资源的速度也可以达到 3 M/s 。

而在 FDM 里,面对同样的资源,它的下载的速度仅仅只是迅雷的几十分之一,迅雷十几分钟能下载好的资源,FDM 却需要二十多个小时。。。
有些磁力链接或者 bt 种子,甚至不能被很好的识别解析。

别说替代迅雷了,时不时趋零的下载速度最后能不能顺利完成下载也是个问题。
FDM 挑战迅雷失败后,托尼接着又尝试了另外一名叫 Motrix 下载器。

Motrix 可以下载 HTTP、FTP、BT、磁力链接以及百度网盘等资源,并且跨平台支持 Windows、Mac、Linux 三大系统。
软件界面和前面的 FDM 一样干净清爽,下载时的操作逻辑也与迅雷相同,直接拖拽或者黏贴链接即可。

在没有开始下载前,托尼对这款软件还是挺有好感的。
但用它来下载前面的资源时,尴尬的事情又发生了,资源虽然能被识别,它们的下载速度却很统一的停留在了 0 KB/s 。。。

换了其他的几个资源后,托尼才算是体验到了它的下载速度,正常下载时几乎可以赶上迅雷。

不过这款下载器用下来给我的感觉不像是在下载,更像是在赌博,因为你永远不知道你的资源在它这里有没有下载速度,想要替代迅雷,还差的远。
随后托尼还是不死心,又陆续尝试了 qBittorrent 、Mydm 、BitComet 、Internet Download Manager 等 PC 端的下载器。

虽然它们的界面都比迅雷更简洁,甚至有些下载器在功能上还比迅雷多上不少,但论起下载速度,说实话,托尼觉得没一个能超过迅雷的。
不得不说在电驴、国际快车、QQ 旋风等下载器都凉了之后,迅雷却能风光至今,还是有点技术的。

早些的资源下载采用的是 P2S( Point to Server )技术,用户通过计算机,直接从服务器上下载各种文件。

这种简陋的技术存在不少缺陷。
比如当下载的人数越多,从服务器分享出去的带宽( 每秒传输的数据 )也越多,分配到每台计算机的带宽就越少,下载的速度会变得很慢。
就好比抄作业,如果一位同学抄另外一位同学的作业,不用等很快就能抄完,抄作业的人一旦变多,会明显拖慢抄写的速度。
随后出现的 P2P( Peer to Peer )技术,就对原有的下载方式做了改进。
P2P 使得每台计算机不仅可以从服务器上下载文件,它本身还可以当做服务器提供带宽给其他计算机下载,而且下载的人越多,速度也越快。

这种下载方式就好比每个人都只抄作业中的一部分,再互帮互助从其他人手中抄自己没抄的部分,抄作业的速度自然得到提升。
而迅雷在结合了 P2S 和 P2P 技术后,又进一步做出了改进,在全球首创了 P2SP( Peer to Server & Peer )技术。

P2SP 不但能实现不同计算机之间的数据下载,还可以从多台服务器上下载文件。
服务器的增加,相当于写有答案的作业从原来的一份变成了多份,抄作业的速度再一次得到了提升。

就这样迅雷依靠的 P2SP 技术,加上自家服务器的优势,在资源的下载速度上,开始领先起其他的下载器来。
不过当时 P2SP 技术使用的手段不是很绅士,曾被其他网站指控过其未经许可,擅自盗用别人的服务器资源为己所用。
就好像盗打电话,迅雷不用自家的电话,直接从别人家接条线出来打,而话费却还是由被盗打的人支付,导致迅雷在一段时间内受到不少网站的抵制。
当时某个网站对迅雷的控诉

但不管怎样,迅雷依靠自家服务器和下载技术优势,逐渐成为了国内用户量最大的辅助下载类软件之一。
托尼记得当初的迅雷除了带数字的标准版,还有极速版以及精简版。
那时候的迅雷极速版,无广告,无插件,无捆绑,启动快,下载更快…回归极简,一切只为下载服务,真的就是一款纯粹的下载器。

后来迅雷可能出于商业化的考虑,下架了极速版,在之后迭代更新的版本中增加了浏览器、会员、游戏、直播等功能。
毫无意外的,和其他大多数免费的软件一样,迅雷变得越来越臃肿。

非会员的功能被阉割受限,引导充值会员的广告弹窗越来越频繁,下载时被限速不能充分利用带宽。。。
本文关键词:电驴服务器列表解析,电驴服务器列表解析工具,电驴服务器列表没有,电驴服务器列表怎么更新,电驴更新服务器列表。这就是关于《电驴服务器列表,电骡服务器列表(用过那些号称媲美迅雷的下载神器)》的所有内容,希望对您能有所帮助!
- 最近发表