Solving eMule's common and confusing problems

  
Electric cymbal as an important way of P2P downloading, gradually accepted and loved by people, so many questions were raised around the eDonkey, and it was found that not only some of them just touched Emule's friends, even if they have been friends for a few months, the problems of some emules are ambiguous, there are many misunderstandings. Here, I will concentrate on writing some explanations based on these questions, try to answer some, and hope to solve the ambiguity of many friends. If there is something wrong, please ask everyone.


1) What exactly is P2P?

The abbreviation of Peer-to-peer refers to the meaning of peer-to-peer. It was first introduced in the United States when 18-year-old Shawn Fanning developed a software called Napster. It is not just a kind of concept. Software architecture is also a manifestation of a social model. There are two main architectural means of P2P software on the network: centralized and distributed. Centralized

: is the use of an intermediary server as a dispersion of the respective nodes (users) can contact each other, generate various service response.

distributed: each server node that is, do they do a client, this approach is very flexible, as long as an isolated node connected to another node can be transmitted.

Napster can be said that the first generation of p2p software. Later, as Napster fell into a litigation crisis (related copyright issues), Gnutella emerged. It took Napster's failure lessons and pushed the P2P concept even further: it does not have a hub directory server, and users simply install the software and immediately become A server that provides full directory and file services, and automatically searches for other similar servers to form a network super server composed of countless PCs. Traditional network servers and clients are redefined in front of it. As the second generation of p2p software, Gnutella is arguably the first p2p technology. Then FastTrack (the underlying technology of Kazaa) quickly picked up its place. Become the p2p boss.

With the popularity of second-generation technology, another problem was born. When self-employed people use P2P software, most of them only want to "acquire" rather than "share". The development of P2P encounters consciousness. The bottleneck of development. However, a "骡" soon changed the rules of the game, it is the eDonkey that became famous. This marks the rise of the third-generation p2p technology. eDonkey uses the Neonet technology called "distributed hash tables" to change the search method on the P2P network. In theory, it can search more efficiently. More computers, and it's easier to find rare files. This technology has made eDonkey basically catch up with Kazaa, another leader in the P2P service industry. eDonkey was founded in 2000 by Jed McCaleb. The most important thing is that he can download the same file from many people at the same time, and adopts the Multisource File Transfer Protocol (MFTP). eDonkey's index servers are not centralized, but are private to each other, all over the world, everyone can run eMule servers, while the shared file index is a connection called "ed2k-quicklink", file prefix "ED2K://".

At the same time, in the agreement, a series of standards for transmission, compression and packaging are defined, and even a set of points is defined. The larger the amount of data you upload, the higher the score and the speed of downloading. The sooner. And each file has a hyperlink to md5-hash, which makes the file unique and can be tracked across the entire network. EDonkey can download files from multiple users by retrieving segments, and finally compile the downloaded files into the entire file. Moreover, as long as you get a file fragment, the system will share this piece with everyone, although you can control the upload speed by setting the option, but you can't close it.

After the emergence of eDonkey, its improved variety eMule (Electricity) also appeared. It can be said that emule is an upgraded version of eDonkey, a mod of eDonkey, just like osp is the mod of quake3. Its uniqueness lies in open source. Its basic principle and operation mode are also based on eDonkey, eMule based on eDonkey network. Protocol, so you can log in directly to eDonkey's various servers. eMule also provides a lot of features that eDonkey does not have, such as automatically searching for servers on the network, retaining search results, exchanging server addresses and files with connected users, prioritizing downloading of headers and parts for easy previewing, etc., which makes eMule It is more convenient to use, and it has gained the reputation of eDonkey.

In short, they inherit the characteristics of the second-generation P2P non-central, purely distributed system, but they are no longer simple point-to-point communication, but more efficient and more complex network communication; In addition, the mandatory sharing mechanism introduced by eDonkey and eMule avoids the arbitrariness and inefficiency brought by the previous generations of P2P pure personal server management to a certain extent.

When you select the file you want in the search list and start downloading, emule will record the size of the file, the file name and another special value called hash. A request is made to all added servers requesting a file with the same hash value. The server returns the user information holding the file. This way our client can directly communicate with the user who owns the file to see if it can download the required files from him.

The best part about it is that you don't just download files from one user, but download files from many users at the same time. If another user only has a small piece of the file you want, he will automatically share the piece with everyone, and you can download the piece from the user's machine. Of course you are the same. As long as you get a file fragment, the system will share this piece with everyone. After finding the download source (other client), the download is a direct dialogue between the client and the client through peer-to-peer (P2P). No data flows through the server during this period.

4) How does emule work?

emule is built on top of the multipoint file transfer protocol. An emule network consists of two parts: the server and the client. The server side is a client-connected bridge for searching and finding users who can download. The server list is arranged like a phone book, and the client browses it to get the client information of the file owner he needs. During the download process, no files were downloaded through the server.

5) How is emule searched?

Each client connects to a server as its primary server. When connecting, the client tells the main server that he has shared those files, as well as other information such as IP address. So each server will log all the above information logged into his server. When searching on this server, it will feed back the search results to the searched client list by matching the known above information of the record. When you use the extended search, your search request and response result is connected to the server of the ip address corresponding to the client's own server list (server.met) by sending a UDP packet with limited bandwidth.

When the client selects a file download, it first collects a list of clients that own the document. It will first query all the login users of the primary server whether they own the file. Then connect and select the client list of the file owned by the login user of the other server. Once it finds another client that owns the file, it will ask each client to send a different slice of this file. Until the final file is assembled into a complete file from this different piece. When we make pause/resume, the download list we selected has been obtained. It is only the TCP connection between the client and the client and then restores the TCP connection. This process can only be sent after the client sends 22 bytes to the server through the client. It only takes up 22 bytes of network traffic. The pause is not even carried out by the server you are logged into, nor does it require any intervention and operation by the primary server you are logged into. So, it doesn't take up the resources of the main service, it just sends 22 bytes on the channel you have connected to the main server.

7) What are the advantages of emule?

No need for a server to store shared files, saving server setup, massive hard drives, and network bandwidth. Each client node is both a file downloader and a provider. In fact, when you are downloading but not a complete file, you can already share the parts you have downloaded with others! Because emule downloads the required files from many file providers at the same time and finally puts them into the whole file. The more people you join, the faster you download and the more resources you have. Sharing is convenient, each person can share their own files to other people on the network by specifying a share directory in their own emule. No need to upload it to the server any more.

The above is some basic knowledge about emule. I hope that after reading it, you can have an essential understanding of the principle of emule.

Copyright © Windows knowledge All Rights Reserved