eD2k & Kademlia

本文介绍了eD2K和Kademlia网络。eD2K网络有自然和“强制”限制,依赖服务器运行,文件分块传输;Kademlia是无服务器网络,让每个用户充当服务器,但处于测试阶段,不支持防火墙客户端。两者各有优劣,eD2K用户多,Kademlia有潜力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

F.A.Q. on eD2k-Kademlia

Are there any limitations on the ED2K network?

Not much, but yes, there are: two natural limits and a "forced" limitation. The two natural limits have already been mentioned before. First, the issues on LowID users (their transfers involve data through the server and two LowID clients can't share between them). The second, although ED2K is a p2p protocol, it needs servers to establish the p2p connection. This latter one is solved in the Kademlia protocol.
About the "forced" limitation, it's only a limit to make sure that clients share so that the ED2K network will not disappear: clients which have an upload limit of X KBps, where X is between 0 and 3.99 (both included) can download at a maximum of X*3 KBps. Clients which have an upload limit of Y KBps, where Y is Between 4 and 9.99 (both included) can download at a maximum of Y*4 KBps. Clients with an upload limit of 10KBps or more have no downloading limitations. This restriction is set in the client application so it could be by-passed by hacking the code, but that would probably result in being banned from the servers you connect to.
Also, any client is forced to allow at least three upload slots, so it's not possible to allow more than upload_limit/3 KBps per slot.
There is one last limit: Network file limit is 4GB.
Additionally, this is not an eD2k limitation but a server limitation, servers will only send 300 results for your searches, so don't expect any more results.

2.1. The eD2K Network

As I stated earlier, the eD2K Network began with eDonkey2000. Now there are many clients that use this Network. The Network is run by many different servers, not just one like a lot of other P2P networks. To connect to a server you must first get a server list for your client, we will see this later. When you connect to a server, the server tests to see if other clients can connect to you. If they can connect to you, you will receive a High ID, if they cannot, you will receive a LowID. We will read more about ID later. Once you have connected, your list of shared files will be sent to the server, the server will then add this list of files to the database. The servers do a lot of work including performing searches and gathering sources. Without these servers the Network would be useless and even one of these big servers falling could be fatal to the Network. Files are transferred in chunks, or Parts. Anybody who has downloaded a full part of a file is known as a source. A part of a file is 9.28MB. This Part system means that big files can be spread easily around the Network. We will read later how you can use this to your advantage to achieve higher download speeds.

2.2. The Kademlia Network

Whereas the eD2K Network requires you to connect to servers, Kademlia is a serverless network. Well, it's serverless to the degree that you wont have to download a massive server list and keep it up to date to use it. Kademlia, sort of, makes a server out of every user. When you connect to the Kademlia Network, you are given an ID if you have a HighID. To connect to the network you require the IP of an eMule client already connected to it. A test like the HighID test in the eD2K Network is then performed, if other clients can connect to you, you will be given an Open status. If they cannot connect to you, you will be given a Firewalled status. If you have a Firewalled status, you will be required to connect to a server because Kademlia doesn't support Firewalled clients yet, as it is still in it's testing phase. As a client on the Kademlia Network, you are assigned a responsibility. Each client has a unique Hash ID and your responsibility might be to handle searches for a specific keyword. Then when another client searches the Network, the clients responsible for the keywords are found and the search results can be brought back. This is a pretty clever idea and it makes use of every client connected to the network.

2.3. eD2K Vs. Kademlia

So which network is better than the other?? That is the question you probably would ask first. The answer is.. neither is better. In fact, the only difference between the Networks is how you connect and how source finding and searches are performed. The files on each network are not completely different at all. One however might have more users than the other making the amount of files higher. However, there are some differences between them that have to be noted. Firstly, eD2K depends on Servers to work. If the biggest server collapses the Network potentially could be crippled until more servers come to facilitate. Kademlia however, doesn't depend on major servers but to work properly would depend on a high client count. eMule now is the only client that supports Kademlia also, whereas many many clients support eD2K which means eD2K will probably for a very long time have far more users than Kademlia. Basically, each has it's good and bad points, neither Network is perfect and lets not forget, Kademlia is still just in it's early stages. I, for one, am looking forward to it's future.

### eMule 和 ED2K 使用指南 #### 配置防火墙和路由器设置 即使未打开任何特定端口,aMule(eMule的一个分支)仍然能够正常运行。不过,在这种情况下,用户可能无法获得HighID状态[^1]。为了确保最佳性能,建议配置防火墙或路由器来开放必要的端口。 对于eMule而言,默认使用的UDP端口号为4662用于数据传输;TCP端口则通常设定在4672上负责连接管理。如果希望启用Kademlia网络,则还需要额外开启另一个UDP端口默认设为4672。这些端口的具体作用如下: - **UDP 4662**: 主要用来处理来自其他节点的数据包交换。 - **TCP 4672**: 负责与其他用户的直接链接建立以及文件片段请求。 - **UDP 4672 (可选)**: 支持Kademlia分布式哈希表(DHT),有助于提高资源发现效率。 #### 文件分享与下载流程 当通过ED2K链接共享文件时,例如`ed2k://|file|...`,此链接包含了目标文件的信息摘要以及其他元数据以便定位并获取所需内容[^2]。一旦启动了eMule应用程序并将上述链接输入到相应的界面内,软件便会自动解析该URL,并尝试联系拥有相同文件片断的多个源来进行并发下载操作直到整个文件被完全恢复为止。 #### 解决常见问题 有时即便已经正确设置了所有参数但仍遇到诸如“Firewalled”的提示信息。这通常是由于本地网络环境中的某些因素阻止了外部访问所致。此时可以通过调整路由器上的转发规则或者更改客户端内部选项里的监听地址等方式加以改善。 ```bash # 示例命令:检查当前系统的防火墙状态(Linux) sudo ufw status verbose ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值